<?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>17779</bug_id>
          
          <creation_ts>2008-03-11 11:17:35 -0700</creation_ts>
          <short_desc>SVG 1.1 Errata demands &quot;SVG JavaScript Liveness&quot; support</short_desc>
          <delta_ts>2008-07-11 00:58:57 -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>SVG</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://www.w3.org/2003/01/REC-SVG11-20030114-errata#mention-live-values</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="Nikolas Zimmermann">zimmermann</reporter>
          <assigned_to name="Nikolas Zimmermann">zimmermann</assigned_to>
          <cc>aroben</cc>
    
    <cc>eric</cc>
    
    <cc>jeffschiller</cc>
    
    <cc>koivisto</cc>
    
    <cc>oliver</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>73350</commentid>
    <comment_count>0</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2008-03-11 11:17:35 -0700</bug_when>
    <thetext>SVG Errata states: &quot;All SVG DOM objects that directly correspond to an attribute, e.g. the SVGAnimatedLength &apos;ry&apos; in an SVGRectElement, are live. This means that any changes made to the attribute are immediately reflected in the corresponding SVG DOM object.&quot; (see linked URL)

This makes sense, and way need to find a proper way to fix this bug.
HTML handles these cases in an easy &amp; fast approach. HTML properties who equal to HTML attributes that get exposed to JS always operate (or return) simple POD types like String, long etc.

So HTML*Element classes don&apos;t actually store String/long etc values in the implementation, but forward calls ie. to setAlign(const String&amp; align) to it&apos;s corresponding HTML DOM methods (setAttribute(HTMLNames::alignAttr. ...))

Accessing HTML*Element&apos;s properties works by forwarding to getAttribute().

In contrary SVG*classes containing animated SVG properties do store these types (mostly non-POD-Types, like SVGLength, SVGTransform, etc.) as member variables. This creates the problem that the string result of getAttribute(someSVGAttribute) is not equal to the current values exposed to SVG DOM (someElement.someSVGAttribute.baseVal....)

As you can see the fast HTML approach only works if you operate on POD types. For SVG a more sophisticated solution is needed. Proposing following concept:

Add a new method to the SVG ANIMATED_PROPERTY_DECLARATIONS macros: &quot;virtual void synchronize##UpperProperty();&quot; and maintain a boolean state wheter the attribute has been changed via SVG DOM.

Add a new function &quot;virtual AtomicString svgAnimatedPropertyAsString(const QualifiedName&amp;) const &quot; to SVGElement, that has to be implemented by all SVG*Element classes which define animated properties.

The idea is that everytime JS getAttribute() calls are invoked for SVGElements, each SVG*Element will ask it&apos;s animated properties to synchronize their &quot;Attribute*&quot; string value with the internal representation as SVG DOM Object.

For example, SVGRectElement::synchronizeX(), will call SVGRectElement::svgAnimatedPropertyAsString(SVGNames::xAttr) to convert the internal &quot;SVGAnimatedLength* m_x&quot; object to a &quot;String&quot;, and will update it in the element&apos;s NamedAttrMap. The call to getAttribute(&quot;x&quot;) will always be in sync with the result of someRect.x.baseVal.value.

Of course this updating procedure in the NamedAttrMap, only needs to be done in case the internal SVG DOM was modified, this is tracked by a boolean variable in every SVG*Animated*Element class. In case it&apos;s not modified, synchronize##UpperProperty() won&apos;t do anything.

Calls to setAttribute() already modify the corresponding SVG DOM in trunk, as setAttribute(&quot;x&quot;) (to stay with the example above) call SVGRectElement::parseMappedAttribute, which in turn calls setXBaseValue() which in fact updates the SVG DOM. It&apos;s just the SVG DOM -&gt; XML DOM synchronization that hasn&apos;t been implemented yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>73351</commentid>
    <comment_count>1</comment_count>
      <attachid>19669</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2008-03-11 11:21:28 -0700</bug_when>
    <thetext>Created attachment 19669
Prototyped idea

This patch implements the proposed solution. Open for discussion, as always.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>73358</commentid>
    <comment_count>2</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2008-03-11 12:00:54 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; Created an attachment (id=19669) [edit]
&gt; Prototyped idea
&gt; 
&gt; This patch implements the proposed solution. Open for discussion, as always.
I&apos;ll put up another patch soon, which also implements a first complete version of the interface, which also includes the parts responsible to map SVG attributes to the synchronizeXXX() values, so that getAttribute() can just do: if (PointerToSVGUpdateFunction func = updateFunctionForAttribute(attributeName)) *func(); before executing the actual query in the NamedAttrMap. More on this later.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>73371</commentid>
    <comment_count>3</comment_count>
      <attachid>19675</attachid>
    <who name="Jonathan Haas">myrdred</who>
    <bug_when>2008-03-11 13:07:10 -0700</bug_when>
    <thetext>Created attachment 19675
New layout test that demonstrates this problem

Creates a rectangle at (100, 100), sets the x coordinate to 200 using the SVG DOM, sets the y coordinate to 200 using setAttribute. The rectangle is moved to (200, 200), but using getAttribute on the x coordinate still returns 100.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>73644</commentid>
    <comment_count>4</comment_count>
      <attachid>19745</attachid>
    <who name="Jonathan Haas">myrdred</who>
    <bug_when>2008-03-13 16:17:27 -0700</bug_when>
    <thetext>Created attachment 19745
Layout test for this bug

eseidel introduced me to the wonders of the JavaScript layout test framework, so I reworked this test to use it. Added expected results, too, and formatted as a patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>73806</commentid>
    <comment_count>5</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2008-03-14 18:26:21 -0700</bug_when>
    <thetext>Jonathan, thanks for the excellent testcase. I discovered the bug when creating svg/dynamic-updates/SVGLinearGradient-dom-gradientTransform-attr.html - though it&apos;s a wise idea to keep a seperated layout test just for the xml dom&lt;-&gt;svg dom sync.

If you like working a bit on layout tests, there is much todo for LayoutTests/svg/dynamic-updates. In case you haven&apos;t looked at it yet, the idea is to test scriptability of every SVG DOM property of every SVG element exposed to JS. Hence the naming sheme: svg/dynamic-updates/SVGXXXElement-dom-xxx-attr.html and svg/dynamic-updates-SVGXXXElement-svgdom-xxx-prop.html.

The tests work like this:
- setup the needed svg elements dynamically, document.createElement / element.setAttribute
- test changing a single attribute value using a) XML DOM (getAttribute) b) SVG DOM (someElement.x.baseVal.value = ...)
- some shouldBe&apos;s wheter the value actually changed

Current limitations:
- repaint bugs currently not detected, as the waitForClickEvent logic is flawed (fixed on my hdd)
- For simplicity we&apos;re only testing the base class properties for now (aka. for SVGRectElement tests we only check the modification of x/y/width/height). Once _all_ base class properties are tested we can add tests for all super-class properties (most important: changing &apos;transform&apos; of ie. SVGRectElement). The only for reason is that it&apos;s already exhausting to create ~ 10 tests per element :-)

The result is a text-only dump - like the normal JS test framework (aka. the testcase results you&apos;ve uploaded here) plus a SVG pixel test dump (-expected.png)

For the test in LayoutTests/svg/dynamic-updates both results matter, the text results verify the actual DOM/SVG DOM attribute/property is accessable &amp; changable - and the pixel test result verifies if repainting worked correctly (most important!)

As you can see I already finished tests for SVGAElement until SVGForeignObjectElement (alphabetically). On my harddisk if already added tests for SVGGradientElement / SVGLinearGradientElement / SVGRadialGradientElement (24 tests in total, checking 12 properties using two ways, XML DOM / SVG DOM).

I&apos;m looking for help urgently, as it&apos;s a huge job to do.
Coming back to the SVG JavaScript liveness - I think your testcase is fine &amp; commitable, though we need a new test suite LayoutTests/svg/property-liveness, using the same test structure as in svg/dynamic-updates, to assure that our implementation is 100% valid for all cases.

I hope you got interessted, if you are please drop me a line here :-)

Greetings,
Niko</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>74829</commentid>
    <comment_count>6</comment_count>
      <attachid>19974</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2008-03-22 15:31:04 -0700</bug_when>
    <thetext>Created attachment 19974
Initial patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>74832</commentid>
    <comment_count>7</comment_count>
      <attachid>19974</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2008-03-22 15:52:32 -0700</bug_when>
    <thetext>Comment on attachment 19974
Initial patch

Still just doing a first run sanity check
* formatting issues with WebCore/svg/SVGScriptElement.h
* A number of macros use InheritFromClass, i feel SuperClass would be better
 * the changes to WebCore/rendering/SVGRootInlineBox.cpp seem unrelated afaict

A don&apos;t like StoredTypeWithDirtyFlag (the name) but haven&apos;t come up with anything better yet

Ocerall this looks sane, but it&apos;s going to take me a while to do a real review of the damned animation macros :p
:D</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>74837</commentid>
    <comment_count>8</comment_count>
      <attachid>19974</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2008-03-22 16:57:39 -0700</bug_when>
    <thetext>Comment on attachment 19974
Initial patch

SVGLength::operator== needs slight reformatting to line up the m_&apos;s

The only remaining issue i see is the name of the StoredDooferWithDirty (or whatever ;)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>74852</commentid>
    <comment_count>9</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2008-03-23 05:42:27 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (From update of attachment 19974 [edit])
&gt; Still just doing a first run sanity check
&gt; * formatting issues with WebCore/svg/SVGScriptElement.h
&gt; * A number of macros use InheritFromClass, i feel SuperClass would be better
&gt;  * the changes to WebCore/rendering/SVGRootInlineBox.cpp seem unrelated afaict
The changes to SVGRootInlineBox are actually needed, because the changes to the ANIMATED_ properties highlight a serious problem with casting from Node* to SVGTextContentElement* where the Node points to an anchor element &lt;a&gt; (which is not a SVGTextContentElement!). So it&apos;s a serious bug already present in trunk - no idea why it doesn&apos;t crash though, vagrind would have detected these problems (I want valgrind on osx!!)

&gt; 
&gt; A don&apos;t like StoredTypeWithDirtyFlag (the name) but haven&apos;t come up with
&gt; anything better yet
Maybe LazilyUpdatedType?

&gt; SVGLength::operator== needs slight reformatting to line up the m_&apos;s
Fixed.

Greetings,
Niko</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>74881</commentid>
    <comment_count>10</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2008-03-23 14:08:00 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; (I want valgrind on osx!!)
me too!!

&gt; 
&gt; &gt; 
&gt; &gt; A don&apos;t like StoredTypeWithDirtyFlag (the name) but haven&apos;t come up with
&gt; &gt; anything better yet
&gt; Maybe LazilyUpdatedType?
Sounds good.

r=me with that update</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>76138</commentid>
    <comment_count>11</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2008-04-02 05:57:13 -0700</bug_when>
    <thetext>Took a long time, finally landed in r31566.
In case you wonder about the added .png files, those were missing layout test pixel dumps. Forgot to denote in the changelog :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>76234</commentid>
    <comment_count>12</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2008-04-03 08:52:58 -0700</bug_when>
    <thetext>This patch has:

--- WebCore/dom/Element.h	(revision 31232)
+++ WebCore/dom/Element.h	(working copy)
@@ -47,7 +47,7 @@
     virtual const ClassNames* getClassNames() const;
     const AtomicString&amp; getIDAttribute() const;
     bool hasAttribute(const QualifiedName&amp;) const;
-    const AtomicString&amp; getAttribute(const QualifiedName&amp;) const;
+    virtual const AtomicString&amp; getAttribute(const QualifiedName&amp;) const;

I don&apos;t think making Element::getAttribute() virtual is a good idea. It is bad for performance. I also don&apos;t think there are any acceptable architectural reasons for doing that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>76235</commentid>
    <comment_count>13</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2008-04-03 09:28:30 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; This patch has:
&gt; 
&gt; --- WebCore/dom/Element.h       (revision 31232)
&gt; +++ WebCore/dom/Element.h       (working copy)
&gt; @@ -47,7 +47,7 @@
&gt;      virtual const ClassNames* getClassNames() const;
&gt;      const AtomicString&amp; getIDAttribute() const;
&gt;      bool hasAttribute(const QualifiedName&amp;) const;
&gt; -    const AtomicString&amp; getAttribute(const QualifiedName&amp;) const;
&gt; +    virtual const AtomicString&amp; getAttribute(const QualifiedName&amp;) const;
&gt; 
&gt; I don&apos;t think making Element::getAttribute() virtual is a good idea. It is bad
&gt; for performance. I also don&apos;t think there are any acceptable architectural
&gt; reasons for doing that.

Hi Antti,

I agree with you, regarding the performance issue. Though when not making it virtual, we&apos;d need to make NamedAttrMap aware of SVGElement..... The animated property synchronization has to happen before getAttribute / hasAttribute is called (hasAttribute is still broken).

We should really have a chat about this.

Greetings,
Niko

P.S. I heard the excellent animation news, looking forward to talk to you :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>76262</commentid>
    <comment_count>14</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2008-04-03 13:33:06 -0700</bug_when>
    <thetext>Rolled out in r31600 per antti&apos;s request, also protects me from stephanie hunting me down over a perf regression :D</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>76288</commentid>
    <comment_count>15</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2008-04-03 22:22:14 -0700</bug_when>
    <thetext>I don&apos;t understand all the complexity in this patch. From what I gather &apos;liveness&apos; simply means that SVGAnimatedFoo objects act as proxis to the underlying attribute value (instead of being copies).

According to my understanding

rectElement.x.baseVal.value = 55;

should just translate to rect-&gt;setAttribute(&quot;x&quot;, &quot;55&quot;) internally. That will spin up rects parseAttribute() method which will update any cached length value.

Why do you need these property synchronizers etc? 

Genrally I find the macro/template code for animated properties virtually inpenetrable. Since the underlying concept is very simple (geting and setting values) I find it hard to understand why all this complexity is needed. I wonder if we could get rid some of it? For example, I don&apos;t see why we need to be able to generate the data member, all the accessors and the DOM binding object with single line macro. Could we just specify the data member and accessors explicitly in code (like we do everywhere else) and worry about the bindings separately?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>76289</commentid>
    <comment_count>16</comment_count>
      <attachid>19974</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2008-04-03 22:29:48 -0700</bug_when>
    <thetext>Comment on attachment 19974
Initial patch

marking r- for now for the virtual getAttribute</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>76304</commentid>
    <comment_count>17</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2008-04-04 02:51:53 -0700</bug_when>
    <thetext>Hi Antti,
&gt; I don&apos;t understand all the complexity in this patch. From what I gather
&gt; &apos;liveness&apos; simply means that SVGAnimatedFoo objects act as proxis to the
&gt; underlying attribute value (instead of being copies).
&gt; 
&gt; According to my understanding
&gt; 
&gt; rectElement.x.baseVal.value = 55;
&gt; 
&gt; should just translate to rect-&gt;setAttribute(&quot;x&quot;, &quot;55&quot;) internally. That will
&gt; spin up rects parseAttribute() method which will update any cached length
&gt; value.
Okay, for this simple example your assumption holds true, but not for any complex datastructure like SVGAnimatedTransformList. Think of modifying a single item in the SVGTransformList, you do not want to call setAttribute(&quot;transform&quot;, concat_of_all_list_entries_as_string) here, that&apos;s overkill and not performant in any way.

Another issue is that attributes are _string_ values, and we want to store SVG datatypes internally (SVGLength, SVGTransform, etc.) so there is no 1:1 map between propertys &amp; attributes.

Hope that clarifies the concept a bit.

&gt; Genrally I find the macro/template code for animated properties virtually
&gt; inpenetrable. Since the underlying concept is very simple (geting and setting
&gt; values) I find it hard to understand why all this complexity is needed. I
&gt; wonder if we could get rid some of it? For example, I don&apos;t see why we need to
&gt; be able to generate the data member, all the accessors and the DOM binding
&gt; object with single line macro. Could we just specify the data member and
&gt; accessors explicitly in code (like we do everywhere else) and worry about the
&gt; bindings separately?
While I agree that the macro complexity is high, and it&apos;s quite hard to understand, we did this on purpose. Before SVGAnimated* property handling was actually specialiazed in the CodeGeneratorJS, though that adds much problems for any other language binding.

Need to leave, but I can elaborate on this later. Eric also knows the reasons behind.

Greetings,
Niko</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>76327</commentid>
    <comment_count>18</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2008-04-04 10:29:48 -0700</bug_when>
    <thetext>(In reply to comment #17)
&gt; Okay, for this simple example your assumption holds true, but not for any
&gt; complex datastructure like SVGAnimatedTransformList. Think of modifying a
&gt; single item in the SVGTransformList, you do not want to call
&gt; setAttribute(&quot;transform&quot;, concat_of_all_list_entries_as_string) here, that&apos;s
&gt; overkill and not performant in any way.

You can optimize by updating the cached value directly and preventing parseMappedAttribute() from doing any parsing during setAttribute(). You could get rid of parseMappedAttibute() alltogether and instead invalidate your cache as a result of attributeChanged(). I think the problem is perfectly solvable without adding complex scheme to update underlying string value lazily. Generating the attribute string itself is not costy. 

I would just start by a simple working solution and optimizing later as needed. In common case any time spent on updating the attribute values as a result of a DOM call, no matter how ineffective, is likely to be minimal compared to the overall script, layout and paint complexity. 
 
&gt; Another issue is that attributes are _string_ values, and we want to store SVG
&gt; datatypes internally (SVGLength, SVGTransform, etc.) so there is no 1:1 map
&gt; between propertys &amp; attributes.

I am not sure we should be using SVG datatypes as internal storage for simply types like SVGLength. I think length values should be held in simple class like Length in HTML side (FloatLength?) and SVGLength would be just a proxy object accessing that externally, instantiated on demand.

There is no need for our internal data to be organized to match the (crazy) SVG DOM API.

&gt; While I agree that the macro complexity is high, and it&apos;s quite hard to
&gt; understand, we did this on purpose. Before SVGAnimated* property handling was
&gt; actually specialiazed in the CodeGeneratorJS, though that adds much problems
&gt; for any other language binding.

There is significant cost for this kind of complexity. It makes SVG code hard to understand, unhackable and drives potential contributors away. Hackability is one of the major WebKit goals.

&gt; Need to leave, but I can elaborate on this later. Eric also knows the reasons
&gt; behind.
&gt; 
&gt; Greetings,
&gt; Niko
&gt; </thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>76632</commentid>
    <comment_count>19</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2008-04-08 12:42:31 -0700</bug_when>
    <thetext>Yeah, I think you are right the the lazy synchronization does make sense for complex properties like transforms. The macro/template stuff needed is pretty unfortunate but that is the current approach and doing something about that is a separate topic.

Solution that does not involve making getAttribute() virtual should be found. There is existing updateStyleAttributeIfNeeded() mechanism for lazy updates which is called from all approriate places and could be expanded (or just renamed) to cover this case too.

With that kind of change the patch is fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>76701</commentid>
    <comment_count>20</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2008-04-09 03:48:36 -0700</bug_when>
    <thetext>(In reply to comment #19)
&gt; Yeah, I think you are right the the lazy synchronization does make sense for
&gt; complex properties like transforms. The macro/template stuff needed is pretty
&gt; unfortunate but that is the current approach and doing something about that is
&gt; a separate topic.
&gt; 
&gt; Solution that does not involve making getAttribute() virtual should be found.
&gt; There is existing updateStyleAttributeIfNeeded() mechanism for lazy updates
&gt; which is called from all approriate places and could be expanded (or just
&gt; renamed) to cover this case too.
&gt; 
&gt; With that kind of change the patch is fine.

Excellent news, I&apos;ll see if I can come up with a better solution, soon.

Greetings,
Niko</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>77105</commentid>
    <comment_count>21</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2008-04-09 16:00:33 -0700</bug_when>
    <thetext>I actually just renamed updateStyleAttributeIfNeeded() to updateStyleAttribute() while optimizing it a bit. Just to let you know to avoid confusion.

Perhaps just call it updateLazyAttributes() or something, remove styleAttr check from

    if (name == styleAttr &amp;&amp; !m_isStyleAttributeValid)
        updateStyleAttribute();

and do the attribute check inside the virtual function. That shouldn&apos;t add too many new virtual calls.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>84751</commentid>
    <comment_count>22</comment_count>
      <attachid>22007</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2008-06-30 05:30:57 -0700</bug_when>
    <thetext>Created attachment 22007
Updated patch

Improved version of the previous patch. No more virtual getAttribute() hacks, instead use a similar solution compared to &quot;updateStyleAttribute&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>84772</commentid>
    <comment_count>23</comment_count>
      <attachid>22009</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2008-06-30 11:55:45 -0700</bug_when>
    <thetext>Created attachment 22009
Updated patch v2

Changed some variable names, after discussion with Antti.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>84847</commentid>
    <comment_count>24</comment_count>
      <attachid>22009</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2008-07-01 03:55:40 -0700</bug_when>
    <thetext>Comment on attachment 22009
Updated patch v2

looks good</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>84850</commentid>
    <comment_count>25</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2008-07-01 04:34:25 -0700</bug_when>
    <thetext>Landed in r34913.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>84899</commentid>
    <comment_count>26</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2008-07-01 11:50:04 -0700</bug_when>
    <thetext>I had to roll out attachment 22009 in r34925. It broke the Windows build due to bad casting. As the ChangeLog in r34925 explains:

&gt; r34913 introduced code that assigned pointers-to-member from a derived
&gt; class into a base class pointer-to-member type (e.g., assigned a void
&gt; (SVGUseElement::*)() into a void (SVGElement::*)()). This is bad
&gt; because it could allow us to call SVGUseElement member functions on a
&gt; different SVGElement-derived class. MSVC rightly flagged this as an
&gt; error.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>84900</commentid>
    <comment_count>27</comment_count>
      <attachid>22009</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2008-07-01 11:50:17 -0700</bug_when>
    <thetext>Comment on attachment 22009
Updated patch v2

Clearing review flag</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>85221</commentid>
    <comment_count>28</comment_count>
      <attachid>22099</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2008-07-05 11:27:22 -0700</bug_when>
    <thetext>Created attachment 22099
Updated patch v3 (w/o layout tests)

Setting r? flag, though as discussed with Eric - I&apos;ll split this patch up in several chunks.
Just wanted to leave it here, so it can already be reviewed (most of the changes are macro changes anyway)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>85326</commentid>
    <comment_count>29</comment_count>
      <attachid>22128</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2008-07-07 06:31:40 -0700</bug_when>
    <thetext>Created attachment 22128
Final patch (w/o layout tests, as nothing changed there)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>85413</commentid>
    <comment_count>30</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2008-07-07 17:41:50 -0700</bug_when>
    <thetext>Finally lined in r35035.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>85757</commentid>
    <comment_count>31</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2008-07-11 00:46:03 -0700</bug_when>
    <thetext>Oliver, where is the relation between filters and this bug? I&apos;ve seen you added &quot;Bug 17779 depends on ...&quot;
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>85758</commentid>
    <comment_count>32</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2008-07-11 00:58:57 -0700</bug_when>
    <thetext>ummm
i was cloning the dependencies for the old filters bug, which had turned into a refactoring bug rather than the actual implementation bug.  So the questions is why did someone else say this was blocked by that.  And to that question i have no answer so i will remove those dependencies</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>19669</attachid>
            <date>2008-03-11 11:21:28 -0700</date>
            <delta_ts>2008-03-22 15:31:04 -0700</delta_ts>
            <desc>Prototyped idea</desc>
            <filename>FixLiveness.diff</filename>
            <type>text/plain</type>
            <size>8408</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IGRvbS9OYW1lZEF0dHJNYXAuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBkb20vTmFtZWRBdHRyTWFw
LmgJKHJldmlzaW9uIDMwOTEyKQorKysgZG9tL05hbWVkQXR0ck1hcC5oCSh3b3JraW5nIGNvcHkp
CkBAIC04MiwxMSArODIsMTIgQEAKICAgICAKICAgICBib29sIG1hcHNFcXVpdmFsZW50KGNvbnN0
IE5hbWVkQXR0ck1hcCogb3RoZXJNYXApIGNvbnN0OwogCi1wcm90ZWN0ZWQ6CiAgICAgLy8gdGhp
cyBtZXRob2QgaXMgaW50ZXJuYWwsIGRvZXMgbm8gZXJyb3IgY2hlY2tpbmcgYXQgYWxsCiAgICAg
dm9pZCBhZGRBdHRyaWJ1dGUoUGFzc1JlZlB0cjxBdHRyaWJ1dGU+KTsKICAgICAvLyB0aGlzIG1l
dGhvZCBpcyBpbnRlcm5hbCwgZG9lcyBubyBlcnJvciBjaGVja2luZyBhdCBhbGwKICAgICB2b2lk
IHJlbW92ZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lKTsKKworcHJvdGVjdGVk
OgogICAgIHZpcnR1YWwgdm9pZCBjbGVhckF0dHJpYnV0ZXMoKTsKICAgICB2b2lkIGRldGFjaEZy
b21FbGVtZW50KCk7CiAKSW5kZXg6IHN2Zy9TVkdFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gc3Zn
L1NWR0VsZW1lbnQuaAkocmV2aXNpb24gMzA5MTIpCisrKyBzdmcvU1ZHRWxlbWVudC5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zNyw2ICszNyw3IEBACiAgICAgdmlydHVhbCB2b2lkIHNldCMjVXBwZXJQ
cm9wZXJ0eShCYXJlVHlwZSBuZXdWYWx1ZSkgeyBBU1NFUlRfTk9UX1JFQUNIRUQoKTsgfVwKICAg
ICB2aXJ0dWFsIEJhcmVUeXBlIExvd2VyUHJvcGVydHkjI0Jhc2VWYWx1ZSgpIGNvbnN0IHsgQVNT
RVJUX05PVF9SRUFDSEVEKCk7IHJldHVybiBOdWxsVHlwZTsgfSBcCiAgICAgdmlydHVhbCB2b2lk
IHNldCMjVXBwZXJQcm9wZXJ0eSMjQmFzZVZhbHVlKEJhcmVUeXBlIG5ld1ZhbHVlKSB7IEFTU0VS
VF9OT1RfUkVBQ0hFRCgpOyB9IFwKKyAgICB2aXJ0dWFsIHZvaWQgc3luY2hyb25pemUjI1VwcGVy
UHJvcGVydHkoKSB7IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOyB9IFwKICAgICB2aXJ0dWFsIHZvaWQg
c3RhcnQjI1VwcGVyUHJvcGVydHkoKSBjb25zdCB7IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOyB9IFwK
ICAgICB2aXJ0dWFsIHZvaWQgc3RvcCMjVXBwZXJQcm9wZXJ0eSgpIHsgQVNTRVJUX05PVF9SRUFD
SEVEKCk7IH0KIApAQCAtNDYsNiArNDcsNyBAQAogICAgIHZpcnR1YWwgdm9pZCBzZXQjI1VwcGVy
UHJvcGVydHkoQmFyZVR5cGUgbmV3VmFsdWUpIHsgRm9yd2FyZENsYXNzOjpzZXQjI1VwcGVyUHJv
cGVydHkobmV3VmFsdWUpOyB9IFwKICAgICB2aXJ0dWFsIEJhcmVUeXBlIExvd2VyUHJvcGVydHkj
I0Jhc2VWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIEZvcndhcmRDbGFzczo6TG93ZXJQcm9wZXJ0eSMj
QmFzZVZhbHVlKCk7IH0gXAogICAgIHZpcnR1YWwgdm9pZCBzZXQjI1VwcGVyUHJvcGVydHkjI0Jh
c2VWYWx1ZShCYXJlVHlwZSBuZXdWYWx1ZSkgeyBGb3J3YXJkQ2xhc3M6OnNldCMjVXBwZXJQcm9w
ZXJ0eSMjQmFzZVZhbHVlKG5ld1ZhbHVlKTsgfSBcCisgICAgdmlydHVhbCB2b2lkIHN5bmNocm9u
aXplIyNVcHBlclByb3BlcnR5KCkgeyBGb3J3YXJkQ2xhc3M6OnN5bmNocm9uaXplIyNVcHBlclBy
b3BlcnR5KCk7IH0gXAogICAgIHZpcnR1YWwgdm9pZCBzdGFydCMjVXBwZXJQcm9wZXJ0eSgpIGNv
bnN0IHsgRm9yd2FyZENsYXNzOjpzdGFydCMjVXBwZXJQcm9wZXJ0eSgpOyB9IFwKICAgICB2aXJ0
dWFsIHZvaWQgc3RvcCMjVXBwZXJQcm9wZXJ0eSgpIHsgRm9yd2FyZENsYXNzOjpzdG9wIyNVcHBl
clByb3BlcnR5KCk7IH0KIApAQCAtNzAsMTEgKzcyLDEzIEBACiAgICAgQmFyZVR5cGUgTG93ZXJQ
cm9wZXJ0eSMjQmFzZVZhbHVlKCkgY29uc3Q7IFwKICAgICB2b2lkIHNldCMjVXBwZXJQcm9wZXJ0
eSMjQmFzZVZhbHVlKEJhcmVUeXBlKTsgXAogICAgIFBhc3NSZWZQdHI8U1ZHQW5pbWF0ZWRUZW1w
bGF0ZSMjVXBwZXJQcm9wZXJ0eT4gTG93ZXJQcm9wZXJ0eSMjQW5pbWF0ZWQoKSBjb25zdDsgXAor
ICAgIHZvaWQgc3luY2hyb25pemUjI1VwcGVyUHJvcGVydHkoKTsgXAogICAgIHZvaWQgc3RhcnQj
I1VwcGVyUHJvcGVydHkoKSBjb25zdDsgXAogICAgIHZvaWQgc3RvcCMjVXBwZXJQcm9wZXJ0eSgp
OyBcCiBcCiBwcml2YXRlOiBcCi0gICAgU3RvcmFnZVR5cGUgbV8jI0xvd2VyUHJvcGVydHk7Cisg
ICAgU3RvcmFnZVR5cGUgbV8jI0xvd2VyUHJvcGVydHk7IFwKKyAgICBib29sIG1fIyNMb3dlclBy
b3BlcnR5IyNEaXJ0eSA6IDE7CiAKICNkZWZpbmUgQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElP
TlNfSU5URVJOQUwoQ2xhc3NOYW1lLCBDbGFzc1R5cGUsIEJhcmVUeXBlLCBVcHBlckNsYXNzTmFt
ZSwgTG93ZXJDbGFzc05hbWUsIFVwcGVyUHJvcGVydHksIExvd2VyUHJvcGVydHksIEF0dHJOYW1l
LCBTdG9yYWdlR2V0dGVyLCBDb250ZXh0RWxlbWVudCkgXAogQ2xhc3NOYW1lOjpTVkdBbmltYXRl
ZFRlbXBsYXRlIyNVcHBlclByb3BlcnR5OjpTVkdBbmltYXRlZFRlbXBsYXRlIyNVcHBlclByb3Bl
cnR5KGNvbnN0IENsYXNzVHlwZSogZWxlbWVudCwgY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0cmli
dXRlTmFtZSkgXApAQCAtMTAzLDM3ICsxMDcsNTggQEAKIHZvaWQgQ2xhc3NOYW1lOjpzZXQjI1Vw
cGVyUHJvcGVydHkoQmFyZVR5cGUgbmV3VmFsdWUpIFwKIHsgXAogICAgIG1fIyNMb3dlclByb3Bl
cnR5ID0gbmV3VmFsdWU7IFwKKyAgICBtXyMjTG93ZXJQcm9wZXJ0eSMjRGlydHkgPSB0cnVlOyBc
CiB9IFwKIEJhcmVUeXBlIENsYXNzTmFtZTo6TG93ZXJQcm9wZXJ0eSMjQmFzZVZhbHVlKCkgY29u
c3QgXAogeyBcCiAgICAgY29uc3QgU1ZHRWxlbWVudCogY29udGV4dCA9IENvbnRleHRFbGVtZW50
OyBcCiAgICAgQVNTRVJUKGNvbnRleHQpOyBcCiAgICAgU1ZHRG9jdW1lbnRFeHRlbnNpb25zKiBl
eHRlbnNpb25zID0gKGNvbnRleHQtPmRvY3VtZW50KCkgPyBjb250ZXh0LT5kb2N1bWVudCgpLT5h
Y2Nlc3NTVkdFeHRlbnNpb25zKCkgOiAwKTsgXAotICAgIGlmIChleHRlbnNpb25zICYmIGV4dGVu
c2lvbnMtPmhhc0Jhc2VWYWx1ZTxCYXJlVHlwZT4oY29udGV4dCwgQXR0ck5hbWUpKSBcCi0gICAg
ICAgICByZXR1cm4gZXh0ZW5zaW9ucy0+YmFzZVZhbHVlPEJhcmVUeXBlPihjb250ZXh0LCBBdHRy
TmFtZSk7IFwKKyAgICBpZiAoZXh0ZW5zaW9ucyAmJiBleHRlbnNpb25zLT5oYXNCYXNlVmFsdWU8
QmFyZVR5cGU+KGNvbnRleHQsIEF0dHJOYW1lLmxvY2FsTmFtZSgpKSkgXAorICAgICAgICAgcmV0
dXJuIGV4dGVuc2lvbnMtPmJhc2VWYWx1ZTxCYXJlVHlwZT4oY29udGV4dCwgQXR0ck5hbWUubG9j
YWxOYW1lKCkpOyBcCiAgICAgcmV0dXJuIExvd2VyUHJvcGVydHkoKTsgXAogfSBcCitcCiB2b2lk
IENsYXNzTmFtZTo6c2V0IyNVcHBlclByb3BlcnR5IyNCYXNlVmFsdWUoQmFyZVR5cGUgbmV3VmFs
dWUpIFwKIHsgXAogICAgIGNvbnN0IFNWR0VsZW1lbnQqIGNvbnRleHQgPSBDb250ZXh0RWxlbWVu
dDsgXAogICAgIEFTU0VSVChjb250ZXh0KTsgXAogICAgIFNWR0RvY3VtZW50RXh0ZW5zaW9ucyog
ZXh0ZW5zaW9ucyA9IChjb250ZXh0LT5kb2N1bWVudCgpID8gY29udGV4dC0+ZG9jdW1lbnQoKS0+
YWNjZXNzU1ZHRXh0ZW5zaW9ucygpIDogMCk7IFwKLSAgICBpZiAoZXh0ZW5zaW9ucyAmJiBleHRl
bnNpb25zLT5oYXNCYXNlVmFsdWU8QmFyZVR5cGU+KGNvbnRleHQsIEF0dHJOYW1lKSkgeyBcCi0g
ICAgICAgIGV4dGVuc2lvbnMtPnNldEJhc2VWYWx1ZTxCYXJlVHlwZT4oY29udGV4dCwgQXR0ck5h
bWUsIG5ld1ZhbHVlKTsgXAorICAgIGlmIChleHRlbnNpb25zICYmIGV4dGVuc2lvbnMtPmhhc0Jh
c2VWYWx1ZTxCYXJlVHlwZT4oY29udGV4dCwgQXR0ck5hbWUubG9jYWxOYW1lKCkpKSB7IFwKKyAg
ICAgICAgZXh0ZW5zaW9ucy0+c2V0QmFzZVZhbHVlPEJhcmVUeXBlPihjb250ZXh0LCBBdHRyTmFt
ZS5sb2NhbE5hbWUoKSwgbmV3VmFsdWUpOyBcCiAgICAgICAgIHJldHVybjsgXAogICAgIH0gXAog
ICAgIC8qIE9ubHkgdXBkYXRlIHN0b3JlZCBwcm9wZXJ0eSwgaWYgbm90IGFuaW1hdGluZyAqLyBc
CiAgICAgc2V0IyNVcHBlclByb3BlcnR5KG5ld1ZhbHVlKTsgXAogfSBcCiBcCit2b2lkIENsYXNz
TmFtZTo6c3luY2hyb25pemUjI1VwcGVyUHJvcGVydHkoKSBcCit7IFwKKyAgICBpZiAoIW1fIyNM
b3dlclByb3BlcnR5IyNEaXJ0eSkgXAorICAgICAgICByZXR1cm47IFwKKyAgICBjb25zdCBTVkdF
bGVtZW50KiBjb250ZXh0ID0gQ29udGV4dEVsZW1lbnQ7IFwKKyAgICBBU1NFUlQoY29udGV4dCk7
IFwKKyAgICBBdG9taWNTdHJpbmcgdmFsdWUoY29udGV4dC0+c3ZnQW5pbWF0ZWRQcm9wZXJ0eUFz
U3RyaW5nKEF0dHJOYW1lKSk7IFwKKyAgICBOYW1lZEF0dHJNYXAqIG5hbWVkQXR0ck1hcCA9IGNv
bnRleHQtPmF0dHJpYnV0ZXMoZmFsc2UpOyBcCisgICAgQVNTRVJUKCFuYW1lZEF0dHJNYXAtPmlz
UmVhZE9ubHlOb2RlKCkpOyBcCisgICAgQXR0cmlidXRlKiBvbGQgPSBuYW1lZEF0dHJNYXAtPmdl
dEF0dHJpYnV0ZUl0ZW0oQXR0ck5hbWUpOyBcCisgICAgaWYgKG9sZCAmJiB2YWx1ZS5pc051bGwo
KSkgXAorICAgICAgICBuYW1lZEF0dHJNYXAtPnJlbW92ZUF0dHJpYnV0ZShvbGQtPm5hbWUoKSk7
IFwKKyAgICBlbHNlIGlmICghb2xkICYmICF2YWx1ZS5pc051bGwoKSkgXAorICAgICAgICBuYW1l
ZEF0dHJNYXAtPmFkZEF0dHJpYnV0ZShjb25zdF9jYXN0PFNWR0VsZW1lbnQqPihjb250ZXh0KS0+
Y3JlYXRlQXR0cmlidXRlKFF1YWxpZmllZE5hbWUobnVsbEF0b20sIEF0dHJOYW1lLmxvY2FsTmFt
ZSgpLCBudWxsQXRvbSksIHZhbHVlLmltcGwoKSkpOyBcCisgICAgZWxzZSBpZiAob2xkICYmICF2
YWx1ZS5pc051bGwoKSkgXAorICAgICAgICBvbGQtPnNldFZhbHVlKHZhbHVlKTsgXAorICAgIG1f
IyNMb3dlclByb3BlcnR5IyNEaXJ0eSA9IGZhbHNlOyBcCit9IFwKK1wKIHZvaWQgQ2xhc3NOYW1l
OjpzdGFydCMjVXBwZXJQcm9wZXJ0eSgpIGNvbnN0IFwKIHsgXAogICAgIGNvbnN0IFNWR0VsZW1l
bnQqIGNvbnRleHQgPSBDb250ZXh0RWxlbWVudDsgXAogICAgIEFTU0VSVChjb250ZXh0KTsgXAog
ICAgIFNWR0RvY3VtZW50RXh0ZW5zaW9ucyogZXh0ZW5zaW9ucyA9IChjb250ZXh0LT5kb2N1bWVu
dCgpID8gY29udGV4dC0+ZG9jdW1lbnQoKS0+YWNjZXNzU1ZHRXh0ZW5zaW9ucygpIDogMCk7IFwK
ICAgICBpZiAoZXh0ZW5zaW9ucykgeyBcCi0gICAgICAgIEFTU0VSVCghZXh0ZW5zaW9ucy0+aGFz
QmFzZVZhbHVlPEJhcmVUeXBlPihjb250ZXh0LCBBdHRyTmFtZSkpOyBcCi0gICAgICAgIGV4dGVu
c2lvbnMtPnNldEJhc2VWYWx1ZTxCYXJlVHlwZT4oY29udGV4dCwgQXR0ck5hbWUsIExvd2VyUHJv
cGVydHkoKSk7IFwKKyAgICAgICAgQVNTRVJUKCFleHRlbnNpb25zLT5oYXNCYXNlVmFsdWU8QmFy
ZVR5cGU+KGNvbnRleHQsIEF0dHJOYW1lLmxvY2FsTmFtZSgpKSk7IFwKKyAgICAgICAgZXh0ZW5z
aW9ucy0+c2V0QmFzZVZhbHVlPEJhcmVUeXBlPihjb250ZXh0LCBBdHRyTmFtZS5sb2NhbE5hbWUo
KSwgTG93ZXJQcm9wZXJ0eSgpKTsgXAogICAgIH0gXAogfSBcCiBcCkBAIC0xNDMsOSArMTY4LDkg
QEAKICAgICBBU1NFUlQoY29udGV4dCk7IFwKICAgICBTVkdEb2N1bWVudEV4dGVuc2lvbnMqIGV4
dGVuc2lvbnMgPSAoY29udGV4dC0+ZG9jdW1lbnQoKSA/IGNvbnRleHQtPmRvY3VtZW50KCktPmFj
Y2Vzc1NWR0V4dGVuc2lvbnMoKSA6IDApOyBcCiAgICAgaWYgKGV4dGVuc2lvbnMpIHsgXAotICAg
ICAgICBBU1NFUlQoZXh0ZW5zaW9ucy0+aGFzQmFzZVZhbHVlPEJhcmVUeXBlPihjb250ZXh0LCBB
dHRyTmFtZSkpOyBcCi0gICAgICAgIHNldCMjVXBwZXJQcm9wZXJ0eShleHRlbnNpb25zLT5iYXNl
VmFsdWU8QmFyZVR5cGU+KGNvbnRleHQsIEF0dHJOYW1lKSk7IFwKLSAgICAgICAgZXh0ZW5zaW9u
cy0+cmVtb3ZlQmFzZVZhbHVlPEJhcmVUeXBlPihjb250ZXh0LCBBdHRyTmFtZSk7IFwKKyAgICAg
ICAgQVNTRVJUKGV4dGVuc2lvbnMtPmhhc0Jhc2VWYWx1ZTxCYXJlVHlwZT4oY29udGV4dCwgQXR0
ck5hbWUubG9jYWxOYW1lKCkpKTsgXAorICAgICAgICBzZXQjI1VwcGVyUHJvcGVydHkoZXh0ZW5z
aW9ucy0+YmFzZVZhbHVlPEJhcmVUeXBlPihjb250ZXh0LCBBdHRyTmFtZS5sb2NhbE5hbWUoKSkp
OyBcCisgICAgICAgIGV4dGVuc2lvbnMtPnJlbW92ZUJhc2VWYWx1ZTxCYXJlVHlwZT4oY29udGV4
dCwgQXR0ck5hbWUubG9jYWxOYW1lKCkpOyBcCiAgICAgfSBcCiB9CiAKQEAgLTE1Nyw3ICsxODIs
NyBAQAogQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TX0lOVEVSTkFMKENsYXNzTmFtZSwg
UmVmUHRyPENsYXNzTmFtZT4sIEJhcmVUeXBlLCBTdG9yYWdlVHlwZSwgVXBwZXJQcm9wZXJ0eSwg
TG93ZXJQcm9wZXJ0eSkKIAogI2RlZmluZSBBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OU19X
SVRIX0NPTlRFWFQoQ2xhc3NOYW1lLCBCYXJlVHlwZSwgVXBwZXJDbGFzc05hbWUsIExvd2VyQ2xh
c3NOYW1lLCBVcHBlclByb3BlcnR5LCBMb3dlclByb3BlcnR5LCBBdHRyTmFtZSwgU3RvcmFnZUdl
dHRlcikgXAotQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlNfSU5URVJOQUwoQ2xhc3NOYW1l
LCBTVkdFbGVtZW50LCBCYXJlVHlwZSwgVXBwZXJDbGFzc05hbWUsIExvd2VyQ2xhc3NOYW1lLCBV
cHBlclByb3BlcnR5LCBMb3dlclByb3BlcnR5LCBBdHRyTmFtZS5sb2NhbE5hbWUoKSwgU3RvcmFn
ZUdldHRlciwgY29udGV4dEVsZW1lbnQoKSkgXAorQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElP
TlNfSU5URVJOQUwoQ2xhc3NOYW1lLCBTVkdFbGVtZW50LCBCYXJlVHlwZSwgVXBwZXJDbGFzc05h
bWUsIExvd2VyQ2xhc3NOYW1lLCBVcHBlclByb3BlcnR5LCBMb3dlclByb3BlcnR5LCBBdHRyTmFt
ZSwgU3RvcmFnZUdldHRlciwgY29udGV4dEVsZW1lbnQoKSkgXAogUGFzc1JlZlB0cjxDbGFzc05h
bWU6OlNWR0FuaW1hdGVkVGVtcGxhdGUjI1VwcGVyUHJvcGVydHk+IENsYXNzTmFtZTo6TG93ZXJQ
cm9wZXJ0eSMjQW5pbWF0ZWQoKSBjb25zdCBcCiB7IFwKICAgICBjb25zdCBTVkdFbGVtZW50KiBj
b250ZXh0ID0gY29udGV4dEVsZW1lbnQoKTsgXApAQCAtMTY2LDcgKzE5MSw3IEBACiB9CiAKICNk
ZWZpbmUgQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlNfV0lUSF9DVVNUT01fSURFTlRJRklF
UihDbGFzc05hbWUsIEJhcmVUeXBlLCBVcHBlckNsYXNzTmFtZSwgTG93ZXJDbGFzc05hbWUsIFVw
cGVyUHJvcGVydHksIExvd2VyUHJvcGVydHksIEF0dHJOYW1lLCBBdHRySWRlbnRpZmllciwgU3Rv
cmFnZUdldHRlcikgXAotQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlNfSU5URVJOQUwoQ2xh
c3NOYW1lLCBDbGFzc05hbWUsIEJhcmVUeXBlLCBVcHBlckNsYXNzTmFtZSwgTG93ZXJDbGFzc05h
bWUsIFVwcGVyUHJvcGVydHksIExvd2VyUHJvcGVydHksIEF0dHJOYW1lLmxvY2FsTmFtZSgpLCBT
dG9yYWdlR2V0dGVyLCB0aGlzKSBcCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OU19JTlRF
Uk5BTChDbGFzc05hbWUsIENsYXNzTmFtZSwgQmFyZVR5cGUsIFVwcGVyQ2xhc3NOYW1lLCBMb3dl
ckNsYXNzTmFtZSwgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9wZXJ0eSwgQXR0ck5hbWUsIFN0b3Jh
Z2VHZXR0ZXIsIHRoaXMpIFwKIFBhc3NSZWZQdHI8Q2xhc3NOYW1lOjpTVkdBbmltYXRlZFRlbXBs
YXRlIyNVcHBlclByb3BlcnR5PiBDbGFzc05hbWU6Okxvd2VyUHJvcGVydHkjI0FuaW1hdGVkKCkg
Y29uc3QgXAogeyBcCiAgICAgcmV0dXJuIGxvb2t1cE9yQ3JlYXRlV3JhcHBlcjxDbGFzc05hbWU6
OlNWR0FuaW1hdGVkVGVtcGxhdGUjI1VwcGVyUHJvcGVydHksIENsYXNzTmFtZT4odGhpcywgQXR0
ck5hbWUsIEF0dHJJZGVudGlmaWVyKTsgXApAQCAtMjIwLDYgKzI0NSw3IEBACiAgICAgICAgIHZp
cnR1YWwgdm9pZCBpbnNlcnRlZEludG9Eb2N1bWVudCgpOwogICAgICAgICB2aXJ0dWFsIHZvaWQg
YnVpbGRQZW5kaW5nUmVzb3VyY2UoKSB7IH0KIAorICAgICAgICB2aXJ0dWFsIEF0b21pY1N0cmlu
ZyBzdmdBbmltYXRlZFByb3BlcnR5QXNTdHJpbmcoY29uc3QgUXVhbGlmaWVkTmFtZSYpIGNvbnN0
IHsgQVNTRVJUX05PVF9SRUFDSEVEKCk7IHJldHVybiBBdG9taWNTdHJpbmcoKTsgfQogICAgICAg
ICB2aXJ0dWFsIHZvaWQgc3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJikg
eyB9CiAgICAgICAgIHZpcnR1YWwgdm9pZCBhdHRyaWJ1dGVDaGFuZ2VkKEF0dHJpYnV0ZSosIGJv
b2wgcHJlc2VydmVEZWNscyA9IGZhbHNlKTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>19675</attachid>
            <date>2008-03-11 13:07:10 -0700</date>
            <delta_ts>2008-03-13 16:15:58 -0700</delta_ts>
            <desc>New layout test that demonstrates this problem</desc>
            <filename>svg-xml-dom-sync.svg</filename>
            <type>image/svg+xml</type>
            <size>989</size>
            <attacher name="Jonathan Haas">myrdred</attacher>
            
              <data encoding="base64">PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCEtLSBMYXlvdXRUZXN0cy9z
dmcvY3VzdG9tL3N2Zy14bWwtZG9tLXN5bmMuc3ZnIC0tPgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3
LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHRleHQgeD0iNTAiIHk9IjIwIj5Cb3RoIG9mIHRoZSBiZWxv
dyBzaG91bGQgYmUgKDIwMCwgMjAwKTwvdGV4dD4KICA8dGV4dCBpZD0ic3ZnLWRvbSIgeD0iNTAi
IHk9IjUwIj5TVkcgRE9NIHJlc3VsdHM6IChmYWlsZWQsIGZhaWxlZCk8L3RleHQ+CiAgPHRleHQg
aWQ9InhtbC1kb20iIHg9IjUwIiB5PSI4MCI+WE1MIERPTSByZXN1bHRzOiAoZmFpbGVkLCBmYWls
ZWQpPC90ZXh0PgogIDxyZWN0IGZpbGw9ImdyZWVuIiBzdHJva2U9ImJsYWNrIiAgeD0iMTAwIiB5
PSIxMDAiIHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIi8+CiAgPHJlY3QgaWQ9InRlc3QtcmVjdCIg
ZmlsbD0icmVkIiBzdHJva2U9ImJsYWNrIiAgeD0iMTAwIiB5PSIxMDAiIHdpZHRoPSIxMDAiIGhl
aWdodD0iMTAwIi8+CgogIDxzY3JpcHQ+CiAgICB0ZXN0cmVjdCA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJ0ZXN0LXJlY3QiKTsKICAgIHRlc3RyZWN0LnguYmFzZVZhbC52YWx1ZSA9IDIwMDsK
ICAgIHRlc3RyZWN0LnNldEF0dHJpYnV0ZSgieSIsIDIwMCk7CgogICAgZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInN2Zy1kb20iKS5maXJzdENoaWxkLmRhdGEgPSAnU1ZHIERPTSByZXN1bHRzOiAo
JyArIHRlc3RyZWN0LnguYmFzZVZhbC52YWx1ZSArICcsICcgKyB0ZXN0cmVjdC55LmJhc2VWYWwu
dmFsdWUgKyAnKSc7CiAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgieG1sLWRvbSIpLmZpcnN0
Q2hpbGQuZGF0YSA9ICdYTUwgRE9NIHJlc3VsdHM6ICgnICsgdGVzdHJlY3QuZ2V0QXR0cmlidXRl
KCJ4IikgKyAnLCAnICsgdGVzdHJlY3QuZ2V0QXR0cmlidXRlKCJ5IikgKyAnKSc7CiAgPC9zY3Jp
cHQ+Cjwvc3ZnPgoKICAKICAKICA=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>19745</attachid>
            <date>2008-03-13 16:17:27 -0700</date>
            <delta_ts>2008-03-22 15:31:04 -0700</delta_ts>
            <desc>Layout test for this bug</desc>
            <filename>svg-xml-dom-sync.patch</filename>
            <type>text/plain</type>
            <size>3728</size>
            <attacher name="Jonathan Haas">myrdred</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL3N2Zy9jdXN0b20vcmVzb3VyY2VzOnN2Zy14bWwtZG9tLXN5bmMu
anMNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0NCi0tLSBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3Jlc291cmNlczpzdmct
eG1sLWRvbS1zeW5jLmpzCShyZXZpc2lvbiAwKQ0KKysrIExheW91dFRlc3RzL3N2Zy9jdXN0b20v
cmVzb3VyY2VzOnN2Zy14bWwtZG9tLXN5bmMuanMJKHJldmlzaW9uIDApDQpAQCAtMCwwICsxLDIx
IEBADQorZGVzY3JpcHRpb24oIlRlc3RzIHdoZXRoZXIgY2hhbmdlcyB0byBTVkcgdGhyb3VnaCBu
YXRpdmUgb2JqZWN0cyBhbmQgdGhlIERPTSBzdGF5IGluIHN5bmMuIik7DQorDQordmFyIHN2Z0Rv
YyA9IGRvY3VtZW50LmltcGxlbWVudGF0aW9uLmNyZWF0ZURvY3VtZW50KCJodHRwOi8vd3d3Lncz
Lm9yZy8yMDAwL3N2ZyIsICJzdmciLCBudWxsKTsNCit2YXIgcmVjdCA9IHN2Z0RvYy5jcmVhdGVF
bGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwgInJlY3QiKTsNCityZWN0LnNl
dEF0dHJpYnV0ZSgieCIsIDEwMCk7DQorcmVjdC5zZXRBdHRyaWJ1dGUoInkiLCAxMDApOw0KKw0K
K3Nob3VsZEJlKCJyZWN0LnguYmFzZVZhbC52YWx1ZSIsICIxMDAiKTsNCitzaG91bGRCZSgicmVj
dC5nZXRBdHRyaWJ1dGUoJ3gnKSIsICInMTAwJyIpOw0KK3Nob3VsZEJlKCJyZWN0LnkuYmFzZVZh
bC52YWx1ZSIsICIxMDAiKTsNCitzaG91bGRCZSgicmVjdC5nZXRBdHRyaWJ1dGUoJ3knKSIsICIn
MTAwJyIpOw0KKw0KK3JlY3QueC5iYXNlVmFsLnZhbHVlID0gMjAwOw0KK3JlY3Quc2V0QXR0cmli
dXRlKCJ5IiwgMjAwKTsNCisNCitzaG91bGRCZSgicmVjdC54LmJhc2VWYWwudmFsdWUiLCAiMjAw
Iik7DQorc2hvdWxkQmUoInJlY3QuZ2V0QXR0cmlidXRlKCd4JykiLCAiJzIwMCciKTsNCitzaG91
bGRCZSgicmVjdC55LmJhc2VWYWwudmFsdWUiLCAiMjAwIik7DQorc2hvdWxkQmUoInJlY3QuZ2V0
QXR0cmlidXRlKCd5JykiLCAiJzIwMCciKTsNCisNCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0g
dHJ1ZTsNCkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3N2Zy14bWwtZG9tLXN5bmMtZXhw
ZWN0ZWQudHh0DQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09DQotLS0gTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9zdmcteG1s
LWRvbS1zeW5jLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkNCisrKyBMYXlvdXRUZXN0cy9zdmcv
Y3VzdG9tL3N2Zy14bWwtZG9tLXN5bmMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQ0KQEAgLTAs
MCArMSwxNiBAQA0KK1Rlc3RzIHdoZXRoZXIgY2hhbmdlcyB0byBTVkcgdGhyb3VnaCBuYXRpdmUg
b2JqZWN0cyBhbmQgdGhlIERPTSBzdGF5IGluIHN5bmMuDQorDQorT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLg0KKw0KKw0KK1BBU1MgcmVjdC54LmJhc2VWYWwudmFsdWUgaXMgMTAwDQorUEFTUyBy
ZWN0LmdldEF0dHJpYnV0ZSgneCcpIGlzICcxMDAnDQorUEFTUyByZWN0LnkuYmFzZVZhbC52YWx1
ZSBpcyAxMDANCitQQVNTIHJlY3QuZ2V0QXR0cmlidXRlKCd5JykgaXMgJzEwMCcNCitQQVNTIHJl
Y3QueC5iYXNlVmFsLnZhbHVlIGlzIDIwMA0KK1BBU1MgcmVjdC5nZXRBdHRyaWJ1dGUoJ3gnKSBp
cyAnMjAwJy4NCitQQVNTIHJlY3QueS5iYXNlVmFsLnZhbHVlIGlzIDIwMA0KK1BBU1MgcmVjdC5n
ZXRBdHRyaWJ1dGUoJ3knKSBpcyAnMjAwJw0KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUNCisNCitURVNUIENPTVBMRVRFDQpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9zdmct
eG1sLWRvbS1zeW5jLmh0bWwNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBMYXlvdXRUZXN0cy9zdmcvY3VzdG9t
L3N2Zy14bWwtZG9tLXN5bmMuaHRtbAkocmV2aXNpb24gMCkNCisrKyBMYXlvdXRUZXN0cy9zdmcv
Y3VzdG9tL3N2Zy14bWwtZG9tLXN5bmMuaHRtbAkocmV2aXNpb24gMCkNCkBAIC0wLDAgKzEsMTMg
QEANCis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+DQorPGh0
bWw+DQorPGhlYWQ+DQorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi8uLi9MYXlv
dXRUZXN0cy9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+DQorPHNjcmlwdCBz
cmM9Ii4uLy4uLy4uL0xheW91dFRlc3RzL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4NCis8L2hlYWQ+DQorPGJvZHk+DQorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+
DQorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+DQorPHNjcmlwdCBzcmM9InJlc291cmNlcy9zdmct
eG1sLWRvbS1zeW5jLmpzIj48L3NjcmlwdD4gDQorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL0xheW91
dFRlc3RzL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+DQorPC9i
b2R5Pg0KKzwvaHRtbD4NCkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3Jlc291cmNlcy9z
dmcteG1sLWRvbS1zeW5jLmpzDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gTGF5b3V0VGVzdHMvc3ZnL2N1c3Rv
bS9yZXNvdXJjZXMvc3ZnLXhtbC1kb20tc3luYy5qcwkocmV2aXNpb24gMCkNCisrKyBMYXlvdXRU
ZXN0cy9zdmcvY3VzdG9tL3Jlc291cmNlcy9zdmcteG1sLWRvbS1zeW5jLmpzCShyZXZpc2lvbiAw
KQ0KQEAgLTAsMCArMSwyMSBAQA0KK2Rlc2NyaXB0aW9uKCJUZXN0cyB3aGV0aGVyIGNoYW5nZXMg
dG8gU1ZHIHRocm91Z2ggbmF0aXZlIG9iamVjdHMgYW5kIHRoZSBET00gc3RheSBpbiBzeW5jLiIp
Ow0KKw0KK3ZhciBzdmdEb2MgPSBkb2N1bWVudC5pbXBsZW1lbnRhdGlvbi5jcmVhdGVEb2N1bWVu
dCgiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCAic3ZnIiwgbnVsbCk7DQordmFyIHJlY3Qg
PSBzdmdEb2MuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsICJy
ZWN0Iik7DQorcmVjdC5zZXRBdHRyaWJ1dGUoIngiLCAxMDApOw0KK3JlY3Quc2V0QXR0cmlidXRl
KCJ5IiwgMTAwKTsNCisNCitzaG91bGRCZSgicmVjdC54LmJhc2VWYWwudmFsdWUiLCAiMTAwIik7
DQorc2hvdWxkQmUoInJlY3QuZ2V0QXR0cmlidXRlKCd4JykiLCAiJzEwMCciKTsNCitzaG91bGRC
ZSgicmVjdC55LmJhc2VWYWwudmFsdWUiLCAiMTAwIik7DQorc2hvdWxkQmUoInJlY3QuZ2V0QXR0
cmlidXRlKCd5JykiLCAiJzEwMCciKTsNCisNCityZWN0LnguYmFzZVZhbC52YWx1ZSA9IDIwMDsN
CityZWN0LnNldEF0dHJpYnV0ZSgieSIsIDIwMCk7DQorDQorc2hvdWxkQmUoInJlY3QueC5iYXNl
VmFsLnZhbHVlIiwgIjIwMCIpOw0KK3Nob3VsZEJlKCJyZWN0LmdldEF0dHJpYnV0ZSgneCcpIiwg
IicyMDAnIik7DQorc2hvdWxkQmUoInJlY3QueS5iYXNlVmFsLnZhbHVlIiwgIjIwMCIpOw0KK3No
b3VsZEJlKCJyZWN0LmdldEF0dHJpYnV0ZSgneScpIiwgIicyMDAnIik7DQorDQordmFyIHN1Y2Nl
c3NmdWxseVBhcnNlZCA9IHRydWU7DQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>19974</attachid>
            <date>2008-03-22 15:31:04 -0700</date>
            <delta_ts>2008-06-30 05:30:57 -0700</delta_ts>
            <desc>Initial patch</desc>
            <filename>SVGLiveness.diff</filename>
            <type>text/plain</type>
            <size>227710</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkVGVtcGxhdGUuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3N2Zy9TVkdBbmltYXRlZFRlbXBsYXRlLmgJKHJldmlzaW9uIDMxMjMyKQorKysgV2Vi
Q29yZS9zdmcvU1ZHQW5pbWF0ZWRUZW1wbGF0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNCwyMiAr
MjQsMjEgQEAKICNkZWZpbmUgU1ZHQW5pbWF0ZWRUZW1wbGF0ZV9oCiAKICNpZiBFTkFCTEUoU1ZH
KQotI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSAiQXRvbWljU3RyaW5nLmgi
CisjaW5jbHVkZSAiRmxvYXRSZWN0LmgiCiAjaW5jbHVkZSAiQXR0cmlidXRlLmgiCisjaW5jbHVk
ZSAiU1ZHQW5nbGUuaCIKKyNpbmNsdWRlICJTVkdMZW5ndGguaCIKKyNpbmNsdWRlICJTVkdMZW5n
dGhMaXN0LmgiCisjaW5jbHVkZSAiU1ZHTnVtYmVyTGlzdC5oIgorI2luY2x1ZGUgIlNWR1RyYW5z
Zm9ybUxpc3QuaCIKKyNpbmNsdWRlICJTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLmgiCiAKKyNpbmNs
dWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLSAgICBjbGFz
cyBGbG9hdFJlY3Q7Ci0gICAgY2xhc3MgU1ZHQW5nbGU7CiAgICAgY2xhc3MgU1ZHRWxlbWVudDsK
LSAgICBjbGFzcyBTVkdMZW5ndGg7Ci0gICAgY2xhc3MgU1ZHTGVuZ3RoTGlzdDsKLSAgICBjbGFz
cyBTVkdOdW1iZXJMaXN0OwotICAgIGNsYXNzIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW87Ci0gICAg
Y2xhc3MgU1ZHVHJhbnNmb3JtTGlzdDsKLSAgICBjbGFzcyBTdHJpbmc7Ci0gICAgY2xhc3MgUXVh
bGlmaWVkTmFtZTsKIAogICAgIHN0cnVjdCBTVkdBbmltYXRlZFR5cGVXcmFwcGVyS2V5IHsgICAg
ICAgICAgICAKICAgICAgICAgLy8gRW1wdHkgdmFsdWUKQEAgLTExOSw2ICsxMTgsOCBAQAogICAg
ICAgICB2aXJ0dWFsIEJhcmVUeXBlIGFuaW1WYWwoKSBjb25zdCA9IDA7CiAgICAgICAgIHZpcnR1
YWwgdm9pZCBzZXRBbmltVmFsKEJhcmVUeXBlIG5ld0FuaW1WYWwpID0gMDsKIAorICAgICAgICB2
aXJ0dWFsIEF0b21pY1N0cmluZyB0b1N0cmluZygpIGNvbnN0IHsgQVNTRVJUX05PVF9SRUFDSEVE
KCk7IHJldHVybiBBdG9taWNTdHJpbmcoKTsgfQorCiAgICAgICAgIHR5cGVkZWYgSGFzaE1hcDxT
VkdBbmltYXRlZFR5cGVXcmFwcGVyS2V5LCBTVkdBbmltYXRlZFRlbXBsYXRlPEJhcmVUeXBlPios
IFNWR0FuaW1hdGVkVHlwZVdyYXBwZXJLZXlIYXNoLCBTVkdBbmltYXRlZFR5cGVXcmFwcGVyS2V5
SGFzaFRyYWl0cyA+IEVsZW1lbnRUb1dyYXBwZXJNYXA7CiAgICAgICAgIHR5cGVkZWYgdHlwZW5h
bWUgRWxlbWVudFRvV3JhcHBlck1hcDo6Y29uc3RfaXRlcmF0b3IgRWxlbWVudFRvV3JhcHBlck1h
cEl0ZXJhdG9yOwogCkBAIC0xMjcsNyArMTI4LDcgQEAKICAgICAgICAgICAgIHN0YXRpYyBFbGVt
ZW50VG9XcmFwcGVyTWFwKiBzX3dyYXBwZXJDYWNoZSA9IG5ldyBFbGVtZW50VG9XcmFwcGVyTWFw
OyAgICAgICAgICAgICAgICAKICAgICAgICAgICAgIHJldHVybiBzX3dyYXBwZXJDYWNoZTsKICAg
ICAgICAgfQotICAgICAgICAKKwogICAgICAgICBzdGF0aWMgdm9pZCBmb3JnZXRXcmFwcGVyKFNW
R0FuaW1hdGVkVGVtcGxhdGU8QmFyZVR5cGU+KiB3cmFwcGVyKQogICAgICAgICB7CiAgICAgICAg
ICAgICBFbGVtZW50VG9XcmFwcGVyTWFwKiBjYWNoZSA9IHdyYXBwZXJDYWNoZSgpOwpAQCAtMTQx
LDM2ICsxNDIsMTk2IEBACiAgICAgICAgICAgICB9CiAgICAgICAgIH0KIAotICAgICAgIGNvbnN0
IFF1YWxpZmllZE5hbWUmIGFzc29jaWF0ZWRBdHRyaWJ1dGVOYW1lKCkgY29uc3QgeyByZXR1cm4g
bV9hc3NvY2lhdGVkQXR0cmlidXRlTmFtZTsgfQorICAgICAgICBjb25zdCBRdWFsaWZpZWROYW1l
JiBhc3NvY2lhdGVkQXR0cmlidXRlTmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fYXNzb2NpYXRlZEF0
dHJpYnV0ZU5hbWU7IH0KIAogICAgIHByaXZhdGU6Ci0gICAgICAgY29uc3QgUXVhbGlmaWVkTmFt
ZSYgbV9hc3NvY2lhdGVkQXR0cmlidXRlTmFtZTsKKyAgICAgICAgY29uc3QgUXVhbGlmaWVkTmFt
ZSYgbV9hc3NvY2lhdGVkQXR0cmlidXRlTmFtZTsKICAgICB9OwogCiAgICAgdGVtcGxhdGUgPGNs
YXNzIFR5cGUsIGNsYXNzIFNWR0VsZW1lbnRTdWJDbGFzcz4KLSAgICBUeXBlKiBsb29rdXBPckNy
ZWF0ZVdyYXBwZXIoY29uc3QgU1ZHRWxlbWVudFN1YkNsYXNzKiBlbGVtZW50LCBjb25zdCBRdWFs
aWZpZWROYW1lJiBkb21BdHRyTmFtZSwgY29uc3QgQXRvbWljU3RyaW5nJiBhdHRySWRlbnRpZmll
cikgeworICAgIFR5cGUqIGxvb2t1cE9yQ3JlYXRlV3JhcHBlcihTVkdFbGVtZW50U3ViQ2xhc3Mq
IGVsZW1lbnQsIGNvbnN0IFF1YWxpZmllZE5hbWUmIGRvbUF0dHJOYW1lLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcmIGF0dHJJZGVudGlmaWVyLCB2
b2lkIChTVkdFbGVtZW50Ojoqc3luY2hyb25pemVyKSgpKSB7CiAgICAgICAgIFNWR0FuaW1hdGVk
VHlwZVdyYXBwZXJLZXkga2V5KGVsZW1lbnQsIGF0dHJJZGVudGlmaWVyKTsKICAgICAgICAgVHlw
ZSogd3JhcHBlciA9IHN0YXRpY19jYXN0PFR5cGUqPihUeXBlOjp3cmFwcGVyQ2FjaGUoKS0+Z2V0
KGtleSkpOwotICAgICAgICBpZiAoIXdyYXBwZXIpIHsKLSAgICAgICAgICAgIHdyYXBwZXIgPSBu
ZXcgVHlwZShlbGVtZW50LCBkb21BdHRyTmFtZSk7Ci0gICAgICAgICAgICBUeXBlOjp3cmFwcGVy
Q2FjaGUoKS0+c2V0KGtleSwgd3JhcHBlcik7Ci0gICAgICAgIH0KKyAgICAgICAgaWYgKHdyYXBw
ZXIpCisgICAgICAgICAgICByZXR1cm4gd3JhcHBlcjsKKworICAgICAgICB3cmFwcGVyID0gbmV3
IFR5cGUoZWxlbWVudCwgZG9tQXR0ck5hbWUpOworICAgICAgICBlbGVtZW50LT5hZGRTVkdQcm9w
ZXJ0eVN5bmNocm9uaXplcihkb21BdHRyTmFtZSwgc3luY2hyb25pemVyKTsKKworICAgICAgICBU
eXBlOjp3cmFwcGVyQ2FjaGUoKS0+c2V0KGtleSwgd3JhcHBlcik7CiAgICAgICAgIHJldHVybiB3
cmFwcGVyOwogICAgIH0KIAotICAgIC8vIENvbW1vbiB0eXBlIGRlZmluaXRpb25zLCB0byBlYXNl
IElETCBnZW5lcmF0aW9uLi4uCi0gICAgdHlwZWRlZiBTVkdBbmltYXRlZFRlbXBsYXRlPFNWR0Fu
Z2xlKj4gU1ZHQW5pbWF0ZWRBbmdsZTsKLSAgICB0eXBlZGVmIFNWR0FuaW1hdGVkVGVtcGxhdGU8
Ym9vbD4gU1ZHQW5pbWF0ZWRCb29sZWFuOwotICAgIHR5cGVkZWYgU1ZHQW5pbWF0ZWRUZW1wbGF0
ZTxpbnQ+IFNWR0FuaW1hdGVkRW51bWVyYXRpb247Ci0gICAgdHlwZWRlZiBTVkdBbmltYXRlZFRl
bXBsYXRlPGxvbmc+IFNWR0FuaW1hdGVkSW50ZWdlcjsKLSAgICB0eXBlZGVmIFNWR0FuaW1hdGVk
VGVtcGxhdGU8U1ZHTGVuZ3RoPiBTVkdBbmltYXRlZExlbmd0aDsKLSAgICB0eXBlZGVmIFNWR0Fu
aW1hdGVkVGVtcGxhdGU8U1ZHTGVuZ3RoTGlzdCo+IFNWR0FuaW1hdGVkTGVuZ3RoTGlzdDsKLSAg
ICB0eXBlZGVmIFNWR0FuaW1hdGVkVGVtcGxhdGU8ZmxvYXQ+IFNWR0FuaW1hdGVkTnVtYmVyOwot
ICAgIHR5cGVkZWYgU1ZHQW5pbWF0ZWRUZW1wbGF0ZTxTVkdOdW1iZXJMaXN0Kj4gU1ZHQW5pbWF0
ZWROdW1iZXJMaXN0OyAKLSAgICB0eXBlZGVmIFNWR0FuaW1hdGVkVGVtcGxhdGU8U1ZHUHJlc2Vy
dmVBc3BlY3RSYXRpbyo+IFNWR0FuaW1hdGVkUHJlc2VydmVBc3BlY3RSYXRpbzsKLSAgICB0eXBl
ZGVmIFNWR0FuaW1hdGVkVGVtcGxhdGU8RmxvYXRSZWN0PiBTVkdBbmltYXRlZFJlY3Q7Ci0gICAg
dHlwZWRlZiBTVkdBbmltYXRlZFRlbXBsYXRlPFN0cmluZz4gU1ZHQW5pbWF0ZWRTdHJpbmc7Ci0g
ICAgdHlwZWRlZiBTVkdBbmltYXRlZFRlbXBsYXRlPFNWR1RyYW5zZm9ybUxpc3QqPiBTVkdBbmlt
YXRlZFRyYW5zZm9ybUxpc3Q7CisgICAgLy8gRGVmaW5lIFNWRyAxLjEgc3RhbmRhcmQgYW5pbWF0
ZWQgcHJvcGVydGllcyAodGhlc2UgU1ZHQW5pbWF0ZWQqIGNsYXNzZXMgYXJlYSBzbG8gYWJsZSB0
byBjb252ZXJ0IHRoZW1zZWx2ZXMgdG8gc3RyaW5ncykKKyAgICAvLyBOb3RlOiBJZiB3ZSdkIGp1
c3Qgc3BlY2lhbGl6ZSB0aGUgU1ZHQW5pbWF0ZWRUZW1wbGF0ZTw+IHdlJ2QgaGF2ZSB0byBkdXBs
aWNhdGUgYSBsb3Qgb2YgY29kZSBhYm92ZS4gSGVuY2UgY2hvb3NpbmcKKyAgICAvLyB0aGUgc29s
dXRpb24sIHRvIGluaGVyaXQgZnJvbSB0aGUgU1ZHQW5pbWF0ZWRUZW1wbGF0ZTw+IGNsYXNzZXMs
IGFuZCBpbXBsZW1lbnRpbmcgdGhlIHZpcnR1YWwgdG9TdHJpbmcoKSBmdW5jdGlvbi4KKyAgICBj
bGFzcyBTVkdBbmltYXRlZEFuZ2xlIDogcHVibGljIFNWR0FuaW1hdGVkVGVtcGxhdGU8U1ZHQW5n
bGUqPiB7CisgICAgcHVibGljOgorICAgICAgICBTVkdBbmltYXRlZEFuZ2xlKGNvbnN0IFF1YWxp
ZmllZE5hbWUmIGF0dHJpYnV0ZU5hbWUpIDogU1ZHQW5pbWF0ZWRUZW1wbGF0ZTxTVkdBbmdsZSo+
KGF0dHJpYnV0ZU5hbWUpIHsgfQorCisgICAgICAgIHZpcnR1YWwgQXRvbWljU3RyaW5nIHRvU3Ry
aW5nKCkgY29uc3QKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKFNWR0FuZ2xlKiBhbmdsZSA9
IGJhc2VWYWwoKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gYW5nbGUtPnZhbHVlQXNTdHJpbmco
KTsKKworICAgICAgICAgICAgcmV0dXJuIG51bGxBdG9tOworICAgICAgICB9CisgICAgfTsKKwor
ICAgIGNsYXNzIFNWR0FuaW1hdGVkQm9vbGVhbiA6IHB1YmxpYyBTVkdBbmltYXRlZFRlbXBsYXRl
PGJvb2w+IHsKKyAgICBwdWJsaWM6CisgICAgICAgIFNWR0FuaW1hdGVkQm9vbGVhbihjb25zdCBR
dWFsaWZpZWROYW1lJiBhdHRyaWJ1dGVOYW1lKSA6IFNWR0FuaW1hdGVkVGVtcGxhdGU8Ym9vbD4o
YXR0cmlidXRlTmFtZSkgeyB9CisKKyAgICAgICAgdmlydHVhbCBBdG9taWNTdHJpbmcgdG9TdHJp
bmcoKSBjb25zdAorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gYmFzZVZhbCgpID8gInRy
dWUiIDogImZhbHNlIjsKKyAgICAgICAgfQorICAgIH07CisKKyAgICBjbGFzcyBTVkdBbmltYXRl
ZEVudW1lcmF0aW9uIDogcHVibGljIFNWR0FuaW1hdGVkVGVtcGxhdGU8aW50PiB7CisgICAgcHVi
bGljOgorICAgICAgICBTVkdBbmltYXRlZEVudW1lcmF0aW9uKGNvbnN0IFF1YWxpZmllZE5hbWUm
IGF0dHJpYnV0ZU5hbWUpIDogU1ZHQW5pbWF0ZWRUZW1wbGF0ZTxpbnQ+KGF0dHJpYnV0ZU5hbWUp
IHsgfQorCisgICAgICAgIHZpcnR1YWwgQXRvbWljU3RyaW5nIHRvU3RyaW5nKCkgY29uc3QKKyAg
ICAgICAgeworICAgICAgICAgICAgcmV0dXJuIFN0cmluZzo6bnVtYmVyKGJhc2VWYWwoKSk7Cisg
ICAgICAgIH0KKyAgICB9OworCisgICAgY2xhc3MgU1ZHQW5pbWF0ZWRJbnRlZ2VyIDogcHVibGlj
IFNWR0FuaW1hdGVkVGVtcGxhdGU8bG9uZz4geworICAgIHB1YmxpYzoKKyAgICAgICAgU1ZHQW5p
bWF0ZWRJbnRlZ2VyKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJpYnV0ZU5hbWUpIDogU1ZHQW5p
bWF0ZWRUZW1wbGF0ZTxsb25nPihhdHRyaWJ1dGVOYW1lKSB7IH0KKworICAgICAgICB2aXJ0dWFs
IEF0b21pY1N0cmluZyB0b1N0cmluZygpIGNvbnN0CisgICAgICAgIHsKKyAgICAgICAgICAgIHJl
dHVybiBTdHJpbmc6Om51bWJlcihiYXNlVmFsKCkpOworICAgICAgICB9CisgICAgfTsKKworICAg
IGNsYXNzIFNWR0FuaW1hdGVkTGVuZ3RoIDogcHVibGljIFNWR0FuaW1hdGVkVGVtcGxhdGU8U1ZH
TGVuZ3RoPiB7CisgICAgcHVibGljOgorICAgICAgICBTVkdBbmltYXRlZExlbmd0aChjb25zdCBR
dWFsaWZpZWROYW1lJiBhdHRyaWJ1dGVOYW1lKSA6IFNWR0FuaW1hdGVkVGVtcGxhdGU8U1ZHTGVu
Z3RoPihhdHRyaWJ1dGVOYW1lKSB7IH0KKworICAgICAgICB2aXJ0dWFsIEF0b21pY1N0cmluZyB0
b1N0cmluZygpIGNvbnN0CisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiBiYXNlVmFsKCku
dmFsdWVBc1N0cmluZygpOworICAgICAgICB9CisgICAgfTsKKworICAgIGNsYXNzIFNWR0FuaW1h
dGVkTGVuZ3RoTGlzdCA6IHB1YmxpYyBTVkdBbmltYXRlZFRlbXBsYXRlPFNWR0xlbmd0aExpc3Qq
PiB7CisgICAgcHVibGljOgorICAgICAgICBTVkdBbmltYXRlZExlbmd0aExpc3QoY29uc3QgUXVh
bGlmaWVkTmFtZSYgYXR0cmlidXRlTmFtZSkgOiBTVkdBbmltYXRlZFRlbXBsYXRlPFNWR0xlbmd0
aExpc3QqPihhdHRyaWJ1dGVOYW1lKSB7IH0KKworICAgICAgICB2aXJ0dWFsIEF0b21pY1N0cmlu
ZyB0b1N0cmluZygpIGNvbnN0CisgICAgICAgIHsKKyAgICAgICAgICAgIGlmIChTVkdMZW5ndGhM
aXN0KiBsaXN0ID0gYmFzZVZhbCgpKQorICAgICAgICAgICAgICAgIHJldHVybiBsaXN0LT52YWx1
ZUFzU3RyaW5nKCk7CisKKyAgICAgICAgICAgIHJldHVybiBudWxsQXRvbTsKKyAgICAgICAgfQor
ICAgIH07CisKKyAgICBjbGFzcyBTVkdBbmltYXRlZE51bWJlciA6IHB1YmxpYyBTVkdBbmltYXRl
ZFRlbXBsYXRlPGZsb2F0PiB7CisgICAgcHVibGljOgorICAgICAgICBTVkdBbmltYXRlZE51bWJl
cihjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyaWJ1dGVOYW1lKSA6IFNWR0FuaW1hdGVkVGVtcGxh
dGU8ZmxvYXQ+KGF0dHJpYnV0ZU5hbWUpIHsgfQorCisgICAgICAgIHZpcnR1YWwgQXRvbWljU3Ry
aW5nIHRvU3RyaW5nKCkgY29uc3QKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIFN0cmlu
Zzo6bnVtYmVyKGJhc2VWYWwoKSk7CisgICAgICAgIH0KKyAgICB9OworCisgICAgY2xhc3MgU1ZH
QW5pbWF0ZWROdW1iZXJMaXN0IDogcHVibGljIFNWR0FuaW1hdGVkVGVtcGxhdGU8U1ZHTnVtYmVy
TGlzdCo+IHsKKyAgICBwdWJsaWM6CisgICAgICAgIFNWR0FuaW1hdGVkTnVtYmVyTGlzdChjb25z
dCBRdWFsaWZpZWROYW1lJiBhdHRyaWJ1dGVOYW1lKSA6IFNWR0FuaW1hdGVkVGVtcGxhdGU8U1ZH
TnVtYmVyTGlzdCo+KGF0dHJpYnV0ZU5hbWUpIHsgfQorCisgICAgICAgIHZpcnR1YWwgQXRvbWlj
U3RyaW5nIHRvU3RyaW5nKCkgY29uc3QKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKFNWR051
bWJlckxpc3QqIGxpc3QgPSBiYXNlVmFsKCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIGxpc3Qt
PnZhbHVlQXNTdHJpbmcoKTsKKworICAgICAgICAgICAgcmV0dXJuIG51bGxBdG9tOworICAgICAg
ICB9CisgICAgfTsKKworICAgIGNsYXNzIFNWR0FuaW1hdGVkUHJlc2VydmVBc3BlY3RSYXRpbyA6
IHB1YmxpYyBTVkdBbmltYXRlZFRlbXBsYXRlPFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8qPiB7Cisg
ICAgcHVibGljOgorICAgICAgICBTVkdBbmltYXRlZFByZXNlcnZlQXNwZWN0UmF0aW8oY29uc3Qg
UXVhbGlmaWVkTmFtZSYgYXR0cmlidXRlTmFtZSkgOiBTVkdBbmltYXRlZFRlbXBsYXRlPFNWR1By
ZXNlcnZlQXNwZWN0UmF0aW8qPihhdHRyaWJ1dGVOYW1lKSB7IH0KKworICAgICAgICB2aXJ0dWFs
IEF0b21pY1N0cmluZyB0b1N0cmluZygpIGNvbnN0CisgICAgICAgIHsKKyAgICAgICAgICAgIGlm
IChTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvKiByYXRpbyA9IGJhc2VWYWwoKSkKKyAgICAgICAgICAg
ICAgICByZXR1cm4gcmF0aW8tPnZhbHVlQXNTdHJpbmcoKTsKKworICAgICAgICAgICAgcmV0dXJu
IG51bGxBdG9tOworICAgICAgICB9CisgICAgfTsKKworICAgIGNsYXNzIFNWR0FuaW1hdGVkUmVj
dCA6IHB1YmxpYyBTVkdBbmltYXRlZFRlbXBsYXRlPEZsb2F0UmVjdD4geworICAgIHB1YmxpYzoK
KyAgICAgICAgU1ZHQW5pbWF0ZWRSZWN0KGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJpYnV0ZU5h
bWUpIDogU1ZHQW5pbWF0ZWRUZW1wbGF0ZTxGbG9hdFJlY3Q+KGF0dHJpYnV0ZU5hbWUpIHsgfQor
CisgICAgICAgIHZpcnR1YWwgQXRvbWljU3RyaW5nIHRvU3RyaW5nKCkgY29uc3QKKyAgICAgICAg
eworICAgICAgICAgICAgRmxvYXRSZWN0IHJlY3QgPSBiYXNlVmFsKCk7CisgICAgICAgICAgICBy
ZXR1cm4gU3RyaW5nOjpmb3JtYXQoIiVmICVmICVmICVmIiwgcmVjdC54KCksIHJlY3QueSgpLCBy
ZWN0LndpZHRoKCksIHJlY3QuaGVpZ2h0KCkpOworICAgICAgICB9CisgICAgfTsKKworICAgIGNs
YXNzIFNWR0FuaW1hdGVkU3RyaW5nIDogcHVibGljIFNWR0FuaW1hdGVkVGVtcGxhdGU8U3RyaW5n
PiB7CisgICAgcHVibGljOgorICAgICAgICBTVkdBbmltYXRlZFN0cmluZyhjb25zdCBRdWFsaWZp
ZWROYW1lJiBhdHRyaWJ1dGVOYW1lKSA6IFNWR0FuaW1hdGVkVGVtcGxhdGU8U3RyaW5nPihhdHRy
aWJ1dGVOYW1lKSB7IH0KKworICAgICAgICB2aXJ0dWFsIEF0b21pY1N0cmluZyB0b1N0cmluZygp
IGNvbnN0CisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiBiYXNlVmFsKCk7CisgICAgICAg
IH0KKyAgICB9OworCisgICAgY2xhc3MgU1ZHQW5pbWF0ZWRUcmFuc2Zvcm1MaXN0IDogcHVibGlj
IFNWR0FuaW1hdGVkVGVtcGxhdGU8U1ZHVHJhbnNmb3JtTGlzdCo+IHsKKyAgICBwdWJsaWM6Cisg
ICAgICAgIFNWR0FuaW1hdGVkVHJhbnNmb3JtTGlzdChjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRy
aWJ1dGVOYW1lKSA6IFNWR0FuaW1hdGVkVGVtcGxhdGU8U1ZHVHJhbnNmb3JtTGlzdCo+KGF0dHJp
YnV0ZU5hbWUpIHsgfQorCisgICAgICAgIHZpcnR1YWwgQXRvbWljU3RyaW5nIHRvU3RyaW5nKCkg
Y29uc3QKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKFNWR1RyYW5zZm9ybUxpc3QqIGxpc3Qg
PSBiYXNlVmFsKCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIGxpc3QtPnZhbHVlQXNTdHJpbmco
KTsKKworICAgICAgICAgICAgcmV0dXJuIG51bGxBdG9tOworICAgICAgICB9CisgICAgfTsKKwor
ICAgIC8vIEhlbHBlciBmb3IgQU5JTUFURURfUFJPUEVSVFkqIG1hY3Jvcywgd2hvc2UgaGVscGVy
IGNsYXNzZXMgU1ZHQW5pbWF0ZWRUZW1wbGF0ZSMjVXBwZXJQcm9wZXJ0eS4uIGNhbid0CisgICAg
Ly8gaW5oZXJpdCBmcm9tIFNWR0FuaW1hdGVkVGVtcGxhdGU8eHh4PiBhcyB0aGV5IHJlbHkgb24g
YSB3b3JraW5nIHRvU3RyaW5nKCkgaW1wbGVtZW50YXRpb24uIFNvIGluc3RlYWQKKyAgICAvLyBj
cmVhdGUgYSBuZXcgaGVscGVyIHR5cGUgU1ZHQW5pbWF0ZWRUeXBlLCB3aGljaCBnZXRzIHNwZWNp
YWxpemVkIGZvciB0aGUgc3VwcG9ydCBkYXRhdHlwZXMgYW5kIGluIHR1cm4gaW5oZXJpdHMKKyAg
ICAvLyBmcm9tIHRoZSBTVkdBbmltYXRlZFRFbXBsYXRlPHh4eD4gbWFjcm9zLiBMb29rcyBhIGJp
dCBjb21wbGljYXRlZCwgYnV0IG1ha2VzIHNlbnNlIGlmIHlvdSBjaGVjayB0aGUgbWFjcm9zLgor
ICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+CisgICAgY2xhc3MgU1ZHQW5pbWF0ZWRUeXBlIDogcHVi
bGljIFNWR0FuaW1hdGVkVGVtcGxhdGU8VD4geworICAgIHB1YmxpYzoKKyAgICAgICAgU1ZHQW5p
bWF0ZWRUeXBlKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJpYnV0ZU5hbWUpIDogU1ZHQW5pbWF0
ZWRUZW1wbGF0ZTxUPihhdHRyaWJ1dGVOYW1lKSB7IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOyB9Cisg
ICAgfTsKKworI2RlZmluZSBBRERfQU5JTUFURURfVFlQRV9IRUxQRVIoRGF0YVR5cGUsIEluaGVy
aXRGcm9tQ2xhc3MpIFwKKyAgICB0ZW1wbGF0ZTw+IFwKKyAgICBjbGFzcyBTVkdBbmltYXRlZFR5
cGU8RGF0YVR5cGU+IDogcHVibGljIEluaGVyaXRGcm9tQ2xhc3MgeyBcCisgICAgcHVibGljOiBc
CisgICAgICAgIFNWR0FuaW1hdGVkVHlwZShjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyaWJ1dGVO
YW1lKSA6IEluaGVyaXRGcm9tQ2xhc3MoYXR0cmlidXRlTmFtZSkgeyB9IFwKKyAgICB9OworCisg
ICAgQUREX0FOSU1BVEVEX1RZUEVfSEVMUEVSKFNWR0FuZ2xlKiwgU1ZHQW5pbWF0ZWRBbmdsZSkK
KyAgICBBRERfQU5JTUFURURfVFlQRV9IRUxQRVIoYm9vbCwgU1ZHQW5pbWF0ZWRCb29sZWFuKQor
ICAgIEFERF9BTklNQVRFRF9UWVBFX0hFTFBFUihpbnQsIFNWR0FuaW1hdGVkRW51bWVyYXRpb24p
CisgICAgQUREX0FOSU1BVEVEX1RZUEVfSEVMUEVSKGxvbmcsIFNWR0FuaW1hdGVkSW50ZWdlcikK
KyAgICBBRERfQU5JTUFURURfVFlQRV9IRUxQRVIoU1ZHTGVuZ3RoLCBTVkdBbmltYXRlZExlbmd0
aCkKKyAgICBBRERfQU5JTUFURURfVFlQRV9IRUxQRVIoU1ZHTGVuZ3RoTGlzdCosIFNWR0FuaW1h
dGVkTGVuZ3RoTGlzdCkKKyAgICBBRERfQU5JTUFURURfVFlQRV9IRUxQRVIoZmxvYXQsIFNWR0Fu
aW1hdGVkTnVtYmVyKQorICAgIEFERF9BTklNQVRFRF9UWVBFX0hFTFBFUihTVkdOdW1iZXJMaXN0
KiwgU1ZHQW5pbWF0ZWROdW1iZXJMaXN0KQorICAgIEFERF9BTklNQVRFRF9UWVBFX0hFTFBFUihT
VkdQcmVzZXJ2ZUFzcGVjdFJhdGlvKiwgU1ZHQW5pbWF0ZWRQcmVzZXJ2ZUFzcGVjdFJhdGlvKQor
ICAgIEFERF9BTklNQVRFRF9UWVBFX0hFTFBFUihGbG9hdFJlY3QsIFNWR0FuaW1hdGVkUmVjdCkK
KyAgICBBRERfQU5JTUFURURfVFlQRV9IRUxQRVIoU3RyaW5nLCBTVkdBbmltYXRlZFN0cmluZykK
KyAgICBBRERfQU5JTUFURURfVFlQRV9IRUxQRVIoU1ZHVHJhbnNmb3JtTGlzdCosIFNWR0FuaW1h
dGVkVHJhbnNmb3JtTGlzdCkKKwogfQogCiAjZW5kaWYgLy8gRU5BQkxFKFNWRykKSW5kZXg6IFdl
YkNvcmUvc3ZnL1NWR01QYXRoRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NW
R01QYXRoRWxlbWVudC5oCShyZXZpc2lvbiAzMTIzMikKKysrIFdlYkNvcmUvc3ZnL1NWR01QYXRo
RWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC00Myw3ICs0Myw3IEBACiAgICAgICAgIFNWR1Bh
dGhFbGVtZW50KiBwYXRoRWxlbWVudCgpOwogICAgICAgICAKICAgICBwcm90ZWN0ZWQ6Ci0gICAg
ICAgIHZpcnR1YWwgY29uc3QgU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSBjb25zdCB7IHJl
dHVybiB0aGlzOyB9CisgICAgICAgIHZpcnR1YWwgU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQo
KSB7IHJldHVybiB0aGlzOyB9CiAgICAgfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRl
eDogV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZVRyYW5zZm9ybUVsZW1lbnQuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL3N2Zy9TVkdBbmltYXRlVHJhbnNmb3JtRWxlbWVudC5oCShyZXZpc2lvbiAzMTIz
MikKKysrIFdlYkNvcmUvc3ZnL1NWR0FuaW1hdGVUcmFuc2Zvcm1FbGVtZW50LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTQ2LDcgKzQ2LDcgQEAKICAgICAgICAgdmlydHVhbCB2b2lkIGFwcGx5QW5pbWF0
ZWRWYWx1ZVRvRWxlbWVudCgpOwogCiAgICAgcHJvdGVjdGVkOgotICAgICAgICB2aXJ0dWFsIGNv
bnN0IFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gdGhpczsgfQor
ICAgICAgICB2aXJ0dWFsIFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgeyByZXR1cm4gdGhp
czsgfQogICAgICAgICAKICAgICAgICAgdmlydHVhbCBib29sIHVwZGF0ZUFuaW1hdGVkVmFsdWUo
RUFuaW1hdGlvbk1vZGUsIGZsb2F0IHRpbWVQZXJjZW50YWdlLCB1bnNpZ25lZCB2YWx1ZUluZGV4
LCBmbG9hdCBwZXJjZW50YWdlUGFzdCk7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBjYWxjdWxhdGVG
cm9tQW5kVG9WYWx1ZXMoRUFuaW1hdGlvbk1vZGUsIHVuc2lnbmVkIHZhbHVlSW5kZXgpOwpJbmRl
eDogV2ViQ29yZS9zdmcvU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9zdmcvU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5jcHAJKHJldmlzaW9uIDMxMjMyKQor
KysgV2ViQ29yZS9zdmcvU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTIwMiw2ICsyMDIsNTkgQEAKICAgICByZXR1cm4gdGVtcDsKIH0KIAorU3RyaW5nIFNWR1By
ZXNlcnZlQXNwZWN0UmF0aW86OnZhbHVlQXNTdHJpbmcoKSBjb25zdAoreworICAgIFN0cmluZyBy
ZXN1bHQ7CisKKyAgICBzd2l0Y2ggKChTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvVHlwZSkgYWxpZ24o
KSkgeworICAgIGRlZmF1bHQ6CisgICAgY2FzZSBTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19OT05F
OgorICAgICAgICByZXN1bHQgPSAibm9uZSI7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgU1ZH
X1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1JTllNSU46CisgICAgICAgIHJlc3VsdCA9ICJ4TWluWU1p
biI7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1J
RFlNSU46CisgICAgICAgIHJlc3VsdCA9ICJ4TWlkWU1pbiI7CisgICAgICAgIGJyZWFrOworICAg
IGNhc2UgU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1BWFlNSU46CisgICAgICAgIHJlc3VsdCA9
ICJ4TWF4WU1pbiI7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgU1ZHX1BSRVNFUlZFQVNQRUNU
UkFUSU9fWE1JTllNSUQ6CisgICAgICAgIHJlc3VsdCA9ICJ4TWluWU1pZCI7CisgICAgICAgIGJy
ZWFrOworICAgIGNhc2UgU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1JRFlNSUQ6CisgICAgICAg
IHJlc3VsdCA9ICJ4TWlkWU1pZCI7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgU1ZHX1BSRVNF
UlZFQVNQRUNUUkFUSU9fWE1BWFlNSUQ6CisgICAgICAgIHJlc3VsdCA9ICJ4TWF4WU1pZCI7Cisg
ICAgICAgIGJyZWFrOworICAgIGNhc2UgU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1JTllNQVg6
CisgICAgICAgIHJlc3VsdCA9ICJ4TWluWU1heCI7CisgICAgICAgIGJyZWFrOworICAgIGNhc2Ug
U1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1JRFlNQVg6CisgICAgICAgIHJlc3VsdCA9ICJ4TWlk
WU1heCI7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9f
WE1BWFlNQVg6CisgICAgICAgIHJlc3VsdCA9ICJ4TWF4WU1heCI7CisgICAgICAgIGJyZWFrOwor
ICAgIH07CisKKyAgICBzd2l0Y2ggKChTVkdNZWV0T3JTbGljZVR5cGUpIG1lZXRPclNsaWNlKCkp
IHsKKyAgICBkZWZhdWx0OgorICAgIGNhc2UgU1ZHX01FRVRPUlNMSUNFX1VOS05PV046CisgICAg
ICAgIGJyZWFrOworICAgIGNhc2UgU1ZHX01FRVRPUlNMSUNFX01FRVQ6CisgICAgICAgIHJlc3Vs
dCArPSAiIG1lZXQiOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFNWR19NRUVUT1JTTElDRV9T
TElDRToKKyAgICAgICAgcmVzdWx0ICs9ICIgc2xpY2UiOworICAgICAgICBicmVhazsKKyAgICB9
OworCisgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAorfQorCiAjZW5kaWYgLy8gRU5BQkxFKFNWRykK
SW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0ZFQ29tcG9zaXRlRWxlbWVudC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvc3ZnL1NWR0ZFQ29tcG9zaXRlRWxlbWVudC5oCShyZXZpc2lvbiAzMTIzMikKKysr
IFdlYkNvcmUvc3ZnL1NWR0ZFQ29tcG9zaXRlRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC00
MCw3ICs0MCw3IEBACiAgICAgICAgIHZpcnR1YWwgU1ZHRkVDb21wb3NpdGUqIGZpbHRlckVmZmVj
dChTVkdSZXNvdXJjZUZpbHRlciopIGNvbnN0OwogCiAgICAgcHJvdGVjdGVkOgotICAgICAgICB2
aXJ0dWFsIGNvbnN0IFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgY29uc3QgeyByZXR1cm4g
dGhpczsgfQorICAgICAgICB2aXJ0dWFsIFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgeyBy
ZXR1cm4gdGhpczsgfQogCiAgICAgcHJpdmF0ZToKICAgICAgICAgQU5JTUFURURfUFJPUEVSVFlf
REVDTEFSQVRJT05TKFNWR0ZFQ29tcG9zaXRlRWxlbWVudCwgU3RyaW5nLCBTdHJpbmcsIEluMSwg
aW4xKQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHRkVEaWZmdXNlTGlnaHRpbmdFbGVtZW50LmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHRkVEaWZmdXNlTGlnaHRpbmdFbGVtZW50LmgJKHJl
dmlzaW9uIDMxMjMyKQorKysgV2ViQ29yZS9zdmcvU1ZHRkVEaWZmdXNlTGlnaHRpbmdFbGVtZW50
LmgJKHdvcmtpbmcgY29weSkKQEAgLTM5LDcgKzM5LDcgQEAKICAgICAgICAgdmlydHVhbCBTVkdG
aWx0ZXJFZmZlY3QqIGZpbHRlckVmZmVjdChTVkdSZXNvdXJjZUZpbHRlciopIGNvbnN0OwogCiAg
ICAgcHJvdGVjdGVkOgotICAgICAgICB2aXJ0dWFsIGNvbnN0IFNWR0VsZW1lbnQqIGNvbnRleHRF
bGVtZW50KCkgY29uc3QgeyByZXR1cm4gdGhpczsgfQorICAgICAgICB2aXJ0dWFsIFNWR0VsZW1l
bnQqIGNvbnRleHRFbGVtZW50KCkgeyByZXR1cm4gdGhpczsgfQogCiAgICAgcHJpdmF0ZToKICAg
ICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0ZFRGlmZnVzZUxpZ2h0aW5n
RWxlbWVudCwgU3RyaW5nLCBTdHJpbmcsIEluMSwgaW4xKQpJbmRleDogV2ViQ29yZS9zdmcvU1ZH
RmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL3N2Zy9TVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMuY3BwCShyZXZpc2lv
biAzMTIzMikKKysrIFdlYkNvcmUvc3ZnL1NWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmli
dXRlcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM2LDEwICszNiwxMCBAQAogCiBTVkdGaWx0ZXJQ
cmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXM6OlNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0
cmlidXRlcyhjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jKQogICAg
IDogU1ZHU3R5bGVkRWxlbWVudCh0YWdOYW1lLCBkb2MpCi0gICAgLCBtX3godGhpcywgTGVuZ3Ro
TW9kZVdpZHRoKQotICAgICwgbV95KHRoaXMsIExlbmd0aE1vZGVIZWlnaHQpCi0gICAgLCBtX3dp
ZHRoKHRoaXMsIExlbmd0aE1vZGVXaWR0aCkKLSAgICAsIG1faGVpZ2h0KHRoaXMsIExlbmd0aE1v
ZGVIZWlnaHQpCisgICAgLCBtX3goU1ZHTGVuZ3RoKHRoaXMsIExlbmd0aE1vZGVXaWR0aCkpCisg
ICAgLCBtX3koU1ZHTGVuZ3RoKHRoaXMsIExlbmd0aE1vZGVIZWlnaHQpKQorICAgICwgbV93aWR0
aChTVkdMZW5ndGgodGhpcywgTGVuZ3RoTW9kZVdpZHRoKSkKKyAgICAsIG1faGVpZ2h0KFNWR0xl
bmd0aCh0aGlzLCBMZW5ndGhNb2RlSGVpZ2h0KSkKIHsKICAgICAvLyBTcGVjOiBJZiB0aGUgYXR0
cmlidXRlIGlzIG5vdCBzcGVjaWZpZWQsIHRoZSBlZmZlY3QgaXMgYXMgaWYgYSB2YWx1ZSBvZiAi
MCUiIHdlcmUgc3BlY2lmaWVkLgogICAgIHNldFhCYXNlVmFsdWUoU1ZHTGVuZ3RoKHRoaXMsIExl
bmd0aE1vZGVXaWR0aCwgIjAlIikpOwpJbmRleDogV2ViQ29yZS9zdmcvU1ZHU1ZHRWxlbWVudC5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR1NWR0VsZW1lbnQuaAkocmV2aXNpb24gMzEy
MzIpCisrKyBXZWJDb3JlL3N2Zy9TVkdTVkdFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTEz
NSw3ICsxMzUsNyBAQAogICAgICAgICB2b2lkIGluaGVyaXRWaWV3QXR0cmlidXRlcyhTVkdWaWV3
RWxlbWVudCopOwogCiAgICAgcHJvdGVjdGVkOgotICAgICAgICB2aXJ0dWFsIGNvbnN0IFNWR0Vs
ZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gdGhpczsgfQorICAgICAgICB2
aXJ0dWFsIFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgeyByZXR1cm4gdGhpczsgfQogCiAg
ICAgICAgIGZyaWVuZCBjbGFzcyBSZW5kZXJTVkdSb290OwogICAgICAgICBmcmllbmQgY2xhc3Mg
UmVuZGVyU1ZHVmlld3BvcnRDb250YWluZXI7CkBAIC0xNDcsOSArMTQ3LDkgQEAKICAgICBwcml2
YXRlOgogICAgICAgICB2b2lkIGFkZFNWR1dpbmRvd0V2ZW50TGlzdGVuZXIoY29uc3QgQXRvbWlj
U3RyaW5nJiBldmVudFR5cGUsIGNvbnN0IEF0dHJpYnV0ZSogYXR0cik7ICAgCiAKLSAgICAgICAg
QU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHRXh0ZXJuYWxSZXNvdXJj
ZXNSZXF1aXJlZCwgYm9vbCwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNv
dXJjZXNSZXF1aXJlZCkKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJB
VElPTlMoU1ZHRml0VG9WaWV3Qm94LCBGbG9hdFJlY3QsIFZpZXdCb3gsIHZpZXdCb3gpCi0gICAg
ICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJT05TKFNWR0ZpdFRvVmlld0Jv
eCwgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbyosIFByZXNlcnZlQXNwZWN0UmF0aW8sIHByZXNlcnZl
QXNwZWN0UmF0aW8pCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJ
T05TKFNWR1NWR0VsZW1lbnQsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGJvb2wsIEV4
dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpCisgICAg
ICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJT05TKFNWR1NWR0VsZW1lbnQs
IFNWR0ZpdFRvVmlld0JveCwgRmxvYXRSZWN0LCBWaWV3Qm94LCB2aWV3Qm94KQorICAgICAgICBB
TklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdTVkdFbGVtZW50LCBTVkdG
aXRUb1ZpZXdCb3gsIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8qLCBQcmVzZXJ2ZUFzcGVjdFJhdGlv
LCBwcmVzZXJ2ZUFzcGVjdFJhdGlvKQogCiAgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xB
UkFUSU9OUyhTVkdTVkdFbGVtZW50LCBTVkdMZW5ndGgsIFNWR0xlbmd0aCwgWCwgeCkKICAgICAg
ICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR1NWR0VsZW1lbnQsIFNWR0xlbmd0
aCwgU1ZHTGVuZ3RoLCBZLCB5KQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHVGV4dFBhdGhFbGVtZW50
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHVGV4dFBhdGhFbGVtZW50LmgJKHJldmlz
aW9uIDMxMjMyKQorKysgV2ViQ29yZS9zdmcvU1ZHVGV4dFBhdGhFbGVtZW50LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTY3LDEwICs2NywxMCBAQAogICAgICAgICBib29sIGNoaWxkU2hvdWxkQ3JlYXRl
UmVuZGVyZXIoTm9kZSopIGNvbnN0OwogICAgIAogICAgIHByb3RlY3RlZDoKLSAgICAgICAgdmly
dHVhbCBjb25zdCBTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIHRo
aXM7IH0KKyAgICAgICAgdmlydHVhbCBTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCgpIHsgcmV0
dXJuIHRoaXM7IH0KIAogICAgIHByaXZhdGU6Ci0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZP
UldBUkRfREVDTEFSQVRJT05TKFNWR1VSSVJlZmVyZW5jZSwgU3RyaW5nLCBIcmVmLCBocmVmKQor
ICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdUZXh0UGF0
aEVsZW1lbnQsIFNWR1VSSVJlZmVyZW5jZSwgU3RyaW5nLCBIcmVmLCBocmVmKQogCiAgICAgICAg
IEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdUZXh0UGF0aEVsZW1lbnQsIFNWR0xl
bmd0aCwgU1ZHTGVuZ3RoLCBTdGFydE9mZnNldCwgc3RhcnRPZmZzZXQpCiAgICAgICAgIEFOSU1B
VEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdUZXh0UGF0aEVsZW1lbnQsIGludCwgaW50LCBN
ZXRob2QsIG1ldGhvZCkKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR1NjcmlwdEVsZW1lbnQuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdTY3JpcHRFbGVtZW50LmgJKHJldmlzaW9uIDMxMjMy
KQorKysgV2ViQ29yZS9zdmcvU1ZHU2NyaXB0RWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC00
NiwxMSArNDYsMTIgQEAKICAgICAgICAgdmlydHVhbCB2b2lkIHBhcnNlTWFwcGVkQXR0cmlidXRl
KE1hcHBlZEF0dHJpYnV0ZSAqYXR0cik7CiAKICAgICBwcm90ZWN0ZWQ6Ci0gICAgICAgIHZpcnR1
YWwgY29uc3QgU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSBjb25zdCB7IHJldHVybiB0aGlz
OyB9CisgICAgICAgIHZpcnR1YWwgU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSB7IHJldHVy
biB0aGlzOyB9CiAKICAgICBwcml2YXRlOgotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9GT1JX
QVJEX0RFQ0xBUkFUSU9OUyhTVkdVUklSZWZlcmVuY2UsIFN0cmluZywgSHJlZiwgaHJlZikKLSAg
ICAgICAgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHRXh0ZXJuYWxS
ZXNvdXJjZXNSZXF1aXJlZCwgYm9vbCwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJu
YWxSZXNvdXJjZXNSZXF1aXJlZCkKKwkJQU5JTUFURURfUFJPUEVSVFlfU1RBUlRfREVDTEFSQVRJ
T05TKFNWR1NjcmlwdEVsZW1lbnQpCisJCUFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFS
QVRJT05TKFNWR1NjcmlwdEVsZW1lbnQsIFNWR1VSSVJlZmVyZW5jZSwgU3RyaW5nLCBIcmVmLCBo
cmVmKQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdT
Y3JpcHRFbGVtZW50LCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBib29sLCBFeHRlcm5h
bFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQogCiAgICAgICAg
IFN0cmluZyBtX3R5cGU7CiAgICAgfTsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0NvbXBvbmVudFRy
YW5zZmVyRnVuY3Rpb25FbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdD
b21wb25lbnRUcmFuc2ZlckZ1bmN0aW9uRWxlbWVudC5jcHAJKHJldmlzaW9uIDMxMjMyKQorKysg
V2ViQ29yZS9zdmcvU1ZHQ29tcG9uZW50VHJhbnNmZXJGdW5jdGlvbkVsZW1lbnQuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC00OCw3ICs0OCw3IEBACiB9CiAKIEFOSU1BVEVEX1BST1BFUlRZX0RFRklO
SVRJT05TKFNWR0NvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb25FbGVtZW50LCBpbnQsIEVudW1lcmF0
aW9uLCBlbnVtZXJhdGlvbiwgVHlwZSwgdHlwZSwgU1ZHTmFtZXM6OnR5cGVBdHRyLCBtX3R5cGUp
Ci1BTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdDb21wb25lbnRUcmFuc2ZlckZ1bmN0
aW9uRWxlbWVudCwgU1ZHTnVtYmVyTGlzdCosIE51bWJlckxpc3QsIG51bWJlckxpc3QsIFRhYmxl
VmFsdWVzLCB0YWJsZVZhbHVlcywgU1ZHTmFtZXM6OnRhYmxlVmFsdWVzQXR0ciwgbV90YWJsZVZh
bHVlcy5nZXQoKSkKK0FOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TX1JFRkNPVU5URUQoU1ZH
Q29tcG9uZW50VHJhbnNmZXJGdW5jdGlvbkVsZW1lbnQsIFNWR051bWJlckxpc3QsIE51bWJlckxp
c3QsIG51bWJlckxpc3QsIFRhYmxlVmFsdWVzLCB0YWJsZVZhbHVlcywgU1ZHTmFtZXM6OnRhYmxl
VmFsdWVzQXR0ciwgbV90YWJsZVZhbHVlcykKIEFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05T
KFNWR0NvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb25FbGVtZW50LCBmbG9hdCwgTnVtYmVyLCBudW1i
ZXIsIFNsb3BlLCBzbG9wZSwgU1ZHTmFtZXM6OnNsb3BlQXR0ciwgbV9zbG9wZSkKIEFOSU1BVEVE
X1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0NvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb25FbGVtZW50
LCBmbG9hdCwgTnVtYmVyLCBudW1iZXIsIEludGVyY2VwdCwgaW50ZXJjZXB0LCBTVkdOYW1lczo6
aW50ZXJjZXB0QXR0ciwgbV9pbnRlcmNlcHQpCiBBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9O
UyhTVkdDb21wb25lbnRUcmFuc2ZlckZ1bmN0aW9uRWxlbWVudCwgZmxvYXQsIE51bWJlciwgbnVt
YmVyLCBBbXBsaXR1ZGUsIGFtcGxpdHVkZSwgU1ZHTmFtZXM6OmFtcGxpdHVkZUF0dHIsIG1fYW1w
bGl0dWRlKQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR1ByZXNlcnZlQXNwZWN0UmF0aW8uaAkocmV2aXNpb24g
MzEyMzIpCisrKyBXZWJDb3JlL3N2Zy9TVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTc0LDYgKzc0LDcgQEAKIAogICAgICAgICAvLyBIZWxwZXIKICAgICAgICAgYm9v
bCBwYXJzZVByZXNlcnZlQXNwZWN0UmF0aW8oY29uc3QgVUNoYXIqJiBjdXJyUGFyYW0sIGNvbnN0
IFVDaGFyKiBlbmQsIGJvb2wgdmFsaWRhdGUgPSB0cnVlKTsKKyAgICAgICAgU3RyaW5nIHZhbHVl
QXNTdHJpbmcoKSBjb25zdDsKIAogICAgICAgICBjb25zdCBRdWFsaWZpZWROYW1lJiBhc3NvY2lh
dGVkQXR0cmlidXRlTmFtZSgpIGNvbnN0IHsgcmV0dXJuIFNWR05hbWVzOjpwcmVzZXJ2ZUFzcGVj
dFJhdGlvQXR0cjsgfQogCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdGRURpc3BsYWNlbWVudE1hcEVs
ZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdGRURpc3BsYWNlbWVudE1hcEVs
ZW1lbnQuaAkocmV2aXNpb24gMzEyMzIpCisrKyBXZWJDb3JlL3N2Zy9TVkdGRURpc3BsYWNlbWVu
dE1hcEVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMzcsNyArMzcsNyBAQAogICAgICAgICB2
aXJ0dWFsIFNWR0ZFRGlzcGxhY2VtZW50TWFwKiBmaWx0ZXJFZmZlY3QoU1ZHUmVzb3VyY2VGaWx0
ZXIqKSBjb25zdDsKICAgICAgICAgCiAgICAgcHJvdGVjdGVkOgotICAgICAgICB2aXJ0dWFsIGNv
bnN0IFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gdGhpczsgfQor
ICAgICAgICB2aXJ0dWFsIFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgeyByZXR1cm4gdGhp
czsgfQogCiAgICAgcHJpdmF0ZToKICAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJ
T05TKFNWR0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudCwgU3RyaW5nLCBTdHJpbmcsIEluMSwgaW4x
KQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHTWFza0VsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL3N2Zy9TVkdNYXNrRWxlbWVudC5oCShyZXZpc2lvbiAzMTIzMikKKysrIFdlYkNvcmUvc3Zn
L1NWR01hc2tFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTU0LDkgKzU0LDkgQEAKICAgICAg
ICAgc3RkOjphdXRvX3B0cjxJbWFnZUJ1ZmZlcj4gZHJhd01hc2tlckNvbnRlbnQoY29uc3QgRmxv
YXRSZWN0JiB0YXJnZXRSZWN0LCBGbG9hdFJlY3QmIG1hc2tSZWN0KSBjb25zdDsKIAogICAgIHBy
b3RlY3RlZDoKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMo
U1ZHVVJJUmVmZXJlbmNlLCBTdHJpbmcsIEhyZWYsIGhyZWYpCi0gICAgICAgIEFOSU1BVEVEX1BS
T1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJT05TKFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQs
IGJvb2wsIEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWly
ZWQpCi0gICAgICAgICAgICAKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNM
QVJBVElPTlMoU1ZHTWFza0VsZW1lbnQsIFNWR1VSSVJlZmVyZW5jZSwgU3RyaW5nLCBIcmVmLCBo
cmVmKQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdN
YXNrRWxlbWVudCwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgYm9vbCwgRXh0ZXJuYWxS
ZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkKKwogICAgICAgICBB
TklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHTWFza0VsZW1lbnQsIGludCwgaW50LCBN
YXNrVW5pdHMsIG1hc2tVbml0cykKICAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJ
T05TKFNWR01hc2tFbGVtZW50LCBpbnQsIGludCwgTWFza0NvbnRlbnRVbml0cywgbWFza0NvbnRl
bnRVbml0cykKICAKQEAgLTY1LDcgKzY1LDcgQEAKICAgICAgICAgQU5JTUFURURfUFJPUEVSVFlf
REVDTEFSQVRJT05TKFNWR01hc2tFbGVtZW50LCBTVkdMZW5ndGgsIFNWR0xlbmd0aCwgV2lkdGgs
IHdpZHRoKQogICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHTWFza0Vs
ZW1lbnQsIFNWR0xlbmd0aCwgU1ZHTGVuZ3RoLCBIZWlnaHQsIGhlaWdodCkKIAotICAgICAgICB2
aXJ0dWFsIGNvbnN0IFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgY29uc3QgeyByZXR1cm4g
dGhpczsgfQorICAgICAgICB2aXJ0dWFsIFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgeyBy
ZXR1cm4gdGhpczsgfQogCiAgICAgcHJpdmF0ZToKICAgICAgICAgUmVmUHRyPFNWR1Jlc291cmNl
TWFza2VyPiBtX21hc2tlcjsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR1RleHRQYXRoRWxlbWVudC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHVGV4dFBhdGhFbGVtZW50LmNwcAkocmV2
aXNpb24gMzEyMzIpCisrKyBXZWJDb3JlL3N2Zy9TVkdUZXh0UGF0aEVsZW1lbnQuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zOCw3ICszOCw3IEBACiBTVkdUZXh0UGF0aEVsZW1lbnQ6OlNWR1RleHRQ
YXRoRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jKQog
ICAgIDogU1ZHVGV4dENvbnRlbnRFbGVtZW50KHRhZ05hbWUsIGRvYykKICAgICAsIFNWR1VSSVJl
ZmVyZW5jZSgpCi0gICAgLCBtX3N0YXJ0T2Zmc2V0KHRoaXMsIExlbmd0aE1vZGVPdGhlcikKKyAg
ICAsIG1fc3RhcnRPZmZzZXQoU1ZHTGVuZ3RoKHRoaXMsIExlbmd0aE1vZGVPdGhlcikpCiAgICAg
LCBtX21ldGhvZChTVkdfVEVYVFBBVEhfTUVUSE9EVFlQRV9BTElHTikKICAgICAsIG1fc3BhY2lu
ZyhTVkdfVEVYVFBBVEhfU1BBQ0lOR1RZUEVfRVhBQ1QpCiB7CkluZGV4OiBXZWJDb3JlL3N2Zy9T
VkdUcmFuc2Zvcm1MaXN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHVHJhbnNmb3Jt
TGlzdC5oCShyZXZpc2lvbiAzMTIzMikKKysrIFdlYkNvcmUvc3ZnL1NWR1RyYW5zZm9ybUxpc3Qu
aAkod29ya2luZyBjb3B5KQpAQCAtMzAsNiArMzAsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKKyAgICBjbGFzcyBTdHJpbmc7CisKICAgICBjbGFzcyBTVkdUcmFuc2Zvcm1MaXN0IDogcHVi
bGljIFNWR1BPRExpc3Q8U1ZHVHJhbnNmb3JtPiB7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0
aWMgUGFzc1JlZlB0cjxTVkdUcmFuc2Zvcm1MaXN0PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFt
ZSYgYXR0cmlidXRlTmFtZSkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFNWR1RyYW5zZm9ybUxpc3Qo
YXR0cmlidXRlTmFtZSkpOyB9CkBAIC00MSw3ICs0Myw5IEBACiAgICAgICAgIC8vIEludGVybmFs
IHVzZSBvbmx5CiAgICAgICAgIFNWR1RyYW5zZm9ybSBjb25jYXRlbmF0ZSgpIGNvbnN0OwogICAg
ICAgICBTVkdUcmFuc2Zvcm0gY29uY2F0ZW5hdGVGb3JUeXBlKFNWR1RyYW5zZm9ybTo6U1ZHVHJh
bnNmb3JtVHlwZSkgY29uc3Q7Ci0gICAgICAgIAorIAorICAgICAgICBTdHJpbmcgdmFsdWVBc1N0
cmluZygpIGNvbnN0OworCiAgICAgcHJpdmF0ZToKICAgICAgICAgU1ZHVHJhbnNmb3JtTGlzdChj
b25zdCBRdWFsaWZpZWROYW1lJik7CiAgICAgfTsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0ZFQmxl
bmRFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHRkVCbGVuZEVsZW1lbnQu
aAkocmV2aXNpb24gMzEyMzIpCisrKyBXZWJDb3JlL3N2Zy9TVkdGRUJsZW5kRWxlbWVudC5oCSh3
b3JraW5nIGNvcHkpCkBAIC0zOSw3ICszOSw3IEBACiAgICAgICAgIHZpcnR1YWwgU1ZHRkVCbGVu
ZCogZmlsdGVyRWZmZWN0KFNWR1Jlc291cmNlRmlsdGVyKikgY29uc3Q7CiAKICAgICBwcm90ZWN0
ZWQ6Ci0gICAgICAgIHZpcnR1YWwgY29uc3QgU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSBj
b25zdCB7IHJldHVybiB0aGlzOyB9CisgICAgICAgIHZpcnR1YWwgU1ZHRWxlbWVudCogY29udGV4
dEVsZW1lbnQoKSB7IHJldHVybiB0aGlzOyB9CiAKICAgICBwcml2YXRlOgogICAgICAgICBBTklN
QVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRkVCbGVuZEVsZW1lbnQsIFN0cmluZywgU3Ry
aW5nLCBJbjEsIGluMSkKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR1RleHRQb3NpdGlvbmluZ0VsZW1l
bnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR1RleHRQb3NpdGlvbmluZ0VsZW1l
bnQuY3BwCShyZXZpc2lvbiAzMTIzMikKKysrIFdlYkNvcmUvc3ZnL1NWR1RleHRQb3NpdGlvbmlu
Z0VsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NSwxMSArNDUsMTEgQEAKIHsKIH0KIAot
QU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHVGV4dFBvc2l0aW9uaW5nRWxlbWVudCwg
U1ZHTGVuZ3RoTGlzdCosIExlbmd0aExpc3QsIGxlbmd0aExpc3QsIFgsIHgsIFNWR05hbWVzOjp4
QXR0ciwgbV94LmdldCgpKQotQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHVGV4dFBv
c2l0aW9uaW5nRWxlbWVudCwgU1ZHTGVuZ3RoTGlzdCosIExlbmd0aExpc3QsIGxlbmd0aExpc3Qs
IFksIHksIFNWR05hbWVzOjp5QXR0ciwgbV95LmdldCgpKQotQU5JTUFURURfUFJPUEVSVFlfREVG
SU5JVElPTlMoU1ZHVGV4dFBvc2l0aW9uaW5nRWxlbWVudCwgU1ZHTGVuZ3RoTGlzdCosIExlbmd0
aExpc3QsIGxlbmd0aExpc3QsIER4LCBkeCwgU1ZHTmFtZXM6OmR4QXR0ciwgbV9keC5nZXQoKSkK
LUFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQs
IFNWR0xlbmd0aExpc3QqLCBMZW5ndGhMaXN0LCBsZW5ndGhMaXN0LCBEeSwgZHksIFNWR05hbWVz
OjpkeUF0dHIsIG1fZHkuZ2V0KCkpCi1BTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdU
ZXh0UG9zaXRpb25pbmdFbGVtZW50LCBTVkdOdW1iZXJMaXN0KiwgTnVtYmVyTGlzdCwgbnVtYmVy
TGlzdCwgUm90YXRlLCByb3RhdGUsIFNWR05hbWVzOjpyb3RhdGVBdHRyLCBtX3JvdGF0ZS5nZXQo
KSkKK0FOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TX1JFRkNPVU5URUQoU1ZHVGV4dFBvc2l0
aW9uaW5nRWxlbWVudCwgU1ZHTGVuZ3RoTGlzdCwgTGVuZ3RoTGlzdCwgbGVuZ3RoTGlzdCwgWCwg
eCwgU1ZHTmFtZXM6OnhBdHRyLCBtX3gpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OU19S
RUZDT1VOVEVEKFNWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQsIFNWR0xlbmd0aExpc3QsIExlbmd0
aExpc3QsIGxlbmd0aExpc3QsIFksIHksIFNWR05hbWVzOjp5QXR0ciwgbV95KQorQU5JTUFURURf
UFJPUEVSVFlfREVGSU5JVElPTlNfUkVGQ09VTlRFRChTVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50
LCBTVkdMZW5ndGhMaXN0LCBMZW5ndGhMaXN0LCBsZW5ndGhMaXN0LCBEeCwgZHgsIFNWR05hbWVz
OjpkeEF0dHIsIG1fZHgpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OU19SRUZDT1VOVEVE
KFNWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQsIFNWR0xlbmd0aExpc3QsIExlbmd0aExpc3QsIGxl
bmd0aExpc3QsIER5LCBkeSwgU1ZHTmFtZXM6OmR5QXR0ciwgbV9keSkKK0FOSU1BVEVEX1BST1BF
UlRZX0RFRklOSVRJT05TX1JFRkNPVU5URUQoU1ZHVGV4dFBvc2l0aW9uaW5nRWxlbWVudCwgU1ZH
TnVtYmVyTGlzdCwgTnVtYmVyTGlzdCwgbnVtYmVyTGlzdCwgUm90YXRlLCByb3RhdGUsIFNWR05h
bWVzOjpyb3RhdGVBdHRyLCBtX3JvdGF0ZSkKIAogdm9pZCBTVkdUZXh0UG9zaXRpb25pbmdFbGVt
ZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShNYXBwZWRBdHRyaWJ1dGUqIGF0dHIpCiB7CkluZGV4
OiBXZWJDb3JlL3N2Zy9TVkdGaXRUb1ZpZXdCb3guY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
c3ZnL1NWR0ZpdFRvVmlld0JveC5jcHAJKHJldmlzaW9uIDMxMjMyKQorKysgV2ViQ29yZS9zdmcv
U1ZHRml0VG9WaWV3Qm94LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDYsNyArNDYsNyBAQAogfQog
CiBBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OU19XSVRIX0NPTlRFWFQoU1ZHRml0VG9WaWV3
Qm94LCBGbG9hdFJlY3QsIFJlY3QsIHJlY3QsIFZpZXdCb3gsIHZpZXdCb3gsIFNWR05hbWVzOjp2
aWV3Qm94QXR0ciwgbV92aWV3Qm94KQotQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlNfV0lU
SF9DT05URVhUKFNWR0ZpdFRvVmlld0JveCwgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbyosIFByZXNl
cnZlQXNwZWN0UmF0aW8sIHByZXNlcnZlQXNwZWN0UmF0aW8sIFByZXNlcnZlQXNwZWN0UmF0aW8s
IHByZXNlcnZlQXNwZWN0UmF0aW8sIFNWR05hbWVzOjpwcmVzZXJ2ZUFzcGVjdFJhdGlvQXR0ciwg
bV9wcmVzZXJ2ZUFzcGVjdFJhdGlvLmdldCgpKQorQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElP
TlNfUkVGQ09VTlRFRF9XSVRIX0NPTlRFWFQoU1ZHRml0VG9WaWV3Qm94LCBTVkdQcmVzZXJ2ZUFz
cGVjdFJhdGlvLCBQcmVzZXJ2ZUFzcGVjdFJhdGlvLCBwcmVzZXJ2ZUFzcGVjdFJhdGlvLCBQcmVz
ZXJ2ZUFzcGVjdFJhdGlvLCBwcmVzZXJ2ZUFzcGVjdFJhdGlvLCBTVkdOYW1lczo6cHJlc2VydmVB
c3BlY3RSYXRpb0F0dHIsIG1fcHJlc2VydmVBc3BlY3RSYXRpbykKIAogYm9vbCBTVkdGaXRUb1Zp
ZXdCb3g6OnBhcnNlVmlld0JveChjb25zdCBVQ2hhciomIGMsIGNvbnN0IFVDaGFyKiBlbmQsIGZs
b2F0JiB4LCBmbG9hdCYgeSwgZmxvYXQmIHcsIGZsb2F0JiBoLCBib29sIHZhbGlkYXRlKQogewpJ
bmRleDogV2ViQ29yZS9zdmcvU1ZHU3R5bGVkVHJhbnNmb3JtYWJsZUVsZW1lbnQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR1N0eWxlZFRyYW5zZm9ybWFibGVFbGVtZW50LmNwcAko
cmV2aXNpb24gMzEyMzIpCisrKyBXZWJDb3JlL3N2Zy9TVkdTdHlsZWRUcmFuc2Zvcm1hYmxlRWxl
bWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ2LDcgKzQ2LDcgQEAKIHsKIH0KIAotQU5JTUFU
RURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHU3R5bGVkVHJhbnNmb3JtYWJsZUVsZW1lbnQsIFNW
R1RyYW5zZm9ybUxpc3QqLCBUcmFuc2Zvcm1MaXN0LCB0cmFuc2Zvcm1MaXN0LCBUcmFuc2Zvcm0s
IHRyYW5zZm9ybSwgU1ZHTmFtZXM6OnRyYW5zZm9ybUF0dHIsIG1fdHJhbnNmb3JtLmdldCgpKQor
QU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlNfUkVGQ09VTlRFRChTVkdTdHlsZWRUcmFuc2Zv
cm1hYmxlRWxlbWVudCwgU1ZHVHJhbnNmb3JtTGlzdCwgVHJhbnNmb3JtTGlzdCwgdHJhbnNmb3Jt
TGlzdCwgVHJhbnNmb3JtLCB0cmFuc2Zvcm0sIFNWR05hbWVzOjp0cmFuc2Zvcm1BdHRyLCBtX3Ry
YW5zZm9ybSkKIAogQWZmaW5lVHJhbnNmb3JtIFNWR1N0eWxlZFRyYW5zZm9ybWFibGVFbGVtZW50
OjpnZXRDVE0oKSBjb25zdAogewpJbmRleDogV2ViQ29yZS9zdmcvU1ZHRmlsdGVyRWxlbWVudC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHRmlsdGVyRWxlbWVudC5jcHAJKHJldmlz
aW9uIDMxMjMyKQorKysgV2ViQ29yZS9zdmcvU1ZHRmlsdGVyRWxlbWVudC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTQyLDEwICs0MiwxMCBAQAogICAgICwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1
aXJlZCgpCiAgICAgLCBtX2ZpbHRlclVuaXRzKFNWR1VuaXRUeXBlczo6U1ZHX1VOSVRfVFlQRV9P
QkpFQ1RCT1VORElOR0JPWCkKICAgICAsIG1fcHJpbWl0aXZlVW5pdHMoU1ZHVW5pdFR5cGVzOjpT
VkdfVU5JVF9UWVBFX1VTRVJTUEFDRU9OVVNFKQotICAgICwgbV94KHRoaXMsIExlbmd0aE1vZGVX
aWR0aCkKLSAgICAsIG1feSh0aGlzLCBMZW5ndGhNb2RlSGVpZ2h0KQotICAgICwgbV93aWR0aCh0
aGlzLCBMZW5ndGhNb2RlV2lkdGgpCi0gICAgLCBtX2hlaWdodCh0aGlzLCBMZW5ndGhNb2RlSGVp
Z2h0KQorICAgICwgbV94KFNWR0xlbmd0aCh0aGlzLCBMZW5ndGhNb2RlV2lkdGgpKQorICAgICwg
bV95KFNWR0xlbmd0aCh0aGlzLCBMZW5ndGhNb2RlSGVpZ2h0KSkKKyAgICAsIG1fd2lkdGgoU1ZH
TGVuZ3RoKHRoaXMsIExlbmd0aE1vZGVXaWR0aCkpCisgICAgLCBtX2hlaWdodChTVkdMZW5ndGgo
dGhpcywgTGVuZ3RoTW9kZUhlaWdodCkpCiAgICAgLCBtX2ZpbHRlclJlc1goMCkKICAgICAsIG1f
ZmlsdGVyUmVzWSgwKQogewpJbmRleDogV2ViQ29yZS9zdmcvU1ZHTGluZUVsZW1lbnQuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0xpbmVFbGVtZW50LmNwcAkocmV2aXNpb24gMzEy
MzIpCisrKyBXZWJDb3JlL3N2Zy9TVkdMaW5lRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTM3LDEwICszNywxMCBAQAogICAgICwgU1ZHVGVzdHMoKQogICAgICwgU1ZHTGFuZ1NwYWNlKCkK
ICAgICAsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQoKQotICAgICwgbV94MSh0aGlzLCBM
ZW5ndGhNb2RlV2lkdGgpCi0gICAgLCBtX3kxKHRoaXMsIExlbmd0aE1vZGVIZWlnaHQpCi0gICAg
LCBtX3gyKHRoaXMsIExlbmd0aE1vZGVXaWR0aCkKLSAgICAsIG1feTIodGhpcywgTGVuZ3RoTW9k
ZUhlaWdodCkKKyAgICAsIG1feDEoU1ZHTGVuZ3RoKHRoaXMsIExlbmd0aE1vZGVXaWR0aCkpCisg
ICAgLCBtX3kxKFNWR0xlbmd0aCh0aGlzLCBMZW5ndGhNb2RlSGVpZ2h0KSkKKyAgICAsIG1feDIo
U1ZHTGVuZ3RoKHRoaXMsIExlbmd0aE1vZGVXaWR0aCkpCisgICAgLCBtX3kyKFNWR0xlbmd0aCh0
aGlzLCBMZW5ndGhNb2RlSGVpZ2h0KSkKIHsKIH0KIApJbmRleDogV2ViQ29yZS9zdmcvU1ZHR3Jh
ZGllbnRFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdHcmFkaWVudEVs
ZW1lbnQuY3BwCShyZXZpc2lvbiAzMTIzMikKKysrIFdlYkNvcmUvc3ZnL1NWR0dyYWRpZW50RWxl
bWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUzLDcgKzUzLDcgQEAKIH0KIAogQU5JTUFURURf
UFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHR3JhZGllbnRFbGVtZW50LCBpbnQsIEVudW1lcmF0aW9u
LCBlbnVtZXJhdGlvbiwgR3JhZGllbnRVbml0cywgZ3JhZGllbnRVbml0cywgU1ZHTmFtZXM6Omdy
YWRpZW50VW5pdHNBdHRyLCBtX2dyYWRpZW50VW5pdHMpCi1BTklNQVRFRF9QUk9QRVJUWV9ERUZJ
TklUSU9OUyhTVkdHcmFkaWVudEVsZW1lbnQsIFNWR1RyYW5zZm9ybUxpc3QqLCBUcmFuc2Zvcm1M
aXN0LCB0cmFuc2Zvcm1MaXN0LCBHcmFkaWVudFRyYW5zZm9ybSwgZ3JhZGllbnRUcmFuc2Zvcm0s
IFNWR05hbWVzOjpncmFkaWVudFRyYW5zZm9ybUF0dHIsIG1fZ3JhZGllbnRUcmFuc2Zvcm0uZ2V0
KCkpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OU19SRUZDT1VOVEVEKFNWR0dyYWRpZW50
RWxlbWVudCwgU1ZHVHJhbnNmb3JtTGlzdCwgVHJhbnNmb3JtTGlzdCwgdHJhbnNmb3JtTGlzdCwg
R3JhZGllbnRUcmFuc2Zvcm0sIGdyYWRpZW50VHJhbnNmb3JtLCBTVkdOYW1lczo6Z3JhZGllbnRU
cmFuc2Zvcm1BdHRyLCBtX2dyYWRpZW50VHJhbnNmb3JtKQogQU5JTUFURURfUFJPUEVSVFlfREVG
SU5JVElPTlMoU1ZHR3JhZGllbnRFbGVtZW50LCBpbnQsIEVudW1lcmF0aW9uLCBlbnVtZXJhdGlv
biwgU3ByZWFkTWV0aG9kLCBzcHJlYWRNZXRob2QsIFNWR05hbWVzOjpzcHJlYWRNZXRob2RBdHRy
LCBtX3NwcmVhZE1ldGhvZCkKIAogdm9pZCBTVkdHcmFkaWVudEVsZW1lbnQ6OnBhcnNlTWFwcGVk
QXR0cmlidXRlKE1hcHBlZEF0dHJpYnV0ZSogYXR0cikKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0Vs
bGlwc2VFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdFbGxpcHNlRWxl
bWVudC5jcHAJKHJldmlzaW9uIDMxMjMyKQorKysgV2ViQ29yZS9zdmcvU1ZHRWxsaXBzZUVsZW1l
bnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNywxMCArMzcsMTAgQEAKICAgICAsIFNWR1Rlc3Rz
KCkKICAgICAsIFNWR0xhbmdTcGFjZSgpCiAgICAgLCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVp
cmVkKCkKLSAgICAsIG1fY3godGhpcywgTGVuZ3RoTW9kZVdpZHRoKQotICAgICwgbV9jeSh0aGlz
LCBMZW5ndGhNb2RlSGVpZ2h0KQotICAgICwgbV9yeCh0aGlzLCBMZW5ndGhNb2RlV2lkdGgpCi0g
ICAgLCBtX3J5KHRoaXMsIExlbmd0aE1vZGVIZWlnaHQpCisgICAgLCBtX2N4KFNWR0xlbmd0aCh0
aGlzLCBMZW5ndGhNb2RlV2lkdGgpKQorICAgICwgbV9jeShTVkdMZW5ndGgodGhpcywgTGVuZ3Ro
TW9kZUhlaWdodCkpCisgICAgLCBtX3J4KFNWR0xlbmd0aCh0aGlzLCBMZW5ndGhNb2RlV2lkdGgp
KQorICAgICwgbV9yeShTVkdMZW5ndGgodGhpcywgTGVuZ3RoTW9kZUhlaWdodCkpCiB7CiB9ICAg
IAogCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdDbGlwUGF0aEVsZW1lbnQuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL3N2Zy9TVkdDbGlwUGF0aEVsZW1lbnQuaAkocmV2aXNpb24gMzEyMzIpCisrKyBX
ZWJDb3JlL3N2Zy9TVkdDbGlwUGF0aEVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNTEsMTEg
KzUxLDEwIEBACiAgICAgICAgIHZpcnR1YWwgU1ZHUmVzb3VyY2UqIGNhbnZhc1Jlc291cmNlKCk7
CiAKICAgICBwcm90ZWN0ZWQ6Ci0gICAgICAgIHZpcnR1YWwgY29uc3QgU1ZHRWxlbWVudCogY29u
dGV4dEVsZW1lbnQoKSBjb25zdCB7IHJldHVybiB0aGlzOyB9CisgICAgICAgIHZpcnR1YWwgU1ZH
RWxlbWVudCogY29udGV4dEVsZW1lbnQoKSB7IHJldHVybiB0aGlzOyB9CiAKICAgICBwcml2YXRl
OgotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdFeHRl
cm5hbFJlc291cmNlc1JlcXVpcmVkLCBib29sLCBFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBl
eHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQotCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZP
UldBUkRfREVDTEFSQVRJT05TKFNWR0NsaXBQYXRoRWxlbWVudCwgU1ZHRXh0ZXJuYWxSZXNvdXJj
ZXNSZXF1aXJlZCwgYm9vbCwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNv
dXJjZXNSZXF1aXJlZCkKICAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNW
R0NsaXBQYXRoRWxlbWVudCwgaW50LCBpbnQsIENsaXBQYXRoVW5pdHMsIGNsaXBQYXRoVW5pdHMp
CiAKICAgICAgICAgUmVmUHRyPFNWR1Jlc291cmNlQ2xpcHBlcj4gbV9jbGlwcGVyOwpJbmRleDog
V2ViQ29yZS9zdmcvU1ZHVmlld1NwZWMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NW
R1ZpZXdTcGVjLmNwcAkocmV2aXNpb24gMzEyMzIpCisrKyBXZWJDb3JlL3N2Zy9TVkdWaWV3U3Bl
Yy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMyLDcgKzMyLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCi1TVkdWaWV3U3BlYzo6U1ZHVmlld1NwZWMoY29uc3QgU1ZHU1ZHRWxlbWVudCogY29u
dGV4dEVsZW1lbnQpCitTVkdWaWV3U3BlYzo6U1ZHVmlld1NwZWMoU1ZHU1ZHRWxlbWVudCogY29u
dGV4dEVsZW1lbnQpCiAgICAgOiBTVkdGaXRUb1ZpZXdCb3goKQogICAgICwgU1ZHWm9vbUFuZFBh
bigpCiAgICAgLCBtX3RyYW5zZm9ybShTVkdUcmFuc2Zvcm1MaXN0OjpjcmVhdGUoU1ZHTmFtZXM6
OnRyYW5zZm9ybUF0dHIpKQpAQCAtNzYsNyArNzYsNyBAQAogICAgIHJldHVybiBzdGF0aWNfY2Fz
dDxTVkdFbGVtZW50Kj4obV9jb250ZXh0RWxlbWVudC0+b3duZXJEb2N1bWVudCgpLT5nZXRFbGVt
ZW50QnlJZChtX3ZpZXdUYXJnZXRTdHJpbmcpKTsKIH0KIAotY29uc3QgU1ZHRWxlbWVudCogU1ZH
Vmlld1NwZWM6OmNvbnRleHRFbGVtZW50KCkgY29uc3QKK1NWR0VsZW1lbnQqIFNWR1ZpZXdTcGVj
Ojpjb250ZXh0RWxlbWVudCgpCiB7CiAgICAgcmV0dXJuIG1fY29udGV4dEVsZW1lbnQ7CiB9Cklu
ZGV4OiBXZWJDb3JlL3N2Zy9TVkdGRUNvbG9yTWF0cml4RWxlbWVudC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvc3ZnL1NWR0ZFQ29sb3JNYXRyaXhFbGVtZW50LmgJKHJldmlzaW9uIDMxMjMyKQor
KysgV2ViQ29yZS9zdmcvU1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpA
QCAtNDEsNyArNDEsNyBAQAogICAgICAgICB2aXJ0dWFsIFNWR0ZFQ29sb3JNYXRyaXgqIGZpbHRl
ckVmZmVjdChTVkdSZXNvdXJjZUZpbHRlciopIGNvbnN0OwogCiAgICAgcHJvdGVjdGVkOgotICAg
ICAgICB2aXJ0dWFsIGNvbnN0IFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgY29uc3QgeyBy
ZXR1cm4gdGhpczsgfQorICAgICAgICB2aXJ0dWFsIFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50
KCkgeyByZXR1cm4gdGhpczsgfQogCiAgICAgcHJpdmF0ZToKICAgICAgICAgQU5JTUFURURfUFJP
UEVSVFlfREVDTEFSQVRJT05TKFNWR0ZFQ29sb3JNYXRyaXhFbGVtZW50LCBTdHJpbmcsIFN0cmlu
ZywgSW4xLCBpbjEpCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdSZWN0RWxlbWVudC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHUmVjdEVsZW1lbnQuY3BwCShyZXZpc2lvbiAzMTIzMikK
KysrIFdlYkNvcmUvc3ZnL1NWR1JlY3RFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzYs
MTIgKzM2LDEyIEBACiAgICAgLCBTVkdUZXN0cygpCiAgICAgLCBTVkdMYW5nU3BhY2UoKQogICAg
ICwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCgpCi0gICAgLCBtX3godGhpcywgTGVuZ3Ro
TW9kZVdpZHRoKQotICAgICwgbV95KHRoaXMsIExlbmd0aE1vZGVIZWlnaHQpCi0gICAgLCBtX3dp
ZHRoKHRoaXMsIExlbmd0aE1vZGVXaWR0aCkKLSAgICAsIG1faGVpZ2h0KHRoaXMsIExlbmd0aE1v
ZGVIZWlnaHQpCi0gICAgLCBtX3J4KHRoaXMsIExlbmd0aE1vZGVXaWR0aCkKLSAgICAsIG1fcnko
dGhpcywgTGVuZ3RoTW9kZUhlaWdodCkKKyAgICAsIG1feChTVkdMZW5ndGgodGhpcywgTGVuZ3Ro
TW9kZVdpZHRoKSkKKyAgICAsIG1feShTVkdMZW5ndGgodGhpcywgTGVuZ3RoTW9kZUhlaWdodCkp
CisgICAgLCBtX3dpZHRoKFNWR0xlbmd0aCh0aGlzLCBMZW5ndGhNb2RlV2lkdGgpKQorICAgICwg
bV9oZWlnaHQoU1ZHTGVuZ3RoKHRoaXMsIExlbmd0aE1vZGVIZWlnaHQpKQorICAgICwgbV9yeChT
VkdMZW5ndGgodGhpcywgTGVuZ3RoTW9kZVdpZHRoKSkKKyAgICAsIG1fcnkoU1ZHTGVuZ3RoKHRo
aXMsIExlbmd0aE1vZGVIZWlnaHQpKQogewogfQogCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdMZW5n
dGhMaXN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdMZW5ndGhMaXN0LmNwcAko
cmV2aXNpb24gMzEyMzIpCisrKyBXZWJDb3JlL3N2Zy9TVkdMZW5ndGhMaXN0LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNTksNiArNTksMjIgQEAKICAgICB9CiB9CiAKK1N0cmluZyBTVkdMZW5ndGhM
aXN0Ojp2YWx1ZUFzU3RyaW5nKCkgY29uc3QKK3sKKyAgICBTdHJpbmcgcmVzdWx0OworCisgICAg
RXhjZXB0aW9uQ29kZSBlYyA9IDA7CisgICAgZm9yICh1bnNpZ25lZCBpbnQgaSA9IDA7IGkgPCBu
dW1iZXJPZkl0ZW1zKCk7ICsraSkgeworICAgICAgICBpZiAoaSA+IDApCisgICAgICAgICAgICBy
ZXN1bHQgKz0gIiwgIjsKKworICAgICAgICByZXN1bHQgKz0gZ2V0SXRlbShpLCBlYykudmFsdWVB
c1N0cmluZygpOworICAgICAgICBBU1NFUlQoZWMgPT0gMCk7CisgICAgfQorCisgICAgcmV0dXJu
IHJlc3VsdDsKIH0KIAorfQorCiAjZW5kaWYgLy8gRU5BQkxFKFNWRykKSW5kZXg6IFdlYkNvcmUv
c3ZnL1NWR1N3aXRjaEVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdTd2l0
Y2hFbGVtZW50LmgJKHJldmlzaW9uIDMxMjMyKQorKysgV2ViQ29yZS9zdmcvU1ZHU3dpdGNoRWxl
bWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC00NywxMiArNDcsMTIgQEAKICAgICAgICAgdmlydHVh
bCBSZW5kZXJPYmplY3QqIGNyZWF0ZVJlbmRlcmVyKFJlbmRlckFyZW5hKiwgUmVuZGVyU3R5bGUq
KTsKIAogICAgIHByb3RlY3RlZDoKLSAgICAgICAgdmlydHVhbCBjb25zdCBTVkdFbGVtZW50KiBj
b250ZXh0RWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIHRoaXM7IH0KKyAgICAgICAgdmlydHVhbCBT
VkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCgpIHsgcmV0dXJuIHRoaXM7IH0KIAogICAgIHByaXZh
dGU6CiAgICAgICAgIG11dGFibGUgYm9vbCBtX2luc2lkZVJlbmRlclNlY3Rpb247CiAKLSAgICAg
ICAgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHRXh0ZXJuYWxSZXNv
dXJjZXNSZXF1aXJlZCwgYm9vbCwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxS
ZXNvdXJjZXNSZXF1aXJlZCkKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNM
QVJBVElPTlMoU1ZHU3dpdGNoRWxlbWVudCwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwg
Ym9vbCwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJl
ZCkKICAgICB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBXZWJDb3JlL3N2Zy9T
VkdTeW1ib2xFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHU3ltYm9sRWxl
bWVudC5oCShyZXZpc2lvbiAzMTIzMikKKysrIFdlYkNvcmUvc3ZnL1NWR1N5bWJvbEVsZW1lbnQu
aAkod29ya2luZyBjb3B5KQpAQCAtNDYsMTEgKzQ2LDExIEBACiAgICAgICAgIHZpcnR1YWwgYm9v
bCByZW5kZXJlcklzTmVlZGVkKFJlbmRlclN0eWxlKikgeyByZXR1cm4gZmFsc2U7IH0KIAogICAg
IHByb3RlY3RlZDoKLSAgICAgICAgdmlydHVhbCBjb25zdCBTVkdFbGVtZW50KiBjb250ZXh0RWxl
bWVudCgpIGNvbnN0IHsgcmV0dXJuIHRoaXM7IH0KKyAgICAgICAgdmlydHVhbCBTVkdFbGVtZW50
KiBjb250ZXh0RWxlbWVudCgpIHsgcmV0dXJuIHRoaXM7IH0KICAKLSAgICAgICAgQU5JTUFURURf
UFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJl
ZCwgYm9vbCwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1
aXJlZCkgICAgICAgCi0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJ
T05TKFNWR0ZpdFRvVmlld0JveCwgRmxvYXRSZWN0LCBWaWV3Qm94LCB2aWV3Qm94KQotICAgICAg
ICBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdGaXRUb1ZpZXdCb3gs
IFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8qLCBQcmVzZXJ2ZUFzcGVjdFJhdGlvLCBwcmVzZXJ2ZUFz
cGVjdFJhdGlvKQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9O
UyhTVkdTeW1ib2xFbGVtZW50LCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBib29sLCBF
eHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKSAgICAg
ICAKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHU3lt
Ym9sRWxlbWVudCwgU1ZHRml0VG9WaWV3Qm94LCBGbG9hdFJlY3QsIFZpZXdCb3gsIHZpZXdCb3gp
CisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJT05TKFNWR1N5bWJv
bEVsZW1lbnQsIFNWR0ZpdFRvVmlld0JveCwgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbyosIFByZXNl
cnZlQXNwZWN0UmF0aW8sIHByZXNlcnZlQXNwZWN0UmF0aW8pCiAgICAgfTsKIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHUGF0aEVsZW1lbnQuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdQYXRoRWxlbWVudC5oCShyZXZpc2lvbiAzMTIzMikKKysr
IFdlYkNvcmUvc3ZnL1NWR1BhdGhFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTEwMSwxMyAr
MTAxLDEyIEBACiAgICAgICAgIHZpcnR1YWwgYm9vbCBzdXBwb3J0c01hcmtlcnMoKSBjb25zdCB7
IHJldHVybiB0cnVlOyB9CiAKICAgICBwcm90ZWN0ZWQ6Ci0gICAgICAgIHZpcnR1YWwgY29uc3Qg
U1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSBjb25zdCB7IHJldHVybiB0aGlzOyB9CisgICAg
ICAgIHZpcnR1YWwgU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSB7IHJldHVybiB0aGlzOyB9
CiAKICAgICBwcml2YXRlOgogICAgICAgICBtdXRhYmxlIFJlZlB0cjxTVkdQYXRoU2VnTGlzdD4g
bV9wYXRoU2VnTGlzdDsKIAotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xB
UkFUSU9OUyhTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBib29sLCBFeHRlcm5hbFJlc291
cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQotIAorICAgICAgICBBTklN
QVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdQYXRoRWxlbWVudCwgU1ZHRXh0
ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgYm9vbCwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwg
ZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkKICAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVD
TEFSQVRJT05TKFNWR1BhdGhFbGVtZW50LCBmbG9hdCwgZmxvYXQsIFBhdGhMZW5ndGgsIHBhdGhM
ZW5ndGgpCiAgICAgfTsKIApJbmRleDogV2ViQ29yZS9zdmcvU1ZHU3R5bGVkRWxlbWVudC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR1N0eWxlZEVsZW1lbnQuaAkocmV2aXNpb24gMzEy
MzIpCisrKyBXZWJDb3JlL3N2Zy9TVkdTdHlsZWRFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAg
LTY5LDYgKzY5LDcgQEAKICAgICAgICAgc3RhdGljIGludCBjc3NQcm9wZXJ0eUlkRm9yU1ZHQXR0
cmlidXRlTmFtZShjb25zdCBRdWFsaWZpZWROYW1lJik7CiAKICAgICBwcml2YXRlOgorICAgICAg
ICBBTklNQVRFRF9QUk9QRVJUWV9TVEFSVF9ERUNMQVJBVElPTlMoU1ZHU3R5bGVkRWxlbWVudCkK
ICAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR1N0eWxlZEVsZW1lbnQs
IFN0cmluZywgU3RyaW5nLCBDbGFzc05hbWUsIGNsYXNzTmFtZSkKIAogICAgICAgICB2b2lkIHVw
ZGF0ZUVsZW1lbnRJbnN0YW5jZShTVkdEb2N1bWVudEV4dGVuc2lvbnMqKSBjb25zdDsKSW5kZXg6
IFdlYkNvcmUvc3ZnL1NWR0FuaW1hdGVNb3Rpb25FbGVtZW50LmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9zdmcvU1ZHQW5pbWF0ZU1vdGlvbkVsZW1lbnQuaAkocmV2aXNpb24gMzEyMzIpCisrKyBX
ZWJDb3JlL3N2Zy9TVkdBbmltYXRlTW90aW9uRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC00
NCw3ICs0NCw3IEBACiAgICAgICAgIFBhdGggYW5pbWF0aW9uUGF0aCgpOwogICAgICAgICAKICAg
ICBwcm90ZWN0ZWQ6Ci0gICAgICAgIHZpcnR1YWwgY29uc3QgU1ZHRWxlbWVudCogY29udGV4dEVs
ZW1lbnQoKSBjb25zdCB7IHJldHVybiB0aGlzOyB9CisgICAgICAgIHZpcnR1YWwgU1ZHRWxlbWVu
dCogY29udGV4dEVsZW1lbnQoKSB7IHJldHVybiB0aGlzOyB9CiAgICAgICAgIAogICAgICAgICB2
aXJ0dWFsIGJvb2wgdXBkYXRlQW5pbWF0ZWRWYWx1ZShFQW5pbWF0aW9uTW9kZSwgZmxvYXQgdGlt
ZVBlcmNlbnRhZ2UsIHVuc2lnbmVkIHZhbHVlSW5kZXgsIGZsb2F0IHBlcmNlbnRhZ2VQYXN0KTsK
ICAgICAgICAgdmlydHVhbCBib29sIGNhbGN1bGF0ZUZyb21BbmRUb1ZhbHVlcyhFQW5pbWF0aW9u
TW9kZSwgdW5zaWduZWQgdmFsdWVJbmRleCk7CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdUZXh0UG9z
aXRpb25pbmdFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHVGV4dFBvc2l0
aW9uaW5nRWxlbWVudC5oCShyZXZpc2lvbiAzMTIzMikKKysrIFdlYkNvcmUvc3ZnL1NWR1RleHRQ
b3NpdGlvbmluZ0VsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMjQsMTMgKzI0LDEyIEBACiAj
ZGVmaW5lIFNWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnRfaAogCiAjaWYgRU5BQkxFKFNWRykKKyNp
bmNsdWRlICJTVkdMZW5ndGhMaXN0LmgiCisjaW5jbHVkZSAiU1ZHTnVtYmVyTGlzdC5oIgogI2lu
Y2x1ZGUgIlNWR1RleHRDb250ZW50RWxlbWVudC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
LSAgICBjbGFzcyBTVkdMZW5ndGhMaXN0OwotICAgIGNsYXNzIFNWR051bWJlckxpc3Q7Ci0KICAg
ICBjbGFzcyBTVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50IDogcHVibGljIFNWR1RleHRDb250ZW50
RWxlbWVudCB7CiAgICAgcHVibGljOgogICAgICAgICBTVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50
KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCopOwpJbmRleDogV2ViQ29yZS9zdmcvU1ZH
Rml0VG9WaWV3Qm94LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHRml0VG9WaWV3Qm94
LmgJKHJldmlzaW9uIDMxMjMyKQorKysgV2ViQ29yZS9zdmcvU1ZHRml0VG9WaWV3Qm94LmgJKHdv
cmtpbmcgY29weSkKQEAgLTI1LDExICsyNSwxMSBAQAogCiAjaWYgRU5BQkxFKFNWRykKICNpbmNs
dWRlICJTVkdFbGVtZW50LmgiCisjaW5jbHVkZSAiU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5oIgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFzcyBBZmZpbmVUcmFuc2Zvcm07Ci0gICAg
Y2xhc3MgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbzsKIAogICAgIGNsYXNzIFNWR0ZpdFRvVmlld0Jv
eCB7CiAgICAgcHVibGljOgpAQCAtNDQsNyArNDQsNyBAQAogICAgICAgICBib29sIGlzS25vd25B
dHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYpOwogCiAgICAgcHJvdGVjdGVkOgotICAgICAg
ICB2aXJ0dWFsIGNvbnN0IFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgY29uc3QgPSAwOwor
ICAgICAgICB2aXJ0dWFsIFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgPSAwOwogCiAgICAg
cHJpdmF0ZToKICAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TX1dJVEhfQ09O
VEVYVChTVkdGaXRUb1ZpZXdCb3gsIEZsb2F0UmVjdCwgRmxvYXRSZWN0LCBWaWV3Qm94LCB2aWV3
Qm94KQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHVGV4dEVsZW1lbnQuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3N2Zy9TVkdUZXh0RWxlbWVudC5oCShyZXZpc2lvbiAzMTIzMikKKysrIFdlYkNvcmUv
c3ZnL1NWR1RleHRFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTI2LDYgKzI2LDcgQEAKICNp
ZiBFTkFCTEUoU1ZHKQogI2luY2x1ZGUgIlNWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQuaCIKICNp
bmNsdWRlICJTVkdUcmFuc2Zvcm1hYmxlLmgiCisjaW5jbHVkZSAiU1ZHVHJhbnNmb3JtTGlzdC5o
IgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQ5LDEwICs1MCwxMSBAQAogICAgICAgICB2
aXJ0dWFsIGJvb2wgY2hpbGRTaG91bGRDcmVhdGVSZW5kZXJlcihOb2RlKikgY29uc3Q7CiAgICAg
ICAgICAgICAgICAgCiAgICAgcHJvdGVjdGVkOgotICAgICAgICB2aXJ0dWFsIGNvbnN0IFNWR0Vs
ZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gdGhpczsgfQorICAgICAgICB2
aXJ0dWFsIFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgeyByZXR1cm4gdGhpczsgfQogCiAg
ICAgcHJpdmF0ZToKICAgICAgICAgbXV0YWJsZSBBZmZpbmVUcmFuc2Zvcm0gbV9sb2NhbE1hdHJp
eDsKKwogICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHVGV4dEVsZW1l
bnQsIFNWR1RyYW5zZm9ybUxpc3QqLCBSZWZQdHI8U1ZHVHJhbnNmb3JtTGlzdD4sIFRyYW5zZm9y
bSwgdHJhbnNmb3JtKQogICAgIH07CiAKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0xpbmVFbGVtZW50
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHTGluZUVsZW1lbnQuaAkocmV2aXNpb24g
MzEyMzIpCisrKyBXZWJDb3JlL3N2Zy9TVkdMaW5lRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBA
IC01MSwxMSArNTEsMTEgQEAKICAgICAgICAgdmlydHVhbCBib29sIHN1cHBvcnRzTWFya2Vycygp
IGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KIAogICAgIHByb3RlY3RlZDoKLSAgICAgICAgdmlydHVh
bCBjb25zdCBTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIHRoaXM7
IH0KKyAgICAgICAgdmlydHVhbCBTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCgpIHsgcmV0dXJu
IHRoaXM7IH0KICAgICAgICAgdmlydHVhbCBib29sIGhhc1JlbGF0aXZlVmFsdWVzKCkgY29uc3Q7
CiAKICAgICBwcml2YXRlOgotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xB
UkFUSU9OUyhTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBib29sLCBFeHRlcm5hbFJlc291
cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQorICAgICAgICBBTklNQVRF
RF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdMaW5lRWxlbWVudCwgU1ZHRXh0ZXJu
YWxSZXNvdXJjZXNSZXF1aXJlZCwgYm9vbCwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0
ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkKICAKICAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVD
TEFSQVRJT05TKFNWR0xpbmVFbGVtZW50LCBTVkdMZW5ndGgsIFNWR0xlbmd0aCwgWDEsIHgxKQog
ICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHTGluZUVsZW1lbnQsIFNW
R0xlbmd0aCwgU1ZHTGVuZ3RoLCBZMSwgeTEpCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdMZW5ndGgu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0xlbmd0aC5jcHAJKHJldmlzaW9uIDMx
MjMyKQorKysgV2ViQ29yZS9zdmcvU1ZHTGVuZ3RoLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTIy
LDYgKzEyMiwzMyBAQAogICAgIHNldFZhbHVlQXNTdHJpbmcodmFsdWVBc1N0cmluZyk7CiB9CiAK
K1NWR0xlbmd0aDo6U1ZHTGVuZ3RoKGNvbnN0IFNWR0xlbmd0aCYgb3RoZXIpCisgICAgOiBtX3Zh
bHVlSW5TcGVjaWZpZWRVbml0cyhvdGhlci5tX3ZhbHVlSW5TcGVjaWZpZWRVbml0cykKKyAgICAs
IG1fdW5pdChvdGhlci5tX3VuaXQpCisgICAgLCBtX2NvbnRleHQob3RoZXIubV9jb250ZXh0KQor
eworfQorCitTVkdMZW5ndGgmIFNWR0xlbmd0aDo6b3BlcmF0b3I9KGNvbnN0IFNWR0xlbmd0aCYg
b3RoZXIpCit7CisgICAgbV92YWx1ZUluU3BlY2lmaWVkVW5pdHMgPSBvdGhlci5tX3ZhbHVlSW5T
cGVjaWZpZWRVbml0czsKKyAgICBtX3VuaXQgPSBvdGhlci5tX3VuaXQ7CisgICAgbV9jb250ZXh0
ID0gb3RoZXIubV9jb250ZXh0OworICAgIHJldHVybiAoKnRoaXMpOworfQorCitib29sIFNWR0xl
bmd0aDo6b3BlcmF0b3I9PShjb25zdCBTVkdMZW5ndGgmIG90aGVyKSBjb25zdAoreworICAgIHJl
dHVybiBtX3ZhbHVlSW5TcGVjaWZpZWRVbml0cyA9PSBvdGhlci5tX3ZhbHVlSW5TcGVjaWZpZWRV
bml0cyAmJgorICAgICAgICAgICAgbV91bml0ID09IG90aGVyLm1fdW5pdCAmJgorICAgICAgICAg
ICAgbV9jb250ZXh0ID09IG90aGVyLm1fY29udGV4dDsKK30KKworYm9vbCBTVkdMZW5ndGg6Om9w
ZXJhdG9yIT0oY29uc3QgU1ZHTGVuZ3RoJiBvdGhlcikgY29uc3QKK3sKKyAgICByZXR1cm4gISgo
KnRoaXMpID09IG90aGVyKTsKK30KKwogU1ZHTGVuZ3RoVHlwZSBTVkdMZW5ndGg6OnVuaXRUeXBl
KCkgY29uc3QKIHsKICAgICByZXR1cm4gZXh0cmFjdFR5cGUobV91bml0KTsKSW5kZXg6IFdlYkNv
cmUvc3ZnL1NWR0N1cnNvckVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NW
R0N1cnNvckVsZW1lbnQuY3BwCShyZXZpc2lvbiAzMTIzMikKKysrIFdlYkNvcmUvc3ZnL1NWR0N1
cnNvckVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw4ICszNiw4IEBACiAgICAgLCBT
VkdUZXN0cygpCiAgICAgLCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKCkKICAgICAsIFNW
R1VSSVJlZmVyZW5jZSgpCi0gICAgLCBtX3goMCwgTGVuZ3RoTW9kZVdpZHRoKQotICAgICwgbV95
KDAsIExlbmd0aE1vZGVIZWlnaHQpCisgICAgLCBtX3goU1ZHTGVuZ3RoKDAsIExlbmd0aE1vZGVX
aWR0aCkpCisgICAgLCBtX3koU1ZHTGVuZ3RoKDAsIExlbmd0aE1vZGVIZWlnaHQpKQogewogfQog
CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdWaWV3RWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvc3ZnL1NWR1ZpZXdFbGVtZW50LmgJKHJldmlzaW9uIDMxMjMyKQorKysgV2ViQ29yZS9zdmcv
U1ZHVmlld0VsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNDcsMTQgKzQ3LDE0IEBACiAgICAg
ICAgIHZpcnR1YWwgYm9vbCByZW5kZXJlcklzTmVlZGVkKFJlbmRlclN0eWxlKikgeyByZXR1cm4g
ZmFsc2U7IH0KIAogICAgIHByb3RlY3RlZDoKLSAgICAgICAgdmlydHVhbCBjb25zdCBTVkdFbGVt
ZW50KiBjb250ZXh0RWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIHRoaXM7IH0KKyAgICAgICAgdmly
dHVhbCBTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCgpIHsgcmV0dXJuIHRoaXM7IH0KIAogICAg
IHByaXZhdGU6CiAgICAgICAgIG11dGFibGUgUmVmUHRyPFNWR1N0cmluZ0xpc3Q+IG1fdmlld1Rh
cmdldDsKIAotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhT
VkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBib29sLCBFeHRlcm5hbFJlc291cmNlc1JlcXVp
cmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQotICAgICAgICBBTklNQVRFRF9QUk9QRVJU
WV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdGaXRUb1ZpZXdCb3gsIEZsb2F0UmVjdCwgVmlld0Jv
eCwgdmlld0JveCkKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElP
TlMoU1ZHRml0VG9WaWV3Qm94LCBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvKiwgUHJlc2VydmVBc3Bl
Y3RSYXRpbywgcHJlc2VydmVBc3BlY3RSYXRpbykKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlf
Rk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHVmlld0VsZW1lbnQsIFNWR0V4dGVybmFsUmVzb3VyY2Vz
UmVxdWlyZWQsIGJvb2wsIEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3Vy
Y2VzUmVxdWlyZWQpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJ
T05TKFNWR1ZpZXdFbGVtZW50LCBTVkdGaXRUb1ZpZXdCb3gsIEZsb2F0UmVjdCwgVmlld0JveCwg
dmlld0JveCkKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMo
U1ZHVmlld0VsZW1lbnQsIFNWR0ZpdFRvVmlld0JveCwgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbyos
IFByZXNlcnZlQXNwZWN0UmF0aW8sIHByZXNlcnZlQXNwZWN0UmF0aW8pCiAgICAgfTsKIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHUmFkaWFsR3JhZGllbnRF
bGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHUmFkaWFsR3JhZGllbnRFbGVt
ZW50LmgJKHJldmlzaW9uIDMxMjMyKQorKysgV2ViQ29yZS9zdmcvU1ZHUmFkaWFsR3JhZGllbnRF
bGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTQ2LDcgKzQ2LDcgQEAKICAgICAgICAgUmFkaWFs
R3JhZGllbnRBdHRyaWJ1dGVzIGNvbGxlY3RHcmFkaWVudFByb3BlcnRpZXMoKSBjb25zdDsKIAog
ICAgIHByb3RlY3RlZDoKLSAgICAgICAgdmlydHVhbCBjb25zdCBTVkdFbGVtZW50KiBjb250ZXh0
RWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIHRoaXM7IH0KKyAgICAgICAgdmlydHVhbCBTVkdFbGVt
ZW50KiBjb250ZXh0RWxlbWVudCgpIHsgcmV0dXJuIHRoaXM7IH0KIAogICAgIHByaXZhdGU6CiAg
ICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdSYWRpYWxHcmFkaWVudEVs
ZW1lbnQsIFNWR0xlbmd0aCwgU1ZHTGVuZ3RoLCBDeCwgY3gpCkluZGV4OiBXZWJDb3JlL3N2Zy9T
VkdNYXNrRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHTWFza0VsZW1l
bnQuY3BwCShyZXZpc2lvbiAzMTIzMikKKysrIFdlYkNvcmUvc3ZnL1NWR01hc2tFbGVtZW50LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNTAsMTAgKzUwLDEwIEBACiAgICAgLCBTVkdFeHRlcm5hbFJl
c291cmNlc1JlcXVpcmVkKCkKICAgICAsIG1fbWFza1VuaXRzKFNWR1VuaXRUeXBlczo6U1ZHX1VO
SVRfVFlQRV9PQkpFQ1RCT1VORElOR0JPWCkKICAgICAsIG1fbWFza0NvbnRlbnRVbml0cyhTVkdV
bml0VHlwZXM6OlNWR19VTklUX1RZUEVfVVNFUlNQQUNFT05VU0UpCi0gICAgLCBtX3godGhpcywg
TGVuZ3RoTW9kZVdpZHRoKQotICAgICwgbV95KHRoaXMsIExlbmd0aE1vZGVIZWlnaHQpCi0gICAg
LCBtX3dpZHRoKHRoaXMsIExlbmd0aE1vZGVXaWR0aCkKLSAgICAsIG1faGVpZ2h0KHRoaXMsIExl
bmd0aE1vZGVIZWlnaHQpCisgICAgLCBtX3goU1ZHTGVuZ3RoKHRoaXMsIExlbmd0aE1vZGVXaWR0
aCkpCisgICAgLCBtX3koU1ZHTGVuZ3RoKHRoaXMsIExlbmd0aE1vZGVIZWlnaHQpKQorICAgICwg
bV93aWR0aChTVkdMZW5ndGgodGhpcywgTGVuZ3RoTW9kZVdpZHRoKSkKKyAgICAsIG1faGVpZ2h0
KFNWR0xlbmd0aCh0aGlzLCBMZW5ndGhNb2RlSGVpZ2h0KSkKIHsKICAgICAvLyBTcGVjOiBJZiB0
aGUgYXR0cmlidXRlIGlzIG5vdCBzcGVjaWZpZWQsIHRoZSBlZmZlY3QgaXMgYXMgaWYgYSB2YWx1
ZSBvZiAiLTEwJSIgd2VyZSBzcGVjaWZpZWQuCiAgICAgc2V0WEJhc2VWYWx1ZShTVkdMZW5ndGgo
dGhpcywgTGVuZ3RoTW9kZVdpZHRoLCAiLTEwJSIpKTsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR1RS
ZWZFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHVFJlZkVsZW1lbnQuaAko
cmV2aXNpb24gMzEyMzIpCisrKyBXZWJDb3JlL3N2Zy9TVkdUUmVmRWxlbWVudC5oCSh3b3JraW5n
IGNvcHkpCkBAIC00MSwxMCArNDEsMTAgQEAKICAgICAgICAgYm9vbCBjaGlsZFNob3VsZENyZWF0
ZVJlbmRlcmVyKE5vZGUqKSBjb25zdDsKIAogICAgIHByb3RlY3RlZDoKLSAgICAgICAgdmlydHVh
bCBjb25zdCBTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIHRoaXM7
IH0KKyAgICAgICAgdmlydHVhbCBTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCgpIHsgcmV0dXJu
IHRoaXM7IH0KIAogICAgIHByaXZhdGU6Ci0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldB
UkRfREVDTEFSQVRJT05TKFNWR1VSSVJlZmVyZW5jZSwgU3RyaW5nLCBIcmVmLCBocmVmKQorICAg
ICAgICBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdUUmVmRWxlbWVu
dCwgU1ZHVVJJUmVmZXJlbmNlLCBTdHJpbmcsIEhyZWYsIGhyZWYpCiAKICAgICAgICAgdm9pZCB1
cGRhdGVSZWZlcmVuY2VkVGV4dCgpOwogICAgIH07CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdGb250
RWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0ZvbnRFbGVtZW50LmgJKHJl
dmlzaW9uIDMxMjMyKQorKysgV2ViQ29yZS9zdmcvU1ZHRm9udEVsZW1lbnQuaAkod29ya2luZyBj
b3B5KQpAQCAtMzYsNyArMzYsNyBAQAogICAgICAgICB2aXJ0dWFsIH5TVkdGb250RWxlbWVudCgp
OwogCiAgICAgICAgIHZpcnR1YWwgYm9vbCByZW5kZXJlcklzTmVlZGVkKFJlbmRlclN0eWxlKikg
eyByZXR1cm4gZmFsc2U7IH0gICAgCi0gICAgICAgIHZpcnR1YWwgY29uc3QgU1ZHRWxlbWVudCog
Y29udGV4dEVsZW1lbnQoKSBjb25zdCB7IHJldHVybiB0aGlzOyB9CisgICAgICAgIHZpcnR1YWwg
U1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSB7IHJldHVybiB0aGlzOyB9CiAKICAgICAgICAg
dm9pZCBhZGRHbHlwaFRvQ2FjaGUoU1ZHR2x5cGhFbGVtZW50Kik7CiAgICAgICAgIHZvaWQgcmVt
b3ZlR2x5cGhGcm9tQ2FjaGUoU1ZHR2x5cGhFbGVtZW50Kik7CkluZGV4OiBXZWJDb3JlL3N2Zy9T
VkdOdW1iZXJMaXN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHTnVtYmVyTGlzdC5o
CShyZXZpc2lvbiAzMTIzMikKKysrIFdlYkNvcmUvc3ZnL1NWR051bWJlckxpc3QuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMzcsNyArMzcsOSBAQAogICAgICAgICB2aXJ0dWFsIH5TVkdOdW1iZXJMaXN0
KCk7CiAKICAgICAgICAgdm9pZCBwYXJzZShjb25zdCBTdHJpbmcmIHZhbHVlKTsKLSAgICAgICAg
CisgCisgICAgICAgIFN0cmluZyB2YWx1ZUFzU3RyaW5nKCkgY29uc3Q7CisKICAgICBwcml2YXRl
OgogICAgICAgICBTVkdOdW1iZXJMaXN0KGNvbnN0IFF1YWxpZmllZE5hbWUmKTsKICAgICB9OwpJ
bmRleDogV2ViQ29yZS9zdmcvU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvc3ZnL1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50LmNwcAkocmV2aXNpb24gMzEy
MzIpCisrKyBXZWJDb3JlL3N2Zy9TVkdGb3JlaWduT2JqZWN0RWxlbWVudC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTM5LDEwICszOSwxMCBAQAogICAgICwgU1ZHVGVzdHMoKQogICAgICwgU1ZHTGFu
Z1NwYWNlKCkKICAgICAsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQoKQotICAgICwgbV94
KHRoaXMsIExlbmd0aE1vZGVXaWR0aCkKLSAgICAsIG1feSh0aGlzLCBMZW5ndGhNb2RlSGVpZ2h0
KQotICAgICwgbV93aWR0aCh0aGlzLCBMZW5ndGhNb2RlV2lkdGgpCi0gICAgLCBtX2hlaWdodCh0
aGlzLCBMZW5ndGhNb2RlSGVpZ2h0KQorICAgICwgbV94KFNWR0xlbmd0aCh0aGlzLCBMZW5ndGhN
b2RlV2lkdGgpKQorICAgICwgbV95KFNWR0xlbmd0aCh0aGlzLCBMZW5ndGhNb2RlSGVpZ2h0KSkK
KyAgICAsIG1fd2lkdGgoU1ZHTGVuZ3RoKHRoaXMsIExlbmd0aE1vZGVXaWR0aCkpCisgICAgLCBt
X2hlaWdodChTVkdMZW5ndGgodGhpcywgTGVuZ3RoTW9kZUhlaWdodCkpCiB7CiB9CiAKSW5kZXg6
IFdlYkNvcmUvc3ZnL1NWR0FuaW1hdGVFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9z
dmcvU1ZHQW5pbWF0ZUVsZW1lbnQuaAkocmV2aXNpb24gMzEyMzIpCisrKyBXZWJDb3JlL3N2Zy9T
VkdBbmltYXRlRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw3ICszNSw3IEBACiAgICAg
ICAgIHZpcnR1YWwgflNWR0FuaW1hdGVFbGVtZW50KCk7CiAgICAgCiAgICAgcHJvdGVjdGVkOgot
ICAgICAgICB2aXJ0dWFsIGNvbnN0IFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgY29uc3Qg
eyByZXR1cm4gdGhpczsgfQorICAgICAgICB2aXJ0dWFsIFNWR0VsZW1lbnQqIGNvbnRleHRFbGVt
ZW50KCkgeyByZXR1cm4gdGhpczsgfQogICAgICAgICAKICAgICAgICAgdmlydHVhbCBib29sIHVw
ZGF0ZUFuaW1hdGVkVmFsdWUoRUFuaW1hdGlvbk1vZGUsIGZsb2F0IHRpbWVQZXJjZW50YWdlLCB1
bnNpZ25lZCB2YWx1ZUluZGV4LCBmbG9hdCBwZXJjZW50YWdlUGFzdCkgeyByZXR1cm4gZmFsc2U7
IH0KICAgICAgICAgdmlydHVhbCBib29sIGNhbGN1bGF0ZUZyb21BbmRUb1ZhbHVlcyhFQW5pbWF0
aW9uTW9kZSwgdW5zaWduZWQgdmFsdWVJbmRleCkgeyByZXR1cm4gZmFsc2U7IH0KSW5kZXg6IFdl
YkNvcmUvc3ZnL1NWR0RlZnNFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZH
RGVmc0VsZW1lbnQuaAkocmV2aXNpb24gMzEyMzIpCisrKyBXZWJDb3JlL3N2Zy9TVkdEZWZzRWxl
bWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC00NCwxMCArNDQsMTAgQEAKICAgICAgICAgdmlydHVh
bCBSZW5kZXJPYmplY3QqIGNyZWF0ZVJlbmRlcmVyKFJlbmRlckFyZW5hKiwgUmVuZGVyU3R5bGUq
KTsKICAgICAKICAgICBwcm90ZWN0ZWQ6Ci0gICAgICAgIHZpcnR1YWwgY29uc3QgU1ZHRWxlbWVu
dCogY29udGV4dEVsZW1lbnQoKSBjb25zdCB7IHJldHVybiB0aGlzOyB9CisgICAgICAgIHZpcnR1
YWwgU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSB7IHJldHVybiB0aGlzOyB9CiAKICAgICBw
cml2YXRlOgotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhT
VkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBib29sLCBFeHRlcm5hbFJlc291cmNlc1JlcXVp
cmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQorICAgICAgICBBTklNQVRFRF9QUk9QRVJU
WV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdEZWZzRWxlbWVudCwgU1ZHRXh0ZXJuYWxSZXNvdXJj
ZXNSZXF1aXJlZCwgYm9vbCwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNv
dXJjZXNSZXF1aXJlZCkKICAgICB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBX
ZWJDb3JlL3N2Zy9TVkdGRVR1cmJ1bGVuY2VFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9zdmcvU1ZHRkVUdXJidWxlbmNlRWxlbWVudC5oCShyZXZpc2lvbiAzMTIzMikKKysrIFdlYkNv
cmUvc3ZnL1NWR0ZFVHVyYnVsZW5jZUVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNDUsNyAr
NDUsNyBAQAogICAgICAgICB2aXJ0dWFsIFNWR0ZFVHVyYnVsZW5jZSogZmlsdGVyRWZmZWN0KFNW
R1Jlc291cmNlRmlsdGVyKikgY29uc3Q7CiAKICAgICBwcm90ZWN0ZWQ6Ci0gICAgICAgIHZpcnR1
YWwgY29uc3QgU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSBjb25zdCB7IHJldHVybiB0aGlz
OyB9CisgICAgICAgIHZpcnR1YWwgU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSB7IHJldHVy
biB0aGlzOyB9CiAKICAgICBwcml2YXRlOgogICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNM
QVJBVElPTlMoU1ZHRkVUdXJidWxlbmNlRWxlbWVudCwgZmxvYXQsIGZsb2F0LCBCYXNlRnJlcXVl
bmN5WCwgYmFzZUZyZXF1ZW5jeVgpCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdQYXR0ZXJuRWxlbWVu
dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHUGF0dGVybkVsZW1lbnQuY3BwCShy
ZXZpc2lvbiAzMTIzMikKKysrIFdlYkNvcmUvc3ZnL1NWR1BhdHRlcm5FbGVtZW50LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNTcsMTAgKzU3LDEwIEBACiAgICAgLCBTVkdMYW5nU3BhY2UoKQogICAg
ICwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCgpCiAgICAgLCBTVkdGaXRUb1ZpZXdCb3go
KQotICAgICwgbV94KHRoaXMsIExlbmd0aE1vZGVXaWR0aCkKLSAgICAsIG1feSh0aGlzLCBMZW5n
dGhNb2RlSGVpZ2h0KQotICAgICwgbV93aWR0aCh0aGlzLCBMZW5ndGhNb2RlV2lkdGgpCi0gICAg
LCBtX2hlaWdodCh0aGlzLCBMZW5ndGhNb2RlSGVpZ2h0KQorICAgICwgbV94KFNWR0xlbmd0aCh0
aGlzLCBMZW5ndGhNb2RlV2lkdGgpKQorICAgICwgbV95KFNWR0xlbmd0aCh0aGlzLCBMZW5ndGhN
b2RlSGVpZ2h0KSkKKyAgICAsIG1fd2lkdGgoU1ZHTGVuZ3RoKHRoaXMsIExlbmd0aE1vZGVXaWR0
aCkpCisgICAgLCBtX2hlaWdodChTVkdMZW5ndGgodGhpcywgTGVuZ3RoTW9kZUhlaWdodCkpCiAg
ICAgLCBtX3BhdHRlcm5Vbml0cyhTVkdVbml0VHlwZXM6OlNWR19VTklUX1RZUEVfT0JKRUNUQk9V
TkRJTkdCT1gpCiAgICAgLCBtX3BhdHRlcm5Db250ZW50VW5pdHMoU1ZHVW5pdFR5cGVzOjpTVkdf
VU5JVF9UWVBFX1VTRVJTUEFDRU9OVVNFKQogICAgICwgbV9wYXR0ZXJuVHJhbnNmb3JtKFNWR1Ry
YW5zZm9ybUxpc3Q6OmNyZWF0ZShTVkdOYW1lczo6cGF0dGVyblRyYW5zZm9ybUF0dHIpKQpAQCAt
NzcsNyArNzcsNyBAQAogQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHUGF0dGVybkVs
ZW1lbnQsIFNWR0xlbmd0aCwgTGVuZ3RoLCBsZW5ndGgsIFksIHksIFNWR05hbWVzOjp5QXR0ciwg
bV95KQogQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHUGF0dGVybkVsZW1lbnQsIFNW
R0xlbmd0aCwgTGVuZ3RoLCBsZW5ndGgsIFdpZHRoLCB3aWR0aCwgU1ZHTmFtZXM6OndpZHRoQXR0
ciwgbV93aWR0aCkKIEFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR1BhdHRlcm5FbGVt
ZW50LCBTVkdMZW5ndGgsIExlbmd0aCwgbGVuZ3RoLCBIZWlnaHQsIGhlaWdodCwgU1ZHTmFtZXM6
OmhlaWdodEF0dHIsIG1faGVpZ2h0KQotQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZH
UGF0dGVybkVsZW1lbnQsIFNWR1RyYW5zZm9ybUxpc3QqLCBUcmFuc2Zvcm1MaXN0LCB0cmFuc2Zv
cm1MaXN0LCBQYXR0ZXJuVHJhbnNmb3JtLCBwYXR0ZXJuVHJhbnNmb3JtLCBTVkdOYW1lczo6cGF0
dGVyblRyYW5zZm9ybUF0dHIsIG1fcGF0dGVyblRyYW5zZm9ybS5nZXQoKSkKK0FOSU1BVEVEX1BS
T1BFUlRZX0RFRklOSVRJT05TX1JFRkNPVU5URUQoU1ZHUGF0dGVybkVsZW1lbnQsIFNWR1RyYW5z
Zm9ybUxpc3QsIFRyYW5zZm9ybUxpc3QsIHRyYW5zZm9ybUxpc3QsIFBhdHRlcm5UcmFuc2Zvcm0s
IHBhdHRlcm5UcmFuc2Zvcm0sIFNWR05hbWVzOjpwYXR0ZXJuVHJhbnNmb3JtQXR0ciwgbV9wYXR0
ZXJuVHJhbnNmb3JtKQogCiB2b2lkIFNWR1BhdHRlcm5FbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJp
YnV0ZShNYXBwZWRBdHRyaWJ1dGUqIGF0dHIpCiB7CkBAIC0yOTcsMTAgKzI5NywxMCBAQAogICAg
ICAgICAgICAgYXR0cmlidXRlcy5zZXRIZWlnaHQoY3VycmVudC0+aGVpZ2h0KCkpOwogCiAgICAg
ICAgIGlmICghYXR0cmlidXRlcy5oYXNCb3VuZGluZ0JveE1vZGUoKSAmJiBjdXJyZW50LT5oYXNB
dHRyaWJ1dGUoU1ZHTmFtZXM6OnBhdHRlcm5Vbml0c0F0dHIpKQotICAgICAgICAgICAgYXR0cmli
dXRlcy5zZXRCb3VuZGluZ0JveE1vZGUoY3VycmVudC0+Z2V0QXR0cmlidXRlKFNWR05hbWVzOjpw
YXR0ZXJuVW5pdHNBdHRyKSA9PSAib2JqZWN0Qm91bmRpbmdCb3giKTsKKyAgICAgICAgICAgIGF0
dHJpYnV0ZXMuc2V0Qm91bmRpbmdCb3hNb2RlKGN1cnJlbnQtPnBhdHRlcm5Vbml0cygpID09IFNW
R1VuaXRUeXBlczo6U1ZHX1VOSVRfVFlQRV9PQkpFQ1RCT1VORElOR0JPWCk7CiAKICAgICAgICAg
aWYgKCFhdHRyaWJ1dGVzLmhhc0JvdW5kaW5nQm94TW9kZUNvbnRlbnQoKSAmJiBjdXJyZW50LT5o
YXNBdHRyaWJ1dGUoU1ZHTmFtZXM6OnBhdHRlcm5Db250ZW50VW5pdHNBdHRyKSkKLSAgICAgICAg
ICAgIGF0dHJpYnV0ZXMuc2V0Qm91bmRpbmdCb3hNb2RlQ29udGVudChjdXJyZW50LT5nZXRBdHRy
aWJ1dGUoU1ZHTmFtZXM6OnBhdHRlcm5Db250ZW50VW5pdHNBdHRyKSA9PSAib2JqZWN0Qm91bmRp
bmdCb3giKTsKKyAgICAgICAgICAgIGF0dHJpYnV0ZXMuc2V0Qm91bmRpbmdCb3hNb2RlQ29udGVu
dChjdXJyZW50LT5wYXR0ZXJuQ29udGVudFVuaXRzKCkgPT0gU1ZHVW5pdFR5cGVzOjpTVkdfVU5J
VF9UWVBFX09CSkVDVEJPVU5ESU5HQk9YKTsKIAogICAgICAgICBpZiAoIWF0dHJpYnV0ZXMuaGFz
UGF0dGVyblRyYW5zZm9ybSgpICYmIGN1cnJlbnQtPmhhc0F0dHJpYnV0ZShTVkdOYW1lczo6cGF0
dGVyblRyYW5zZm9ybUF0dHIpKQogICAgICAgICAgICAgYXR0cmlidXRlcy5zZXRQYXR0ZXJuVHJh
bnNmb3JtKGN1cnJlbnQtPnBhdHRlcm5UcmFuc2Zvcm0oKS0+Y29uc29saWRhdGUoKS5tYXRyaXgo
KSk7CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdUZXh0Q29udGVudEVsZW1lbnQuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR1RleHRDb250ZW50RWxlbWVudC5jcHAJKHJldmlzaW9uIDMx
MjMyKQorKysgV2ViQ29yZS9zdmcvU1ZHVGV4dENvbnRlbnRFbGVtZW50LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNDgsNyArNDgsNyBAQAogICAgICwgU1ZHVGVzdHMoKQogICAgICwgU1ZHTGFuZ1Nw
YWNlKCkKICAgICAsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQoKQotICAgICwgbV90ZXh0
TGVuZ3RoKHRoaXMsIExlbmd0aE1vZGVPdGhlcikKKyAgICAsIG1fdGV4dExlbmd0aChTVkdMZW5n
dGgodGhpcywgTGVuZ3RoTW9kZU90aGVyKSkKICAgICAsIG1fbGVuZ3RoQWRqdXN0KExFTkdUSEFE
SlVTVF9TUEFDSU5HKQogewogfQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHQ29tcG9uZW50VHJhbnNm
ZXJGdW5jdGlvbkVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdDb21wb25l
bnRUcmFuc2ZlckZ1bmN0aW9uRWxlbWVudC5oCShyZXZpc2lvbiAzMTIzMikKKysrIFdlYkNvcmUv
c3ZnL1NWR0NvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb25FbGVtZW50LmgJKHdvcmtpbmcgY29weSkK
QEAgLTQ0LDYgKzQ0LDcgQEAKICAgICAgICAgU1ZHQ29tcG9uZW50VHJhbnNmZXJGdW5jdGlvbiB0
cmFuc2ZlckZ1bmN0aW9uKCkgY29uc3Q7CiAKICAgICBwcml2YXRlOgorICAgICAgICBBTklNQVRF
RF9QUk9QRVJUWV9TVEFSVF9ERUNMQVJBVElPTlMoU1ZHQ29tcG9uZW50VHJhbnNmZXJGdW5jdGlv
bkVsZW1lbnQpCiAgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdDb21w
b25lbnRUcmFuc2ZlckZ1bmN0aW9uRWxlbWVudCwgaW50LCBpbnQsIFR5cGUsIHR5cGUpCiAgICAg
ICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdDb21wb25lbnRUcmFuc2ZlckZ1
bmN0aW9uRWxlbWVudCwgU1ZHTnVtYmVyTGlzdCosIFJlZlB0cjxTVkdOdW1iZXJMaXN0PiwgVGFi
bGVWYWx1ZXMsIHRhYmxlVmFsdWVzKQogICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJB
VElPTlMoU1ZHQ29tcG9uZW50VHJhbnNmZXJGdW5jdGlvbkVsZW1lbnQsIGZsb2F0LCBmbG9hdCwg
U2xvcGUsIHNsb3BlKQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHQUVsZW1lbnQuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL3N2Zy9TVkdBRWxlbWVudC5oCShyZXZpc2lvbiAzMTIzMikKKysrIFdlYkNv
cmUvc3ZnL1NWR0FFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTYxLDExICs2MSwxMSBAQAog
ICAgICAgICB2aXJ0dWFsIGJvb2wgY2hpbGRTaG91bGRDcmVhdGVSZW5kZXJlcihOb2RlKikgY29u
c3Q7CiAKICAgICBwcm90ZWN0ZWQ6Ci0gICAgICAgIHZpcnR1YWwgY29uc3QgU1ZHRWxlbWVudCog
Y29udGV4dEVsZW1lbnQoKSBjb25zdCB7IHJldHVybiB0aGlzOyB9CisgICAgICAgIHZpcnR1YWwg
U1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSB7IHJldHVybiB0aGlzOyB9CiAKICAgICBwcml2
YXRlOgotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdV
UklSZWZlcmVuY2UsIFN0cmluZywgSHJlZiwgaHJlZikKLSAgICAgICAgQU5JTUFURURfUFJPUEVS
VFlfRk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgYm9v
bCwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkK
KyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHQUVsZW1l
bnQsIFNWR1VSSVJlZmVyZW5jZSwgU3RyaW5nLCBIcmVmLCBocmVmKQorICAgICAgICBBTklNQVRF
RF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdBRWxlbWVudCwgU1ZHRXh0ZXJuYWxS
ZXNvdXJjZXNSZXF1aXJlZCwgYm9vbCwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJu
YWxSZXNvdXJjZXNSZXF1aXJlZCkKIAogICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJB
VElPTlMoU1ZHQUVsZW1lbnQsIFN0cmluZywgU3RyaW5nLCBUYXJnZXQsIHRhcmdldCkKICAgICB9
OwpJbmRleDogV2ViQ29yZS9zdmcvU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL3N2Zy9TVkdGb3JlaWduT2JqZWN0RWxlbWVudC5oCShyZXZpc2lvbiAzMTIz
MikKKysrIFdlYkNvcmUvc3ZnL1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50LmgJKHdvcmtpbmcgY29w
eSkKQEAgLTQ5LDExICs0OSwxMSBAQAogICAgICAgICB2aXJ0dWFsIFJlbmRlck9iamVjdCogY3Jl
YXRlUmVuZGVyZXIoUmVuZGVyQXJlbmEqIGFyZW5hLCBSZW5kZXJTdHlsZSogc3R5bGUpOwogCiAg
ICAgcHJvdGVjdGVkOgotICAgICAgICB2aXJ0dWFsIGNvbnN0IFNWR0VsZW1lbnQqIGNvbnRleHRF
bGVtZW50KCkgY29uc3QgeyByZXR1cm4gdGhpczsgfQorICAgICAgICB2aXJ0dWFsIFNWR0VsZW1l
bnQqIGNvbnRleHRFbGVtZW50KCkgeyByZXR1cm4gdGhpczsgfQogCiAgICAgcHJpdmF0ZToKLSAg
ICAgICAgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHRXh0ZXJuYWxS
ZXNvdXJjZXNSZXF1aXJlZCwgYm9vbCwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJu
YWxSZXNvdXJjZXNSZXF1aXJlZCkgCi0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRf
REVDTEFSQVRJT05TKFNWR1VSSVJlZmVyZW5jZSwgU3RyaW5nLCBIcmVmLCBocmVmKQorICAgICAg
ICBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdGb3JlaWduT2JqZWN0
RWxlbWVudCwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgYm9vbCwgRXh0ZXJuYWxSZXNv
dXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkgCisgICAgICAgIEFOSU1B
VEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJT05TKFNWR0ZvcmVpZ25PYmplY3RFbGVtZW50
LCBTVkdVUklSZWZlcmVuY2UsIFN0cmluZywgSHJlZiwgaHJlZikKIAogICAgICAgICBBTklNQVRF
RF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQsIFNWR0xlbmd0
aCwgU1ZHTGVuZ3RoLCBYLCB4KQogICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElP
TlMoU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQsIFNWR0xlbmd0aCwgU1ZHTGVuZ3RoLCBZLCB5KQpJ
bmRleDogV2ViQ29yZS9zdmcvU1ZHTWFya2VyRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvc3ZnL1NWR01hcmtlckVsZW1lbnQuaAkocmV2aXNpb24gMzEyMzIpCisrKyBXZWJDb3JlL3N2
Zy9TVkdNYXJrZXJFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTI0LDE3ICsyNCwxNSBAQAog
I2RlZmluZSBTVkdNYXJrZXJFbGVtZW50X2gKIAogI2lmIEVOQUJMRShTVkcpCi0jaW5jbHVkZSAi
U1ZHUmVzb3VyY2VNYXJrZXIuaCIKKyNpbmNsdWRlICJTVkdBbmdsZS5oIgogI2luY2x1ZGUgIlNW
R0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQuaCIKICNpbmNsdWRlICJTVkdGaXRUb1ZpZXdCb3gu
aCIKICNpbmNsdWRlICJTVkdMYW5nU3BhY2UuaCIKKyNpbmNsdWRlICJTVkdSZXNvdXJjZU1hcmtl
ci5oIgogI2luY2x1ZGUgIlNWR1N0eWxlZEVsZW1lbnQuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi0gICAgY2xhc3MgRG9jdW1lbnQ7Ci0gICAgY2xhc3MgU1ZHQW5nbGU7Ci0gICAgCiAgICAg
Y2xhc3MgU1ZHTWFya2VyRWxlbWVudCA6IHB1YmxpYyBTVkdTdHlsZWRFbGVtZW50LAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgU1ZHTGFuZ1NwYWNlLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBwdWJsaWMgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwKQEAg
LTY2LDEyICs2NCwxMiBAQAogICAgICAgICB2aXJ0dWFsIFNWR1Jlc291cmNlKiBjYW52YXNSZXNv
dXJjZSgpOwogCiAgICAgcHJvdGVjdGVkOgotICAgICAgICB2aXJ0dWFsIGNvbnN0IFNWR0VsZW1l
bnQqIGNvbnRleHRFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gdGhpczsgfQorICAgICAgICB2aXJ0
dWFsIFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgeyByZXR1cm4gdGhpczsgfQogCiAgICAg
cHJpdmF0ZToKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMo
U1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgYm9vbCwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1
aXJlZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkgCi0gICAgICAgIEFOSU1BVEVEX1BST1BF
UlRZX0ZPUldBUkRfREVDTEFSQVRJT05TKFNWR0ZpdFRvVmlld0JveCwgRmxvYXRSZWN0LCBWaWV3
Qm94LCB2aWV3Qm94KQotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFU
SU9OUyhTVkdGaXRUb1ZpZXdCb3gsIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8qLCBQcmVzZXJ2ZUFz
cGVjdFJhdGlvLCBwcmVzZXJ2ZUFzcGVjdFJhdGlvKQorICAgICAgICBBTklNQVRFRF9QUk9QRVJU
WV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdNYXJrZXJFbGVtZW50LCBTVkdFeHRlcm5hbFJlc291
cmNlc1JlcXVpcmVkLCBib29sLCBFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJl
c291cmNlc1JlcXVpcmVkKSAKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNM
QVJBVElPTlMoU1ZHTWFya2VyRWxlbWVudCwgU1ZHRml0VG9WaWV3Qm94LCBGbG9hdFJlY3QsIFZp
ZXdCb3gsIHZpZXdCb3gpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFS
QVRJT05TKFNWR01hcmtlckVsZW1lbnQsIFNWR0ZpdFRvVmlld0JveCwgU1ZHUHJlc2VydmVBc3Bl
Y3RSYXRpbyosIFByZXNlcnZlQXNwZWN0UmF0aW8sIHByZXNlcnZlQXNwZWN0UmF0aW8pCiAKICAg
ICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR01hcmtlckVsZW1lbnQsIFNW
R0xlbmd0aCwgU1ZHTGVuZ3RoLCBSZWZYLCByZWZYKQogICAgICAgICBBTklNQVRFRF9QUk9QRVJU
WV9ERUNMQVJBVElPTlMoU1ZHTWFya2VyRWxlbWVudCwgU1ZHTGVuZ3RoLCBTVkdMZW5ndGgsIFJl
ZlksIHJlZlkpCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdQb2x5RWxlbWVudC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvc3ZnL1NWR1BvbHlFbGVtZW50LmgJKHJldmlzaW9uIDMxMjMyKQorKysgV2Vi
Q29yZS9zdmcvU1ZHUG9seUVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNTMsMTMgKzUzLDEz
IEBACiAgICAgICAgIHZpcnR1YWwgYm9vbCBzdXBwb3J0c01hcmtlcnMoKSBjb25zdCB7IHJldHVy
biB0cnVlOyB9CiAKICAgICBwcm90ZWN0ZWQ6Ci0gICAgICAgIHZpcnR1YWwgY29uc3QgU1ZHRWxl
bWVudCogY29udGV4dEVsZW1lbnQoKSBjb25zdCB7IHJldHVybiB0aGlzOyB9CisgICAgICAgIHZp
cnR1YWwgU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSB7IHJldHVybiB0aGlzOyB9CiAKICAg
ICBwcml2YXRlOgogICAgICAgICBib29sIG1faWdub3JlQXR0cmlidXRlQ2hhbmdlcyA6IDE7CiAg
ICAgICAgIG11dGFibGUgUmVmUHRyPFNWR1BvaW50TGlzdD4gbV9wb2ludHM7CiAKLSAgICAgICAg
QU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHRXh0ZXJuYWxSZXNvdXJj
ZXNSZXF1aXJlZCwgYm9vbCwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNv
dXJjZXNSZXF1aXJlZCkKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJB
VElPTlMoU1ZHUG9seUVsZW1lbnQsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGJvb2ws
IEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpCiAg
ICAgfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHRkVJ
bWFnZUVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0ZFSW1hZ2VFbGVt
ZW50LmNwcAkocmV2aXNpb24gMzEyMzIpCisrKyBXZWJDb3JlL3N2Zy9TVkdGRUltYWdlRWxlbWVu
dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU0LDcgKzU0LDcgQEAKICAgICAgICAgbV9jYWNoZWRJ
bWFnZS0+ZGVyZWYodGhpcyk7CiB9CiAKLUFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNW
R0ZFSW1hZ2VFbGVtZW50LCBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvKiwgUHJlc2VydmVBc3BlY3RS
YXRpbywgcHJlc2VydmVBc3BlY3RSYXRpbywgUHJlc2VydmVBc3BlY3RSYXRpbywgcHJlc2VydmVB
c3BlY3RSYXRpbywgU1ZHTmFtZXM6OnByZXNlcnZlQXNwZWN0UmF0aW9BdHRyLCBtX3ByZXNlcnZl
QXNwZWN0UmF0aW8uZ2V0KCkpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OU19SRUZDT1VO
VEVEKFNWR0ZFSW1hZ2VFbGVtZW50LCBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLCBQcmVzZXJ2ZUFz
cGVjdFJhdGlvLCBwcmVzZXJ2ZUFzcGVjdFJhdGlvLCBQcmVzZXJ2ZUFzcGVjdFJhdGlvLCBwcmVz
ZXJ2ZUFzcGVjdFJhdGlvLCBTVkdOYW1lczo6cHJlc2VydmVBc3BlY3RSYXRpb0F0dHIsIG1fcHJl
c2VydmVBc3BlY3RSYXRpbykKIAogdm9pZCBTVkdGRUltYWdlRWxlbWVudDo6cGFyc2VNYXBwZWRB
dHRyaWJ1dGUoTWFwcGVkQXR0cmlidXRlKiBhdHRyKQogewpJbmRleDogV2ViQ29yZS9zdmcvU1ZH
VXNlRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR1VzZUVsZW1lbnQuaAko
cmV2aXNpb24gMzEyMzIpCisrKyBXZWJDb3JlL3N2Zy9TVkdVc2VFbGVtZW50LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTY2LDExICs2NiwxMSBAQAogICAgICAgICB2aXJ0dWFsIFBhdGggdG9DbGlwUGF0
aCgpIGNvbnN0OwogCiAgICAgcHJvdGVjdGVkOgotICAgICAgICB2aXJ0dWFsIGNvbnN0IFNWR0Vs
ZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gdGhpczsgfQorICAgICAgICB2
aXJ0dWFsIFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgeyByZXR1cm4gdGhpczsgfQogCiAg
ICAgcHJpdmF0ZToKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElP
TlMoU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgYm9vbCwgRXh0ZXJuYWxSZXNvdXJjZXNS
ZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkKLSAgICAgICAgQU5JTUFURURfUFJP
UEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHVVJJUmVmZXJlbmNlLCBTdHJpbmcsIEhyZWYs
IGhyZWYpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJT05TKFNW
R1VzZUVsZW1lbnQsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGJvb2wsIEV4dGVybmFs
UmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpCisgICAgICAgIEFO
SU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJT05TKFNWR1VzZUVsZW1lbnQsIFNWR1VS
SVJlZmVyZW5jZSwgU3RyaW5nLCBIcmVmLCBocmVmKQogCiAgICAgICAgIEFOSU1BVEVEX1BST1BF
UlRZX0RFQ0xBUkFUSU9OUyhTVkdVc2VFbGVtZW50LCBTVkdMZW5ndGgsIFNWR0xlbmd0aCwgWCwg
eCkKICAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR1VzZUVsZW1lbnQs
IFNWR0xlbmd0aCwgU1ZHTGVuZ3RoLCBZLCB5KQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHUmFkaWFs
R3JhZGllbnRFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdSYWRpYWxH
cmFkaWVudEVsZW1lbnQuY3BwCShyZXZpc2lvbiAzMTIzMikKKysrIFdlYkNvcmUvc3ZnL1NWR1Jh
ZGlhbEdyYWRpZW50RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQxLDExICs0MSwxMSBA
QAogCiBTVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQ6OlNWR1JhZGlhbEdyYWRpZW50RWxlbWVudChj
b25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jKQogICAgIDogU1ZHR3Jh
ZGllbnRFbGVtZW50KHRhZ05hbWUsIGRvYykKLSAgICAsIG1fY3godGhpcywgTGVuZ3RoTW9kZVdp
ZHRoKQotICAgICwgbV9jeSh0aGlzLCBMZW5ndGhNb2RlSGVpZ2h0KQotICAgICwgbV9yKHRoaXMs
IExlbmd0aE1vZGVPdGhlcikKLSAgICAsIG1fZngodGhpcywgTGVuZ3RoTW9kZVdpZHRoKQotICAg
ICwgbV9meSh0aGlzLCBMZW5ndGhNb2RlSGVpZ2h0KQorICAgICwgbV9jeChTVkdMZW5ndGgodGhp
cywgTGVuZ3RoTW9kZVdpZHRoKSkKKyAgICAsIG1fY3koU1ZHTGVuZ3RoKHRoaXMsIExlbmd0aE1v
ZGVIZWlnaHQpKQorICAgICwgbV9yKFNWR0xlbmd0aCh0aGlzLCBMZW5ndGhNb2RlT3RoZXIpKQor
ICAgICwgbV9meChTVkdMZW5ndGgodGhpcywgTGVuZ3RoTW9kZVdpZHRoKSkKKyAgICAsIG1fZnko
U1ZHTGVuZ3RoKHRoaXMsIExlbmd0aE1vZGVIZWlnaHQpKQogewogICAgIC8vIFNwZWM6IElmIHRo
ZSBhdHRyaWJ1dGUgaXMgbm90IHNwZWNpZmllZCwgdGhlIGVmZmVjdCBpcyBhcyBpZiBhIHZhbHVl
IG9mICI1MCUiIHdlcmUgc3BlY2lmaWVkLgogICAgIHNldEN4QmFzZVZhbHVlKFNWR0xlbmd0aCh0
aGlzLCBMZW5ndGhNb2RlV2lkdGgsICI1MCUiKSk7CkBAIC04OSw3ICs4OSw3IEBACiAgICAgICAg
IHJldHVybjsKIAogICAgIGlmIChhdHRyTmFtZSA9PSBTVkdOYW1lczo6Y3hBdHRyIHx8IGF0dHJO
YW1lID09IFNWR05hbWVzOjpjeUF0dHIgfHwKLSAgICAgICAgYXR0ck5hbWUgPT0gU1ZHTmFtZXM6
OmZ5QXR0ciB8fCBhdHRyTmFtZSA9PSBTVkdOYW1lczo6ZnlBdHRyIHx8CisgICAgICAgIGF0dHJO
YW1lID09IFNWR05hbWVzOjpmeEF0dHIgfHwgYXR0ck5hbWUgPT0gU1ZHTmFtZXM6OmZ5QXR0ciB8
fAogICAgICAgICBhdHRyTmFtZSA9PSBTVkdOYW1lczo6ckF0dHIpCiAgICAgICAgIG1fcmVzb3Vy
Y2UtPmludmFsaWRhdGUoKTsKIH0KQEAgLTEyNiw3ICsxMjYsNyBAQAogICAgICAgICAgICAgYXR0
cmlidXRlcy5zZXRTcHJlYWRNZXRob2QoKFNWR0dyYWRpZW50U3ByZWFkTWV0aG9kKSBjdXJyZW50
LT5zcHJlYWRNZXRob2QoKSk7CiAKICAgICAgICAgaWYgKCFhdHRyaWJ1dGVzLmhhc0JvdW5kaW5n
Qm94TW9kZSgpICYmIGN1cnJlbnQtPmhhc0F0dHJpYnV0ZShTVkdOYW1lczo6Z3JhZGllbnRVbml0
c0F0dHIpKQotICAgICAgICAgICAgYXR0cmlidXRlcy5zZXRCb3VuZGluZ0JveE1vZGUoY3VycmVu
dC0+Z2V0QXR0cmlidXRlKFNWR05hbWVzOjpncmFkaWVudFVuaXRzQXR0cikgPT0gIm9iamVjdEJv
dW5kaW5nQm94Iik7CisgICAgICAgICAgICBhdHRyaWJ1dGVzLnNldEJvdW5kaW5nQm94TW9kZShj
dXJyZW50LT5ncmFkaWVudFVuaXRzKCkgPT0gU1ZHVW5pdFR5cGVzOjpTVkdfVU5JVF9UWVBFX09C
SkVDVEJPVU5ESU5HQk9YKTsKIAogICAgICAgICBpZiAoIWF0dHJpYnV0ZXMuaGFzR3JhZGllbnRU
cmFuc2Zvcm0oKSAmJiBjdXJyZW50LT5oYXNBdHRyaWJ1dGUoU1ZHTmFtZXM6OmdyYWRpZW50VHJh
bnNmb3JtQXR0cikpCiAgICAgICAgICAgICBhdHRyaWJ1dGVzLnNldEdyYWRpZW50VHJhbnNmb3Jt
KGN1cnJlbnQtPmdyYWRpZW50VHJhbnNmb3JtKCktPmNvbnNvbGlkYXRlKCkubWF0cml4KCkpOwpJ
bmRleDogV2ViQ29yZS9zdmcvU1ZHTGVuZ3RoLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcv
U1ZHTGVuZ3RoLmgJKHJldmlzaW9uIDMxMjMyKQorKysgV2ViQ29yZS9zdmcvU1ZHTGVuZ3RoLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTY5LDcgKzY5LDEyIEBACiAgICAgICAgIH07CiAKICAgICAgICAg
U1ZHTGVuZ3RoKGNvbnN0IFNWR1N0eWxlZEVsZW1lbnQqIGNvbnRleHQgPSAwLCBTVkdMZW5ndGhN
b2RlIG1vZGUgPSBMZW5ndGhNb2RlT3RoZXIsIGNvbnN0IFN0cmluZyYgdmFsdWVBc1N0cmluZyA9
IFN0cmluZygpKTsKKyAgICAgICAgU1ZHTGVuZ3RoKGNvbnN0IFNWR0xlbmd0aCYpOwogCisgICAg
ICAgIFNWR0xlbmd0aCYgb3BlcmF0b3I9KGNvbnN0IFNWR0xlbmd0aCYpOworICAgICAgICBib29s
IG9wZXJhdG9yPT0oY29uc3QgU1ZHTGVuZ3RoJikgY29uc3Q7CisgICAgICAgIGJvb2wgb3BlcmF0
b3IhPShjb25zdCBTVkdMZW5ndGgmKSBjb25zdDsKKwogICAgICAgICAvLyAnU1ZHTGVuZ3RoJyBm
dW5jdGlvbnMKICAgICAgICAgU1ZHTGVuZ3RoVHlwZSB1bml0VHlwZSgpIGNvbnN0OwogCkluZGV4
OiBXZWJDb3JlL3N2Zy9TVkdNYXJrZXJFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L3N2Zy9TVkdNYXJrZXJFbGVtZW50LmNwcAkocmV2aXNpb24gMzEyMzIpCisrKyBXZWJDb3JlL3N2
Zy9TVkdNYXJrZXJFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDEsMTAgKzQxLDEwIEBA
CiAgICAgLCBTVkdMYW5nU3BhY2UoKQogICAgICwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJl
ZCgpCiAgICAgLCBTVkdGaXRUb1ZpZXdCb3goKQotICAgICwgbV9yZWZYKHRoaXMsIExlbmd0aE1v
ZGVXaWR0aCkKLSAgICAsIG1fcmVmWSh0aGlzLCBMZW5ndGhNb2RlSGVpZ2h0KQotICAgICwgbV9t
YXJrZXJXaWR0aCh0aGlzLCBMZW5ndGhNb2RlV2lkdGgpCi0gICAgLCBtX21hcmtlckhlaWdodCh0
aGlzLCBMZW5ndGhNb2RlSGVpZ2h0KSAKKyAgICAsIG1fcmVmWChTVkdMZW5ndGgodGhpcywgTGVu
Z3RoTW9kZVdpZHRoKSkKKyAgICAsIG1fcmVmWShTVkdMZW5ndGgodGhpcywgTGVuZ3RoTW9kZUhl
aWdodCkpCisgICAgLCBtX21hcmtlcldpZHRoKFNWR0xlbmd0aCh0aGlzLCBMZW5ndGhNb2RlV2lk
dGgpKQorICAgICwgbV9tYXJrZXJIZWlnaHQoU1ZHTGVuZ3RoKHRoaXMsIExlbmd0aE1vZGVIZWln
aHQpKQogICAgICwgbV9tYXJrZXJVbml0cyhTVkdfTUFSS0VSVU5JVFNfU1RST0tFV0lEVEgpCiAg
ICAgLCBtX29yaWVudFR5cGUoMCkKICAgICAsIG1fb3JpZW50QW5nbGUobmV3IFNWR0FuZ2xlKCkp
CkBAIC02NCw3ICs2NCw3IEBACiBBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdNYXJr
ZXJFbGVtZW50LCBTVkdMZW5ndGgsIExlbmd0aCwgbGVuZ3RoLCBNYXJrZXJXaWR0aCwgbWFya2Vy
V2lkdGgsIFNWR05hbWVzOjptYXJrZXJXaWR0aEF0dHIsIG1fbWFya2VyV2lkdGgpCiBBTklNQVRF
RF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdNYXJrZXJFbGVtZW50LCBTVkdMZW5ndGgsIExlbmd0
aCwgbGVuZ3RoLCBNYXJrZXJIZWlnaHQsIG1hcmtlckhlaWdodCwgU1ZHTmFtZXM6Om1hcmtlckhl
aWdodEF0dHIsIG1fbWFya2VySGVpZ2h0KQogQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlNf
V0lUSF9DVVNUT01fSURFTlRJRklFUihTVkdNYXJrZXJFbGVtZW50LCBpbnQsIEVudW1lcmF0aW9u
LCBlbnVtZXJhdGlvbiwgT3JpZW50VHlwZSwgb3JpZW50VHlwZSwgU1ZHTmFtZXM6Om9yaWVudEF0
dHIsICJvcmllbnRUeXBlIiwgbV9vcmllbnRUeXBlKQotQU5JTUFURURfUFJPUEVSVFlfREVGSU5J
VElPTlNfV0lUSF9DVVNUT01fSURFTlRJRklFUihTVkdNYXJrZXJFbGVtZW50LCBTVkdBbmdsZSos
IEFuZ2xlLCBhbmdsZSwgT3JpZW50QW5nbGUsIG9yaWVudEFuZ2xlLCBTVkdOYW1lczo6b3JpZW50
QXR0ciwgIm9yaWVudEFuZ2xlIiwgbV9vcmllbnRBbmdsZS5nZXQoKSkKK0FOSU1BVEVEX1BST1BF
UlRZX0RFRklOSVRJT05TX1JFRkNPVU5URURfV0lUSF9DVVNUT01fSURFTlRJRklFUihTVkdNYXJr
ZXJFbGVtZW50LCBTVkdBbmdsZSwgQW5nbGUsIGFuZ2xlLCBPcmllbnRBbmdsZSwgb3JpZW50QW5n
bGUsIFNWR05hbWVzOjpvcmllbnRBdHRyLCAib3JpZW50QW5nbGUiLCBtX29yaWVudEFuZ2xlKQog
CiB2b2lkIFNWR01hcmtlckVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKE1hcHBlZEF0dHJp
YnV0ZSogYXR0cikKIHsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0FuaW1hdGVDb2xvckVsZW1lbnQu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdBbmltYXRlQ29sb3JFbGVtZW50LmgJKHJl
dmlzaW9uIDMxMjMyKQorKysgV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZUNvbG9yRWxlbWVudC5oCSh3
b3JraW5nIGNvcHkpCkBAIC00Miw3ICs0Miw3IEBACiAgICAgICAgIHZpcnR1YWwgdm9pZCBhcHBs
eUFuaW1hdGVkVmFsdWVUb0VsZW1lbnQoKTsKIAogICAgIHByb3RlY3RlZDoKLSAgICAgICAgdmly
dHVhbCBjb25zdCBTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIHRo
aXM7IH0KKyAgICAgICAgdmlydHVhbCBTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCgpIHsgcmV0
dXJuIHRoaXM7IH0KICAgICAgICAgCiAgICAgICAgIHZpcnR1YWwgYm9vbCB1cGRhdGVBbmltYXRl
ZFZhbHVlKEVBbmltYXRpb25Nb2RlLCBmbG9hdCB0aW1lUGVyY2VudGFnZSwgdW5zaWduZWQgdmFs
dWVJbmRleCwgZmxvYXQgcGVyY2VudGFnZVBhc3QpOwogICAgICAgICB2aXJ0dWFsIGJvb2wgY2Fs
Y3VsYXRlRnJvbUFuZFRvVmFsdWVzKEVBbmltYXRpb25Nb2RlLCB1bnNpZ25lZCB2YWx1ZUluZGV4
KTsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0ZFTWVyZ2VOb2RlRWxlbWVudC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvc3ZnL1NWR0ZFTWVyZ2VOb2RlRWxlbWVudC5oCShyZXZpc2lvbiAzMTIzMikK
KysrIFdlYkNvcmUvc3ZnL1NWR0ZFTWVyZ2VOb2RlRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBA
IC0zNyw5ICszNywxMCBAQAogICAgICAgICB2aXJ0dWFsIHZvaWQgcGFyc2VNYXBwZWRBdHRyaWJ1
dGUoTWFwcGVkQXR0cmlidXRlKik7CiAKICAgICBwcm90ZWN0ZWQ6Ci0gICAgICAgIHZpcnR1YWwg
Y29uc3QgU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSBjb25zdCB7IHJldHVybiB0aGlzOyB9
CisgICAgICAgIHZpcnR1YWwgU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSB7IHJldHVybiB0
aGlzOyB9CiAKICAgICBwcml2YXRlOgorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9TVEFSVF9E
RUNMQVJBVElPTlMoU1ZHRkVNZXJnZU5vZGVFbGVtZW50KQogICAgICAgICBBTklNQVRFRF9QUk9Q
RVJUWV9ERUNMQVJBVElPTlMoU1ZHRkVNZXJnZU5vZGVFbGVtZW50LCBTdHJpbmcsIFN0cmluZywg
SW4xLCBpbjEpCiAgICAgfTsKIApJbmRleDogV2ViQ29yZS9zdmcvU1ZHRkVDb21wb25lbnRUcmFu
c2ZlckVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdGRUNvbXBvbmVudFRy
YW5zZmVyRWxlbWVudC5oCShyZXZpc2lvbiAzMTIzMikKKysrIFdlYkNvcmUvc3ZnL1NWR0ZFQ29t
cG9uZW50VHJhbnNmZXJFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTQwLDcgKzQwLDcgQEAK
ICAgICAgICAgdmlydHVhbCBTVkdGRUNvbXBvbmVudFRyYW5zZmVyKiBmaWx0ZXJFZmZlY3QoU1ZH
UmVzb3VyY2VGaWx0ZXIqKSBjb25zdDsKIAogICAgIHByb3RlY3RlZDoKLSAgICAgICAgdmlydHVh
bCBjb25zdCBTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIHRoaXM7
IH0KKyAgICAgICAgdmlydHVhbCBTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCgpIHsgcmV0dXJu
IHRoaXM7IH0KIAogICAgIHByaXZhdGU6CiAgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xB
UkFUSU9OUyhTVkdGRUNvbXBvbmVudFRyYW5zZmVyRWxlbWVudCwgU3RyaW5nLCBTdHJpbmcsIElu
MSwgaW4xKQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHRmlsdGVyRWxlbWVudC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvc3ZnL1NWR0ZpbHRlckVsZW1lbnQuaAkocmV2aXNpb24gMzEyMzIpCisrKyBX
ZWJDb3JlL3N2Zy9TVkdGaWx0ZXJFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTUxLDExICs1
MSwxMSBAQAogICAgICAgICB2aXJ0dWFsIGJvb2wgcmVuZGVyZXJJc05lZWRlZChSZW5kZXJTdHls
ZSopIHsgcmV0dXJuIGZhbHNlOyB9CiAKICAgICBwcm90ZWN0ZWQ6Ci0gICAgICAgIHZpcnR1YWwg
Y29uc3QgU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSBjb25zdCB7IHJldHVybiB0aGlzOyB9
CisgICAgICAgIHZpcnR1YWwgU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSB7IHJldHVybiB0
aGlzOyB9CiAKICAgICBwcml2YXRlOgotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJE
X0RFQ0xBUkFUSU9OUyhTVkdVUklSZWZlcmVuY2UsIFN0cmluZywgSHJlZiwgaHJlZikKLSAgICAg
ICAgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHRXh0ZXJuYWxSZXNv
dXJjZXNSZXF1aXJlZCwgYm9vbCwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxS
ZXNvdXJjZXNSZXF1aXJlZCkKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNM
QVJBVElPTlMoU1ZHRmlsdGVyRWxlbWVudCwgU1ZHVVJJUmVmZXJlbmNlLCBTdHJpbmcsIEhyZWYs
IGhyZWYpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJT05TKFNW
R0ZpbHRlckVsZW1lbnQsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGJvb2wsIEV4dGVy
bmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpCiAgCiAgICAg
ICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdGaWx0ZXJFbGVtZW50LCBpbnQs
IGludCwgRmlsdGVyVW5pdHMsIGZpbHRlclVuaXRzKQogICAgICAgICBBTklNQVRFRF9QUk9QRVJU
WV9ERUNMQVJBVElPTlMoU1ZHRmlsdGVyRWxlbWVudCwgaW50LCBpbnQsIFByaW1pdGl2ZVVuaXRz
LCBwcmltaXRpdmVVbml0cykKQEAgLTczLDUgKzczLDMgQEAKIAogI2VuZGlmIC8vIEVOQUJMRShT
VkcpCiAjZW5kaWYKLQotLy8gdmltOnRzPTQ6bm9ldApJbmRleDogV2ViQ29yZS9zdmcvU1ZHRmls
dGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9z
dmcvU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzLmgJKHJldmlzaW9uIDMxMjMy
KQorKysgV2ViQ29yZS9zdmcvU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTQ3LDcgKzQ3LDcgQEAKICAgICAgICAgdm9pZCBzZXRTdGFuZGFy
ZEF0dHJpYnV0ZXMoU1ZHRmlsdGVyRWZmZWN0KikgY29uc3Q7CiAKICAgICBwcm90ZWN0ZWQ6Ci0g
ICAgICAgIHZpcnR1YWwgY29uc3QgU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSBjb25zdCB7
IHJldHVybiB0aGlzOyB9CisgICAgICAgIHZpcnR1YWwgU1ZHRWxlbWVudCogY29udGV4dEVsZW1l
bnQoKSB7IHJldHVybiB0aGlzOyB9CiAKICAgICBwcml2YXRlOgogICAgICAgICBBTklNQVRFRF9Q
Uk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVz
LCBTVkdMZW5ndGgsIFNWR0xlbmd0aCwgWCwgeCkKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0dyYWRp
ZW50RWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0dyYWRpZW50RWxlbWVu
dC5oCShyZXZpc2lvbiAzMTIzMikKKysrIFdlYkNvcmUvc3ZnL1NWR0dyYWRpZW50RWxlbWVudC5o
CSh3b3JraW5nIGNvcHkpCkBAIC0yNCwxNSArMjQsMTUgQEAKICNkZWZpbmUgU1ZHR3JhZGllbnRF
bGVtZW50X2gKIAogI2lmIEVOQUJMRShTVkcpCisjaW5jbHVkZSAiU1ZHRXh0ZXJuYWxSZXNvdXJj
ZXNSZXF1aXJlZC5oIgogI2luY2x1ZGUgIlNWR1BhaW50U2VydmVyR3JhZGllbnQuaCIKLSNpbmNs
dWRlICJTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLmgiCiAjaW5jbHVkZSAiU1ZHU3R5bGVk
RWxlbWVudC5oIgorI2luY2x1ZGUgIlNWR1RyYW5zZm9ybWxpc3QuaCIKICNpbmNsdWRlICJTVkdV
UklSZWZlcmVuY2UuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3MgU1ZHR3Jh
ZGllbnRFbGVtZW50OwotICAgIGNsYXNzIFNWR1RyYW5zZm9ybUxpc3Q7CiAKICAgICBjbGFzcyBT
VkdHcmFkaWVudEVsZW1lbnQgOiBwdWJsaWMgU1ZHU3R5bGVkRWxlbWVudCwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBwdWJsaWMgU1ZHVVJJUmVmZXJlbmNlLApAQCAtNjgsOCArNjgs
OCBAQAogICAgICAgICBtdXRhYmxlIFJlZlB0cjxTVkdQYWludFNlcnZlckdyYWRpZW50PiBtX3Jl
c291cmNlOwogIAogICAgIHByb3RlY3RlZDoKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfRk9S
V0FSRF9ERUNMQVJBVElPTlMoU1ZHVVJJUmVmZXJlbmNlLCBTdHJpbmcsIEhyZWYsIGhyZWYpCi0g
ICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJT05TKFNWR0V4dGVybmFs
UmVzb3VyY2VzUmVxdWlyZWQsIGJvb2wsIEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVy
bmFsUmVzb3VyY2VzUmVxdWlyZWQpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRf
REVDTEFSQVRJT05TKFNWR0dyYWRpZW50RWxlbWVudCwgU1ZHVVJJUmVmZXJlbmNlLCBTdHJpbmcs
IEhyZWYsIGhyZWYpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJ
T05TKFNWR0dyYWRpZW50RWxlbWVudCwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgYm9v
bCwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkK
ICAKICAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0dyYWRpZW50RWxl
bWVudCwgaW50LCBpbnQsIFNwcmVhZE1ldGhvZCwgc3ByZWFkTWV0aG9kKQogICAgICAgICBBTklN
QVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHR3JhZGllbnRFbGVtZW50LCBpbnQsIGludCwg
R3JhZGllbnRVbml0cywgZ3JhZGllbnRVbml0cykKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0VsbGlw
c2VFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHRWxsaXBzZUVsZW1lbnQu
aAkocmV2aXNpb24gMzEyMzIpCisrKyBXZWJDb3JlL3N2Zy9TVkdFbGxpcHNlRWxlbWVudC5oCSh3
b3JraW5nIGNvcHkpCkBAIC00NywxMSArNDcsMTEgQEAKICAgICAgICAgdmlydHVhbCBQYXRoIHRv
UGF0aERhdGEoKSBjb25zdDsKIAogICAgIHByb3RlY3RlZDoKLSAgICAgICAgdmlydHVhbCBjb25z
dCBTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIHRoaXM7IH0KKyAg
ICAgICAgdmlydHVhbCBTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCgpIHsgcmV0dXJuIHRoaXM7
IH0KICAgICAgICAgdmlydHVhbCBib29sIGhhc1JlbGF0aXZlVmFsdWVzKCkgY29uc3Q7CiAKICAg
ICBwcml2YXRlOgotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9O
UyhTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBib29sLCBFeHRlcm5hbFJlc291cmNlc1Jl
cXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQorICAgICAgICBBTklNQVRFRF9QUk9Q
RVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdFbGxpcHNlRWxlbWVudCwgU1ZHRXh0ZXJuYWxS
ZXNvdXJjZXNSZXF1aXJlZCwgYm9vbCwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJu
YWxSZXNvdXJjZXNSZXF1aXJlZCkKICAKICAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFS
QVRJT05TKFNWR0VsbGlwc2VFbGVtZW50LCBTVkdMZW5ndGgsIFNWR0xlbmd0aCwgQ3gsIGN4KQog
ICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRWxsaXBzZUVsZW1lbnQs
IFNWR0xlbmd0aCwgU1ZHTGVuZ3RoLCBDeSwgY3kpCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdVUklS
ZWZlcmVuY2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdVUklSZWZlcmVuY2UuaAko
cmV2aXNpb24gMzEyMzIpCisrKyBXZWJDb3JlL3N2Zy9TVkdVUklSZWZlcmVuY2UuaAkod29ya2lu
ZyBjb3B5KQpAQCAtNDEsNyArNDEsNyBAQAogICAgICAgICBzdGF0aWMgU3RyaW5nIGdldFRhcmdl
dChjb25zdCBTdHJpbmcmIHVybCk7CiAKICAgICBwcm90ZWN0ZWQ6Ci0gICAgICAgIHZpcnR1YWwg
Y29uc3QgU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSBjb25zdCA9IDA7CisgICAgICAgIHZp
cnR1YWwgU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSA9IDA7CiAKICAgICBwcml2YXRlOgog
ICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlNfV0lUSF9DT05URVhUKFNWR1VS
SVJlZmVyZW5jZSwgU3RyaW5nLCBTdHJpbmcsIEhyZWYsIGhyZWYpCkluZGV4OiBXZWJDb3JlL3N2
Zy9TVkdOdW1iZXJMaXN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdOdW1iZXJM
aXN0LmNwcAkocmV2aXNpb24gMzEyMzIpCisrKyBXZWJDb3JlL3N2Zy9TVkdOdW1iZXJMaXN0LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNTQsNiArNTQsMjIgQEAKICAgICB9CiB9CiAKK1N0cmluZyBT
VkdOdW1iZXJMaXN0Ojp2YWx1ZUFzU3RyaW5nKCkgY29uc3QKK3sKKyAgICBTdHJpbmcgcmVzdWx0
OworCisgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CisgICAgZm9yICh1bnNpZ25lZCBpbnQgaSA9
IDA7IGkgPCBudW1iZXJPZkl0ZW1zKCk7ICsraSkgeworICAgICAgICBpZiAoaSA+IDApCisgICAg
ICAgICAgICByZXN1bHQgKz0gIiwgIjsKKworICAgICAgICByZXN1bHQgKz0gU3RyaW5nOjpudW1i
ZXIoZ2V0SXRlbShpLCBlYykpOworICAgICAgICBBU1NFUlQoZWMgPT0gMCk7CisgICAgfQorCisg
ICAgcmV0dXJuIHJlc3VsdDsKIH0KIAorfQorCiAjZW5kaWYgLy8gRU5BQkxFKFNWRykKSW5kZXg6
IFdlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NW
R0VsZW1lbnQuY3BwCShyZXZpc2lvbiAzMTIzMikKKysrIFdlYkNvcmUvc3ZnL1NWR0VsZW1lbnQu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAgICBDb3B5cmlnaHQgKEMp
IDIwMDQsIDIwMDUsIDIwMDYsIDIwMDcgTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtk
ZS5vcmc+CisgICAgQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2LCAyMDA3LCAyMDA4IE5p
a29sYXMgWmltbWVybWFubiA8emltbWVybWFubkBrZGUub3JnPgogICAgICAgICAgICAgICAgICAg
MjAwNCwgMjAwNSwgMjAwNiBSb2IgQnVpcyA8YnVpc0BrZGUub3JnPgogCiAgICAgVGhpcyBmaWxl
IGlzIHBhcnQgb2YgdGhlIEtERSBwcm9qZWN0CkBAIC0yNTQsNiArMjU0LDE4IEBACiAgICAgc3Zn
QXR0cmlidXRlQ2hhbmdlZChhdHRyLT5uYW1lKCkpOwogfQogCitjb25zdCBBdG9taWNTdHJpbmcm
IFNWR0VsZW1lbnQ6OmdldEF0dHJpYnV0ZShjb25zdCBTdHJpbmcmIG5hbWUpIGNvbnN0Cit7Cisg
ICAgaW52b2tlU1ZHUHJvcGVydHlTeW5jaHJvbml6ZXIobmFtZS5pbXBsKCkpOworICAgIHJldHVy
biBTdHlsZWRFbGVtZW50OjpnZXRBdHRyaWJ1dGUobmFtZSk7CiB9CiAKK2NvbnN0IEF0b21pY1N0
cmluZyYgU1ZHRWxlbWVudDo6Z2V0QXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUp
IGNvbnN0Cit7CisgICAgaW52b2tlU1ZHUHJvcGVydHlTeW5jaHJvbml6ZXIobmFtZS5sb2NhbE5h
bWUoKS5pbXBsKCkpOworICAgIHJldHVybiBTdHlsZWRFbGVtZW50OjpnZXRBdHRyaWJ1dGUobmFt
ZSk7Cit9CisKK30KKwogI2VuZGlmIC8vIEVOQUJMRShTVkcpCkluZGV4OiBXZWJDb3JlL3N2Zy9T
VkdGRUxpZ2h0RWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0ZFTGlnaHRF
bGVtZW50LmgJKHJldmlzaW9uIDMxMjMyKQorKysgV2ViQ29yZS9zdmcvU1ZHRkVMaWdodEVsZW1l
bnQuaAkod29ya2luZyBjb3B5KQpAQCAtNDAsNiArNDAsNyBAQAogICAgICAgICB2aXJ0dWFsIHZv
aWQgcGFyc2VNYXBwZWRBdHRyaWJ1dGUoTWFwcGVkQXR0cmlidXRlKik7CiAKICAgICBwcml2YXRl
OgorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9TVEFSVF9ERUNMQVJBVElPTlMoU1ZHRkVMaWdo
dEVsZW1lbnQpCiAgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdGRUxp
Z2h0RWxlbWVudCwgZmxvYXQsIGZsb2F0LCBBemltdXRoLCBhemltdXRoKQogICAgICAgICBBTklN
QVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRkVMaWdodEVsZW1lbnQsIGZsb2F0LCBmbG9h
dCwgRWxldmF0aW9uLCBlbGV2YXRpb24pCiAgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xB
UkFUSU9OUyhTVkdGRUxpZ2h0RWxlbWVudCwgZmxvYXQsIGZsb2F0LCBYLCB4KQpJbmRleDogV2Vi
Q29yZS9zdmcvU1ZHVHJhbnNmb3JtTGlzdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcv
U1ZHVHJhbnNmb3JtTGlzdC5jcHAJKHJldmlzaW9uIDMxMjMyKQorKysgV2ViQ29yZS9zdmcvU1ZH
VHJhbnNmb3JtTGlzdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTgyLDQgKzgyLDE2IEBACiAgICAg
cmV0dXJuIHRvdGFsVHJhbnNmb3JtLmFkZFRvU1ZHVHJhbnNmb3JtKFNWR1RyYW5zZm9ybSgpKTsK
IH0KIAorU3RyaW5nIFNWR1RyYW5zZm9ybUxpc3Q6OnZhbHVlQXNTdHJpbmcoKSBjb25zdAorewor
ICAgIC8vIFRPRE86IFdlIG1heSB3YW50IHRvIGJ1aWxkIGEgcmVhbCB0cmFuc2Zvcm0gc3RyaW5n
LCBpbnN0ZWFkIG9mIGNvbmNhdHRpbmcgdG8gYSBtYXRyaXgoLi4uKS4KKyAgICBTVkdUcmFuc2Zv
cm0gdHJhbnNmb3JtID0gY29uY2F0ZW5hdGUoKTsKKyAgICBpZiAodHJhbnNmb3JtLnR5cGUoKSA9
PSBTVkdUcmFuc2Zvcm06OlNWR19UUkFOU0ZPUk1fTUFUUklYKSB7CisgICAgICAgIEFmZmluZVRy
YW5zZm9ybSBtYXRyaXggPSB0cmFuc2Zvcm0ubWF0cml4KCk7CisgICAgICAgIHJldHVybiBTdHJp
bmc6OmZvcm1hdCgibWF0cml4KCVmICVmICVmICVmICVmICVmKSIsIG1hdHJpeC5hKCksIG1hdHJp
eC5iKCksIG1hdHJpeC5jKCksIG1hdHJpeC5kKCksIG1hdHJpeC5lKCksIG1hdHJpeC5mKCkpOwor
ICAgIH0KKworICAgIHJldHVybiBTdHJpbmcoKTsKK30KKwogI2VuZGlmIC8vIEVOQUJMRShTVkcp
CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdSZWN0RWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvc3ZnL1NWR1JlY3RFbGVtZW50LmgJKHJldmlzaW9uIDMxMjMyKQorKysgV2ViQ29yZS9zdmcv
U1ZHUmVjdEVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNDcsMTEgKzQ3LDExIEBACiAgICAg
ICAgIHZpcnR1YWwgUGF0aCB0b1BhdGhEYXRhKCkgY29uc3Q7CiAKICAgICBwcm90ZWN0ZWQ6Ci0g
ICAgICAgIHZpcnR1YWwgY29uc3QgU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSBjb25zdCB7
IHJldHVybiB0aGlzOyB9CisgICAgICAgIHZpcnR1YWwgU1ZHRWxlbWVudCogY29udGV4dEVsZW1l
bnQoKSB7IHJldHVybiB0aGlzOyB9CiAgICAgICAgIHZpcnR1YWwgYm9vbCBoYXNSZWxhdGl2ZVZh
bHVlcygpIGNvbnN0OwogCiAgICAgcHJpdmF0ZToKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlf
Rk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgYm9vbCwg
RXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkKKyAg
ICAgICAgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHUmVjdEVsZW1l
bnQsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGJvb2wsIEV4dGVybmFsUmVzb3VyY2Vz
UmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpCiAKICAgICAgICAgQU5JTUFURURf
UFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR1JlY3RFbGVtZW50LCBTVkdMZW5ndGgsIFNWR0xlbmd0
aCwgWCwgeCkKICAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR1JlY3RF
bGVtZW50LCBTVkdMZW5ndGgsIFNWR0xlbmd0aCwgWSwgeSkKSW5kZXg6IFdlYkNvcmUvc3ZnL1NW
R0ZFVGlsZUVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdGRVRpbGVFbGVt
ZW50LmgJKHJldmlzaW9uIDMxMjMyKQorKysgV2ViQ29yZS9zdmcvU1ZHRkVUaWxlRWxlbWVudC5o
CSh3b3JraW5nIGNvcHkpCkBAIC00MCw3ICs0MCw3IEBACiAgICAgICAgIHZpcnR1YWwgU1ZHRkVU
aWxlKiBmaWx0ZXJFZmZlY3QoU1ZHUmVzb3VyY2VGaWx0ZXIqKSBjb25zdDsKIAogICAgIHByb3Rl
Y3RlZDoKLSAgICAgICAgdmlydHVhbCBjb25zdCBTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCgp
IGNvbnN0IHsgcmV0dXJuIHRoaXM7IH0KKyAgICAgICAgdmlydHVhbCBTVkdFbGVtZW50KiBjb250
ZXh0RWxlbWVudCgpIHsgcmV0dXJuIHRoaXM7IH0KIAogICAgIHByaXZhdGU6CiAgICAgICAgIEFO
SU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdGRVRpbGVFbGVtZW50LCBTdHJpbmcsIFN0
cmluZywgSW4xLCBpbjEpCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdUZXh0Q29udGVudEVsZW1lbnQu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdUZXh0Q29udGVudEVsZW1lbnQuaAkocmV2
aXNpb24gMzEyMzIpCisrKyBXZWJDb3JlL3N2Zy9TVkdUZXh0Q29udGVudEVsZW1lbnQuaAkod29y
a2luZyBjb3B5KQpAQCAtNjIsNyArNjIsNyBAQAogICAgICAgICB2aXJ0dWFsIHZvaWQgcGFyc2VN
YXBwZWRBdHRyaWJ1dGUoTWFwcGVkQXR0cmlidXRlKik7CiAKICAgICBwcml2YXRlOgotICAgICAg
ICBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdFeHRlcm5hbFJlc291
cmNlc1JlcXVpcmVkLCBib29sLCBFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJl
c291cmNlc1JlcXVpcmVkKQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xB
UkFUSU9OUyhTVkdUZXh0Q29udGVudEVsZW1lbnQsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWly
ZWQsIGJvb2wsIEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVx
dWlyZWQpCiAKICAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR1RleHRD
b250ZW50RWxlbWVudCwgU1ZHTGVuZ3RoLCBTVkdMZW5ndGgsIFRleHRMZW5ndGgsIHRleHRMZW5n
dGgpCiAgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdUZXh0Q29udGVu
dEVsZW1lbnQsIGludCwgaW50LCBMZW5ndGhBZGp1c3QsIGxlbmd0aEFkanVzdCkKSW5kZXg6IFdl
YkNvcmUvc3ZnL1NWR0ltYWdlRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NW
R0ltYWdlRWxlbWVudC5oCShyZXZpc2lvbiAzMTIzMikKKysrIFdlYkNvcmUvc3ZnL1NWR0ltYWdl
RWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNSwxNSArMjUsMTUgQEAKIAogI2lmIEVOQUJM
RShTVkcpCiAjaW5jbHVkZSAiU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5oIgorI2luY2x1
ZGUgIlNWR0ltYWdlTG9hZGVyLmgiCiAjaW5jbHVkZSAiU1ZHTGFuZ1NwYWNlLmgiCi0jaW5jbHVk
ZSAiU1ZHSW1hZ2VMb2FkZXIuaCIKKyNpbmNsdWRlICJTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLmgi
CiAjaW5jbHVkZSAiU1ZHU3R5bGVkVHJhbnNmb3JtYWJsZUVsZW1lbnQuaCIKICNpbmNsdWRlICJT
VkdUZXN0cy5oIgogI2luY2x1ZGUgIlNWR1VSSVJlZmVyZW5jZS5oIgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLSAgICBjbGFzcyBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvOwogICAgIGNsYXNzIFNW
R0xlbmd0aDsKIAogICAgIGNsYXNzIFNWR0ltYWdlRWxlbWVudCA6IHB1YmxpYyBTVkdTdHlsZWRU
cmFuc2Zvcm1hYmxlRWxlbWVudCwKQEAgLTYwLDExICs2MCwxMSBAQAogICAgICAgICB2aXJ0dWFs
IGJvb2wgaGFzUmVsYXRpdmVWYWx1ZXMoKSBjb25zdDsKIAogICAgIHByb3RlY3RlZDoKLSAgICAg
ICAgdmlydHVhbCBjb25zdCBTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCgpIGNvbnN0IHsgcmV0
dXJuIHRoaXM7IH0KKyAgICAgICAgdmlydHVhbCBTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCgp
IHsgcmV0dXJuIHRoaXM7IH0KIAogICAgIHByaXZhdGU6Ci0gICAgICAgIEFOSU1BVEVEX1BST1BF
UlRZX0ZPUldBUkRfREVDTEFSQVRJT05TKFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGJv
b2wsIEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQp
IAotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdVUklS
ZWZlcmVuY2UsIFN0cmluZywgSHJlZiwgaHJlZikKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlf
Rk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHSW1hZ2VFbGVtZW50LCBTVkdFeHRlcm5hbFJlc291cmNl
c1JlcXVpcmVkLCBib29sLCBFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291
cmNlc1JlcXVpcmVkKSAKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJB
VElPTlMoU1ZHSW1hZ2VFbGVtZW50LCBTVkdVUklSZWZlcmVuY2UsIFN0cmluZywgSHJlZiwgaHJl
ZikKIAogICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHSW1hZ2VFbGVt
ZW50LCBTVkdMZW5ndGgsIFNWR0xlbmd0aCwgWCwgeCkKICAgICAgICAgQU5JTUFURURfUFJPUEVS
VFlfREVDTEFSQVRJT05TKFNWR0ltYWdlRWxlbWVudCwgU1ZHTGVuZ3RoLCBTVkdMZW5ndGgsIFks
IHkpCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0xpbmVhckdyYWRpZW50RWxlbWVudC5jcHAJKHJldmlz
aW9uIDMxMjMyKQorKysgV2ViQ29yZS9zdmcvU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMzgsMTAgKzM4LDEwIEBACiAKIFNWR0xpbmVhckdyYWRpZW50RWxl
bWVudDo6U1ZHTGluZWFyR3JhZGllbnRFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05h
bWUsIERvY3VtZW50KiBkb2MpCiAgICAgOiBTVkdHcmFkaWVudEVsZW1lbnQodGFnTmFtZSwgZG9j
KQotICAgICwgbV94MSh0aGlzLCBMZW5ndGhNb2RlV2lkdGgpCi0gICAgLCBtX3kxKHRoaXMsIExl
bmd0aE1vZGVIZWlnaHQpCi0gICAgLCBtX3gyKHRoaXMsIExlbmd0aE1vZGVXaWR0aCkKLSAgICAs
IG1feTIodGhpcywgTGVuZ3RoTW9kZUhlaWdodCkKKyAgICAsIG1feDEoU1ZHTGVuZ3RoKHRoaXMs
IExlbmd0aE1vZGVXaWR0aCkpCisgICAgLCBtX3kxKFNWR0xlbmd0aCh0aGlzLCBMZW5ndGhNb2Rl
SGVpZ2h0KSkKKyAgICAsIG1feDIoU1ZHTGVuZ3RoKHRoaXMsIExlbmd0aE1vZGVXaWR0aCkpCisg
ICAgLCBtX3kyKFNWR0xlbmd0aCh0aGlzLCBMZW5ndGhNb2RlSGVpZ2h0KSkKIHsKICAgICAvLyBT
cGVjOiBJZiB0aGUgYXR0cmlidXRlIGlzIG5vdCBzcGVjaWZpZWQsIHRoZSBlZmZlY3QgaXMgYXMg
aWYgYSB2YWx1ZSBvZiAiMTAwJSIgd2VyZSBzcGVjaWZpZWQuCiAgICAgc2V0WDJCYXNlVmFsdWUo
U1ZHTGVuZ3RoKHRoaXMsIExlbmd0aE1vZGVXaWR0aCwgIjEwMCUiKSk7CkBAIC0xMTMsNyArMTEz
LDcgQEAKICAgICAgICAgICAgIGF0dHJpYnV0ZXMuc2V0U3ByZWFkTWV0aG9kKChTVkdHcmFkaWVu
dFNwcmVhZE1ldGhvZCkgY3VycmVudC0+c3ByZWFkTWV0aG9kKCkpOwogCiAgICAgICAgIGlmICgh
YXR0cmlidXRlcy5oYXNCb3VuZGluZ0JveE1vZGUoKSAmJiBjdXJyZW50LT5oYXNBdHRyaWJ1dGUo
U1ZHTmFtZXM6OmdyYWRpZW50VW5pdHNBdHRyKSkKLSAgICAgICAgICAgIGF0dHJpYnV0ZXMuc2V0
Qm91bmRpbmdCb3hNb2RlKGN1cnJlbnQtPmdldEF0dHJpYnV0ZShTVkdOYW1lczo6Z3JhZGllbnRV
bml0c0F0dHIpID09ICJvYmplY3RCb3VuZGluZ0JveCIpOworICAgICAgICAgICAgYXR0cmlidXRl
cy5zZXRCb3VuZGluZ0JveE1vZGUoY3VycmVudC0+Z3JhZGllbnRVbml0cygpID09IFNWR1VuaXRU
eXBlczo6U1ZHX1VOSVRfVFlQRV9PQkpFQ1RCT1VORElOR0JPWCk7CiAKICAgICAgICAgaWYgKCFh
dHRyaWJ1dGVzLmhhc0dyYWRpZW50VHJhbnNmb3JtKCkgJiYgY3VycmVudC0+aGFzQXR0cmlidXRl
KFNWR05hbWVzOjpncmFkaWVudFRyYW5zZm9ybUF0dHIpKQogICAgICAgICAgICAgYXR0cmlidXRl
cy5zZXRHcmFkaWVudFRyYW5zZm9ybShjdXJyZW50LT5ncmFkaWVudFRyYW5zZm9ybSgpLT5jb25z
b2xpZGF0ZSgpLm1hdHJpeCgpKTsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR1N0eWxlZFRyYW5zZm9y
bWFibGVFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHU3R5bGVkVHJhbnNm
b3JtYWJsZUVsZW1lbnQuaAkocmV2aXNpb24gMzEyMzIpCisrKyBXZWJDb3JlL3N2Zy9TVkdTdHls
ZWRUcmFuc2Zvcm1hYmxlRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNiwxMSArMjYsMTEg
QEAKICNpZiBFTkFCTEUoU1ZHKQogI2luY2x1ZGUgIlNWR1N0eWxlZExvY2F0YWJsZUVsZW1lbnQu
aCIKICNpbmNsdWRlICJTVkdUcmFuc2Zvcm1hYmxlLmgiCisjaW5jbHVkZSAiU1ZHVHJhbnNmb3Jt
TGlzdC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFzcyBBZmZpbmVUcmFuc2Zv
cm07Ci0gICAgY2xhc3MgU1ZHVHJhbnNmb3JtTGlzdDsKIAogICAgIGNsYXNzIFNWR1N0eWxlZFRy
YW5zZm9ybWFibGVFbGVtZW50IDogcHVibGljIFNWR1N0eWxlZExvY2F0YWJsZUVsZW1lbnQsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgU1ZHVHJhbnNm
b3JtYWJsZSB7CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdGRUdhdXNzaWFuQmx1ckVsZW1lbnQuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdGRUdhdXNzaWFuQmx1ckVsZW1lbnQuaAkocmV2
aXNpb24gMzEyMzIpCisrKyBXZWJDb3JlL3N2Zy9TVkdGRUdhdXNzaWFuQmx1ckVsZW1lbnQuaAko
d29ya2luZyBjb3B5KQpAQCAtNDIsNyArNDIsNyBAQAogICAgICAgICB2aXJ0dWFsIFNWR0ZFR2F1
c3NpYW5CbHVyKiBmaWx0ZXJFZmZlY3QoU1ZHUmVzb3VyY2VGaWx0ZXIqKSBjb25zdDsKIAogICAg
IHByb3RlY3RlZDoKLSAgICAgICAgdmlydHVhbCBjb25zdCBTVkdFbGVtZW50KiBjb250ZXh0RWxl
bWVudCgpIGNvbnN0IHsgcmV0dXJuIHRoaXM7IH0KKyAgICAgICAgdmlydHVhbCBTVkdFbGVtZW50
KiBjb250ZXh0RWxlbWVudCgpIHsgcmV0dXJuIHRoaXM7IH0KIAogICAgIHByaXZhdGU6CiAgICAg
ICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdGRUdhdXNzaWFuQmx1ckVsZW1l
bnQsIFN0cmluZywgU3RyaW5nLCBJbjEsIGluMSkKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0FuaW1h
dGlvbkVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdBbmltYXRpb25FbGVt
ZW50LmgJKHJldmlzaW9uIDMxMjMyKQorKysgV2ViQ29yZS9zdmcvU1ZHQW5pbWF0aW9uRWxlbWVu
dC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNDIsNyArMTQyLDggQEAKICAgICAgICAgc3RhdGljIHZv
aWQgcGFyc2VLZXlOdW1iZXJzKFZlY3RvcjxmbG9hdD4mIGtleU51bWJlcnMsIGNvbnN0IFN0cmlu
ZyYgdmFsdWUpOwogICAgICAgICBzdGF0aWMgdm9pZCBwYXJzZUJlZ2luT3JFbmRWYWx1ZShkb3Vi
bGUmIG51bWJlciwgY29uc3QgU3RyaW5nJiB2YWx1ZSk7CiAKLSAgICAgICAgQU5JTUFURURfUFJP
UEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwg
Ym9vbCwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJl
ZCkKKwkJQU5JTUFURURfUFJPUEVSVFlfU1RBUlRfREVDTEFSQVRJT05TKFNWR0FuaW1hdGlvbkVs
ZW1lbnQpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJT05TKFNW
R0FuaW1hdGlvbkVsZW1lbnQsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGJvb2wsIEV4
dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpCiAKICAg
ICAgICAgYm9vbCBtX2Nvbm5lY3RlZFRvVGltZXIgOiAxOwogICAgICAgICAKSW5kZXg6IFdlYkNv
cmUvc3ZnL1NWR1RleHRFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdU
ZXh0RWxlbWVudC5jcHAJKHJldmlzaW9uIDMxMjMyKQorKysgV2ViQ29yZS9zdmcvU1ZHVGV4dEVs
ZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Niw3ICs0Niw3IEBACiB7CiB9CiAKLUFOSU1B
VEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR1RleHRFbGVtZW50LCBTVkdUcmFuc2Zvcm1MaXN0
KiwgVHJhbnNmb3JtTGlzdCwgdHJhbnNmb3JtTGlzdCwgVHJhbnNmb3JtLCB0cmFuc2Zvcm0sIFNW
R05hbWVzOjp0cmFuc2Zvcm1BdHRyLCBtX3RyYW5zZm9ybS5nZXQoKSkKK0FOSU1BVEVEX1BST1BF
UlRZX0RFRklOSVRJT05TX1JFRkNPVU5URUQoU1ZHVGV4dEVsZW1lbnQsIFNWR1RyYW5zZm9ybUxp
c3QsIFRyYW5zZm9ybUxpc3QsIHRyYW5zZm9ybUxpc3QsIFRyYW5zZm9ybSwgdHJhbnNmb3JtLCBT
VkdOYW1lczo6dHJhbnNmb3JtQXR0ciwgbV90cmFuc2Zvcm0pCiAKIHZvaWQgU1ZHVGV4dEVsZW1l
bnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKE1hcHBlZEF0dHJpYnV0ZSogYXR0cikKIHsKSW5kZXg6
IFdlYkNvcmUvc3ZnL1NWR1RTcGFuRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3Zn
L1NWR1RTcGFuRWxlbWVudC5oCShyZXZpc2lvbiAzMTIzMikKKysrIFdlYkNvcmUvc3ZnL1NWR1RT
cGFuRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zOCw3ICszOCw3IEBACiAgICAgICAgIGJv
b2wgY2hpbGRTaG91bGRDcmVhdGVSZW5kZXJlcihOb2RlKikgY29uc3Q7CiAgICAgCiAgICAgcHJv
dGVjdGVkOgotICAgICAgICB2aXJ0dWFsIGNvbnN0IFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50
KCkgY29uc3QgeyByZXR1cm4gdGhpczsgfQorICAgICAgICB2aXJ0dWFsIFNWR0VsZW1lbnQqIGNv
bnRleHRFbGVtZW50KCkgeyByZXR1cm4gdGhpczsgfQogICAgIH07CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0xpbmVhckdyYWRpZW50RWxlbWVudC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0xpbmVhckdyYWRpZW50RWxlbWVudC5oCShyZXZp
c2lvbiAzMTIzMikKKysrIFdlYkNvcmUvc3ZnL1NWR0xpbmVhckdyYWRpZW50RWxlbWVudC5oCSh3
b3JraW5nIGNvcHkpCkBAIC00Niw3ICs0Niw3IEBACiAgICAgICAgIExpbmVhckdyYWRpZW50QXR0
cmlidXRlcyBjb2xsZWN0R3JhZGllbnRQcm9wZXJ0aWVzKCkgY29uc3Q7CiAKICAgICBwcm90ZWN0
ZWQ6Ci0gICAgICAgIHZpcnR1YWwgY29uc3QgU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSBj
b25zdCB7IHJldHVybiB0aGlzOyB9CisgICAgICAgIHZpcnR1YWwgU1ZHRWxlbWVudCogY29udGV4
dEVsZW1lbnQoKSB7IHJldHVybiB0aGlzOyB9CiAKICAgICBwcml2YXRlOgogICAgICAgICBBTklN
QVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50LCBTVkdM
ZW5ndGgsIFNWR0xlbmd0aCwgWDEsIHgxKQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHQ2lyY2xlRWxl
bWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0NpcmNsZUVsZW1lbnQuaAkocmV2
aXNpb24gMzEyMzIpCisrKyBXZWJDb3JlL3N2Zy9TVkdDaXJjbGVFbGVtZW50LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTQ3LDExICs0NywxMSBAQAogICAgICAgICB2aXJ0dWFsIFBhdGggdG9QYXRoRGF0
YSgpIGNvbnN0OwogCiAgICAgcHJvdGVjdGVkOgotICAgICAgICB2aXJ0dWFsIGNvbnN0IFNWR0Vs
ZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gdGhpczsgfQorICAgICAgICB2
aXJ0dWFsIFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgeyByZXR1cm4gdGhpczsgfQogICAg
ICAgICB2aXJ0dWFsIGJvb2wgaGFzUmVsYXRpdmVWYWx1ZXMoKSBjb25zdDsKIAogICAgIHByaXZh
dGU6Ci0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJT05TKFNWR0V4
dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGJvb2wsIEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQs
IGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZP
UldBUkRfREVDTEFSQVRJT05TKFNWR0NpcmNsZUVsZW1lbnQsIFNWR0V4dGVybmFsUmVzb3VyY2Vz
UmVxdWlyZWQsIGJvb2wsIEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3Vy
Y2VzUmVxdWlyZWQpCiAKICAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNW
R0NpcmNsZUVsZW1lbnQsIFNWR0xlbmd0aCwgU1ZHTGVuZ3RoLCBDeCwgY3gpCiAgICAgICAgIEFO
SU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdDaXJjbGVFbGVtZW50LCBTVkdMZW5ndGgs
IFNWR0xlbmd0aCwgQ3ksIGN5KQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHRXh0ZXJuYWxSZXNvdXJj
ZXNSZXF1aXJlZC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0V4dGVybmFsUmVzb3Vy
Y2VzUmVxdWlyZWQuaAkocmV2aXNpb24gMzEyMzIpCisrKyBXZWJDb3JlL3N2Zy9TVkdFeHRlcm5h
bFJlc291cmNlc1JlcXVpcmVkLmgJKHdvcmtpbmcgY29weSkKQEAgLTUwLDcgKzUwLDcgQEAKICAg
ICAgICAgYm9vbCBpc0tub3duQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmKTsKIAogICAg
IHByb3RlY3RlZDoKLSAgICAgICAgdmlydHVhbCBjb25zdCBTVkdFbGVtZW50KiBjb250ZXh0RWxl
bWVudCgpIGNvbnN0ID0gMDsKKyAgICAgICAgdmlydHVhbCBTVkdFbGVtZW50KiBjb250ZXh0RWxl
bWVudCgpID0gMDsKIAogICAgIHByaXZhdGU6CiAgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RF
Q0xBUkFUSU9OU19XSVRIX0NPTlRFWFQoU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgYm9v
bCwgYm9vbCwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1
aXJlZCkKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0N1cnNvckVsZW1lbnQuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL3N2Zy9TVkdDdXJzb3JFbGVtZW50LmgJKHJldmlzaW9uIDMxMjMyKQorKysgV2Vi
Q29yZS9zdmcvU1ZHQ3Vyc29yRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC00OSwxMiArNDks
MTMgQEAKICAgICAgICAgdmlydHVhbCB2b2lkIHN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVh
bGlmaWVkTmFtZSYpOwogCiAgICAgcHJvdGVjdGVkOgotICAgICAgICB2aXJ0dWFsIGNvbnN0IFNW
R0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gdGhpczsgfQorICAgICAg
ICB2aXJ0dWFsIFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgeyByZXR1cm4gdGhpczsgfQog
CiAgICAgcHJpdmF0ZToKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJB
VElPTlMoU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgYm9vbCwgRXh0ZXJuYWxSZXNvdXJj
ZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkKLSAgICAgICAgQU5JTUFURURf
UFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHVVJJUmVmZXJlbmNlLCBTdHJpbmcsIEhy
ZWYsIGhyZWYpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJT05T
KFNWR0N1cnNvckVsZW1lbnQsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGJvb2wsIEV4
dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpCisgICAg
ICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJT05TKFNWR0N1cnNvckVsZW1l
bnQsIFNWR1VSSVJlZmVyZW5jZSwgU3RyaW5nLCBIcmVmLCBocmVmKQogCisgICAgICAgIEFOSU1B
VEVEX1BST1BFUlRZX1NUQVJUX0RFQ0xBUkFUSU9OUyhTVkdDdXJzb3JFbGVtZW50KQogICAgICAg
ICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHQ3Vyc29yRWxlbWVudCwgU1ZHTGVu
Z3RoLCBTVkdMZW5ndGgsIFgsIHgpCiAgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFU
SU9OUyhTVkdDdXJzb3JFbGVtZW50LCBTVkdMZW5ndGgsIFNWR0xlbmd0aCwgWSwgeSkKIApJbmRl
eDogV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NW
R0VsZW1lbnQuaAkocmV2aXNpb24gMzEyMzIpCisrKyBXZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmgJ
KHdvcmtpbmcgY29weSkKQEAgLTMxLDMwICszMSw5OSBAQAogI2luY2x1ZGUgIlNWR0RvY3VtZW50
RXh0ZW5zaW9ucy5oIgogI2luY2x1ZGUgIlNWR05hbWVzLmgiCiAKKy8vIEhlbHBlciBjbGFzcyBm
b3IgQU5JTUFURURfUFJPUEVSVFkqIG1hY3JvcwordGVtcGxhdGU8dHlwZW5hbWUgU3RvcmVkVHlw
ZT4KK2NsYXNzIFN0b3JlZFR5cGVXaXRoRGlydHlGbGFnIHsKK3B1YmxpYzoKKyAgICBTdG9yZWRU
eXBlV2l0aERpcnR5RmxhZygpCisgICAgICAgIDogdmFsdWUoKQorICAgICAgICAsIGRpcnR5KGZh
bHNlKQorICAgIHsKKyAgICB9CisKKyAgICBTdG9yZWRUeXBlV2l0aERpcnR5RmxhZyhjb25zdCBT
dG9yZWRUeXBlJiBvdGhlcikKKyAgICAgICAgOiB2YWx1ZShvdGhlcikKKyAgICAgICAgLCBkaXJ0
eShmYWxzZSkKKyAgICB7CisgICAgfQorCisgICAgU3RvcmVkVHlwZVdpdGhEaXJ0eUZsYWcoY29u
c3QgU3RvcmVkVHlwZVdpdGhEaXJ0eUZsYWcmIG90aGVyKQorICAgICAgICA6IHZhbHVlKG90aGVy
LnZhbHVlKQorICAgICAgICAsIGRpcnR5KG90aGVyLmRpcnR5KQorICAgIHsKKyAgICB9CisKKyAg
ICBTdG9yZWRUeXBlJiBvcGVyYXRvcj0oY29uc3QgU3RvcmVkVHlwZSYgb3RoZXIpCisgICAgewor
ICAgICAgICB2YWx1ZSA9IG90aGVyOworICAgICAgICBkaXJ0eSA9IHRydWU7CisgICAgICAgIHJl
dHVybiB2YWx1ZTsKKyAgICB9CisKKyAgICBTdG9yZWRUeXBlV2l0aERpcnR5RmxhZyYgb3BlcmF0
b3I9KGNvbnN0IFN0b3JlZFR5cGVXaXRoRGlydHlGbGFnJiBvdGhlcikKKyAgICB7CisgICAgICAg
IHZhbHVlID0gb3RoZXIudmFsdWU7CisgICAgICAgIGRpcnR5ID0gb3RoZXIuZGlydHk7CisgICAg
ICAgIHJldHVybiAoKnRoaXMpOworICAgIH0KKworICAgIGJvb2wgb3BlcmF0b3I9PShjb25zdCBT
dG9yZWRUeXBlJiBvdGhlcikgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiB2YWx1ZSA9PSBv
dGhlci52YWx1ZTsKKyAgICB9CisKKyAgICBib29sIG9wZXJhdG9yIT0oY29uc3QgU3RvcmVkVHlw
ZSYgb3RoZXIpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gISgoKnRoaXMpID09IG90aGVy
KTsKKyAgICB9CisKKyAgICBib29sIG9wZXJhdG9yPT0oY29uc3QgU3RvcmVkVHlwZVdpdGhEaXJ0
eUZsYWcmIG90aGVyKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIGRpcnR5ID09IG90aGVy
LmRpcnR5ICYmIHZhbHVlID09IG90aGVyLnZhbHVlOworICAgIH0KKworICAgIGJvb2wgb3BlcmF0
b3IhPShjb25zdCBTdG9yZWRUeXBlV2l0aERpcnR5RmxhZyYgb3RoZXIpIGNvbnN0CisgICAgewor
ICAgICAgICByZXR1cm4gISgoKnRoaXMpID09IG90aGVyKTsKKyAgICB9CisKKyAgICBvcGVyYXRv
ciBTdG9yZWRUeXBlKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiB2YWx1ZTsgICAgCisg
ICAgfQorCisgICAgU3RvcmVkVHlwZSB2YWx1ZTsKKyAgICBib29sIGRpcnR5OworfTsKKwogI2Rl
ZmluZSBBTklNQVRFRF9QUk9QRVJUWV9FTVBUWV9ERUNMQVJBVElPTlMoQmFyZVR5cGUsIE51bGxU
eXBlLCBVcHBlclByb3BlcnR5LCBMb3dlclByb3BlcnR5KSBcCiBwdWJsaWM6IFwKICAgICB2aXJ0
dWFsIEJhcmVUeXBlIExvd2VyUHJvcGVydHkoKSBjb25zdCB7IEFTU0VSVF9OT1RfUkVBQ0hFRCgp
OyByZXR1cm4gTnVsbFR5cGU7IH0gXAogICAgIHZpcnR1YWwgdm9pZCBzZXQjI1VwcGVyUHJvcGVy
dHkoQmFyZVR5cGUgbmV3VmFsdWUpIHsgQVNTRVJUX05PVF9SRUFDSEVEKCk7IH1cCiAgICAgdmly
dHVhbCBCYXJlVHlwZSBMb3dlclByb3BlcnR5IyNCYXNlVmFsdWUoKSBjb25zdCB7IEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOyByZXR1cm4gTnVsbFR5cGU7IH0gXAogICAgIHZpcnR1YWwgdm9pZCBzZXQj
I1VwcGVyUHJvcGVydHkjI0Jhc2VWYWx1ZShCYXJlVHlwZSBuZXdWYWx1ZSkgeyBBU1NFUlRfTk9U
X1JFQUNIRUQoKTsgfSBcCi0gICAgdmlydHVhbCB2b2lkIHN0YXJ0IyNVcHBlclByb3BlcnR5KCkg
Y29uc3QgeyBBU1NFUlRfTk9UX1JFQUNIRUQoKTsgfSBcCisgICAgdmlydHVhbCB2b2lkIHN5bmNo
cm9uaXplIyNVcHBlclByb3BlcnR5KCkgeyBBU1NFUlRfTk9UX1JFQUNIRUQoKTsgfSBcCisgICAg
dmlydHVhbCBTVkdFbGVtZW50OjpBbmltYXRlZFByb3BlcnR5U3luY2hyb25pemVyIHN5bmNocm9u
aXplckZvciMjVXBwZXJQcm9wZXJ0eSgpIHsgQVNTRVJUX05PVF9SRUFDSEVEKCk7IHJldHVybiAw
OyB9IFwKKyAgICB2aXJ0dWFsIHZvaWQgc3RhcnQjI1VwcGVyUHJvcGVydHkoKSB7IEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOyB9IFwKICAgICB2aXJ0dWFsIHZvaWQgc3RvcCMjVXBwZXJQcm9wZXJ0eSgp
IHsgQVNTRVJUX05PVF9SRUFDSEVEKCk7IH0KIAotI2RlZmluZSBBTklNQVRFRF9QUk9QRVJUWV9G
T1JXQVJEX0RFQ0xBUkFUSU9OUyhGb3J3YXJkQ2xhc3MsIEJhcmVUeXBlLCBVcHBlclByb3BlcnR5
LCBMb3dlclByb3BlcnR5KSBcCisjZGVmaW5lIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVD
TEFSQVRJT05TKENsYXNzVHlwZSwgRm9yd2FyZENsYXNzLCBCYXJlVHlwZSwgVXBwZXJQcm9wZXJ0
eSwgTG93ZXJQcm9wZXJ0eSkgXAogcHVibGljOiBcCiAgICAgdmlydHVhbCBCYXJlVHlwZSBMb3dl
clByb3BlcnR5KCkgY29uc3QgeyByZXR1cm4gRm9yd2FyZENsYXNzOjpMb3dlclByb3BlcnR5KCk7
IH0gXAogICAgIHZpcnR1YWwgdm9pZCBzZXQjI1VwcGVyUHJvcGVydHkoQmFyZVR5cGUgbmV3VmFs
dWUpIHsgRm9yd2FyZENsYXNzOjpzZXQjI1VwcGVyUHJvcGVydHkobmV3VmFsdWUpOyB9IFwKICAg
ICB2aXJ0dWFsIEJhcmVUeXBlIExvd2VyUHJvcGVydHkjI0Jhc2VWYWx1ZSgpIGNvbnN0IHsgcmV0
dXJuIEZvcndhcmRDbGFzczo6TG93ZXJQcm9wZXJ0eSMjQmFzZVZhbHVlKCk7IH0gXAogICAgIHZp
cnR1YWwgdm9pZCBzZXQjI1VwcGVyUHJvcGVydHkjI0Jhc2VWYWx1ZShCYXJlVHlwZSBuZXdWYWx1
ZSkgeyBGb3J3YXJkQ2xhc3M6OnNldCMjVXBwZXJQcm9wZXJ0eSMjQmFzZVZhbHVlKG5ld1ZhbHVl
KTsgfSBcCi0gICAgdmlydHVhbCB2b2lkIHN0YXJ0IyNVcHBlclByb3BlcnR5KCkgY29uc3QgeyBG
b3J3YXJkQ2xhc3M6OnN0YXJ0IyNVcHBlclByb3BlcnR5KCk7IH0gXAorICAgIHZpcnR1YWwgdm9p
ZCBzeW5jaHJvbml6ZSMjVXBwZXJQcm9wZXJ0eSgpIHsgRm9yd2FyZENsYXNzOjpzeW5jaHJvbml6
ZSMjVXBwZXJQcm9wZXJ0eSgpOyB9IFwKKyAgICB2aXJ0dWFsIFNWR0VsZW1lbnQ6OkFuaW1hdGVk
UHJvcGVydHlTeW5jaHJvbml6ZXIgc3luY2hyb25pemVyRm9yIyNVcHBlclByb3BlcnR5KCkgeyBy
ZXR1cm4gc3RhdGljX2Nhc3Q8U1ZHRWxlbWVudDo6QW5pbWF0ZWRQcm9wZXJ0eVN5bmNocm9uaXpl
cj4oJkNsYXNzVHlwZTo6c3luY2hyb25pemUjI1VwcGVyUHJvcGVydHkpOyB9IFwKKyAgICB2aXJ0
dWFsIHZvaWQgc3RhcnQjI1VwcGVyUHJvcGVydHkoKSB7IEZvcndhcmRDbGFzczo6c3RhcnQjI1Vw
cGVyUHJvcGVydHkoKTsgfSBcCiAgICAgdmlydHVhbCB2b2lkIHN0b3AjI1VwcGVyUHJvcGVydHko
KSB7IEZvcndhcmRDbGFzczo6c3RvcCMjVXBwZXJQcm9wZXJ0eSgpOyB9CiAKICNkZWZpbmUgQU5J
TUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TX0lOVEVSTkFMKENsYXNzVHlwZSwgQ2xhc3NTdG9y
YWdlVHlwZSwgQmFyZVR5cGUsIFN0b3JhZ2VUeXBlLCBVcHBlclByb3BlcnR5LCBMb3dlclByb3Bl
cnR5KSBcCiBjbGFzcyBTVkdBbmltYXRlZFRlbXBsYXRlIyNVcHBlclByb3BlcnR5IFwKLTogcHVi
bGljIFNWR0FuaW1hdGVkVGVtcGxhdGU8QmFyZVR5cGU+IFwKKzogcHVibGljIFNWR0FuaW1hdGVk
VHlwZTxCYXJlVHlwZT4gXAogeyBcCiBwdWJsaWM6IFwKLSAgICBTVkdBbmltYXRlZFRlbXBsYXRl
IyNVcHBlclByb3BlcnR5KGNvbnN0IENsYXNzVHlwZSosIGNvbnN0IFF1YWxpZmllZE5hbWUmKTsg
XAorICAgIFNWR0FuaW1hdGVkVGVtcGxhdGUjI1VwcGVyUHJvcGVydHkoQ2xhc3NUeXBlKiwgY29u
c3QgUXVhbGlmaWVkTmFtZSYpOyBcCiAgICAgdmlydHVhbCB+U1ZHQW5pbWF0ZWRUZW1wbGF0ZSMj
VXBwZXJQcm9wZXJ0eSgpIHsgfSBcCiAgICAgdmlydHVhbCBCYXJlVHlwZSBiYXNlVmFsKCkgY29u
c3Q7IFwKICAgICB2aXJ0dWFsIHZvaWQgc2V0QmFzZVZhbChCYXJlVHlwZSk7IFwKQEAgLTY5LDE2
ICsxMzgsMzYgQEAKICAgICB2b2lkIHNldCMjVXBwZXJQcm9wZXJ0eShCYXJlVHlwZSk7IFwKICAg
ICBCYXJlVHlwZSBMb3dlclByb3BlcnR5IyNCYXNlVmFsdWUoKSBjb25zdDsgXAogICAgIHZvaWQg
c2V0IyNVcHBlclByb3BlcnR5IyNCYXNlVmFsdWUoQmFyZVR5cGUpOyBcCi0gICAgUGFzc1JlZlB0
cjxTVkdBbmltYXRlZFRlbXBsYXRlIyNVcHBlclByb3BlcnR5PiBMb3dlclByb3BlcnR5IyNBbmlt
YXRlZCgpIGNvbnN0OyBcCi0gICAgdm9pZCBzdGFydCMjVXBwZXJQcm9wZXJ0eSgpIGNvbnN0OyBc
CisgICAgUGFzc1JlZlB0cjxTVkdBbmltYXRlZFRlbXBsYXRlIyNVcHBlclByb3BlcnR5PiBMb3dl
clByb3BlcnR5IyNBbmltYXRlZCgpOyBcCisgICAgdm9pZCBzeW5jaHJvbml6ZSMjVXBwZXJQcm9w
ZXJ0eSgpOyBcCisgICAgU1ZHRWxlbWVudDo6QW5pbWF0ZWRQcm9wZXJ0eVN5bmNocm9uaXplciBz
eW5jaHJvbml6ZXJGb3IjI1VwcGVyUHJvcGVydHkoKTsgXAorICAgIHZvaWQgc3RhcnQjI1VwcGVy
UHJvcGVydHkoKTsgXAogICAgIHZvaWQgc3RvcCMjVXBwZXJQcm9wZXJ0eSgpOyBcCiBcCiBwcml2
YXRlOiBcCi0gICAgU3RvcmFnZVR5cGUgbV8jI0xvd2VyUHJvcGVydHk7CisgICAgU3RvcmVkVHlw
ZVdpdGhEaXJ0eUZsYWc8U3RvcmFnZVR5cGU+IG1fIyNMb3dlclByb3BlcnR5OwogCisjZGVmaW5l
IEFOSU1BVEVEX1BST1BFUlRZX1NUQVJUX0RFQ0xBUkFUSU9OUyhDbGFzc1R5cGUpIFwKK3B1Ymxp
YzogXAorICAgIHZpcnR1YWwgdm9pZCBpbnZva2VTVkdQcm9wZXJ0eVN5bmNocm9uaXplcihTdHJp
bmdJbXBsKiBzdHJpbmdJbXBsKSBjb25zdCBcCisgICAgeyBcCisgICAgICAgIGlmIChtX3N2Z1By
b3BlcnR5VXBkYXRlTWFwLmNvbnRhaW5zKHN0cmluZ0ltcGwpKSB7IFwKKyAgICAgICAgICAgIFNW
R0VsZW1lbnQ6OkFuaW1hdGVkUHJvcGVydHlTeW5jaHJvbml6ZXIgdXBkYXRlTWV0aG9kID0gbV9z
dmdQcm9wZXJ0eVVwZGF0ZU1hcC5nZXQoc3RyaW5nSW1wbCk7IFwKKyAgICAgICAgICAgIChjb25z
dF9jYXN0PENsYXNzVHlwZSo+KHRoaXMpLT4qdXBkYXRlTWV0aG9kKSgpOyBcCisgICAgICAgIH0g
XAorICAgIH0gXAorXAorICAgIHZpcnR1YWwgdm9pZCBhZGRTVkdQcm9wZXJ0eVN5bmNocm9uaXpl
cihjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyTmFtZSwgU1ZHRWxlbWVudDo6QW5pbWF0ZWRQcm9w
ZXJ0eVN5bmNocm9uaXplciBtZXRob2QpIFwKKyAgICB7IFwKKyAgICAgICAgbV9zdmdQcm9wZXJ0
eVVwZGF0ZU1hcC5zZXQoYXR0ck5hbWUubG9jYWxOYW1lKCkuaW1wbCgpLCBtZXRob2QpOyBcCisg
ICAgfSBcCitcCitwcml2YXRlOiBcCisgICAgSGFzaE1hcDxTdHJpbmdJbXBsKiwgU1ZHRWxlbWVu
dDo6QW5pbWF0ZWRQcm9wZXJ0eVN5bmNocm9uaXplcj4gbV9zdmdQcm9wZXJ0eVVwZGF0ZU1hcDsK
KwogI2RlZmluZSBBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OU19JTlRFUk5BTChDbGFzc05h
bWUsIENsYXNzVHlwZSwgQmFyZVR5cGUsIFVwcGVyQ2xhc3NOYW1lLCBMb3dlckNsYXNzTmFtZSwg
VXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9wZXJ0eSwgQXR0ck5hbWUsIFN0b3JhZ2VHZXR0ZXIsIENv
bnRleHRFbGVtZW50KSBcCi1DbGFzc05hbWU6OlNWR0FuaW1hdGVkVGVtcGxhdGUjI1VwcGVyUHJv
cGVydHk6OlNWR0FuaW1hdGVkVGVtcGxhdGUjI1VwcGVyUHJvcGVydHkoY29uc3QgQ2xhc3NUeXBl
KiBlbGVtZW50LCBjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyaWJ1dGVOYW1lKSBcCi06IFNWR0Fu
aW1hdGVkVGVtcGxhdGU8QmFyZVR5cGU+KGF0dHJpYnV0ZU5hbWUpLCBtX2VsZW1lbnQoY29uc3Rf
Y2FzdDxDbGFzc1R5cGUqPihlbGVtZW50KSkgeyB9IFwKK0NsYXNzTmFtZTo6U1ZHQW5pbWF0ZWRU
ZW1wbGF0ZSMjVXBwZXJQcm9wZXJ0eTo6U1ZHQW5pbWF0ZWRUZW1wbGF0ZSMjVXBwZXJQcm9wZXJ0
eShDbGFzc1R5cGUqIGVsZW1lbnQsIGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJpYnV0ZU5hbWUp
IFwKKzogU1ZHQW5pbWF0ZWRUeXBlPEJhcmVUeXBlPihhdHRyaWJ1dGVOYW1lKSwgbV9lbGVtZW50
KGVsZW1lbnQpIHsgfSBcCiBcCiBCYXJlVHlwZSBDbGFzc05hbWU6OlNWR0FuaW1hdGVkVGVtcGxh
dGUjI1VwcGVyUHJvcGVydHk6OmJhc2VWYWwoKSBjb25zdCBcCiB7IFwKQEAgLTEwNiw0NiArMTk1
LDY3IEBACiB9IFwKIEJhcmVUeXBlIENsYXNzTmFtZTo6TG93ZXJQcm9wZXJ0eSMjQmFzZVZhbHVl
KCkgY29uc3QgXAogeyBcCi0gICAgY29uc3QgU1ZHRWxlbWVudCogY29udGV4dCA9IENvbnRleHRF
bGVtZW50OyBcCisgICAgU1ZHRWxlbWVudCogY29udGV4dCA9IENvbnRleHRFbGVtZW50OyBcCiAg
ICAgQVNTRVJUKGNvbnRleHQpOyBcCiAgICAgU1ZHRG9jdW1lbnRFeHRlbnNpb25zKiBleHRlbnNp
b25zID0gKGNvbnRleHQtPmRvY3VtZW50KCkgPyBjb250ZXh0LT5kb2N1bWVudCgpLT5hY2Nlc3NT
VkdFeHRlbnNpb25zKCkgOiAwKTsgXAotICAgIGlmIChleHRlbnNpb25zICYmIGV4dGVuc2lvbnMt
Pmhhc0Jhc2VWYWx1ZTxCYXJlVHlwZT4oY29udGV4dCwgQXR0ck5hbWUpKSBcCi0gICAgICAgICBy
ZXR1cm4gZXh0ZW5zaW9ucy0+YmFzZVZhbHVlPEJhcmVUeXBlPihjb250ZXh0LCBBdHRyTmFtZSk7
IFwKKyAgICBpZiAoZXh0ZW5zaW9ucyAmJiBleHRlbnNpb25zLT5oYXNCYXNlVmFsdWU8QmFyZVR5
cGU+KGNvbnRleHQsIEF0dHJOYW1lLmxvY2FsTmFtZSgpKSkgXAorICAgICAgICAgcmV0dXJuIGV4
dGVuc2lvbnMtPmJhc2VWYWx1ZTxCYXJlVHlwZT4oY29udGV4dCwgQXR0ck5hbWUubG9jYWxOYW1l
KCkpOyBcCiAgICAgcmV0dXJuIExvd2VyUHJvcGVydHkoKTsgXAogfSBcCitcCiB2b2lkIENsYXNz
TmFtZTo6c2V0IyNVcHBlclByb3BlcnR5IyNCYXNlVmFsdWUoQmFyZVR5cGUgbmV3VmFsdWUpIFwK
IHsgXAotICAgIGNvbnN0IFNWR0VsZW1lbnQqIGNvbnRleHQgPSBDb250ZXh0RWxlbWVudDsgXAor
ICAgIFNWR0VsZW1lbnQqIGNvbnRleHQgPSBDb250ZXh0RWxlbWVudDsgXAogICAgIEFTU0VSVChj
b250ZXh0KTsgXAogICAgIFNWR0RvY3VtZW50RXh0ZW5zaW9ucyogZXh0ZW5zaW9ucyA9IChjb250
ZXh0LT5kb2N1bWVudCgpID8gY29udGV4dC0+ZG9jdW1lbnQoKS0+YWNjZXNzU1ZHRXh0ZW5zaW9u
cygpIDogMCk7IFwKLSAgICBpZiAoZXh0ZW5zaW9ucyAmJiBleHRlbnNpb25zLT5oYXNCYXNlVmFs
dWU8QmFyZVR5cGU+KGNvbnRleHQsIEF0dHJOYW1lKSkgeyBcCi0gICAgICAgIGV4dGVuc2lvbnMt
PnNldEJhc2VWYWx1ZTxCYXJlVHlwZT4oY29udGV4dCwgQXR0ck5hbWUsIG5ld1ZhbHVlKTsgXAor
ICAgIGlmIChleHRlbnNpb25zICYmIGV4dGVuc2lvbnMtPmhhc0Jhc2VWYWx1ZTxCYXJlVHlwZT4o
Y29udGV4dCwgQXR0ck5hbWUubG9jYWxOYW1lKCkpKSB7IFwKKyAgICAgICAgZXh0ZW5zaW9ucy0+
c2V0QmFzZVZhbHVlPEJhcmVUeXBlPihjb250ZXh0LCBBdHRyTmFtZS5sb2NhbE5hbWUoKSwgbmV3
VmFsdWUpOyBcCiAgICAgICAgIHJldHVybjsgXAogICAgIH0gXAogICAgIC8qIE9ubHkgdXBkYXRl
IHN0b3JlZCBwcm9wZXJ0eSwgaWYgbm90IGFuaW1hdGluZyAqLyBcCiAgICAgc2V0IyNVcHBlclBy
b3BlcnR5KG5ld1ZhbHVlKTsgXAogfSBcCiBcCi12b2lkIENsYXNzTmFtZTo6c3RhcnQjI1VwcGVy
UHJvcGVydHkoKSBjb25zdCBcCit2b2lkIENsYXNzTmFtZTo6c3luY2hyb25pemUjI1VwcGVyUHJv
cGVydHkoKSBcCiB7IFwKLSAgICBjb25zdCBTVkdFbGVtZW50KiBjb250ZXh0ID0gQ29udGV4dEVs
ZW1lbnQ7IFwKKyAgICBpZiAoIW1fIyNMb3dlclByb3BlcnR5LmRpcnR5KSBcCisgICAgICAgIHJl
dHVybjsgXAorICAgIFNWR0VsZW1lbnQqIGNvbnRleHQgPSBDb250ZXh0RWxlbWVudDsgXAogICAg
IEFTU0VSVChjb250ZXh0KTsgXAorICAgIFJlZlB0cjxDbGFzc05hbWU6OlNWR0FuaW1hdGVkVGVt
cGxhdGUjI1VwcGVyUHJvcGVydHk+IGFuaW1hdGVkQ2xhc3MoTG93ZXJQcm9wZXJ0eSMjQW5pbWF0
ZWQoKSk7IFwKKyAgICBBdG9taWNTdHJpbmcgdmFsdWUoYW5pbWF0ZWRDbGFzcy0+dG9TdHJpbmco
KSk7IFwKKyAgICBOYW1lZEF0dHJNYXAqIG5hbWVkQXR0ck1hcCA9IGNvbnRleHQtPmF0dHJpYnV0
ZXMoZmFsc2UpOyBcCisgICAgQVNTRVJUKCFuYW1lZEF0dHJNYXAtPmlzUmVhZE9ubHlOb2RlKCkp
OyBcCisgICAgQXR0cmlidXRlKiBvbGQgPSBuYW1lZEF0dHJNYXAtPmdldEF0dHJpYnV0ZUl0ZW0o
QXR0ck5hbWUpOyBcCisgICAgaWYgKG9sZCAmJiB2YWx1ZS5pc051bGwoKSkgXAorICAgICAgICBu
YW1lZEF0dHJNYXAtPnJlbW92ZUF0dHJpYnV0ZShvbGQtPm5hbWUoKSk7IFwKKyAgICBlbHNlIGlm
ICghb2xkICYmICF2YWx1ZS5pc051bGwoKSkgXAorICAgICAgICBuYW1lZEF0dHJNYXAtPmFkZEF0
dHJpYnV0ZShjb250ZXh0LT5jcmVhdGVBdHRyaWJ1dGUoUXVhbGlmaWVkTmFtZShudWxsQXRvbSwg
QXR0ck5hbWUubG9jYWxOYW1lKCksIG51bGxBdG9tKSwgdmFsdWUuaW1wbCgpKSk7IFwKKyAgICBl
bHNlIGlmIChvbGQgJiYgIXZhbHVlLmlzTnVsbCgpKSBcCisgICAgICAgIG9sZC0+c2V0VmFsdWUo
dmFsdWUpOyBcCisgICAgbV8jI0xvd2VyUHJvcGVydHkuZGlydHkgPSBmYWxzZTsgXAorfSBcCitc
Cit2b2lkIENsYXNzTmFtZTo6c3RhcnQjI1VwcGVyUHJvcGVydHkoKSBcCit7IFwKKyAgICBTVkdF
bGVtZW50KiBjb250ZXh0ID0gQ29udGV4dEVsZW1lbnQ7IFwKKyAgICBBU1NFUlQoY29udGV4dCk7
IFwKICAgICBTVkdEb2N1bWVudEV4dGVuc2lvbnMqIGV4dGVuc2lvbnMgPSAoY29udGV4dC0+ZG9j
dW1lbnQoKSA/IGNvbnRleHQtPmRvY3VtZW50KCktPmFjY2Vzc1NWR0V4dGVuc2lvbnMoKSA6IDAp
OyBcCiAgICAgaWYgKGV4dGVuc2lvbnMpIHsgXAotICAgICAgICBBU1NFUlQoIWV4dGVuc2lvbnMt
Pmhhc0Jhc2VWYWx1ZTxCYXJlVHlwZT4oY29udGV4dCwgQXR0ck5hbWUpKTsgXAotICAgICAgICBl
eHRlbnNpb25zLT5zZXRCYXNlVmFsdWU8QmFyZVR5cGU+KGNvbnRleHQsIEF0dHJOYW1lLCBMb3dl
clByb3BlcnR5KCkpOyBcCisgICAgICAgIEFTU0VSVCghZXh0ZW5zaW9ucy0+aGFzQmFzZVZhbHVl
PEJhcmVUeXBlPihjb250ZXh0LCBBdHRyTmFtZS5sb2NhbE5hbWUoKSkpOyBcCisgICAgICAgIGV4
dGVuc2lvbnMtPnNldEJhc2VWYWx1ZTxCYXJlVHlwZT4oY29udGV4dCwgQXR0ck5hbWUubG9jYWxO
YW1lKCksIExvd2VyUHJvcGVydHkoKSk7IFwKICAgICB9IFwKIH0gXAogXAogdm9pZCBDbGFzc05h
bWU6OnN0b3AjI1VwcGVyUHJvcGVydHkoKSBcCiB7IFwKLSAgICBjb25zdCBTVkdFbGVtZW50KiBj
b250ZXh0ID0gQ29udGV4dEVsZW1lbnQ7IFwKKyAgICBTVkdFbGVtZW50KiBjb250ZXh0ID0gQ29u
dGV4dEVsZW1lbnQ7IFwKICAgICBBU1NFUlQoY29udGV4dCk7IFwKICAgICBTVkdEb2N1bWVudEV4
dGVuc2lvbnMqIGV4dGVuc2lvbnMgPSAoY29udGV4dC0+ZG9jdW1lbnQoKSA/IGNvbnRleHQtPmRv
Y3VtZW50KCktPmFjY2Vzc1NWR0V4dGVuc2lvbnMoKSA6IDApOyBcCiAgICAgaWYgKGV4dGVuc2lv
bnMpIHsgXAotICAgICAgICBBU1NFUlQoZXh0ZW5zaW9ucy0+aGFzQmFzZVZhbHVlPEJhcmVUeXBl
Pihjb250ZXh0LCBBdHRyTmFtZSkpOyBcCi0gICAgICAgIHNldCMjVXBwZXJQcm9wZXJ0eShleHRl
bnNpb25zLT5iYXNlVmFsdWU8QmFyZVR5cGU+KGNvbnRleHQsIEF0dHJOYW1lKSk7IFwKLSAgICAg
ICAgZXh0ZW5zaW9ucy0+cmVtb3ZlQmFzZVZhbHVlPEJhcmVUeXBlPihjb250ZXh0LCBBdHRyTmFt
ZSk7IFwKKyAgICAgICAgQVNTRVJUKGV4dGVuc2lvbnMtPmhhc0Jhc2VWYWx1ZTxCYXJlVHlwZT4o
Y29udGV4dCwgQXR0ck5hbWUubG9jYWxOYW1lKCkpKTsgXAorICAgICAgICBzZXQjI1VwcGVyUHJv
cGVydHkoZXh0ZW5zaW9ucy0+YmFzZVZhbHVlPEJhcmVUeXBlPihjb250ZXh0LCBBdHRyTmFtZS5s
b2NhbE5hbWUoKSkpOyBcCisgICAgICAgIGV4dGVuc2lvbnMtPnJlbW92ZUJhc2VWYWx1ZTxCYXJl
VHlwZT4oY29udGV4dCwgQXR0ck5hbWUubG9jYWxOYW1lKCkpOyBcCiAgICAgfSBcCiB9CiAKQEAg
LTE1NywyNCArMjY3LDQ0IEBACiBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlNfSU5URVJO
QUwoQ2xhc3NOYW1lLCBSZWZQdHI8Q2xhc3NOYW1lPiwgQmFyZVR5cGUsIFN0b3JhZ2VUeXBlLCBV
cHBlclByb3BlcnR5LCBMb3dlclByb3BlcnR5KQogCiAjZGVmaW5lIEFOSU1BVEVEX1BST1BFUlRZ
X0RFRklOSVRJT05TX1dJVEhfQ09OVEVYVChDbGFzc05hbWUsIEJhcmVUeXBlLCBVcHBlckNsYXNz
TmFtZSwgTG93ZXJDbGFzc05hbWUsIFVwcGVyUHJvcGVydHksIExvd2VyUHJvcGVydHksIEF0dHJO
YW1lLCBTdG9yYWdlR2V0dGVyKSBcCi1BTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OU19JTlRF
Uk5BTChDbGFzc05hbWUsIFNWR0VsZW1lbnQsIEJhcmVUeXBlLCBVcHBlckNsYXNzTmFtZSwgTG93
ZXJDbGFzc05hbWUsIFVwcGVyUHJvcGVydHksIExvd2VyUHJvcGVydHksIEF0dHJOYW1lLmxvY2Fs
TmFtZSgpLCBTdG9yYWdlR2V0dGVyLCBjb250ZXh0RWxlbWVudCgpKSBcCi1QYXNzUmVmUHRyPENs
YXNzTmFtZTo6U1ZHQW5pbWF0ZWRUZW1wbGF0ZSMjVXBwZXJQcm9wZXJ0eT4gQ2xhc3NOYW1lOjpM
b3dlclByb3BlcnR5IyNBbmltYXRlZCgpIGNvbnN0IFwKK0FOSU1BVEVEX1BST1BFUlRZX0RFRklO
SVRJT05TX0lOVEVSTkFMKENsYXNzTmFtZSwgU1ZHRWxlbWVudCwgQmFyZVR5cGUsIFVwcGVyQ2xh
c3NOYW1lLCBMb3dlckNsYXNzTmFtZSwgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9wZXJ0eSwgQXR0
ck5hbWUsIFN0b3JhZ2VHZXR0ZXIsIGNvbnN0X2Nhc3Q8Q2xhc3NOYW1lKj4odGhpcyktPmNvbnRl
eHRFbGVtZW50KCkpIFwKK1Bhc3NSZWZQdHI8Q2xhc3NOYW1lOjpTVkdBbmltYXRlZFRlbXBsYXRl
IyNVcHBlclByb3BlcnR5PiBDbGFzc05hbWU6Okxvd2VyUHJvcGVydHkjI0FuaW1hdGVkKCkgXAog
eyBcCi0gICAgY29uc3QgU1ZHRWxlbWVudCogY29udGV4dCA9IGNvbnRleHRFbGVtZW50KCk7IFwK
KyAgICBTVkdFbGVtZW50KiBjb250ZXh0ID0gY29udGV4dEVsZW1lbnQoKTsgXAogICAgIEFTU0VS
VChjb250ZXh0KTsgXAotICAgIHJldHVybiBsb29rdXBPckNyZWF0ZVdyYXBwZXI8Q2xhc3NOYW1l
OjpTVkdBbmltYXRlZFRlbXBsYXRlIyNVcHBlclByb3BlcnR5LCBTVkdFbGVtZW50Pihjb250ZXh0
LCBBdHRyTmFtZSwgQXR0ck5hbWUubG9jYWxOYW1lKCkpOyBcCisgICAgcmV0dXJuIGxvb2t1cE9y
Q3JlYXRlV3JhcHBlcjxDbGFzc05hbWU6OlNWR0FuaW1hdGVkVGVtcGxhdGUjI1VwcGVyUHJvcGVy
dHksIFNWR0VsZW1lbnQ+KGNvbnRleHQsIEF0dHJOYW1lLCBBdHRyTmFtZS5sb2NhbE5hbWUoKSwg
Y29udGV4dC0+c3luY2hyb25pemVyRm9yIyNVcHBlclByb3BlcnR5KCkpOyBcCit9IFwKK1wKK1NW
R0VsZW1lbnQ6OkFuaW1hdGVkUHJvcGVydHlTeW5jaHJvbml6ZXIgQ2xhc3NOYW1lOjpzeW5jaHJv
bml6ZXJGb3IjI1VwcGVyUHJvcGVydHkoKSBcCit7IFwKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsgXAorICAgIHJldHVybiAwOyBcCiB9CiAKKyNkZWZpbmUgQU5JTUFURURfUFJPUEVSVFlfREVG
SU5JVElPTlNfUkVGQ09VTlRFRF9XSVRIX0NPTlRFWFQoQ2xhc3NOYW1lLCBCYXJlVHlwZSwgVXBw
ZXJDbGFzc05hbWUsIExvd2VyQ2xhc3NOYW1lLCBVcHBlclByb3BlcnR5LCBMb3dlclByb3BlcnR5
LCBBdHRyTmFtZSwgU3RvcmFnZUdldHRlcikgXAorQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElP
TlNfV0lUSF9DT05URVhUKENsYXNzTmFtZSwgQmFyZVR5cGUqLCBVcHBlckNsYXNzTmFtZSwgTG93
ZXJDbGFzc05hbWUsIFVwcGVyUHJvcGVydHksIExvd2VyUHJvcGVydHksIEF0dHJOYW1lLCBzdGF0
aWNfY2FzdDxSZWZQdHI8QmFyZVR5cGU+ID4oU3RvcmFnZUdldHRlcikuZ2V0KCkpCisKICNkZWZp
bmUgQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlNfV0lUSF9DVVNUT01fSURFTlRJRklFUihD
bGFzc05hbWUsIEJhcmVUeXBlLCBVcHBlckNsYXNzTmFtZSwgTG93ZXJDbGFzc05hbWUsIFVwcGVy
UHJvcGVydHksIExvd2VyUHJvcGVydHksIEF0dHJOYW1lLCBBdHRySWRlbnRpZmllciwgU3RvcmFn
ZUdldHRlcikgXAotQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlNfSU5URVJOQUwoQ2xhc3NO
YW1lLCBDbGFzc05hbWUsIEJhcmVUeXBlLCBVcHBlckNsYXNzTmFtZSwgTG93ZXJDbGFzc05hbWUs
IFVwcGVyUHJvcGVydHksIExvd2VyUHJvcGVydHksIEF0dHJOYW1lLmxvY2FsTmFtZSgpLCBTdG9y
YWdlR2V0dGVyLCB0aGlzKSBcCi1QYXNzUmVmUHRyPENsYXNzTmFtZTo6U1ZHQW5pbWF0ZWRUZW1w
bGF0ZSMjVXBwZXJQcm9wZXJ0eT4gQ2xhc3NOYW1lOjpMb3dlclByb3BlcnR5IyNBbmltYXRlZCgp
IGNvbnN0IFwKK0FOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TX0lOVEVSTkFMKENsYXNzTmFt
ZSwgQ2xhc3NOYW1lLCBCYXJlVHlwZSwgVXBwZXJDbGFzc05hbWUsIExvd2VyQ2xhc3NOYW1lLCBV
cHBlclByb3BlcnR5LCBMb3dlclByb3BlcnR5LCBBdHRyTmFtZSwgU3RvcmFnZUdldHRlciwgY29u
c3RfY2FzdDxDbGFzc05hbWUqPih0aGlzKSkgXAorUGFzc1JlZlB0cjxDbGFzc05hbWU6OlNWR0Fu
aW1hdGVkVGVtcGxhdGUjI1VwcGVyUHJvcGVydHk+IENsYXNzTmFtZTo6TG93ZXJQcm9wZXJ0eSMj
QW5pbWF0ZWQoKSBcCiB7IFwKLSAgICByZXR1cm4gbG9va3VwT3JDcmVhdGVXcmFwcGVyPENsYXNz
TmFtZTo6U1ZHQW5pbWF0ZWRUZW1wbGF0ZSMjVXBwZXJQcm9wZXJ0eSwgQ2xhc3NOYW1lPih0aGlz
LCBBdHRyTmFtZSwgQXR0cklkZW50aWZpZXIpOyBcCisgICAgcmV0dXJuIGxvb2t1cE9yQ3JlYXRl
V3JhcHBlcjxDbGFzc05hbWU6OlNWR0FuaW1hdGVkVGVtcGxhdGUjI1VwcGVyUHJvcGVydHksIENs
YXNzTmFtZT4odGhpcywgQXR0ck5hbWUsIEF0dHJJZGVudGlmaWVyLCBzeW5jaHJvbml6ZXJGb3Ij
I1VwcGVyUHJvcGVydHkoKSk7IFwKK30gXAorXAorU1ZHRWxlbWVudDo6QW5pbWF0ZWRQcm9wZXJ0
eVN5bmNocm9uaXplciBDbGFzc05hbWU6OnN5bmNocm9uaXplckZvciMjVXBwZXJQcm9wZXJ0eSgp
IFwKK3sgXAorICAgIHJldHVybiBzdGF0aWNfY2FzdDxTVkdFbGVtZW50OjpBbmltYXRlZFByb3Bl
cnR5U3luY2hyb25pemVyPigmQ2xhc3NOYW1lOjpzeW5jaHJvbml6ZSMjVXBwZXJQcm9wZXJ0eSk7
IFwKIH0KIAorI2RlZmluZSBBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OU19SRUZDT1VOVEVE
X1dJVEhfQ1VTVE9NX0lERU5USUZJRVIoQ2xhc3NOYW1lLCBCYXJlVHlwZSwgVXBwZXJDbGFzc05h
bWUsIExvd2VyQ2xhc3NOYW1lLCBVcHBlclByb3BlcnR5LCBMb3dlclByb3BlcnR5LCBBdHRyTmFt
ZSwgQXR0cklkZW50aWZpZXIsIFN0b3JhZ2VHZXR0ZXIpIFwKK0FOSU1BVEVEX1BST1BFUlRZX0RF
RklOSVRJT05TX1dJVEhfQ1VTVE9NX0lERU5USUZJRVIoQ2xhc3NOYW1lLCBCYXJlVHlwZSosIFVw
cGVyQ2xhc3NOYW1lLCBMb3dlckNsYXNzTmFtZSwgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9wZXJ0
eSwgQXR0ck5hbWUsIEF0dHJJZGVudGlmaWVyLCBzdGF0aWNfY2FzdDxSZWZQdHI8QmFyZVR5cGU+
ID4oU3RvcmFnZUdldHRlcikuZ2V0KCkpCisKICNkZWZpbmUgQU5JTUFURURfUFJPUEVSVFlfREVG
SU5JVElPTlMoQ2xhc3NOYW1lLCBCYXJlVHlwZSwgVXBwZXJDbGFzc05hbWUsIExvd2VyQ2xhc3NO
YW1lLCBVcHBlclByb3BlcnR5LCBMb3dlclByb3BlcnR5LCBBdHRyTmFtZSwgU3RvcmFnZUdldHRl
cikgXAogQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlNfV0lUSF9DVVNUT01fSURFTlRJRklF
UihDbGFzc05hbWUsIEJhcmVUeXBlLCBVcHBlckNsYXNzTmFtZSwgTG93ZXJDbGFzc05hbWUsIFVw
cGVyUHJvcGVydHksIExvd2VyUHJvcGVydHksIEF0dHJOYW1lLCBBdHRyTmFtZS5sb2NhbE5hbWUo
KSwgU3RvcmFnZUdldHRlcikKIAorI2RlZmluZSBBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9O
U19SRUZDT1VOVEVEKENsYXNzTmFtZSwgQmFyZVR5cGUsIFVwcGVyQ2xhc3NOYW1lLCBMb3dlckNs
YXNzTmFtZSwgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9wZXJ0eSwgQXR0ck5hbWUsIFN0b3JhZ2VH
ZXR0ZXIpIFwKK0FOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TX1dJVEhfQ1VTVE9NX0lERU5U
SUZJRVIoQ2xhc3NOYW1lLCBCYXJlVHlwZSosIFVwcGVyQ2xhc3NOYW1lLCBMb3dlckNsYXNzTmFt
ZSwgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9wZXJ0eSwgQXR0ck5hbWUsIEF0dHJOYW1lLmxvY2Fs
TmFtZSgpLCBzdGF0aWNfY2FzdDxSZWZQdHI8QmFyZVR5cGU+ID4oU3RvcmFnZUdldHRlcikuZ2V0
KCkpCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIFNWR1ByZXNlcnZlQXNwZWN0
UmF0aW87CkBAIC0yMjAsMTIgKzM1MCwxNyBAQAogICAgICAgICB2aXJ0dWFsIHZvaWQgaW5zZXJ0
ZWRJbnRvRG9jdW1lbnQoKTsKICAgICAgICAgdmlydHVhbCB2b2lkIGJ1aWxkUGVuZGluZ1Jlc291
cmNlKCkgeyB9CiAKKyAgICAgICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIGdldEF0dHJp
YnV0ZShjb25zdCBTdHJpbmcmKSBjb25zdDsKKyAgICAgICAgdmlydHVhbCBjb25zdCBBdG9taWNT
dHJpbmcmIGdldEF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJikgY29uc3Q7CisKICAgICAg
ICAgdmlydHVhbCB2b2lkIHN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYp
IHsgfQogICAgICAgICB2aXJ0dWFsIHZvaWQgYXR0cmlidXRlQ2hhbmdlZChBdHRyaWJ1dGUqLCBi
b29sIHByZXNlcnZlRGVjbHMgPSBmYWxzZSk7CiAKICAgICAgICAgdm9pZCBzZW5kU1ZHTG9hZEV2
ZW50SWZQb3NzaWJsZShib29sIHNlbmRQYXJlbnRMb2FkRXZlbnRzID0gZmFsc2UpOworICAgICAg
ICB2aXJ0dWFsIGJvb2wgZGlzcGF0Y2hFdmVudChQYXNzUmVmUHRyPEV2ZW50PiBlLCBFeGNlcHRp
b25Db2RlJiBlYywgYm9vbCB0ZW1wRXZlbnQgPSBmYWxzZSk7CiAKICAgICAgICAgLy8gRm9yd2Fy
ZGVkIHByb3BlcnRpZXMgKGRlY2xhcmVkL2RlZmluZWQgYW55d2hlcmUgZWxzZSBpbiB0aGUgaW5o
ZXJpdGFuY2Ugc3RydWN0dXJlKQorICAgICAgICB0eXBlZGVmIHZvaWQgKFNWR0VsZW1lbnQ6OipB
bmltYXRlZFByb3BlcnR5U3luY2hyb25pemVyKSgpOwogCiAgICAgICAgIC8vIC0+IEZvciBTVkdV
UklSZWZlcmVuY2UKICAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfRU1QVFlfREVDTEFSQVRJT05T
KFN0cmluZywgU3RyaW5nKCksIEhyZWYsIGhyZWYpCkBAIC0yMzcsNyArMzcyLDggQEAKICAgICAg
ICAgLy8gLT4gRm9yIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQKICAgICAgICAgQU5JTUFU
RURfUFJPUEVSVFlfRU1QVFlfREVDTEFSQVRJT05TKGJvb2wsIGZhbHNlLCBFeHRlcm5hbFJlc291
cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQogCi0gICAgICAgIHZpcnR1
YWwgYm9vbCBkaXNwYXRjaEV2ZW50KFBhc3NSZWZQdHI8RXZlbnQ+IGUsIEV4Y2VwdGlvbkNvZGUm
IGVjLCBib29sIHRlbXBFdmVudCA9IGZhbHNlKTsKKyAgICAgICAgdmlydHVhbCB2b2lkIGludm9r
ZVNWR1Byb3BlcnR5U3luY2hyb25pemVyKFN0cmluZ0ltcGwqKSBjb25zdCB7IH0KKyAgICAgICAg
dmlydHVhbCB2b2lkIGFkZFNWR1Byb3BlcnR5U3luY2hyb25pemVyKGNvbnN0IFF1YWxpZmllZE5h
bWUmLCBBbmltYXRlZFByb3BlcnR5U3luY2hyb25pemVyKSB7IEFTU0VSVF9OT1RfUkVBQ0hFRCgp
OyB9CiAKICAgICBwcml2YXRlOgogICAgICAgICB2b2lkIGFkZFNWR0V2ZW50TGlzdGVuZXIoY29u
c3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIGNvbnN0IEF0dHJpYnV0ZSopOwpJbmRleDogV2Vi
Q29yZS9zdmcvU1ZHU1ZHRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZH
U1ZHRWxlbWVudC5jcHAJKHJldmlzaW9uIDMxMjMyKQorKysgV2ViQ29yZS9zdmcvU1ZHU1ZHRWxl
bWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYzLDEwICs2MywxMCBAQAogICAgICwgU1ZHRXh0
ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCgpCiAgICAgLCBTVkdGaXRUb1ZpZXdCb3goKQogICAgICwg
U1ZHWm9vbUFuZFBhbigpCi0gICAgLCBtX3godGhpcywgTGVuZ3RoTW9kZVdpZHRoKQotICAgICwg
bV95KHRoaXMsIExlbmd0aE1vZGVIZWlnaHQpCi0gICAgLCBtX3dpZHRoKHRoaXMsIExlbmd0aE1v
ZGVXaWR0aCkKLSAgICAsIG1faGVpZ2h0KHRoaXMsIExlbmd0aE1vZGVIZWlnaHQpCisgICAgLCBt
X3goU1ZHTGVuZ3RoKHRoaXMsIExlbmd0aE1vZGVXaWR0aCkpCisgICAgLCBtX3koU1ZHTGVuZ3Ro
KHRoaXMsIExlbmd0aE1vZGVIZWlnaHQpKQorICAgICwgbV93aWR0aChTVkdMZW5ndGgodGhpcywg
TGVuZ3RoTW9kZVdpZHRoKSkKKyAgICAsIG1faGVpZ2h0KFNWR0xlbmd0aCh0aGlzLCBMZW5ndGhN
b2RlSGVpZ2h0KSkKICAgICAsIG1fdXNlQ3VycmVudFZpZXcoZmFsc2UpCiAgICAgLCBtX3RpbWVT
Y2hlZHVsZXIobmV3IFRpbWVTY2hlZHVsZXIoZG9jKSkKICAgICAsIG1fdmlld1NwZWMoMCkKQEAg
LTE4Nyw3ICsxODcsNyBAQAogU1ZHVmlld1NwZWMqIFNWR1NWR0VsZW1lbnQ6OmN1cnJlbnRWaWV3
KCkgY29uc3QKIHsKICAgICBpZiAoIW1fdmlld1NwZWMpCi0gICAgICAgIG1fdmlld1NwZWMuc2V0
KG5ldyBTVkdWaWV3U3BlYyh0aGlzKSk7CisgICAgICAgIG1fdmlld1NwZWMuc2V0KG5ldyBTVkdW
aWV3U3BlYyhjb25zdF9jYXN0PFNWR1NWR0VsZW1lbnQqPih0aGlzKSkpOwogCiAgICAgcmV0dXJu
IG1fdmlld1NwZWMuZ2V0KCk7CiB9CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdTZXRFbGVtZW50LmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHU2V0RWxlbWVudC5oCShyZXZpc2lvbiAzMTIz
MikKKysrIFdlYkNvcmUvc3ZnL1NWR1NldEVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMzUs
NyArMzUsNyBAQAogICAgICAgICB2aXJ0dWFsIH5TVkdTZXRFbGVtZW50KCk7CiAKICAgICBwcm90
ZWN0ZWQ6Ci0gICAgICAgIHZpcnR1YWwgY29uc3QgU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQo
KSBjb25zdCB7IHJldHVybiB0aGlzOyB9CisgICAgICAgIHZpcnR1YWwgU1ZHRWxlbWVudCogY29u
dGV4dEVsZW1lbnQoKSB7IHJldHVybiB0aGlzOyB9CiAgICAgICAgIAogICAgICAgICB2aXJ0dWFs
IGJvb2wgdXBkYXRlQW5pbWF0ZWRWYWx1ZShFQW5pbWF0aW9uTW9kZSwgZmxvYXQgdGltZVBlcmNl
bnRhZ2UsIHVuc2lnbmVkIHZhbHVlSW5kZXgsIGZsb2F0IHBlcmNlbnRhZ2VQYXN0KTsKICAgICAg
ICAgdmlydHVhbCBib29sIGNhbGN1bGF0ZUZyb21BbmRUb1ZhbHVlcyhFQW5pbWF0aW9uTW9kZSwg
dW5zaWduZWQgdmFsdWVJbmRleCk7CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdGRUNvbG9yTWF0cml4
RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHRkVDb2xvck1hdHJpeEVs
ZW1lbnQuY3BwCShyZXZpc2lvbiAzMTIzMikKKysrIFdlYkNvcmUvc3ZnL1NWR0ZFQ29sb3JNYXRy
aXhFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDYsNyArNDYsNyBAQAogCiBBTklNQVRF
RF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdGRUNvbG9yTWF0cml4RWxlbWVudCwgU3RyaW5nLCBT
dHJpbmcsIHN0cmluZywgSW4xLCBpbjEsIFNWR05hbWVzOjppbkF0dHIsIG1faW4xKQogQU5JTUFU
RURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQsIGludCwgRW51
bWVyYXRpb24sIGVudW1lcmF0aW9uLCBUeXBlLCB0eXBlLCBTVkdOYW1lczo6dHlwZUF0dHIsIG1f
dHlwZSkKLUFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0ZFQ29sb3JNYXRyaXhFbGVt
ZW50LCBTVkdOdW1iZXJMaXN0KiwgTnVtYmVyTGlzdCwgbnVtYmVyTGlzdCwgVmFsdWVzLCB2YWx1
ZXMsIFNWR05hbWVzOjp2YWx1ZXNBdHRyLCBtX3ZhbHVlcy5nZXQoKSkKK0FOSU1BVEVEX1BST1BF
UlRZX0RFRklOSVRJT05TX1JFRkNPVU5URUQoU1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQsIFNWR051
bWJlckxpc3QsIE51bWJlckxpc3QsIG51bWJlckxpc3QsIFZhbHVlcywgdmFsdWVzLCBTVkdOYW1l
czo6dmFsdWVzQXR0ciwgbV92YWx1ZXMpCiAKIHZvaWQgU1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQ6
OnBhcnNlTWFwcGVkQXR0cmlidXRlKE1hcHBlZEF0dHJpYnV0ZSogYXR0cikKIHsKSW5kZXg6IFdl
YkNvcmUvc3ZnL1NWR1ZpZXdTcGVjLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHVmll
d1NwZWMuaAkocmV2aXNpb24gMzEyMzIpCisrKyBXZWJDb3JlL3N2Zy9TVkdWaWV3U3BlYy5oCSh3
b3JraW5nIGNvcHkpCkBAIC0zNyw3ICszNyw3IEBACiAgICAgY2xhc3MgU1ZHVmlld1NwZWMgOiBw
dWJsaWMgU1ZHRml0VG9WaWV3Qm94LAogICAgICAgICAgICAgICAgICAgICAgICAgcHVibGljIFNW
R1pvb21BbmRQYW4gewogICAgIHB1YmxpYzoKLSAgICAgICAgU1ZHVmlld1NwZWMoY29uc3QgU1ZH
U1ZHRWxlbWVudCopOworICAgICAgICBTVkdWaWV3U3BlYyhTVkdTVkdFbGVtZW50Kik7CiAgICAg
ICAgIHZpcnR1YWwgflNWR1ZpZXdTcGVjKCk7CiAKICAgICAgICAgYm9vbCBwYXJzZVZpZXdTcGVj
KGNvbnN0IFN0cmluZyYpOwpAQCAtNTQsMTEgKzU0LDExIEBACiAgICAgICAgIFNWR0VsZW1lbnQq
IHZpZXdUYXJnZXQoKSBjb25zdDsKIAogICAgIHByb3RlY3RlZDoKLSAgICAgICAgdmlydHVhbCBj
b25zdCBTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCgpIGNvbnN0OworICAgICAgICB2aXJ0dWFs
IFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCk7CiAKICAgICBwcml2YXRlOgogICAgICAgICBt
dXRhYmxlIFJlZlB0cjxTVkdUcmFuc2Zvcm1MaXN0PiBtX3RyYW5zZm9ybTsKLSAgICAgICAgY29u
c3QgU1ZHU1ZHRWxlbWVudCogbV9jb250ZXh0RWxlbWVudDsKKyAgICAgICAgU1ZHU1ZHRWxlbWVu
dCogbV9jb250ZXh0RWxlbWVudDsKICAgICAgICAgU3RyaW5nIG1fdmlld1RhcmdldFN0cmluZzsK
ICAgICB9OwogCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdJbWFnZUVsZW1lbnQuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0ltYWdlRWxlbWVudC5jcHAJKHJldmlzaW9uIDMxMjMyKQor
KysgV2ViQ29yZS9zdmcvU1ZHSW1hZ2VFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDMs
MTAgKzQzLDEwIEBACiAgICAgLCBTVkdMYW5nU3BhY2UoKQogICAgICwgU1ZHRXh0ZXJuYWxSZXNv
dXJjZXNSZXF1aXJlZCgpCiAgICAgLCBTVkdVUklSZWZlcmVuY2UoKQotICAgICwgbV94KHRoaXMs
IExlbmd0aE1vZGVXaWR0aCkKLSAgICAsIG1feSh0aGlzLCBMZW5ndGhNb2RlSGVpZ2h0KQotICAg
ICwgbV93aWR0aCh0aGlzLCBMZW5ndGhNb2RlV2lkdGgpCi0gICAgLCBtX2hlaWdodCh0aGlzLCBM
ZW5ndGhNb2RlSGVpZ2h0KQorICAgICwgbV94KFNWR0xlbmd0aCh0aGlzLCBMZW5ndGhNb2RlV2lk
dGgpKQorICAgICwgbV95KFNWR0xlbmd0aCh0aGlzLCBMZW5ndGhNb2RlSGVpZ2h0KSkKKyAgICAs
IG1fd2lkdGgoU1ZHTGVuZ3RoKHRoaXMsIExlbmd0aE1vZGVXaWR0aCkpCisgICAgLCBtX2hlaWdo
dChTVkdMZW5ndGgodGhpcywgTGVuZ3RoTW9kZUhlaWdodCkpCiAgICAgLCBtX3ByZXNlcnZlQXNw
ZWN0UmF0aW8oU1ZHUHJlc2VydmVBc3BlY3RSYXRpbzo6Y3JlYXRlKCkpCiAgICAgLCBtX2ltYWdl
TG9hZGVyKHRoaXMpCiB7CkBAIC02MCw3ICs2MCw3IEBACiBBTklNQVRFRF9QUk9QRVJUWV9ERUZJ
TklUSU9OUyhTVkdJbWFnZUVsZW1lbnQsIFNWR0xlbmd0aCwgTGVuZ3RoLCBsZW5ndGgsIFksIHks
IFNWR05hbWVzOjp5QXR0ciwgbV95KQogQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZH
SW1hZ2VFbGVtZW50LCBTVkdMZW5ndGgsIExlbmd0aCwgbGVuZ3RoLCBXaWR0aCwgd2lkdGgsIFNW
R05hbWVzOjp3aWR0aEF0dHIsIG1fd2lkdGgpCiBBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9O
UyhTVkdJbWFnZUVsZW1lbnQsIFNWR0xlbmd0aCwgTGVuZ3RoLCBsZW5ndGgsIEhlaWdodCwgaGVp
Z2h0LCBTVkdOYW1lczo6aGVpZ2h0QXR0ciwgbV9oZWlnaHQpCi1BTklNQVRFRF9QUk9QRVJUWV9E
RUZJTklUSU9OUyhTVkdJbWFnZUVsZW1lbnQsIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8qLCBQcmVz
ZXJ2ZUFzcGVjdFJhdGlvLCBwcmVzZXJ2ZUFzcGVjdFJhdGlvLCBQcmVzZXJ2ZUFzcGVjdFJhdGlv
LCBwcmVzZXJ2ZUFzcGVjdFJhdGlvLCBTVkdOYW1lczo6cHJlc2VydmVBc3BlY3RSYXRpb0F0dHIs
IG1fcHJlc2VydmVBc3BlY3RSYXRpby5nZXQoKSkKK0FOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJ
T05TX1JFRkNPVU5URUQoU1ZHSW1hZ2VFbGVtZW50LCBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLCBQ
cmVzZXJ2ZUFzcGVjdFJhdGlvLCBwcmVzZXJ2ZUFzcGVjdFJhdGlvLCBQcmVzZXJ2ZUFzcGVjdFJh
dGlvLCBwcmVzZXJ2ZUFzcGVjdFJhdGlvLCBTVkdOYW1lczo6cHJlc2VydmVBc3BlY3RSYXRpb0F0
dHIsIG1fcHJlc2VydmVBc3BlY3RSYXRpbykKIAogdm9pZCBTVkdJbWFnZUVsZW1lbnQ6OnBhcnNl
TWFwcGVkQXR0cmlidXRlKE1hcHBlZEF0dHJpYnV0ZSAqYXR0cikKIHsKSW5kZXg6IFdlYkNvcmUv
c3ZnL1NWR0ZFRmxvb2RFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHRkVG
bG9vZEVsZW1lbnQuaAkocmV2aXNpb24gMzEyMzIpCisrKyBXZWJDb3JlL3N2Zy9TVkdGRUZsb29k
RWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zOSw3ICszOSw3IEBACiAgICAgICAgIHZpcnR1
YWwgU1ZHRkVGbG9vZCogZmlsdGVyRWZmZWN0KFNWR1Jlc291cmNlRmlsdGVyKikgY29uc3Q7CiAK
ICAgICBwcm90ZWN0ZWQ6Ci0gICAgICAgIHZpcnR1YWwgY29uc3QgU1ZHRWxlbWVudCogY29udGV4
dEVsZW1lbnQoKSBjb25zdCB7IHJldHVybiB0aGlzOyB9CisgICAgICAgIHZpcnR1YWwgU1ZHRWxl
bWVudCogY29udGV4dEVsZW1lbnQoKSB7IHJldHVybiB0aGlzOyB9CiAKICAgICBwcml2YXRlOgog
ICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRkVGbG9vZEVsZW1lbnQs
IFN0cmluZywgU3RyaW5nLCBJbjEsIGluMSkKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0ZFU3BlY3Vs
YXJMaWdodGluZ0VsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdGRVNwZWN1
bGFyTGlnaHRpbmdFbGVtZW50LmgJKHJldmlzaW9uIDMxMjMyKQorKysgV2ViQ29yZS9zdmcvU1ZH
RkVTcGVjdWxhckxpZ2h0aW5nRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC00MCw3ICs0MCw3
IEBACiAgICAgICAgIHZpcnR1YWwgU1ZHRkVTcGVjdWxhckxpZ2h0aW5nKiBmaWx0ZXJFZmZlY3Qo
U1ZHUmVzb3VyY2VGaWx0ZXIqKSBjb25zdDsKIAogICAgIHByb3RlY3RlZDoKLSAgICAgICAgdmly
dHVhbCBjb25zdCBTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIHRo
aXM7IH0KKyAgICAgICAgdmlydHVhbCBTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCgpIHsgcmV0
dXJuIHRoaXM7IH0KIAogICAgIHByaXZhdGU6CiAgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RF
Q0xBUkFUSU9OUyhTVkdGRVNwZWN1bGFyTGlnaHRpbmdFbGVtZW50LCBTdHJpbmcsIFN0cmluZywg
SW4xLCBpbjEpCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdHRWxlbWVudC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvc3ZnL1NWR0dFbGVtZW50LmgJKHJldmlzaW9uIDMxMjMyKQorKysgV2ViQ29yZS9z
dmcvU1ZHR0VsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNDgsMTAgKzQ4LDEwIEBACiAgICAg
ICAgIHZpcnR1YWwgUmVuZGVyT2JqZWN0KiBjcmVhdGVSZW5kZXJlcihSZW5kZXJBcmVuYSosIFJl
bmRlclN0eWxlKik7CiAKICAgICBwcm90ZWN0ZWQ6Ci0gICAgICAgIHZpcnR1YWwgY29uc3QgU1ZH
RWxlbWVudCogY29udGV4dEVsZW1lbnQoKSBjb25zdCB7IHJldHVybiB0aGlzOyB9CisgICAgICAg
IHZpcnR1YWwgU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSB7IHJldHVybiB0aGlzOyB9CiAK
ICAgICBwcml2YXRlOgotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFU
SU9OUyhTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBib29sLCBFeHRlcm5hbFJlc291cmNl
c1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKSAKKyAgICAgICAgQU5JTUFURURf
UFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHR0VsZW1lbnQsIFNWR0V4dGVybmFsUmVz
b3VyY2VzUmVxdWlyZWQsIGJvb2wsIEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFs
UmVzb3VyY2VzUmVxdWlyZWQpIAogCiAgICAgcHJpdmF0ZToKICAgICAgICAgZnJpZW5kIGNsYXNz
IFNWR1VzZUVsZW1lbnQ7CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdGRU9mZnNldEVsZW1lbnQuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdGRU9mZnNldEVsZW1lbnQuaAkocmV2aXNpb24g
MzEyMzIpCisrKyBXZWJDb3JlL3N2Zy9TVkdGRU9mZnNldEVsZW1lbnQuaAkod29ya2luZyBjb3B5
KQpAQCAtNDAsNyArNDAsNyBAQAogICAgICAgICB2aXJ0dWFsIFNWR0ZFT2Zmc2V0KiBmaWx0ZXJF
ZmZlY3QoU1ZHUmVzb3VyY2VGaWx0ZXIqKSBjb25zdDsKIAogICAgIHByb3RlY3RlZDoKLSAgICAg
ICAgdmlydHVhbCBjb25zdCBTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCgpIGNvbnN0IHsgcmV0
dXJuIHRoaXM7IH0KKyAgICAgICAgdmlydHVhbCBTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCgp
IHsgcmV0dXJuIHRoaXM7IH0KIAogICAgIHByaXZhdGU6CiAgICAgICAgIEFOSU1BVEVEX1BST1BF
UlRZX0RFQ0xBUkFUSU9OUyhTVkdGRU9mZnNldEVsZW1lbnQsIFN0cmluZywgU3RyaW5nLCBJbjEs
IGluMSkKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0xlbmd0aExpc3QuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3N2Zy9TVkdMZW5ndGhMaXN0LmgJKHJldmlzaW9uIDMxMjMyKQorKysgV2ViQ29yZS9z
dmcvU1ZHTGVuZ3RoTGlzdC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw3ICszNSw5IEBACiAgICAg
ICAgIHZpcnR1YWwgflNWR0xlbmd0aExpc3QoKTsKIAogICAgICAgICB2b2lkIHBhcnNlKGNvbnN0
IFN0cmluZyYgdmFsdWUsIGNvbnN0IFNWR1N0eWxlZEVsZW1lbnQqIGNvbnRleHQsIFNWR0xlbmd0
aE1vZGUgbW9kZSk7Ci0gICAgICAgIAorIAorICAgICAgICBTdHJpbmcgdmFsdWVBc1N0cmluZygp
IGNvbnN0OworCiAgICAgcHJpdmF0ZToKICAgICAgICAgU1ZHTGVuZ3RoTGlzdChjb25zdCBRdWFs
aWZpZWROYW1lJik7CiAgICAgfTsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0ZFTWVyZ2VFbGVtZW50
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHRkVNZXJnZUVsZW1lbnQuaAkocmV2aXNp
b24gMzEyMzIpCisrKyBXZWJDb3JlL3N2Zy9TVkdGRU1lcmdlRWxlbWVudC5oCSh3b3JraW5nIGNv
cHkpCkBAIC0zOCw3ICszOCw3IEBACiAgICAgICAgIHZpcnR1YWwgU1ZHRkVNZXJnZSogZmlsdGVy
RWZmZWN0KFNWR1Jlc291cmNlRmlsdGVyKikgY29uc3Q7CiAKICAgICBwcm90ZWN0ZWQ6Ci0gICAg
ICAgIHZpcnR1YWwgY29uc3QgU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSBjb25zdCB7IHJl
dHVybiB0aGlzOyB9CisgICAgICAgIHZpcnR1YWwgU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQo
KSB7IHJldHVybiB0aGlzOyB9CiAKICAgICBwcml2YXRlOgogICAgICAgICBtdXRhYmxlIFNWR0ZF
TWVyZ2UqIG1fZmlsdGVyRWZmZWN0OwpJbmRleDogV2ViQ29yZS9zdmcvU1ZHUGF0dGVybkVsZW1l
bnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdQYXR0ZXJuRWxlbWVudC5oCShyZXZp
c2lvbiAzMTIzMikKKysrIFdlYkNvcmUvc3ZnL1NWR1BhdHRlcm5FbGVtZW50LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTI0LDIxICsyNCwyMCBAQAogI2RlZmluZSBTVkdQYXR0ZXJuRWxlbWVudF9oCiAK
ICNpZiBFTkFCTEUoU1ZHKQotI2luY2x1ZGUgIlNWR1BhaW50U2VydmVyUGF0dGVybi5oIgogI2lu
Y2x1ZGUgIlNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQuaCIKICNpbmNsdWRlICJTVkdGaXRU
b1ZpZXdCb3guaCIKICNpbmNsdWRlICJTVkdMYW5nU3BhY2UuaCIKKyNpbmNsdWRlICJTVkdQYWlu
dFNlcnZlclBhdHRlcm4uaCIKICNpbmNsdWRlICJTVkdTdHlsZWRFbGVtZW50LmgiCiAjaW5jbHVk
ZSAiU1ZHVGVzdHMuaCIKKyNpbmNsdWRlICJTVkdUcmFuc2Zvcm1MaXN0LmgiCiAjaW5jbHVkZSAi
U1ZHVVJJUmVmZXJlbmNlLmgiCiAKLQogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgc3RydWN0
IFBhdHRlcm5BdHRyaWJ1dGVzOwogIAogICAgIGNsYXNzIFNWR0xlbmd0aDsKLSAgICBjbGFzcyBT
VkdUcmFuc2Zvcm1MaXN0OwogCiAgICAgY2xhc3MgU1ZHUGF0dGVybkVsZW1lbnQgOiBwdWJsaWMg
U1ZHU3R5bGVkRWxlbWVudCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1YmxpYyBT
VkdVUklSZWZlcmVuY2UsCkBAIC02MCwxMCArNTksMTAgQEAKICAgICAgICAgdmlydHVhbCBTVkdS
ZXNvdXJjZSogY2FudmFzUmVzb3VyY2UoKTsKIAogICAgIHByb3RlY3RlZDoKLSAgICAgICAgQU5J
TUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHVVJJUmVmZXJlbmNlLCBTdHJp
bmcsIEhyZWYsIGhyZWYpCi0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFS
QVRJT05TKFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGJvb2wsIEV4dGVybmFsUmVzb3Vy
Y2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpCi0gICAgICAgIEFOSU1BVEVE
X1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJT05TKFNWR0ZpdFRvVmlld0JveCwgRmxvYXRSZWN0
LCBWaWV3Qm94LCB2aWV3Qm94KQotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RF
Q0xBUkFUSU9OUyhTVkdGaXRUb1ZpZXdCb3gsIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8qLCBQcmVz
ZXJ2ZUFzcGVjdFJhdGlvLCBwcmVzZXJ2ZUFzcGVjdFJhdGlvKQorICAgICAgICBBTklNQVRFRF9Q
Uk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdQYXR0ZXJuRWxlbWVudCwgU1ZHVVJJUmVm
ZXJlbmNlLCBTdHJpbmcsIEhyZWYsIGhyZWYpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZP
UldBUkRfREVDTEFSQVRJT05TKFNWR1BhdHRlcm5FbGVtZW50LCBTVkdFeHRlcm5hbFJlc291cmNl
c1JlcXVpcmVkLCBib29sLCBFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291
cmNlc1JlcXVpcmVkKQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFU
SU9OUyhTVkdQYXR0ZXJuRWxlbWVudCwgU1ZHRml0VG9WaWV3Qm94LCBGbG9hdFJlY3QsIFZpZXdC
b3gsIHZpZXdCb3gpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJ
T05TKFNWR1BhdHRlcm5FbGVtZW50LCBTVkdGaXRUb1ZpZXdCb3gsIFNWR1ByZXNlcnZlQXNwZWN0
UmF0aW8qLCBQcmVzZXJ2ZUFzcGVjdFJhdGlvLCBwcmVzZXJ2ZUFzcGVjdFJhdGlvKQogCiAgICAg
ICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdQYXR0ZXJuRWxlbWVudCwgU1ZH
TGVuZ3RoLCBTVkdMZW5ndGgsIFgsIHgpCiAgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xB
UkFUSU9OUyhTVkdQYXR0ZXJuRWxlbWVudCwgU1ZHTGVuZ3RoLCBTVkdMZW5ndGgsIFksIHkpCkBA
IC03NSw3ICs3NCw3IEBACiAKICAgICAgICAgbXV0YWJsZSBSZWZQdHI8U1ZHUGFpbnRTZXJ2ZXJQ
YXR0ZXJuPiBtX3Jlc291cmNlOwogCi0gICAgICAgIHZpcnR1YWwgY29uc3QgU1ZHRWxlbWVudCog
Y29udGV4dEVsZW1lbnQoKSBjb25zdCB7IHJldHVybiB0aGlzOyB9CisgICAgICAgIHZpcnR1YWwg
U1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSB7IHJldHVybiB0aGlzOyB9CiAKICAgICBwcml2
YXRlOgogICAgICAgICBmcmllbmQgY2xhc3MgU1ZHUGFpbnRTZXJ2ZXJQYXR0ZXJuOwpJbmRleDog
V2ViQ29yZS9zdmcvU1ZHVXNlRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcv
U1ZHVXNlRWxlbWVudC5jcHAJKHJldmlzaW9uIDMxMjMyKQorKysgV2ViQ29yZS9zdmcvU1ZHVXNl
RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU3LDEwICs1NywxMCBAQAogICAgICwgU1ZH
TGFuZ1NwYWNlKCkKICAgICAsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQoKQogICAgICwg
U1ZHVVJJUmVmZXJlbmNlKCkKLSAgICAsIG1feCh0aGlzLCBMZW5ndGhNb2RlV2lkdGgpCi0gICAg
LCBtX3kodGhpcywgTGVuZ3RoTW9kZUhlaWdodCkKLSAgICAsIG1fd2lkdGgodGhpcywgTGVuZ3Ro
TW9kZVdpZHRoKQotICAgICwgbV9oZWlnaHQodGhpcywgTGVuZ3RoTW9kZUhlaWdodCkKKyAgICAs
IG1feChTVkdMZW5ndGgodGhpcywgTGVuZ3RoTW9kZVdpZHRoKSkKKyAgICAsIG1feShTVkdMZW5n
dGgodGhpcywgTGVuZ3RoTW9kZUhlaWdodCkpCisgICAgLCBtX3dpZHRoKFNWR0xlbmd0aCh0aGlz
LCBMZW5ndGhNb2RlV2lkdGgpKQorICAgICwgbV9oZWlnaHQoU1ZHTGVuZ3RoKHRoaXMsIExlbmd0
aE1vZGVIZWlnaHQpKQogewogfQogCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdGRUltYWdlRWxlbWVu
dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0ZFSW1hZ2VFbGVtZW50LmgJKHJldmlz
aW9uIDMxMjMyKQorKysgV2ViQ29yZS9zdmcvU1ZHRkVJbWFnZUVsZW1lbnQuaAkod29ya2luZyBj
b3B5KQpAQCAtNTAsMTEgKzUwLDExIEBACiAgICAgICAgIHZpcnR1YWwgU1ZHRkVJbWFnZSogZmls
dGVyRWZmZWN0KFNWR1Jlc291cmNlRmlsdGVyKikgY29uc3Q7CiAKICAgICBwcm90ZWN0ZWQ6Ci0g
ICAgICAgIHZpcnR1YWwgY29uc3QgU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSBjb25zdCB7
IHJldHVybiB0aGlzOyB9CisgICAgICAgIHZpcnR1YWwgU1ZHRWxlbWVudCogY29udGV4dEVsZW1l
bnQoKSB7IHJldHVybiB0aGlzOyB9CiAKICAgICBwcml2YXRlOgotICAgICAgICBBTklNQVRFRF9Q
Uk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdVUklSZWZlcmVuY2UsIFN0cmluZywgSHJl
ZiwgaHJlZikKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMo
U1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgYm9vbCwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1
aXJlZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkKKyAgICAgICAgQU5JTUFURURfUFJPUEVS
VFlfRk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHRkVJbWFnZUVsZW1lbnQsIFNWR1VSSVJlZmVyZW5j
ZSwgU3RyaW5nLCBIcmVmLCBocmVmKQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJE
X0RFQ0xBUkFUSU9OUyhTVkdGRUltYWdlRWxlbWVudCwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1
aXJlZCwgYm9vbCwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJjZXNS
ZXF1aXJlZCkKICAKICAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0ZF
SW1hZ2VFbGVtZW50LCBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvKiwgUmVmUHRyPFNWR1ByZXNlcnZl
QXNwZWN0UmF0aW8+LCBQcmVzZXJ2ZUFzcGVjdFJhdGlvLCBwcmVzZXJ2ZUFzcGVjdFJhdGlvKQog
CkBAIC02Niw1ICs2NiwzIEBACiAKICNlbmRpZiAvLyBFTkFCTEUoU1ZHKQogI2VuZGlmCi0KLS8v
IHZpbTp0cz00Om5vZXQKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1NWR1Jvb3RJbmxpbmVCb3gu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1NWR1Jvb3RJbmxpbmVCb3guY3Bw
CShyZXZpc2lvbiAzMTIzMikKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1NWR1Jvb3RJbmxpbmVCb3gu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMTgsNiArMzE4LDMzIEBACiAgICAgcmV0dXJuIEZsb2F0
UG9pbnQobG93WCwgbG93WSk7CiB9CiAKK3N0YXRpYyBpbmxpbmUgU1ZHVGV4dENvbnRlbnRFbGVt
ZW50KiBub2RlVG9UZXh0Q29udGVudEVsZW1lbnQoTm9kZSogbm9kZSkKK3sKKyAgICBpZiAoIW5v
ZGUgfHwgIW5vZGUtPmlzU1ZHRWxlbWVudCgpKQorICAgICAgICByZXR1cm4gMDsKKworICAgIGlm
IChub2RlLT5oYXNUYWdOYW1lKFNWR05hbWVzOjp0ZXh0VGFnKQorICAgICAgICB8fCBub2RlLT5o
YXNUYWdOYW1lKFNWR05hbWVzOjp0cmVmVGFnKQorICAgICAgICB8fCBub2RlLT5oYXNUYWdOYW1l
KFNWR05hbWVzOjp0c3BhblRhZykKKyAgICAgICAgfHwgbm9kZS0+aGFzVGFnTmFtZShTVkdOYW1l
czo6dGV4dFBhdGhUYWcpKQorICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFNWR1RleHRDb250
ZW50RWxlbWVudCo+KG5vZGUpOworCisgICAgcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbmxpbmUg
U1ZHVGV4dFBvc2l0aW9uaW5nRWxlbWVudCogbm9kZVRvVGV4dFBvc2l0aW9uaW5nRWxlbWVudChO
b2RlKiBub2RlKQoreworICAgIGlmICghbm9kZSB8fCAhbm9kZS0+aXNTVkdFbGVtZW50KCkpCisg
ICAgICAgIHJldHVybiAwOworCisgICAgaWYgKG5vZGUtPmhhc1RhZ05hbWUoU1ZHTmFtZXM6OnRl
eHRUYWcpCisgICAgICAgIHx8IG5vZGUtPmhhc1RhZ05hbWUoU1ZHTmFtZXM6OnRyZWZUYWcpCisg
ICAgICAgIHx8IG5vZGUtPmhhc1RhZ05hbWUoU1ZHTmFtZXM6OnRzcGFuVGFnKSkKKyAgICAgICAg
IHJldHVybiBzdGF0aWNfY2FzdDxTVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50Kj4obm9kZSk7CisK
KyAgICByZXR1cm4gMDsKK30KKwogLy8gSGVscGVyIGZ1bmN0aW9uCiBzdGF0aWMgZmxvYXQgY2Fs
Y3VsYXRlS2VybmluZyhSZW5kZXJPYmplY3QqIGl0ZW0pCiB7CkBAIC04OTUsNyArOTIyLDcgQEAK
ICAgICBpZiAoc3RhcnQtPmlzUm9vdElubGluZUJveCgpKSB7CiAgICAgICAgIEFTU0VSVChzdGFy
dC0+b2JqZWN0KCktPmVsZW1lbnQoKS0+aGFzVGFnTmFtZShTVkdOYW1lczo6dGV4dFRhZykpOwog
Ci0gICAgICAgIFNWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQqIHBvc2l0aW9uaW5nRWxlbWVudCA9
IHN0YXRpY19jYXN0PFNWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQqPihzdGFydC0+b2JqZWN0KCkt
PmVsZW1lbnQoKSk7CisgICAgICAgIFNWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQqIHBvc2l0aW9u
aW5nRWxlbWVudCA9IG5vZGVUb1RleHRQb3NpdGlvbmluZ0VsZW1lbnQoc3RhcnQtPm9iamVjdCgp
LT5lbGVtZW50KCkpOwogICAgICAgICBBU1NFUlQocG9zaXRpb25pbmdFbGVtZW50KTsKICAgICAg
ICAgQVNTRVJUKHBvc2l0aW9uaW5nRWxlbWVudC0+cGFyZW50Tm9kZSgpKTsKIApAQCAtOTEzLDcg
Kzk0MCw3IEBACiAgICAgICAgICAgICBib29sIGlzVGV4dFBhdGggPSBmbG93Qm94LT5vYmplY3Qo
KS0+ZWxlbWVudCgpLT5oYXNUYWdOYW1lKFNWR05hbWVzOjp0ZXh0UGF0aFRhZyk7CiAKICAgICAg
ICAgICAgIGlmICghaXNUZXh0UGF0aCAmJiAhaXNBbmNob3IpIHsKLSAgICAgICAgICAgICAgICBT
VkdUZXh0UG9zaXRpb25pbmdFbGVtZW50KiBwb3NpdGlvbmluZ0VsZW1lbnQgPSBzdGF0aWNfY2Fz
dDxTVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50Kj4oZmxvd0JveC0+b2JqZWN0KCktPmVsZW1lbnQo
KSk7CisgICAgICAgICAgICAgICAgU1ZHVGV4dFBvc2l0aW9uaW5nRWxlbWVudCogcG9zaXRpb25p
bmdFbGVtZW50ID0gbm9kZVRvVGV4dFBvc2l0aW9uaW5nRWxlbWVudChmbG93Qm94LT5vYmplY3Qo
KS0+ZWxlbWVudCgpKTsKICAgICAgICAgICAgICAgICBBU1NFUlQocG9zaXRpb25pbmdFbGVtZW50
KTsKICAgICAgICAgICAgICAgICBBU1NFUlQocG9zaXRpb25pbmdFbGVtZW50LT5wYXJlbnROb2Rl
KCkpOwogCkBAIC05MjIsMTAgKzk0OSw3IEBACiAgICAgICAgICAgICAgICAgaW5mby5zZXRJblBh
dGhMYXlvdXQodHJ1ZSk7CiAKICAgICAgICAgICAgICAgICAvLyBIYW5kbGUgdGV4dC1hbmNob3Iv
dGV4dExlbmd0aCBvbiBwYXRoLCB3aGljaCBpcyBzcGVjaWFsLgotICAgICAgICAgICAgICAgIFNW
R1RleHRDb250ZW50RWxlbWVudCogdGV4dENvbnRlbnQgPSAwOwotICAgICAgICAgICAgICAgIE5v
ZGUqIG5vZGUgPSBmbG93Qm94LT5vYmplY3QoKS0+ZWxlbWVudCgpOwotICAgICAgICAgICAgICAg
IGlmIChub2RlICYmIG5vZGUtPmlzU1ZHRWxlbWVudCgpKQotICAgICAgICAgICAgICAgICAgICB0
ZXh0Q29udGVudCA9IHN0YXRpY19jYXN0PFNWR1RleHRDb250ZW50RWxlbWVudCo+KG5vZGUpOwor
ICAgICAgICAgICAgICAgIFNWR1RleHRDb250ZW50RWxlbWVudCogdGV4dENvbnRlbnQgPSBub2Rl
VG9UZXh0Q29udGVudEVsZW1lbnQoZmxvd0JveC0+b2JqZWN0KCktPmVsZW1lbnQoKSk7CiAgICAg
ICAgICAgICAgICAgQVNTRVJUKHRleHRDb250ZW50KTsKIAogICAgICAgICAgICAgICAgIEVMZW5n
dGhBZGp1c3QgbGVuZ3RoQWRqdXN0ID0gKEVMZW5ndGhBZGp1c3QpIHRleHRDb250ZW50LT5sZW5n
dGhBZGp1c3QoKTsKQEAgLTEzMzksMTIgKzEzNjMsMTYgQEAKICAgICAgICAgICAgIEFTU0VSVCh0
ZXh0KTsKICAgICAgICAgICAgIEFTU0VSVCh0ZXh0LT5lbGVtZW50KCkpOwogCi0gICAgICAgICAg
ICBTVkdUZXh0Q29udGVudEVsZW1lbnQqIHRleHRDb250ZW50ID0gMDsKLSAgICAgICAgICAgIE5v
ZGUqIG5vZGUgPSB0ZXh0LT5lbGVtZW50KCktPnBhcmVudCgpOwotICAgICAgICAgICAgaWYgKG5v
ZGUgJiYgbm9kZS0+aXNTVkdFbGVtZW50KCkpCi0gICAgICAgICAgICAgICAgdGV4dENvbnRlbnQg
PSBzdGF0aWNfY2FzdDxTVkdUZXh0Q29udGVudEVsZW1lbnQqPihub2RlKTsKLSAgICAgICAgICAg
IEFTU0VSVCh0ZXh0Q29udGVudCk7CisgICAgICAgICAgICBTVkdUZXh0Q29udGVudEVsZW1lbnQq
IHRleHRDb250ZW50ID0gbm9kZVRvVGV4dENvbnRlbnRFbGVtZW50KHRleHQtPmVsZW1lbnQoKS0+
cGFyZW50KCkpOworICAgICAgICAgICAgaWYgKCF0ZXh0Q29udGVudCkgeworICAgICAgICAgICAg
ICAgIC8vIHRleHQtPmVsZW1lbnQoKS0+cGFyZW50KCkgY2FuIHBvaW50IHRvIGEgPGE+IGVsZW1l
bnQuIEFzayBmb3IgaXRzIHBhcmVudC4KKyAgICAgICAgICAgICAgICB0ZXh0Q29udGVudCA9IG5v
ZGVUb1RleHRDb250ZW50RWxlbWVudCh0ZXh0LT5lbGVtZW50KCktPnBhcmVudCgpLT5wYXJlbnQo
KSk7CisgICAgICAgICAgICAgICAgQVNTRVJUKHRleHRDb250ZW50KTsKKyAgICAgICAgICAgIH0K
IAorICAgICAgICAgICAgaWYgKCF0ZXh0Q29udGVudCkKKyAgICAgICAgICAgICAgICBjb250aW51
ZTsKKwogICAgICAgICAgICAgLy8gU3RhcnQgbmV3IGNoYXJhY3RlciByYW5nZSBmb3IgdGhlIGZp
cnN0IGNodW5rCiAgICAgICAgICAgICBib29sIGlzRmlyc3RDaGFyYWN0ZXIgPSBpbmZvLnN2Z1Rl
eHRDaHVua3MuaXNFbXB0eSgpICYmIGluZm8uY2h1bmsuc3RhcnQgPT0gaW5mby5pdCAmJiBpbmZv
LmNodW5rLnN0YXJ0ID09IGluZm8uY2h1bmsuZW5kOwogICAgICAgICAgICAgaWYgKGlzRmlyc3RD
aGFyYWN0ZXIpIHsKSW5kZXg6IFdlYkNvcmUvZG9tL0VsZW1lbnQuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL2RvbS9FbGVtZW50LmgJKHJldmlzaW9uIDMxMjMyKQorKysgV2ViQ29yZS9kb20vRWxl
bWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC00Nyw3ICs0Nyw3IEBACiAgICAgdmlydHVhbCBjb25z
dCBDbGFzc05hbWVzKiBnZXRDbGFzc05hbWVzKCkgY29uc3Q7CiAgICAgY29uc3QgQXRvbWljU3Ry
aW5nJiBnZXRJREF0dHJpYnV0ZSgpIGNvbnN0OwogICAgIGJvb2wgaGFzQXR0cmlidXRlKGNvbnN0
IFF1YWxpZmllZE5hbWUmKSBjb25zdDsKLSAgICBjb25zdCBBdG9taWNTdHJpbmcmIGdldEF0dHJp
YnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJikgY29uc3Q7CisgICAgdmlydHVhbCBjb25zdCBBdG9t
aWNTdHJpbmcmIGdldEF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJikgY29uc3Q7CiAgICAg
dm9pZCBzZXRBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIFN0cmluZ0ltcGwqIHZhbHVl
LCBFeGNlcHRpb25Db2RlJik7CiAgICAgdm9pZCByZW1vdmVBdHRyaWJ1dGUoY29uc3QgUXVhbGlm
aWVkTmFtZSYsIEV4Y2VwdGlvbkNvZGUmKTsKIApAQCAtNTYsNyArNTYsNyBAQAogICAgIGJvb2wg
aGFzQXR0cmlidXRlKGNvbnN0IFN0cmluZyYgbmFtZSkgY29uc3Q7CiAgICAgYm9vbCBoYXNBdHRy
aWJ1dGVOUyhjb25zdCBTdHJpbmcmIG5hbWVzcGFjZVVSSSwgY29uc3QgU3RyaW5nJiBsb2NhbE5h
bWUpIGNvbnN0OwogCi0gICAgY29uc3QgQXRvbWljU3RyaW5nJiBnZXRBdHRyaWJ1dGUoY29uc3Qg
U3RyaW5nJiBuYW1lKSBjb25zdDsKKyAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgZ2V0
QXR0cmlidXRlKGNvbnN0IFN0cmluZyYgbmFtZSkgY29uc3Q7CiAgICAgY29uc3QgQXRvbWljU3Ry
aW5nJiBnZXRBdHRyaWJ1dGVOUyhjb25zdCBTdHJpbmcmIG5hbWVzcGFjZVVSSSwgY29uc3QgU3Ry
aW5nJiBsb2NhbE5hbWUpIGNvbnN0OwogCiAgICAgdm9pZCBzZXRBdHRyaWJ1dGUoY29uc3QgU3Ry
aW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHZhbHVlLCBFeGNlcHRpb25Db2RlJik7CkluZGV4OiBX
ZWJDb3JlL2RvbS9OYW1lZEF0dHJNYXAuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9OYW1l
ZEF0dHJNYXAuaAkocmV2aXNpb24gMzEyMzIpCisrKyBXZWJDb3JlL2RvbS9OYW1lZEF0dHJNYXAu
aAkod29ya2luZyBjb3B5KQpAQCAtODcsMTEgKzg3LDEyIEBACiAgICAgCiAgICAgYm9vbCBtYXBz
RXF1aXZhbGVudChjb25zdCBOYW1lZEF0dHJNYXAqIG90aGVyTWFwKSBjb25zdDsKIAotcHJvdGVj
dGVkOgogICAgIC8vIHRoaXMgbWV0aG9kIGlzIGludGVybmFsLCBkb2VzIG5vIGVycm9yIGNoZWNr
aW5nIGF0IGFsbAogICAgIHZvaWQgYWRkQXR0cmlidXRlKFBhc3NSZWZQdHI8QXR0cmlidXRlPik7
CiAgICAgLy8gdGhpcyBtZXRob2QgaXMgaW50ZXJuYWwsIGRvZXMgbm8gZXJyb3IgY2hlY2tpbmcg
YXQgYWxsCiAgICAgdm9pZCByZW1vdmVBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFt
ZSk7CisKK3Byb3RlY3RlZDoKICAgICB2aXJ0dWFsIHZvaWQgY2xlYXJBdHRyaWJ1dGVzKCk7CiAg
ICAgdm9pZCBkZXRhY2hGcm9tRWxlbWVudCgpOwogCkluZGV4OiBXZWJDb3JlL0NoYW5nZUxvZwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMzEyMzUpCisrKyBXZWJD
b3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1MiBAQAorMjAwOC0wMy0y
MiAgTmlrb2xhcyBaaW1tZXJtYW5uICA8emltbWVybWFubkBrZGUub3JnPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZpeGVzOiBodHRwOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzc3OSAoU1ZHIDEuMSBFcnJhdGEgZGVtYW5kcyAi
U1ZHIEphdmFTY3JpcHQgTGl2ZW5lc3MiIHN1cHBvcnQpCisKKyAgICAgICAgU1ZHIEVycmF0YSBz
dGF0ZXM6ICJBbGwgU1ZHIERPTSBvYmplY3RzIHRoYXQgZGlyZWN0bHkgY29ycmVzcG9uZCB0byBh
bgorICAgICAgICBhdHRyaWJ1dGUsIGUuZy4gdGhlIFNWR0FuaW1hdGVkTGVuZ3RoICdyeScgaW4g
YW4gU1ZHUmVjdEVsZW1lbnQsIGFyZSBsaXZlLiBUaGlzCisgICAgICAgIG1lYW5zIHRoYXQgYW55
IGNoYW5nZXMgbWFkZSB0byB0aGUgYXR0cmlidXRlIGFyZSBpbW1lZGlhdGVseSByZWZsZWN0ZWQg
aW4gdGhlCisgICAgICAgIGNvcnJlc3BvbmRpbmcgU1ZHIERPTSBvYmplY3QuIiAoc2VlIGxpbmtl
ZCBVUkwgb24gYnVnIHJlcG9ydCkKKworICAgICAgICBVbnRpbCBub3cgb25seSBYTUwgLT4gU1ZH
IERPTSBjaGFuZ2VzIHRvb2sgYWZmZWN0LCBha2EuIGNoYW5naW5nIHRoZSAncngnIGF0dHJpYnV0
ZSBvZiBhIDxyZWN0PgorICAgICAgICBlbGVtZW50IHJlc3V0ZWQgaW4gY2hhbmdlcyB3aGVuIGFj
Y2Vzc2luZyAncngnIHRocm91Z2ggU1ZHIERPTSAocnguYmFzZVZhbC52YWx1ZSkuCisKKyAgICAg
ICAgQWRkIGEgbmV3IHN5bmNocm9uaXphdGlvbiBsYXllciB0byBoYW5kbGUgU1ZHIERPTSAtPiBY
TUwgY2hhbmdlcy4KKworICAgICAgICBBZGRlZCBUZXN0OiBzdmcvY3VzdG9tL3N2Zy14bWwtZG9t
LXN5bmMuaHRtbAorCisgICAgICAgICogZG9tL0VsZW1lbnQuaDoKKyAgICAgICAgKiBkb20vTmFt
ZWRBdHRyTWFwLmg6CisgICAgICAgICogcmVuZGVyaW5nL1NWR1Jvb3RJbmxpbmVCb3guY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6bm9kZVRvVGV4dENvbnRlbnRFbGVtZW50KToKKyAgICAgICAgKFdl
YkNvcmU6Om5vZGVUb1RleHRQb3NpdGlvbmluZ0VsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6
U1ZHUm9vdElubGluZUJveDo6YnVpbGRMYXlvdXRJbmZvcm1hdGlvbik6CisgICAgICAgIChXZWJD
b3JlOjpTVkdSb290SW5saW5lQm94OjpidWlsZFRleHRDaHVua3MpOgorICAgICAgICAqIHN2Zy9T
VkdBRWxlbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQUVsZW1lbnQ6OmNvbnRleHRFbGVt
ZW50KToKKyAgICAgICAgKiBzdmcvU1ZHQW5pbWF0ZUNvbG9yRWxlbWVudC5oOgorICAgICAgICAo
V2ViQ29yZTo6U1ZHQW5pbWF0ZUNvbG9yRWxlbWVudDo6Y29udGV4dEVsZW1lbnQpOgorICAgICAg
ICAqIHN2Zy9TVkdBbmltYXRlRWxlbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0
ZUVsZW1lbnQ6OmNvbnRleHRFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHQW5pbWF0ZU1vdGlv
bkVsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0FuaW1hdGVNb3Rpb25FbGVtZW50Ojpj
b250ZXh0RWxlbWVudCk6CisgICAgICAgICogc3ZnL1NWR0FuaW1hdGVUcmFuc2Zvcm1FbGVtZW50
Lmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRlVHJhbnNmb3JtRWxlbWVudDo6Y29udGV4
dEVsZW1lbnQpOgorICAgICAgICAqIHN2Zy9TVkdBbmltYXRlZFRlbXBsYXRlLmg6CisgICAgICAg
IChXZWJDb3JlOjpTVkdBbmltYXRlZFRlbXBsYXRlOjp0b1N0cmluZyk6CisgICAgICAgIChXZWJD
b3JlOjpTVkdBbmltYXRlZFRlbXBsYXRlOjphc3NvY2lhdGVkQXR0cmlidXRlTmFtZSk6CisgICAg
ICAgIChXZWJDb3JlOjpsb29rdXBPckNyZWF0ZVdyYXBwZXIpOgorICAgICAgICAoV2ViQ29yZTo6
U1ZHQW5pbWF0ZWRBbmdsZTo6U1ZHQW5pbWF0ZWRBbmdsZSk6CisgICAgICAgIChXZWJDb3JlOjpT
VkdBbmltYXRlZEFuZ2xlOjp0b1N0cmluZyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRl
ZEJvb2xlYW46OlNWR0FuaW1hdGVkQm9vbGVhbik6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmlt
YXRlZEJvb2xlYW46OnRvU3RyaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0FuaW1hdGVkRW51
bWVyYXRpb246OlNWR0FuaW1hdGVkRW51bWVyYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6U1ZH
QW5pbWF0ZWRFbnVtZXJhdGlvbjo6dG9TdHJpbmcpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5p
bWF0ZWRJbnRlZ2VyOjpTVkdBbmltYXRlZEludGVnZXIpOgorICAgICAgICAoV2ViQ29yZTo6U1ZH
QW5pbWF0ZWRJbnRlZ2VyOjp0b1N0cmluZyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRl
ZExlbmd0aDo6U1ZHQW5pbWF0ZWRMZW5ndGgpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0
ZWRMZW5ndGg6OnRvU3RyaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0FuaW1hdGVkTGVuZ3Ro
TGlzdDo6U1ZHQW5pbWF0ZWRMZW5ndGhMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0FuaW1h
dGVkTGVuZ3RoTGlzdDo6dG9TdHJpbmcpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZWRO
dW1iZXI6OlNWR0FuaW1hdGVkTnVtYmVyKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0FuaW1hdGVk
TnVtYmVyOjp0b1N0cmluZyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRlZE51bWJlckxp
c3Q6OlNWR0FuaW1hdGVkTnVtYmVyTGlzdCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRl
ZE51bWJlckxpc3Q6OnRvU3RyaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0FuaW1hdGVkUHJl
c2VydmVBc3BlY3RSYXRpbzo6U1ZHQW5pbWF0ZWRQcmVzZXJ2ZUFzcGVjdFJhdGlvKToKKyAgICAg
ICAgKFdlYkNvcmU6OlNWR0FuaW1hdGVkUHJlc2VydmVBc3BlY3RSYXRpbzo6dG9TdHJpbmcpOgor
ICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZWRSZWN0OjpTVkdBbmltYXRlZFJlY3QpOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZWRSZWN0Ojp0b1N0cmluZyk6CisgICAgICAgIChXZWJD
b3JlOjpTVkdBbmltYXRlZFN0cmluZzo6U1ZHQW5pbWF0ZWRTdHJpbmcpOgorICAgICAgICAoV2Vi
Q29yZTo6U1ZHQW5pbWF0ZWRTdHJpbmc6OnRvU3RyaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlNW
R0FuaW1hdGVkVHJhbnNmb3JtTGlzdDo6U1ZHQW5pbWF0ZWRUcmFuc2Zvcm1MaXN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OlNWR0FuaW1hdGVkVHJhbnNmb3JtTGlzdDo6dG9TdHJpbmcpOgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZWRUeXBlOjpTVkdBbmltYXRlZFR5cGUpOgorICAgICAgICAq
IHN2Zy9TVkdBbmltYXRpb25FbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR0NpcmNsZUVsZW1l
bnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0NpcmNsZUVsZW1lbnQ6OmNvbnRleHRFbGVtZW50
KToKKyAgICAgICAgKiBzdmcvU1ZHQ2xpcFBhdGhFbGVtZW50Lmg6CisgICAgICAgIChXZWJDb3Jl
OjpTVkdDbGlwUGF0aEVsZW1lbnQ6OmNvbnRleHRFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZH
Q29tcG9uZW50VHJhbnNmZXJGdW5jdGlvbkVsZW1lbnQuY3BwOgorICAgICAgICAqIHN2Zy9TVkdD
b21wb25lbnRUcmFuc2ZlckZ1bmN0aW9uRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdDdXJz
b3JFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0N1cnNvckVsZW1lbnQ6OlNWR0N1
cnNvckVsZW1lbnQpOgorICAgICAgICAqIHN2Zy9TVkdDdXJzb3JFbGVtZW50Lmg6CisgICAgICAg
IChXZWJDb3JlOjpTVkdDdXJzb3JFbGVtZW50Ojpjb250ZXh0RWxlbWVudCk6CisgICAgICAgICog
c3ZnL1NWR0RlZnNFbGVtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdEZWZzRWxlbWVudDo6
Y29udGV4dEVsZW1lbnQpOgorICAgICAgICAqIHN2Zy9TVkdFbGVtZW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlNWR0VsZW1lbnQ6OmdldEF0dHJpYnV0ZSk6CisgICAgICAgICogc3ZnL1NWR0Vs
ZW1lbnQuaDoKKyAgICAgICAgKFN0b3JlZFR5cGVXaXRoRGlydHlGbGFnOjpTdG9yZWRUeXBlV2l0
aERpcnR5RmxhZyk6CisgICAgICAgIChTdG9yZWRUeXBlV2l0aERpcnR5RmxhZzo6b3BlcmF0b3I9
KToKKyAgICAgICAgKFN0b3JlZFR5cGVXaXRoRGlydHlGbGFnOjpvcGVyYXRvcj09KToKKyAgICAg
ICAgKFN0b3JlZFR5cGVXaXRoRGlydHlGbGFnOjpvcGVyYXRvciE9KToKKyAgICAgICAgKFN0b3Jl
ZFR5cGVXaXRoRGlydHlGbGFnOjpvcGVyYXRvciBTdG9yZWRUeXBlKToKKyAgICAgICAgKFdlYkNv
cmU6OlNWR0VsZW1lbnQ6Omludm9rZVNWR1Byb3BlcnR5U3luY2hyb25pemVyKToKKyAgICAgICAg
KFdlYkNvcmU6OlNWR0VsZW1lbnQ6OmFkZFNWR1Byb3BlcnR5U3luY2hyb25pemVyKToKKyAgICAg
ICAgKiBzdmcvU1ZHRWxsaXBzZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRWxs
aXBzZUVsZW1lbnQ6OlNWR0VsbGlwc2VFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHRWxsaXBz
ZUVsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0VsbGlwc2VFbGVtZW50Ojpjb250ZXh0
RWxlbWVudCk6CisgICAgICAgICogc3ZnL1NWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQuaDoK
KyAgICAgICAgKiBzdmcvU1ZHRkVCbGVuZEVsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNW
R0ZFQmxlbmRFbGVtZW50Ojpjb250ZXh0RWxlbWVudCk6CisgICAgICAgICogc3ZnL1NWR0ZFQ29s
b3JNYXRyaXhFbGVtZW50LmNwcDoKKyAgICAgICAgKiBzdmcvU1ZHRkVDb2xvck1hdHJpeEVsZW1l
bnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZFQ29sb3JNYXRyaXhFbGVtZW50Ojpjb250ZXh0
RWxlbWVudCk6CisgICAgICAgICogc3ZnL1NWR0ZFQ29tcG9uZW50VHJhbnNmZXJFbGVtZW50Lmg6
CisgICAgICAgIChXZWJDb3JlOjpTVkdGRUNvbXBvbmVudFRyYW5zZmVyRWxlbWVudDo6Y29udGV4
dEVsZW1lbnQpOgorICAgICAgICAqIHN2Zy9TVkdGRUNvbXBvc2l0ZUVsZW1lbnQuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OlNWR0ZFQ29tcG9zaXRlRWxlbWVudDo6Y29udGV4dEVsZW1lbnQpOgorICAg
ICAgICAqIHN2Zy9TVkdGRURpZmZ1c2VMaWdodGluZ0VsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNv
cmU6OlNWR0ZFRGlmZnVzZUxpZ2h0aW5nRWxlbWVudDo6Y29udGV4dEVsZW1lbnQpOgorICAgICAg
ICAqIHN2Zy9TVkdGRURpc3BsYWNlbWVudE1hcEVsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6
OlNWR0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudDo6Y29udGV4dEVsZW1lbnQpOgorICAgICAgICAq
IHN2Zy9TVkdGRUZsb29kRWxlbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRkVGbG9vZEVs
ZW1lbnQ6OmNvbnRleHRFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHRkVHYXVzc2lhbkJsdXJF
bGVtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdGRUdhdXNzaWFuQmx1ckVsZW1lbnQ6OmNv
bnRleHRFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHRkVJbWFnZUVsZW1lbnQuY3BwOgorICAg
ICAgICAqIHN2Zy9TVkdGRUltYWdlRWxlbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRkVJ
bWFnZUVsZW1lbnQ6OmNvbnRleHRFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHRkVMaWdodEVs
ZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHRkVNZXJnZUVsZW1lbnQuaDoKKyAgICAgICAgKFdl
YkNvcmU6OlNWR0ZFTWVyZ2VFbGVtZW50Ojpjb250ZXh0RWxlbWVudCk6CisgICAgICAgICogc3Zn
L1NWR0ZFTWVyZ2VOb2RlRWxlbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRkVNZXJnZU5v
ZGVFbGVtZW50Ojpjb250ZXh0RWxlbWVudCk6CisgICAgICAgICogc3ZnL1NWR0ZFT2Zmc2V0RWxl
bWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRkVPZmZzZXRFbGVtZW50Ojpjb250ZXh0RWxl
bWVudCk6CisgICAgICAgICogc3ZnL1NWR0ZFU3BlY3VsYXJMaWdodGluZ0VsZW1lbnQuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OlNWR0ZFU3BlY3VsYXJMaWdodGluZ0VsZW1lbnQ6OmNvbnRleHRFbGVt
ZW50KToKKyAgICAgICAgKiBzdmcvU1ZHRkVUaWxlRWxlbWVudC5oOgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHRkVUaWxlRWxlbWVudDo6Y29udGV4dEVsZW1lbnQpOgorICAgICAgICAqIHN2Zy9TVkdG
RVR1cmJ1bGVuY2VFbGVtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdGRVR1cmJ1bGVuY2VF
bGVtZW50Ojpjb250ZXh0RWxlbWVudCk6CisgICAgICAgICogc3ZnL1NWR0ZpbHRlckVsZW1lbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRmlsdGVyRWxlbWVudDo6U1ZHRmlsdGVyRWxlbWVu
dCk6CisgICAgICAgICogc3ZnL1NWR0ZpbHRlckVsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6
OlNWR0ZpbHRlckVsZW1lbnQ6OmNvbnRleHRFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHRmls
dGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNW
R0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlczo6U1ZHRmlsdGVyUHJpbWl0aXZlU3Rh
bmRhcmRBdHRyaWJ1dGVzKToKKyAgICAgICAgKiBzdmcvU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRh
cmRBdHRyaWJ1dGVzLmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdGaWx0ZXJQcmltaXRpdmVTdGFu
ZGFyZEF0dHJpYnV0ZXM6OmNvbnRleHRFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHRml0VG9W
aWV3Qm94LmNwcDoKKyAgICAgICAgKiBzdmcvU1ZHRml0VG9WaWV3Qm94Lmg6CisgICAgICAgICog
c3ZnL1NWR0ZvbnRFbGVtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdGb250RWxlbWVudDo6
Y29udGV4dEVsZW1lbnQpOgorICAgICAgICAqIHN2Zy9TVkdGb3JlaWduT2JqZWN0RWxlbWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdGb3JlaWduT2JqZWN0RWxlbWVudDo6U1ZHRm9yZWln
bk9iamVjdEVsZW1lbnQpOgorICAgICAgICAqIHN2Zy9TVkdGb3JlaWduT2JqZWN0RWxlbWVudC5o
OgorICAgICAgICAoV2ViQ29yZTo6U1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQ6OmNvbnRleHRFbGVt
ZW50KToKKyAgICAgICAgKiBzdmcvU1ZHR0VsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNW
R0dFbGVtZW50Ojpjb250ZXh0RWxlbWVudCk6CisgICAgICAgICogc3ZnL1NWR0dyYWRpZW50RWxl
bWVudC5jcHA6CisgICAgICAgICogc3ZnL1NWR0dyYWRpZW50RWxlbWVudC5oOgorICAgICAgICAq
IHN2Zy9TVkdJbWFnZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHSW1hZ2VFbGVt
ZW50OjpTVkdJbWFnZUVsZW1lbnQpOgorICAgICAgICAqIHN2Zy9TVkdJbWFnZUVsZW1lbnQuaDoK
KyAgICAgICAgKFdlYkNvcmU6OlNWR0ltYWdlRWxlbWVudDo6Y29udGV4dEVsZW1lbnQpOgorICAg
ICAgICAqIHN2Zy9TVkdMZW5ndGguY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHTGVuZ3RoOjpT
VkdMZW5ndGgpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHTGVuZ3RoOjpvcGVyYXRvcj0pOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHTGVuZ3RoOjpvcGVyYXRvcj09KToKKyAgICAgICAgKFdlYkNvcmU6
OlNWR0xlbmd0aDo6b3BlcmF0b3IhPSk6CisgICAgICAgICogc3ZnL1NWR0xlbmd0aC5oOgorICAg
ICAgICAqIHN2Zy9TVkdMZW5ndGhMaXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0xlbmd0
aExpc3Q6OnZhbHVlQXNTdHJpbmcpOgorICAgICAgICAqIHN2Zy9TVkdMZW5ndGhMaXN0Lmg6Cisg
ICAgICAgICogc3ZnL1NWR0xpbmVFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0xp
bmVFbGVtZW50OjpTVkdMaW5lRWxlbWVudCk6CisgICAgICAgICogc3ZnL1NWR0xpbmVFbGVtZW50
Lmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdMaW5lRWxlbWVudDo6Y29udGV4dEVsZW1lbnQpOgor
ICAgICAgICAqIHN2Zy9TVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U1ZHTGluZWFyR3JhZGllbnRFbGVtZW50OjpTVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQp
OgorICAgICAgICAoV2ViQ29yZTo6U1ZHTGluZWFyR3JhZGllbnRFbGVtZW50Ojpjb2xsZWN0R3Jh
ZGllbnRQcm9wZXJ0aWVzKToKKyAgICAgICAgKiBzdmcvU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50
Lmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQ6OmNvbnRleHRF
bGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHTVBhdGhFbGVtZW50Lmg6CisgICAgICAgIChXZWJD
b3JlOjpTVkdNUGF0aEVsZW1lbnQ6OmNvbnRleHRFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZH
TWFya2VyRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdNYXJrZXJFbGVtZW50OjpT
VkdNYXJrZXJFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHTWFya2VyRWxlbWVudC5oOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHTWFya2VyRWxlbWVudDo6Y29udGV4dEVsZW1lbnQpOgorICAgICAg
ICAqIHN2Zy9TVkdNYXNrRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdNYXNrRWxl
bWVudDo6U1ZHTWFza0VsZW1lbnQpOgorICAgICAgICAqIHN2Zy9TVkdNYXNrRWxlbWVudC5oOgor
ICAgICAgICAoV2ViQ29yZTo6U1ZHTWFza0VsZW1lbnQ6OmNvbnRleHRFbGVtZW50KToKKyAgICAg
ICAgKiBzdmcvU1ZHTnVtYmVyTGlzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdOdW1iZXJM
aXN0Ojp2YWx1ZUFzU3RyaW5nKToKKyAgICAgICAgKiBzdmcvU1ZHTnVtYmVyTGlzdC5oOgorICAg
ICAgICAqIHN2Zy9TVkdQYXRoRWxlbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUGF0aEVs
ZW1lbnQ6OmNvbnRleHRFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHUGF0dGVybkVsZW1lbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUGF0dGVybkVsZW1lbnQ6OlNWR1BhdHRlcm5FbGVt
ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1BhdHRlcm5FbGVtZW50Ojpjb2xsZWN0UGF0dGVy
blByb3BlcnRpZXMpOgorICAgICAgICAqIHN2Zy9TVkdQYXR0ZXJuRWxlbWVudC5oOgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHUGF0dGVybkVsZW1lbnQ6OmNvbnRleHRFbGVtZW50KToKKyAgICAgICAg
KiBzdmcvU1ZHUG9seUVsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1BvbHlFbGVtZW50
Ojpjb250ZXh0RWxlbWVudCk6CisgICAgICAgICogc3ZnL1NWR1ByZXNlcnZlQXNwZWN0UmF0aW8u
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJlc2VydmVBc3BlY3RSYXRpbzo6dmFsdWVBc1N0
cmluZyk6CisgICAgICAgICogc3ZnL1NWR1ByZXNlcnZlQXNwZWN0UmF0aW8uaDoKKyAgICAgICAg
KiBzdmcvU1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNW
R1JhZGlhbEdyYWRpZW50RWxlbWVudDo6U1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50KToKKyAgICAg
ICAgKFdlYkNvcmU6OlNWR1JhZGlhbEdyYWRpZW50RWxlbWVudDo6c3ZnQXR0cmlidXRlQ2hhbmdl
ZCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQ6OmNvbGxlY3RH
cmFkaWVudFByb3BlcnRpZXMpOgorICAgICAgICAqIHN2Zy9TVkdSYWRpYWxHcmFkaWVudEVsZW1l
bnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1JhZGlhbEdyYWRpZW50RWxlbWVudDo6Y29udGV4
dEVsZW1lbnQpOgorICAgICAgICAqIHN2Zy9TVkdSZWN0RWxlbWVudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpTVkdSZWN0RWxlbWVudDo6U1ZHUmVjdEVsZW1lbnQpOgorICAgICAgICAqIHN2Zy9T
VkdSZWN0RWxlbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUmVjdEVsZW1lbnQ6OmNvbnRl
eHRFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHU1ZHRWxlbWVudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpTVkdTVkdFbGVtZW50OjpTVkdTVkdFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6
OlNWR1NWR0VsZW1lbnQ6OmN1cnJlbnRWaWV3KToKKyAgICAgICAgKiBzdmcvU1ZHU1ZHRWxlbWVu
dC5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHU1ZHRWxlbWVudDo6Y29udGV4dEVsZW1lbnQpOgor
ICAgICAgICAqIHN2Zy9TVkdTY3JpcHRFbGVtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdT
Y3JpcHRFbGVtZW50Ojpjb250ZXh0RWxlbWVudCk6CisgICAgICAgICogc3ZnL1NWR1NldEVsZW1l
bnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1NldEVsZW1lbnQ6OmNvbnRleHRFbGVtZW50KToK
KyAgICAgICAgKiBzdmcvU1ZHU3R5bGVkRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdTdHls
ZWRUcmFuc2Zvcm1hYmxlRWxlbWVudC5jcHA6CisgICAgICAgICogc3ZnL1NWR1N0eWxlZFRyYW5z
Zm9ybWFibGVFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR1N3aXRjaEVsZW1lbnQuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OlNWR1N3aXRjaEVsZW1lbnQ6OmNvbnRleHRFbGVtZW50KToKKyAgICAg
ICAgKiBzdmcvU1ZHU3ltYm9sRWxlbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHU3ltYm9s
RWxlbWVudDo6Y29udGV4dEVsZW1lbnQpOgorICAgICAgICAqIHN2Zy9TVkdUUmVmRWxlbWVudC5o
OgorICAgICAgICAoV2ViQ29yZTo6U1ZHVFJlZkVsZW1lbnQ6OmNvbnRleHRFbGVtZW50KToKKyAg
ICAgICAgKiBzdmcvU1ZHVFNwYW5FbGVtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdUU3Bh
bkVsZW1lbnQ6OmNvbnRleHRFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHVGV4dENvbnRlbnRF
bGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1RleHRDb250ZW50RWxlbWVudDo6U1ZH
VGV4dENvbnRlbnRFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHVGV4dENvbnRlbnRFbGVtZW50
Lmg6CisgICAgICAgICogc3ZnL1NWR1RleHRFbGVtZW50LmNwcDoKKyAgICAgICAgKiBzdmcvU1ZH
VGV4dEVsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1RleHRFbGVtZW50Ojpjb250ZXh0
RWxlbWVudCk6CisgICAgICAgICogc3ZnL1NWR1RleHRQYXRoRWxlbWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTVkdUZXh0UGF0aEVsZW1lbnQ6OlNWR1RleHRQYXRoRWxlbWVudCk6CisgICAg
ICAgICogc3ZnL1NWR1RleHRQYXRoRWxlbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVGV4
dFBhdGhFbGVtZW50Ojpjb250ZXh0RWxlbWVudCk6CisgICAgICAgICogc3ZnL1NWR1RleHRQb3Np
dGlvbmluZ0VsZW1lbnQuY3BwOgorICAgICAgICAqIHN2Zy9TVkdUZXh0UG9zaXRpb25pbmdFbGVt
ZW50Lmg6CisgICAgICAgICogc3ZnL1NWR1RyYW5zZm9ybUxpc3QuY3BwOgorICAgICAgICAoU1ZH
VHJhbnNmb3JtTGlzdDo6dmFsdWVBc1N0cmluZyk6CisgICAgICAgICogc3ZnL1NWR1RyYW5zZm9y
bUxpc3QuaDoKKyAgICAgICAgKiBzdmcvU1ZHVVJJUmVmZXJlbmNlLmg6CisgICAgICAgICogc3Zn
L1NWR1VzZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVXNlRWxlbWVudDo6U1ZH
VXNlRWxlbWVudCk6CisgICAgICAgICogc3ZnL1NWR1VzZUVsZW1lbnQuaDoKKyAgICAgICAgKFdl
YkNvcmU6OlNWR1VzZUVsZW1lbnQ6OmNvbnRleHRFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZH
Vmlld0VsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1ZpZXdFbGVtZW50Ojpjb250ZXh0
RWxlbWVudCk6CisgICAgICAgICogc3ZnL1NWR1ZpZXdTcGVjLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlNWR1ZpZXdTcGVjOjpTVkdWaWV3U3BlYyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdWaWV3
U3BlYzo6Y29udGV4dEVsZW1lbnQpOgorICAgICAgICAqIHN2Zy9TVkdWaWV3U3BlYy5oOgorCiAy
MDA4LTAzLTIyICBNYXJjbyBCYXJpc2lvbmUgIDxtYXJjby5iYXJpc2lvbmVAY29sbGFib3JhLmNv
LnVrPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpJbmRleDogTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjLWxlb3BhcmQvc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdDaXJjbGVFbGVt
ZW50LXN2Z2RvbS1jeS1wcm9wLWV4cGVjdGVkLmNoZWNrc3VtCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3BsYXRmb3JtL21hYy1sZW9wYXJkL3N2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHQ2lyY2xl
RWxlbWVudC1zdmdkb20tY3ktcHJvcC1leHBlY3RlZC5jaGVja3N1bQkocmV2aXNpb24gMzEyMzIp
CisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtbGVvcGFyZC9zdmcvZHluYW1pYy11cGRhdGVz
L1NWR0NpcmNsZUVsZW1lbnQtc3ZnZG9tLWN5LXByb3AtZXhwZWN0ZWQuY2hlY2tzdW0JKHdvcmtp
bmcgY29weSkKQEAgLTEgKzEgQEAKLTMzNmEzMTNhNGEzODk3MGU3MTI3YzI0M2IzMTU4MjY1Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorNmI5ZjY0ZTZmZGVmYTE0M2FhNDY4NWU3Mzg5YmVl
MmMKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMtbGVvcGFyZC9zdmcvZHluYW1pYy11cGRhdGVzL1NWR0NpcmNsZUVsZW1lbnQtZG9tLXIt
YXR0ci1leHBlY3RlZC5jaGVja3N1bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMtbGVvcGFyZC9zdmcvZHluYW1pYy11cGRhdGVzL1NWR0NpcmNsZUVsZW1lbnQtZG9tLXIt
YXR0ci1leHBlY3RlZC5jaGVja3N1bQkocmV2aXNpb24gMzEyMzIpCisrKyBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMtbGVvcGFyZC9zdmcvZHluYW1pYy11cGRhdGVzL1NWR0NpcmNsZUVsZW1lbnQt
ZG9tLXItYXR0ci1leHBlY3RlZC5jaGVja3N1bQkod29ya2luZyBjb3B5KQpAQCAtMSArMSBAQAot
NjI2N2Y3MTllYTQ1Y2RhNTQyNTQ2Nzk5MzQyNTQ5NTcKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCisxMzMzODVkNDRiNmY2NTMxMTkyYmEwZTU5Y2YzMjBmZQpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy1sZW9wYXJkL3N2Zy9keW5h
bWljLXVwZGF0ZXMvU1ZHRWxsaXBzZUVsZW1lbnQtZG9tLWN4LWF0dHItZXhwZWN0ZWQuY2hlY2tz
dW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWxlb3BhcmQvc3ZnL2R5
bmFtaWMtdXBkYXRlcy9TVkdFbGxpcHNlRWxlbWVudC1kb20tY3gtYXR0ci1leHBlY3RlZC5jaGVj
a3N1bQkocmV2aXNpb24gMzEyMzIpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtbGVvcGFy
ZC9zdmcvZHluYW1pYy11cGRhdGVzL1NWR0VsbGlwc2VFbGVtZW50LWRvbS1jeC1hdHRyLWV4cGVj
dGVkLmNoZWNrc3VtCSh3b3JraW5nIGNvcHkpCkBAIC0xICsxIEBACi04ZTY3ZmE5NzQ4YzliNjc4
MDJlNWRhYzhjYTUwZWNmNwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzFmMDIwNDMxNGVm
MTNhNjRhZDdhNmI3YTdjYjhiNWM3ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDog
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWxlb3BhcmQvc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdD
aXJjbGVFbGVtZW50LXN2Z2RvbS1yLXByb3AtZXhwZWN0ZWQucG5nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQ2Fubm90
IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBh
cHBsaWNhdGlvbi9vY3RldC1zdHJlYW0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy1s
ZW9wYXJkL3N2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQtZG9tLWhl
aWdodC1hdHRyLWV4cGVjdGVkLnBuZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkNhbm5vdCBkaXNwbGF5OiBmaWxlIG1h
cmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46bWltZS10eXBlID0gYXBwbGljYXRpb24vb2N0ZXQt
c3RyZWFtCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtbGVvcGFyZC9zdmcvZHluYW1p
Yy11cGRhdGVzL1NWR0NpcmNsZUVsZW1lbnQtZG9tLWN5LWF0dHItZXhwZWN0ZWQuY2hlY2tzdW0K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWxlb3BhcmQvc3ZnL2R5bmFt
aWMtdXBkYXRlcy9TVkdDaXJjbGVFbGVtZW50LWRvbS1jeS1hdHRyLWV4cGVjdGVkLmNoZWNrc3Vt
CShyZXZpc2lvbiAzMTIzMikKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy1sZW9wYXJkL3N2
Zy9keW5hbWljLXVwZGF0ZXMvU1ZHQ2lyY2xlRWxlbWVudC1kb20tY3ktYXR0ci1leHBlY3RlZC5j
aGVja3N1bQkod29ya2luZyBjb3B5KQpAQCAtMSArMSBAQAotZTI0NmI0ZDY1MjMzYWZiZjdiMTYy
ZmExMjgyMWE1ZDMKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis5ODg1NmQ2MjUzYjhjMTcx
M2JhZmUzMzcxMTRjZWZhOApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91
dFRlc3RzL3BsYXRmb3JtL21hYy1sZW9wYXJkL3N2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHRWxsaXBz
ZUVsZW1lbnQtc3ZnZG9tLXJ4LXByb3AtZXhwZWN0ZWQuY2hlY2tzdW0KPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWxlb3BhcmQvc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdF
bGxpcHNlRWxlbWVudC1zdmdkb20tcngtcHJvcC1leHBlY3RlZC5jaGVja3N1bQkocmV2aXNpb24g
MzEyMzIpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtbGVvcGFyZC9zdmcvZHluYW1pYy11
cGRhdGVzL1NWR0VsbGlwc2VFbGVtZW50LXN2Z2RvbS1yeC1wcm9wLWV4cGVjdGVkLmNoZWNrc3Vt
CSh3b3JraW5nIGNvcHkpCkBAIC0xICsxIEBACi00MjRmOTY5NzJlZjhlNzRhODFkNzNkYmNiMGIx
MTM1NApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzM2N2FhZWE0M2FmNDlmMDNmZWE4NmU0
YjY2YTdiN2FkClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjLWxlb3BhcmQvc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdGb3JlaWduT2JqZWN0
RWxlbWVudC1zdmdkb20taGVpZ2h0LXByb3AtZXhwZWN0ZWQuY2hlY2tzdW0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWxlb3BhcmQvc3ZnL2R5bmFtaWMtdXBkYXRlcy9T
VkdGb3JlaWduT2JqZWN0RWxlbWVudC1zdmdkb20taGVpZ2h0LXByb3AtZXhwZWN0ZWQuY2hlY2tz
dW0JKHJldmlzaW9uIDMxMjMyKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWxlb3BhcmQv
c3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdGb3JlaWduT2JqZWN0RWxlbWVudC1zdmdkb20taGVpZ2h0
LXByb3AtZXhwZWN0ZWQuY2hlY2tzdW0JKHdvcmtpbmcgY29weSkKQEAgLTEgKzEgQEAKLTQ5ZTky
NGVlNDBiOGM1NGRlZDU4MjY1MjUzMjU2YjA5ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQor
YThiZGE0MDVmNjU1ZDY2YzY1YzUwODYzNDgxNjQ2YWQKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtbGVvcGFyZC9zdmcvZHluYW1pYy11
cGRhdGVzL1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50LWRvbS13aWR0aC1hdHRyLWV4cGVjdGVkLnBu
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09CkNhbm5vdCBkaXNwbGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBl
Lgpzdm46bWltZS10eXBlID0gYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtCkluZGV4OiBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMtbGVvcGFyZC9zdmcvZHluYW1pYy11cGRhdGVzL1NWR0NpcmNsZUVs
ZW1lbnQtc3ZnZG9tLWN4LXByb3AtZXhwZWN0ZWQucG5nCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQ2Fubm90IGRpc3Bs
YXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBhcHBsaWNh
dGlvbi9vY3RldC1zdHJlYW0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy1sZW9wYXJk
L3N2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHQ2lyY2xlRWxlbWVudC1kb20tci1hdHRyLWV4cGVjdGVk
LnBuZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09CkNhbm5vdCBkaXNwbGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0
eXBlLgpzdm46bWltZS10eXBlID0gYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtCkluZGV4OiBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMtbGVvcGFyZC9zdmcvZHluYW1pYy11cGRhdGVzL1NWR0NpcmNs
ZUVsZW1lbnQtc3ZnZG9tLWN5LXByb3AtZXhwZWN0ZWQucG5nCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQ2Fubm90IGRp
c3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBhcHBs
aWNhdGlvbi9vY3RldC1zdHJlYW0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy1sZW9w
YXJkL3N2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHRWxsaXBzZUVsZW1lbnQtZG9tLXJ4LWF0dHItZXhw
ZWN0ZWQuY2hlY2tzdW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWxl
b3BhcmQvc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdFbGxpcHNlRWxlbWVudC1kb20tcngtYXR0ci1l
eHBlY3RlZC5jaGVja3N1bQkocmV2aXNpb24gMzEyMzIpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMtbGVvcGFyZC9zdmcvZHluYW1pYy11cGRhdGVzL1NWR0VsbGlwc2VFbGVtZW50LWRvbS1y
eC1hdHRyLWV4cGVjdGVkLmNoZWNrc3VtCSh3b3JraW5nIGNvcHkpCkBAIC0xICsxIEBACi01ZGUw
NTIyNjBiZDg5YzFlMmVkMmRiMTdjMjEyYjJiNgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
K2E5NGQzMTNlZTEyOGM1MzFhYzNmZGZlYWViM2U5Njg2ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWxlb3BhcmQvc3ZnL2R5bmFtaWMt
dXBkYXRlcy9TVkdDaXJjbGVFbGVtZW50LWRvbS1jeC1hdHRyLWV4cGVjdGVkLnBuZwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09CkNhbm5vdCBkaXNwbGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46bWlt
ZS10eXBlID0gYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMtbGVvcGFyZC9zdmcvZHluYW1pYy11cGRhdGVzL1NWR0VsbGlwc2VFbGVtZW50LXN2
Z2RvbS1yeC1wcm9wLWV4cGVjdGVkLnBuZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkNhbm5vdCBkaXNwbGF5OiBmaWxl
IG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46bWltZS10eXBlID0gYXBwbGljYXRpb24vb2N0
ZXQtc3RyZWFtCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtbGVvcGFyZC9zdmcvZHlu
YW1pYy11cGRhdGVzL1NWR0NpcmNsZUVsZW1lbnQtZG9tLWN5LWF0dHItZXhwZWN0ZWQucG5nCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2
bjptaW1lLXR5cGUgPSBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0KSW5kZXg6IExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy1sZW9wYXJkL3N2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHRWxsaXBzZUVsZW1l
bnQtc3ZnZG9tLWN5LXByb3AtZXhwZWN0ZWQuY2hlY2tzdW0KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjLWxlb3BhcmQvc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdFbGxpcHNl
RWxlbWVudC1zdmdkb20tY3ktcHJvcC1leHBlY3RlZC5jaGVja3N1bQkocmV2aXNpb24gMzEyMzIp
CisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtbGVvcGFyZC9zdmcvZHluYW1pYy11cGRhdGVz
L1NWR0VsbGlwc2VFbGVtZW50LXN2Z2RvbS1jeS1wcm9wLWV4cGVjdGVkLmNoZWNrc3VtCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xICsxIEBACi0wNzhlNTA0YWNlMjgxOTYzOTljYzc5YTNmM2ZjOTU4OApc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzQwMDdhYjM2NGIwZGM3NzUxMjQ4MzBhNjk4OGMx
Mjk3ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjLWxlb3BhcmQvc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdFbGxpcHNlRWxlbWVudC1zdmdk
b20tcnktcHJvcC1leHBlY3RlZC5wbmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlzcGxheTogZmlsZSBt
YXJrZWQgYXMgYSBiaW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGFwcGxpY2F0aW9uL29jdGV0
LXN0cmVhbQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWxlb3BhcmQvc3ZnL2R5bmFt
aWMtdXBkYXRlcy9TVkdGb3JlaWduT2JqZWN0RWxlbWVudC1kb20td2lkdGgtYXR0ci1leHBlY3Rl
ZC5jaGVja3N1bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtbGVvcGFy
ZC9zdmcvZHluYW1pYy11cGRhdGVzL1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50LWRvbS13aWR0aC1h
dHRyLWV4cGVjdGVkLmNoZWNrc3VtCShyZXZpc2lvbiAzMTIzMikKKysrIExheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy1sZW9wYXJkL3N2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHRm9yZWlnbk9iamVjdEVs
ZW1lbnQtZG9tLXdpZHRoLWF0dHItZXhwZWN0ZWQuY2hlY2tzdW0JKHdvcmtpbmcgY29weSkKQEAg
LTEgKzEgQEAKLTMzODQ5MTQ3ZTVmMGFiOTkzMTY5NTdkODRiMzk3ZjBiClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQorNmU4ZWE3YTVhZDdjOTFmYTNkNjc2MjY0OTZmYTc2NDkKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtbGVvcGFy
ZC9zdmcvZHluYW1pYy11cGRhdGVzL1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50LXN2Z2RvbS1oZWln
aHQtcHJvcC1leHBlY3RlZC5wbmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlzcGxheTogZmlsZSBtYXJr
ZWQgYXMgYSBiaW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGFwcGxpY2F0aW9uL29jdGV0LXN0
cmVhbQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWxlb3BhcmQvc3ZnL2R5bmFtaWMt
dXBkYXRlcy9TVkdDaXJjbGVFbGVtZW50LXN2Z2RvbS1jeC1wcm9wLWV4cGVjdGVkLmNoZWNrc3Vt
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy1sZW9wYXJkL3N2Zy9keW5h
bWljLXVwZGF0ZXMvU1ZHQ2lyY2xlRWxlbWVudC1zdmdkb20tY3gtcHJvcC1leHBlY3RlZC5jaGVj
a3N1bQkocmV2aXNpb24gMzEyMzIpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtbGVvcGFy
ZC9zdmcvZHluYW1pYy11cGRhdGVzL1NWR0NpcmNsZUVsZW1lbnQtc3ZnZG9tLWN4LXByb3AtZXhw
ZWN0ZWQuY2hlY2tzdW0JKHdvcmtpbmcgY29weSkKQEAgLTEgKzEgQEAKLTAxYTM4NDdlNDlmNjdj
MTgyZjA1YTVjODQ4N2EwNjFlClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorNmM0ZDcxMTU5
Mzg0MGU0MDZiOTc2NzhhYzc4Mjc3OGMKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4
OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtbGVvcGFyZC9zdmcvZHluYW1pYy11cGRhdGVzL1NW
R0ZvcmVpZ25PYmplY3RFbGVtZW50LXN2Z2RvbS13aWR0aC1wcm9wLWV4cGVjdGVkLnBuZwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09CkNhbm5vdCBkaXNwbGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46
bWltZS10eXBlID0gYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtCkluZGV4OiBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMtbGVvcGFyZC9zdmcvZHluYW1pYy11cGRhdGVzL1NWR0VsbGlwc2VFbGVtZW50
LWRvbS1yeC1hdHRyLWV4cGVjdGVkLnBuZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkNhbm5vdCBkaXNwbGF5OiBmaWxl
IG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46bWltZS10eXBlID0gYXBwbGljYXRpb24vb2N0
ZXQtc3RyZWFtCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtbGVvcGFyZC9zdmcvZHlu
YW1pYy11cGRhdGVzL1NWR0VsbGlwc2VFbGVtZW50LWRvbS1jeS1hdHRyLWV4cGVjdGVkLmNoZWNr
c3VtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy1sZW9wYXJkL3N2Zy9k
eW5hbWljLXVwZGF0ZXMvU1ZHRWxsaXBzZUVsZW1lbnQtZG9tLWN5LWF0dHItZXhwZWN0ZWQuY2hl
Y2tzdW0JKHJldmlzaW9uIDMxMjMyKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWxlb3Bh
cmQvc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdFbGxpcHNlRWxlbWVudC1kb20tY3ktYXR0ci1leHBl
Y3RlZC5jaGVja3N1bQkod29ya2luZyBjb3B5KQpAQCAtMSArMSBAQAotMWRiMzE0Y2FlN2FmNGJj
YWZkYTU2NjZiMjU0NGU2MGYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCiszZGU4ZDJmNDQ2
OTVmZGRhNTMxZGZjMjlmMzUyNmRmZgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy1sZW9wYXJkL3N2Zy9keW5hbWljLXVwZGF0ZXMvU1ZH
RWxsaXBzZUVsZW1lbnQtZG9tLXJ5LWF0dHItZXhwZWN0ZWQucG5nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQ2Fubm90
IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBh
cHBsaWNhdGlvbi9vY3RldC1zdHJlYW0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy1s
ZW9wYXJkL3N2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHQ2lyY2xlRWxlbWVudC1kb20tY3gtYXR0ci1l
eHBlY3RlZC5jaGVja3N1bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMt
bGVvcGFyZC9zdmcvZHluYW1pYy11cGRhdGVzL1NWR0NpcmNsZUVsZW1lbnQtZG9tLWN4LWF0dHIt
ZXhwZWN0ZWQuY2hlY2tzdW0JKHJldmlzaW9uIDMxMjMyKQorKysgTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjLWxlb3BhcmQvc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdDaXJjbGVFbGVtZW50LWRvbS1j
eC1hdHRyLWV4cGVjdGVkLmNoZWNrc3VtCSh3b3JraW5nIGNvcHkpCkBAIC0xICsxIEBACi0yYWU0
NzYzZGU4ODg5ZTg5NGQyM2U1ZWYzMWI4NjBkOApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
K2M5NWRjMGM0NjJmMDBmZDczMTk1NmE0YTRkMTZmZjk5ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWxlb3BhcmQvc3ZnL2R5bmFtaWMt
dXBkYXRlcy9TVkdFbGxpcHNlRWxlbWVudC1zdmdkb20tcnktcHJvcC1leHBlY3RlZC5jaGVja3N1
bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtbGVvcGFyZC9zdmcvZHlu
YW1pYy11cGRhdGVzL1NWR0VsbGlwc2VFbGVtZW50LXN2Z2RvbS1yeS1wcm9wLWV4cGVjdGVkLmNo
ZWNrc3VtCShyZXZpc2lvbiAzMTIzMikKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy1sZW9w
YXJkL3N2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHRWxsaXBzZUVsZW1lbnQtc3ZnZG9tLXJ5LXByb3At
ZXhwZWN0ZWQuY2hlY2tzdW0JKHdvcmtpbmcgY29weSkKQEAgLTEgKzEgQEAKLTAwZjM0ZmFiZDJl
OTViNDMyYjNmMzdhNDZhZTcyODdmClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorNmQwOGVi
YzU4ZWZlNTQ1ZWFmOGMxNDNiMDI0ZWE1NTQKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCklu
ZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtbGVvcGFyZC9zdmcvZHluYW1pYy11cGRhdGVz
L1NWR0VsbGlwc2VFbGVtZW50LXN2Z2RvbS1jeC1wcm9wLWV4cGVjdGVkLnBuZwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
CkNhbm5vdCBkaXNwbGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46bWltZS10
eXBlID0gYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMtbGVvcGFyZC9zdmcvZHluYW1pYy11cGRhdGVzL1NWR0VsbGlwc2VFbGVtZW50LXN2Z2Rv
bS1jeS1wcm9wLWV4cGVjdGVkLnBuZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkNhbm5vdCBkaXNwbGF5OiBmaWxlIG1h
cmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46bWltZS10eXBlID0gYXBwbGljYXRpb24vb2N0ZXQt
c3RyZWFtCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtbGVvcGFyZC9zdmcvZHluYW1p
Yy11cGRhdGVzL1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50LXN2Z2RvbS13aWR0aC1wcm9wLWV4cGVj
dGVkLmNoZWNrc3VtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy1sZW9w
YXJkL3N2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQtc3ZnZG9tLXdp
ZHRoLXByb3AtZXhwZWN0ZWQuY2hlY2tzdW0JKHJldmlzaW9uIDMxMjMyKQorKysgTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjLWxlb3BhcmQvc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdGb3JlaWduT2Jq
ZWN0RWxlbWVudC1zdmdkb20td2lkdGgtcHJvcC1leHBlY3RlZC5jaGVja3N1bQkod29ya2luZyBj
b3B5KQpAQCAtMSArMSBAQAotYmJjOWEwYTFmMTRmOTFjY2I2MzdiY2RjN2ZiNGYzNjUKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCitlMDFiNmFkM2UzMDRmMjFkMjIwOWU4ZDc4MDA2OTcyNQpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy1sZW9wYXJkL3N2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHRWxsaXBzZUVsZW1lbnQtZG9tLXJ5LWF0
dHItZXhwZWN0ZWQuY2hlY2tzdW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjLWxlb3BhcmQvc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdFbGxpcHNlRWxlbWVudC1kb20tcnkt
YXR0ci1leHBlY3RlZC5jaGVja3N1bQkocmV2aXNpb24gMzEyMzIpCisrKyBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMtbGVvcGFyZC9zdmcvZHluYW1pYy11cGRhdGVzL1NWR0VsbGlwc2VFbGVtZW50
LWRvbS1yeS1hdHRyLWV4cGVjdGVkLmNoZWNrc3VtCSh3b3JraW5nIGNvcHkpCkBAIC0xICsxIEBA
Ci1jNzI2Y2QzMGUxODVjNzFiMTk2YzY1OTFkZmU3M2RhNQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKKzJhNGI5ZDc0YzJmYzlkNTg2ZDFlNDgyOTk1ZDYzYjM1ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWxlb3BhcmQvc3ZnL2R5
bmFtaWMtdXBkYXRlcy9TVkdDaXJjbGVFbGVtZW50LXN2Z2RvbS1yLXByb3AtZXhwZWN0ZWQuY2hl
Y2tzdW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWxlb3BhcmQvc3Zn
L2R5bmFtaWMtdXBkYXRlcy9TVkdDaXJjbGVFbGVtZW50LXN2Z2RvbS1yLXByb3AtZXhwZWN0ZWQu
Y2hlY2tzdW0JKHJldmlzaW9uIDMxMjMyKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWxl
b3BhcmQvc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdDaXJjbGVFbGVtZW50LXN2Z2RvbS1yLXByb3At
ZXhwZWN0ZWQuY2hlY2tzdW0JKHdvcmtpbmcgY29weSkKQEAgLTEgKzEgQEAKLWI3NWE3YjRkMTM2
OTYyOTU5NjM2NDUyZDkyYTI5OTM2ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorZTUyYzg3
N2U3M2UzMjgyYTFiM2QyYTI4OGJhMjNkMWEKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCklu
ZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtbGVvcGFyZC9zdmcvZHluYW1pYy11cGRhdGVz
L1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50LWRvbS1oZWlnaHQtYXR0ci1leHBlY3RlZC5jaGVja3N1
bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtbGVvcGFyZC9zdmcvZHlu
YW1pYy11cGRhdGVzL1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50LWRvbS1oZWlnaHQtYXR0ci1leHBl
Y3RlZC5jaGVja3N1bQkocmV2aXNpb24gMzEyMzIpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMtbGVvcGFyZC9zdmcvZHluYW1pYy11cGRhdGVzL1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50LWRv
bS1oZWlnaHQtYXR0ci1leHBlY3RlZC5jaGVja3N1bQkod29ya2luZyBjb3B5KQpAQCAtMSArMSBA
QAotNTI4NTU3NzY5YzY3ODRiY2Y2MTg0OWM0ODBmNjgxMTMKXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCitmMjczZGVmNGEyNTI1ZWUxYWI2ZjcxYjIyN2EzN2EzMApcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy1sZW9wYXJkL3N2Zy9k
eW5hbWljLXVwZGF0ZXMvU1ZHRWxsaXBzZUVsZW1lbnQtZG9tLWN4LWF0dHItZXhwZWN0ZWQucG5n
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUu
CnN2bjptaW1lLXR5cGUgPSBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0KSW5kZXg6IExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy1sZW9wYXJkL3N2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHRWxsaXBzZUVs
ZW1lbnQtZG9tLWN5LWF0dHItZXhwZWN0ZWQucG5nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6
IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBhcHBsaWNhdGlv
bi9vY3RldC1zdHJlYW0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy1sZW9wYXJkL3N2
Zy9keW5hbWljLXVwZGF0ZXMvU1ZHRWxsaXBzZUVsZW1lbnQtc3ZnZG9tLWN4LXByb3AtZXhwZWN0
ZWQuY2hlY2tzdW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWxlb3Bh
cmQvc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdFbGxpcHNlRWxlbWVudC1zdmdkb20tY3gtcHJvcC1l
eHBlY3RlZC5jaGVja3N1bQkocmV2aXNpb24gMzEyMzIpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMtbGVvcGFyZC9zdmcvZHluYW1pYy11cGRhdGVzL1NWR0VsbGlwc2VFbGVtZW50LXN2Z2Rv
bS1jeC1wcm9wLWV4cGVjdGVkLmNoZWNrc3VtCSh3b3JraW5nIGNvcHkpCkBAIC0xICsxIEBACi0x
Y2I4NmIzNzBmNTdkNTE1MjJkNTAxYzIyMWJkMDczMgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKK2Y1ODBmMDI2MmZmZWY1ZTljNmIwNTg0ZWVjYzFhNzhkClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWxlb3BhcmQvc3ZnL2N1c3Rv
bS9zdmcteG1sLWRvbS1zeW5jLWV4cGVjdGVkLnBuZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkNhbm5vdCBkaXNwbGF5
OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46bWltZS10eXBlID0gYXBwbGljYXRp
b24vb2N0ZXQtc3RyZWFtCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMtbGVvcGFyZC9zdmcvY3VzdG9tL3N2Zy14bWwtZG9tLXN5bmMtZXhwZWN0ZWQucG5nCl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18KTmFtZTogc3ZuOm1pbWUtdHlwZQogICArIGFwcGxpY2F0aW9uL29jdGV0LXN0cmVh
bQoKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy1sZW9wYXJkL3N2Zy9jdXN0b20vc3Zn
LXhtbC1kb20tc3luYy1leHBlY3RlZC5jaGVja3N1bQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMtbGVvcGFyZC9zdmcvY3VzdG9tL3N2Zy14bWwtZG9tLXN5bmMtZXhwZWN0
ZWQuY2hlY2tzdW0JKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtbGVv
cGFyZC9zdmcvY3VzdG9tL3N2Zy14bWwtZG9tLXN5bmMtZXhwZWN0ZWQuY2hlY2tzdW0JKHJldmlz
aW9uIDApCkBAIC0wLDAgKzEgQEAKKzI2MThkMTZiZjMyNWFjNDY4MjE4YzhmZmVjMWZiZGMyClwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMzEyMzUpCisrKyBM
YXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMzAgQEAKKzIw
MDgtMDMtMjIgIE5pa29sYXMgWmltbWVybWFubiAgPHppbW1lcm1hbm5Aa2RlLm9yZz4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGaXggYWxsIGV4aXN0
aW5nIHRlc3RzIGluIHN2Zy9keW5hbWljLXVwZGF0ZXMgdG8gYWN0dWFsbHkgcmVmbGVjdCByZXBh
aW50aW5nIGNoYW5nZXMsIGJ5CisgICAgICAgIHJlbW92aW5nIHRoZSB0aW1pbmcgZGVwZW5kZW5j
eS4gSW5zdGVhZCBtb2RlbCB0aGVtIGxpa2UgZnJhbWUtZ2V0U1ZHRG9jdW1lbnQuaHRtbCBieQor
ICAgICAgICBub3QgaW5jbHVkaW5nIHRoZSA8c2NyaXB0IHNyYz0ianMtdGVzdC1wb3N0LmpzIj4g
ZWxlbWVudCB3aXRoaW4gdGhlIFRFTVBMQVRFLmh0bWwgYnV0CisgICAgICAgIGJ5IGR5bmFtaWNh
bGx5IGluamVjdGluZyBpdCwgaWYgdGhlIHRlc3QgYWN0dWFsbHkgZmluaXNoZWQuCisKKyAgICAg
ICAgKiBwbGF0Zm9ybS9tYWMtbGVvcGFyZC9zdmcvY3VzdG9tL3N2Zy14bWwtZG9tLXN5bmMtZXhw
ZWN0ZWQuY2hlY2tzdW06IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy1sZW9wYXJkL3N2
Zy9jdXN0b20vc3ZnLXhtbC1kb20tc3luYy1leHBlY3RlZC5wbmc6IEFkZGVkLgorICAgICAgICAq
IHBsYXRmb3JtL21hYy1sZW9wYXJkL3N2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHQ2lyY2xlRWxlbWVu
dC1kb20tY3gtYXR0ci1leHBlY3RlZC5jaGVja3N1bToKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMt
bGVvcGFyZC9zdmcvZHluYW1pYy11cGRhdGVzL1NWR0NpcmNsZUVsZW1lbnQtZG9tLWN4LWF0dHIt
ZXhwZWN0ZWQucG5nOgorICAgICAgICAqIHBsYXRmb3JtL21hYy1sZW9wYXJkL3N2Zy9keW5hbWlj
LXVwZGF0ZXMvU1ZHQ2lyY2xlRWxlbWVudC1kb20tY3ktYXR0ci1leHBlY3RlZC5jaGVja3N1bToK
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtbGVvcGFyZC9zdmcvZHluYW1pYy11cGRhdGVzL1NWR0Np
cmNsZUVsZW1lbnQtZG9tLWN5LWF0dHItZXhwZWN0ZWQucG5nOgorICAgICAgICAqIHBsYXRmb3Jt
L21hYy1sZW9wYXJkL3N2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHQ2lyY2xlRWxlbWVudC1kb20tci1h
dHRyLWV4cGVjdGVkLmNoZWNrc3VtOgorICAgICAgICAqIHBsYXRmb3JtL21hYy1sZW9wYXJkL3N2
Zy9keW5hbWljLXVwZGF0ZXMvU1ZHQ2lyY2xlRWxlbWVudC1kb20tci1hdHRyLWV4cGVjdGVkLnBu
ZzoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtbGVvcGFyZC9zdmcvZHluYW1pYy11cGRhdGVzL1NW
R0NpcmNsZUVsZW1lbnQtc3ZnZG9tLWN4LXByb3AtZXhwZWN0ZWQuY2hlY2tzdW06CisgICAgICAg
ICogcGxhdGZvcm0vbWFjLWxlb3BhcmQvc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdDaXJjbGVFbGVt
ZW50LXN2Z2RvbS1jeC1wcm9wLWV4cGVjdGVkLnBuZzoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMt
bGVvcGFyZC9zdmcvZHluYW1pYy11cGRhdGVzL1NWR0NpcmNsZUVsZW1lbnQtc3ZnZG9tLWN5LXBy
b3AtZXhwZWN0ZWQuY2hlY2tzdW06CisgICAgICAgICogcGxhdGZvcm0vbWFjLWxlb3BhcmQvc3Zn
L2R5bmFtaWMtdXBkYXRlcy9TVkdDaXJjbGVFbGVtZW50LXN2Z2RvbS1jeS1wcm9wLWV4cGVjdGVk
LnBuZzoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtbGVvcGFyZC9zdmcvZHluYW1pYy11cGRhdGVz
L1NWR0NpcmNsZUVsZW1lbnQtc3ZnZG9tLXItcHJvcC1leHBlY3RlZC5jaGVja3N1bToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9tYWMtbGVvcGFyZC9zdmcvZHluYW1pYy11cGRhdGVzL1NWR0NpcmNsZUVs
ZW1lbnQtc3ZnZG9tLXItcHJvcC1leHBlY3RlZC5wbmc6CisgICAgICAgICogcGxhdGZvcm0vbWFj
LWxlb3BhcmQvc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdFbGxpcHNlRWxlbWVudC1kb20tY3gtYXR0
ci1leHBlY3RlZC5jaGVja3N1bToKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtbGVvcGFyZC9zdmcv
ZHluYW1pYy11cGRhdGVzL1NWR0VsbGlwc2VFbGVtZW50LWRvbS1jeC1hdHRyLWV4cGVjdGVkLnBu
ZzoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtbGVvcGFyZC9zdmcvZHluYW1pYy11cGRhdGVzL1NW
R0VsbGlwc2VFbGVtZW50LWRvbS1jeS1hdHRyLWV4cGVjdGVkLmNoZWNrc3VtOgorICAgICAgICAq
IHBsYXRmb3JtL21hYy1sZW9wYXJkL3N2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHRWxsaXBzZUVsZW1l
bnQtZG9tLWN5LWF0dHItZXhwZWN0ZWQucG5nOgorICAgICAgICAqIHBsYXRmb3JtL21hYy1sZW9w
YXJkL3N2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHRWxsaXBzZUVsZW1lbnQtZG9tLXJ4LWF0dHItZXhw
ZWN0ZWQuY2hlY2tzdW06CisgICAgICAgICogcGxhdGZvcm0vbWFjLWxlb3BhcmQvc3ZnL2R5bmFt
aWMtdXBkYXRlcy9TVkdFbGxpcHNlRWxlbWVudC1kb20tcngtYXR0ci1leHBlY3RlZC5wbmc6Cisg
ICAgICAgICogcGxhdGZvcm0vbWFjLWxlb3BhcmQvc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdFbGxp
cHNlRWxlbWVudC1kb20tcnktYXR0ci1leHBlY3RlZC5jaGVja3N1bToKKyAgICAgICAgKiBwbGF0
Zm9ybS9tYWMtbGVvcGFyZC9zdmcvZHluYW1pYy11cGRhdGVzL1NWR0VsbGlwc2VFbGVtZW50LWRv
bS1yeS1hdHRyLWV4cGVjdGVkLnBuZzoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtbGVvcGFyZC9z
dmcvZHluYW1pYy11cGRhdGVzL1NWR0VsbGlwc2VFbGVtZW50LXN2Z2RvbS1jeC1wcm9wLWV4cGVj
dGVkLmNoZWNrc3VtOgorICAgICAgICAqIHBsYXRmb3JtL21hYy1sZW9wYXJkL3N2Zy9keW5hbWlj
LXVwZGF0ZXMvU1ZHRWxsaXBzZUVsZW1lbnQtc3ZnZG9tLWN4LXByb3AtZXhwZWN0ZWQucG5nOgor
ICAgICAgICAqIHBsYXRmb3JtL21hYy1sZW9wYXJkL3N2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHRWxs
aXBzZUVsZW1lbnQtc3ZnZG9tLWN5LXByb3AtZXhwZWN0ZWQuY2hlY2tzdW06CisgICAgICAgICog
cGxhdGZvcm0vbWFjLWxlb3BhcmQvc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdFbGxpcHNlRWxlbWVu
dC1zdmdkb20tY3ktcHJvcC1leHBlY3RlZC5wbmc6CisgICAgICAgICogcGxhdGZvcm0vbWFjLWxl
b3BhcmQvc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdFbGxpcHNlRWxlbWVudC1zdmdkb20tcngtcHJv
cC1leHBlY3RlZC5jaGVja3N1bToKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtbGVvcGFyZC9zdmcv
ZHluYW1pYy11cGRhdGVzL1NWR0VsbGlwc2VFbGVtZW50LXN2Z2RvbS1yeC1wcm9wLWV4cGVjdGVk
LnBuZzoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtbGVvcGFyZC9zdmcvZHluYW1pYy11cGRhdGVz
L1NWR0VsbGlwc2VFbGVtZW50LXN2Z2RvbS1yeS1wcm9wLWV4cGVjdGVkLmNoZWNrc3VtOgorICAg
ICAgICAqIHBsYXRmb3JtL21hYy1sZW9wYXJkL3N2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHRWxsaXBz
ZUVsZW1lbnQtc3ZnZG9tLXJ5LXByb3AtZXhwZWN0ZWQucG5nOgorICAgICAgICAqIHBsYXRmb3Jt
L21hYy1sZW9wYXJkL3N2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQt
ZG9tLWhlaWdodC1hdHRyLWV4cGVjdGVkLmNoZWNrc3VtOgorICAgICAgICAqIHBsYXRmb3JtL21h
Yy1sZW9wYXJkL3N2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQtZG9t
LWhlaWdodC1hdHRyLWV4cGVjdGVkLnBuZzoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtbGVvcGFy
ZC9zdmcvZHluYW1pYy11cGRhdGVzL1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50LWRvbS13aWR0aC1h
dHRyLWV4cGVjdGVkLmNoZWNrc3VtOgorICAgICAgICAqIHBsYXRmb3JtL21hYy1sZW9wYXJkL3N2
Zy9keW5hbWljLXVwZGF0ZXMvU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQtZG9tLXdpZHRoLWF0dHIt
ZXhwZWN0ZWQucG5nOgorICAgICAgICAqIHBsYXRmb3JtL21hYy1sZW9wYXJkL3N2Zy9keW5hbWlj
LXVwZGF0ZXMvU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQtc3ZnZG9tLWhlaWdodC1wcm9wLWV4cGVj
dGVkLmNoZWNrc3VtOgorICAgICAgICAqIHBsYXRmb3JtL21hYy1sZW9wYXJkL3N2Zy9keW5hbWlj
LXVwZGF0ZXMvU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQtc3ZnZG9tLWhlaWdodC1wcm9wLWV4cGVj
dGVkLnBuZzoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtbGVvcGFyZC9zdmcvZHluYW1pYy11cGRh
dGVzL1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50LXN2Z2RvbS13aWR0aC1wcm9wLWV4cGVjdGVkLmNo
ZWNrc3VtOgorICAgICAgICAqIHBsYXRmb3JtL21hYy1sZW9wYXJkL3N2Zy9keW5hbWljLXVwZGF0
ZXMvU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQtc3ZnZG9tLXdpZHRoLXByb3AtZXhwZWN0ZWQucG5n
OgorICAgICAgICAqIHN2Zy9jdXN0b20vcmVzb3VyY2VzL3N2Zy14bWwtZG9tLXN5bmMuanM6IEFk
ZGVkLgorICAgICAgICAqIHN2Zy9jdXN0b20vc3ZnLXhtbC1kb20tc3luYy1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIHN2Zy9jdXN0b20vc3ZnLXhtbC1kb20tc3luYy5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBzdmcvZHluYW1pYy11cGRhdGVzL1NWR0FFbGVtZW50LWRvbS1ocmVmLWF0
dHIuaHRtbDoKKyAgICAgICAgKiBzdmcvZHluYW1pYy11cGRhdGVzL1NWR0FFbGVtZW50LWRvbS10
YXJnZXQtYXR0ci5odG1sOgorICAgICAgICAqIHN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHQUVsZW1l
bnQtc3ZnZG9tLWhyZWYtcHJvcC5odG1sOgorICAgICAgICAqIHN2Zy9keW5hbWljLXVwZGF0ZXMv
U1ZHQUVsZW1lbnQtc3ZnZG9tLXRhcmdldC1wcm9wLmh0bWw6CisgICAgICAgICogc3ZnL2R5bmFt
aWMtdXBkYXRlcy9TVkdDaXJjbGVFbGVtZW50LWRvbS1jeC1hdHRyLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBzdmcvZHluYW1pYy11cGRhdGVzL1NWR0NpcmNsZUVsZW1lbnQtZG9tLWN4LWF0dHIu
aHRtbDoKKyAgICAgICAgKiBzdmcvZHluYW1pYy11cGRhdGVzL1NWR0NpcmNsZUVsZW1lbnQtZG9t
LWN5LWF0dHItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZH
Q2lyY2xlRWxlbWVudC1kb20tY3ktYXR0ci5odG1sOgorICAgICAgICAqIHN2Zy9keW5hbWljLXVw
ZGF0ZXMvU1ZHQ2lyY2xlRWxlbWVudC1kb20tci1hdHRyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBzdmcvZHluYW1pYy11cGRhdGVzL1NWR0NpcmNsZUVsZW1lbnQtZG9tLXItYXR0ci5odG1sOgor
ICAgICAgICAqIHN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHQ2lyY2xlRWxlbWVudC1zdmdkb20tY3gt
cHJvcC1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdDaXJj
bGVFbGVtZW50LXN2Z2RvbS1jeC1wcm9wLmh0bWw6CisgICAgICAgICogc3ZnL2R5bmFtaWMtdXBk
YXRlcy9TVkdDaXJjbGVFbGVtZW50LXN2Z2RvbS1jeS1wcm9wLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiBzdmcvZHluYW1pYy11cGRhdGVzL1NWR0NpcmNsZUVsZW1lbnQtc3ZnZG9tLWN5LXByb3Au
aHRtbDoKKyAgICAgICAgKiBzdmcvZHluYW1pYy11cGRhdGVzL1NWR0NpcmNsZUVsZW1lbnQtc3Zn
ZG9tLXItcHJvcC1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3ZnL2R5bmFtaWMtdXBkYXRlcy9T
VkdDaXJjbGVFbGVtZW50LXN2Z2RvbS1yLXByb3AuaHRtbDoKKyAgICAgICAgKiBzdmcvZHluYW1p
Yy11cGRhdGVzL1NWR0NsaXBQYXRoRWxlbWVudC1kb20tY2xpcFBhdGhVbml0cy1hdHRyLmh0bWw6
CisgICAgICAgICogc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdDbGlwUGF0aEVsZW1lbnQtc3ZnZG9t
LWNsaXBQYXRoVW5pdHMtcHJvcC5odG1sOgorICAgICAgICAqIHN2Zy9keW5hbWljLXVwZGF0ZXMv
U1ZHRWxsaXBzZUVsZW1lbnQtZG9tLWN4LWF0dHItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN2
Zy9keW5hbWljLXVwZGF0ZXMvU1ZHRWxsaXBzZUVsZW1lbnQtZG9tLWN4LWF0dHIuaHRtbDoKKyAg
ICAgICAgKiBzdmcvZHluYW1pYy11cGRhdGVzL1NWR0VsbGlwc2VFbGVtZW50LWRvbS1jeS1hdHRy
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdmcvZHluYW1pYy11cGRhdGVzL1NWR0VsbGlwc2VF
bGVtZW50LWRvbS1jeS1hdHRyLmh0bWw6CisgICAgICAgICogc3ZnL2R5bmFtaWMtdXBkYXRlcy9T
VkdFbGxpcHNlRWxlbWVudC1kb20tcngtYXR0ci1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3Zn
L2R5bmFtaWMtdXBkYXRlcy9TVkdFbGxpcHNlRWxlbWVudC1kb20tcngtYXR0ci5odG1sOgorICAg
ICAgICAqIHN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHRWxsaXBzZUVsZW1lbnQtZG9tLXJ5LWF0dHIt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHRWxsaXBzZUVs
ZW1lbnQtZG9tLXJ5LWF0dHIuaHRtbDoKKyAgICAgICAgKiBzdmcvZHluYW1pYy11cGRhdGVzL1NW
R0VsbGlwc2VFbGVtZW50LXN2Z2RvbS1jeC1wcm9wLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBz
dmcvZHluYW1pYy11cGRhdGVzL1NWR0VsbGlwc2VFbGVtZW50LXN2Z2RvbS1jeC1wcm9wLmh0bWw6
CisgICAgICAgICogc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdFbGxpcHNlRWxlbWVudC1zdmdkb20t
Y3ktcHJvcC1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdF
bGxpcHNlRWxlbWVudC1zdmdkb20tY3ktcHJvcC5odG1sOgorICAgICAgICAqIHN2Zy9keW5hbWlj
LXVwZGF0ZXMvU1ZHRWxsaXBzZUVsZW1lbnQtc3ZnZG9tLXJ4LXByb3AtZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIHN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHRWxsaXBzZUVsZW1lbnQtc3ZnZG9tLXJ4
LXByb3AuaHRtbDoKKyAgICAgICAgKiBzdmcvZHluYW1pYy11cGRhdGVzL1NWR0VsbGlwc2VFbGVt
ZW50LXN2Z2RvbS1yeS1wcm9wLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdmcvZHluYW1pYy11
cGRhdGVzL1NWR0VsbGlwc2VFbGVtZW50LXN2Z2RvbS1yeS1wcm9wLmh0bWw6CisgICAgICAgICog
c3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdGb3JlaWduT2JqZWN0RWxlbWVudC1kb20taGVpZ2h0LWF0
dHItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHRm9yZWln
bk9iamVjdEVsZW1lbnQtZG9tLWhlaWdodC1hdHRyLmh0bWw6CisgICAgICAgICogc3ZnL2R5bmFt
aWMtdXBkYXRlcy9TVkdGb3JlaWduT2JqZWN0RWxlbWVudC1kb20td2lkdGgtYXR0ci1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdGb3JlaWduT2JqZWN0RWxl
bWVudC1kb20td2lkdGgtYXR0ci5odG1sOgorICAgICAgICAqIHN2Zy9keW5hbWljLXVwZGF0ZXMv
U1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQtZG9tLXgtYXR0ci5odG1sOgorICAgICAgICAqIHN2Zy9k
eW5hbWljLXVwZGF0ZXMvU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQtZG9tLXktYXR0ci5odG1sOgor
ICAgICAgICAqIHN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQtc3Zn
ZG9tLWhlaWdodC1wcm9wLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdmcvZHluYW1pYy11cGRh
dGVzL1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50LXN2Z2RvbS1oZWlnaHQtcHJvcC5odG1sOgorICAg
ICAgICAqIHN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQtc3ZnZG9t
LXdpZHRoLXByb3AtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN2Zy9keW5hbWljLXVwZGF0ZXMv
U1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQtc3ZnZG9tLXdpZHRoLXByb3AuaHRtbDoKKyAgICAgICAg
KiBzdmcvZHluYW1pYy11cGRhdGVzL1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50LXN2Z2RvbS14LXBy
b3AuaHRtbDoKKyAgICAgICAgKiBzdmcvZHluYW1pYy11cGRhdGVzL1NWR0ZvcmVpZ25PYmplY3RF
bGVtZW50LXN2Z2RvbS15LXByb3AuaHRtbDoKKyAgICAgICAgKiBzdmcvZHluYW1pYy11cGRhdGVz
L3Jlc291cmNlcy9TVkdBRWxlbWVudC1kb20taHJlZi1hdHRyLmpzOgorICAgICAgICAqIHN2Zy9k
eW5hbWljLXVwZGF0ZXMvcmVzb3VyY2VzL1NWR0FFbGVtZW50LWRvbS10YXJnZXQtYXR0ci5qczoK
KyAgICAgICAgKiBzdmcvZHluYW1pYy11cGRhdGVzL3Jlc291cmNlcy9TVkdBRWxlbWVudC1zdmdk
b20taHJlZi1wcm9wLmpzOgorICAgICAgICAqIHN2Zy9keW5hbWljLXVwZGF0ZXMvcmVzb3VyY2Vz
L1NWR0FFbGVtZW50LXN2Z2RvbS10YXJnZXQtcHJvcC5qczoKKyAgICAgICAgKiBzdmcvZHluYW1p
Yy11cGRhdGVzL3Jlc291cmNlcy9TVkdDaXJjbGVFbGVtZW50LWRvbS1jeC1hdHRyLmpzOgorICAg
ICAgICAqIHN2Zy9keW5hbWljLXVwZGF0ZXMvcmVzb3VyY2VzL1NWR0NpcmNsZUVsZW1lbnQtZG9t
LWN5LWF0dHIuanM6CisgICAgICAgICogc3ZnL2R5bmFtaWMtdXBkYXRlcy9yZXNvdXJjZXMvU1ZH
Q2lyY2xlRWxlbWVudC1kb20tci1hdHRyLmpzOgorICAgICAgICAqIHN2Zy9keW5hbWljLXVwZGF0
ZXMvcmVzb3VyY2VzL1NWR0NpcmNsZUVsZW1lbnQtc3ZnZG9tLWN4LXByb3AuanM6CisgICAgICAg
ICogc3ZnL2R5bmFtaWMtdXBkYXRlcy9yZXNvdXJjZXMvU1ZHQ2lyY2xlRWxlbWVudC1zdmdkb20t
Y3ktcHJvcC5qczoKKyAgICAgICAgKiBzdmcvZHluYW1pYy11cGRhdGVzL3Jlc291cmNlcy9TVkdD
aXJjbGVFbGVtZW50LXN2Z2RvbS1yLXByb3AuanM6CisgICAgICAgICogc3ZnL2R5bmFtaWMtdXBk
YXRlcy9yZXNvdXJjZXMvU1ZHQ2xpcFBhdGhFbGVtZW50LWRvbS1jbGlwUGF0aFVuaXRzLWF0dHIu
anM6CisgICAgICAgICogc3ZnL2R5bmFtaWMtdXBkYXRlcy9yZXNvdXJjZXMvU1ZHQ2xpcFBhdGhF
bGVtZW50LXN2Z2RvbS1jbGlwUGF0aFVuaXRzLXByb3AuanM6CisgICAgICAgICogc3ZnL2R5bmFt
aWMtdXBkYXRlcy9yZXNvdXJjZXMvU1ZHRWxsaXBzZUVsZW1lbnQtZG9tLWN4LWF0dHIuanM6Cisg
ICAgICAgICogc3ZnL2R5bmFtaWMtdXBkYXRlcy9yZXNvdXJjZXMvU1ZHRWxsaXBzZUVsZW1lbnQt
ZG9tLWN5LWF0dHIuanM6CisgICAgICAgICogc3ZnL2R5bmFtaWMtdXBkYXRlcy9yZXNvdXJjZXMv
U1ZHRWxsaXBzZUVsZW1lbnQtZG9tLXJ4LWF0dHIuanM6CisgICAgICAgICogc3ZnL2R5bmFtaWMt
dXBkYXRlcy9yZXNvdXJjZXMvU1ZHRWxsaXBzZUVsZW1lbnQtZG9tLXJ5LWF0dHIuanM6CisgICAg
ICAgICogc3ZnL2R5bmFtaWMtdXBkYXRlcy9yZXNvdXJjZXMvU1ZHRWxsaXBzZUVsZW1lbnQtc3Zn
ZG9tLWN4LXByb3AuanM6CisgICAgICAgICogc3ZnL2R5bmFtaWMtdXBkYXRlcy9yZXNvdXJjZXMv
U1ZHRWxsaXBzZUVsZW1lbnQtc3ZnZG9tLWN5LXByb3AuanM6CisgICAgICAgICogc3ZnL2R5bmFt
aWMtdXBkYXRlcy9yZXNvdXJjZXMvU1ZHRWxsaXBzZUVsZW1lbnQtc3ZnZG9tLXJ4LXByb3AuanM6
CisgICAgICAgICogc3ZnL2R5bmFtaWMtdXBkYXRlcy9yZXNvdXJjZXMvU1ZHRWxsaXBzZUVsZW1l
bnQtc3ZnZG9tLXJ5LXByb3AuanM6CisgICAgICAgICogc3ZnL2R5bmFtaWMtdXBkYXRlcy9yZXNv
dXJjZXMvU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQtZG9tLWhlaWdodC1hdHRyLmpzOgorICAgICAg
ICAqIHN2Zy9keW5hbWljLXVwZGF0ZXMvcmVzb3VyY2VzL1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50
LWRvbS13aWR0aC1hdHRyLmpzOgorICAgICAgICAqIHN2Zy9keW5hbWljLXVwZGF0ZXMvcmVzb3Vy
Y2VzL1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50LWRvbS14LWF0dHIuanM6CisgICAgICAgICogc3Zn
L2R5bmFtaWMtdXBkYXRlcy9yZXNvdXJjZXMvU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQtZG9tLXkt
YXR0ci5qczoKKyAgICAgICAgKiBzdmcvZHluYW1pYy11cGRhdGVzL3Jlc291cmNlcy9TVkdGb3Jl
aWduT2JqZWN0RWxlbWVudC1zdmdkb20taGVpZ2h0LXByb3AuanM6CisgICAgICAgICogc3ZnL2R5
bmFtaWMtdXBkYXRlcy9yZXNvdXJjZXMvU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQtc3ZnZG9tLXdp
ZHRoLXByb3AuanM6CisgICAgICAgICogc3ZnL2R5bmFtaWMtdXBkYXRlcy9yZXNvdXJjZXMvU1ZH
Rm9yZWlnbk9iamVjdEVsZW1lbnQtc3ZnZG9tLXgtcHJvcC5qczoKKyAgICAgICAgKiBzdmcvZHlu
YW1pYy11cGRhdGVzL3Jlc291cmNlcy9TVkdGb3JlaWduT2JqZWN0RWxlbWVudC1zdmdkb20teS1w
cm9wLmpzOgorICAgICAgICAqIHN2Zy9keW5hbWljLXVwZGF0ZXMvcmVzb3VyY2VzL1NWR1Rlc3RD
YXNlLmpzOgorICAgICAgICAqIHN2Zy9keW5hbWljLXVwZGF0ZXMvcmVzb3VyY2VzL1RFTVBMQVRF
Lmh0bWw6CisKIDIwMDgtMDMtMjIgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgogCiAg
ICAgICAgIFVwZGF0ZSBhIChwYXNzaW5nKSByZXN1bHQgSSBtaXNzZWQgaW4gbXkgbGFzdCBjaGVj
a2luLiAgTm8gcmV2aWV3LgpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9T
VkdGb3JlaWduT2JqZWN0RWxlbWVudC1kb20td2lkdGgtYXR0ci5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3N2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQt
ZG9tLXdpZHRoLWF0dHIuaHRtbAkocmV2aXNpb24gMzEyMzIpCisrKyBMYXlvdXRUZXN0cy9zdmcv
ZHluYW1pYy11cGRhdGVzL1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50LWRvbS13aWR0aC1hdHRyLmh0
bWwJKHdvcmtpbmcgY29weSkKQEAgLTEwLDYgKzEwLDUgQEAKIDxwIGlkPSJkZXNjcmlwdGlvbiI+
PC9wPgogPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CiA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL1NW
R0ZvcmVpZ25PYmplY3RFbGVtZW50LWRvbS13aWR0aC1hdHRyLmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgogPC9ib2R5PgogPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMtdXBkYXRl
cy9TVkdGb3JlaWduT2JqZWN0RWxlbWVudC1zdmdkb20td2lkdGgtcHJvcC1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdGb3JlaWdu
T2JqZWN0RWxlbWVudC1zdmdkb20td2lkdGgtcHJvcC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDMx
MjMyKQorKysgTGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdGb3JlaWduT2JqZWN0
RWxlbWVudC1zdmdkb20td2lkdGgtcHJvcC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAg
LTYsNyArNiw3IEBACiBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCiAKIAotUEFTUyBmb3JlaWdu
T2JqZWN0RWxlbWVudC53aWR0aC5iYXNlVmFsLnZhbHVlIGlzIDAKK1BBU1MgZm9yZWlnbk9iamVj
dEVsZW1lbnQud2lkdGguYmFzZVZhbC52YWx1ZSBpcyAyCiBQQVNTIGZvcmVpZ25PYmplY3RFbGVt
ZW50LndpZHRoLmJhc2VWYWwudmFsdWUgaXMgMTUwCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCiAKSW5kZXg6IExheW91dFRlc3RzL3N2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHRWxsaXBz
ZUVsZW1lbnQtZG9tLXJ4LWF0dHItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3N2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHRWxsaXBzZUVsZW1lbnQtZG9tLXJ4LWF0dHItZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiAzMTIzMikKKysrIExheW91dFRlc3RzL3N2Zy9keW5hbWljLXVw
ZGF0ZXMvU1ZHRWxsaXBzZUVsZW1lbnQtZG9tLXJ4LWF0dHItZXhwZWN0ZWQudHh0CSh3b3JraW5n
IGNvcHkpCkBAIC01LDggKzUsOCBAQAogT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgogCiAKLVBB
U1MgZWxsaXBzZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCdyeCcpIGlzICIwIgotUEFTUyBlbGxpcHNl
RWxlbWVudC5nZXRBdHRyaWJ1dGUoJ3J4JykgaXMgIjEwMCIKK1BBU1MgZWxsaXBzZUVsZW1lbnQu
Z2V0QXR0cmlidXRlKCdyeCcpIGlzICIxMCIKK1BBU1MgZWxsaXBzZUVsZW1lbnQuZ2V0QXR0cmli
dXRlKCdyeCcpIGlzICIxNTAiCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRF
U1QgQ09NUExFVEUKSW5kZXg6IExheW91dFRlc3RzL3N2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHQ2ly
Y2xlRWxlbWVudC1zdmdkb20tY3gtcHJvcC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L3N2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHQ2lyY2xlRWxlbWVudC1zdmdkb20tY3gtcHJvcC5odG1s
CShyZXZpc2lvbiAzMTIzMikKKysrIExheW91dFRlc3RzL3N2Zy9keW5hbWljLXVwZGF0ZXMvU1ZH
Q2lyY2xlRWxlbWVudC1zdmdkb20tY3gtcHJvcC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xMCw2
ICsxMCw1IEBACiA8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgogPHNjcmlwdCBzcmM9InJlc291cmNlcy9TVkdDaXJjbGVFbGVtZW50LXN2Z2RvbS1jeC1w
cm9wLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgogPC9ib2R5PgogPC9odG1sPgpJbmRleDogTGF5b3V0
VGVzdHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdFbGxpcHNlRWxlbWVudC1kb20tcnktYXR0ci1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMtdXBkYXRl
cy9TVkdFbGxpcHNlRWxlbWVudC1kb20tcnktYXR0ci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDMx
MjMyKQorKysgTGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdFbGxpcHNlRWxlbWVu
dC1kb20tcnktYXR0ci1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTUsNyArNSw3IEBA
CiBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCiAKIAotUEFTUyBlbGxpcHNlRWxlbWVudC5nZXRB
dHRyaWJ1dGUoJ3J5JykgaXMgIjAiCitQQVNTIGVsbGlwc2VFbGVtZW50LmdldEF0dHJpYnV0ZSgn
cnknKSBpcyAiMTAiCiBQQVNTIGVsbGlwc2VFbGVtZW50LmdldEF0dHJpYnV0ZSgncnknKSBpcyAi
MTUwIgogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCkluZGV4OiBMYXlvdXRUZXN0
cy9zdmcvZHluYW1pYy11cGRhdGVzL1NWR0NpcmNsZUVsZW1lbnQtZG9tLXItYXR0ci5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHQ2lyY2xlRWxl
bWVudC1kb20tci1hdHRyLmh0bWwJKHJldmlzaW9uIDMxMjMyKQorKysgTGF5b3V0VGVzdHMvc3Zn
L2R5bmFtaWMtdXBkYXRlcy9TVkdDaXJjbGVFbGVtZW50LWRvbS1yLWF0dHIuaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtMTAsNiArMTAsNSBAQAogPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+CiA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvU1ZHQ2lyY2xlRWxl
bWVudC1kb20tci1hdHRyLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pz
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgogPC9ib2R5PgogPC9odG1sPgpJ
bmRleDogTGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdDaXJjbGVFbGVtZW50LXN2
Z2RvbS1jeS1wcm9wLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMt
dXBkYXRlcy9TVkdDaXJjbGVFbGVtZW50LXN2Z2RvbS1jeS1wcm9wLmh0bWwJKHJldmlzaW9uIDMx
MjMyKQorKysgTGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdDaXJjbGVFbGVtZW50
LXN2Z2RvbS1jeS1wcm9wLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEwLDYgKzEwLDUgQEAKIDxw
IGlkPSJkZXNjcmlwdGlvbiI+PC9wPgogPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CiA8c2NyaXB0
IHNyYz0icmVzb3VyY2VzL1NWR0NpcmNsZUVsZW1lbnQtc3ZnZG9tLWN5LXByb3AuanMiPjwvc2Ny
aXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+CiA8L2JvZHk+CiA8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvZHlu
YW1pYy11cGRhdGVzL1NWR0FFbGVtZW50LWRvbS10YXJnZXQtYXR0ci5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3N2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHQUVsZW1lbnQtZG9tLXRhcmdl
dC1hdHRyLmh0bWwJKHJldmlzaW9uIDMxMjMyKQorKysgTGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMt
dXBkYXRlcy9TVkdBRWxlbWVudC1kb20tdGFyZ2V0LWF0dHIuaHRtbAkod29ya2luZyBjb3B5KQpA
QCAtMTAsNiArMTAsNSBAQAogPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+CiA8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvU1ZHQUVsZW1lbnQtZG9tLXRhcmdl
dC1hdHRyLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgogPC9ib2R5PgogPC9odG1sPgpJbmRleDogTGF5
b3V0VGVzdHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdFbGxpcHNlRWxlbWVudC1zdmdkb20tY3gt
cHJvcC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMt
dXBkYXRlcy9TVkdFbGxpcHNlRWxlbWVudC1zdmdkb20tY3gtcHJvcC1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDMxMjMyKQorKysgTGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdFbGxp
cHNlRWxlbWVudC1zdmdkb20tY3gtcHJvcC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAg
LTUsNyArNSw3IEBACiBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCiAKIAotUEFTUyBlbGxpcHNl
RWxlbWVudC5jeC5iYXNlVmFsLnZhbHVlIGlzIC0xNTAKK1BBU1MgZWxsaXBzZUVsZW1lbnQuY3gu
YmFzZVZhbC52YWx1ZSBpcyAtNTAKIFBBU1MgZWxsaXBzZUVsZW1lbnQuY3guYmFzZVZhbC52YWx1
ZSBpcyAxNTAKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIApJbmRleDogTGF5b3V0
VGVzdHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdFbGxpcHNlRWxlbWVudC1zdmdkb20tY3ktcHJv
cC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMtdXBk
YXRlcy9TVkdFbGxpcHNlRWxlbWVudC1zdmdkb20tY3ktcHJvcC1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDMxMjMyKQorKysgTGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdFbGxpcHNl
RWxlbWVudC1zdmdkb20tY3ktcHJvcC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTUs
NyArNSw3IEBACiBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCiAKIAotUEFTUyBlbGxpcHNlRWxl
bWVudC5jeS5iYXNlVmFsLnZhbHVlIGlzIC0xNTAKK1BBU1MgZWxsaXBzZUVsZW1lbnQuY3kuYmFz
ZVZhbC52YWx1ZSBpcyAtNTAKIFBBU1MgZWxsaXBzZUVsZW1lbnQuY3kuYmFzZVZhbC52YWx1ZSBp
cyAxNTAKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIApJbmRleDogTGF5b3V0VGVz
dHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdDaXJjbGVFbGVtZW50LWRvbS1jeC1hdHRyLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdDaXJjbGVF
bGVtZW50LWRvbS1jeC1hdHRyLmh0bWwJKHJldmlzaW9uIDMxMjMyKQorKysgTGF5b3V0VGVzdHMv
c3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdDaXJjbGVFbGVtZW50LWRvbS1jeC1hdHRyLmh0bWwJKHdv
cmtpbmcgY29weSkKQEAgLTEwLDYgKzEwLDUgQEAKIDxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgog
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CiA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL1NWR0NpcmNs
ZUVsZW1lbnQtZG9tLWN4LWF0dHIuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2Zh
c3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CiA8L2JvZHk+CiA8L2h0
bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvZHluYW1pYy11cGRhdGVzL1NWR0NpcmNsZUVsZW1l
bnQtZG9tLWN5LWF0dHIuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvZHluYW1p
Yy11cGRhdGVzL1NWR0NpcmNsZUVsZW1lbnQtZG9tLWN5LWF0dHIuaHRtbAkocmV2aXNpb24gMzEy
MzIpCisrKyBMYXlvdXRUZXN0cy9zdmcvZHluYW1pYy11cGRhdGVzL1NWR0NpcmNsZUVsZW1lbnQt
ZG9tLWN5LWF0dHIuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMTAsNiArMTAsNSBAQAogPHAgaWQ9
ImRlc2NyaXB0aW9uIj48L3A+CiA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KIDxzY3JpcHQgc3Jj
PSJyZXNvdXJjZXMvU1ZHQ2lyY2xlRWxlbWVudC1kb20tY3ktYXR0ci5qcyI+PC9zY3JpcHQ+Ci08
c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KIDwvYm9keT4KIDwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3N2Zy9keW5hbWljLXVw
ZGF0ZXMvU1ZHRWxsaXBzZUVsZW1lbnQtc3ZnZG9tLXJ4LXByb3AuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9zdmcvZHluYW1pYy11cGRhdGVzL1NWR0VsbGlwc2VFbGVtZW50LXN2Z2Rv
bS1yeC1wcm9wLmh0bWwJKHJldmlzaW9uIDMxMjMyKQorKysgTGF5b3V0VGVzdHMvc3ZnL2R5bmFt
aWMtdXBkYXRlcy9TVkdFbGxpcHNlRWxlbWVudC1zdmdkb20tcngtcHJvcC5odG1sCSh3b3JraW5n
IGNvcHkpCkBAIC0xMCw2ICsxMCw1IEBACiA8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgogPHNjcmlwdCBzcmM9InJlc291cmNlcy9TVkdFbGxpcHNlRWxl
bWVudC1zdmdkb20tcngtcHJvcC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vZmFz
dC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KIDwvYm9keT4KIDwvaHRt
bD4KSW5kZXg6IExheW91dFRlc3RzL3N2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHRWxsaXBzZUVsZW1l
bnQtc3ZnZG9tLXJ5LXByb3AuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvZHlu
YW1pYy11cGRhdGVzL1NWR0VsbGlwc2VFbGVtZW50LXN2Z2RvbS1yeS1wcm9wLmh0bWwJKHJldmlz
aW9uIDMxMjMyKQorKysgTGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdFbGxpcHNl
RWxlbWVudC1zdmdkb20tcnktcHJvcC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xMCw2ICsxMCw1
IEBACiA8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgog
PHNjcmlwdCBzcmM9InJlc291cmNlcy9TVkdFbGxpcHNlRWxlbWVudC1zdmdkb20tcnktcHJvcC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KIDwvYm9keT4KIDwvaHRtbD4KSW5kZXg6IExheW91dFRlc3Rz
L3N2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQtc3ZnZG9tLXgtcHJv
cC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9keW5hbWljLXVwZGF0ZXMvU1ZH
Rm9yZWlnbk9iamVjdEVsZW1lbnQtc3ZnZG9tLXgtcHJvcC5odG1sCShyZXZpc2lvbiAzMTIzMikK
KysrIExheW91dFRlc3RzL3N2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHRm9yZWlnbk9iamVjdEVsZW1l
bnQtc3ZnZG9tLXgtcHJvcC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xMCw2ICsxMCw1IEBACiA8
cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgogPHNjcmlw
dCBzcmM9InJlc291cmNlcy9TVkdGb3JlaWduT2JqZWN0RWxlbWVudC1zdmdkb20teC1wcm9wLmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgogPC9ib2R5PgogPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMv
c3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdGb3JlaWduT2JqZWN0RWxlbWVudC1zdmdkb20taGVpZ2h0
LXByb3AuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvZHluYW1pYy11cGRhdGVz
L1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50LXN2Z2RvbS1oZWlnaHQtcHJvcC5odG1sCShyZXZpc2lv
biAzMTIzMikKKysrIExheW91dFRlc3RzL3N2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHRm9yZWlnbk9i
amVjdEVsZW1lbnQtc3ZnZG9tLWhlaWdodC1wcm9wLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEw
LDYgKzEwLDUgQEAKIDxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgogPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CiA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50LXN2
Z2RvbS1oZWlnaHQtcHJvcC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KIDwvYm9keT4KIDwvaHRtbD4K
SW5kZXg6IExheW91dFRlc3RzL3N2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHRm9yZWlnbk9iamVjdEVs
ZW1lbnQtc3ZnZG9tLXktcHJvcC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9k
eW5hbWljLXVwZGF0ZXMvU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQtc3ZnZG9tLXktcHJvcC5odG1s
CShyZXZpc2lvbiAzMTIzMikKKysrIExheW91dFRlc3RzL3N2Zy9keW5hbWljLXVwZGF0ZXMvU1ZH
Rm9yZWlnbk9iamVjdEVsZW1lbnQtc3ZnZG9tLXktcHJvcC5odG1sCSh3b3JraW5nIGNvcHkpCkBA
IC0xMCw2ICsxMCw1IEBACiA8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KIDxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgogPHNjcmlwdCBzcmM9InJlc291cmNlcy9TVkdGb3JlaWduT2JqZWN0RWxlbWVu
dC1zdmdkb20teS1wcm9wLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pz
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgogPC9ib2R5PgogPC9odG1sPgpJ
bmRleDogTGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdDbGlwUGF0aEVsZW1lbnQt
c3ZnZG9tLWNsaXBQYXRoVW5pdHMtcHJvcC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L3N2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHQ2xpcFBhdGhFbGVtZW50LXN2Z2RvbS1jbGlwUGF0aFVu
aXRzLXByb3AuaHRtbAkocmV2aXNpb24gMzEyMzIpCisrKyBMYXlvdXRUZXN0cy9zdmcvZHluYW1p
Yy11cGRhdGVzL1NWR0NsaXBQYXRoRWxlbWVudC1zdmdkb20tY2xpcFBhdGhVbml0cy1wcm9wLmh0
bWwJKHdvcmtpbmcgY29weSkKQEAgLTEwLDYgKzEwLDUgQEAKIDxwIGlkPSJkZXNjcmlwdGlvbiI+
PC9wPgogPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CiA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL1NW
R0NsaXBQYXRoRWxlbWVudC1zdmdkb20tY2xpcFBhdGhVbml0cy1wcm9wLmpzIj48L3NjcmlwdD4K
LTxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgogPC9ib2R5PgogPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMt
dXBkYXRlcy9TVkdFbGxpcHNlRWxlbWVudC1kb20tY3gtYXR0ci1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdFbGxpcHNlRWxlbWVu
dC1kb20tY3gtYXR0ci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDMxMjMyKQorKysgTGF5b3V0VGVz
dHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdFbGxpcHNlRWxlbWVudC1kb20tY3gtYXR0ci1leHBl
Y3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTUsNyArNSw3IEBACiBPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCiAKIAotUEFTUyBlbGxpcHNlRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2N4JykgaXMg
Ii0xNTAiCitQQVNTIGVsbGlwc2VFbGVtZW50LmdldEF0dHJpYnV0ZSgnY3gnKSBpcyAiLTUwIgog
UEFTUyBlbGxpcHNlRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2N4JykgaXMgIjE1MCIKIFBBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIApJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMt
dXBkYXRlcy9TVkdFbGxpcHNlRWxlbWVudC1kb20tY3ktYXR0ci1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdFbGxpcHNlRWxlbWVu
dC1kb20tY3ktYXR0ci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDMxMjMyKQorKysgTGF5b3V0VGVz
dHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdFbGxpcHNlRWxlbWVudC1kb20tY3ktYXR0ci1leHBl
Y3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTUsNyArNSw3IEBACiBPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCiAKIAotUEFTUyBlbGxpcHNlRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2N5JykgaXMg
Ii0xNTAiCitQQVNTIGVsbGlwc2VFbGVtZW50LmdldEF0dHJpYnV0ZSgnY3knKSBpcyAiLTUwIgog
UEFTUyBlbGxpcHNlRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2N5JykgaXMgIjE1MCIKIFBBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIApJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMt
dXBkYXRlcy9TVkdGb3JlaWduT2JqZWN0RWxlbWVudC1zdmdkb20td2lkdGgtcHJvcC5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHRm9yZWlnbk9i
amVjdEVsZW1lbnQtc3ZnZG9tLXdpZHRoLXByb3AuaHRtbAkocmV2aXNpb24gMzEyMzIpCisrKyBM
YXlvdXRUZXN0cy9zdmcvZHluYW1pYy11cGRhdGVzL1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50LXN2
Z2RvbS13aWR0aC1wcm9wLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEwLDYgKzEwLDUgQEAKIDxw
IGlkPSJkZXNjcmlwdGlvbiI+PC9wPgogPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CiA8c2NyaXB0
IHNyYz0icmVzb3VyY2VzL1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50LXN2Z2RvbS13aWR0aC1wcm9w
LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgogPC9ib2R5PgogPC9odG1sPgpJbmRleDogTGF5b3V0VGVz
dHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdFbGxpcHNlRWxlbWVudC1kb20tcngtYXR0ci5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHRWxsaXBz
ZUVsZW1lbnQtZG9tLXJ4LWF0dHIuaHRtbAkocmV2aXNpb24gMzEyMzIpCisrKyBMYXlvdXRUZXN0
cy9zdmcvZHluYW1pYy11cGRhdGVzL1NWR0VsbGlwc2VFbGVtZW50LWRvbS1yeC1hdHRyLmh0bWwJ
KHdvcmtpbmcgY29weSkKQEAgLTEwLDYgKzEwLDUgQEAKIDxwIGlkPSJkZXNjcmlwdGlvbiI+PC9w
PgogPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CiA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL1NWR0Vs
bGlwc2VFbGVtZW50LWRvbS1yeC1hdHRyLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8u
Li9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgogPC9ib2R5Pgog
PC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdFbGxpcHNl
RWxlbWVudC1kb20tcnktYXR0ci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9k
eW5hbWljLXVwZGF0ZXMvU1ZHRWxsaXBzZUVsZW1lbnQtZG9tLXJ5LWF0dHIuaHRtbAkocmV2aXNp
b24gMzEyMzIpCisrKyBMYXlvdXRUZXN0cy9zdmcvZHluYW1pYy11cGRhdGVzL1NWR0VsbGlwc2VF
bGVtZW50LWRvbS1yeS1hdHRyLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEwLDYgKzEwLDUgQEAK
IDxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgogPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CiA8c2Ny
aXB0IHNyYz0icmVzb3VyY2VzL1NWR0VsbGlwc2VFbGVtZW50LWRvbS1yeS1hdHRyLmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgogPC9ib2R5PgogPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2R5
bmFtaWMtdXBkYXRlcy9TVkdBRWxlbWVudC1zdmdkb20tdGFyZ2V0LXByb3AuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvZHluYW1pYy11cGRhdGVzL1NWR0FFbGVtZW50LXN2Z2Rv
bS10YXJnZXQtcHJvcC5odG1sCShyZXZpc2lvbiAzMTIzMikKKysrIExheW91dFRlc3RzL3N2Zy9k
eW5hbWljLXVwZGF0ZXMvU1ZHQUVsZW1lbnQtc3ZnZG9tLXRhcmdldC1wcm9wLmh0bWwJKHdvcmtp
bmcgY29weSkKQEAgLTEwLDYgKzEwLDUgQEAKIDxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgogPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+CiA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL1NWR0FFbGVtZW50
LXN2Z2RvbS10YXJnZXQtcHJvcC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vZmFz
dC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KIDwvYm9keT4KIDwvaHRt
bD4KSW5kZXg6IExheW91dFRlc3RzL3N2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHRWxsaXBzZUVsZW1l
bnQtc3ZnZG9tLWN4LXByb3AuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvZHlu
YW1pYy11cGRhdGVzL1NWR0VsbGlwc2VFbGVtZW50LXN2Z2RvbS1jeC1wcm9wLmh0bWwJKHJldmlz
aW9uIDMxMjMyKQorKysgTGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdFbGxpcHNl
RWxlbWVudC1zdmdkb20tY3gtcHJvcC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xMCw2ICsxMCw1
IEBACiA8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgog
PHNjcmlwdCBzcmM9InJlc291cmNlcy9TVkdFbGxpcHNlRWxlbWVudC1zdmdkb20tY3gtcHJvcC5q
cyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KIDwvYm9keT4KIDwvaHRtbD4KSW5kZXg6IExheW91dFRlc3Rz
L3N2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHRWxsaXBzZUVsZW1lbnQtc3ZnZG9tLWN5LXByb3AuaHRt
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvZHluYW1pYy11cGRhdGVzL1NWR0VsbGlw
c2VFbGVtZW50LXN2Z2RvbS1jeS1wcm9wLmh0bWwJKHJldmlzaW9uIDMxMjMyKQorKysgTGF5b3V0
VGVzdHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdFbGxpcHNlRWxlbWVudC1zdmdkb20tY3ktcHJv
cC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xMCw2ICsxMCw1IEBACiA8cCBpZD0iZGVzY3JpcHRp
b24iPjwvcD4KIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgogPHNjcmlwdCBzcmM9InJlc291cmNl
cy9TVkdFbGxpcHNlRWxlbWVudC1zdmdkb20tY3ktcHJvcC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
IDwvYm9keT4KIDwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3N2Zy9keW5hbWljLXVwZGF0ZXMv
U1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQtZG9tLWhlaWdodC1hdHRyLWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvZHluYW1pYy11cGRhdGVzL1NWR0ZvcmVpZ25PYmpl
Y3RFbGVtZW50LWRvbS1oZWlnaHQtYXR0ci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDMxMjMyKQor
KysgTGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdGb3JlaWduT2JqZWN0RWxlbWVu
dC1kb20taGVpZ2h0LWF0dHItZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC02LDcgKzYs
NyBAQAogT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgogCiAKLVBBU1MgZm9yZWlnbk9iamVjdEVs
ZW1lbnQuZ2V0QXR0cmlidXRlKCdoZWlnaHQnKSBpcyAiMCIKK1BBU1MgZm9yZWlnbk9iamVjdEVs
ZW1lbnQuZ2V0QXR0cmlidXRlKCdoZWlnaHQnKSBpcyAiMiIKIFBBU1MgZm9yZWlnbk9iamVjdEVs
ZW1lbnQuZ2V0QXR0cmlidXRlKCdoZWlnaHQnKSBpcyAiMTUwIgogUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQogCkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvZHluYW1pYy11cGRhdGVzL1NW
R0NpcmNsZUVsZW1lbnQtc3ZnZG9tLXItcHJvcC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdDaXJjbGVFbGVtZW50LXN2Z2RvbS1y
LXByb3AtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAzMTIzMikKKysrIExheW91dFRlc3RzL3N2Zy9k
eW5hbWljLXVwZGF0ZXMvU1ZHQ2lyY2xlRWxlbWVudC1zdmdkb20tci1wcm9wLWV4cGVjdGVkLnR4
dAkod29ya2luZyBjb3B5KQpAQCAtNSw3ICs1LDcgQEAKIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KIAogCi1QQVNTIGNpcmNsZUVsZW1lbnQuci5iYXNlVmFsLnZhbHVlIGlzIDAKK1BBU1MgY2ly
Y2xlRWxlbWVudC5yLmJhc2VWYWwudmFsdWUgaXMgMQogUEFTUyBjaXJjbGVFbGVtZW50LnIuYmFz
ZVZhbC52YWx1ZSBpcyAxNTAKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIApJbmRl
eDogTGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdBRWxlbWVudC1kb20taHJlZi1h
dHRyLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9T
VkdBRWxlbWVudC1kb20taHJlZi1hdHRyLmh0bWwJKHJldmlzaW9uIDMxMjMyKQorKysgTGF5b3V0
VGVzdHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdBRWxlbWVudC1kb20taHJlZi1hdHRyLmh0bWwJ
KHdvcmtpbmcgY29weSkKQEAgLTEwLDYgKzEwLDUgQEAKIDxwIGlkPSJkZXNjcmlwdGlvbiI+PC9w
PgogPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CiA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL1NWR0FF
bGVtZW50LWRvbS1ocmVmLWF0dHIuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2Zh
c3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CiA8L2JvZHk+CiA8L2h0
bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvZHluYW1pYy11cGRhdGVzL1NWR0VsbGlwc2VFbGVt
ZW50LWRvbS1jeC1hdHRyLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2R5bmFt
aWMtdXBkYXRlcy9TVkdFbGxpcHNlRWxlbWVudC1kb20tY3gtYXR0ci5odG1sCShyZXZpc2lvbiAz
MTIzMikKKysrIExheW91dFRlc3RzL3N2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHRWxsaXBzZUVsZW1l
bnQtZG9tLWN4LWF0dHIuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMTAsNiArMTAsNSBAQAogPHAg
aWQ9ImRlc2NyaXB0aW9uIj48L3A+CiA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KIDxzY3JpcHQg
c3JjPSJyZXNvdXJjZXMvU1ZHRWxsaXBzZUVsZW1lbnQtZG9tLWN4LWF0dHIuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+CiA8L2JvZHk+CiA8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvZHluYW1p
Yy11cGRhdGVzL1NWR0VsbGlwc2VFbGVtZW50LWRvbS1jeS1hdHRyLmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdFbGxpcHNlRWxlbWVudC1kb20t
Y3ktYXR0ci5odG1sCShyZXZpc2lvbiAzMTIzMikKKysrIExheW91dFRlc3RzL3N2Zy9keW5hbWlj
LXVwZGF0ZXMvU1ZHRWxsaXBzZUVsZW1lbnQtZG9tLWN5LWF0dHIuaHRtbAkod29ya2luZyBjb3B5
KQpAQCAtMTAsNiArMTAsNSBAQAogPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+CiA8ZGl2IGlkPSJj
b25zb2xlIj48L2Rpdj4KIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvU1ZHRWxsaXBzZUVsZW1lbnQt
ZG9tLWN5LWF0dHIuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CiA8L2JvZHk+CiA8L2h0bWw+CkluZGV4
OiBMYXlvdXRUZXN0cy9zdmcvZHluYW1pYy11cGRhdGVzL1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50
LWRvbS13aWR0aC1hdHRyLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9z
dmcvZHluYW1pYy11cGRhdGVzL1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50LWRvbS13aWR0aC1hdHRy
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMzEyMzIpCisrKyBMYXlvdXRUZXN0cy9zdmcvZHluYW1p
Yy11cGRhdGVzL1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50LWRvbS13aWR0aC1hdHRyLWV4cGVjdGVk
LnR4dAkod29ya2luZyBjb3B5KQpAQCAtNiw3ICs2LDcgQEAKIE9uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KIAogCi1QQVNTIGZvcmVpZ25PYmplY3RFbGVtZW50LmdldEF0dHJpYnV0ZSgnd2lkdGgn
KSBpcyAiMCIKK1BBU1MgZm9yZWlnbk9iamVjdEVsZW1lbnQuZ2V0QXR0cmlidXRlKCd3aWR0aCcp
IGlzICIyIgogUEFTUyBmb3JlaWduT2JqZWN0RWxlbWVudC5nZXRBdHRyaWJ1dGUoJ3dpZHRoJykg
aXMgIjE1MCIKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIApJbmRleDogTGF5b3V0
VGVzdHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdDaXJjbGVFbGVtZW50LXN2Z2RvbS1jeC1wcm9w
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvZHluYW1pYy11cGRh
dGVzL1NWR0NpcmNsZUVsZW1lbnQtc3ZnZG9tLWN4LXByb3AtZXhwZWN0ZWQudHh0CShyZXZpc2lv
biAzMTIzMikKKysrIExheW91dFRlc3RzL3N2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHQ2lyY2xlRWxl
bWVudC1zdmdkb20tY3gtcHJvcC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTUsNyAr
NSw3IEBACiBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCiAKIAotUEFTUyBjaXJjbGVFbGVtZW50
LmN4LmJhc2VWYWwudmFsdWUgaXMgLTE1MAorUEFTUyBjaXJjbGVFbGVtZW50LmN4LmJhc2VWYWwu
dmFsdWUgaXMgLTUwCiBQQVNTIGNpcmNsZUVsZW1lbnQuY3guYmFzZVZhbC52YWx1ZSBpcyAxNTAK
IFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIApJbmRleDogTGF5b3V0VGVzdHMvc3Zn
L2R5bmFtaWMtdXBkYXRlcy9TVkdDaXJjbGVFbGVtZW50LWRvbS1yLWF0dHItZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHQ2lyY2xl
RWxlbWVudC1kb20tci1hdHRyLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMzEyMzIpCisrKyBMYXlv
dXRUZXN0cy9zdmcvZHluYW1pYy11cGRhdGVzL1NWR0NpcmNsZUVsZW1lbnQtZG9tLXItYXR0ci1l
eHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTUsNyArNSw3IEBACiBPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCiAKIAotUEFTUyBjaXJjbGVFbGVtZW50LmdldEF0dHJpYnV0ZSgncicpIGlz
ICIwIgorUEFTUyBjaXJjbGVFbGVtZW50LmdldEF0dHJpYnV0ZSgncicpIGlzICIxIgogUEFTUyBj
aXJjbGVFbGVtZW50LmdldEF0dHJpYnV0ZSgncicpIGlzICIxNTAiCiBQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCiAKSW5kZXg6IExheW91dFRlc3RzL3N2Zy9keW5hbWljLXVwZGF0ZXMv
U1ZHQ2lyY2xlRWxlbWVudC1zdmdkb20tY3ktcHJvcC1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdDaXJjbGVFbGVtZW50LXN2Z2Rv
bS1jeS1wcm9wLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMzEyMzIpCisrKyBMYXlvdXRUZXN0cy9z
dmcvZHluYW1pYy11cGRhdGVzL1NWR0NpcmNsZUVsZW1lbnQtc3ZnZG9tLWN5LXByb3AtZXhwZWN0
ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC01LDcgKzUsNyBAQAogT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgogCiAKLVBBU1MgY2lyY2xlRWxlbWVudC5jeS5iYXNlVmFsLnZhbHVlIGlzIC0xNTAK
K1BBU1MgY2lyY2xlRWxlbWVudC5jeS5iYXNlVmFsLnZhbHVlIGlzIC01MAogUEFTUyBjaXJjbGVF
bGVtZW50LmN5LmJhc2VWYWwudmFsdWUgaXMgMTUwCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCiAKSW5kZXg6IExheW91dFRlc3RzL3N2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHQ2lyY2xl
RWxlbWVudC1kb20tY3gtYXR0ci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdDaXJjbGVFbGVtZW50LWRvbS1jeC1hdHRyLWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gMzEyMzIpCisrKyBMYXlvdXRUZXN0cy9zdmcvZHluYW1pYy11cGRh
dGVzL1NWR0NpcmNsZUVsZW1lbnQtZG9tLWN4LWF0dHItZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNv
cHkpCkBAIC01LDcgKzUsNyBAQAogT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgogCiAKLVBBU1Mg
Y2lyY2xlRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2N4JykgaXMgIi0xNTAiCitQQVNTIGNpcmNsZUVs
ZW1lbnQuZ2V0QXR0cmlidXRlKCdjeCcpIGlzICItNTAiCiBQQVNTIGNpcmNsZUVsZW1lbnQuZ2V0
QXR0cmlidXRlKCdjeCcpIGlzICIxNTAiCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CiAKSW5kZXg6IExheW91dFRlc3RzL3N2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHQ2lyY2xlRWxlbWVu
dC1kb20tY3ktYXR0ci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3Zn
L2R5bmFtaWMtdXBkYXRlcy9TVkdDaXJjbGVFbGVtZW50LWRvbS1jeS1hdHRyLWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gMzEyMzIpCisrKyBMYXlvdXRUZXN0cy9zdmcvZHluYW1pYy11cGRhdGVzL1NW
R0NpcmNsZUVsZW1lbnQtZG9tLWN5LWF0dHItZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBA
IC01LDcgKzUsNyBAQAogT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgogCiAKLVBBU1MgY2lyY2xl
RWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2N5JykgaXMgIi0xNTAiCitQQVNTIGNpcmNsZUVsZW1lbnQu
Z2V0QXR0cmlidXRlKCdjeScpIGlzICItNTAiCiBQQVNTIGNpcmNsZUVsZW1lbnQuZ2V0QXR0cmli
dXRlKCdjeScpIGlzICIxNTAiCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKSW5k
ZXg6IExheW91dFRlc3RzL3N2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHRWxsaXBzZUVsZW1lbnQtc3Zn
ZG9tLXJ4LXByb3AtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9k
eW5hbWljLXVwZGF0ZXMvU1ZHRWxsaXBzZUVsZW1lbnQtc3ZnZG9tLXJ4LXByb3AtZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiAzMTIzMikKKysrIExheW91dFRlc3RzL3N2Zy9keW5hbWljLXVwZGF0ZXMv
U1ZHRWxsaXBzZUVsZW1lbnQtc3ZnZG9tLXJ4LXByb3AtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNv
cHkpCkBAIC01LDggKzUsOCBAQAogT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgogCiAKLVBBU1Mg
ZWxsaXBzZUVsZW1lbnQucnguYmFzZVZhbC52YWx1ZSBpcyAwCi1QQVNTIGVsbGlwc2VFbGVtZW50
LnJ4LmJhc2VWYWwudmFsdWUgaXMgMTAwCitQQVNTIGVsbGlwc2VFbGVtZW50LnJ4LmJhc2VWYWwu
dmFsdWUgaXMgMTAKK1BBU1MgZWxsaXBzZUVsZW1lbnQucnguYmFzZVZhbC52YWx1ZSBpcyAxNTAK
IFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpJbmRleDog
TGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdFbGxpcHNlRWxlbWVudC1zdmdkb20t
cnktcHJvcC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2R5bmFt
aWMtdXBkYXRlcy9TVkdFbGxpcHNlRWxlbWVudC1zdmdkb20tcnktcHJvcC1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDMxMjMyKQorKysgTGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdF
bGxpcHNlRWxlbWVudC1zdmdkb20tcnktcHJvcC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTUsNyArNSw3IEBACiBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCiAKIAotUEFTUyBlbGxp
cHNlRWxlbWVudC5yeS5iYXNlVmFsLnZhbHVlIGlzIDAKK1BBU1MgZWxsaXBzZUVsZW1lbnQucnku
YmFzZVZhbC52YWx1ZSBpcyAxMAogUEFTUyBlbGxpcHNlRWxlbWVudC5yeS5iYXNlVmFsLnZhbHVl
IGlzIDE1MAogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCkluZGV4OiBMYXlvdXRU
ZXN0cy9zdmcvZHluYW1pYy11cGRhdGVzL1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50LWRvbS14LWF0
dHIuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvZHluYW1pYy11cGRhdGVzL1NW
R0ZvcmVpZ25PYmplY3RFbGVtZW50LWRvbS14LWF0dHIuaHRtbAkocmV2aXNpb24gMzEyMzIpCisr
KyBMYXlvdXRUZXN0cy9zdmcvZHluYW1pYy11cGRhdGVzL1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50
LWRvbS14LWF0dHIuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMTAsNiArMTAsNSBAQAogPHAgaWQ9
ImRlc2NyaXB0aW9uIj48L3A+CiA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KIDxzY3JpcHQgc3Jj
PSJyZXNvdXJjZXMvU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQtZG9tLXgtYXR0ci5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KIDwvYm9keT4KIDwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3N2Zy9keW5h
bWljLXVwZGF0ZXMvU1ZHQ2lyY2xlRWxlbWVudC1zdmdkb20tci1wcm9wLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdDaXJjbGVFbGVtZW50LXN2
Z2RvbS1yLXByb3AuaHRtbAkocmV2aXNpb24gMzEyMzIpCisrKyBMYXlvdXRUZXN0cy9zdmcvZHlu
YW1pYy11cGRhdGVzL1NWR0NpcmNsZUVsZW1lbnQtc3ZnZG9tLXItcHJvcC5odG1sCSh3b3JraW5n
IGNvcHkpCkBAIC0xMCw2ICsxMCw1IEBACiA8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KIDxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgogPHNjcmlwdCBzcmM9InJlc291cmNlcy9TVkdDaXJjbGVFbGVt
ZW50LXN2Z2RvbS1yLXByb3AuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3Qv
anMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CiA8L2JvZHk+CiA8L2h0bWw+
CkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvZHluYW1pYy11cGRhdGVzL1NWR0ZvcmVpZ25PYmplY3RF
bGVtZW50LWRvbS1oZWlnaHQtYXR0ci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2
Zy9keW5hbWljLXVwZGF0ZXMvU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQtZG9tLWhlaWdodC1hdHRy
Lmh0bWwJKHJldmlzaW9uIDMxMjMyKQorKysgTGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMtdXBkYXRl
cy9TVkdGb3JlaWduT2JqZWN0RWxlbWVudC1kb20taGVpZ2h0LWF0dHIuaHRtbAkod29ya2luZyBj
b3B5KQpAQCAtMTAsNiArMTAsNSBAQAogPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+CiA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvU1ZHRm9yZWlnbk9iamVj
dEVsZW1lbnQtZG9tLWhlaWdodC1hdHRyLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8u
Li9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgogPC9ib2R5Pgog
PC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdGb3JlaWdu
T2JqZWN0RWxlbWVudC1kb20teS1hdHRyLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
c3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdGb3JlaWduT2JqZWN0RWxlbWVudC1kb20teS1hdHRyLmh0
bWwJKHJldmlzaW9uIDMxMjMyKQorKysgTGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9T
VkdGb3JlaWduT2JqZWN0RWxlbWVudC1kb20teS1hdHRyLmh0bWwJKHdvcmtpbmcgY29weSkKQEAg
LTEwLDYgKzEwLDUgQEAKIDxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgogPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+CiA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50
LWRvbS15LWF0dHIuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CiA8L2JvZHk+CiA8L2h0bWw+CkluZGV4
OiBMYXlvdXRUZXN0cy9zdmcvZHluYW1pYy11cGRhdGVzL1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50
LXN2Z2RvbS1oZWlnaHQtcHJvcC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdGb3JlaWduT2JqZWN0RWxlbWVudC1zdmdkb20taGVp
Z2h0LXByb3AtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAzMTIzMikKKysrIExheW91dFRlc3RzL3N2
Zy9keW5hbWljLXVwZGF0ZXMvU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQtc3ZnZG9tLWhlaWdodC1w
cm9wLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtNiw3ICs2LDcgQEAKIE9uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KIAogCi1QQVNTIGZvcmVpZ25PYmplY3RFbGVtZW50LmhlaWdodC5i
YXNlVmFsLnZhbHVlIGlzIDAKK1BBU1MgZm9yZWlnbk9iamVjdEVsZW1lbnQuaGVpZ2h0LmJhc2VW
YWwudmFsdWUgaXMgMgogUEFTUyBmb3JlaWduT2JqZWN0RWxlbWVudC5oZWlnaHQuYmFzZVZhbC52
YWx1ZSBpcyAxNTAKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIApJbmRleDogTGF5
b3V0VGVzdHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9yZXNvdXJjZXMvU1ZHRm9yZWlnbk9iamVjdEVs
ZW1lbnQtZG9tLXgtYXR0ci5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvZHluYW1p
Yy11cGRhdGVzL3Jlc291cmNlcy9TVkdGb3JlaWduT2JqZWN0RWxlbWVudC1kb20teC1hdHRyLmpz
CShyZXZpc2lvbiAzMTIzMikKKysrIExheW91dFRlc3RzL3N2Zy9keW5hbWljLXVwZGF0ZXMvcmVz
b3VyY2VzL1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50LWRvbS14LWF0dHIuanMJKHdvcmtpbmcgY29w
eSkKQEAgLTEsNSArMSw1IEBACiAvLyBbTmFtZV0gU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQtZG9t
LXgtYXR0ci5qcwotLy8gW0V4cGVjdGVkIHJlbmRlcmluZyByZXN1bHRdICdUZXN0IHBhc3NlZCcg
dGV4dCAtIGFuZCBhIHNlcmllcyBvZiBQQVNTIG1lc2FnZXMKKy8vIFtFeHBlY3RlZCByZW5kZXJp
bmcgcmVzdWx0XSB1bmNsaXBwZWQgJ1Rlc3QgcGFzc2VkJyB0ZXh0IC0gYW5kIGEgc2VyaWVzIG9m
IFBBU1MgbWVzYWdlcwogCiBkZXNjcmlwdGlvbigiVGVzdHMgZHluYW1pYyB1cGRhdGVzIG9mIHRo
ZSAneCcgYXR0cmlidXRlIG9mIHRoZSBTVkdGb3JlaWduT2JqZWN0RWxlbWVudCBvYmplY3QiKQog
Y3JlYXRlU1ZHVGVzdENhc2UoKTsKQEAgLTIzLDkgKzIzLDcgQEAKICAgICBmb3JlaWduT2JqZWN0
RWxlbWVudC5zZXRBdHRyaWJ1dGUoIngiLCAiMTAwIik7CiAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJmb3JlaWduT2JqZWN0RWxlbWVudC5nZXRBdHRyaWJ1dGUoJ3gnKSIsICIxMDAiKTsKIAot
ICAgIHdhaXRGb3JDbGlja0V2ZW50KGZvcmVpZ25PYmplY3RFbGVtZW50KTsKLSAgICB0cmlnZ2Vy
VXBkYXRlKCk7CisgICAgY29tcGxldGVUZXN0KCk7CiB9CiAKLWV4ZWN1dGVUZXN0KCk7Ci12YXIg
c3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKK3N0YXJ0VGVzdChmb3JlaWduT2JqZWN0RWxlbWVu
dCwgMTAsIDEwMCk7CkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvZHluYW1pYy11cGRhdGVzL3Jlc291
cmNlcy9TVkdGb3JlaWduT2JqZWN0RWxlbWVudC1kb20teS1hdHRyLmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3N2Zy9keW5hbWljLXVwZGF0ZXMvcmVzb3VyY2VzL1NWR0ZvcmVpZ25PYmpl
Y3RFbGVtZW50LWRvbS15LWF0dHIuanMJKHJldmlzaW9uIDMxMjMyKQorKysgTGF5b3V0VGVzdHMv
c3ZnL2R5bmFtaWMtdXBkYXRlcy9yZXNvdXJjZXMvU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQtZG9t
LXktYXR0ci5qcwkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8vIFtOYW1lXSBTVkdG
b3JlaWduT2JqZWN0RWxlbWVudC1kb20teS1hdHRyLmpzCi0vLyBbRXhwZWN0ZWQgcmVuZGVyaW5n
IHJlc3VsdF0gJ1Rlc3QgcGFzc2VkJyB0ZXh0IC0gYW5kIGEgc2VyaWVzIG9mIFBBU1MgbWVzYWdl
cworLy8gW0V4cGVjdGVkIHJlbmRlcmluZyByZXN1bHRdIHVuY2xpcHBlZCAnVGVzdCBwYXNzZWQn
IHRleHQgLSBhbmQgYSBzZXJpZXMgb2YgUEFTUyBtZXNhZ2VzCiAKIGRlc2NyaXB0aW9uKCJUZXN0
cyBkeW5hbWljIHVwZGF0ZXMgb2YgdGhlICd5JyBhdHRyaWJ1dGUgb2YgdGhlIFNWR0ZvcmVpZ25P
YmplY3RFbGVtZW50IG9iamVjdCIpCiBjcmVhdGVTVkdUZXN0Q2FzZSgpOwpAQCAtMjMsOSArMjMs
NyBAQAogICAgIGZvcmVpZ25PYmplY3RFbGVtZW50LnNldEF0dHJpYnV0ZSgieSIsICI4MCIpOwog
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZm9yZWlnbk9iamVjdEVsZW1lbnQuZ2V0QXR0cmli
dXRlKCd5JykiLCAiODAiKTsKIAotICAgIHdhaXRGb3JDbGlja0V2ZW50KGZvcmVpZ25PYmplY3RF
bGVtZW50KTsKLSAgICB0cmlnZ2VyVXBkYXRlKCk7CisgICAgY29tcGxldGVUZXN0KCk7CiB9CiAK
LWV4ZWN1dGVUZXN0KCk7Ci12YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKK3N0YXJ0VGVz
dChmb3JlaWduT2JqZWN0RWxlbWVudCwgMTUwLCA1MCk7CkluZGV4OiBMYXlvdXRUZXN0cy9zdmcv
ZHluYW1pYy11cGRhdGVzL3Jlc291cmNlcy9TVkdDaXJjbGVFbGVtZW50LXN2Z2RvbS1yLXByb3Au
anMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9yZXNvdXJj
ZXMvU1ZHQ2lyY2xlRWxlbWVudC1zdmdkb20tci1wcm9wLmpzCShyZXZpc2lvbiAzMTIzMikKKysr
IExheW91dFRlc3RzL3N2Zy9keW5hbWljLXVwZGF0ZXMvcmVzb3VyY2VzL1NWR0NpcmNsZUVsZW1l
bnQtc3ZnZG9tLXItcHJvcC5qcwkod29ya2luZyBjb3B5KQpAQCAtNywxOSArNywxNyBAQAogdmFy
IGNpcmNsZUVsZW1lbnQgPSBjcmVhdGVTVkdFbGVtZW50KCJjaXJjbGUiKTsKIGNpcmNsZUVsZW1l
bnQuc2V0QXR0cmlidXRlKCJjeCIsICIxNTAiKTsKIGNpcmNsZUVsZW1lbnQuc2V0QXR0cmlidXRl
KCJjeSIsICIxNTAiKTsKLWNpcmNsZUVsZW1lbnQuc2V0QXR0cmlidXRlKCJyIiwgIjAiKTsKK2Np
cmNsZUVsZW1lbnQuc2V0QXR0cmlidXRlKCJyIiwgIjEiKTsKIGNpcmNsZUVsZW1lbnQuc2V0QXR0
cmlidXRlKCJmaWxsIiwgImdyZWVuIik7CiAKIHJvb3RTVkdFbGVtZW50LmFwcGVuZENoaWxkKGNp
cmNsZUVsZW1lbnQpOwotc2hvdWxkQmUoImNpcmNsZUVsZW1lbnQuci5iYXNlVmFsLnZhbHVlIiwg
IjAiKTsKK3Nob3VsZEJlKCJjaXJjbGVFbGVtZW50LnIuYmFzZVZhbC52YWx1ZSIsICIxIik7CiAK
IGZ1bmN0aW9uIGV4ZWN1dGVUZXN0KCkgewogICAgIGNpcmNsZUVsZW1lbnQuci5iYXNlVmFsLnZh
bHVlID0gIjE1MCI7CiAgICAgc2hvdWxkQmUoImNpcmNsZUVsZW1lbnQuci5iYXNlVmFsLnZhbHVl
IiwgIjE1MCIpOwogCi0gICAgd2FpdEZvckNsaWNrRXZlbnQoY2lyY2xlRWxlbWVudCk7IAotICAg
IHRyaWdnZXJVcGRhdGUoKTsKKyAgICBjb21wbGV0ZVRlc3QoKTsKIH0KIAotZXhlY3V0ZVRlc3Qo
KTsKLXZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworc3RhcnRUZXN0KGNpcmNsZUVsZW1l
bnQsIDE1MCwgMTUwKTsKSW5kZXg6IExheW91dFRlc3RzL3N2Zy9keW5hbWljLXVwZGF0ZXMvcmVz
b3VyY2VzL1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50LWRvbS1oZWlnaHQtYXR0ci5qcwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvZHluYW1pYy11cGRhdGVzL3Jlc291cmNlcy9TVkdGb3Jl
aWduT2JqZWN0RWxlbWVudC1kb20taGVpZ2h0LWF0dHIuanMJKHJldmlzaW9uIDMxMjMyKQorKysg
TGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9yZXNvdXJjZXMvU1ZHRm9yZWlnbk9iamVj
dEVsZW1lbnQtZG9tLWhlaWdodC1hdHRyLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBA
QAogLy8gW05hbWVdIFNWR0ZvcmVpZ25PYmplY3RFbGVtZW50LWRvbS1oZWlnaHQtYXR0ci5qcwot
Ly8gW0V4cGVjdGVkIHJlbmRlcmluZyByZXN1bHRdICdUZXN0IHBhc3NlZCcgdGV4dCAtIGFuZCBh
IHNlcmllcyBvZiBQQVNTIG1lc2FnZXMKKy8vIFtFeHBlY3RlZCByZW5kZXJpbmcgcmVzdWx0XSB1
bmNsaXBwZWQgJ1Rlc3QgcGFzc2VkJyB0ZXh0IC0gYW5kIGEgc2VyaWVzIG9mIFBBU1MgbWVzYWdl
cwogCiBkZXNjcmlwdGlvbigiVGVzdHMgZHluYW1pYyB1cGRhdGVzIG9mIHRoZSAnaGVpZ2h0JyBh
dHRyaWJ1dGUgb2YgdGhlIFNWR0ZvcmVpZ25PYmplY3RFbGVtZW50IG9iamVjdCIpCiBjcmVhdGVT
VkdUZXN0Q2FzZSgpOwpAQCAtOCw3ICs4LDcgQEAKIGZvcmVpZ25PYmplY3RFbGVtZW50LnNldEF0
dHJpYnV0ZSgieCIsICIxMDAiKTsKIGZvcmVpZ25PYmplY3RFbGVtZW50LnNldEF0dHJpYnV0ZSgi
eSIsICI4MCIpOwogZm9yZWlnbk9iamVjdEVsZW1lbnQuc2V0QXR0cmlidXRlKCJ3aWR0aCIsICIx
NTAiKTsKLWZvcmVpZ25PYmplY3RFbGVtZW50LnNldEF0dHJpYnV0ZSgiaGVpZ2h0IiwgIjAiKTsK
K2ZvcmVpZ25PYmplY3RFbGVtZW50LnNldEF0dHJpYnV0ZSgiaGVpZ2h0IiwgIjIiKTsKIAogdmFy
IGh0bWxEaXZFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKHhodG1sTlMsICJ4aHRt
bDpkaXYiKTsKIGh0bWxEaXZFbGVtZW50LnNldEF0dHJpYnV0ZSgic3R5bGUiLCAiYmFja2dyb3Vu
ZC1jb2xvcjogZ3JlZW47IGNvbG9yOiB3aGl0ZTsgdGV4dC1hbGlnbjogY2VudGVyIik7CkBAIC0x
NywxNSArMTcsMTMgQEAKIGZvcmVpZ25PYmplY3RFbGVtZW50LmFwcGVuZENoaWxkKGh0bWxEaXZF
bGVtZW50KTsKIHJvb3RTVkdFbGVtZW50LmFwcGVuZENoaWxkKGZvcmVpZ25PYmplY3RFbGVtZW50
KTsKIAotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJmb3JlaWduT2JqZWN0RWxlbWVudC5nZXRBdHRy
aWJ1dGUoJ2hlaWdodCcpIiwgIjAiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZm9yZWlnbk9i
amVjdEVsZW1lbnQuZ2V0QXR0cmlidXRlKCdoZWlnaHQnKSIsICIyIik7CiAKIGZ1bmN0aW9uIGV4
ZWN1dGVUZXN0KCkgewogICAgIGZvcmVpZ25PYmplY3RFbGVtZW50LnNldEF0dHJpYnV0ZSgiaGVp
Z2h0IiwgIjE1MCIpOwogICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZm9yZWlnbk9iamVjdEVs
ZW1lbnQuZ2V0QXR0cmlidXRlKCdoZWlnaHQnKSIsICIxNTAiKTsKIAotICAgIHdhaXRGb3JDbGlj
a0V2ZW50KGZvcmVpZ25PYmplY3RFbGVtZW50KTsKLSAgICB0cmlnZ2VyVXBkYXRlKCk7CisgICAg
Y29tcGxldGVUZXN0KCk7CiB9CiAKLWV4ZWN1dGVUZXN0KCk7Ci12YXIgc3VjY2Vzc2Z1bGx5UGFy
c2VkID0gdHJ1ZTsKK3N0YXJ0VGVzdChmb3JlaWduT2JqZWN0RWxlbWVudCwgMTUwLCA4MSk7Cklu
ZGV4OiBMYXlvdXRUZXN0cy9zdmcvZHluYW1pYy11cGRhdGVzL3Jlc291cmNlcy9TVkdBRWxlbWVu
dC1zdmdkb20taHJlZi1wcm9wLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9keW5h
bWljLXVwZGF0ZXMvcmVzb3VyY2VzL1NWR0FFbGVtZW50LXN2Z2RvbS1ocmVmLXByb3AuanMJKHJl
dmlzaW9uIDMxMjMyKQorKysgTGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9yZXNvdXJj
ZXMvU1ZHQUVsZW1lbnQtc3ZnZG9tLWhyZWYtcHJvcC5qcwkod29ya2luZyBjb3B5KQpAQCAtMjAs
OCArMjAsOCBAQAogCiBmdW5jdGlvbiBleGVjdXRlVGVzdCgpIHsKICAgICBhbmNob3JFbGVtZW50
LmhyZWYuYmFzZVZhbCA9ICJyZXNvdXJjZXMvbGlua1RhcmdldC5zdmciOworICAgIGNvbXBsZXRl
VGVzdCgpOwogICAgIHRyaWdnZXJVcGRhdGUoKTsKIH0KIAogZXhlY3V0ZVRlc3QoKTsKLXZhciBz
dWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMt
dXBkYXRlcy9yZXNvdXJjZXMvU1ZHQ2xpcFBhdGhFbGVtZW50LWRvbS1jbGlwUGF0aFVuaXRzLWF0
dHIuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9yZXNv
dXJjZXMvU1ZHQ2xpcFBhdGhFbGVtZW50LWRvbS1jbGlwUGF0aFVuaXRzLWF0dHIuanMJKHJldmlz
aW9uIDMxMjMyKQorKysgTGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9yZXNvdXJjZXMv
U1ZHQ2xpcFBhdGhFbGVtZW50LWRvbS1jbGlwUGF0aFVuaXRzLWF0dHIuanMJKHdvcmtpbmcgY29w
eSkKQEAgLTE3LDcgKzE3LDcgQEAKIGNpcmNsZUVsZW1lbnQuc2V0QXR0cmlidXRlKCJyIiwgIjE1
MCIpOwogY2xpcFBhdGhFbGVtZW50LmFwcGVuZENoaWxkKGNpcmNsZUVsZW1lbnQpOwogCi1kZWZz
RWxlbWVudC5hcHBlbmRDaGlsZChjbGlwUGF0aEVsZW1lbnQpOzsKK2RlZnNFbGVtZW50LmFwcGVu
ZENoaWxkKGNsaXBQYXRoRWxlbWVudCk7CiAKIHZhciByZWN0RWxlbWVudCA9IGNyZWF0ZVNWR0Vs
ZW1lbnQoInJlY3QiKTsKIHJlY3RFbGVtZW50LnNldEF0dHJpYnV0ZSgid2lkdGgiLCAiMzAwIik7
CkBAIC0zMiw5ICszMiw3IEBACiAgICAgY2xpcFBhdGhFbGVtZW50LnNldEF0dHJpYnV0ZSgiY2xp
cFBhdGhVbml0cyIsICJ1c2VyU3BhY2VPblVzZSIpOwogICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiY2xpcFBhdGhFbGVtZW50LmdldEF0dHJpYnV0ZSgnY2xpcFBhdGhVbml0cycpIiwgInVzZXJT
cGFjZU9uVXNlIik7CiAKLSAgICB3YWl0Rm9yQ2xpY2tFdmVudChyZWN0RWxlbWVudCk7Ci0gICAg
dHJpZ2dlclVwZGF0ZSgpOworICAgIGNvbXBsZXRlVGVzdCgpOwogfQogCi1leGVjdXRlVGVzdCgp
OwotdmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CitzdGFydFRlc3QocmVjdEVsZW1lbnQs
IDE1MCwgMTUwKTsKSW5kZXg6IExheW91dFRlc3RzL3N2Zy9keW5hbWljLXVwZGF0ZXMvcmVzb3Vy
Y2VzL1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50LWRvbS13aWR0aC1hdHRyLmpzCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3N2Zy9keW5hbWljLXVwZGF0ZXMvcmVzb3VyY2VzL1NWR0ZvcmVpZ25P
YmplY3RFbGVtZW50LWRvbS13aWR0aC1hdHRyLmpzCShyZXZpc2lvbiAzMTIzMikKKysrIExheW91
dFRlc3RzL3N2Zy9keW5hbWljLXVwZGF0ZXMvcmVzb3VyY2VzL1NWR0ZvcmVpZ25PYmplY3RFbGVt
ZW50LWRvbS13aWR0aC1hdHRyLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogLy8g
W05hbWVdIFNWR0ZvcmVpZ25PYmplY3RFbGVtZW50LWRvbS13aWR0aC1hdHRyLmpzCi0vLyBbRXhw
ZWN0ZWQgcmVuZGVyaW5nIHJlc3VsdF0gJ1Rlc3QgcGFzc2VkJyB0ZXh0IC0gYW5kIGEgc2VyaWVz
IG9mIFBBU1MgbWVzYWdlcworLy8gW0V4cGVjdGVkIHJlbmRlcmluZyByZXN1bHRdIHVuY2xpcHBl
ZCAnVGVzdCBwYXNzZWQnIHRleHQgLSBhbmQgYSBzZXJpZXMgb2YgUEFTUyBtZXNhZ2VzCiAKIGRl
c2NyaXB0aW9uKCJUZXN0cyBkeW5hbWljIHVwZGF0ZXMgb2YgdGhlICd3aWR0aCcgYXR0cmlidXRl
IG9mIHRoZSBTVkdGb3JlaWduT2JqZWN0RWxlbWVudCBvYmplY3QiKQogY3JlYXRlU1ZHVGVzdENh
c2UoKTsKQEAgLTcsNyArNyw3IEBACiB2YXIgZm9yZWlnbk9iamVjdEVsZW1lbnQgPSBjcmVhdGVT
VkdFbGVtZW50KCJmb3JlaWduT2JqZWN0Iik7CiBmb3JlaWduT2JqZWN0RWxlbWVudC5zZXRBdHRy
aWJ1dGUoIngiLCAiMTAwIik7CiBmb3JlaWduT2JqZWN0RWxlbWVudC5zZXRBdHRyaWJ1dGUoInki
LCAiODAiKTsKLWZvcmVpZ25PYmplY3RFbGVtZW50LnNldEF0dHJpYnV0ZSgid2lkdGgiLCAiMCIp
OworZm9yZWlnbk9iamVjdEVsZW1lbnQuc2V0QXR0cmlidXRlKCJ3aWR0aCIsICIyIik7CiBmb3Jl
aWduT2JqZWN0RWxlbWVudC5zZXRBdHRyaWJ1dGUoImhlaWdodCIsICIxNTAiKTsKIAogdmFyIGh0
bWxEaXZFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKHhodG1sTlMsICJ4aHRtbDpk
aXYiKTsKQEAgLTE3LDE1ICsxNywxMyBAQAogZm9yZWlnbk9iamVjdEVsZW1lbnQuYXBwZW5kQ2hp
bGQoaHRtbERpdkVsZW1lbnQpOwogcm9vdFNWR0VsZW1lbnQuYXBwZW5kQ2hpbGQoZm9yZWlnbk9i
amVjdEVsZW1lbnQpOwogCi1zaG91bGRCZUVxdWFsVG9TdHJpbmcoImZvcmVpZ25PYmplY3RFbGVt
ZW50LmdldEF0dHJpYnV0ZSgnd2lkdGgnKSIsICIwIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImZvcmVpZ25PYmplY3RFbGVtZW50LmdldEF0dHJpYnV0ZSgnd2lkdGgnKSIsICIyIik7CiAKIGZ1
bmN0aW9uIGV4ZWN1dGVUZXN0KCkgewogICAgIGZvcmVpZ25PYmplY3RFbGVtZW50LnNldEF0dHJp
YnV0ZSgid2lkdGgiLCAiMTUwIik7CiAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJmb3JlaWdu
T2JqZWN0RWxlbWVudC5nZXRBdHRyaWJ1dGUoJ3dpZHRoJykiLCAiMTUwIik7CiAKLSAgICB3YWl0
Rm9yQ2xpY2tFdmVudChmb3JlaWduT2JqZWN0RWxlbWVudCk7Ci0gICAgdHJpZ2dlclVwZGF0ZSgp
OworICAgIGNvbXBsZXRlVGVzdCgpOwogfQogCi1leGVjdXRlVGVzdCgpOwotdmFyIHN1Y2Nlc3Nm
dWxseVBhcnNlZCA9IHRydWU7CitzdGFydFRlc3QoZm9yZWlnbk9iamVjdEVsZW1lbnQsIDEwMSwg
MTAwKTsKSW5kZXg6IExheW91dFRlc3RzL3N2Zy9keW5hbWljLXVwZGF0ZXMvcmVzb3VyY2VzL1NW
R0NpcmNsZUVsZW1lbnQtc3ZnZG9tLWN4LXByb3AuanMKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9yZXNvdXJjZXMvU1ZHQ2lyY2xlRWxlbWVudC1zdmdkb20t
Y3gtcHJvcC5qcwkocmV2aXNpb24gMzEyMzIpCisrKyBMYXlvdXRUZXN0cy9zdmcvZHluYW1pYy11
cGRhdGVzL3Jlc291cmNlcy9TVkdDaXJjbGVFbGVtZW50LXN2Z2RvbS1jeC1wcm9wLmpzCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDI1ICsxLDIzIEBACiAvLyBbTmFtZV0gU1ZHQ2lyY2xlRWxlbWVudC1z
dmdkb20tY3gtcHJvcC5qcwotLy8gW0V4cGVjdGVkIHJlbmRlcmluZyByZXN1bHRdIGdyZWVuIGNp
cmNsZSAtIGFuZCBhIHNlcmllcyBvZiBQQVNTIG1lc2FnZXMKKy8vIFtFeHBlY3RlZCByZW5kZXJp
bmcgcmVzdWx0XSB1bmNsaXBwZWQgZ3JlZW4gY2lyY2xlIC0gYW5kIGEgc2VyaWVzIG9mIFBBU1Mg
bWVzYWdlcwogCiBkZXNjcmlwdGlvbigiVGVzdHMgZHluYW1pYyB1cGRhdGVzIG9mIHRoZSAnY3gn
IHByb3BlcnR5IG9mIHRoZSBTVkdDaXJjbGVFbGVtZW50IG9iamVjdCIpCiBjcmVhdGVTVkdUZXN0
Q2FzZSgpOwogCiB2YXIgY2lyY2xlRWxlbWVudCA9IGNyZWF0ZVNWR0VsZW1lbnQoImNpcmNsZSIp
OwotY2lyY2xlRWxlbWVudC5zZXRBdHRyaWJ1dGUoImN4IiwgIi0xNTAiKTsKK2NpcmNsZUVsZW1l
bnQuc2V0QXR0cmlidXRlKCJjeCIsICItNTAiKTsKIGNpcmNsZUVsZW1lbnQuc2V0QXR0cmlidXRl
KCJjeSIsICIxNTAiKTsKIGNpcmNsZUVsZW1lbnQuc2V0QXR0cmlidXRlKCJyIiwgIjE1MCIpOwog
Y2lyY2xlRWxlbWVudC5zZXRBdHRyaWJ1dGUoImZpbGwiLCAiZ3JlZW4iKTsKIAogcm9vdFNWR0Vs
ZW1lbnQuYXBwZW5kQ2hpbGQoY2lyY2xlRWxlbWVudCk7Ci1zaG91bGRCZSgiY2lyY2xlRWxlbWVu
dC5jeC5iYXNlVmFsLnZhbHVlIiwgIi0xNTAiKTsKK3Nob3VsZEJlKCJjaXJjbGVFbGVtZW50LmN4
LmJhc2VWYWwudmFsdWUiLCAiLTUwIik7CiAKIGZ1bmN0aW9uIGV4ZWN1dGVUZXN0KCkgewogICAg
IGNpcmNsZUVsZW1lbnQuY3guYmFzZVZhbC52YWx1ZSA9ICIxNTAiOwogICAgIHNob3VsZEJlKCJj
aXJjbGVFbGVtZW50LmN4LmJhc2VWYWwudmFsdWUiLCAiMTUwIik7CiAKLSAgICB3YWl0Rm9yQ2xp
Y2tFdmVudChjaXJjbGVFbGVtZW50KTsKLSAgICB0cmlnZ2VyVXBkYXRlKCk7CisgICAgY29tcGxl
dGVUZXN0KCk7CiB9CiAKLWV4ZWN1dGVUZXN0KCk7Ci12YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0g
dHJ1ZTsKK3N0YXJ0VGVzdChjaXJjbGVFbGVtZW50LCA1MCwgMTUwKTsKSW5kZXg6IExheW91dFRl
c3RzL3N2Zy9keW5hbWljLXVwZGF0ZXMvcmVzb3VyY2VzL1NWR0NpcmNsZUVsZW1lbnQtc3ZnZG9t
LWN5LXByb3AuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMtdXBkYXRl
cy9yZXNvdXJjZXMvU1ZHQ2lyY2xlRWxlbWVudC1zdmdkb20tY3ktcHJvcC5qcwkocmV2aXNpb24g
MzEyMzIpCisrKyBMYXlvdXRUZXN0cy9zdmcvZHluYW1pYy11cGRhdGVzL3Jlc291cmNlcy9TVkdD
aXJjbGVFbGVtZW50LXN2Z2RvbS1jeS1wcm9wLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDI1ICsx
LDIzIEBACiAvLyBbTmFtZV0gU1ZHQ2lyY2xlRWxlbWVudC1zdmdkb20tY3ktcHJvcC5qcwotLy8g
W0V4cGVjdGVkIHJlbmRlcmluZyByZXN1bHRdIGdyZWVuIGNpcmNsZSAtIGFuZCBhIHNlcmllcyBv
ZiBQQVNTIG1lc2FnZXMKKy8vIFtFeHBlY3RlZCByZW5kZXJpbmcgcmVzdWx0XSB1bmNsaXBwZWQg
Z3JlZW4gY2lyY2xlIC0gYW5kIGEgc2VyaWVzIG9mIFBBU1MgbWVzYWdlcwogCiBkZXNjcmlwdGlv
bigiVGVzdHMgZHluYW1pYyB1cGRhdGVzIG9mIHRoZSAnY3knIHByb3BlcnR5IG9mIHRoZSBTVkdD
aXJjbGVFbGVtZW50IG9iamVjdCIpCiBjcmVhdGVTVkdUZXN0Q2FzZSgpOwogCiB2YXIgY2lyY2xl
RWxlbWVudCA9IGNyZWF0ZVNWR0VsZW1lbnQoImNpcmNsZSIpOwogY2lyY2xlRWxlbWVudC5zZXRB
dHRyaWJ1dGUoImN4IiwgIjE1MCIpOwotY2lyY2xlRWxlbWVudC5zZXRBdHRyaWJ1dGUoImN5Iiwg
Ii0xNTAiKTsKK2NpcmNsZUVsZW1lbnQuc2V0QXR0cmlidXRlKCJjeSIsICItNTAiKTsKIGNpcmNs
ZUVsZW1lbnQuc2V0QXR0cmlidXRlKCJyIiwgIjE1MCIpOwogY2lyY2xlRWxlbWVudC5zZXRBdHRy
aWJ1dGUoImZpbGwiLCAiZ3JlZW4iKTsKIAogcm9vdFNWR0VsZW1lbnQuYXBwZW5kQ2hpbGQoY2ly
Y2xlRWxlbWVudCk7Ci1zaG91bGRCZSgiY2lyY2xlRWxlbWVudC5jeS5iYXNlVmFsLnZhbHVlIiwg
Ii0xNTAiKTsKK3Nob3VsZEJlKCJjaXJjbGVFbGVtZW50LmN5LmJhc2VWYWwudmFsdWUiLCAiLTUw
Iik7CiAKIGZ1bmN0aW9uIGV4ZWN1dGVUZXN0KCkgewogICAgIGNpcmNsZUVsZW1lbnQuY3kuYmFz
ZVZhbC52YWx1ZSA9ICIxNTAiOwogICAgIHNob3VsZEJlKCJjaXJjbGVFbGVtZW50LmN5LmJhc2VW
YWwudmFsdWUiLCAiMTUwIik7CiAKLSAgICB3YWl0Rm9yQ2xpY2tFdmVudChjaXJjbGVFbGVtZW50
KTsKLSAgICB0cmlnZ2VyVXBkYXRlKCk7CisgICAgY29tcGxldGVUZXN0KCk7CiB9CiAKLWV4ZWN1
dGVUZXN0KCk7Ci12YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKK3N0YXJ0VGVzdChjaXJj
bGVFbGVtZW50LCAxNTAsIDUwKTsKSW5kZXg6IExheW91dFRlc3RzL3N2Zy9keW5hbWljLXVwZGF0
ZXMvcmVzb3VyY2VzL1NWR0NpcmNsZUVsZW1lbnQtZG9tLXItYXR0ci5qcwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9zdmcvZHluYW1pYy11cGRhdGVzL3Jlc291cmNlcy9TVkdDaXJjbGVFbGVt
ZW50LWRvbS1yLWF0dHIuanMJKHJldmlzaW9uIDMxMjMyKQorKysgTGF5b3V0VGVzdHMvc3ZnL2R5
bmFtaWMtdXBkYXRlcy9yZXNvdXJjZXMvU1ZHQ2lyY2xlRWxlbWVudC1kb20tci1hdHRyLmpzCSh3
b3JraW5nIGNvcHkpCkBAIC03LDE5ICs3LDE3IEBACiB2YXIgY2lyY2xlRWxlbWVudCA9IGNyZWF0
ZVNWR0VsZW1lbnQoImNpcmNsZSIpOwogY2lyY2xlRWxlbWVudC5zZXRBdHRyaWJ1dGUoImN4Iiwg
IjE1MCIpOwogY2lyY2xlRWxlbWVudC5zZXRBdHRyaWJ1dGUoImN5IiwgIjE1MCIpOwotY2lyY2xl
RWxlbWVudC5zZXRBdHRyaWJ1dGUoInIiLCAiMCIpOworY2lyY2xlRWxlbWVudC5zZXRBdHRyaWJ1
dGUoInIiLCAiMSIpOwogY2lyY2xlRWxlbWVudC5zZXRBdHRyaWJ1dGUoImZpbGwiLCAiZ3JlZW4i
KTsKIAogcm9vdFNWR0VsZW1lbnQuYXBwZW5kQ2hpbGQoY2lyY2xlRWxlbWVudCk7Ci1zaG91bGRC
ZUVxdWFsVG9TdHJpbmcoImNpcmNsZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCdyJykiLCAiMCIpOwor
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJjaXJjbGVFbGVtZW50LmdldEF0dHJpYnV0ZSgncicpIiwg
IjEiKTsKIAogZnVuY3Rpb24gZXhlY3V0ZVRlc3QoKSB7CiAgICAgY2lyY2xlRWxlbWVudC5zZXRB
dHRyaWJ1dGUoInIiLCAiMTUwIik7CiAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJjaXJjbGVF
bGVtZW50LmdldEF0dHJpYnV0ZSgncicpIiwgIjE1MCIpOwogCi0gICAgd2FpdEZvckNsaWNrRXZl
bnQoY2lyY2xlRWxlbWVudCk7Ci0gICAgdHJpZ2dlclVwZGF0ZSgpOworICAgIGNvbXBsZXRlVGVz
dCgpOwogfQogCi1leGVjdXRlVGVzdCgpOwotdmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7
CitzdGFydFRlc3QoY2lyY2xlRWxlbWVudCwgMTUwLCAxNTApOwpJbmRleDogTGF5b3V0VGVzdHMv
c3ZnL2R5bmFtaWMtdXBkYXRlcy9yZXNvdXJjZXMvU1ZHQUVsZW1lbnQtZG9tLXRhcmdldC1hdHRy
LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9keW5hbWljLXVwZGF0ZXMvcmVzb3Vy
Y2VzL1NWR0FFbGVtZW50LWRvbS10YXJnZXQtYXR0ci5qcwkocmV2aXNpb24gMzEyMzIpCisrKyBM
YXlvdXRUZXN0cy9zdmcvZHluYW1pYy11cGRhdGVzL3Jlc291cmNlcy9TVkdBRWxlbWVudC1kb20t
dGFyZ2V0LWF0dHIuanMJKHdvcmtpbmcgY29weSkKQEAgLTIxLDggKzIxLDggQEAKIAogZnVuY3Rp
b24gZXhlY3V0ZVRlc3QoKSB7CiAgICAgYW5jaG9yRWxlbWVudC5zZXRBdHRyaWJ1dGUoInRhcmdl
dCIsICJfc2VsZiIpOworICAgIGNvbXBsZXRlVGVzdCgpOwogICAgIHRyaWdnZXJVcGRhdGUoKTsK
IH0KIAogZXhlY3V0ZVRlc3QoKTsKLXZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpJbmRl
eDogTGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9yZXNvdXJjZXMvU1ZHQ2lyY2xlRWxl
bWVudC1kb20tY3gtYXR0ci5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvZHluYW1p
Yy11cGRhdGVzL3Jlc291cmNlcy9TVkdDaXJjbGVFbGVtZW50LWRvbS1jeC1hdHRyLmpzCShyZXZp
c2lvbiAzMTIzMikKKysrIExheW91dFRlc3RzL3N2Zy9keW5hbWljLXVwZGF0ZXMvcmVzb3VyY2Vz
L1NWR0NpcmNsZUVsZW1lbnQtZG9tLWN4LWF0dHIuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsMjUg
KzEsMjMgQEAKIC8vIFtOYW1lXSBTVkdDaXJjbGVFbGVtZW50LWRvbS1jeC1hdHRyLmpzCi0vLyBb
RXhwZWN0ZWQgcmVuZGVyaW5nIHJlc3VsdF0gZ3JlZW4gY2lyY2xlIC0gYW5kIGEgc2VyaWVzIG9m
IFBBU1MgbWVzYWdlcworLy8gW0V4cGVjdGVkIHJlbmRlcmluZyByZXN1bHRdIHVuY2xpcHBlZCBn
cmVlbiBjaXJjbGUgLSBhbmQgYSBzZXJpZXMgb2YgUEFTUyBtZXNhZ2VzCiAKIGRlc2NyaXB0aW9u
KCJUZXN0cyBkeW5hbWljIHVwZGF0ZXMgb2YgdGhlICdjeCcgYXR0cmlidXRlIG9mIHRoZSBTVkdD
aXJjbGVFbGVtZW50IG9iamVjdCIpCiBjcmVhdGVTVkdUZXN0Q2FzZSgpOwogCiB2YXIgY2lyY2xl
RWxlbWVudCA9IGNyZWF0ZVNWR0VsZW1lbnQoImNpcmNsZSIpOwotY2lyY2xlRWxlbWVudC5zZXRB
dHRyaWJ1dGUoImN4IiwgIi0xNTAiKTsKK2NpcmNsZUVsZW1lbnQuc2V0QXR0cmlidXRlKCJjeCIs
ICItNTAiKTsKIGNpcmNsZUVsZW1lbnQuc2V0QXR0cmlidXRlKCJjeSIsICIxNTAiKTsKIGNpcmNs
ZUVsZW1lbnQuc2V0QXR0cmlidXRlKCJyIiwgIjE1MCIpOwogY2lyY2xlRWxlbWVudC5zZXRBdHRy
aWJ1dGUoImZpbGwiLCAiZ3JlZW4iKTsKIAogcm9vdFNWR0VsZW1lbnQuYXBwZW5kQ2hpbGQoY2ly
Y2xlRWxlbWVudCk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoImNpcmNsZUVsZW1lbnQuZ2V0QXR0
cmlidXRlKCdjeCcpIiwgIi0xNTAiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiY2lyY2xlRWxl
bWVudC5nZXRBdHRyaWJ1dGUoJ2N4JykiLCAiLTUwIik7CiAKIGZ1bmN0aW9uIGV4ZWN1dGVUZXN0
KCkgewogICAgIGNpcmNsZUVsZW1lbnQuc2V0QXR0cmlidXRlKCJjeCIsICIxNTAiKTsKICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImNpcmNsZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCdjeCcpIiwg
IjE1MCIpOwogCi0gICAgd2FpdEZvckNsaWNrRXZlbnQoY2lyY2xlRWxlbWVudCk7Ci0gICAgdHJp
Z2dlclVwZGF0ZSgpOworICAgIGNvbXBsZXRlVGVzdCgpOwogfQogCi1leGVjdXRlVGVzdCgpOwot
dmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CitzdGFydFRlc3QoY2lyY2xlRWxlbWVudCwg
NTAsIDE1MCk7CkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvZHluYW1pYy11cGRhdGVzL3Jlc291cmNl
cy9TVkdFbGxpcHNlRWxlbWVudC1zdmdkb20tcngtcHJvcC5qcwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9zdmcvZHluYW1pYy11cGRhdGVzL3Jlc291cmNlcy9TVkdFbGxpcHNlRWxlbWVudC1z
dmdkb20tcngtcHJvcC5qcwkocmV2aXNpb24gMzEyMzIpCisrKyBMYXlvdXRUZXN0cy9zdmcvZHlu
YW1pYy11cGRhdGVzL3Jlc291cmNlcy9TVkdFbGxpcHNlRWxlbWVudC1zdmdkb20tcngtcHJvcC5q
cwkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8vIFtOYW1lXSBTVkdFbGxpcHNlRWxl
bWVudC1zdmdkb20tcngtcHJvcC5qcwotLy8gW0V4cGVjdGVkIHJlbmRlcmluZyByZXN1bHRdIGdy
ZWVuIGVsbGlwc2UgLSBhbmQgYSBzZXJpZXMgb2YgUEFTUyBtZXNhZ2VzCisvLyBbRXhwZWN0ZWQg
cmVuZGVyaW5nIHJlc3VsdF0gZ3JlZW4gZWxsaXBzZSB3aXRoIHJ4ID0gcnkgKGluIGZhY3QgYSBj
aXJjbGUpLSBhbmQgYSBzZXJpZXMgb2YgUEFTUyBtZXNhZ2VzCiAKIGRlc2NyaXB0aW9uKCJUZXN0
cyBkeW5hbWljIHVwZGF0ZXMgb2YgdGhlICdyeCcgcHJvcGVydHkgb2YgdGhlIFNWR0VsbGlwc2VF
bGVtZW50IG9iamVjdCIpCiBjcmVhdGVTVkdUZXN0Q2FzZSgpOwpAQCAtNywyMCArNywxOCBAQAog
dmFyIGVsbGlwc2VFbGVtZW50ID0gY3JlYXRlU1ZHRWxlbWVudCgiZWxsaXBzZSIpOwogZWxsaXBz
ZUVsZW1lbnQuc2V0QXR0cmlidXRlKCJjeCIsICIxNTAiKTsKIGVsbGlwc2VFbGVtZW50LnNldEF0
dHJpYnV0ZSgiY3kiLCAiMTUwIik7Ci1lbGxpcHNlRWxlbWVudC5zZXRBdHRyaWJ1dGUoInJ4Iiwg
IjAiKTsKK2VsbGlwc2VFbGVtZW50LnNldEF0dHJpYnV0ZSgicngiLCAiMTAiKTsKIGVsbGlwc2VF
bGVtZW50LnNldEF0dHJpYnV0ZSgicnkiLCAiMTUwIik7CiBlbGxpcHNlRWxlbWVudC5zZXRBdHRy
aWJ1dGUoImZpbGwiLCAiZ3JlZW4iKTsKIAogcm9vdFNWR0VsZW1lbnQuYXBwZW5kQ2hpbGQoZWxs
aXBzZUVsZW1lbnQpOwotc2hvdWxkQmUoImVsbGlwc2VFbGVtZW50LnJ4LmJhc2VWYWwudmFsdWUi
LCAiMCIpOworc2hvdWxkQmUoImVsbGlwc2VFbGVtZW50LnJ4LmJhc2VWYWwudmFsdWUiLCAiMTAi
KTsKIAogZnVuY3Rpb24gZXhlY3V0ZVRlc3QoKSB7Ci0gICAgZWxsaXBzZUVsZW1lbnQucnguYmFz
ZVZhbC52YWx1ZSA9ICIxMDAiOwotICAgIHNob3VsZEJlKCJlbGxpcHNlRWxlbWVudC5yeC5iYXNl
VmFsLnZhbHVlIiwgIjEwMCIpOworICAgIGVsbGlwc2VFbGVtZW50LnJ4LmJhc2VWYWwudmFsdWUg
PSAiMTUwIjsKKyAgICBzaG91bGRCZSgiZWxsaXBzZUVsZW1lbnQucnguYmFzZVZhbC52YWx1ZSIs
ICIxNTAiKTsKIAotICAgIHdhaXRGb3JDbGlja0V2ZW50KGVsbGlwc2VFbGVtZW50KTsgCi0gICAg
dHJpZ2dlclVwZGF0ZSgpOworICAgIGNvbXBsZXRlVGVzdCgpOwogfQogCi1leGVjdXRlVGVzdCgp
OwotdmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CitzdGFydFRlc3QoZWxsaXBzZUVsZW1l
bnQsIDE1MCwgMTUwKTsKSW5kZXg6IExheW91dFRlc3RzL3N2Zy9keW5hbWljLXVwZGF0ZXMvcmVz
b3VyY2VzL1NWR0NpcmNsZUVsZW1lbnQtZG9tLWN5LWF0dHIuanMKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9yZXNvdXJjZXMvU1ZHQ2lyY2xlRWxlbWVudC1k
b20tY3ktYXR0ci5qcwkocmV2aXNpb24gMzEyMzIpCisrKyBMYXlvdXRUZXN0cy9zdmcvZHluYW1p
Yy11cGRhdGVzL3Jlc291cmNlcy9TVkdDaXJjbGVFbGVtZW50LWRvbS1jeS1hdHRyLmpzCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDI1ICsxLDIzIEBACiAvLyBbTmFtZV0gU1ZHQ2lyY2xlRWxlbWVudC1k
b20tY3ktYXR0ci5qcwotLy8gW0V4cGVjdGVkIHJlbmRlcmluZyByZXN1bHRdIGdyZWVuIGNpcmNs
ZSAtIGFuZCBhIHNlcmllcyBvZiBQQVNTIG1lc2FnZXMKKy8vIFtFeHBlY3RlZCByZW5kZXJpbmcg
cmVzdWx0XSB1bmNsaXBwZWQgZ3JlZW4gY2lyY2xlIC0gYW5kIGEgc2VyaWVzIG9mIFBBU1MgbWVz
YWdlcwogCiBkZXNjcmlwdGlvbigiVGVzdHMgZHluYW1pYyB1cGRhdGVzIG9mIHRoZSAnY3knIGF0
dHJpYnV0ZSBvZiB0aGUgU1ZHQ2lyY2xlRWxlbWVudCBvYmplY3QiKQogY3JlYXRlU1ZHVGVzdENh
c2UoKTsKIAogdmFyIGNpcmNsZUVsZW1lbnQgPSBjcmVhdGVTVkdFbGVtZW50KCJjaXJjbGUiKTsK
IGNpcmNsZUVsZW1lbnQuc2V0QXR0cmlidXRlKCJjeCIsICIxNTAiKTsKLWNpcmNsZUVsZW1lbnQu
c2V0QXR0cmlidXRlKCJjeSIsICItMTUwIik7CitjaXJjbGVFbGVtZW50LnNldEF0dHJpYnV0ZSgi
Y3kiLCAiLTUwIik7CiBjaXJjbGVFbGVtZW50LnNldEF0dHJpYnV0ZSgiciIsICIxNTAiKTsKIGNp
cmNsZUVsZW1lbnQuc2V0QXR0cmlidXRlKCJmaWxsIiwgImdyZWVuIik7CiAKIHJvb3RTVkdFbGVt
ZW50LmFwcGVuZENoaWxkKGNpcmNsZUVsZW1lbnQpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJj
aXJjbGVFbGVtZW50LmdldEF0dHJpYnV0ZSgnY3knKSIsICItMTUwIik7CitzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImNpcmNsZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCdjeScpIiwgIi01MCIpOwogCiBm
dW5jdGlvbiBleGVjdXRlVGVzdCgpIHsKICAgICBjaXJjbGVFbGVtZW50LnNldEF0dHJpYnV0ZSgi
Y3kiLCAiMTUwIik7CiAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJjaXJjbGVFbGVtZW50Lmdl
dEF0dHJpYnV0ZSgnY3knKSIsICIxNTAiKTsKIAotICAgIHdhaXRGb3JDbGlja0V2ZW50KGNpcmNs
ZUVsZW1lbnQpOwotICAgIHRyaWdnZXJVcGRhdGUoKTsKKyAgICBjb21wbGV0ZVRlc3QoKTsKIH0K
IAotZXhlY3V0ZVRlc3QoKTsKLXZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworc3RhcnRU
ZXN0KGNpcmNsZUVsZW1lbnQsIDE1MCwgNTApOwpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2R5bmFt
aWMtdXBkYXRlcy9yZXNvdXJjZXMvU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQtc3ZnZG9tLXgtcHJv
cC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvZHluYW1pYy11cGRhdGVzL3Jlc291
cmNlcy9TVkdGb3JlaWduT2JqZWN0RWxlbWVudC1zdmdkb20teC1wcm9wLmpzCShyZXZpc2lvbiAz
MTIzMikKKysrIExheW91dFRlc3RzL3N2Zy9keW5hbWljLXVwZGF0ZXMvcmVzb3VyY2VzL1NWR0Zv
cmVpZ25PYmplY3RFbGVtZW50LXN2Z2RvbS14LXByb3AuanMJKHdvcmtpbmcgY29weSkKQEAgLTEs
NSArMSw1IEBACiAvLyBbTmFtZV0gU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQtc3ZnZG9tLXgtcHJv
cC5qcwotLy8gW0V4cGVjdGVkIHJlbmRlcmluZyByZXN1bHRdICdUZXN0IHBhc3NlZCcgdGV4dCAt
IGFuZCBhIHNlcmllcyBvZiBQQVNTIG1lc2FnZXMKKy8vIFtFeHBlY3RlZCByZW5kZXJpbmcgcmVz
dWx0XSB1bmNsaXBwZWQgJ1Rlc3QgcGFzc2VkJyB0ZXh0IC0gYW5kIGEgc2VyaWVzIG9mIFBBU1Mg
bWVzYWdlcwogCiBkZXNjcmlwdGlvbigiVGVzdHMgZHluYW1pYyB1cGRhdGVzIG9mIHRoZSAneCcg
cHJvcGVydHkgb2YgdGhlIFNWR0ZvcmVpZ25PYmplY3RFbGVtZW50IG9iamVjdCIpCiBjcmVhdGVT
VkdUZXN0Q2FzZSgpOwpAQCAtMjMsOSArMjMsNyBAQAogICAgIGZvcmVpZ25PYmplY3RFbGVtZW50
LnguYmFzZVZhbC52YWx1ZSA9ICIxMDAiOwogICAgIHNob3VsZEJlKCJmb3JlaWduT2JqZWN0RWxl
bWVudC54LmJhc2VWYWwudmFsdWUiLCAiMTAwIik7CiAKLSAgICB3YWl0Rm9yQ2xpY2tFdmVudChm
b3JlaWduT2JqZWN0RWxlbWVudCk7Ci0gICAgdHJpZ2dlclVwZGF0ZSgpOworICAgIGNvbXBsZXRl
VGVzdCgpOwogfQogCi1leGVjdXRlVGVzdCgpOwotdmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRy
dWU7CitzdGFydFRlc3QoZm9yZWlnbk9iamVjdEVsZW1lbnQsIDEwLCAxMDApOwpJbmRleDogTGF5
b3V0VGVzdHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9yZXNvdXJjZXMvU1ZHRWxsaXBzZUVsZW1lbnQt
c3ZnZG9tLXJ5LXByb3AuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMt
dXBkYXRlcy9yZXNvdXJjZXMvU1ZHRWxsaXBzZUVsZW1lbnQtc3ZnZG9tLXJ5LXByb3AuanMJKHJl
dmlzaW9uIDMxMjMyKQorKysgTGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9yZXNvdXJj
ZXMvU1ZHRWxsaXBzZUVsZW1lbnQtc3ZnZG9tLXJ5LXByb3AuanMJKHdvcmtpbmcgY29weSkKQEAg
LTEsNSArMSw1IEBACiAvLyBbTmFtZV0gU1ZHRWxsaXBzZUVsZW1lbnQtc3ZnZG9tLXJ5LXByb3Au
anMKLS8vIFtFeHBlY3RlZCByZW5kZXJpbmcgcmVzdWx0XSBncmVlbiBlbGxpcHNlIC0gYW5kIGEg
c2VyaWVzIG9mIFBBU1MgbWVzYWdlcworLy8gW0V4cGVjdGVkIHJlbmRlcmluZyByZXN1bHRdIGdy
ZWVuIGVsbGlwc2Ugd2l0aCByeCA9IHJ5IChpbiBmYWN0IGEgY2lyY2xlKS0gYW5kIGEgc2VyaWVz
IG9mIFBBU1MgbWVzYWdlcwogCiBkZXNjcmlwdGlvbigiVGVzdHMgZHluYW1pYyB1cGRhdGVzIG9m
IHRoZSAncnknIHByb3BlcnR5IG9mIHRoZSBTVkdFbGxpcHNlRWxlbWVudCBvYmplY3QiKQogY3Jl
YXRlU1ZHVGVzdENhc2UoKTsKQEAgLTcsMjAgKzcsMTggQEAKIHZhciBlbGxpcHNlRWxlbWVudCA9
IGNyZWF0ZVNWR0VsZW1lbnQoImVsbGlwc2UiKTsKIGVsbGlwc2VFbGVtZW50LnNldEF0dHJpYnV0
ZSgiY3giLCAiMTUwIik7CiBlbGxpcHNlRWxlbWVudC5zZXRBdHRyaWJ1dGUoImN5IiwgIjE1MCIp
OwotZWxsaXBzZUVsZW1lbnQuc2V0QXR0cmlidXRlKCJyeCIsICIxMDAiKTsKLWVsbGlwc2VFbGVt
ZW50LnNldEF0dHJpYnV0ZSgicnkiLCAiMCIpOworZWxsaXBzZUVsZW1lbnQuc2V0QXR0cmlidXRl
KCJyeCIsICIxNTAiKTsKK2VsbGlwc2VFbGVtZW50LnNldEF0dHJpYnV0ZSgicnkiLCAiMTAiKTsK
IGVsbGlwc2VFbGVtZW50LnNldEF0dHJpYnV0ZSgiZmlsbCIsICJncmVlbiIpOwogCiByb290U1ZH
RWxlbWVudC5hcHBlbmRDaGlsZChlbGxpcHNlRWxlbWVudCk7Ci1zaG91bGRCZSgiZWxsaXBzZUVs
ZW1lbnQucnkuYmFzZVZhbC52YWx1ZSIsICIwIik7CitzaG91bGRCZSgiZWxsaXBzZUVsZW1lbnQu
cnkuYmFzZVZhbC52YWx1ZSIsICIxMCIpOwogCiBmdW5jdGlvbiBleGVjdXRlVGVzdCgpIHsKICAg
ICBlbGxpcHNlRWxlbWVudC5yeS5iYXNlVmFsLnZhbHVlID0gIjE1MCI7CiAgICAgc2hvdWxkQmUo
ImVsbGlwc2VFbGVtZW50LnJ5LmJhc2VWYWwudmFsdWUiLCAiMTUwIik7CiAKLSAgICB3YWl0Rm9y
Q2xpY2tFdmVudChlbGxpcHNlRWxlbWVudCk7IAotICAgIHRyaWdnZXJVcGRhdGUoKTsKKyAgICBj
b21wbGV0ZVRlc3QoKTsKIH0KIAotZXhlY3V0ZVRlc3QoKTsKLXZhciBzdWNjZXNzZnVsbHlQYXJz
ZWQgPSB0cnVlOworc3RhcnRUZXN0KGVsbGlwc2VFbGVtZW50LCAxNTAsIDE1MCk7CkluZGV4OiBM
YXlvdXRUZXN0cy9zdmcvZHluYW1pYy11cGRhdGVzL3Jlc291cmNlcy9TVkdGb3JlaWduT2JqZWN0
RWxlbWVudC1zdmdkb20teS1wcm9wLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9k
eW5hbWljLXVwZGF0ZXMvcmVzb3VyY2VzL1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50LXN2Z2RvbS15
LXByb3AuanMJKHJldmlzaW9uIDMxMjMyKQorKysgTGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMtdXBk
YXRlcy9yZXNvdXJjZXMvU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQtc3ZnZG9tLXktcHJvcC5qcwko
d29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8vIFtOYW1lXSBTVkdGb3JlaWduT2JqZWN0
RWxlbWVudC1zdmdkb20teS1wcm9wLmpzCi0vLyBbRXhwZWN0ZWQgcmVuZGVyaW5nIHJlc3VsdF0g
J1Rlc3QgcGFzc2VkJyB0ZXh0IC0gYW5kIGEgc2VyaWVzIG9mIFBBU1MgbWVzYWdlcworLy8gW0V4
cGVjdGVkIHJlbmRlcmluZyByZXN1bHRdIHVuY2xpcHBlZCAnVGVzdCBwYXNzZWQnIHRleHQgLSBh
bmQgYSBzZXJpZXMgb2YgUEFTUyBtZXNhZ2VzCiAKIGRlc2NyaXB0aW9uKCJUZXN0cyBkeW5hbWlj
IHVwZGF0ZXMgb2YgdGhlICd5JyBwcm9wZXJ0eSBvZiB0aGUgU1ZHRm9yZWlnbk9iamVjdEVsZW1l
bnQgb2JqZWN0IikKIGNyZWF0ZVNWR1Rlc3RDYXNlKCk7CkBAIC0yMyw5ICsyMyw3IEBACiAgICAg
Zm9yZWlnbk9iamVjdEVsZW1lbnQueS5iYXNlVmFsLnZhbHVlID0gIjgwIjsKICAgICBzaG91bGRC
ZSgiZm9yZWlnbk9iamVjdEVsZW1lbnQueS5iYXNlVmFsLnZhbHVlIiwgIjgwIik7CiAKLSAgICB3
YWl0Rm9yQ2xpY2tFdmVudChmb3JlaWduT2JqZWN0RWxlbWVudCk7Ci0gICAgdHJpZ2dlclVwZGF0
ZSgpOworICAgIGNvbXBsZXRlVGVzdCgpOwogfQogCi1leGVjdXRlVGVzdCgpOwotdmFyIHN1Y2Nl
c3NmdWxseVBhcnNlZCA9IHRydWU7CitzdGFydFRlc3QoZm9yZWlnbk9iamVjdEVsZW1lbnQsIDE1
MCwgNTApOwpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9yZXNvdXJjZXMv
U1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQtc3ZnZG9tLWhlaWdodC1wcm9wLmpzCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3N2Zy9keW5hbWljLXVwZGF0ZXMvcmVzb3VyY2VzL1NWR0ZvcmVpZ25P
YmplY3RFbGVtZW50LXN2Z2RvbS1oZWlnaHQtcHJvcC5qcwkocmV2aXNpb24gMzEyMzIpCisrKyBM
YXlvdXRUZXN0cy9zdmcvZHluYW1pYy11cGRhdGVzL3Jlc291cmNlcy9TVkdGb3JlaWduT2JqZWN0
RWxlbWVudC1zdmdkb20taGVpZ2h0LXByb3AuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1
IEBACiAvLyBbTmFtZV0gU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQtc3ZnZG9tLWhlaWdodC1wcm9w
LmpzCi0vLyBbRXhwZWN0ZWQgcmVuZGVyaW5nIHJlc3VsdF0gJ1Rlc3QgcGFzc2VkJyB0ZXh0IC0g
YW5kIGEgc2VyaWVzIG9mIFBBU1MgbWVzYWdlcworLy8gW0V4cGVjdGVkIHJlbmRlcmluZyByZXN1
bHRdIHVuY2xpcHBlZCAnVGVzdCBwYXNzZWQnIHRleHQgLSBhbmQgYSBzZXJpZXMgb2YgUEFTUyBt
ZXNhZ2VzCiAKIGRlc2NyaXB0aW9uKCJUZXN0cyBkeW5hbWljIHVwZGF0ZXMgb2YgdGhlICdoZWln
aHQnIHByb3BlcnR5IG9mIHRoZSBTVkdGb3JlaWduT2JqZWN0RWxlbWVudCBvYmplY3QiKQogY3Jl
YXRlU1ZHVGVzdENhc2UoKTsKQEAgLTgsNyArOCw3IEBACiBmb3JlaWduT2JqZWN0RWxlbWVudC5z
ZXRBdHRyaWJ1dGUoIngiLCAiMTAwIik7CiBmb3JlaWduT2JqZWN0RWxlbWVudC5zZXRBdHRyaWJ1
dGUoInkiLCAiODAiKTsKIGZvcmVpZ25PYmplY3RFbGVtZW50LnNldEF0dHJpYnV0ZSgid2lkdGgi
LCAiMTUwIik7Ci1mb3JlaWduT2JqZWN0RWxlbWVudC5zZXRBdHRyaWJ1dGUoImhlaWdodCIsICIw
Iik7Citmb3JlaWduT2JqZWN0RWxlbWVudC5zZXRBdHRyaWJ1dGUoImhlaWdodCIsICIyIik7CiAK
IHZhciBodG1sRGl2RWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyh4aHRtbE5TLCAi
eGh0bWw6ZGl2Iik7CiBodG1sRGl2RWxlbWVudC5zZXRBdHRyaWJ1dGUoInN0eWxlIiwgImJhY2tn
cm91bmQtY29sb3I6IGdyZWVuOyBjb2xvcjogd2hpdGU7IHRleHQtYWxpZ246IGNlbnRlciIpOwpA
QCAtMTcsMTUgKzE3LDEzIEBACiBmb3JlaWduT2JqZWN0RWxlbWVudC5hcHBlbmRDaGlsZChodG1s
RGl2RWxlbWVudCk7CiByb290U1ZHRWxlbWVudC5hcHBlbmRDaGlsZChmb3JlaWduT2JqZWN0RWxl
bWVudCk7CiAKLXNob3VsZEJlKCJmb3JlaWduT2JqZWN0RWxlbWVudC5oZWlnaHQuYmFzZVZhbC52
YWx1ZSIsICIwIik7CitzaG91bGRCZSgiZm9yZWlnbk9iamVjdEVsZW1lbnQuaGVpZ2h0LmJhc2VW
YWwudmFsdWUiLCAiMiIpOwogCiBmdW5jdGlvbiBleGVjdXRlVGVzdCgpIHsKICAgICBmb3JlaWdu
T2JqZWN0RWxlbWVudC5oZWlnaHQuYmFzZVZhbC52YWx1ZSA9ICIxNTAiOwogICAgIHNob3VsZEJl
KCJmb3JlaWduT2JqZWN0RWxlbWVudC5oZWlnaHQuYmFzZVZhbC52YWx1ZSIsICIxNTAiKTsKIAot
ICAgIHdhaXRGb3JDbGlja0V2ZW50KGZvcmVpZ25PYmplY3RFbGVtZW50KTsKLSAgICB0cmlnZ2Vy
VXBkYXRlKCk7CisgICAgY29tcGxldGVUZXN0KCk7CiB9CiAKLWV4ZWN1dGVUZXN0KCk7Ci12YXIg
c3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKK3N0YXJ0VGVzdChmb3JlaWduT2JqZWN0RWxlbWVu
dCwgMTUwLCA4MSk7CkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvZHluYW1pYy11cGRhdGVzL3Jlc291
cmNlcy9TVkdDbGlwUGF0aEVsZW1lbnQtc3ZnZG9tLWNsaXBQYXRoVW5pdHMtcHJvcC5qcwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvZHluYW1pYy11cGRhdGVzL3Jlc291cmNlcy9TVkdD
bGlwUGF0aEVsZW1lbnQtc3ZnZG9tLWNsaXBQYXRoVW5pdHMtcHJvcC5qcwkocmV2aXNpb24gMzEy
MzIpCisrKyBMYXlvdXRUZXN0cy9zdmcvZHluYW1pYy11cGRhdGVzL3Jlc291cmNlcy9TVkdDbGlw
UGF0aEVsZW1lbnQtc3ZnZG9tLWNsaXBQYXRoVW5pdHMtcHJvcC5qcwkod29ya2luZyBjb3B5KQpA
QCAtMzIsOSArMzIsNyBAQAogICAgIGNsaXBQYXRoRWxlbWVudC5jbGlwUGF0aFVuaXRzLmJhc2VW
YWwgPSBTVkdVbml0VHlwZXMuU1ZHX1VOSVRfVFlQRV9VU0VSU1BBQ0VPTlVTRTsKICAgICBzaG91
bGRCZSgiY2xpcFBhdGhFbGVtZW50LmNsaXBQYXRoVW5pdHMuYmFzZVZhbCIsICJTVkdVbml0VHlw
ZXMuU1ZHX1VOSVRfVFlQRV9VU0VSU1BBQ0VPTlVTRSIpOwogCi0gICAgd2FpdEZvckNsaWNrRXZl
bnQocmVjdEVsZW1lbnQpOwotICAgIHRyaWdnZXJVcGRhdGUoKTsKKyAgICBjb21wbGV0ZVRlc3Qo
KTsKIH0KIAotZXhlY3V0ZVRlc3QoKTsKLXZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwor
c3RhcnRUZXN0KHJlY3RFbGVtZW50LCAxNTAsIDE1MCk7CkluZGV4OiBMYXlvdXRUZXN0cy9zdmcv
ZHluYW1pYy11cGRhdGVzL3Jlc291cmNlcy9TVkdGb3JlaWduT2JqZWN0RWxlbWVudC1zdmdkb20t
d2lkdGgtcHJvcC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvZHluYW1pYy11cGRh
dGVzL3Jlc291cmNlcy9TVkdGb3JlaWduT2JqZWN0RWxlbWVudC1zdmdkb20td2lkdGgtcHJvcC5q
cwkocmV2aXNpb24gMzEyMzIpCisrKyBMYXlvdXRUZXN0cy9zdmcvZHluYW1pYy11cGRhdGVzL3Jl
c291cmNlcy9TVkdGb3JlaWduT2JqZWN0RWxlbWVudC1zdmdkb20td2lkdGgtcHJvcC5qcwkod29y
a2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8vIFtOYW1lXSBTVkdGb3JlaWduT2JqZWN0RWxl
bWVudC1zdmdkb20td2lkdGgtcHJvcC5qcwotLy8gW0V4cGVjdGVkIHJlbmRlcmluZyByZXN1bHRd
ICdUZXN0IHBhc3NlZCcgdGV4dCAtIGFuZCBhIHNlcmllcyBvZiBQQVNTIG1lc2FnZXMKKy8vIFtF
eHBlY3RlZCByZW5kZXJpbmcgcmVzdWx0XSB1bmNsaXBwZWQgJ1Rlc3QgcGFzc2VkJyB0ZXh0IC0g
YW5kIGEgc2VyaWVzIG9mIFBBU1MgbWVzYWdlcwogCiBkZXNjcmlwdGlvbigiVGVzdHMgZHluYW1p
YyB1cGRhdGVzIG9mIHRoZSAnd2lkdGgnIHByb3BlcnR5IG9mIHRoZSBTVkdGb3JlaWduT2JqZWN0
RWxlbWVudCBvYmplY3QiKQogY3JlYXRlU1ZHVGVzdENhc2UoKTsKQEAgLTcsNyArNyw3IEBACiB2
YXIgZm9yZWlnbk9iamVjdEVsZW1lbnQgPSBjcmVhdGVTVkdFbGVtZW50KCJmb3JlaWduT2JqZWN0
Iik7CiBmb3JlaWduT2JqZWN0RWxlbWVudC5zZXRBdHRyaWJ1dGUoIngiLCAiMTAwIik7CiBmb3Jl
aWduT2JqZWN0RWxlbWVudC5zZXRBdHRyaWJ1dGUoInkiLCAiODAiKTsKLWZvcmVpZ25PYmplY3RF
bGVtZW50LnNldEF0dHJpYnV0ZSgid2lkdGgiLCAiMCIpOworZm9yZWlnbk9iamVjdEVsZW1lbnQu
c2V0QXR0cmlidXRlKCJ3aWR0aCIsICIyIik7CiBmb3JlaWduT2JqZWN0RWxlbWVudC5zZXRBdHRy
aWJ1dGUoImhlaWdodCIsICIxNTAiKTsKIAogdmFyIGh0bWxEaXZFbGVtZW50ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudE5TKHhodG1sTlMsICJ4aHRtbDpkaXYiKTsKQEAgLTE3LDE1ICsxNywxMyBA
QAogZm9yZWlnbk9iamVjdEVsZW1lbnQuYXBwZW5kQ2hpbGQoaHRtbERpdkVsZW1lbnQpOwogcm9v
dFNWR0VsZW1lbnQuYXBwZW5kQ2hpbGQoZm9yZWlnbk9iamVjdEVsZW1lbnQpOwogCi1zaG91bGRC
ZSgiZm9yZWlnbk9iamVjdEVsZW1lbnQud2lkdGguYmFzZVZhbC52YWx1ZSIsICIwIik7CitzaG91
bGRCZSgiZm9yZWlnbk9iamVjdEVsZW1lbnQud2lkdGguYmFzZVZhbC52YWx1ZSIsICIyIik7CiAK
IGZ1bmN0aW9uIGV4ZWN1dGVUZXN0KCkgewogICAgIGZvcmVpZ25PYmplY3RFbGVtZW50LndpZHRo
LmJhc2VWYWwudmFsdWUgPSAiMTUwIjsKICAgICBzaG91bGRCZSgiZm9yZWlnbk9iamVjdEVsZW1l
bnQud2lkdGguYmFzZVZhbC52YWx1ZSIsICIxNTAiKTsKIAotICAgIHdhaXRGb3JDbGlja0V2ZW50
KGZvcmVpZ25PYmplY3RFbGVtZW50KTsKLSAgICB0cmlnZ2VyVXBkYXRlKCk7CisgICAgY29tcGxl
dGVUZXN0KCk7CiB9CiAKLWV4ZWN1dGVUZXN0KCk7Ci12YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0g
dHJ1ZTsKK3N0YXJ0VGVzdChmb3JlaWduT2JqZWN0RWxlbWVudCwgMTAxLCAxMDApOwpJbmRleDog
TGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9yZXNvdXJjZXMvU1ZHRWxsaXBzZUVsZW1l
bnQtZG9tLXJ4LWF0dHIuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMt
dXBkYXRlcy9yZXNvdXJjZXMvU1ZHRWxsaXBzZUVsZW1lbnQtZG9tLXJ4LWF0dHIuanMJKHJldmlz
aW9uIDMxMjMyKQorKysgTGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9yZXNvdXJjZXMv
U1ZHRWxsaXBzZUVsZW1lbnQtZG9tLXJ4LWF0dHIuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNSAr
MSw1IEBACiAvLyBbTmFtZV0gU1ZHRWxsaXBzZUVsZW1lbnQtZG9tLXJ4LWF0dHIuanMKLS8vIFtF
eHBlY3RlZCByZW5kZXJpbmcgcmVzdWx0XSBncmVlbiBlbGxpcHNlIC0gYW5kIGEgc2VyaWVzIG9m
IFBBU1MgbWVzYWdlcworLy8gW0V4cGVjdGVkIHJlbmRlcmluZyByZXN1bHRdIGdyZWVuIGVsbGlw
c2Ugd2l0aCByeCA9IHJ5IChpbiBmYWN0IGEgY2lyY2xlKS0gYW5kIGEgc2VyaWVzIG9mIFBBU1Mg
bWVzYWdlcwogCiBkZXNjcmlwdGlvbigiVGVzdHMgZHluYW1pYyB1cGRhdGVzIG9mIHRoZSAncngn
IGF0dHJpYnV0ZSBvZiB0aGUgU1ZHRWxsaXBzZUVsZW1lbnQgb2JqZWN0IikKIGNyZWF0ZVNWR1Rl
c3RDYXNlKCk7CkBAIC03LDIwICs3LDE4IEBACiB2YXIgZWxsaXBzZUVsZW1lbnQgPSBjcmVhdGVT
VkdFbGVtZW50KCJlbGxpcHNlIik7CiBlbGxpcHNlRWxlbWVudC5zZXRBdHRyaWJ1dGUoImN4Iiwg
IjE1MCIpOwogZWxsaXBzZUVsZW1lbnQuc2V0QXR0cmlidXRlKCJjeSIsICIxNTAiKTsKLWVsbGlw
c2VFbGVtZW50LnNldEF0dHJpYnV0ZSgicngiLCAiMCIpOworZWxsaXBzZUVsZW1lbnQuc2V0QXR0
cmlidXRlKCJyeCIsICIxMCIpOwogZWxsaXBzZUVsZW1lbnQuc2V0QXR0cmlidXRlKCJyeSIsICIx
NTAiKTsKIGVsbGlwc2VFbGVtZW50LnNldEF0dHJpYnV0ZSgiZmlsbCIsICJncmVlbiIpOwogCiBy
b290U1ZHRWxlbWVudC5hcHBlbmRDaGlsZChlbGxpcHNlRWxlbWVudCk7Ci1zaG91bGRCZUVxdWFs
VG9TdHJpbmcoImVsbGlwc2VFbGVtZW50LmdldEF0dHJpYnV0ZSgncngnKSIsICIwIik7CitzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImVsbGlwc2VFbGVtZW50LmdldEF0dHJpYnV0ZSgncngnKSIsICIx
MCIpOwogCiBmdW5jdGlvbiBleGVjdXRlVGVzdCgpIHsKLSAgICBlbGxpcHNlRWxlbWVudC5zZXRB
dHRyaWJ1dGUoInJ4IiwgIjEwMCIpOwotICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZWxsaXBz
ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKCdyeCcpIiwgIjEwMCIpOworICAgIGVsbGlwc2VFbGVtZW50
LnNldEF0dHJpYnV0ZSgicngiLCAiMTUwIik7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJl
bGxpcHNlRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ3J4JykiLCAiMTUwIik7CiAKLSAgICB3YWl0Rm9y
Q2xpY2tFdmVudChlbGxpcHNlRWxlbWVudCk7Ci0gICAgdHJpZ2dlclVwZGF0ZSgpOworICAgIGNv
bXBsZXRlVGVzdCgpOwogfQogCi1leGVjdXRlVGVzdCgpOwotdmFyIHN1Y2Nlc3NmdWxseVBhcnNl
ZCA9IHRydWU7CitzdGFydFRlc3QoZWxsaXBzZUVsZW1lbnQsIDE1MCwgMTUwKTsKSW5kZXg6IExh
eW91dFRlc3RzL3N2Zy9keW5hbWljLXVwZGF0ZXMvcmVzb3VyY2VzL1NWR0VsbGlwc2VFbGVtZW50
LWRvbS1yeS1hdHRyLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9keW5hbWljLXVw
ZGF0ZXMvcmVzb3VyY2VzL1NWR0VsbGlwc2VFbGVtZW50LWRvbS1yeS1hdHRyLmpzCShyZXZpc2lv
biAzMTIzMikKKysrIExheW91dFRlc3RzL3N2Zy9keW5hbWljLXVwZGF0ZXMvcmVzb3VyY2VzL1NW
R0VsbGlwc2VFbGVtZW50LWRvbS1yeS1hdHRyLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEs
NSBAQAogLy8gW05hbWVdIFNWR0VsbGlwc2VFbGVtZW50LWRvbS1yeS1hdHRyLmpzCi0vLyBbRXhw
ZWN0ZWQgcmVuZGVyaW5nIHJlc3VsdF0gZ3JlZW4gZWxsaXBzZSAtIGFuZCBhIHNlcmllcyBvZiBQ
QVNTIG1lc2FnZXMKKy8vIFtFeHBlY3RlZCByZW5kZXJpbmcgcmVzdWx0XSB3aXRoIHJ4ID0gcnkg
KGluIGZhY3QgYSBjaXJjbGUpIC0gYW5kIGEgc2VyaWVzIG9mIFBBU1MgbWVzYWdlcwogCiBkZXNj
cmlwdGlvbigiVGVzdHMgZHluYW1pYyB1cGRhdGVzIG9mIHRoZSAncnknIGF0dHJpYnV0ZSBvZiB0
aGUgU1ZHRWxsaXBzZUVsZW1lbnQgb2JqZWN0IikKIGNyZWF0ZVNWR1Rlc3RDYXNlKCk7CkBAIC03
LDIwICs3LDE4IEBACiB2YXIgZWxsaXBzZUVsZW1lbnQgPSBjcmVhdGVTVkdFbGVtZW50KCJlbGxp
cHNlIik7CiBlbGxpcHNlRWxlbWVudC5zZXRBdHRyaWJ1dGUoImN4IiwgIjE1MCIpOwogZWxsaXBz
ZUVsZW1lbnQuc2V0QXR0cmlidXRlKCJjeSIsICIxNTAiKTsKLWVsbGlwc2VFbGVtZW50LnNldEF0
dHJpYnV0ZSgicngiLCAiMTAwIik7Ci1lbGxpcHNlRWxlbWVudC5zZXRBdHRyaWJ1dGUoInJ5Iiwg
IjAiKTsKK2VsbGlwc2VFbGVtZW50LnNldEF0dHJpYnV0ZSgicngiLCAiMTUwIik7CitlbGxpcHNl
RWxlbWVudC5zZXRBdHRyaWJ1dGUoInJ5IiwgIjEwIik7CiBlbGxpcHNlRWxlbWVudC5zZXRBdHRy
aWJ1dGUoImZpbGwiLCAiZ3JlZW4iKTsKIAogcm9vdFNWR0VsZW1lbnQuYXBwZW5kQ2hpbGQoZWxs
aXBzZUVsZW1lbnQpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJlbGxpcHNlRWxlbWVudC5nZXRB
dHRyaWJ1dGUoJ3J5JykiLCAiMCIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJlbGxpcHNlRWxl
bWVudC5nZXRBdHRyaWJ1dGUoJ3J5JykiLCAiMTAiKTsKIAogZnVuY3Rpb24gZXhlY3V0ZVRlc3Qo
KSB7CiAgICAgZWxsaXBzZUVsZW1lbnQuc2V0QXR0cmlidXRlKCJyeSIsICIxNTAiKTsKICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImVsbGlwc2VFbGVtZW50LmdldEF0dHJpYnV0ZSgncnknKSIs
ICIxNTAiKTsKIAotICAgIHdhaXRGb3JDbGlja0V2ZW50KGVsbGlwc2VFbGVtZW50KTsKLSAgICB0
cmlnZ2VyVXBkYXRlKCk7CisgICAgY29tcGxldGVUZXN0KCk7CiB9CiAKLWV4ZWN1dGVUZXN0KCk7
Ci12YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKK3N0YXJ0VGVzdChlbGxpcHNlRWxlbWVu
dCwgMTUwLCAxNTApOwpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9yZXNv
dXJjZXMvU1ZHQUVsZW1lbnQtc3ZnZG9tLXRhcmdldC1wcm9wLmpzCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL3N2Zy9keW5hbWljLXVwZGF0ZXMvcmVzb3VyY2VzL1NWR0FFbGVtZW50LXN2Z2Rv
bS10YXJnZXQtcHJvcC5qcwkocmV2aXNpb24gMzEyMzIpCisrKyBMYXlvdXRUZXN0cy9zdmcvZHlu
YW1pYy11cGRhdGVzL3Jlc291cmNlcy9TVkdBRWxlbWVudC1zdmdkb20tdGFyZ2V0LXByb3AuanMJ
KHdvcmtpbmcgY29weSkKQEAgLTIxLDggKzIxLDggQEAKIAogZnVuY3Rpb24gZXhlY3V0ZVRlc3Qo
KSB7CiAgICAgYW5jaG9yRWxlbWVudC50YXJnZXQuYmFzZVZhbCA9ICJfc2VsZiI7CisgICAgY29t
cGxldGVUZXN0KCk7CiAgICAgdHJpZ2dlclVwZGF0ZSgpOwogfQogCiBleGVjdXRlVGVzdCgpOwot
dmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvZHlu
YW1pYy11cGRhdGVzL3Jlc291cmNlcy9TVkdFbGxpcHNlRWxlbWVudC1zdmdkb20tY3gtcHJvcC5q
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvZHluYW1pYy11cGRhdGVzL3Jlc291cmNl
cy9TVkdFbGxpcHNlRWxlbWVudC1zdmdkb20tY3gtcHJvcC5qcwkocmV2aXNpb24gMzEyMzIpCisr
KyBMYXlvdXRUZXN0cy9zdmcvZHluYW1pYy11cGRhdGVzL3Jlc291cmNlcy9TVkdFbGxpcHNlRWxl
bWVudC1zdmdkb20tY3gtcHJvcC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwyNiArMSwyNCBAQAog
Ly8gW05hbWVdIFNWR0VsbGlwc2VFbGVtZW50LXN2Z2RvbS1jeC1wcm9wLmpzCi0vLyBbRXhwZWN0
ZWQgcmVuZGVyaW5nIHJlc3VsdF0gZ3JlZW4gZWxsaXBzZSAtIGFuZCBhIHNlcmllcyBvZiBQQVNT
IG1lc2FnZXMKKy8vIFtFeHBlY3RlZCByZW5kZXJpbmcgcmVzdWx0XSB1bmNsaXBwZWQgZ3JlZW4g
ZWxsaXBzZSAtIGFuZCBhIHNlcmllcyBvZiBQQVNTIG1lc2FnZXMKIAogZGVzY3JpcHRpb24oIlRl
c3RzIGR5bmFtaWMgdXBkYXRlcyBvZiB0aGUgJ2N4JyBwcm9wZXJ0eSBvZiB0aGUgU1ZHRWxsaXBz
ZUVsZW1lbnQgb2JqZWN0IikKIGNyZWF0ZVNWR1Rlc3RDYXNlKCk7CiAKIHZhciBlbGxpcHNlRWxl
bWVudCA9IGNyZWF0ZVNWR0VsZW1lbnQoImVsbGlwc2UiKTsKLWVsbGlwc2VFbGVtZW50LnNldEF0
dHJpYnV0ZSgiY3giLCAiLTE1MCIpOworZWxsaXBzZUVsZW1lbnQuc2V0QXR0cmlidXRlKCJjeCIs
ICItNTAiKTsKIGVsbGlwc2VFbGVtZW50LnNldEF0dHJpYnV0ZSgiY3kiLCAiMTUwIik7CiBlbGxp
cHNlRWxlbWVudC5zZXRBdHRyaWJ1dGUoInJ4IiwgIjEwMCIpOwogZWxsaXBzZUVsZW1lbnQuc2V0
QXR0cmlidXRlKCJyeSIsICIxNTAiKTsKIGVsbGlwc2VFbGVtZW50LnNldEF0dHJpYnV0ZSgiZmls
bCIsICJncmVlbiIpOwogCiByb290U1ZHRWxlbWVudC5hcHBlbmRDaGlsZChlbGxpcHNlRWxlbWVu
dCk7Ci1zaG91bGRCZSgiZWxsaXBzZUVsZW1lbnQuY3guYmFzZVZhbC52YWx1ZSIsICItMTUwIik7
CitzaG91bGRCZSgiZWxsaXBzZUVsZW1lbnQuY3guYmFzZVZhbC52YWx1ZSIsICItNTAiKTsKIAog
ZnVuY3Rpb24gZXhlY3V0ZVRlc3QoKSB7CiAgICAgZWxsaXBzZUVsZW1lbnQuY3guYmFzZVZhbC52
YWx1ZSA9ICIxNTAiOwogICAgIHNob3VsZEJlKCJlbGxpcHNlRWxlbWVudC5jeC5iYXNlVmFsLnZh
bHVlIiwgIjE1MCIpOwogCi0gICAgd2FpdEZvckNsaWNrRXZlbnQoZWxsaXBzZUVsZW1lbnQpOwot
ICAgIHRyaWdnZXJVcGRhdGUoKTsKKyAgICBjb21wbGV0ZVRlc3QoKTsKIH0KIAotZXhlY3V0ZVRl
c3QoKTsKLXZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworc3RhcnRUZXN0KGVsbGlwc2VF
bGVtZW50LCA1MCwgMTUwKTsKSW5kZXg6IExheW91dFRlc3RzL3N2Zy9keW5hbWljLXVwZGF0ZXMv
cmVzb3VyY2VzL1NWR0VsbGlwc2VFbGVtZW50LXN2Z2RvbS1jeS1wcm9wLmpzCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3N2Zy9keW5hbWljLXVwZGF0ZXMvcmVzb3VyY2VzL1NWR0VsbGlwc2VF
bGVtZW50LXN2Z2RvbS1jeS1wcm9wLmpzCShyZXZpc2lvbiAzMTIzMikKKysrIExheW91dFRlc3Rz
L3N2Zy9keW5hbWljLXVwZGF0ZXMvcmVzb3VyY2VzL1NWR0VsbGlwc2VFbGVtZW50LXN2Z2RvbS1j
eS1wcm9wLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDI2ICsxLDI0IEBACiAvLyBbTmFtZV0gU1ZH
RWxsaXBzZUVsZW1lbnQtc3ZnZG9tLWN5LXByb3AuanMKLS8vIFtFeHBlY3RlZCByZW5kZXJpbmcg
cmVzdWx0XSBncmVlbiBlbGxpcHNlIC0gYW5kIGEgc2VyaWVzIG9mIFBBU1MgbWVzYWdlcworLy8g
W0V4cGVjdGVkIHJlbmRlcmluZyByZXN1bHRdIHVuY2xpcHBlZCBncmVlbiBlbGxpcHNlIC0gYW5k
IGEgc2VyaWVzIG9mIFBBU1MgbWVzYWdlcwogCiBkZXNjcmlwdGlvbigiVGVzdHMgZHluYW1pYyB1
cGRhdGVzIG9mIHRoZSAnY3knIHByb3BlcnR5IG9mIHRoZSBTVkdFbGxpcHNlRWxlbWVudCBvYmpl
Y3QiKQogY3JlYXRlU1ZHVGVzdENhc2UoKTsKIAogdmFyIGVsbGlwc2VFbGVtZW50ID0gY3JlYXRl
U1ZHRWxlbWVudCgiZWxsaXBzZSIpOwogZWxsaXBzZUVsZW1lbnQuc2V0QXR0cmlidXRlKCJjeCIs
ICIxNTAiKTsKLWVsbGlwc2VFbGVtZW50LnNldEF0dHJpYnV0ZSgiY3kiLCAiLTE1MCIpOworZWxs
aXBzZUVsZW1lbnQuc2V0QXR0cmlidXRlKCJjeSIsICItNTAiKTsKIGVsbGlwc2VFbGVtZW50LnNl
dEF0dHJpYnV0ZSgicngiLCAiMTAwIik7CiBlbGxpcHNlRWxlbWVudC5zZXRBdHRyaWJ1dGUoInJ5
IiwgIjE1MCIpOwogZWxsaXBzZUVsZW1lbnQuc2V0QXR0cmlidXRlKCJmaWxsIiwgImdyZWVuIik7
CiAKIHJvb3RTVkdFbGVtZW50LmFwcGVuZENoaWxkKGVsbGlwc2VFbGVtZW50KTsKLXNob3VsZEJl
KCJlbGxpcHNlRWxlbWVudC5jeS5iYXNlVmFsLnZhbHVlIiwgIi0xNTAiKTsKK3Nob3VsZEJlKCJl
bGxpcHNlRWxlbWVudC5jeS5iYXNlVmFsLnZhbHVlIiwgIi01MCIpOwogCiBmdW5jdGlvbiBleGVj
dXRlVGVzdCgpIHsKICAgICBlbGxpcHNlRWxlbWVudC5jeS5iYXNlVmFsLnZhbHVlID0gIjE1MCI7
CiAgICAgc2hvdWxkQmUoImVsbGlwc2VFbGVtZW50LmN5LmJhc2VWYWwudmFsdWUiLCAiMTUwIik7
CiAKLSAgICB3YWl0Rm9yQ2xpY2tFdmVudChlbGxpcHNlRWxlbWVudCk7Ci0gICAgdHJpZ2dlclVw
ZGF0ZSgpOworICAgIGNvbXBsZXRlVGVzdCgpOwogfQogCi1leGVjdXRlVGVzdCgpOwotdmFyIHN1
Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CitzdGFydFRlc3QoZWxsaXBzZUVsZW1lbnQsIDE1MCwg
NTApOwpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9yZXNvdXJjZXMvU1ZH
QUVsZW1lbnQtZG9tLWhyZWYtYXR0ci5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcv
ZHluYW1pYy11cGRhdGVzL3Jlc291cmNlcy9TVkdBRWxlbWVudC1kb20taHJlZi1hdHRyLmpzCShy
ZXZpc2lvbiAzMTIzMikKKysrIExheW91dFRlc3RzL3N2Zy9keW5hbWljLXVwZGF0ZXMvcmVzb3Vy
Y2VzL1NWR0FFbGVtZW50LWRvbS1ocmVmLWF0dHIuanMJKHdvcmtpbmcgY29weSkKQEAgLTIwLDgg
KzIwLDggQEAKIAogZnVuY3Rpb24gZXhlY3V0ZVRlc3QoKSB7CiAgICAgYW5jaG9yRWxlbWVudC5z
ZXRBdHRyaWJ1dGVOUyh4bGlua05TLCAieGxpbms6aHJlZiIsICJyZXNvdXJjZXMvbGlua1Rhcmdl
dC5zdmciKTsKKyAgICBjb21wbGV0ZVRlc3QoKTsKICAgICB0cmlnZ2VyVXBkYXRlKCk7CiB9CiAK
IGV4ZWN1dGVUZXN0KCk7Ci12YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKSW5kZXg6IExh
eW91dFRlc3RzL3N2Zy9keW5hbWljLXVwZGF0ZXMvcmVzb3VyY2VzL1NWR0VsbGlwc2VFbGVtZW50
LWRvbS1jeC1hdHRyLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9keW5hbWljLXVw
ZGF0ZXMvcmVzb3VyY2VzL1NWR0VsbGlwc2VFbGVtZW50LWRvbS1jeC1hdHRyLmpzCShyZXZpc2lv
biAzMTIzMikKKysrIExheW91dFRlc3RzL3N2Zy9keW5hbWljLXVwZGF0ZXMvcmVzb3VyY2VzL1NW
R0VsbGlwc2VFbGVtZW50LWRvbS1jeC1hdHRyLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDI2ICsx
LDI0IEBACiAvLyBbTmFtZV0gU1ZHRWxsaXBzZUVsZW1lbnQtZG9tLWN4LWF0dHIuanMKLS8vIFtF
eHBlY3RlZCByZW5kZXJpbmcgcmVzdWx0XSBncmVlbiBlbGxpcHNlIC0gYW5kIGEgc2VyaWVzIG9m
IFBBU1MgbWVzYWdlcworLy8gW0V4cGVjdGVkIHJlbmRlcmluZyByZXN1bHRdIHVuY2xpcHBlZCBn
cmVlbiBlbGxpcHNlIC0gYW5kIGEgc2VyaWVzIG9mIFBBU1MgbWVzYWdlcwogCiBkZXNjcmlwdGlv
bigiVGVzdHMgZHluYW1pYyB1cGRhdGVzIG9mIHRoZSAnY3gnIGF0dHJpYnV0ZSBvZiB0aGUgU1ZH
RWxsaXBzZUVsZW1lbnQgb2JqZWN0IikKIGNyZWF0ZVNWR1Rlc3RDYXNlKCk7CiAKIHZhciBlbGxp
cHNlRWxlbWVudCA9IGNyZWF0ZVNWR0VsZW1lbnQoImVsbGlwc2UiKTsKLWVsbGlwc2VFbGVtZW50
LnNldEF0dHJpYnV0ZSgiY3giLCAiLTE1MCIpOworZWxsaXBzZUVsZW1lbnQuc2V0QXR0cmlidXRl
KCJjeCIsICItNTAiKTsKIGVsbGlwc2VFbGVtZW50LnNldEF0dHJpYnV0ZSgiY3kiLCAiMTUwIik7
CiBlbGxpcHNlRWxlbWVudC5zZXRBdHRyaWJ1dGUoInJ4IiwgIjEwMCIpOwogZWxsaXBzZUVsZW1l
bnQuc2V0QXR0cmlidXRlKCJyeSIsICIxNTAiKTsKIGVsbGlwc2VFbGVtZW50LnNldEF0dHJpYnV0
ZSgiZmlsbCIsICJncmVlbiIpOwogCiByb290U1ZHRWxlbWVudC5hcHBlbmRDaGlsZChlbGxpcHNl
RWxlbWVudCk7Ci1zaG91bGRCZUVxdWFsVG9TdHJpbmcoImVsbGlwc2VFbGVtZW50LmdldEF0dHJp
YnV0ZSgnY3gnKSIsICItMTUwIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImVsbGlwc2VFbGVt
ZW50LmdldEF0dHJpYnV0ZSgnY3gnKSIsICItNTAiKTsKIAogZnVuY3Rpb24gZXhlY3V0ZVRlc3Qo
KSB7CiAgICAgZWxsaXBzZUVsZW1lbnQuc2V0QXR0cmlidXRlKCJjeCIsICIxNTAiKTsKICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImVsbGlwc2VFbGVtZW50LmdldEF0dHJpYnV0ZSgnY3gnKSIs
ICIxNTAiKTsKIAotICAgIHdhaXRGb3JDbGlja0V2ZW50KGVsbGlwc2VFbGVtZW50KTsKLSAgICB0
cmlnZ2VyVXBkYXRlKCk7CisgICAgY29tcGxldGVUZXN0KCk7CiB9CiAKLWV4ZWN1dGVUZXN0KCk7
Ci12YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKK3N0YXJ0VGVzdChlbGxpcHNlRWxlbWVu
dCwgNTAsIDE1MCk7CkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvZHluYW1pYy11cGRhdGVzL3Jlc291
cmNlcy9TVkdFbGxpcHNlRWxlbWVudC1kb20tY3ktYXR0ci5qcwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9zdmcvZHluYW1pYy11cGRhdGVzL3Jlc291cmNlcy9TVkdFbGxpcHNlRWxlbWVudC1k
b20tY3ktYXR0ci5qcwkocmV2aXNpb24gMzEyMzIpCisrKyBMYXlvdXRUZXN0cy9zdmcvZHluYW1p
Yy11cGRhdGVzL3Jlc291cmNlcy9TVkdFbGxpcHNlRWxlbWVudC1kb20tY3ktYXR0ci5qcwkod29y
a2luZyBjb3B5KQpAQCAtMSwyNiArMSwyNCBAQAogLy8gW05hbWVdIFNWR0VsbGlwc2VFbGVtZW50
LWRvbS1jeS1hdHRyLmpzCi0vLyBbRXhwZWN0ZWQgcmVuZGVyaW5nIHJlc3VsdF0gZ3JlZW4gZWxs
aXBzZSAtIGFuZCBhIHNlcmllcyBvZiBQQVNTIG1lc2FnZXMKKy8vIFtFeHBlY3RlZCByZW5kZXJp
bmcgcmVzdWx0XSB1bmNsaXBwZWQgZ3JlZW4gZWxsaXBzZSAtIGFuZCBhIHNlcmllcyBvZiBQQVNT
IG1lc2FnZXMKIAogZGVzY3JpcHRpb24oIlRlc3RzIGR5bmFtaWMgdXBkYXRlcyBvZiB0aGUgJ2N5
JyBhdHRyaWJ1dGUgb2YgdGhlIFNWR0VsbGlwc2VFbGVtZW50IG9iamVjdCIpCiBjcmVhdGVTVkdU
ZXN0Q2FzZSgpOwogCiB2YXIgZWxsaXBzZUVsZW1lbnQgPSBjcmVhdGVTVkdFbGVtZW50KCJlbGxp
cHNlIik7CiBlbGxpcHNlRWxlbWVudC5zZXRBdHRyaWJ1dGUoImN4IiwgIjE1MCIpOwotZWxsaXBz
ZUVsZW1lbnQuc2V0QXR0cmlidXRlKCJjeSIsICItMTUwIik7CitlbGxpcHNlRWxlbWVudC5zZXRB
dHRyaWJ1dGUoImN5IiwgIi01MCIpOwogZWxsaXBzZUVsZW1lbnQuc2V0QXR0cmlidXRlKCJyeCIs
ICIxMDAiKTsKIGVsbGlwc2VFbGVtZW50LnNldEF0dHJpYnV0ZSgicnkiLCAiMTUwIik7CiBlbGxp
cHNlRWxlbWVudC5zZXRBdHRyaWJ1dGUoImZpbGwiLCAiZ3JlZW4iKTsKIAogcm9vdFNWR0VsZW1l
bnQuYXBwZW5kQ2hpbGQoZWxsaXBzZUVsZW1lbnQpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJl
bGxpcHNlRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2N5JykiLCAiLTE1MCIpOworc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJlbGxpcHNlRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2N5JykiLCAiLTUwIik7CiAK
IGZ1bmN0aW9uIGV4ZWN1dGVUZXN0KCkgewogICAgIGVsbGlwc2VFbGVtZW50LnNldEF0dHJpYnV0
ZSgiY3kiLCAiMTUwIik7CiAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJlbGxpcHNlRWxlbWVu
dC5nZXRBdHRyaWJ1dGUoJ2N5JykiLCAiMTUwIik7CiAKLSAgICB3YWl0Rm9yQ2xpY2tFdmVudChl
bGxpcHNlRWxlbWVudCk7Ci0gICAgdHJpZ2dlclVwZGF0ZSgpOworICAgIGNvbXBsZXRlVGVzdCgp
OwogfQogCi1leGVjdXRlVGVzdCgpOwotdmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Citz
dGFydFRlc3QoZWxsaXBzZUVsZW1lbnQsIDE1MCwgNTApOwpJbmRleDogTGF5b3V0VGVzdHMvc3Zn
L2R5bmFtaWMtdXBkYXRlcy9yZXNvdXJjZXMvU1ZHVGVzdENhc2UuanMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9yZXNvdXJjZXMvU1ZHVGVzdENhc2UuanMJ
KHJldmlzaW9uIDMxMjMyKQorKysgTGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9yZXNv
dXJjZXMvU1ZHVGVzdENhc2UuanMJKHdvcmtpbmcgY29weSkKQEAgLTIwLDE1ICsyMCw0NCBAQAog
ICAgIGJvZHlFbGVtZW50Lmluc2VydEJlZm9yZShyb290U1ZHRWxlbWVudCwgZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImRlc2NyaXB0aW9uIikpOwogfQogCi1mdW5jdGlvbiB0cmlnZ2VyVXBkYXRl
KCkgeworZnVuY3Rpb24gdHJpZ2dlclVwZGF0ZSh4LCB5KSB7CisgICAgLy8gRGVmYXVsdCB4IHBv
c2l0aW9uCisgICAgaWYgKCF4KSB7CisgICAgICAgIHggPSAxNTA7CisgICAgfQorCisgICAgLy8g
RGVmYXVsdCB5IHBvc2l0aW9uCisgICAgaWYgKCF5KSB7CisgICAgICAgIHkgPSAyMDA7CisgICAg
fQorCisgICAgLy8gVHJhbnNsYXRpb24gZHVlIHRvIDxoMT4gYWJvdmUgdXMgLSBpcyB0aGVyZSBh
IG1vcmUgcHJlY2lzZSB3YXkgdGhlbiBndWVzc2luZz8KKyAgICB4ID0geCArIDg7CisgICAgeSA9
IHkgKyA2NjsKKwogICAgIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKLSAgICAgICAgZXZlbnRT
ZW5kZXIubW91c2VNb3ZlVG8oMTUwLCAyMDApOworICAgICAgICBldmVudFNlbmRlci5tb3VzZU1v
dmVUbyh4LCB5KTsKICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VEb3duKCk7CiAgICAgICAgIGV2
ZW50U2VuZGVyLm1vdXNlVXAoKTsKICAgICB9CiB9CiAKLWZ1bmN0aW9uIHdhaXRGb3JDbGlja0V2
ZW50KG9iaikgewotICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgICAg
IG9iai5zZXRBdHRyaWJ1dGUoIm9uY2xpY2siLCAibGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5
RG9uZSgpIik7CitmdW5jdGlvbiBzdGFydFRlc3Qob2JqLCB4LCB5KSB7CisgICAgb2JqLnNldEF0
dHJpYnV0ZSgib25jbGljayIsICJleGVjdXRlVGVzdCgpIik7CisKKyAgICAvLyBBc3N1cmUgZmly
c3QgbGF5b3V0IGZpbmlzaGVkCisgICAgd2luZG93LnNldFRpbWVvdXQoInRyaWdnZXJVcGRhdGUo
IiArIHggKyAiLCAiICsgeSArICIpIiwgMCk7CiB9CisKK2Z1bmN0aW9uIGNvbXBsZXRlVGVzdCgp
IHsKKyAgICB2YXIgc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7CisK
KyAgICBzY3JpcHQub25sb2FkID0gZnVuY3Rpb24oKSB7CisgICAgICAgIGlmICh3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3Rp
ZnlEb25lKCk7CisgICAgfTsKKworICAgIHNjcmlwdC5zcmMgPSAiLi4vLi4vZmFzdC9qcy9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIjsKKyAgICBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwor
ICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoc2NyaXB0KTsKK30KSW5kZXg6IExheW91dFRl
c3RzL3N2Zy9keW5hbWljLXVwZGF0ZXMvcmVzb3VyY2VzL1RFTVBMQVRFLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9yZXNvdXJjZXMvVEVNUExBVEUu
aHRtbAkocmV2aXNpb24gMzEyMzIpCisrKyBMYXlvdXRUZXN0cy9zdmcvZHluYW1pYy11cGRhdGVz
L3Jlc291cmNlcy9URU1QTEFURS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xMCw2ICsxMCw1IEBA
CiA8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgogPHNj
cmlwdCBzcmM9IllPVVJfSlNfRklMRV9IRVJFIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8u
Li9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgogPC9ib2R5Pgog
PC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdBRWxlbWVu
dC1zdmdkb20taHJlZi1wcm9wLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2R5
bmFtaWMtdXBkYXRlcy9TVkdBRWxlbWVudC1zdmdkb20taHJlZi1wcm9wLmh0bWwJKHJldmlzaW9u
IDMxMjMyKQorKysgTGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdBRWxlbWVudC1z
dmdkb20taHJlZi1wcm9wLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEwLDYgKzEwLDUgQEAKIDxw
IGlkPSJkZXNjcmlwdGlvbiI+PC9wPgogPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CiA8c2NyaXB0
IHNyYz0icmVzb3VyY2VzL1NWR0FFbGVtZW50LXN2Z2RvbS1ocmVmLXByb3AuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+CiA8L2JvZHk+CiA8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvZHluYW1p
Yy11cGRhdGVzL1NWR0NsaXBQYXRoRWxlbWVudC1kb20tY2xpcFBhdGhVbml0cy1hdHRyLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdDbGlwUGF0
aEVsZW1lbnQtZG9tLWNsaXBQYXRoVW5pdHMtYXR0ci5odG1sCShyZXZpc2lvbiAzMTIzMikKKysr
IExheW91dFRlc3RzL3N2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHQ2xpcFBhdGhFbGVtZW50LWRvbS1j
bGlwUGF0aFVuaXRzLWF0dHIuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMTAsNiArMTAsNSBAQAog
PHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+CiA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KIDxzY3Jp
cHQgc3JjPSJyZXNvdXJjZXMvU1ZHQ2xpcFBhdGhFbGVtZW50LWRvbS1jbGlwUGF0aFVuaXRzLWF0
dHIuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CiA8L2JvZHk+CiA8L2h0bWw+CkluZGV4OiBMYXlvdXRU
ZXN0cy9zdmcvY3VzdG9tL3Jlc291cmNlcy9zdmcteG1sLWRvbS1zeW5jLmpzCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3N2Zy9jdXN0b20vcmVzb3VyY2VzL3N2Zy14bWwtZG9tLXN5bmMuanMJ
KHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3Jlc291cmNlcy9zdmcteG1s
LWRvbS1zeW5jLmpzCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDIxIEBACitkZXNjcmlwdGlvbigi
VGVzdHMgd2hldGhlciBjaGFuZ2VzIHRvIFNWRyB0aHJvdWdoIG5hdGl2ZSBvYmplY3RzIGFuZCB0
aGUgRE9NIHN0YXkgaW4gc3luYy4iKTsKKwordmFyIHN2Z0RvYyA9IGRvY3VtZW50LmltcGxlbWVu
dGF0aW9uLmNyZWF0ZURvY3VtZW50KCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsICJzdmci
LCBudWxsKTsKK3ZhciByZWN0ID0gc3ZnRG9jLmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53
My5vcmcvMjAwMC9zdmciLCAicmVjdCIpOworcmVjdC5zZXRBdHRyaWJ1dGUoIngiLCAxMDApOwor
cmVjdC5zZXRBdHRyaWJ1dGUoInkiLCAxMDApOworCitzaG91bGRCZSgicmVjdC54LmJhc2VWYWwu
dmFsdWUiLCAiMTAwIik7CitzaG91bGRCZSgicmVjdC5nZXRBdHRyaWJ1dGUoJ3gnKSIsICInMTAw
JyIpOworc2hvdWxkQmUoInJlY3QueS5iYXNlVmFsLnZhbHVlIiwgIjEwMCIpOworc2hvdWxkQmUo
InJlY3QuZ2V0QXR0cmlidXRlKCd5JykiLCAiJzEwMCciKTsKKworcmVjdC54LmJhc2VWYWwudmFs
dWUgPSAyMDA7CityZWN0LnNldEF0dHJpYnV0ZSgieSIsIDIwMCk7CisKK3Nob3VsZEJlKCJyZWN0
LnguYmFzZVZhbC52YWx1ZSIsICIyMDAiKTsKK3Nob3VsZEJlKCJyZWN0LmdldEF0dHJpYnV0ZSgn
eCcpIiwgIicyMDAnIik7CitzaG91bGRCZSgicmVjdC55LmJhc2VWYWwudmFsdWUiLCAiMjAwIik7
CitzaG91bGRCZSgicmVjdC5nZXRBdHRyaWJ1dGUoJ3knKSIsICInMjAwJyIpOworCit2YXIgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKSW5kZXg6IExheW91dFRlc3RzL3N2Zy9jdXN0b20vc3Zn
LXhtbC1kb20tc3luYy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9jdXN0b20v
c3ZnLXhtbC1kb20tc3luYy5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvc3ZnL2N1
c3RvbS9zdmcteG1sLWRvbS1zeW5jLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTMgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uL0xheW91dFRlc3Rz
L2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li8uLi9MYXlvdXRUZXN0cy9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0i
Y29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3N2Zy14bWwtZG9tLXN5bmMu
anMiPjwvc2NyaXB0PiAKKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9MYXlvdXRUZXN0cy9mYXN0L2pz
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJ
bmRleDogTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9zdmcteG1sLWRvbS1zeW5jLWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3N2Zy14bWwtZG9tLXN5bmMt
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9zdmct
eG1sLWRvbS1zeW5jLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNyBAQAor
VGVzdHMgd2hldGhlciBjaGFuZ2VzIHRvIFNWRyB0aHJvdWdoIG5hdGl2ZSBvYmplY3RzIGFuZCB0
aGUgRE9NIHN0YXkgaW4gc3luYy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BB
U1MgcmVjdC54LmJhc2VWYWwudmFsdWUgaXMgMTAwCitQQVNTIHJlY3QuZ2V0QXR0cmlidXRlKCd4
JykgaXMgJzEwMCcKK1BBU1MgcmVjdC55LmJhc2VWYWwudmFsdWUgaXMgMTAwCitQQVNTIHJlY3Qu
Z2V0QXR0cmlidXRlKCd5JykgaXMgJzEwMCcKK1BBU1MgcmVjdC54LmJhc2VWYWwudmFsdWUgaXMg
MjAwCitQQVNTIHJlY3QuZ2V0QXR0cmlidXRlKCd4JykgaXMgJzIwMCcKK1BBU1MgcmVjdC55LmJh
c2VWYWwudmFsdWUgaXMgMjAwCitQQVNTIHJlY3QuZ2V0QXR0cmlidXRlKCd5JykgaXMgJzIwMCcK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCg==
</data>
<flag name="review"
          id="8743"
          type_id="1"
          status="-"
          setter="koivisto"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>22007</attachid>
            <date>2008-06-30 05:30:57 -0700</date>
            <delta_ts>2008-06-30 11:55:45 -0700</delta_ts>
            <desc>Updated patch</desc>
            <filename>SVGLiveness.diff</filename>
            <type>text/plain</type>
            <size>214732</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAzNDg4NykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjUyIEBACisyMDA4LTA2LTMwICBOaWtvbGFzIFppbW1lcm1hbm4gIDx6aW1tZXJt
YW5uQGtkZS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgRml4ZXM6IGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3Nzc5
IChTVkcgMS4xIEVycmF0YSBkZW1hbmRzICJTVkcgSmF2YVNjcmlwdCBMaXZlbmVzcyIgc3VwcG9y
dCkKKworICAgICAgICBTVkcgRXJyYXRhIHN0YXRlczogIkFsbCBTVkcgRE9NIG9iamVjdHMgdGhh
dCBkaXJlY3RseSBjb3JyZXNwb25kIHRvIGFuCisgICAgICAgIGF0dHJpYnV0ZSwgZS5nLiB0aGUg
U1ZHQW5pbWF0ZWRMZW5ndGggJ3J5JyBpbiBhbiBTVkdSZWN0RWxlbWVudCwgYXJlIGxpdmUuIFRo
aXMKKyAgICAgICAgbWVhbnMgdGhhdCBhbnkgY2hhbmdlcyBtYWRlIHRvIHRoZSBhdHRyaWJ1dGUg
YXJlIGltbWVkaWF0ZWx5IHJlZmxlY3RlZCBpbiB0aGUKKyAgICAgICAgY29ycmVzcG9uZGluZyBT
VkcgRE9NIG9iamVjdC4iIChzZWUgbGlua2VkIFVSTCBvbiBidWcgcmVwb3J0KQorCisgICAgICAg
IFVudGlsIG5vdyBvbmx5IFhNTCAtPiBTVkcgRE9NIGNoYW5nZXMgdG9vayBhZmZlY3QsIGFrYS4g
Y2hhbmdpbmcgdGhlICdyeCcgYXR0cmlidXRlIG9mIGEgPHJlY3Q+CisgICAgICAgIGVsZW1lbnQg
cmVzdXRlZCBpbiBjaGFuZ2VzIHdoZW4gYWNjZXNzaW5nICdyeCcgdGhyb3VnaCBTVkcgRE9NIChy
eC5iYXNlVmFsLnZhbHVlKS4KKworICAgICAgICBBZGQgYSBuZXcgc3luY2hyb25pemF0aW9uIGxh
eWVyIHRvIGhhbmRsZSBTVkcgRE9NIC0+IFhNTCBjaGFuZ2VzLgorCisgICAgICAgIEdsb2JhbCBt
YWNybyBjaGFuZ2UgIzE6IEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJT05TIGNv
bnRhaW5zIHRoZSBjbGFzcyBuYW1lIHdoZXJlIGl0J3MgZGVmaW5lZCBhcyBmaXJzdCBwYXJhbWV0
ZXIuCisgICAgICAgIEdsb2JhbCBtYWNybyBjaGFuZ2UgIzI6IEFkZCBBTklNQVRFRF9QUk9QRVJU
WV9TVEFSVF9ERUNMQVJBVElPTlMgdG8gYWxsIGRpcmVjdCBiYXNlLWNsYXNzZXMuCisgICAgICAg
IEdsb2JhbCBtYWNybyBjaGFuZ2UgIzM6IFJlbmFtZSBBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklU
SU9OUyB0byBBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OU19SRUZDT1VOVEVEIGZvciByZWZj
b3VudGVkIHR5cGVzIChpZS4gU1ZHVHJhbnNmb3JtTGlzdCopLgorCisgICAgICAgIEFkZGVkIHRl
c3Q6IHN2Zy9jdXN0b20vc3ZnLXhtbC1kb20tc3luYy5odG1sCisgICAgICAgIEZpeGVkIHRlc3Q6
IHN2Zy9oaXhpZS9keW5hbWljLzAwNS1icm9rZW4ueG1sIChyZW5hbWVkIHRvIDAwNS54bWwpCisK
KyAgICAgICAgKiBkb20vRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjpF
bGVtZW50KTogSW5pdGlhbGl6ZSB0aGUgdHdvIG5ldyBiaXRzLgorICAgICAgICAoV2ViQ29yZTo6
RWxlbWVudDo6YXR0cmlidXRlcyk6IEFkZCBob29rcyB0byBjYWxsIGludG8gU1ZHIGF0dHJpYnV0
ZSBzeW5jaHJvbml6YXRpb24gY29kZSwgd3JhcHBlZCBpbiBFTkFCTEUoU1ZHKSBibG9ja3MuCisg
ICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjpnZXRBdHRyaWJ1dGUpOiBEaXR0by4KKyAgICAgICAg
KFdlYkNvcmU6OkVsZW1lbnQ6Omhhc0F0dHJpYnV0ZXMpOiBEaXR0by4KKyAgICAgICAgKiBkb20v
RWxlbWVudC5oOiBBZGQgdHdvIGJpdHM6IG1fc3luY2hyb25pemVkU1ZHQXR0cmlidXRlcy9tX3N5
bmNocm9uaXppbmdTVkdBdHRyaWJ1dGUsIHRvIHRyYWNrIHN5bmNocm9uaXphdGlvbiBzdGF0dXMu
CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50Ojp1cGRhdGVBbmltYXRlZFNWR0F0dHJpYnV0ZSk6
IE5ldyB2aXJ0dWFsIGZ1bmN0aW9uLCBoYW5kbGluZyB0aGUgc3lucm9uaWNhdGlvbiwgc2ltaWxh
ciB0byB1cGRhdGVTdHlsZUF0dHJpYnV0ZS4KKyAgICAgICAgKiBkb20vTmFtZWRBdHRyTWFwLmg6
IE1ha2UgYWRkQXR0cmlidXRlL3JlbW92ZUF0dHJpYnV0ZSBwcm90ZWN0ZWQsIGZyb20gdXNlIHdp
dGhpbiB0aGUgQU5JTUFURURfKiBtYWNyb3MuCisgICAgICAgICogc3ZnL1NWR0FFbGVtZW50Lmg6
IEFwcGx5IGdsb2JhbCBtYWNybyBjaGFuZ2UgZm9yIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRf
REVDTEFSQVRJT05TLgorICAgICAgICAoV2ViQ29yZTo6U1ZHQUVsZW1lbnQ6OmNvbnRleHRFbGVt
ZW50KTogUmV0dXJuIG5vbi1jb25zdCB2YWx1ZS4KKyAgICAgICAgKiBzdmcvU1ZHQWx0R2x5cGhF
bGVtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbHRHbHlwaEVsZW1lbnQ6OmNvbnRleHRF
bGVtZW50KTogRGl0dG8uCisgICAgICAgICogc3ZnL1NWR0FuaW1hdGVFbGVtZW50Lmg6CisgICAg
ICAgIChXZWJDb3JlOjpTVkdBbmltYXRlRWxlbWVudDo6Y29udGV4dEVsZW1lbnQpOiBEaXR0by4K
KyAgICAgICAgKiBzdmcvU1ZHQW5pbWF0ZU1vdGlvbkVsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNv
cmU6OlNWR0FuaW1hdGVNb3Rpb25FbGVtZW50Ojpjb250ZXh0RWxlbWVudCk6IERpdHRvLgorICAg
ICAgICAqIHN2Zy9TVkdBbmltYXRlVHJhbnNmb3JtRWxlbWVudC5oOgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHQW5pbWF0ZVRyYW5zZm9ybUVsZW1lbnQ6OmNvbnRleHRFbGVtZW50KTogRGl0dG8uCisg
ICAgICAgICogc3ZnL1NWR0FuaW1hdGVkVGVtcGxhdGUuaDogQWRkIHRvU3RyaW5nKCkgY29udmVy
c2lvbiB0byBhbGwgU1ZHQW5pbWF0ZWQqIGNsYXNzZXMKKyAgICAgICAgKFdlYkNvcmU6OlNWR0Fu
aW1hdGVkVGVtcGxhdGU6OnRvU3RyaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0FuaW1hdGVk
VGVtcGxhdGU6OmFzc29jaWF0ZWRBdHRyaWJ1dGVOYW1lKToKKyAgICAgICAgKFdlYkNvcmU6Omxv
b2t1cE9yQ3JlYXRlV3JhcHBlcik6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRlZEFuZ2xl
OjpTVkdBbmltYXRlZEFuZ2xlKTogCisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRlZEFuZ2xl
Ojp0b1N0cmluZyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRlZEJvb2xlYW46OlNWR0Fu
aW1hdGVkQm9vbGVhbik6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRlZEJvb2xlYW46OnRv
U3RyaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0FuaW1hdGVkRW51bWVyYXRpb246OlNWR0Fu
aW1hdGVkRW51bWVyYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZWRFbnVtZXJh
dGlvbjo6dG9TdHJpbmcpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZWRJbnRlZ2VyOjpT
VkdBbmltYXRlZEludGVnZXIpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZWRJbnRlZ2Vy
Ojp0b1N0cmluZyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRlZExlbmd0aDo6U1ZHQW5p
bWF0ZWRMZW5ndGgpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZWRMZW5ndGg6OnRvU3Ry
aW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0FuaW1hdGVkTGVuZ3RoTGlzdDo6U1ZHQW5pbWF0
ZWRMZW5ndGhMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0FuaW1hdGVkTGVuZ3RoTGlzdDo6
dG9TdHJpbmcpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZWROdW1iZXI6OlNWR0FuaW1h
dGVkTnVtYmVyKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0FuaW1hdGVkTnVtYmVyOjp0b1N0cmlu
Zyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRlZE51bWJlckxpc3Q6OlNWR0FuaW1hdGVk
TnVtYmVyTGlzdCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRlZE51bWJlckxpc3Q6OnRv
U3RyaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0FuaW1hdGVkUHJlc2VydmVBc3BlY3RSYXRp
bzo6U1ZHQW5pbWF0ZWRQcmVzZXJ2ZUFzcGVjdFJhdGlvKToKKyAgICAgICAgKFdlYkNvcmU6OlNW
R0FuaW1hdGVkUHJlc2VydmVBc3BlY3RSYXRpbzo6dG9TdHJpbmcpOgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHQW5pbWF0ZWRSZWN0OjpTVkdBbmltYXRlZFJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6
U1ZHQW5pbWF0ZWRSZWN0Ojp0b1N0cmluZyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRl
ZFN0cmluZzo6U1ZHQW5pbWF0ZWRTdHJpbmcpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0
ZWRTdHJpbmc6OnRvU3RyaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0FuaW1hdGVkVHJhbnNm
b3JtTGlzdDo6U1ZHQW5pbWF0ZWRUcmFuc2Zvcm1MaXN0KToKKyAgICAgICAgKFdlYkNvcmU6OlNW
R0FuaW1hdGVkVHJhbnNmb3JtTGlzdDo6dG9TdHJpbmcpOgorICAgICAgICAoV2ViQ29yZTo6U1ZH
QW5pbWF0ZWRUeXBlOjpTVkdBbmltYXRlZFR5cGUpOgorICAgICAgICAqIHN2Zy9TVkdBbmltYXRp
b25FbGVtZW50Lmg6IEFwcGx5IGdsb2JhbCBtYWNybyBjaGFuZ2UgZm9yIEFOSU1BVEVEX1BST1BF
UlRZX0ZPUldBUkRfREVDTEFSQVRJT05TLgorICAgICAgICAqIHN2Zy9TVkdDaXJjbGVFbGVtZW50
Lmg6IEFwcGx5IGdsb2JhbCBtYWNybyBjaGFuZ2UgZm9yIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldB
UkRfREVDTEFSQVRJT05TLgorICAgICAgICAoV2ViQ29yZTo6U1ZHQ2lyY2xlRWxlbWVudDo6Y29u
dGV4dEVsZW1lbnQpOiBSZXR1cm4gbm9uLWNvbnN0IHZhbHVlLgorICAgICAgICAqIHN2Zy9TVkdD
bGlwUGF0aEVsZW1lbnQuaDogQXBwbHkgZ2xvYmFsIG1hY3JvIGNoYW5nZSBmb3IgQU5JTUFURURf
UFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMuCisgICAgICAgIChXZWJDb3JlOjpTVkdDbGlw
UGF0aEVsZW1lbnQ6OmNvbnRleHRFbGVtZW50KTogUmV0dXJuIG5vbi1jb25zdCB2YWx1ZS4KKyAg
ICAgICAgKiBzdmcvU1ZHQ29tcG9uZW50VHJhbnNmZXJGdW5jdGlvbkVsZW1lbnQuY3BwOiBBcHBs
eSBBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OU19SRUZDT1VOVEVEIGNoYW5nZS4KKyAgICAg
ICAgKiBzdmcvU1ZHQ29tcG9uZW50VHJhbnNmZXJGdW5jdGlvbkVsZW1lbnQuaDogQWRkIEFOSU1B
VEVEX1BST1BFUlRZX1NUQVJUX0RFQ0xBUkFUSU9OUywgYXMgdGhpcyBjbGFzcyBpcyBhIGJhc2Ug
Y2xhc3MuCisgICAgICAgICogc3ZnL1NWR0N1cnNvckVsZW1lbnQuY3BwOiBXcmFwIFNWR0xlbmd0
aCBvYmplY3RzIGluIFNWR0xlbmd0aCgpIHN0YXRlbWVudHMuCisgICAgICAgIChXZWJDb3JlOjpT
VkdDdXJzb3JFbGVtZW50OjpTVkdDdXJzb3JFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHQ3Vy
c29yRWxlbWVudC5oOiBBcHBseSBnbG9iYWwgbWFjcm8gY2hhbmdlIGZvciBBTklNQVRFRF9QUk9Q
RVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUy4gQWRkIEFOSU1BVEVEX1BST1BFUlRZX1NUQVJUX0RF
Q0xBUkFUSU9OUy4KKyAgICAgICAgKFdlYkNvcmU6OlNWR0N1cnNvckVsZW1lbnQ6OmNvbnRleHRF
bGVtZW50KTogUmV0dXJuIG5vbi1jb25zdCB2YWx1ZS4KKyAgICAgICAgKiBzdmcvU1ZHRGVmc0Vs
ZW1lbnQuaDogQXBwbHkgZ2xvYmFsIG1hY3JvIGNoYW5nZSBmb3IgQU5JTUFURURfUFJPUEVSVFlf
Rk9SV0FSRF9ERUNMQVJBVElPTlMuCisgICAgICAgIChXZWJDb3JlOjpTVkdEZWZzRWxlbWVudDo6
Y29udGV4dEVsZW1lbnQpOiBSZXR1cm4gbm9uLWNvbnN0IHZhbHVlLgorICAgICAgICAqIHN2Zy9T
VkdFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0VsZW1lbnQ6OnVwZGF0ZUFuaW1h
dGVkU1ZHQXR0cmlidXRlKTogT3ZlcnJpZGUgdmlydHVhbCBmdW5jdGlvbiBmcm9tIEVsZW1lbnQs
IHRvIGhhbmRsZSBTVkc8LT5YTUwgRE9NIHN5bmNocm9uaXphdGlvbi4KKyAgICAgICAgKFdlYkNv
cmU6OlNWR0VsZW1lbnQ6OnNldFN5bmNocm9uaXplZFNWR0F0dHJpYnV0ZXMpOgorICAgICAgICAq
IHN2Zy9TVkdFbGVtZW50Lmg6IEFkZCBoZWxwZXIgY2xhc3MgIlN0b3JlZFR5cGVXaXRoRGlydHlG
bGFnIi4KKyAgICAgICAgKFN0b3JlZFR5cGVXaXRoRGlydHlGbGFnOjpTdG9yZWRUeXBlV2l0aERp
cnR5RmxhZyk6IFRyYWNrcyBhIHR5cGUgYW5kIGEgZmxhZyBpbmRpY2F0aW5nIHRoYXQgU1ZHPC0+
WE1MIERPTSBzeW5jaHJvbml6YXRpb24gaGFzIHRvIGJlIGRvbmUuCisgICAgICAgIChTdG9yZWRU
eXBlV2l0aERpcnR5RmxhZzo6b3BlcmF0b3I9KToKKyAgICAgICAgKFN0b3JlZFR5cGVXaXRoRGly
dHlGbGFnOjpvcGVyYXRvcj09KToKKyAgICAgICAgKFN0b3JlZFR5cGVXaXRoRGlydHlGbGFnOjpv
cGVyYXRvciE9KToKKyAgICAgICAgKFN0b3JlZFR5cGVXaXRoRGlydHlGbGFnOjpvcGVyYXRvciBT
dG9yZWRUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0VsZW1lbnQ6Omludm9rZVNWR1Byb3Bl
cnR5U3luY2hyb25pemVyKTogTmV3IHNldCBvZiBmdW5jdGlvbnMgdGFraW5nIGNhcmUgb2YgaW52
b2tpbmcgdGhlIHVwZGF0ZSBoYW5kbGVycy4KKyAgICAgICAgKFdlYkNvcmU6OlNWR0VsZW1lbnQ6
Omludm9rZUFsbFNWR1Byb3BlcnR5U3luY2hyb25pemVycyk6IERpdHRvLgorICAgICAgICAoV2Vi
Q29yZTo6U1ZHRWxlbWVudDo6YWRkU1ZHUHJvcGVydHlTeW5jaHJvbml6ZXIpOiBEaXR0by4KKyAg
ICAgICAgKiBzdmcvU1ZHRWxsaXBzZUVsZW1lbnQuY3BwOiBXcmFwIFNWR0xlbmd0aCBvYmplY3Rz
IGluIFNWR0xlbmd0aCgpIHN0YXRlbWVudHMuCisgICAgICAgIChXZWJDb3JlOjpTVkdFbGxpcHNl
RWxlbWVudDo6U1ZHRWxsaXBzZUVsZW1lbnQpOgorICAgICAgICAqIHN2Zy9TVkdFbGxpcHNlRWxl
bWVudC5oOiBBcHBseSBnbG9iYWwgbWFjcm8gY2hhbmdlIGZvciBBTklNQVRFRF9QUk9QRVJUWV9G
T1JXQVJEX0RFQ0xBUkFUSU9OUy4KKyAgICAgICAgKFdlYkNvcmU6OlNWR0VsbGlwc2VFbGVtZW50
Ojpjb250ZXh0RWxlbWVudCk6IFJldHVybiBub24tY29uc3QgdmFsdWUuCisgICAgICAgICogc3Zn
L1NWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQuaDogQ2hhbmdlIGNvbnRleHRFbGVtZW50KCkg
dG8gcmV0dXJuIGEgbm9uLWNvbnN0IHZhbHVlLgorICAgICAgICAqIHN2Zy9TVkdGRUJsZW5kRWxl
bWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRkVCbGVuZEVsZW1lbnQ6OmNvbnRleHRFbGVt
ZW50KTogUmV0dXJuIG5vbi1jb25zdCB2YWx1ZS4KKyAgICAgICAgKiBzdmcvU1ZHRkVDb2xvck1h
dHJpeEVsZW1lbnQuY3BwOiBBcHBseSBBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OU19SRUZD
T1VOVEVEIGNoYW5nZS4KKyAgICAgICAgKiBzdmcvU1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQuaDoK
KyAgICAgICAgKFdlYkNvcmU6OlNWR0ZFQ29sb3JNYXRyaXhFbGVtZW50Ojpjb250ZXh0RWxlbWVu
dCk6IFJldHVybiBub24tY29uc3QgdmFsdWUuCisgICAgICAgICogc3ZnL1NWR0ZFQ29tcG9uZW50
VHJhbnNmZXJFbGVtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdGRUNvbXBvbmVudFRyYW5z
ZmVyRWxlbWVudDo6Y29udGV4dEVsZW1lbnQpOiBSZXR1cm4gbm9uLWNvbnN0IHZhbHVlLgorICAg
ICAgICAqIHN2Zy9TVkdGRUNvbXBvc2l0ZUVsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNW
R0ZFQ29tcG9zaXRlRWxlbWVudDo6Y29udGV4dEVsZW1lbnQpOiBSZXR1cm4gbm9uLWNvbnN0IHZh
bHVlLgorICAgICAgICAqIHN2Zy9TVkdGRURpZmZ1c2VMaWdodGluZ0VsZW1lbnQuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OlNWR0ZFRGlmZnVzZUxpZ2h0aW5nRWxlbWVudDo6Y29udGV4dEVsZW1lbnQp
OiBSZXR1cm4gbm9uLWNvbnN0IHZhbHVlLgorICAgICAgICAqIHN2Zy9TVkdGRURpc3BsYWNlbWVu
dE1hcEVsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZFRGlzcGxhY2VtZW50TWFwRWxl
bWVudDo6Y29udGV4dEVsZW1lbnQpOiBSZXR1cm4gbm9uLWNvbnN0IHZhbHVlLgorICAgICAgICAq
IHN2Zy9TVkdGRUZsb29kRWxlbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRkVGbG9vZEVs
ZW1lbnQ6OmNvbnRleHRFbGVtZW50KTogUmV0dXJuIG5vbi1jb25zdCB2YWx1ZS4KKyAgICAgICAg
KiBzdmcvU1ZHRkVHYXVzc2lhbkJsdXJFbGVtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdG
RUdhdXNzaWFuQmx1ckVsZW1lbnQ6OmNvbnRleHRFbGVtZW50KTogUmV0dXJuIG5vbi1jb25zdCB2
YWx1ZS4KKyAgICAgICAgKiBzdmcvU1ZHRkVJbWFnZUVsZW1lbnQuY3BwOiBBcHBseSBBTklNQVRF
RF9QUk9QRVJUWV9ERUZJTklUSU9OU19SRUZDT1VOVEVEIGNoYW5nZS4KKyAgICAgICAgKiBzdmcv
U1ZHRkVJbWFnZUVsZW1lbnQuaDogQXBwbHkgZ2xvYmFsIG1hY3JvIGNoYW5nZSBmb3IgQU5JTUFU
RURfUFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMuCisgICAgICAgIChXZWJDb3JlOjpTVkdG
RUltYWdlRWxlbWVudDo6Y29udGV4dEVsZW1lbnQpOiBSZXR1cm4gbm9uLWNvbnN0IHZhbHVlLgor
ICAgICAgICAqIHN2Zy9TVkdGRUxpZ2h0RWxlbWVudC5oOiBBZGQgQU5JTUFURURfUFJPUEVSVFlf
U1RBUlRfREVDTEFSQVRJT05TLCBhcyB0aGlzIGlzIGEgYmFzZSBjbGFzcy4KKyAgICAgICAgKiBz
dmcvU1ZHRkVNZXJnZUVsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZFTWVyZ2VFbGVt
ZW50Ojpjb250ZXh0RWxlbWVudCk6IFJldHVybiBub24tY29uc3QgdmFsdWUuCisgICAgICAgICog
c3ZnL1NWR0ZFTWVyZ2VOb2RlRWxlbWVudC5oOiBBZGQgQU5JTUFURURfUFJPUEVSVFlfU1RBUlRf
REVDTEFSQVRJT05TLCBhcyB0aGlzIGlzIGEgYmFzZSBjbGFzcy4KKyAgICAgICAgKFdlYkNvcmU6
OlNWR0ZFTWVyZ2VOb2RlRWxlbWVudDo6Y29udGV4dEVsZW1lbnQpOiBSZXR1cm4gbm9uLWNvbnN0
IHZhbHVlLgorICAgICAgICAqIHN2Zy9TVkdGRU9mZnNldEVsZW1lbnQuaDoKKyAgICAgICAgKFdl
YkNvcmU6OlNWR0ZFT2Zmc2V0RWxlbWVudDo6Y29udGV4dEVsZW1lbnQpOiBSZXR1cm4gbm9uLWNv
bnN0IHZhbHVlLgorICAgICAgICAqIHN2Zy9TVkdGRVNwZWN1bGFyTGlnaHRpbmdFbGVtZW50Lmg6
CisgICAgICAgIChXZWJDb3JlOjpTVkdGRVNwZWN1bGFyTGlnaHRpbmdFbGVtZW50Ojpjb250ZXh0
RWxlbWVudCk6IFJldHVybiBub24tY29uc3QgdmFsdWUuCisgICAgICAgICogc3ZnL1NWR0ZFVGls
ZUVsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZFVGlsZUVsZW1lbnQ6OmNvbnRleHRF
bGVtZW50KTogUmV0dXJuIG5vbi1jb25zdCB2YWx1ZS4KKyAgICAgICAgKiBzdmcvU1ZHRkVUdXJi
dWxlbmNlRWxlbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRkVUdXJidWxlbmNlRWxlbWVu
dDo6Y29udGV4dEVsZW1lbnQpOiBSZXR1cm4gbm9uLWNvbnN0IHZhbHVlLgorICAgICAgICAqIHN2
Zy9TVkdGaWx0ZXJFbGVtZW50LmNwcDogV3JhcCBTVkdMZW5ndGggb2JqZWN0cyBpbiBTVkdMZW5n
dGgoKSBzdGF0ZW1lbnRzLgorICAgICAgICAoV2ViQ29yZTo6U1ZHRmlsdGVyRWxlbWVudDo6U1ZH
RmlsdGVyRWxlbWVudCk6CisgICAgICAgICogc3ZnL1NWR0ZpbHRlckVsZW1lbnQuaDogQXBwbHkg
Z2xvYmFsIG1hY3JvIGNoYW5nZSBmb3IgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJB
VElPTlMuCisgICAgICAgIChXZWJDb3JlOjpTVkdGaWx0ZXJFbGVtZW50Ojpjb250ZXh0RWxlbWVu
dCk6IFJldHVybiBub24tY29uc3QgdmFsdWUuCisgICAgICAgICogc3ZnL1NWR0ZpbHRlclByaW1p
dGl2ZVN0YW5kYXJkQXR0cmlidXRlcy5jcHA6IFdyYXAgU1ZHTGVuZ3RoIG9iamVjdHMgaW4gU1ZH
TGVuZ3RoKCkgc3RhdGVtZW50cy4KKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZpbHRlclByaW1pdGl2
ZVN0YW5kYXJkQXR0cmlidXRlczo6U1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVz
KToKKyAgICAgICAgKiBzdmcvU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzLmg6
IEFwcGx5IGdsb2JhbCBtYWNybyBjaGFuZ2UgZm9yIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRf
REVDTEFSQVRJT05TLgorICAgICAgICAoV2ViQ29yZTo6U1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRh
cmRBdHRyaWJ1dGVzOjpjb250ZXh0RWxlbWVudCk6IFJldHVybiBub24tY29uc3QgdmFsdWUuCisg
ICAgICAgICogc3ZnL1NWR0ZpdFRvVmlld0JveC5jcHA6IEFwcGx5IEFOSU1BVEVEX1BST1BFUlRZ
X0RFRklOSVRJT05TX1JFRkNPVU5URUQgY2hhbmdlLgorICAgICAgICAqIHN2Zy9TVkdGaXRUb1Zp
ZXdCb3guaDogQ2hhbmdlIGNvbnRleHRFbGVtZW50KCkgdG8gcmV0dXJuIGEgbm9uLWNvbnN0IHZh
bHVlLgorICAgICAgICAqIHN2Zy9TVkdGb250RWxlbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6
U1ZHRm9udEVsZW1lbnQ6OmNvbnRleHRFbGVtZW50KTogUmV0dXJuIG5vbi1jb25zdCB2YWx1ZS4K
KyAgICAgICAgKiBzdmcvU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQuY3BwOiBXcmFwIFNWR0xlbmd0
aCBvYmplY3RzIGluIFNWR0xlbmd0aCgpIHN0YXRlbWVudHMuCisgICAgICAgIChXZWJDb3JlOjpT
VkdGb3JlaWduT2JqZWN0RWxlbWVudDo6U1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQpOgorICAgICAg
ICAqIHN2Zy9TVkdGb3JlaWduT2JqZWN0RWxlbWVudC5oOiBBcHBseSBnbG9iYWwgbWFjcm8gY2hh
bmdlIGZvciBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUy4KKyAgICAgICAg
KFdlYkNvcmU6OlNWR0ZvcmVpZ25PYmplY3RFbGVtZW50Ojpjb250ZXh0RWxlbWVudCk6IFJldHVy
biBub24tY29uc3QgdmFsdWUuCisgICAgICAgICogc3ZnL1NWR0dFbGVtZW50Lmg6IEFwcGx5IGds
b2JhbCBtYWNybyBjaGFuZ2UgZm9yIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJ
T05TLgorICAgICAgICAoV2ViQ29yZTo6U1ZHR0VsZW1lbnQ6OmNvbnRleHRFbGVtZW50KTogUmV0
dXJuIG5vbi1jb25zdCB2YWx1ZS4KKyAgICAgICAgKiBzdmcvU1ZHR3JhZGllbnRFbGVtZW50LmNw
cDogQXBwbHkgQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlNfUkVGQ09VTlRFRCBjaGFuZ2Uu
CisgICAgICAgICogc3ZnL1NWR0dyYWRpZW50RWxlbWVudC5oOiBBcHBseSBnbG9iYWwgbWFjcm8g
Y2hhbmdlIGZvciBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUy4KKyAgICAg
ICAgKiBzdmcvU1ZHSW1hZ2VFbGVtZW50LmNwcDogQXBwbHkgQU5JTUFURURfUFJPUEVSVFlfREVG
SU5JVElPTlNfUkVGQ09VTlRFRCBjaGFuZ2UuIFdyYXAgU1ZHTGVuZ3RoIG9iamVjdHMgaW4gU1ZH
TGVuZ3RoKCkgc3RhdGVtZW50cy4KKyAgICAgICAgKFdlYkNvcmU6OlNWR0ltYWdlRWxlbWVudDo6
U1ZHSW1hZ2VFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHSW1hZ2VFbGVtZW50Lmg6IEFwcGx5
IGdsb2JhbCBtYWNybyBjaGFuZ2UgZm9yIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFS
QVRJT05TLgorICAgICAgICAoV2ViQ29yZTo6U1ZHSW1hZ2VFbGVtZW50Ojpjb250ZXh0RWxlbWVu
dCk6IFJldHVybiBub24tY29uc3QgdmFsdWUuCisgICAgICAgICogc3ZnL1NWR0xlbmd0aExpc3Qu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHTGVuZ3RoTGlzdDo6dmFsdWVBc1N0cmluZyk6IEFk
ZCBuZXcgZnVuY3Rpb24gY29udmVydGluZyBTVkcgdmFsdWVzIHRvIHN0cmluZ3MuCisgICAgICAg
ICogc3ZnL1NWR0xlbmd0aExpc3QuaDoKKyAgICAgICAgKiBzdmcvU1ZHTGluZUVsZW1lbnQuY3Bw
OiBXcmFwIFNWR0xlbmd0aCBvYmplY3RzIGluIFNWR0xlbmd0aCgpIHN0YXRlbWVudHMuCisgICAg
ICAgIChXZWJDb3JlOjpTVkdMaW5lRWxlbWVudDo6U1ZHTGluZUVsZW1lbnQpOgorICAgICAgICAq
IHN2Zy9TVkdMaW5lRWxlbWVudC5oOiBBcHBseSBnbG9iYWwgbWFjcm8gY2hhbmdlIGZvciBBTklN
QVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUy4KKyAgICAgICAgKFdlYkNvcmU6OlNW
R0xpbmVFbGVtZW50Ojpjb250ZXh0RWxlbWVudCk6IFJldHVybiBub24tY29uc3QgdmFsdWUuCisg
ICAgICAgICogc3ZnL1NWR0xpbmVhckdyYWRpZW50RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpTVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQ6OlNWR0xpbmVhckdyYWRpZW50RWxlbWVudCk6
IFdyYXAgU1ZHTGVuZ3RoIG9iamVjdHMgaW4gU1ZHTGVuZ3RoKCkgc3RhdGVtZW50cy4KKyAgICAg
ICAgKFdlYkNvcmU6OlNWR0xpbmVhckdyYWRpZW50RWxlbWVudDo6Y29sbGVjdEdyYWRpZW50UHJv
cGVydGllcyk6CisgICAgICAgICogc3ZnL1NWR0xpbmVhckdyYWRpZW50RWxlbWVudC5oOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHTGluZWFyR3JhZGllbnRFbGVtZW50Ojpjb250ZXh0RWxlbWVudCk6
IFJldHVybiBub24tY29uc3QgdmFsdWUuCisgICAgICAgICogc3ZnL1NWR01QYXRoRWxlbWVudC5o
OgorICAgICAgICAoV2ViQ29yZTo6U1ZHTVBhdGhFbGVtZW50Ojpjb250ZXh0RWxlbWVudCk6IFJl
dHVybiBub24tY29uc3QgdmFsdWUuCisgICAgICAgICogc3ZnL1NWR01hcmtlckVsZW1lbnQuY3Bw
OiBBcHBseSBBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OU19SRUZDT1VOVEVEIGNoYW5nZS4g
V3JhcCBTVkdMZW5ndGggb2JqZWN0cyBpbiBTVkdMZW5ndGgoKSBzdGF0ZW1lbnRzLgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHTWFya2VyRWxlbWVudDo6U1ZHTWFya2VyRWxlbWVudCk6CisgICAgICAg
ICogc3ZnL1NWR01hcmtlckVsZW1lbnQuaDogQXBwbHkgZ2xvYmFsIG1hY3JvIGNoYW5nZSBmb3Ig
QU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMuCisgICAgICAgIChXZWJDb3Jl
OjpTVkdNYXJrZXJFbGVtZW50Ojpjb250ZXh0RWxlbWVudCk6IFJldHVybiBub24tY29uc3QgdmFs
dWUuCisgICAgICAgICogc3ZnL1NWR01hc2tFbGVtZW50LmNwcDogV3JhcCBTVkdMZW5ndGggb2Jq
ZWN0cyBpbiBTVkdMZW5ndGgoKSBzdGF0ZW1lbnRzLgorICAgICAgICAoV2ViQ29yZTo6U1ZHTWFz
a0VsZW1lbnQ6OlNWR01hc2tFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHTWFza0VsZW1lbnQu
aDogQXBwbHkgZ2xvYmFsIG1hY3JvIGNoYW5nZSBmb3IgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FS
RF9ERUNMQVJBVElPTlMuCisgICAgICAgIChXZWJDb3JlOjpTVkdNYXNrRWxlbWVudDo6Y29udGV4
dEVsZW1lbnQpOiBSZXR1cm4gbm9uLWNvbnN0IHZhbHVlLgorICAgICAgICAqIHN2Zy9TVkdOdW1i
ZXJMaXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR051bWJlckxpc3Q6OnZhbHVlQXNTdHJp
bmcpOiBBZGQgbmV3IGZ1bmN0aW9uIGNvbnZlcnRpbmcgU1ZHIHZhbHVlcyB0byBzdHJpbmdzLgor
ICAgICAgICAqIHN2Zy9TVkdOdW1iZXJMaXN0Lmg6CisgICAgICAgICogc3ZnL1NWR1BhdGhFbGVt
ZW50Lmg6IEFwcGx5IGdsb2JhbCBtYWNybyBjaGFuZ2UgZm9yIEFOSU1BVEVEX1BST1BFUlRZX0ZP
UldBUkRfREVDTEFSQVRJT05TLgorICAgICAgICAoV2ViQ29yZTo6U1ZHUGF0aEVsZW1lbnQ6OmNv
bnRleHRFbGVtZW50KTogUmV0dXJuIG5vbi1jb25zdCB2YWx1ZS4KKyAgICAgICAgKiBzdmcvU1ZH
UGF0dGVybkVsZW1lbnQuY3BwOiBBcHBseSBBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OU19S
RUZDT1VOVEVEIGNoYW5nZS4gV3JhcCBTVkdMZW5ndGggb2JqZWN0cyBpbiBTVkdMZW5ndGgoKSBz
dGF0ZW1lbnRzLgorICAgICAgICAoV2ViQ29yZTo6U1ZHUGF0dGVybkVsZW1lbnQ6OlNWR1BhdHRl
cm5FbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1BhdHRlcm5FbGVtZW50Ojpjb2xsZWN0
UGF0dGVyblByb3BlcnRpZXMpOgorICAgICAgICAqIHN2Zy9TVkdQYXR0ZXJuRWxlbWVudC5oOiBB
cHBseSBnbG9iYWwgbWFjcm8gY2hhbmdlIGZvciBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RF
Q0xBUkFUSU9OUy4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1BhdHRlcm5FbGVtZW50Ojpjb250ZXh0
RWxlbWVudCk6IFJldHVybiBub24tY29uc3QgdmFsdWUuCisgICAgICAgICogc3ZnL1NWR1BvbHlF
bGVtZW50Lmg6IEFwcGx5IGdsb2JhbCBtYWNybyBjaGFuZ2UgZm9yIEFOSU1BVEVEX1BST1BFUlRZ
X0ZPUldBUkRfREVDTEFSQVRJT05TLgorICAgICAgICAoV2ViQ29yZTo6U1ZHUG9seUVsZW1lbnQ6
OmNvbnRleHRFbGVtZW50KTogUmV0dXJuIG5vbi1jb25zdCB2YWx1ZS4KKyAgICAgICAgKiBzdmcv
U1ZHUHJlc2VydmVBc3BlY3RSYXRpby5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdQcmVzZXJ2
ZUFzcGVjdFJhdGlvOjp2YWx1ZUFzU3RyaW5nKTogQWRkIG5ldyBmdW5jdGlvbiBjb252ZXJ0aW5n
IFNWRyB2YWx1ZXMgdG8gc3RyaW5ncy4KKyAgICAgICAgKiBzdmcvU1ZHUHJlc2VydmVBc3BlY3RS
YXRpby5oOgorICAgICAgICAqIHN2Zy9TVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQuY3BwOiBXcmFw
IFNWR0xlbmd0aCBvYmplY3RzIGluIFNWR0xlbmd0aCgpIHN0YXRlbWVudHMuCisgICAgICAgIChX
ZWJDb3JlOjpTVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQ6OlNWR1JhZGlhbEdyYWRpZW50RWxlbWVu
dCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQ6OnN2Z0F0dHJp
YnV0ZUNoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50
Ojpjb2xsZWN0R3JhZGllbnRQcm9wZXJ0aWVzKToKKyAgICAgICAgKiBzdmcvU1ZHUmFkaWFsR3Jh
ZGllbnRFbGVtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdSYWRpYWxHcmFkaWVudEVsZW1l
bnQ6OmNvbnRleHRFbGVtZW50KTogUmV0dXJuIG5vbi1jb25zdCB2YWx1ZS4KKyAgICAgICAgKiBz
dmcvU1ZHUmVjdEVsZW1lbnQuY3BwOiBXcmFwIFNWR0xlbmd0aCBvYmplY3RzIGluIFNWR0xlbmd0
aCgpIHN0YXRlbWVudHMuCisgICAgICAgIChXZWJDb3JlOjpTVkdSZWN0RWxlbWVudDo6U1ZHUmVj
dEVsZW1lbnQpOgorICAgICAgICAqIHN2Zy9TVkdSZWN0RWxlbWVudC5oOiBBcHBseSBnbG9iYWwg
bWFjcm8gY2hhbmdlIGZvciBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUy4K
KyAgICAgICAgKFdlYkNvcmU6OlNWR1JlY3RFbGVtZW50Ojpjb250ZXh0RWxlbWVudCk6IFJldHVy
biBub24tY29uc3QgdmFsdWUuCisgICAgICAgICogc3ZnL1NWR1NWR0VsZW1lbnQuY3BwOiBXcmFw
IFNWR0xlbmd0aCBvYmplY3RzIGluIFNWR0xlbmd0aCgpIHN0YXRlbWVudHMuCisgICAgICAgIChX
ZWJDb3JlOjpTVkdTVkdFbGVtZW50OjpTVkdTVkdFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6
OlNWR1NWR0VsZW1lbnQ6OmN1cnJlbnRWaWV3KTogUGFzcyBub24tY29uc3QgU1ZHU1ZHRWxlbWVu
dCogb2JqZWN0IHRvIFNWR1ZpZXdTcGVjLgorICAgICAgICAqIHN2Zy9TVkdTVkdFbGVtZW50Lmg6
IEFwcGx5IGdsb2JhbCBtYWNybyBjaGFuZ2UgZm9yIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRf
REVDTEFSQVRJT05TLgorICAgICAgICAoV2ViQ29yZTo6U1ZHU1ZHRWxlbWVudDo6Y29udGV4dEVs
ZW1lbnQpOiBSZXR1cm4gbm9uLWNvbnN0IHZhbHVlLgorICAgICAgICAqIHN2Zy9TVkdTY3JpcHRF
bGVtZW50Lmg6IEFwcGx5IGdsb2JhbCBtYWNybyBjaGFuZ2UgZm9yIEFOSU1BVEVEX1BST1BFUlRZ
X0ZPUldBUkRfREVDTEFSQVRJT05TLgorICAgICAgICAoV2ViQ29yZTo6U1ZHU2NyaXB0RWxlbWVu
dDo6Y29udGV4dEVsZW1lbnQpOiBSZXR1cm4gbm9uLWNvbnN0IHZhbHVlLgorICAgICAgICAqIHN2
Zy9TVkdTdHlsZWRFbGVtZW50Lmg6IEFkZCBBTklNQVRFRF9QUk9QRVJUWV9TVEFSVF9ERUNMQVJB
VElPTlMsIGFzIHRoaXMgaXMgYSBiYXNlIGNsYXNzLgorICAgICAgICAqIHN2Zy9TVkdTdHlsZWRU
cmFuc2Zvcm1hYmxlRWxlbWVudC5jcHA6IEFwcGx5IEFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJ
T05TX1JFRkNPVU5URUQgY2hhbmdlLgorICAgICAgICAqIHN2Zy9TVkdTdHlsZWRUcmFuc2Zvcm1h
YmxlRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdTd2l0Y2hFbGVtZW50Lmg6IEFwcGx5IGds
b2JhbCBtYWNybyBjaGFuZ2UgZm9yIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJ
T05TLgorICAgICAgICAoV2ViQ29yZTo6U1ZHU3dpdGNoRWxlbWVudDo6Y29udGV4dEVsZW1lbnQp
OiBSZXR1cm4gbm9uLWNvbnN0IHZhbHVlLgorICAgICAgICAqIHN2Zy9TVkdTeW1ib2xFbGVtZW50
Lmg6IEFwcGx5IGdsb2JhbCBtYWNybyBjaGFuZ2UgZm9yIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldB
UkRfREVDTEFSQVRJT05TLgorICAgICAgICAoV2ViQ29yZTo6U1ZHU3ltYm9sRWxlbWVudDo6Y29u
dGV4dEVsZW1lbnQpOiBSZXR1cm4gbm9uLWNvbnN0IHZhbHVlLgorICAgICAgICAqIHN2Zy9TVkdU
UmVmRWxlbWVudC5oOiBBcHBseSBnbG9iYWwgbWFjcm8gY2hhbmdlIGZvciBBTklNQVRFRF9QUk9Q
RVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUy4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1RSZWZFbGVt
ZW50Ojpjb250ZXh0RWxlbWVudCk6IFJldHVybiBub24tY29uc3QgdmFsdWUuCisgICAgICAgICog
c3ZnL1NWR1RTcGFuRWxlbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVFNwYW5FbGVtZW50
Ojpjb250ZXh0RWxlbWVudCk6IFJldHVybiBub24tY29uc3QgdmFsdWUuCisgICAgICAgICogc3Zn
L1NWR1RleHRDb250ZW50RWxlbWVudC5jcHA6IFdyYXAgU1ZHTGVuZ3RoIG9iamVjdHMgaW4gU1ZH
TGVuZ3RoKCkgc3RhdGVtZW50cy4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1RleHRDb250ZW50RWxl
bWVudDo6U1ZHVGV4dENvbnRlbnRFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHVGV4dENvbnRl
bnRFbGVtZW50Lmg6IEFwcGx5IGdsb2JhbCBtYWNybyBjaGFuZ2UgZm9yIEFOSU1BVEVEX1BST1BF
UlRZX0ZPUldBUkRfREVDTEFSQVRJT05TLgorICAgICAgICAqIHN2Zy9TVkdUZXh0RWxlbWVudC5j
cHA6IEFwcGx5IEFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TX1JFRkNPVU5URUQgY2hhbmdl
LgorICAgICAgICAqIHN2Zy9TVkdUZXh0RWxlbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZH
VGV4dEVsZW1lbnQ6OmNvbnRleHRFbGVtZW50KTogUmV0dXJuIG5vbi1jb25zdCB2YWx1ZS4KKyAg
ICAgICAgKiBzdmcvU1ZHVGV4dFBhdGhFbGVtZW50LmNwcDogV3JhcCBTVkdMZW5ndGggb2JqZWN0
cyBpbiBTVkdMZW5ndGgoKSBzdGF0ZW1lbnRzLgorICAgICAgICAoV2ViQ29yZTo6U1ZHVGV4dFBh
dGhFbGVtZW50OjpTVkdUZXh0UGF0aEVsZW1lbnQpOgorICAgICAgICAqIHN2Zy9TVkdUZXh0UGF0
aEVsZW1lbnQuaDogQXBwbHkgZ2xvYmFsIG1hY3JvIGNoYW5nZSBmb3IgQU5JTUFURURfUFJPUEVS
VFlfRk9SV0FSRF9ERUNMQVJBVElPTlMuCisgICAgICAgIChXZWJDb3JlOjpTVkdUZXh0UGF0aEVs
ZW1lbnQ6OmNvbnRleHRFbGVtZW50KTogUmV0dXJuIG5vbi1jb25zdCB2YWx1ZS4KKyAgICAgICAg
KiBzdmcvU1ZHVGV4dFBvc2l0aW9uaW5nRWxlbWVudC5jcHA6IEFwcGx5IEFOSU1BVEVEX1BST1BF
UlRZX0RFRklOSVRJT05TX1JFRkNPVU5URUQgY2hhbmdlLgorICAgICAgICAqIHN2Zy9TVkdUZXh0
UG9zaXRpb25pbmdFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR1RyYW5zZm9ybUxpc3QuY3Bw
OgorICAgICAgICAoU1ZHVHJhbnNmb3JtTGlzdDo6dmFsdWVBc1N0cmluZyk6IEFkZCBuZXcgZnVu
Y3Rpb24gY29udmVydGluZyBTVkcgdmFsdWVzIHRvIHN0cmluZ3MuCisgICAgICAgICogc3ZnL1NW
R1RyYW5zZm9ybUxpc3QuaDoKKyAgICAgICAgKiBzdmcvU1ZHVVJJUmVmZXJlbmNlLmg6IENoYW5n
ZSBjb250ZXh0RWxlbWVudCgpIHRvIHJldHVybiBhIG5vbi1jb25zdCB2YWx1ZS4KKyAgICAgICAg
KiBzdmcvU1ZHVXNlRWxlbWVudC5jcHA6IFdyYXAgU1ZHTGVuZ3RoIG9iamVjdHMgaW4gU1ZHTGVu
Z3RoKCkgc3RhdGVtZW50cy4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1VzZUVsZW1lbnQ6OlNWR1Vz
ZUVsZW1lbnQpOgorICAgICAgICAqIHN2Zy9TVkdVc2VFbGVtZW50Lmg6IEFwcGx5IGdsb2JhbCBt
YWNybyBjaGFuZ2UgZm9yIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJT05TLgor
ICAgICAgICAoV2ViQ29yZTo6U1ZHVXNlRWxlbWVudDo6Y29udGV4dEVsZW1lbnQpOiBSZXR1cm4g
bm9uLWNvbnN0IHZhbHVlLgorICAgICAgICAqIHN2Zy9TVkdWaWV3RWxlbWVudC5oOiBBcHBseSBn
bG9iYWwgbWFjcm8gY2hhbmdlIGZvciBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFU
SU9OUy4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1ZpZXdFbGVtZW50Ojpjb250ZXh0RWxlbWVudCk6
IFJldHVybiBub24tY29uc3QgdmFsdWUuCisgICAgICAgICogc3ZnL1NWR1ZpZXdTcGVjLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlNWR1ZpZXdTcGVjOjpTVkdWaWV3U3BlYyk6IFBhc3Mgbm9uLWNv
bnN0IGNvbnRleHQgZWxlbWVudCBpbiBjb25zdHJ1Y3Rvci4KKyAgICAgICAgKFdlYkNvcmU6OlNW
R1ZpZXdTcGVjOjpjb250ZXh0RWxlbWVudCk6IFJldHVybiBub24tY29uc3QgdmFsdWUuCisgICAg
ICAgICogc3ZnL1NWR1ZpZXdTcGVjLmg6CisKIDIwMDgtMDYtMzAgIFNpbW9uIEhhdXNtYW5uICA8
aGF1c21hbm5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBGaXggdGhlIFF0IGJ1aWxkLgpJbmRleDog
V2ViQ29yZS9kb20vRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9kb20vRWxlbWVu
dC5jcHAJKHJldmlzaW9uIDM0ODg3KQorKysgV2ViQ29yZS9kb20vRWxlbWVudC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTk5LDYgKzk5LDEwIEBAIEVsZW1lbnQ6OkVsZW1lbnQoY29uc3QgUXVhbGlm
aWVkTmFtZSYgcU4KICAgICAsIG1fdGFnTmFtZShxTmFtZSkKICAgICAsIG1faXNTdHlsZUF0dHJp
YnV0ZVZhbGlkKHRydWUpCiAgICAgLCBtX3N5bmNocm9uaXppbmdTdHlsZUF0dHJpYnV0ZShmYWxz
ZSkKKyNpZiBFTkFCTEUoU1ZHKQorICAgICwgbV9zeW5jaHJvbml6ZWRTVkdBdHRyaWJ1dGVzKHRy
dWUpCisgICAgLCBtX3N5bmNocm9uaXppbmdTVkdBdHRyaWJ1dGUoZmFsc2UpCisjZW5kaWYKICAg
ICAsIG1fcGFyc2luZ0NoaWxkcmVuRmluaXNoZWQodHJ1ZSkKIHsKIH0KQEAgLTE5Myw2ICsxOTcs
MTIgQEAgTmFtZWRBdHRyTWFwKiBFbGVtZW50OjphdHRyaWJ1dGVzKGJvb2wgcgogewogICAgIGlm
ICghbV9pc1N0eWxlQXR0cmlidXRlVmFsaWQpCiAgICAgICAgIHVwZGF0ZVN0eWxlQXR0cmlidXRl
KCk7CisKKyNpZiBFTkFCTEUoU1ZHKQorICAgIGlmICghbV9zeW5jaHJvbml6ZWRTVkdBdHRyaWJ1
dGVzKQorICAgICAgICB1cGRhdGVBbmltYXRlZFNWR0F0dHJpYnV0ZSgwKTsKKyNlbmRpZgorCiAg
ICAgaWYgKCFyZWFkb25seSAmJiAhbmFtZWRBdHRyTWFwKQogICAgICAgICBjcmVhdGVBdHRyaWJ1
dGVNYXAoKTsKICAgICByZXR1cm4gbmFtZWRBdHRyTWFwLmdldCgpOwpAQCAtMjE4LDYgKzIyOCwx
MSBAQCBjb25zdCBBdG9taWNTdHJpbmcmIEVsZW1lbnQ6OmdldEF0dHJpYnV0CiAgICAgaWYgKG5h
bWUgPT0gc3R5bGVBdHRyICYmICFtX2lzU3R5bGVBdHRyaWJ1dGVWYWxpZCkKICAgICAgICAgdXBk
YXRlU3R5bGVBdHRyaWJ1dGUoKTsKIAorI2lmIEVOQUJMRShTVkcpCisgICAgaWYgKCFtX3N5bmNo
cm9uaXplZFNWR0F0dHJpYnV0ZXMpCisgICAgICAgIHVwZGF0ZUFuaW1hdGVkU1ZHQXR0cmlidXRl
KG5hbWUubG9jYWxOYW1lKCkuaW1wbCgpKTsKKyNlbmRpZgorCiAgICAgaWYgKG5hbWVkQXR0ck1h
cCkKICAgICAgICAgaWYgKEF0dHJpYnV0ZSogYSA9IG5hbWVkQXR0ck1hcC0+Z2V0QXR0cmlidXRl
SXRlbShuYW1lKSkKICAgICAgICAgICAgIHJldHVybiBhLT52YWx1ZSgpOwpAQCAtNDY3LDcgKzQ4
MiwxMiBAQCBjb25zdCBBdG9taWNTdHJpbmcmIEVsZW1lbnQ6OmdldEF0dHJpYnV0CiAgICAgU3Ry
aW5nIGxvY2FsTmFtZSA9IHNob3VsZElnbm9yZUF0dHJpYnV0ZUNhc2UodGhpcykgPyBuYW1lLmxv
d2VyKCkgOiBuYW1lOwogICAgIGlmIChsb2NhbE5hbWUgPT0gc3R5bGVBdHRyLmxvY2FsTmFtZSgp
ICYmICFtX2lzU3R5bGVBdHRyaWJ1dGVWYWxpZCkKICAgICAgICAgdXBkYXRlU3R5bGVBdHRyaWJ1
dGUoKTsKLSAgICAKKworI2lmIEVOQUJMRShTVkcpCisgICAgaWYgKCFtX3N5bmNocm9uaXplZFNW
R0F0dHJpYnV0ZXMpCisgICAgICAgIHVwZGF0ZUFuaW1hdGVkU1ZHQXR0cmlidXRlKG5hbWUuaW1w
bCgpKTsKKyNlbmRpZgorCiAgICAgaWYgKG5hbWVkQXR0ck1hcCkKICAgICAgICAgaWYgKEF0dHJp
YnV0ZSogYSA9IG5hbWVkQXR0ck1hcC0+Z2V0QXR0cmlidXRlSXRlbShsb2NhbE5hbWUpKQogICAg
ICAgICAgICAgcmV0dXJuIGEtPnZhbHVlKCk7CkBAIC01NzcsNiArNTk3LDEyIEBAIGJvb2wgRWxl
bWVudDo6aGFzQXR0cmlidXRlcygpIGNvbnN0CiB7CiAgICAgaWYgKCFtX2lzU3R5bGVBdHRyaWJ1
dGVWYWxpZCkKICAgICAgICAgdXBkYXRlU3R5bGVBdHRyaWJ1dGUoKTsKKworI2lmIEVOQUJMRShT
VkcpCisgICAgaWYgKCFtX3N5bmNocm9uaXplZFNWR0F0dHJpYnV0ZXMpCisgICAgICAgIHVwZGF0
ZUFuaW1hdGVkU1ZHQXR0cmlidXRlKDApOworI2VuZGlmCisKICAgICByZXR1cm4gbmFtZWRBdHRy
TWFwICYmIG5hbWVkQXR0ck1hcC0+bGVuZ3RoKCkgPiAwOwogfQogCkluZGV4OiBXZWJDb3JlL2Rv
bS9FbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9kb20vRWxlbWVudC5oCShyZXZpc2lv
biAzNDg4NykKKysrIFdlYkNvcmUvZG9tL0VsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMjA1
LDcgKzIwNSwxMSBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBjcmVhdGVBdHRyaWJ1dGVN
YXAoKSBjb25zdDsKIAogICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVTdHlsZUF0dHJpYnV0ZSgpIGNv
bnN0IHt9Ci0gICAgCisKKyNpZiBFTkFCTEUoU1ZHKQorICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVB
bmltYXRlZFNWR0F0dHJpYnV0ZShTdHJpbmdJbXBsKiBuYW1lKSBjb25zdCB7fQorI2VuZGlmCisK
ICAgICB2b2lkIHVwZGF0ZUZvY3VzQXBwZWFyYW5jZVNvb25BZnRlckF0dGFjaCgpOwogICAgIHZv
aWQgY2FuY2VsRm9jdXNBcHBlYXJhbmNlVXBkYXRlKCk7CiAKQEAgLTIyMSw3ICsyMjUsMTMgQEAg
cHJvdGVjdGVkOgogICAgIC8vIEVsZW1lbnQgYml0cy4KICAgICBtdXRhYmxlIGJvb2wgbV9pc1N0
eWxlQXR0cmlidXRlVmFsaWQgOiAxOwogICAgIG11dGFibGUgYm9vbCBtX3N5bmNocm9uaXppbmdT
dHlsZUF0dHJpYnV0ZSA6IDE7Ci0gICAgCisKKyNpZiBFTkFCTEUoU1ZHKQorICAgIC8vIFRoZXNl
IGJpdCBpcyBhcmUgdXNlZCBieSBTVkdFbGVtZW50IHN1YmNsYXNzZXMsIGFuZCBpdCBsaXZlcyBo
ZXJlIGZvciB0aGUgc2FtZSByZWFzb24gYXMgYWJvdmUuCisgICAgbXV0YWJsZSBib29sIG1fc3lu
Y2hyb25pemVkU1ZHQXR0cmlidXRlcyA6IDE7CisgICAgbXV0YWJsZSBib29sIG1fc3luY2hyb25p
emluZ1NWR0F0dHJpYnV0ZSA6IDE7CisjZW5kaWYKKwogcHJpdmF0ZToKICAgICBib29sIG1fcGFy
c2luZ0NoaWxkcmVuRmluaXNoZWQgOiAxOwogfTsKSW5kZXg6IFdlYkNvcmUvZG9tL05hbWVkQXR0
ck1hcC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL05hbWVkQXR0ck1hcC5oCShyZXZpc2lv
biAzNDg4NykKKysrIFdlYkNvcmUvZG9tL05hbWVkQXR0ck1hcC5oCSh3b3JraW5nIGNvcHkpCkBA
IC04OSwxMSArODksMTEgQEAgcHVibGljOgogICAgIAogICAgIGJvb2wgbWFwc0VxdWl2YWxlbnQo
Y29uc3QgTmFtZWRBdHRyTWFwKiBvdGhlck1hcCkgY29uc3Q7CiAKLXByb3RlY3RlZDoKICAgICAv
LyBUaGVzZSBmdW5jdGlvbnMgYXJlIGludGVybmFsLCBhbmQgZG8gbm8gZXJyb3IgY2hlY2tpbmcu
CiAgICAgdm9pZCBhZGRBdHRyaWJ1dGUoUGFzc1JlZlB0cjxBdHRyaWJ1dGU+KTsKICAgICB2b2lk
IHJlbW92ZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lKTsKIAorcHJvdGVjdGVk
OgogICAgIHZpcnR1YWwgdm9pZCBjbGVhckF0dHJpYnV0ZXMoKTsKIAogICAgIHZvaWQgZGV0YWNo
RnJvbUVsZW1lbnQoKTsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0FFbGVtZW50LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9zdmcvU1ZHQUVsZW1lbnQuaAkocmV2aXNpb24gMzQ4ODcpCisrKyBXZWJD
b3JlL3N2Zy9TVkdBRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC02MSwxMSArNjEsMTEgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIGJvb2wgY2hpbGRTaG91bGRDcmVh
dGVSZW5kZXJlcihOb2RlKikgY29uc3Q7CiAKICAgICBwcm90ZWN0ZWQ6Ci0gICAgICAgIHZpcnR1
YWwgY29uc3QgU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSBjb25zdCB7IHJldHVybiB0aGlz
OyB9CisgICAgICAgIHZpcnR1YWwgU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSB7IHJldHVy
biB0aGlzOyB9CiAKICAgICBwcml2YXRlOgotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9GT1JX
QVJEX0RFQ0xBUkFUSU9OUyhTVkdVUklSZWZlcmVuY2UsIFN0cmluZywgSHJlZiwgaHJlZikKLSAg
ICAgICAgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHRXh0ZXJuYWxS
ZXNvdXJjZXNSZXF1aXJlZCwgYm9vbCwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJu
YWxSZXNvdXJjZXNSZXF1aXJlZCkKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9E
RUNMQVJBVElPTlMoU1ZHQUVsZW1lbnQsIFNWR1VSSVJlZmVyZW5jZSwgU3RyaW5nLCBIcmVmLCBo
cmVmKQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdB
RWxlbWVudCwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgYm9vbCwgRXh0ZXJuYWxSZXNv
dXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkKIAogICAgICAgICBBTklN
QVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHQUVsZW1lbnQsIFN0cmluZywgU3RyaW5nLCBU
YXJnZXQsIHRhcmdldCkKICAgICB9OwpJbmRleDogV2ViQ29yZS9zdmcvU1ZHQWx0R2x5cGhFbGVt
ZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHQWx0R2x5cGhFbGVtZW50LmgJKHJl
dmlzaW9uIDM0ODg3KQorKysgV2ViQ29yZS9zdmcvU1ZHQWx0R2x5cGhFbGVtZW50LmgJKHdvcmtp
bmcgY29weSkKQEAgLTQ4LDcgKzQ4LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUKICAgICAgICAgU1ZH
R2x5cGhFbGVtZW50KiBnbHlwaEVsZW1lbnQoKSBjb25zdDsKIAogICAgIHByb3RlY3RlZDoKLSAg
ICAgICAgdmlydHVhbCBjb25zdCBTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCgpIGNvbnN0IHsg
cmV0dXJuIHRoaXM7IH0KKyAgICAgICAgdmlydHVhbCBTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVu
dCgpIHsgcmV0dXJuIHRoaXM7IH0KICAgICB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCklu
ZGV4OiBXZWJDb3JlL3N2Zy9TVkdBbmltYXRlRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvc3ZnL1NWR0FuaW1hdGVFbGVtZW50LmgJKHJldmlzaW9uIDM0ODg3KQorKysgV2ViQ29yZS9z
dmcvU1ZHQW5pbWF0ZUVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMzcsNyArMzcsNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgflNWR0FuaW1hdGVFbGVtZW50KCk7
CiAgICAgCiAgICAgcHJvdGVjdGVkOgotICAgICAgICB2aXJ0dWFsIGNvbnN0IFNWR0VsZW1lbnQq
IGNvbnRleHRFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gdGhpczsgfQorICAgICAgICB2aXJ0dWFs
IFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgeyByZXR1cm4gdGhpczsgfQogICAgICAgICAK
ICAgICAgICAgdmlydHVhbCB2b2lkIHJlc2V0VG9CYXNlVmFsdWUoY29uc3QgU3RyaW5nJik7CiAg
ICAgICAgIHZpcnR1YWwgYm9vbCBjYWxjdWxhdGVGcm9tQW5kVG9WYWx1ZXMoY29uc3QgU3RyaW5n
JiBmcm9tU3RyaW5nLCBjb25zdCBTdHJpbmcmIHRvU3RyaW5nKTsKSW5kZXg6IFdlYkNvcmUvc3Zn
L1NWR0FuaW1hdGVNb3Rpb25FbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZH
QW5pbWF0ZU1vdGlvbkVsZW1lbnQuaAkocmV2aXNpb24gMzQ4ODcpCisrKyBXZWJDb3JlL3N2Zy9T
VkdBbmltYXRlTW90aW9uRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC00MCw3ICs0MCw3IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVhbCB2b2lkIHBhcnNlTWFwcGVkQXR0
cmlidXRlKE1hcHBlZEF0dHJpYnV0ZSopOwogICAgICAgICAKICAgICBwcml2YXRlOgotICAgICAg
ICB2aXJ0dWFsIGNvbnN0IFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgY29uc3QgeyByZXR1
cm4gdGhpczsgfQorICAgICAgICB2aXJ0dWFsIFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkg
eyByZXR1cm4gdGhpczsgfQogICAgICAgICAKICAgICAgICAgdmlydHVhbCB2b2lkIHJlc2V0VG9C
YXNlVmFsdWUoY29uc3QgU3RyaW5nJik7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBjYWxjdWxhdGVG
cm9tQW5kVG9WYWx1ZXMoY29uc3QgU3RyaW5nJiBmcm9tU3RyaW5nLCBjb25zdCBTdHJpbmcmIHRv
U3RyaW5nKTsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0FuaW1hdGVUcmFuc2Zvcm1FbGVtZW50LmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZVRyYW5zZm9ybUVsZW1lbnQuaAko
cmV2aXNpb24gMzQ4ODcpCisrKyBXZWJDb3JlL3N2Zy9TVkdBbmltYXRlVHJhbnNmb3JtRWxlbWVu
dC5oCSh3b3JraW5nIGNvcHkpCkBAIC00NCw3ICs0NCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICAgICAgdmlydHVhbCB2b2lkIHBhcnNlTWFwcGVkQXR0cmlidXRlKE1hcHBlZEF0dHJpYnV0
ZSopOwogCiAgICAgcHJvdGVjdGVkOgotICAgICAgICB2aXJ0dWFsIGNvbnN0IFNWR0VsZW1lbnQq
IGNvbnRleHRFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gdGhpczsgfQorICAgICAgICB2aXJ0dWFs
IFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgeyByZXR1cm4gdGhpczsgfQogICAgICAgICAK
ICAgICBwcml2YXRlOgogICAgICAgICB2aXJ0dWFsIHZvaWQgcmVzZXRUb0Jhc2VWYWx1ZShjb25z
dCBTdHJpbmcmKTsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkVGVtcGxhdGUuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdBbmltYXRlZFRlbXBsYXRlLmgJKHJldmlzaW9uIDM0
ODg3KQorKysgV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRUZW1wbGF0ZS5oCSh3b3JraW5nIGNvcHkp
CkBAIC0yMiwyMiArMjIsMjEgQEAKICNkZWZpbmUgU1ZHQW5pbWF0ZWRUZW1wbGF0ZV9oCiAKICNp
ZiBFTkFCTEUoU1ZHKQotI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSAiQXRv
bWljU3RyaW5nLmgiCisjaW5jbHVkZSAiRmxvYXRSZWN0LmgiCiAjaW5jbHVkZSAiQXR0cmlidXRl
LmgiCisjaW5jbHVkZSAiU1ZHQW5nbGUuaCIKKyNpbmNsdWRlICJTVkdMZW5ndGguaCIKKyNpbmNs
dWRlICJTVkdMZW5ndGhMaXN0LmgiCisjaW5jbHVkZSAiU1ZHTnVtYmVyTGlzdC5oIgorI2luY2x1
ZGUgIlNWR1RyYW5zZm9ybUxpc3QuaCIKKyNpbmNsdWRlICJTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlv
LmgiCisKKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLSAgICBjbGFzcyBGbG9hdFJlY3Q7Ci0gICAgY2xhc3MgU1ZHQW5nbGU7CiAgICAgY2xhc3Mg
U1ZHRWxlbWVudDsKLSAgICBjbGFzcyBTVkdMZW5ndGg7Ci0gICAgY2xhc3MgU1ZHTGVuZ3RoTGlz
dDsKLSAgICBjbGFzcyBTVkdOdW1iZXJMaXN0OwotICAgIGNsYXNzIFNWR1ByZXNlcnZlQXNwZWN0
UmF0aW87Ci0gICAgY2xhc3MgU1ZHVHJhbnNmb3JtTGlzdDsKLSAgICBjbGFzcyBTdHJpbmc7Ci0g
ICAgY2xhc3MgUXVhbGlmaWVkTmFtZTsKIAogICAgIHN0cnVjdCBTVkdBbmltYXRlZFR5cGVXcmFw
cGVyS2V5IHsgICAgICAgICAgICAKICAgICAgICAgLy8gRW1wdHkgdmFsdWUKQEAgLTExMSw2ICsx
MTAsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgQmFyZVR5cGUgYW5p
bVZhbCgpIGNvbnN0ID0gMDsKICAgICAgICAgdmlydHVhbCB2b2lkIHNldEFuaW1WYWwoQmFyZVR5
cGUgbmV3QW5pbVZhbCkgPSAwOwogCisgICAgICAgIHZpcnR1YWwgQXRvbWljU3RyaW5nIHRvU3Ry
aW5nKCkgY29uc3QgeyBBU1NFUlRfTk9UX1JFQUNIRUQoKTsgcmV0dXJuIEF0b21pY1N0cmluZygp
OyB9CisKICAgICAgICAgdHlwZWRlZiBIYXNoTWFwPFNWR0FuaW1hdGVkVHlwZVdyYXBwZXJLZXks
IFNWR0FuaW1hdGVkVGVtcGxhdGU8QmFyZVR5cGU+KiwgU1ZHQW5pbWF0ZWRUeXBlV3JhcHBlcktl
eUhhc2gsIFNWR0FuaW1hdGVkVHlwZVdyYXBwZXJLZXlIYXNoVHJhaXRzID4gRWxlbWVudFRvV3Jh
cHBlck1hcDsKICAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBFbGVtZW50VG9XcmFwcGVyTWFwOjpj
b25zdF9pdGVyYXRvciBFbGVtZW50VG9XcmFwcGVyTWFwSXRlcmF0b3I7CiAKQEAgLTExOSw3ICsx
MjAsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgICAgICBzdGF0aWMgRWxlbWVudFRv
V3JhcHBlck1hcCogc193cmFwcGVyQ2FjaGUgPSBuZXcgRWxlbWVudFRvV3JhcHBlck1hcDsgICAg
ICAgICAgICAgICAgCiAgICAgICAgICAgICByZXR1cm4gc193cmFwcGVyQ2FjaGU7CiAgICAgICAg
IH0KLSAgICAgICAgCisKICAgICAgICAgc3RhdGljIHZvaWQgZm9yZ2V0V3JhcHBlcihTVkdBbmlt
YXRlZFRlbXBsYXRlPEJhcmVUeXBlPiogd3JhcHBlcikKICAgICAgICAgewogICAgICAgICAgICAg
RWxlbWVudFRvV3JhcHBlck1hcCogY2FjaGUgPSB3cmFwcGVyQ2FjaGUoKTsKQEAgLTEzMyw3ICsx
MzQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KIAot
ICAgICAgIGNvbnN0IFF1YWxpZmllZE5hbWUmIGFzc29jaWF0ZWRBdHRyaWJ1dGVOYW1lKCkgY29u
c3QgeyByZXR1cm4gbV9hc3NvY2lhdGVkQXR0cmlidXRlTmFtZTsgfQorICAgICAgICBjb25zdCBR
dWFsaWZpZWROYW1lJiBhc3NvY2lhdGVkQXR0cmlidXRlTmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1f
YXNzb2NpYXRlZEF0dHJpYnV0ZU5hbWU7IH0KIAogICAgIHByb3RlY3RlZDoKICAgICAgICAgU1ZH
QW5pbWF0ZWRUZW1wbGF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyaWJ1dGVOYW1lKQpAQCAt
MTQyLDM0ICsxNDMsMTkzIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgfQogCiAgICAg
cHJpdmF0ZToKLSAgICAgICBjb25zdCBRdWFsaWZpZWROYW1lJiBtX2Fzc29jaWF0ZWRBdHRyaWJ1
dGVOYW1lOworICAgICAgICBjb25zdCBRdWFsaWZpZWROYW1lJiBtX2Fzc29jaWF0ZWRBdHRyaWJ1
dGVOYW1lOwogICAgIH07CiAKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHlwZSwgY2xhc3MgU1ZHRWxl
bWVudFN1YkNsYXNzPgotICAgIFBhc3NSZWZQdHI8VHlwZT4gbG9va3VwT3JDcmVhdGVXcmFwcGVy
KGNvbnN0IFNWR0VsZW1lbnRTdWJDbGFzcyogZWxlbWVudCwgY29uc3QgUXVhbGlmaWVkTmFtZSYg
ZG9tQXR0ck5hbWUsIGNvbnN0IEF0b21pY1N0cmluZyYgYXR0cklkZW50aWZpZXIpCisgICAgUGFz
c1JlZlB0cjxUeXBlPiBsb29rdXBPckNyZWF0ZVdyYXBwZXIoU1ZHRWxlbWVudFN1YkNsYXNzKiBl
bGVtZW50LCBjb25zdCBRdWFsaWZpZWROYW1lJiBkb21BdHRyTmFtZSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcmIGF0dHJJZGVu
dGlmaWVyLCB2b2lkIChTVkdFbGVtZW50Ojoqc3luY2hyb25pemVyKSgpKQogICAgIHsKICAgICAg
ICAgU1ZHQW5pbWF0ZWRUeXBlV3JhcHBlcktleSBrZXkoZWxlbWVudCwgYXR0cklkZW50aWZpZXIp
OwogICAgICAgICBSZWZQdHI8VHlwZT4gd3JhcHBlciA9IHN0YXRpY19jYXN0PFR5cGUqPihUeXBl
Ojp3cmFwcGVyQ2FjaGUoKS0+Z2V0KGtleSkpOworCiAgICAgICAgIGlmICghd3JhcHBlcikgewog
ICAgICAgICAgICAgd3JhcHBlciA9IFR5cGU6OmNyZWF0ZShlbGVtZW50LCBkb21BdHRyTmFtZSk7
CisgICAgICAgICAgICBlbGVtZW50LT5hZGRTVkdQcm9wZXJ0eVN5bmNocm9uaXplcihkb21BdHRy
TmFtZSwgc3luY2hyb25pemVyKTsKICAgICAgICAgICAgIFR5cGU6OndyYXBwZXJDYWNoZSgpLT5z
ZXQoa2V5LCB3cmFwcGVyLmdldCgpKTsKICAgICAgICAgfQorCiAgICAgICAgIHJldHVybiB3cmFw
cGVyLnJlbGVhc2UoKTsKICAgICB9CiAKLSAgICAvLyBDb21tb24gdHlwZSBkZWZpbml0aW9ucywg
dG8gZWFzZSBJREwgZ2VuZXJhdGlvbi4KLSAgICB0eXBlZGVmIFNWR0FuaW1hdGVkVGVtcGxhdGU8
U1ZHQW5nbGUqPiBTVkdBbmltYXRlZEFuZ2xlOwotICAgIHR5cGVkZWYgU1ZHQW5pbWF0ZWRUZW1w
bGF0ZTxib29sPiBTVkdBbmltYXRlZEJvb2xlYW47Ci0gICAgdHlwZWRlZiBTVkdBbmltYXRlZFRl
bXBsYXRlPGludD4gU1ZHQW5pbWF0ZWRFbnVtZXJhdGlvbjsKLSAgICB0eXBlZGVmIFNWR0FuaW1h
dGVkVGVtcGxhdGU8bG9uZz4gU1ZHQW5pbWF0ZWRJbnRlZ2VyOwotICAgIHR5cGVkZWYgU1ZHQW5p
bWF0ZWRUZW1wbGF0ZTxTVkdMZW5ndGg+IFNWR0FuaW1hdGVkTGVuZ3RoOwotICAgIHR5cGVkZWYg
U1ZHQW5pbWF0ZWRUZW1wbGF0ZTxTVkdMZW5ndGhMaXN0Kj4gU1ZHQW5pbWF0ZWRMZW5ndGhMaXN0
OwotICAgIHR5cGVkZWYgU1ZHQW5pbWF0ZWRUZW1wbGF0ZTxmbG9hdD4gU1ZHQW5pbWF0ZWROdW1i
ZXI7Ci0gICAgdHlwZWRlZiBTVkdBbmltYXRlZFRlbXBsYXRlPFNWR051bWJlckxpc3QqPiBTVkdB
bmltYXRlZE51bWJlckxpc3Q7IAotICAgIHR5cGVkZWYgU1ZHQW5pbWF0ZWRUZW1wbGF0ZTxTVkdQ
cmVzZXJ2ZUFzcGVjdFJhdGlvKj4gU1ZHQW5pbWF0ZWRQcmVzZXJ2ZUFzcGVjdFJhdGlvOwotICAg
IHR5cGVkZWYgU1ZHQW5pbWF0ZWRUZW1wbGF0ZTxGbG9hdFJlY3Q+IFNWR0FuaW1hdGVkUmVjdDsK
LSAgICB0eXBlZGVmIFNWR0FuaW1hdGVkVGVtcGxhdGU8U3RyaW5nPiBTVkdBbmltYXRlZFN0cmlu
ZzsKLSAgICB0eXBlZGVmIFNWR0FuaW1hdGVkVGVtcGxhdGU8U1ZHVHJhbnNmb3JtTGlzdCo+IFNW
R0FuaW1hdGVkVHJhbnNmb3JtTGlzdDsKKyAgICAvLyBEZWZpbmUgU1ZHIDEuMSBzdGFuZGFyZCBh
bmltYXRlZCBwcm9wZXJ0aWVzICh0aGVzZSBTVkdBbmltYXRlZCogY2xhc3NlcyBhcmVhIHNsbyBh
YmxlIHRvIGNvbnZlcnQgdGhlbXNlbHZlcyB0byBzdHJpbmdzKQorICAgIC8vIE5vdGU6IElmIHdl
J2QganVzdCBzcGVjaWFsaXplIHRoZSBTVkdBbmltYXRlZFRlbXBsYXRlPD4gd2UnZCBoYXZlIHRv
IGR1cGxpY2F0ZSBhIGxvdCBvZiBjb2RlIGFib3ZlLiBIZW5jZSBjaG9vc2luZworICAgIC8vIHRo
ZSBzb2x1dGlvbiwgdG8gaW5oZXJpdCBmcm9tIHRoZSBTVkdBbmltYXRlZFRlbXBsYXRlPD4gY2xh
c3NlcywgYW5kIGltcGxlbWVudGluZyB0aGUgdmlydHVhbCB0b1N0cmluZygpIGZ1bmN0aW9uLgor
ICAgIGNsYXNzIFNWR0FuaW1hdGVkQW5nbGUgOiBwdWJsaWMgU1ZHQW5pbWF0ZWRUZW1wbGF0ZTxT
VkdBbmdsZSo+IHsKKyAgICBwdWJsaWM6CisgICAgICAgIFNWR0FuaW1hdGVkQW5nbGUoY29uc3Qg
UXVhbGlmaWVkTmFtZSYgYXR0cmlidXRlTmFtZSkgOiBTVkdBbmltYXRlZFRlbXBsYXRlPFNWR0Fu
Z2xlKj4oYXR0cmlidXRlTmFtZSkgeyB9CisKKyAgICAgICAgdmlydHVhbCBBdG9taWNTdHJpbmcg
dG9TdHJpbmcoKSBjb25zdAorICAgICAgICB7CisgICAgICAgICAgICBpZiAoU1ZHQW5nbGUqIGFu
Z2xlID0gYmFzZVZhbCgpKQorICAgICAgICAgICAgICAgIHJldHVybiBhbmdsZS0+dmFsdWVBc1N0
cmluZygpOworCisgICAgICAgICAgICByZXR1cm4gbnVsbEF0b207CisgICAgICAgIH0KKyAgICB9
OworCisgICAgY2xhc3MgU1ZHQW5pbWF0ZWRCb29sZWFuIDogcHVibGljIFNWR0FuaW1hdGVkVGVt
cGxhdGU8Ym9vbD4geworICAgIHB1YmxpYzoKKyAgICAgICAgU1ZHQW5pbWF0ZWRCb29sZWFuKGNv
bnN0IFF1YWxpZmllZE5hbWUmIGF0dHJpYnV0ZU5hbWUpIDogU1ZHQW5pbWF0ZWRUZW1wbGF0ZTxi
b29sPihhdHRyaWJ1dGVOYW1lKSB7IH0KKworICAgICAgICB2aXJ0dWFsIEF0b21pY1N0cmluZyB0
b1N0cmluZygpIGNvbnN0CisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiBiYXNlVmFsKCkg
PyAidHJ1ZSIgOiAiZmFsc2UiOworICAgICAgICB9CisgICAgfTsKKworICAgIGNsYXNzIFNWR0Fu
aW1hdGVkRW51bWVyYXRpb24gOiBwdWJsaWMgU1ZHQW5pbWF0ZWRUZW1wbGF0ZTxpbnQ+IHsKKyAg
ICBwdWJsaWM6CisgICAgICAgIFNWR0FuaW1hdGVkRW51bWVyYXRpb24oY29uc3QgUXVhbGlmaWVk
TmFtZSYgYXR0cmlidXRlTmFtZSkgOiBTVkdBbmltYXRlZFRlbXBsYXRlPGludD4oYXR0cmlidXRl
TmFtZSkgeyB9CisKKyAgICAgICAgdmlydHVhbCBBdG9taWNTdHJpbmcgdG9TdHJpbmcoKSBjb25z
dAorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gU3RyaW5nOjpudW1iZXIoYmFzZVZhbCgp
KTsKKyAgICAgICAgfQorICAgIH07CisKKyAgICBjbGFzcyBTVkdBbmltYXRlZEludGVnZXIgOiBw
dWJsaWMgU1ZHQW5pbWF0ZWRUZW1wbGF0ZTxsb25nPiB7CisgICAgcHVibGljOgorICAgICAgICBT
VkdBbmltYXRlZEludGVnZXIoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0cmlidXRlTmFtZSkgOiBT
VkdBbmltYXRlZFRlbXBsYXRlPGxvbmc+KGF0dHJpYnV0ZU5hbWUpIHsgfQorCisgICAgICAgIHZp
cnR1YWwgQXRvbWljU3RyaW5nIHRvU3RyaW5nKCkgY29uc3QKKyAgICAgICAgeworICAgICAgICAg
ICAgcmV0dXJuIFN0cmluZzo6bnVtYmVyKGJhc2VWYWwoKSk7CisgICAgICAgIH0KKyAgICB9Owor
CisgICAgY2xhc3MgU1ZHQW5pbWF0ZWRMZW5ndGggOiBwdWJsaWMgU1ZHQW5pbWF0ZWRUZW1wbGF0
ZTxTVkdMZW5ndGg+IHsKKyAgICBwdWJsaWM6CisgICAgICAgIFNWR0FuaW1hdGVkTGVuZ3RoKGNv
bnN0IFF1YWxpZmllZE5hbWUmIGF0dHJpYnV0ZU5hbWUpIDogU1ZHQW5pbWF0ZWRUZW1wbGF0ZTxT
VkdMZW5ndGg+KGF0dHJpYnV0ZU5hbWUpIHsgfQorCisgICAgICAgIHZpcnR1YWwgQXRvbWljU3Ry
aW5nIHRvU3RyaW5nKCkgY29uc3QKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIGJhc2VW
YWwoKS52YWx1ZUFzU3RyaW5nKCk7CisgICAgICAgIH0KKyAgICB9OworCisgICAgY2xhc3MgU1ZH
QW5pbWF0ZWRMZW5ndGhMaXN0IDogcHVibGljIFNWR0FuaW1hdGVkVGVtcGxhdGU8U1ZHTGVuZ3Ro
TGlzdCo+IHsKKyAgICBwdWJsaWM6CisgICAgICAgIFNWR0FuaW1hdGVkTGVuZ3RoTGlzdChjb25z
dCBRdWFsaWZpZWROYW1lJiBhdHRyaWJ1dGVOYW1lKSA6IFNWR0FuaW1hdGVkVGVtcGxhdGU8U1ZH
TGVuZ3RoTGlzdCo+KGF0dHJpYnV0ZU5hbWUpIHsgfQorCisgICAgICAgIHZpcnR1YWwgQXRvbWlj
U3RyaW5nIHRvU3RyaW5nKCkgY29uc3QKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKFNWR0xl
bmd0aExpc3QqIGxpc3QgPSBiYXNlVmFsKCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIGxpc3Qt
PnZhbHVlQXNTdHJpbmcoKTsKKworICAgICAgICAgICAgcmV0dXJuIG51bGxBdG9tOworICAgICAg
ICB9CisgICAgfTsKKworICAgIGNsYXNzIFNWR0FuaW1hdGVkTnVtYmVyIDogcHVibGljIFNWR0Fu
aW1hdGVkVGVtcGxhdGU8ZmxvYXQ+IHsKKyAgICBwdWJsaWM6CisgICAgICAgIFNWR0FuaW1hdGVk
TnVtYmVyKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJpYnV0ZU5hbWUpIDogU1ZHQW5pbWF0ZWRU
ZW1wbGF0ZTxmbG9hdD4oYXR0cmlidXRlTmFtZSkgeyB9CisKKyAgICAgICAgdmlydHVhbCBBdG9t
aWNTdHJpbmcgdG9TdHJpbmcoKSBjb25zdAorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4g
U3RyaW5nOjpudW1iZXIoYmFzZVZhbCgpKTsKKyAgICAgICAgfQorICAgIH07CisKKyAgICBjbGFz
cyBTVkdBbmltYXRlZE51bWJlckxpc3QgOiBwdWJsaWMgU1ZHQW5pbWF0ZWRUZW1wbGF0ZTxTVkdO
dW1iZXJMaXN0Kj4geworICAgIHB1YmxpYzoKKyAgICAgICAgU1ZHQW5pbWF0ZWROdW1iZXJMaXN0
KGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJpYnV0ZU5hbWUpIDogU1ZHQW5pbWF0ZWRUZW1wbGF0
ZTxTVkdOdW1iZXJMaXN0Kj4oYXR0cmlidXRlTmFtZSkgeyB9CisKKyAgICAgICAgdmlydHVhbCBB
dG9taWNTdHJpbmcgdG9TdHJpbmcoKSBjb25zdAorICAgICAgICB7CisgICAgICAgICAgICBpZiAo
U1ZHTnVtYmVyTGlzdCogbGlzdCA9IGJhc2VWYWwoKSkKKyAgICAgICAgICAgICAgICByZXR1cm4g
bGlzdC0+dmFsdWVBc1N0cmluZygpOworCisgICAgICAgICAgICByZXR1cm4gbnVsbEF0b207Cisg
ICAgICAgIH0KKyAgICB9OworCisgICAgY2xhc3MgU1ZHQW5pbWF0ZWRQcmVzZXJ2ZUFzcGVjdFJh
dGlvIDogcHVibGljIFNWR0FuaW1hdGVkVGVtcGxhdGU8U1ZHUHJlc2VydmVBc3BlY3RSYXRpbyo+
IHsKKyAgICBwdWJsaWM6CisgICAgICAgIFNWR0FuaW1hdGVkUHJlc2VydmVBc3BlY3RSYXRpbyhj
b25zdCBRdWFsaWZpZWROYW1lJiBhdHRyaWJ1dGVOYW1lKSA6IFNWR0FuaW1hdGVkVGVtcGxhdGU8
U1ZHUHJlc2VydmVBc3BlY3RSYXRpbyo+KGF0dHJpYnV0ZU5hbWUpIHsgfQorCisgICAgICAgIHZp
cnR1YWwgQXRvbWljU3RyaW5nIHRvU3RyaW5nKCkgY29uc3QKKyAgICAgICAgeworICAgICAgICAg
ICAgaWYgKFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8qIHJhdGlvID0gYmFzZVZhbCgpKQorICAgICAg
ICAgICAgICAgIHJldHVybiByYXRpby0+dmFsdWVBc1N0cmluZygpOworCisgICAgICAgICAgICBy
ZXR1cm4gbnVsbEF0b207CisgICAgICAgIH0KKyAgICB9OworCisgICAgY2xhc3MgU1ZHQW5pbWF0
ZWRSZWN0IDogcHVibGljIFNWR0FuaW1hdGVkVGVtcGxhdGU8RmxvYXRSZWN0PiB7CisgICAgcHVi
bGljOgorICAgICAgICBTVkdBbmltYXRlZFJlY3QoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0cmli
dXRlTmFtZSkgOiBTVkdBbmltYXRlZFRlbXBsYXRlPEZsb2F0UmVjdD4oYXR0cmlidXRlTmFtZSkg
eyB9CisKKyAgICAgICAgdmlydHVhbCBBdG9taWNTdHJpbmcgdG9TdHJpbmcoKSBjb25zdAorICAg
ICAgICB7CisgICAgICAgICAgICBGbG9hdFJlY3QgcmVjdCA9IGJhc2VWYWwoKTsKKyAgICAgICAg
ICAgIHJldHVybiBTdHJpbmc6OmZvcm1hdCgiJWYgJWYgJWYgJWYiLCByZWN0LngoKSwgcmVjdC55
KCksIHJlY3Qud2lkdGgoKSwgcmVjdC5oZWlnaHQoKSk7CisgICAgICAgIH0KKyAgICB9OworCisg
ICAgY2xhc3MgU1ZHQW5pbWF0ZWRTdHJpbmcgOiBwdWJsaWMgU1ZHQW5pbWF0ZWRUZW1wbGF0ZTxT
dHJpbmc+IHsKKyAgICBwdWJsaWM6CisgICAgICAgIFNWR0FuaW1hdGVkU3RyaW5nKGNvbnN0IFF1
YWxpZmllZE5hbWUmIGF0dHJpYnV0ZU5hbWUpIDogU1ZHQW5pbWF0ZWRUZW1wbGF0ZTxTdHJpbmc+
KGF0dHJpYnV0ZU5hbWUpIHsgfQorCisgICAgICAgIHZpcnR1YWwgQXRvbWljU3RyaW5nIHRvU3Ry
aW5nKCkgY29uc3QKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIGJhc2VWYWwoKTsKKyAg
ICAgICAgfQorICAgIH07CisKKyAgICBjbGFzcyBTVkdBbmltYXRlZFRyYW5zZm9ybUxpc3QgOiBw
dWJsaWMgU1ZHQW5pbWF0ZWRUZW1wbGF0ZTxTVkdUcmFuc2Zvcm1MaXN0Kj4geworICAgIHB1Ymxp
YzoKKyAgICAgICAgU1ZHQW5pbWF0ZWRUcmFuc2Zvcm1MaXN0KGNvbnN0IFF1YWxpZmllZE5hbWUm
IGF0dHJpYnV0ZU5hbWUpIDogU1ZHQW5pbWF0ZWRUZW1wbGF0ZTxTVkdUcmFuc2Zvcm1MaXN0Kj4o
YXR0cmlidXRlTmFtZSkgeyB9CisKKyAgICAgICAgdmlydHVhbCBBdG9taWNTdHJpbmcgdG9TdHJp
bmcoKSBjb25zdAorICAgICAgICB7CisgICAgICAgICAgICBpZiAoU1ZHVHJhbnNmb3JtTGlzdCog
bGlzdCA9IGJhc2VWYWwoKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gbGlzdC0+dmFsdWVBc1N0
cmluZygpOworCisgICAgICAgICAgICByZXR1cm4gbnVsbEF0b207CisgICAgICAgIH0KKyAgICB9
OworCisgICAgLy8gSGVscGVyIGZvciBBTklNQVRFRF9QUk9QRVJUWSogbWFjcm9zLCB3aG9zZSBo
ZWxwZXIgY2xhc3NlcyBTVkdBbmltYXRlZFRlbXBsYXRlIyNVcHBlclByb3BlcnR5Li4gY2FuJ3QK
KyAgICAvLyBpbmhlcml0IGZyb20gU1ZHQW5pbWF0ZWRUZW1wbGF0ZTx4eHg+IGFzIHRoZXkgcmVs
eSBvbiBhIHdvcmtpbmcgdG9TdHJpbmcoKSBpbXBsZW1lbnRhdGlvbi4gU28gaW5zdGVhZAorICAg
IC8vIGNyZWF0ZSBhIG5ldyBoZWxwZXIgdHlwZSBTVkdBbmltYXRlZFR5cGUsIHdoaWNoIGdldHMg
c3BlY2lhbGl6ZWQgZm9yIHRoZSBzdXBwb3J0IGRhdGF0eXBlcyBhbmQgaW4gdHVybiBpbmhlcml0
cworICAgIC8vIGZyb20gdGhlIFNWR0FuaW1hdGVkVEVtcGxhdGU8eHh4PiBtYWNyb3MuIExvb2tz
IGEgYml0IGNvbXBsaWNhdGVkLCBidXQgbWFrZXMgc2Vuc2UgaWYgeW91IGNoZWNrIHRoZSBtYWNy
b3MuCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4KKyAgICBjbGFzcyBTVkdBbmltYXRlZFR5cGUg
OiBwdWJsaWMgU1ZHQW5pbWF0ZWRUZW1wbGF0ZTxUPiB7CisgICAgcHVibGljOgorICAgICAgICBT
VkdBbmltYXRlZFR5cGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0cmlidXRlTmFtZSkgOiBTVkdB
bmltYXRlZFRlbXBsYXRlPFQ+KGF0dHJpYnV0ZU5hbWUpIHsgQVNTRVJUX05PVF9SRUFDSEVEKCk7
IH0KKyAgICB9OworCisjZGVmaW5lIEFERF9BTklNQVRFRF9UWVBFX0hFTFBFUihEYXRhVHlwZSwg
SW5oZXJpdEZyb21DbGFzcykgXAorICAgIHRlbXBsYXRlPD4gXAorICAgIGNsYXNzIFNWR0FuaW1h
dGVkVHlwZTxEYXRhVHlwZT4gOiBwdWJsaWMgSW5oZXJpdEZyb21DbGFzcyB7IFwKKyAgICBwdWJs
aWM6IFwKKyAgICAgICAgU1ZHQW5pbWF0ZWRUeXBlKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJp
YnV0ZU5hbWUpIDogSW5oZXJpdEZyb21DbGFzcyhhdHRyaWJ1dGVOYW1lKSB7IH0gXAorICAgIH07
CisKKyAgICBBRERfQU5JTUFURURfVFlQRV9IRUxQRVIoU1ZHQW5nbGUqLCBTVkdBbmltYXRlZEFu
Z2xlKQorICAgIEFERF9BTklNQVRFRF9UWVBFX0hFTFBFUihib29sLCBTVkdBbmltYXRlZEJvb2xl
YW4pCisgICAgQUREX0FOSU1BVEVEX1RZUEVfSEVMUEVSKGludCwgU1ZHQW5pbWF0ZWRFbnVtZXJh
dGlvbikKKyAgICBBRERfQU5JTUFURURfVFlQRV9IRUxQRVIobG9uZywgU1ZHQW5pbWF0ZWRJbnRl
Z2VyKQorICAgIEFERF9BTklNQVRFRF9UWVBFX0hFTFBFUihTVkdMZW5ndGgsIFNWR0FuaW1hdGVk
TGVuZ3RoKQorICAgIEFERF9BTklNQVRFRF9UWVBFX0hFTFBFUihTVkdMZW5ndGhMaXN0KiwgU1ZH
QW5pbWF0ZWRMZW5ndGhMaXN0KQorICAgIEFERF9BTklNQVRFRF9UWVBFX0hFTFBFUihmbG9hdCwg
U1ZHQW5pbWF0ZWROdW1iZXIpCisgICAgQUREX0FOSU1BVEVEX1RZUEVfSEVMUEVSKFNWR051bWJl
ckxpc3QqLCBTVkdBbmltYXRlZE51bWJlckxpc3QpCisgICAgQUREX0FOSU1BVEVEX1RZUEVfSEVM
UEVSKFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8qLCBTVkdBbmltYXRlZFByZXNlcnZlQXNwZWN0UmF0
aW8pCisgICAgQUREX0FOSU1BVEVEX1RZUEVfSEVMUEVSKEZsb2F0UmVjdCwgU1ZHQW5pbWF0ZWRS
ZWN0KQorICAgIEFERF9BTklNQVRFRF9UWVBFX0hFTFBFUihTdHJpbmcsIFNWR0FuaW1hdGVkU3Ry
aW5nKQorICAgIEFERF9BTklNQVRFRF9UWVBFX0hFTFBFUihTVkdUcmFuc2Zvcm1MaXN0KiwgU1ZH
QW5pbWF0ZWRUcmFuc2Zvcm1MaXN0KQogfQogCiAjZW5kaWYgLy8gRU5BQkxFKFNWRykKSW5kZXg6
IFdlYkNvcmUvc3ZnL1NWR0FuaW1hdGlvbkVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L3N2Zy9TVkdBbmltYXRpb25FbGVtZW50LmgJKHJldmlzaW9uIDM0ODg3KQorKysgV2ViQ29yZS9z
dmcvU1ZHQW5pbWF0aW9uRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC05Myw4ICs5Myw4IEBA
IHByb3RlY3RlZDoKICAgICAgICAgdmlydHVhbCB2b2lkIHN0YXJ0ZWRBY3RpdmVJbnRlcnZhbCgp
OwogICAgICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlQW5pbWF0aW9uKGZsb2F0IHBlcmNlbnQsIHVu
c2lnbmVkIHJlcGVhdCwgU1ZHU01JTEVsZW1lbnQqIHJlc3VsdEVsZW1lbnQpOwogICAgICAgICB2
aXJ0dWFsIHZvaWQgZW5kZWRBY3RpdmVJbnRlcnZhbCgpOwotICAgICAgICAKLSAgICAgICAgQU5J
TUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHRXh0ZXJuYWxSZXNvdXJjZXNS
ZXF1aXJlZCwgYm9vbCwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJj
ZXNSZXF1aXJlZCkKKyAgICAgICAKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9E
RUNMQVJBVElPTlMoU1ZHQW5pbWF0aW9uRWxlbWVudCwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1
aXJlZCwgYm9vbCwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJjZXNS
ZXF1aXJlZCkKIHByaXZhdGU6CiAgICAgICAgIHZpcnR1YWwgYm9vbCBjYWxjdWxhdGVGcm9tQW5k
VG9WYWx1ZXMoY29uc3QgU3RyaW5nJiBmcm9tU3RyaW5nLCBjb25zdCBTdHJpbmcmIHRvU3RyaW5n
KSA9IDA7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBjYWxjdWxhdGVGcm9tQW5kQnlWYWx1ZXMoY29u
c3QgU3RyaW5nJiBmcm9tU3RyaW5nLCBjb25zdCBTdHJpbmcmIGJ5U3RyaW5nKSA9IDA7CkluZGV4
OiBXZWJDb3JlL3N2Zy9TVkdDaXJjbGVFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9z
dmcvU1ZHQ2lyY2xlRWxlbWVudC5oCShyZXZpc2lvbiAzNDg4NykKKysrIFdlYkNvcmUvc3ZnL1NW
R0NpcmNsZUVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNDcsMTEgKzQ3LDExIEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVhbCBQYXRoIHRvUGF0aERhdGEoKSBjb25zdDsK
IAogICAgIHByb3RlY3RlZDoKLSAgICAgICAgdmlydHVhbCBjb25zdCBTVkdFbGVtZW50KiBjb250
ZXh0RWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIHRoaXM7IH0KKyAgICAgICAgdmlydHVhbCBTVkdF
bGVtZW50KiBjb250ZXh0RWxlbWVudCgpIHsgcmV0dXJuIHRoaXM7IH0KICAgICAgICAgdmlydHVh
bCBib29sIGhhc1JlbGF0aXZlVmFsdWVzKCkgY29uc3Q7CiAKICAgICBwcml2YXRlOgotICAgICAg
ICBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdFeHRlcm5hbFJlc291
cmNlc1JlcXVpcmVkLCBib29sLCBFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJl
c291cmNlc1JlcXVpcmVkKQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xB
UkFUSU9OUyhTVkdDaXJjbGVFbGVtZW50LCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBi
b29sLCBFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVk
KQogCiAgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdDaXJjbGVFbGVt
ZW50LCBTVkdMZW5ndGgsIFNWR0xlbmd0aCwgQ3gsIGN4KQogICAgICAgICBBTklNQVRFRF9QUk9Q
RVJUWV9ERUNMQVJBVElPTlMoU1ZHQ2lyY2xlRWxlbWVudCwgU1ZHTGVuZ3RoLCBTVkdMZW5ndGgs
IEN5LCBjeSkKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0NsaXBQYXRoRWxlbWVudC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0NsaXBQYXRoRWxlbWVudC5oCShyZXZpc2lvbiAzNDg4NykK
KysrIFdlYkNvcmUvc3ZnL1NWR0NsaXBQYXRoRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC01
MSwxMSArNTEsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIFNWR1Jl
c291cmNlKiBjYW52YXNSZXNvdXJjZSgpOwogCiAgICAgcHJvdGVjdGVkOgotICAgICAgICB2aXJ0
dWFsIGNvbnN0IFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gdGhp
czsgfQorICAgICAgICB2aXJ0dWFsIFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgeyByZXR1
cm4gdGhpczsgfQogCiAgICAgcHJpdmF0ZToKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfRk9S
V0FSRF9ERUNMQVJBVElPTlMoU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgYm9vbCwgRXh0
ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkKLQorICAg
ICAgICBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdDbGlwUGF0aEVs
ZW1lbnQsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGJvb2wsIEV4dGVybmFsUmVzb3Vy
Y2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpCiAgICAgICAgIEFOSU1BVEVE
X1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdDbGlwUGF0aEVsZW1lbnQsIGludCwgaW50LCBDbGlw
UGF0aFVuaXRzLCBjbGlwUGF0aFVuaXRzKQogCiAgICAgICAgIFJlZlB0cjxTVkdSZXNvdXJjZUNs
aXBwZXI+IG1fY2xpcHBlcjsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0NvbXBvbmVudFRyYW5zZmVy
RnVuY3Rpb25FbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdDb21wb25l
bnRUcmFuc2ZlckZ1bmN0aW9uRWxlbWVudC5jcHAJKHJldmlzaW9uIDM0ODg3KQorKysgV2ViQ29y
ZS9zdmcvU1ZHQ29tcG9uZW50VHJhbnNmZXJGdW5jdGlvbkVsZW1lbnQuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC00OCw3ICs0OCw3IEBAIFNWR0NvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb25FbGVtZW50
Ojp+U1YKIH0KIAogQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHQ29tcG9uZW50VHJh
bnNmZXJGdW5jdGlvbkVsZW1lbnQsIGludCwgRW51bWVyYXRpb24sIGVudW1lcmF0aW9uLCBUeXBl
LCB0eXBlLCBTVkdOYW1lczo6dHlwZUF0dHIsIG1fdHlwZSkKLUFOSU1BVEVEX1BST1BFUlRZX0RF
RklOSVRJT05TKFNWR0NvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb25FbGVtZW50LCBTVkdOdW1iZXJM
aXN0KiwgTnVtYmVyTGlzdCwgbnVtYmVyTGlzdCwgVGFibGVWYWx1ZXMsIHRhYmxlVmFsdWVzLCBT
VkdOYW1lczo6dGFibGVWYWx1ZXNBdHRyLCBtX3RhYmxlVmFsdWVzLmdldCgpKQorQU5JTUFURURf
UFJPUEVSVFlfREVGSU5JVElPTlNfUkVGQ09VTlRFRChTVkdDb21wb25lbnRUcmFuc2ZlckZ1bmN0
aW9uRWxlbWVudCwgU1ZHTnVtYmVyTGlzdCwgTnVtYmVyTGlzdCwgbnVtYmVyTGlzdCwgVGFibGVW
YWx1ZXMsIHRhYmxlVmFsdWVzLCBTVkdOYW1lczo6dGFibGVWYWx1ZXNBdHRyLCBtX3RhYmxlVmFs
dWVzKQogQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHQ29tcG9uZW50VHJhbnNmZXJG
dW5jdGlvbkVsZW1lbnQsIGZsb2F0LCBOdW1iZXIsIG51bWJlciwgU2xvcGUsIHNsb3BlLCBTVkdO
YW1lczo6c2xvcGVBdHRyLCBtX3Nsb3BlKQogQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMo
U1ZHQ29tcG9uZW50VHJhbnNmZXJGdW5jdGlvbkVsZW1lbnQsIGZsb2F0LCBOdW1iZXIsIG51bWJl
ciwgSW50ZXJjZXB0LCBpbnRlcmNlcHQsIFNWR05hbWVzOjppbnRlcmNlcHRBdHRyLCBtX2ludGVy
Y2VwdCkKIEFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0NvbXBvbmVudFRyYW5zZmVy
RnVuY3Rpb25FbGVtZW50LCBmbG9hdCwgTnVtYmVyLCBudW1iZXIsIEFtcGxpdHVkZSwgYW1wbGl0
dWRlLCBTVkdOYW1lczo6YW1wbGl0dWRlQXR0ciwgbV9hbXBsaXR1ZGUpCkluZGV4OiBXZWJDb3Jl
L3N2Zy9TVkdDb21wb25lbnRUcmFuc2ZlckZ1bmN0aW9uRWxlbWVudC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvc3ZnL1NWR0NvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb25FbGVtZW50LmgJKHJldmlz
aW9uIDM0ODg3KQorKysgV2ViQ29yZS9zdmcvU1ZHQ29tcG9uZW50VHJhbnNmZXJGdW5jdGlvbkVs
ZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNDQsNiArNDQsNyBAQCBuYW1lc3BhY2UgV2ViQ29y
ZQogICAgICAgICBTVkdDb21wb25lbnRUcmFuc2ZlckZ1bmN0aW9uIHRyYW5zZmVyRnVuY3Rpb24o
KSBjb25zdDsKIAogICAgIHByaXZhdGU6CisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX1NUQVJU
X0RFQ0xBUkFUSU9OUyhTVkdDb21wb25lbnRUcmFuc2ZlckZ1bmN0aW9uRWxlbWVudCkKICAgICAg
ICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0NvbXBvbmVudFRyYW5zZmVyRnVu
Y3Rpb25FbGVtZW50LCBpbnQsIGludCwgVHlwZSwgdHlwZSkKICAgICAgICAgQU5JTUFURURfUFJP
UEVSVFlfREVDTEFSQVRJT05TKFNWR0NvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb25FbGVtZW50LCBT
VkdOdW1iZXJMaXN0KiwgUmVmUHRyPFNWR051bWJlckxpc3Q+LCBUYWJsZVZhbHVlcywgdGFibGVW
YWx1ZXMpCiAgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdDb21wb25l
bnRUcmFuc2ZlckZ1bmN0aW9uRWxlbWVudCwgZmxvYXQsIGZsb2F0LCBTbG9wZSwgc2xvcGUpCklu
ZGV4OiBXZWJDb3JlL3N2Zy9TVkdDdXJzb3JFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL3N2Zy9TVkdDdXJzb3JFbGVtZW50LmNwcAkocmV2aXNpb24gMzQ4ODcpCisrKyBXZWJDb3Jl
L3N2Zy9TVkdDdXJzb3JFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzYsOCArMzYsOCBA
QCBTVkdDdXJzb3JFbGVtZW50OjpTVkdDdXJzb3JFbGVtZW50KGNvbnN0CiAgICAgLCBTVkdUZXN0
cygpCiAgICAgLCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKCkKICAgICAsIFNWR1VSSVJl
ZmVyZW5jZSgpCi0gICAgLCBtX3goMCwgTGVuZ3RoTW9kZVdpZHRoKQotICAgICwgbV95KDAsIExl
bmd0aE1vZGVIZWlnaHQpCisgICAgLCBtX3goU1ZHTGVuZ3RoKDAsIExlbmd0aE1vZGVXaWR0aCkp
CisgICAgLCBtX3koU1ZHTGVuZ3RoKDAsIExlbmd0aE1vZGVIZWlnaHQpKQogewogfQogCkluZGV4
OiBXZWJDb3JlL3N2Zy9TVkdDdXJzb3JFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9z
dmcvU1ZHQ3Vyc29yRWxlbWVudC5oCShyZXZpc2lvbiAzNDg4NykKKysrIFdlYkNvcmUvc3ZnL1NW
R0N1cnNvckVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNTEsMTIgKzUxLDEzIEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVhbCB2b2lkIGdldFN1YnJlc291cmNlQXR0cmli
dXRlU3RyaW5ncyhWZWN0b3I8U3RyaW5nPiYpIGNvbnN0OwogCiAgICAgcHJvdGVjdGVkOgotICAg
ICAgICB2aXJ0dWFsIGNvbnN0IFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgY29uc3QgeyBy
ZXR1cm4gdGhpczsgfQorICAgICAgICB2aXJ0dWFsIFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50
KCkgeyByZXR1cm4gdGhpczsgfQogCiAgICAgcHJpdmF0ZToKLSAgICAgICAgQU5JTUFURURfUFJP
UEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwg
Ym9vbCwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJl
ZCkKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHVVJJ
UmVmZXJlbmNlLCBTdHJpbmcsIEhyZWYsIGhyZWYpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZ
X0ZPUldBUkRfREVDTEFSQVRJT05TKFNWR0N1cnNvckVsZW1lbnQsIFNWR0V4dGVybmFsUmVzb3Vy
Y2VzUmVxdWlyZWQsIGJvb2wsIEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVz
b3VyY2VzUmVxdWlyZWQpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFS
QVRJT05TKFNWR0N1cnNvckVsZW1lbnQsIFNWR1VSSVJlZmVyZW5jZSwgU3RyaW5nLCBIcmVmLCBo
cmVmKQogCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX1NUQVJUX0RFQ0xBUkFUSU9OUyhTVkdD
dXJzb3JFbGVtZW50KQogICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZH
Q3Vyc29yRWxlbWVudCwgU1ZHTGVuZ3RoLCBTVkdMZW5ndGgsIFgsIHgpCiAgICAgICAgIEFOSU1B
VEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdDdXJzb3JFbGVtZW50LCBTVkdMZW5ndGgsIFNW
R0xlbmd0aCwgWSwgeSkKIApJbmRleDogV2ViQ29yZS9zdmcvU1ZHRGVmc0VsZW1lbnQuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdEZWZzRWxlbWVudC5oCShyZXZpc2lvbiAzNDg4NykK
KysrIFdlYkNvcmUvc3ZnL1NWR0RlZnNFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTQ0LDEw
ICs0NCwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgUmVuZGVyT2Jq
ZWN0KiBjcmVhdGVSZW5kZXJlcihSZW5kZXJBcmVuYSosIFJlbmRlclN0eWxlKik7CiAgICAgCiAg
ICAgcHJvdGVjdGVkOgotICAgICAgICB2aXJ0dWFsIGNvbnN0IFNWR0VsZW1lbnQqIGNvbnRleHRF
bGVtZW50KCkgY29uc3QgeyByZXR1cm4gdGhpczsgfQorICAgICAgICB2aXJ0dWFsIFNWR0VsZW1l
bnQqIGNvbnRleHRFbGVtZW50KCkgeyByZXR1cm4gdGhpczsgfQogCiAgICAgcHJpdmF0ZToKLSAg
ICAgICAgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHRXh0ZXJuYWxS
ZXNvdXJjZXNSZXF1aXJlZCwgYm9vbCwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJu
YWxSZXNvdXJjZXNSZXF1aXJlZCkKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9E
RUNMQVJBVElPTlMoU1ZHRGVmc0VsZW1lbnQsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQs
IGJvb2wsIEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWly
ZWQpCiAgICAgfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogV2ViQ29yZS9zdmcv
U1ZHRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5jcHAJ
KHJldmlzaW9uIDM0ODg3KQorKysgV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICAgIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwg
MjAwNiwgMjAwNyBOaWtvbGFzIFppbW1lcm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KKyAgICBD
b3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDcsIDIwMDggTmlrb2xhcyBaaW1tZXJt
YW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+CiAgICAgICAgICAgICAgICAgICAyMDA0LCAyMDA1LCAy
MDA2LCAyMDA4IFJvYiBCdWlzIDxidWlzQGtkZS5vcmc+CiAgICAgQ29weXJpZ2h0IChDKSAyMDA4
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KIApAQCAtMjY5LDYgKzI2OSwyOCBAQCB2
b2lkIFNWR0VsZW1lbnQ6OmF0dHJpYnV0ZUNoYW5nZWQoQXR0cmliCiAgICAgc3ZnQXR0cmlidXRl
Q2hhbmdlZChhdHRyLT5uYW1lKCkpOwogfQogCit2b2lkIFNWR0VsZW1lbnQ6OnVwZGF0ZUFuaW1h
dGVkU1ZHQXR0cmlidXRlKFN0cmluZ0ltcGwqIG5hbWUpIGNvbnN0Cit7CisgICAgaWYgKG1fc3lu
Y2hyb25pemluZ1NWR0F0dHJpYnV0ZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9zeW5jaHJv
bml6aW5nU1ZHQXR0cmlidXRlID0gdHJ1ZTsKKworICAgIGlmIChuYW1lKQorICAgICAgICBpbnZv
a2VTVkdQcm9wZXJ0eVN5bmNocm9uaXplcihuYW1lKTsKKyAgICBlbHNlIHsKKyAgICAgICAgaW52
b2tlQWxsU1ZHUHJvcGVydHlTeW5jaHJvbml6ZXJzKCk7CisgICAgICAgIHNldFN5bmNocm9uaXpl
ZFNWR0F0dHJpYnV0ZXModHJ1ZSk7CisgICAgfQorCisgICAgbV9zeW5jaHJvbml6aW5nU1ZHQXR0
cmlidXRlID0gZmFsc2U7Cit9CisKK3ZvaWQgU1ZHRWxlbWVudDo6c2V0U3luY2hyb25pemVkU1ZH
QXR0cmlidXRlcyhib29sIHZhbHVlKSBjb25zdAoreworICAgIG1fc3luY2hyb25pemVkU1ZHQXR0
cmlidXRlcyA9IHZhbHVlOworfQorCiB9CiAKICNlbmRpZiAvLyBFTkFCTEUoU1ZHKQpJbmRleDog
V2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0Vs
ZW1lbnQuaAkocmV2aXNpb24gMzQ4ODcpCisrKyBXZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmgJKHdv
cmtpbmcgY29weSkKQEAgLTMxLDI4ICszMSwxMDEgQEAKICNpbmNsdWRlICJTVkdEb2N1bWVudEV4
dGVuc2lvbnMuaCIKICNpbmNsdWRlICJTVkdOYW1lcy5oIgogCisvLyBIZWxwZXIgY2xhc3MgZm9y
IEFOSU1BVEVEX1BST1BFUlRZKiBtYWNyb3MKK3RlbXBsYXRlPHR5cGVuYW1lIFN0b3JlZFR5cGU+
CitjbGFzcyBTdG9yZWRUeXBlV2l0aERpcnR5RmxhZyB7CitwdWJsaWM6CisgICAgU3RvcmVkVHlw
ZVdpdGhEaXJ0eUZsYWcoKQorICAgICAgICA6IHZhbHVlKCkKKyAgICAgICAgLCBkaXJ0eShmYWxz
ZSkKKyAgICB7CisgICAgfQorCisgICAgU3RvcmVkVHlwZVdpdGhEaXJ0eUZsYWcoY29uc3QgU3Rv
cmVkVHlwZSYgb3RoZXIpCisgICAgICAgIDogdmFsdWUob3RoZXIpCisgICAgICAgICwgZGlydHko
ZmFsc2UpCisgICAgeworICAgIH0KKworICAgIFN0b3JlZFR5cGVXaXRoRGlydHlGbGFnKGNvbnN0
IFN0b3JlZFR5cGVXaXRoRGlydHlGbGFnJiBvdGhlcikKKyAgICAgICAgOiB2YWx1ZShvdGhlci52
YWx1ZSkKKyAgICAgICAgLCBkaXJ0eShvdGhlci5kaXJ0eSkKKyAgICB7CisgICAgfQorCisgICAg
U3RvcmVkVHlwZSYgb3BlcmF0b3I9KGNvbnN0IFN0b3JlZFR5cGUmIG90aGVyKQorICAgIHsKKyAg
ICAgICAgdmFsdWUgPSBvdGhlcjsKKyAgICAgICAgZGlydHkgPSB0cnVlOworICAgICAgICByZXR1
cm4gdmFsdWU7CisgICAgfQorCisgICAgU3RvcmVkVHlwZVdpdGhEaXJ0eUZsYWcmIG9wZXJhdG9y
PShjb25zdCBTdG9yZWRUeXBlV2l0aERpcnR5RmxhZyYgb3RoZXIpCisgICAgeworICAgICAgICB2
YWx1ZSA9IG90aGVyLnZhbHVlOworICAgICAgICBkaXJ0eSA9IG90aGVyLmRpcnR5OworICAgICAg
ICByZXR1cm4gKCp0aGlzKTsKKyAgICB9CisKKyAgICBib29sIG9wZXJhdG9yPT0oY29uc3QgU3Rv
cmVkVHlwZSYgb3RoZXIpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gdmFsdWUgPT0gb3Ro
ZXIudmFsdWU7CisgICAgfQorCisgICAgYm9vbCBvcGVyYXRvciE9KGNvbnN0IFN0b3JlZFR5cGUm
IG90aGVyKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuICEoKCp0aGlzKSA9PSBvdGhlcik7
CisgICAgfQorCisgICAgYm9vbCBvcGVyYXRvcj09KGNvbnN0IFN0b3JlZFR5cGVXaXRoRGlydHlG
bGFnJiBvdGhlcikgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBkaXJ0eSA9PSBvdGhlci5k
aXJ0eSAmJiB2YWx1ZSA9PSBvdGhlci52YWx1ZTsKKyAgICB9CisKKyAgICBib29sIG9wZXJhdG9y
IT0oY29uc3QgU3RvcmVkVHlwZVdpdGhEaXJ0eUZsYWcmIG90aGVyKSBjb25zdAorICAgIHsKKyAg
ICAgICAgcmV0dXJuICEoKCp0aGlzKSA9PSBvdGhlcik7CisgICAgfQorCisgICAgb3BlcmF0b3Ig
U3RvcmVkVHlwZSgpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gdmFsdWU7ICAgIAorICAg
IH0KKworICAgIFN0b3JlZFR5cGUgdmFsdWU7CisgICAgYm9vbCBkaXJ0eTsKK307CisKICNkZWZp
bmUgQU5JTUFURURfUFJPUEVSVFlfRU1QVFlfREVDTEFSQVRJT05TKEJhcmVUeXBlLCBOdWxsVHlw
ZSwgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9wZXJ0eSkgXAogcHVibGljOiBcCiAgICAgdmlydHVh
bCBCYXJlVHlwZSBMb3dlclByb3BlcnR5KCkgY29uc3QgeyBBU1NFUlRfTk9UX1JFQUNIRUQoKTsg
cmV0dXJuIE51bGxUeXBlOyB9IFwKICAgICB2aXJ0dWFsIHZvaWQgc2V0IyNVcHBlclByb3BlcnR5
KEJhcmVUeXBlIG5ld1ZhbHVlKSB7IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOyB9XAogICAgIHZpcnR1
YWwgQmFyZVR5cGUgTG93ZXJQcm9wZXJ0eSMjQmFzZVZhbHVlKCkgY29uc3QgeyBBU1NFUlRfTk9U
X1JFQUNIRUQoKTsgcmV0dXJuIE51bGxUeXBlOyB9IFwKICAgICB2aXJ0dWFsIHZvaWQgc2V0IyNV
cHBlclByb3BlcnR5IyNCYXNlVmFsdWUoQmFyZVR5cGUgbmV3VmFsdWUpIHsgQVNTRVJUX05PVF9S
RUFDSEVEKCk7IH0gXAotICAgIHZpcnR1YWwgdm9pZCBzdGFydCMjVXBwZXJQcm9wZXJ0eSgpIGNv
bnN0IHsgQVNTRVJUX05PVF9SRUFDSEVEKCk7IH0gXAorICAgIHZpcnR1YWwgdm9pZCBzeW5jaHJv
bml6ZSMjVXBwZXJQcm9wZXJ0eSgpIHsgQVNTRVJUX05PVF9SRUFDSEVEKCk7IH0gXAorICAgIHZp
cnR1YWwgU1ZHRWxlbWVudDo6QW5pbWF0ZWRQcm9wZXJ0eVN5bmNocm9uaXplciBzeW5jaHJvbml6
ZXJGb3IjI1VwcGVyUHJvcGVydHkoKSB7IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOyByZXR1cm4gMDsg
fSBcCisgICAgdmlydHVhbCB2b2lkIHN0YXJ0IyNVcHBlclByb3BlcnR5KCkgeyBBU1NFUlRfTk9U
X1JFQUNIRUQoKTsgfSBcCiAgICAgdmlydHVhbCB2b2lkIHN0b3AjI1VwcGVyUHJvcGVydHkoKSB7
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOyB9CiAKLSNkZWZpbmUgQU5JTUFURURfUFJPUEVSVFlfRk9S
V0FSRF9ERUNMQVJBVElPTlMoRm9yd2FyZENsYXNzLCBCYXJlVHlwZSwgVXBwZXJQcm9wZXJ0eSwg
TG93ZXJQcm9wZXJ0eSkgXAorI2RlZmluZSBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xB
UkFUSU9OUyhDbGFzc1R5cGUsIEZvcndhcmRDbGFzcywgQmFyZVR5cGUsIFVwcGVyUHJvcGVydHks
IExvd2VyUHJvcGVydHkpIFwKIHB1YmxpYzogXAogICAgIHZpcnR1YWwgQmFyZVR5cGUgTG93ZXJQ
cm9wZXJ0eSgpIGNvbnN0IHsgcmV0dXJuIEZvcndhcmRDbGFzczo6TG93ZXJQcm9wZXJ0eSgpOyB9
IFwKICAgICB2aXJ0dWFsIHZvaWQgc2V0IyNVcHBlclByb3BlcnR5KEJhcmVUeXBlIG5ld1ZhbHVl
KSB7IEZvcndhcmRDbGFzczo6c2V0IyNVcHBlclByb3BlcnR5KG5ld1ZhbHVlKTsgfSBcCiAgICAg
dmlydHVhbCBCYXJlVHlwZSBMb3dlclByb3BlcnR5IyNCYXNlVmFsdWUoKSBjb25zdCB7IHJldHVy
biBGb3J3YXJkQ2xhc3M6Okxvd2VyUHJvcGVydHkjI0Jhc2VWYWx1ZSgpOyB9IFwKICAgICB2aXJ0
dWFsIHZvaWQgc2V0IyNVcHBlclByb3BlcnR5IyNCYXNlVmFsdWUoQmFyZVR5cGUgbmV3VmFsdWUp
IHsgRm9yd2FyZENsYXNzOjpzZXQjI1VwcGVyUHJvcGVydHkjI0Jhc2VWYWx1ZShuZXdWYWx1ZSk7
IH0gXAotICAgIHZpcnR1YWwgdm9pZCBzdGFydCMjVXBwZXJQcm9wZXJ0eSgpIGNvbnN0IHsgRm9y
d2FyZENsYXNzOjpzdGFydCMjVXBwZXJQcm9wZXJ0eSgpOyB9IFwKKyAgICB2aXJ0dWFsIHZvaWQg
c3luY2hyb25pemUjI1VwcGVyUHJvcGVydHkoKSB7IEZvcndhcmRDbGFzczo6c3luY2hyb25pemUj
I1VwcGVyUHJvcGVydHkoKTsgfSBcCisgICAgdmlydHVhbCBTVkdFbGVtZW50OjpBbmltYXRlZFBy
b3BlcnR5U3luY2hyb25pemVyIHN5bmNocm9uaXplckZvciMjVXBwZXJQcm9wZXJ0eSgpIHsgcmV0
dXJuIHN0YXRpY19jYXN0PFNWR0VsZW1lbnQ6OkFuaW1hdGVkUHJvcGVydHlTeW5jaHJvbml6ZXI+
KCZDbGFzc1R5cGU6OnN5bmNocm9uaXplIyNVcHBlclByb3BlcnR5KTsgfSBcCisgICAgdmlydHVh
bCB2b2lkIHN0YXJ0IyNVcHBlclByb3BlcnR5KCkgeyBGb3J3YXJkQ2xhc3M6OnN0YXJ0IyNVcHBl
clByb3BlcnR5KCk7IH0gXAogICAgIHZpcnR1YWwgdm9pZCBzdG9wIyNVcHBlclByb3BlcnR5KCkg
eyBGb3J3YXJkQ2xhc3M6OnN0b3AjI1VwcGVyUHJvcGVydHkoKTsgfQogCiAjZGVmaW5lIEFOSU1B
VEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OU19JTlRFUk5BTChDbGFzc1R5cGUsIENsYXNzU3RvcmFn
ZVR5cGUsIEJhcmVUeXBlLCBTdG9yYWdlVHlwZSwgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9wZXJ0
eSkgXAotY2xhc3MgU1ZHQW5pbWF0ZWRUZW1wbGF0ZSMjVXBwZXJQcm9wZXJ0eSA6IHB1YmxpYyBT
VkdBbmltYXRlZFRlbXBsYXRlPEJhcmVUeXBlPiB7IFwKK2NsYXNzIFNWR0FuaW1hdGVkVGVtcGxh
dGUjI1VwcGVyUHJvcGVydHkgXAorOiBwdWJsaWMgU1ZHQW5pbWF0ZWRUeXBlPEJhcmVUeXBlPiBc
Cit7IFwKIHB1YmxpYzogXAotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNWR0FuaW1hdGVkVGVtcGxh
dGUjI1VwcGVyUHJvcGVydHk+IGNyZWF0ZShjb25zdCBDbGFzc1R5cGUqIGVsZW1lbnQsIGNvbnN0
IFF1YWxpZmllZE5hbWUmIGF0dHJpYnV0ZU5hbWUpIFwKKyAgICBTVkdBbmltYXRlZFRlbXBsYXRl
IyNVcHBlclByb3BlcnR5KENsYXNzVHlwZSosIGNvbnN0IFF1YWxpZmllZE5hbWUmKTsgXAorICAg
IHZpcnR1YWwgflNWR0FuaW1hdGVkVGVtcGxhdGUjI1VwcGVyUHJvcGVydHkoKSB7IH0gXAorICAg
IHN0YXRpYyBQYXNzUmVmUHRyPFNWR0FuaW1hdGVkVGVtcGxhdGUjI1VwcGVyUHJvcGVydHk+IGNy
ZWF0ZShDbGFzc1R5cGUqIGVsZW1lbnQsIGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJpYnV0ZU5h
bWUpIFwKICAgICB7IFwKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTVkdBbmltYXRlZFRl
bXBsYXRlIyNVcHBlclByb3BlcnR5KGVsZW1lbnQsIGF0dHJpYnV0ZU5hbWUpKTsgXAogICAgIH0g
XApAQCAtNzAsMTYgKzE0Myw0NiBAQCBwdWJsaWM6IFwKICAgICB2b2lkIHNldCMjVXBwZXJQcm9w
ZXJ0eShCYXJlVHlwZSk7IFwKICAgICBCYXJlVHlwZSBMb3dlclByb3BlcnR5IyNCYXNlVmFsdWUo
KSBjb25zdDsgXAogICAgIHZvaWQgc2V0IyNVcHBlclByb3BlcnR5IyNCYXNlVmFsdWUoQmFyZVR5
cGUpOyBcCi0gICAgUGFzc1JlZlB0cjxTVkdBbmltYXRlZFRlbXBsYXRlIyNVcHBlclByb3BlcnR5
PiBMb3dlclByb3BlcnR5IyNBbmltYXRlZCgpIGNvbnN0OyBcCi0gICAgdm9pZCBzdGFydCMjVXBw
ZXJQcm9wZXJ0eSgpIGNvbnN0OyBcCisgICAgUGFzc1JlZlB0cjxTVkdBbmltYXRlZFRlbXBsYXRl
IyNVcHBlclByb3BlcnR5PiBMb3dlclByb3BlcnR5IyNBbmltYXRlZCgpOyBcCisgICAgdm9pZCBz
eW5jaHJvbml6ZSMjVXBwZXJQcm9wZXJ0eSgpOyBcCisgICAgU1ZHRWxlbWVudDo6QW5pbWF0ZWRQ
cm9wZXJ0eVN5bmNocm9uaXplciBzeW5jaHJvbml6ZXJGb3IjI1VwcGVyUHJvcGVydHkoKTsgXAor
ICAgIHZvaWQgc3RhcnQjI1VwcGVyUHJvcGVydHkoKTsgXAogICAgIHZvaWQgc3RvcCMjVXBwZXJQ
cm9wZXJ0eSgpOyBcCiBcCiBwcml2YXRlOiBcCi0gICAgU3RvcmFnZVR5cGUgbV8jI0xvd2VyUHJv
cGVydHk7CisgICAgU3RvcmVkVHlwZVdpdGhEaXJ0eUZsYWc8U3RvcmFnZVR5cGU+IG1fIyNMb3dl
clByb3BlcnR5OworCisjZGVmaW5lIEFOSU1BVEVEX1BST1BFUlRZX1NUQVJUX0RFQ0xBUkFUSU9O
UyhDbGFzc1R5cGUpIFwKK3B1YmxpYzogXAorICAgIHZpcnR1YWwgdm9pZCBpbnZva2VTVkdQcm9w
ZXJ0eVN5bmNocm9uaXplcihTdHJpbmdJbXBsKiBzdHJpbmdJbXBsKSBjb25zdCBcCisgICAgeyBc
CisgICAgICAgIGlmIChtX3N2Z1Byb3BlcnR5VXBkYXRlTWFwLmNvbnRhaW5zKHN0cmluZ0ltcGwp
KSB7IFwKKyAgICAgICAgICAgIFNWR0VsZW1lbnQ6OkFuaW1hdGVkUHJvcGVydHlTeW5jaHJvbml6
ZXIgdXBkYXRlTWV0aG9kID0gbV9zdmdQcm9wZXJ0eVVwZGF0ZU1hcC5nZXQoc3RyaW5nSW1wbCk7
IFwKKyAgICAgICAgICAgIChjb25zdF9jYXN0PENsYXNzVHlwZSo+KHRoaXMpLT4qdXBkYXRlTWV0
aG9kKSgpOyBcCisgICAgICAgIH0gXAorICAgIH0gXAorXAorICAgIHZpcnR1YWwgdm9pZCBpbnZv
a2VBbGxTVkdQcm9wZXJ0eVN5bmNocm9uaXplcnMoKSBjb25zdCBcCisgICAgeyBcCisgICAgICAg
IEhhc2hNYXA8U3RyaW5nSW1wbCosIFNWR0VsZW1lbnQ6OkFuaW1hdGVkUHJvcGVydHlTeW5jaHJv
bml6ZXI+Ojpjb25zdF9pdGVyYXRvciBpdCA9IG1fc3ZnUHJvcGVydHlVcGRhdGVNYXAuYmVnaW4o
KTsgXAorICAgICAgICBjb25zdCBIYXNoTWFwPFN0cmluZ0ltcGwqLCBTVkdFbGVtZW50OjpBbmlt
YXRlZFByb3BlcnR5U3luY2hyb25pemVyPjo6Y29uc3RfaXRlcmF0b3IgZW5kID0gbV9zdmdQcm9w
ZXJ0eVVwZGF0ZU1hcC5lbmQoKTsgXAorICAgICAgICBmb3IgKDsgaXQgIT0gZW5kOyArK2l0KSB7
IFwKKyAgICAgICAgICAgIFNWR0VsZW1lbnQ6OkFuaW1hdGVkUHJvcGVydHlTeW5jaHJvbml6ZXIg
dXBkYXRlTWV0aG9kID0gaXQtPnNlY29uZDsgXAorICAgICAgICAgICAgKGNvbnN0X2Nhc3Q8Q2xh
c3NUeXBlKj4odGhpcyktPip1cGRhdGVNZXRob2QpKCk7IFwKKyAgICAgICAgfSBcCisgICAgfSBc
CitcCisgICAgdmlydHVhbCB2b2lkIGFkZFNWR1Byb3BlcnR5U3luY2hyb25pemVyKGNvbnN0IFF1
YWxpZmllZE5hbWUmIGF0dHJOYW1lLCBTVkdFbGVtZW50OjpBbmltYXRlZFByb3BlcnR5U3luY2hy
b25pemVyIG1ldGhvZCkgXAorICAgIHsgXAorICAgICAgICBtX3N2Z1Byb3BlcnR5VXBkYXRlTWFw
LnNldChhdHRyTmFtZS5sb2NhbE5hbWUoKS5pbXBsKCksIG1ldGhvZCk7IFwKKyAgICB9IFwKK1wK
K3ByaXZhdGU6IFwKKyAgICBIYXNoTWFwPFN0cmluZ0ltcGwqLCBTVkdFbGVtZW50OjpBbmltYXRl
ZFByb3BlcnR5U3luY2hyb25pemVyPiBtX3N2Z1Byb3BlcnR5VXBkYXRlTWFwOwogCiAjZGVmaW5l
IEFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TX0lOVEVSTkFMKENsYXNzTmFtZSwgQ2xhc3NU
eXBlLCBCYXJlVHlwZSwgVXBwZXJDbGFzc05hbWUsIExvd2VyQ2xhc3NOYW1lLCBVcHBlclByb3Bl
cnR5LCBMb3dlclByb3BlcnR5LCBBdHRyTmFtZSwgU3RvcmFnZUdldHRlciwgQ29udGV4dEVsZW1l
bnQpIFwKLUNsYXNzTmFtZTo6U1ZHQW5pbWF0ZWRUZW1wbGF0ZSMjVXBwZXJQcm9wZXJ0eTo6U1ZH
QW5pbWF0ZWRUZW1wbGF0ZSMjVXBwZXJQcm9wZXJ0eShjb25zdCBDbGFzc1R5cGUqIGVsZW1lbnQs
IGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJpYnV0ZU5hbWUpIFwKLTogU1ZHQW5pbWF0ZWRUZW1w
bGF0ZTxCYXJlVHlwZT4oYXR0cmlidXRlTmFtZSksIG1fZWxlbWVudChjb25zdF9jYXN0PENsYXNz
VHlwZSo+KGVsZW1lbnQpKSB7IH0gXAorQ2xhc3NOYW1lOjpTVkdBbmltYXRlZFRlbXBsYXRlIyNV
cHBlclByb3BlcnR5OjpTVkdBbmltYXRlZFRlbXBsYXRlIyNVcHBlclByb3BlcnR5KENsYXNzVHlw
ZSogZWxlbWVudCwgY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0cmlidXRlTmFtZSkgXAorOiBTVkdB
bmltYXRlZFR5cGU8QmFyZVR5cGU+KGF0dHJpYnV0ZU5hbWUpLCBtX2VsZW1lbnQoZWxlbWVudCkg
eyB9IFwKIFwKIEJhcmVUeXBlIENsYXNzTmFtZTo6U1ZHQW5pbWF0ZWRUZW1wbGF0ZSMjVXBwZXJQ
cm9wZXJ0eTo6YmFzZVZhbCgpIGNvbnN0IFwKIHsgXApAQCAtMTA0LDQ5ICsyMDcsNzQgQEAgQmFy
ZVR5cGUgQ2xhc3NOYW1lOjpMb3dlclByb3BlcnR5KCkgY29ucwogdm9pZCBDbGFzc05hbWU6OnNl
dCMjVXBwZXJQcm9wZXJ0eShCYXJlVHlwZSBuZXdWYWx1ZSkgXAogeyBcCiAgICAgbV8jI0xvd2Vy
UHJvcGVydHkgPSBuZXdWYWx1ZTsgXAorXAorICAgIFNWR0VsZW1lbnQqIGNvbnRleHQgPSBDb250
ZXh0RWxlbWVudDsgXAorICAgIEFTU0VSVChjb250ZXh0KTsgXAorICAgIGNvbnRleHQtPnNldFN5
bmNocm9uaXplZFNWR0F0dHJpYnV0ZXMoZmFsc2UpOyBcCiB9IFwKIEJhcmVUeXBlIENsYXNzTmFt
ZTo6TG93ZXJQcm9wZXJ0eSMjQmFzZVZhbHVlKCkgY29uc3QgXAogeyBcCi0gICAgY29uc3QgU1ZH
RWxlbWVudCogY29udGV4dCA9IENvbnRleHRFbGVtZW50OyBcCisgICAgU1ZHRWxlbWVudCogY29u
dGV4dCA9IENvbnRleHRFbGVtZW50OyBcCiAgICAgQVNTRVJUKGNvbnRleHQpOyBcCiAgICAgU1ZH
RG9jdW1lbnRFeHRlbnNpb25zKiBleHRlbnNpb25zID0gKGNvbnRleHQtPmRvY3VtZW50KCkgPyBj
b250ZXh0LT5kb2N1bWVudCgpLT5hY2Nlc3NTVkdFeHRlbnNpb25zKCkgOiAwKTsgXAotICAgIGlm
IChleHRlbnNpb25zICYmIGV4dGVuc2lvbnMtPmhhc0Jhc2VWYWx1ZTxCYXJlVHlwZT4oY29udGV4
dCwgQXR0ck5hbWUpKSBcCi0gICAgICAgICByZXR1cm4gZXh0ZW5zaW9ucy0+YmFzZVZhbHVlPEJh
cmVUeXBlPihjb250ZXh0LCBBdHRyTmFtZSk7IFwKKyAgICBpZiAoZXh0ZW5zaW9ucyAmJiBleHRl
bnNpb25zLT5oYXNCYXNlVmFsdWU8QmFyZVR5cGU+KGNvbnRleHQsIEF0dHJOYW1lLmxvY2FsTmFt
ZSgpKSkgXAorICAgICAgICAgcmV0dXJuIGV4dGVuc2lvbnMtPmJhc2VWYWx1ZTxCYXJlVHlwZT4o
Y29udGV4dCwgQXR0ck5hbWUubG9jYWxOYW1lKCkpOyBcCiAgICAgcmV0dXJuIExvd2VyUHJvcGVy
dHkoKTsgXAogfSBcCitcCiB2b2lkIENsYXNzTmFtZTo6c2V0IyNVcHBlclByb3BlcnR5IyNCYXNl
VmFsdWUoQmFyZVR5cGUgbmV3VmFsdWUpIFwKIHsgXAotICAgIGNvbnN0IFNWR0VsZW1lbnQqIGNv
bnRleHQgPSBDb250ZXh0RWxlbWVudDsgXAorICAgIFNWR0VsZW1lbnQqIGNvbnRleHQgPSBDb250
ZXh0RWxlbWVudDsgXAogICAgIEFTU0VSVChjb250ZXh0KTsgXAogICAgIFNWR0RvY3VtZW50RXh0
ZW5zaW9ucyogZXh0ZW5zaW9ucyA9IChjb250ZXh0LT5kb2N1bWVudCgpID8gY29udGV4dC0+ZG9j
dW1lbnQoKS0+YWNjZXNzU1ZHRXh0ZW5zaW9ucygpIDogMCk7IFwKLSAgICBpZiAoZXh0ZW5zaW9u
cyAmJiBleHRlbnNpb25zLT5oYXNCYXNlVmFsdWU8QmFyZVR5cGU+KGNvbnRleHQsIEF0dHJOYW1l
KSkgeyBcCi0gICAgICAgIGV4dGVuc2lvbnMtPnNldEJhc2VWYWx1ZTxCYXJlVHlwZT4oY29udGV4
dCwgQXR0ck5hbWUsIG5ld1ZhbHVlKTsgXAorICAgIGlmIChleHRlbnNpb25zICYmIGV4dGVuc2lv
bnMtPmhhc0Jhc2VWYWx1ZTxCYXJlVHlwZT4oY29udGV4dCwgQXR0ck5hbWUubG9jYWxOYW1lKCkp
KSB7IFwKKyAgICAgICAgZXh0ZW5zaW9ucy0+c2V0QmFzZVZhbHVlPEJhcmVUeXBlPihjb250ZXh0
LCBBdHRyTmFtZS5sb2NhbE5hbWUoKSwgbmV3VmFsdWUpOyBcCiAgICAgICAgIHJldHVybjsgXAog
ICAgIH0gXAogICAgIC8qIE9ubHkgdXBkYXRlIHN0b3JlZCBwcm9wZXJ0eSwgaWYgbm90IGFuaW1h
dGluZyAqLyBcCiAgICAgc2V0IyNVcHBlclByb3BlcnR5KG5ld1ZhbHVlKTsgXAogfSBcCiBcCi12
b2lkIENsYXNzTmFtZTo6c3RhcnQjI1VwcGVyUHJvcGVydHkoKSBjb25zdCBcCit2b2lkIENsYXNz
TmFtZTo6c3luY2hyb25pemUjI1VwcGVyUHJvcGVydHkoKSBcCiB7IFwKLSAgICBjb25zdCBTVkdF
bGVtZW50KiBjb250ZXh0ID0gQ29udGV4dEVsZW1lbnQ7IFwKKyAgICBpZiAoIW1fIyNMb3dlclBy
b3BlcnR5LmRpcnR5KSBcCisgICAgICAgIHJldHVybjsgXAorICAgIFNWR0VsZW1lbnQqIGNvbnRl
eHQgPSBDb250ZXh0RWxlbWVudDsgXAorICAgIEFTU0VSVChjb250ZXh0KTsgXAorICAgIFJlZlB0
cjxDbGFzc05hbWU6OlNWR0FuaW1hdGVkVGVtcGxhdGUjI1VwcGVyUHJvcGVydHk+IGFuaW1hdGVk
Q2xhc3MoTG93ZXJQcm9wZXJ0eSMjQW5pbWF0ZWQoKSk7IFwKKyAgICBBU1NFUlQoYW5pbWF0ZWRD
bGFzcyk7IFwKKyAgICBBdG9taWNTdHJpbmcgdmFsdWUoYW5pbWF0ZWRDbGFzcy0+dG9TdHJpbmco
KSk7IFwKKyAgICBOYW1lZEF0dHJNYXAqIG5hbWVkQXR0ck1hcCA9IGNvbnRleHQtPmF0dHJpYnV0
ZXMoZmFsc2UpOyBcCisgICAgQXR0cmlidXRlKiBvbGQgPSBuYW1lZEF0dHJNYXAtPmdldEF0dHJp
YnV0ZUl0ZW0oQXR0ck5hbWUpOyBcCisgICAgaWYgKG9sZCAmJiB2YWx1ZS5pc051bGwoKSkgXAor
ICAgICAgICBuYW1lZEF0dHJNYXAtPnJlbW92ZUF0dHJpYnV0ZShvbGQtPm5hbWUoKSk7IFwKKyAg
ICBlbHNlIGlmICghb2xkICYmICF2YWx1ZS5pc051bGwoKSkgXAorICAgICAgICBuYW1lZEF0dHJN
YXAtPmFkZEF0dHJpYnV0ZShjb250ZXh0LT5jcmVhdGVBdHRyaWJ1dGUoUXVhbGlmaWVkTmFtZShu
dWxsQXRvbSwgQXR0ck5hbWUubG9jYWxOYW1lKCksIG51bGxBdG9tKSwgdmFsdWUpKTsgXAorICAg
IGVsc2UgaWYgKG9sZCAmJiAhdmFsdWUuaXNOdWxsKCkpIFwKKyAgICAgICAgb2xkLT5zZXRWYWx1
ZSh2YWx1ZSk7IFwKKyAgICBtXyMjTG93ZXJQcm9wZXJ0eS5kaXJ0eSA9IGZhbHNlOyBcCit9IFwK
K1wKK3ZvaWQgQ2xhc3NOYW1lOjpzdGFydCMjVXBwZXJQcm9wZXJ0eSgpIFwKK3sgXAorICAgIFNW
R0VsZW1lbnQqIGNvbnRleHQgPSBDb250ZXh0RWxlbWVudDsgXAogICAgIEFTU0VSVChjb250ZXh0
KTsgXAogICAgIFNWR0RvY3VtZW50RXh0ZW5zaW9ucyogZXh0ZW5zaW9ucyA9IChjb250ZXh0LT5k
b2N1bWVudCgpID8gY29udGV4dC0+ZG9jdW1lbnQoKS0+YWNjZXNzU1ZHRXh0ZW5zaW9ucygpIDog
MCk7IFwKICAgICBpZiAoZXh0ZW5zaW9ucykgeyBcCi0gICAgICAgIEFTU0VSVCghZXh0ZW5zaW9u
cy0+aGFzQmFzZVZhbHVlPEJhcmVUeXBlPihjb250ZXh0LCBBdHRyTmFtZSkpOyBcCi0gICAgICAg
IGV4dGVuc2lvbnMtPnNldEJhc2VWYWx1ZTxCYXJlVHlwZT4oY29udGV4dCwgQXR0ck5hbWUsIExv
d2VyUHJvcGVydHkoKSk7IFwKKyAgICAgICAgQVNTRVJUKCFleHRlbnNpb25zLT5oYXNCYXNlVmFs
dWU8QmFyZVR5cGU+KGNvbnRleHQsIEF0dHJOYW1lLmxvY2FsTmFtZSgpKSk7IFwKKyAgICAgICAg
ZXh0ZW5zaW9ucy0+c2V0QmFzZVZhbHVlPEJhcmVUeXBlPihjb250ZXh0LCBBdHRyTmFtZS5sb2Nh
bE5hbWUoKSwgTG93ZXJQcm9wZXJ0eSgpKTsgXAogICAgIH0gXAogfSBcCiBcCiB2b2lkIENsYXNz
TmFtZTo6c3RvcCMjVXBwZXJQcm9wZXJ0eSgpIFwKIHsgXAotICAgIGNvbnN0IFNWR0VsZW1lbnQq
IGNvbnRleHQgPSBDb250ZXh0RWxlbWVudDsgXAorICAgIFNWR0VsZW1lbnQqIGNvbnRleHQgPSBD
b250ZXh0RWxlbWVudDsgXAogICAgIEFTU0VSVChjb250ZXh0KTsgXAogICAgIFNWR0RvY3VtZW50
RXh0ZW5zaW9ucyogZXh0ZW5zaW9ucyA9IChjb250ZXh0LT5kb2N1bWVudCgpID8gY29udGV4dC0+
ZG9jdW1lbnQoKS0+YWNjZXNzU1ZHRXh0ZW5zaW9ucygpIDogMCk7IFwKICAgICBpZiAoZXh0ZW5z
aW9ucykgeyBcCi0gICAgICAgIEFTU0VSVChleHRlbnNpb25zLT5oYXNCYXNlVmFsdWU8QmFyZVR5
cGU+KGNvbnRleHQsIEF0dHJOYW1lKSk7IFwKLSAgICAgICAgc2V0IyNVcHBlclByb3BlcnR5KGV4
dGVuc2lvbnMtPmJhc2VWYWx1ZTxCYXJlVHlwZT4oY29udGV4dCwgQXR0ck5hbWUpKTsgXAotICAg
ICAgICBleHRlbnNpb25zLT5yZW1vdmVCYXNlVmFsdWU8QmFyZVR5cGU+KGNvbnRleHQsIEF0dHJO
YW1lKTsgXAorICAgICAgICBBU1NFUlQoZXh0ZW5zaW9ucy0+aGFzQmFzZVZhbHVlPEJhcmVUeXBl
Pihjb250ZXh0LCBBdHRyTmFtZS5sb2NhbE5hbWUoKSkpOyBcCisgICAgICAgIHNldCMjVXBwZXJQ
cm9wZXJ0eShleHRlbnNpb25zLT5iYXNlVmFsdWU8QmFyZVR5cGU+KGNvbnRleHQsIEF0dHJOYW1l
LmxvY2FsTmFtZSgpKSk7IFwKKyAgICAgICAgZXh0ZW5zaW9ucy0+cmVtb3ZlQmFzZVZhbHVlPEJh
cmVUeXBlPihjb250ZXh0LCBBdHRyTmFtZS5sb2NhbE5hbWUoKSk7IFwKICAgICB9IFwKIH0KIApA
QCAtMTU4LDI0ICsyODYsNDQgQEAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TX0lOVEVS
TkFMKAogQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TX0lOVEVSTkFMKENsYXNzTmFtZSwg
UmVmUHRyPENsYXNzTmFtZT4sIEJhcmVUeXBlLCBTdG9yYWdlVHlwZSwgVXBwZXJQcm9wZXJ0eSwg
TG93ZXJQcm9wZXJ0eSkKIAogI2RlZmluZSBBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OU19X
SVRIX0NPTlRFWFQoQ2xhc3NOYW1lLCBCYXJlVHlwZSwgVXBwZXJDbGFzc05hbWUsIExvd2VyQ2xh
c3NOYW1lLCBVcHBlclByb3BlcnR5LCBMb3dlclByb3BlcnR5LCBBdHRyTmFtZSwgU3RvcmFnZUdl
dHRlcikgXAotQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlNfSU5URVJOQUwoQ2xhc3NOYW1l
LCBTVkdFbGVtZW50LCBCYXJlVHlwZSwgVXBwZXJDbGFzc05hbWUsIExvd2VyQ2xhc3NOYW1lLCBV
cHBlclByb3BlcnR5LCBMb3dlclByb3BlcnR5LCBBdHRyTmFtZS5sb2NhbE5hbWUoKSwgU3RvcmFn
ZUdldHRlciwgY29udGV4dEVsZW1lbnQoKSkgXAotUGFzc1JlZlB0cjxDbGFzc05hbWU6OlNWR0Fu
aW1hdGVkVGVtcGxhdGUjI1VwcGVyUHJvcGVydHk+IENsYXNzTmFtZTo6TG93ZXJQcm9wZXJ0eSMj
QW5pbWF0ZWQoKSBjb25zdCBcCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OU19JTlRFUk5B
TChDbGFzc05hbWUsIFNWR0VsZW1lbnQsIEJhcmVUeXBlLCBVcHBlckNsYXNzTmFtZSwgTG93ZXJD
bGFzc05hbWUsIFVwcGVyUHJvcGVydHksIExvd2VyUHJvcGVydHksIEF0dHJOYW1lLCBTdG9yYWdl
R2V0dGVyLCBjb25zdF9jYXN0PENsYXNzTmFtZSo+KHRoaXMpLT5jb250ZXh0RWxlbWVudCgpKSBc
CitQYXNzUmVmUHRyPENsYXNzTmFtZTo6U1ZHQW5pbWF0ZWRUZW1wbGF0ZSMjVXBwZXJQcm9wZXJ0
eT4gQ2xhc3NOYW1lOjpMb3dlclByb3BlcnR5IyNBbmltYXRlZCgpIFwKIHsgXAotICAgIGNvbnN0
IFNWR0VsZW1lbnQqIGNvbnRleHQgPSBjb250ZXh0RWxlbWVudCgpOyBcCisgICAgU1ZHRWxlbWVu
dCogY29udGV4dCA9IGNvbnRleHRFbGVtZW50KCk7IFwKICAgICBBU1NFUlQoY29udGV4dCk7IFwK
LSAgICByZXR1cm4gbG9va3VwT3JDcmVhdGVXcmFwcGVyPENsYXNzTmFtZTo6U1ZHQW5pbWF0ZWRU
ZW1wbGF0ZSMjVXBwZXJQcm9wZXJ0eSwgU1ZHRWxlbWVudD4oY29udGV4dCwgQXR0ck5hbWUsIEF0
dHJOYW1lLmxvY2FsTmFtZSgpKTsgXAorICAgIHJldHVybiBsb29rdXBPckNyZWF0ZVdyYXBwZXI8
Q2xhc3NOYW1lOjpTVkdBbmltYXRlZFRlbXBsYXRlIyNVcHBlclByb3BlcnR5LCBTVkdFbGVtZW50
Pihjb250ZXh0LCBBdHRyTmFtZSwgQXR0ck5hbWUubG9jYWxOYW1lKCksIGNvbnRleHQtPnN5bmNo
cm9uaXplckZvciMjVXBwZXJQcm9wZXJ0eSgpKTsgXAorfSBcCitcCitTVkdFbGVtZW50OjpBbmlt
YXRlZFByb3BlcnR5U3luY2hyb25pemVyIENsYXNzTmFtZTo6c3luY2hyb25pemVyRm9yIyNVcHBl
clByb3BlcnR5KCkgXAoreyBcCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7IFwKKyAgICByZXR1
cm4gMDsgXAogfQogCisjZGVmaW5lIEFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TX1JFRkNP
VU5URURfV0lUSF9DT05URVhUKENsYXNzTmFtZSwgQmFyZVR5cGUsIFVwcGVyQ2xhc3NOYW1lLCBM
b3dlckNsYXNzTmFtZSwgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9wZXJ0eSwgQXR0ck5hbWUsIFN0
b3JhZ2VHZXR0ZXIpIFwKK0FOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TX1dJVEhfQ09OVEVY
VChDbGFzc05hbWUsIEJhcmVUeXBlKiwgVXBwZXJDbGFzc05hbWUsIExvd2VyQ2xhc3NOYW1lLCBV
cHBlclByb3BlcnR5LCBMb3dlclByb3BlcnR5LCBBdHRyTmFtZSwgc3RhdGljX2Nhc3Q8UmVmUHRy
PEJhcmVUeXBlPiA+KFN0b3JhZ2VHZXR0ZXIpLmdldCgpKQorCiAjZGVmaW5lIEFOSU1BVEVEX1BS
T1BFUlRZX0RFRklOSVRJT05TX1dJVEhfQ1VTVE9NX0lERU5USUZJRVIoQ2xhc3NOYW1lLCBCYXJl
VHlwZSwgVXBwZXJDbGFzc05hbWUsIExvd2VyQ2xhc3NOYW1lLCBVcHBlclByb3BlcnR5LCBMb3dl
clByb3BlcnR5LCBBdHRyTmFtZSwgQXR0cklkZW50aWZpZXIsIFN0b3JhZ2VHZXR0ZXIpIFwKLUFO
SU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TX0lOVEVSTkFMKENsYXNzTmFtZSwgQ2xhc3NOYW1l
LCBCYXJlVHlwZSwgVXBwZXJDbGFzc05hbWUsIExvd2VyQ2xhc3NOYW1lLCBVcHBlclByb3BlcnR5
LCBMb3dlclByb3BlcnR5LCBBdHRyTmFtZS5sb2NhbE5hbWUoKSwgU3RvcmFnZUdldHRlciwgdGhp
cykgXAotUGFzc1JlZlB0cjxDbGFzc05hbWU6OlNWR0FuaW1hdGVkVGVtcGxhdGUjI1VwcGVyUHJv
cGVydHk+IENsYXNzTmFtZTo6TG93ZXJQcm9wZXJ0eSMjQW5pbWF0ZWQoKSBjb25zdCBcCitBTklN
QVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OU19JTlRFUk5BTChDbGFzc05hbWUsIENsYXNzTmFtZSwg
QmFyZVR5cGUsIFVwcGVyQ2xhc3NOYW1lLCBMb3dlckNsYXNzTmFtZSwgVXBwZXJQcm9wZXJ0eSwg
TG93ZXJQcm9wZXJ0eSwgQXR0ck5hbWUsIFN0b3JhZ2VHZXR0ZXIsIGNvbnN0X2Nhc3Q8Q2xhc3NO
YW1lKj4odGhpcykpIFwKK1Bhc3NSZWZQdHI8Q2xhc3NOYW1lOjpTVkdBbmltYXRlZFRlbXBsYXRl
IyNVcHBlclByb3BlcnR5PiBDbGFzc05hbWU6Okxvd2VyUHJvcGVydHkjI0FuaW1hdGVkKCkgXAor
eyBcCisgICAgcmV0dXJuIGxvb2t1cE9yQ3JlYXRlV3JhcHBlcjxDbGFzc05hbWU6OlNWR0FuaW1h
dGVkVGVtcGxhdGUjI1VwcGVyUHJvcGVydHksIENsYXNzTmFtZT4odGhpcywgQXR0ck5hbWUsIEF0
dHJJZGVudGlmaWVyLCBzeW5jaHJvbml6ZXJGb3IjI1VwcGVyUHJvcGVydHkoKSk7IFwKK30gXAor
XAorU1ZHRWxlbWVudDo6QW5pbWF0ZWRQcm9wZXJ0eVN5bmNocm9uaXplciBDbGFzc05hbWU6OnN5
bmNocm9uaXplckZvciMjVXBwZXJQcm9wZXJ0eSgpIFwKIHsgXAotICAgIHJldHVybiBsb29rdXBP
ckNyZWF0ZVdyYXBwZXI8Q2xhc3NOYW1lOjpTVkdBbmltYXRlZFRlbXBsYXRlIyNVcHBlclByb3Bl
cnR5LCBDbGFzc05hbWU+KHRoaXMsIEF0dHJOYW1lLCBBdHRySWRlbnRpZmllcik7IFwKKyAgICBy
ZXR1cm4gc3RhdGljX2Nhc3Q8U1ZHRWxlbWVudDo6QW5pbWF0ZWRQcm9wZXJ0eVN5bmNocm9uaXpl
cj4oJkNsYXNzTmFtZTo6c3luY2hyb25pemUjI1VwcGVyUHJvcGVydHkpOyBcCiB9CiAKKyNkZWZp
bmUgQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlNfUkVGQ09VTlRFRF9XSVRIX0NVU1RPTV9J
REVOVElGSUVSKENsYXNzTmFtZSwgQmFyZVR5cGUsIFVwcGVyQ2xhc3NOYW1lLCBMb3dlckNsYXNz
TmFtZSwgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9wZXJ0eSwgQXR0ck5hbWUsIEF0dHJJZGVudGlm
aWVyLCBTdG9yYWdlR2V0dGVyKSBcCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OU19XSVRI
X0NVU1RPTV9JREVOVElGSUVSKENsYXNzTmFtZSwgQmFyZVR5cGUqLCBVcHBlckNsYXNzTmFtZSwg
TG93ZXJDbGFzc05hbWUsIFVwcGVyUHJvcGVydHksIExvd2VyUHJvcGVydHksIEF0dHJOYW1lLCBB
dHRySWRlbnRpZmllciwgc3RhdGljX2Nhc3Q8UmVmUHRyPEJhcmVUeXBlPiA+KFN0b3JhZ2VHZXR0
ZXIpLmdldCgpKQorCiAjZGVmaW5lIEFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKENsYXNz
TmFtZSwgQmFyZVR5cGUsIFVwcGVyQ2xhc3NOYW1lLCBMb3dlckNsYXNzTmFtZSwgVXBwZXJQcm9w
ZXJ0eSwgTG93ZXJQcm9wZXJ0eSwgQXR0ck5hbWUsIFN0b3JhZ2VHZXR0ZXIpIFwKIEFOSU1BVEVE
X1BST1BFUlRZX0RFRklOSVRJT05TX1dJVEhfQ1VTVE9NX0lERU5USUZJRVIoQ2xhc3NOYW1lLCBC
YXJlVHlwZSwgVXBwZXJDbGFzc05hbWUsIExvd2VyQ2xhc3NOYW1lLCBVcHBlclByb3BlcnR5LCBM
b3dlclByb3BlcnR5LCBBdHRyTmFtZSwgQXR0ck5hbWUubG9jYWxOYW1lKCksIFN0b3JhZ2VHZXR0
ZXIpCiAKKyNkZWZpbmUgQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlNfUkVGQ09VTlRFRChD
bGFzc05hbWUsIEJhcmVUeXBlLCBVcHBlckNsYXNzTmFtZSwgTG93ZXJDbGFzc05hbWUsIFVwcGVy
UHJvcGVydHksIExvd2VyUHJvcGVydHksIEF0dHJOYW1lLCBTdG9yYWdlR2V0dGVyKSBcCitBTklN
QVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OU19XSVRIX0NVU1RPTV9JREVOVElGSUVSKENsYXNzTmFt
ZSwgQmFyZVR5cGUqLCBVcHBlckNsYXNzTmFtZSwgTG93ZXJDbGFzc05hbWUsIFVwcGVyUHJvcGVy
dHksIExvd2VyUHJvcGVydHksIEF0dHJOYW1lLCBBdHRyTmFtZS5sb2NhbE5hbWUoKSwgc3RhdGlj
X2Nhc3Q8UmVmUHRyPEJhcmVUeXBlPiA+KFN0b3JhZ2VHZXR0ZXIpLmdldCgpKQorCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKICAgICBjbGFzcyBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvOwpAQCAtMjI5
LDYgKzM3Nyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVhbCBBZmZpbmVU
cmFuc2Zvcm0qIHN1cHBsZW1lbnRhbFRyYW5zZm9ybSgpIHsgcmV0dXJuIDA7IH0KIAogICAgICAg
ICAvLyBGb3J3YXJkZWQgcHJvcGVydGllcyAoZGVjbGFyZWQvZGVmaW5lZCBhbnl3aGVyZSBlbHNl
IGluIHRoZSBpbmhlcml0YW5jZSBzdHJ1Y3R1cmUpCisgICAgICAgIHR5cGVkZWYgdm9pZCAoU1ZH
RWxlbWVudDo6KkFuaW1hdGVkUHJvcGVydHlTeW5jaHJvbml6ZXIpKCk7CiAKICAgICAgICAgLy8g
LT4gRm9yIFNWR1VSSVJlZmVyZW5jZQogICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9FTVBUWV9E
RUNMQVJBVElPTlMoU3RyaW5nLCBTdHJpbmcoKSwgSHJlZiwgaHJlZikKQEAgLTI0Miw2ICszOTEs
MTMgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAgIHZpcnR1YWwgYm9vbCBkaXNwYXRj
aEV2ZW50KFBhc3NSZWZQdHI8RXZlbnQ+IGUsIEV4Y2VwdGlvbkNvZGUmIGVjLCBib29sIHRlbXBF
dmVudCA9IGZhbHNlKTsKIAorICAgICAgICB2aXJ0dWFsIHZvaWQgaW52b2tlU1ZHUHJvcGVydHlT
eW5jaHJvbml6ZXIoU3RyaW5nSW1wbCopIGNvbnN0IHsgfQorICAgICAgICB2aXJ0dWFsIHZvaWQg
aW52b2tlQWxsU1ZHUHJvcGVydHlTeW5jaHJvbml6ZXJzKCkgY29uc3QgeyB9CisgICAgICAgIHZp
cnR1YWwgdm9pZCBhZGRTVkdQcm9wZXJ0eVN5bmNocm9uaXplcihjb25zdCBRdWFsaWZpZWROYW1l
JiwgQW5pbWF0ZWRQcm9wZXJ0eVN5bmNocm9uaXplcikgeyBBU1NFUlRfTk9UX1JFQUNIRUQoKTsg
fQorCisgICAgICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVBbmltYXRlZFNWR0F0dHJpYnV0ZShTdHJp
bmdJbXBsKikgY29uc3Q7CisgICAgICAgIHZpcnR1YWwgdm9pZCBzZXRTeW5jaHJvbml6ZWRTVkdB
dHRyaWJ1dGVzKGJvb2wpIGNvbnN0OworCiAgICAgcHJpdmF0ZToKICAgICAgICAgdm9pZCBhZGRT
VkdFdmVudExpc3RlbmVyKGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBjb25zdCBBdHRy
aWJ1dGUqKTsKICAgICAgICAgdmlydHVhbCBib29sIGhhdmVMb2FkZWRSZXF1aXJlZFJlc291cmNl
cygpOwpJbmRleDogV2ViQ29yZS9zdmcvU1ZHRWxsaXBzZUVsZW1lbnQuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvc3ZnL1NWR0VsbGlwc2VFbGVtZW50LmNwcAkocmV2aXNpb24gMzQ4ODcpCisr
KyBXZWJDb3JlL3N2Zy9TVkdFbGxpcHNlRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM3
LDEwICszNywxMCBAQCBTVkdFbGxpcHNlRWxlbWVudDo6U1ZHRWxsaXBzZUVsZW1lbnQoY29uCiAg
ICAgLCBTVkdUZXN0cygpCiAgICAgLCBTVkdMYW5nU3BhY2UoKQogICAgICwgU1ZHRXh0ZXJuYWxS
ZXNvdXJjZXNSZXF1aXJlZCgpCi0gICAgLCBtX2N4KHRoaXMsIExlbmd0aE1vZGVXaWR0aCkKLSAg
ICAsIG1fY3kodGhpcywgTGVuZ3RoTW9kZUhlaWdodCkKLSAgICAsIG1fcngodGhpcywgTGVuZ3Ro
TW9kZVdpZHRoKQotICAgICwgbV9yeSh0aGlzLCBMZW5ndGhNb2RlSGVpZ2h0KQorICAgICwgbV9j
eChTVkdMZW5ndGgodGhpcywgTGVuZ3RoTW9kZVdpZHRoKSkKKyAgICAsIG1fY3koU1ZHTGVuZ3Ro
KHRoaXMsIExlbmd0aE1vZGVIZWlnaHQpKQorICAgICwgbV9yeChTVkdMZW5ndGgodGhpcywgTGVu
Z3RoTW9kZVdpZHRoKSkKKyAgICAsIG1fcnkoU1ZHTGVuZ3RoKHRoaXMsIExlbmd0aE1vZGVIZWln
aHQpKQogewogfSAgICAKIApJbmRleDogV2ViQ29yZS9zdmcvU1ZHRWxsaXBzZUVsZW1lbnQuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdFbGxpcHNlRWxlbWVudC5oCShyZXZpc2lvbiAz
NDg4NykKKysrIFdlYkNvcmUvc3ZnL1NWR0VsbGlwc2VFbGVtZW50LmgJKHdvcmtpbmcgY29weSkK
QEAgLTQ3LDExICs0NywxMSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwg
UGF0aCB0b1BhdGhEYXRhKCkgY29uc3Q7CiAKICAgICBwcm90ZWN0ZWQ6Ci0gICAgICAgIHZpcnR1
YWwgY29uc3QgU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSBjb25zdCB7IHJldHVybiB0aGlz
OyB9CisgICAgICAgIHZpcnR1YWwgU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSB7IHJldHVy
biB0aGlzOyB9CiAgICAgICAgIHZpcnR1YWwgYm9vbCBoYXNSZWxhdGl2ZVZhbHVlcygpIGNvbnN0
OwogCiAgICAgcHJpdmF0ZToKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNM
QVJBVElPTlMoU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgYm9vbCwgRXh0ZXJuYWxSZXNv
dXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkKKyAgICAgICAgQU5JTUFU
RURfUFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHRWxsaXBzZUVsZW1lbnQsIFNWR0V4
dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGJvb2wsIEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQs
IGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpCiAgCiAgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZ
X0RFQ0xBUkFUSU9OUyhTVkdFbGxpcHNlRWxlbWVudCwgU1ZHTGVuZ3RoLCBTVkdMZW5ndGgsIEN4
LCBjeCkKICAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0VsbGlwc2VF
bGVtZW50LCBTVkdMZW5ndGgsIFNWR0xlbmd0aCwgQ3ksIGN5KQpJbmRleDogV2ViQ29yZS9zdmcv
U1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3Zn
L1NWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQuaAkocmV2aXNpb24gMzQ4ODcpCisrKyBXZWJD
b3JlL3N2Zy9TVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLmgJKHdvcmtpbmcgY29weSkKQEAg
LTUwLDcgKzUwLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBib29sIGlzS25vd25B
dHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYpOwogCiAgICAgcHJvdGVjdGVkOgotICAgICAg
ICB2aXJ0dWFsIGNvbnN0IFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgY29uc3QgPSAwOwor
ICAgICAgICB2aXJ0dWFsIFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgPSAwOwogCiAgICAg
cHJpdmF0ZToKICAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TX1dJVEhfQ09O
VEVYVChTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBib29sLCBib29sLCBFeHRlcm5hbFJl
c291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQpJbmRleDogV2ViQ29y
ZS9zdmcvU1ZHRkVCbGVuZEVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdG
RUJsZW5kRWxlbWVudC5oCShyZXZpc2lvbiAzNDg4NykKKysrIFdlYkNvcmUvc3ZnL1NWR0ZFQmxl
bmRFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTM5LDcgKzM5LDcgQEAgbmFtZXNwYWNlIFdl
YkNvcmUKICAgICAgICAgdmlydHVhbCBTVkdGRUJsZW5kKiBmaWx0ZXJFZmZlY3QoU1ZHUmVzb3Vy
Y2VGaWx0ZXIqKSBjb25zdDsKIAogICAgIHByb3RlY3RlZDoKLSAgICAgICAgdmlydHVhbCBjb25z
dCBTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIHRoaXM7IH0KKyAg
ICAgICAgdmlydHVhbCBTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCgpIHsgcmV0dXJuIHRoaXM7
IH0KIAogICAgIHByaXZhdGU6CiAgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9O
UyhTVkdGRUJsZW5kRWxlbWVudCwgU3RyaW5nLCBTdHJpbmcsIEluMSwgaW4xKQpJbmRleDogV2Vi
Q29yZS9zdmcvU1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvc3ZnL1NWR0ZFQ29sb3JNYXRyaXhFbGVtZW50LmNwcAkocmV2aXNpb24gMzQ4ODcpCisrKyBX
ZWJDb3JlL3N2Zy9TVkdGRUNvbG9yTWF0cml4RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTQ1LDcgKzQ1LDcgQEAgU1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQ6On5TVkdGRUNvbG9yTWF0cgog
CiBBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdGRUNvbG9yTWF0cml4RWxlbWVudCwg
U3RyaW5nLCBTdHJpbmcsIHN0cmluZywgSW4xLCBpbjEsIFNWR05hbWVzOjppbkF0dHIsIG1faW4x
KQogQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQs
IGludCwgRW51bWVyYXRpb24sIGVudW1lcmF0aW9uLCBUeXBlLCB0eXBlLCBTVkdOYW1lczo6dHlw
ZUF0dHIsIG1fdHlwZSkKLUFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0ZFQ29sb3JN
YXRyaXhFbGVtZW50LCBTVkdOdW1iZXJMaXN0KiwgTnVtYmVyTGlzdCwgbnVtYmVyTGlzdCwgVmFs
dWVzLCB2YWx1ZXMsIFNWR05hbWVzOjp2YWx1ZXNBdHRyLCBtX3ZhbHVlcy5nZXQoKSkKK0FOSU1B
VEVEX1BST1BFUlRZX0RFRklOSVRJT05TX1JFRkNPVU5URUQoU1ZHRkVDb2xvck1hdHJpeEVsZW1l
bnQsIFNWR051bWJlckxpc3QsIE51bWJlckxpc3QsIG51bWJlckxpc3QsIFZhbHVlcywgdmFsdWVz
LCBTVkdOYW1lczo6dmFsdWVzQXR0ciwgbV92YWx1ZXMpCiAKIHZvaWQgU1ZHRkVDb2xvck1hdHJp
eEVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKE1hcHBlZEF0dHJpYnV0ZSogYXR0cikKIHsK
SW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0ZFQ29sb3JNYXRyaXhFbGVtZW50LmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9zdmcvU1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQuaAkocmV2aXNpb24gMzQ4ODcp
CisrKyBXZWJDb3JlL3N2Zy9TVkdGRUNvbG9yTWF0cml4RWxlbWVudC5oCSh3b3JraW5nIGNvcHkp
CkBAIC00MSw3ICs0MSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlCiAgICAgICAgIHZpcnR1YWwgU1ZH
RkVDb2xvck1hdHJpeCogZmlsdGVyRWZmZWN0KFNWR1Jlc291cmNlRmlsdGVyKikgY29uc3Q7CiAK
ICAgICBwcm90ZWN0ZWQ6Ci0gICAgICAgIHZpcnR1YWwgY29uc3QgU1ZHRWxlbWVudCogY29udGV4
dEVsZW1lbnQoKSBjb25zdCB7IHJldHVybiB0aGlzOyB9CisgICAgICAgIHZpcnR1YWwgU1ZHRWxl
bWVudCogY29udGV4dEVsZW1lbnQoKSB7IHJldHVybiB0aGlzOyB9CiAKICAgICBwcml2YXRlOgog
ICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRkVDb2xvck1hdHJpeEVs
ZW1lbnQsIFN0cmluZywgU3RyaW5nLCBJbjEsIGluMSkKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0ZF
Q29tcG9uZW50VHJhbnNmZXJFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZH
RkVDb21wb25lbnRUcmFuc2ZlckVsZW1lbnQuaAkocmV2aXNpb24gMzQ4ODcpCisrKyBXZWJDb3Jl
L3N2Zy9TVkdGRUNvbXBvbmVudFRyYW5zZmVyRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC00
MCw3ICs0MCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlCiAgICAgICAgIHZpcnR1YWwgU1ZHRkVDb21w
b25lbnRUcmFuc2ZlciogZmlsdGVyRWZmZWN0KFNWR1Jlc291cmNlRmlsdGVyKikgY29uc3Q7CiAK
ICAgICBwcm90ZWN0ZWQ6Ci0gICAgICAgIHZpcnR1YWwgY29uc3QgU1ZHRWxlbWVudCogY29udGV4
dEVsZW1lbnQoKSBjb25zdCB7IHJldHVybiB0aGlzOyB9CisgICAgICAgIHZpcnR1YWwgU1ZHRWxl
bWVudCogY29udGV4dEVsZW1lbnQoKSB7IHJldHVybiB0aGlzOyB9CiAKICAgICBwcml2YXRlOgog
ICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRkVDb21wb25lbnRUcmFu
c2ZlckVsZW1lbnQsIFN0cmluZywgU3RyaW5nLCBJbjEsIGluMSkKSW5kZXg6IFdlYkNvcmUvc3Zn
L1NWR0ZFQ29tcG9zaXRlRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0ZF
Q29tcG9zaXRlRWxlbWVudC5oCShyZXZpc2lvbiAzNDg4NykKKysrIFdlYkNvcmUvc3ZnL1NWR0ZF
Q29tcG9zaXRlRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC00MCw3ICs0MCw3IEBAIG5hbWVz
cGFjZSBXZWJDb3JlCiAgICAgICAgIHZpcnR1YWwgU1ZHRkVDb21wb3NpdGUqIGZpbHRlckVmZmVj
dChTVkdSZXNvdXJjZUZpbHRlciopIGNvbnN0OwogCiAgICAgcHJvdGVjdGVkOgotICAgICAgICB2
aXJ0dWFsIGNvbnN0IFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgY29uc3QgeyByZXR1cm4g
dGhpczsgfQorICAgICAgICB2aXJ0dWFsIFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgeyBy
ZXR1cm4gdGhpczsgfQogCiAgICAgcHJpdmF0ZToKICAgICAgICAgQU5JTUFURURfUFJPUEVSVFlf
REVDTEFSQVRJT05TKFNWR0ZFQ29tcG9zaXRlRWxlbWVudCwgU3RyaW5nLCBTdHJpbmcsIEluMSwg
aW4xKQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHRkVEaWZmdXNlTGlnaHRpbmdFbGVtZW50LmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHRkVEaWZmdXNlTGlnaHRpbmdFbGVtZW50LmgJKHJl
dmlzaW9uIDM0ODg3KQorKysgV2ViQ29yZS9zdmcvU1ZHRkVEaWZmdXNlTGlnaHRpbmdFbGVtZW50
LmgJKHdvcmtpbmcgY29weSkKQEAgLTM5LDcgKzM5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgICAgICB2aXJ0dWFsIFNWR0ZpbHRlckVmZmVjdCogZmlsdGVyRWZmZWN0KFNWR1Jlc291cmNl
RmlsdGVyKikgY29uc3Q7CiAKICAgICBwcm90ZWN0ZWQ6Ci0gICAgICAgIHZpcnR1YWwgY29uc3Qg
U1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSBjb25zdCB7IHJldHVybiB0aGlzOyB9CisgICAg
ICAgIHZpcnR1YWwgU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSB7IHJldHVybiB0aGlzOyB9
CiAKICAgICBwcml2YXRlOgogICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMo
U1ZHRkVEaWZmdXNlTGlnaHRpbmdFbGVtZW50LCBTdHJpbmcsIFN0cmluZywgSW4xLCBpbjEpCklu
ZGV4OiBXZWJDb3JlL3N2Zy9TVkdGRURpc3BsYWNlbWVudE1hcEVsZW1lbnQuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL3N2Zy9TVkdGRURpc3BsYWNlbWVudE1hcEVsZW1lbnQuaAkocmV2aXNpb24g
MzQ4ODcpCisrKyBXZWJDb3JlL3N2Zy9TVkdGRURpc3BsYWNlbWVudE1hcEVsZW1lbnQuaAkod29y
a2luZyBjb3B5KQpAQCAtMzcsNyArMzcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAg
IHZpcnR1YWwgU1ZHRkVEaXNwbGFjZW1lbnRNYXAqIGZpbHRlckVmZmVjdChTVkdSZXNvdXJjZUZp
bHRlciopIGNvbnN0OwogICAgICAgICAKICAgICBwcm90ZWN0ZWQ6Ci0gICAgICAgIHZpcnR1YWwg
Y29uc3QgU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSBjb25zdCB7IHJldHVybiB0aGlzOyB9
CisgICAgICAgIHZpcnR1YWwgU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSB7IHJldHVybiB0
aGlzOyB9CiAKICAgICBwcml2YXRlOgogICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJB
VElPTlMoU1ZHRkVEaXNwbGFjZW1lbnRNYXBFbGVtZW50LCBTdHJpbmcsIFN0cmluZywgSW4xLCBp
bjEpCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdGRUZsb29kRWxlbWVudC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvc3ZnL1NWR0ZFRmxvb2RFbGVtZW50LmgJKHJldmlzaW9uIDM0ODg3KQorKysgV2Vi
Q29yZS9zdmcvU1ZHRkVGbG9vZEVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMzksNyArMzks
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZQogICAgICAgICB2aXJ0dWFsIFNWR0ZFRmxvb2QqIGZpbHRl
ckVmZmVjdChTVkdSZXNvdXJjZUZpbHRlciopIGNvbnN0OwogCiAgICAgcHJvdGVjdGVkOgotICAg
ICAgICB2aXJ0dWFsIGNvbnN0IFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgY29uc3QgeyBy
ZXR1cm4gdGhpczsgfQorICAgICAgICB2aXJ0dWFsIFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50
KCkgeyByZXR1cm4gdGhpczsgfQogCiAgICAgcHJpdmF0ZToKICAgICAgICAgbXV0YWJsZSBSZWZQ
dHI8U1ZHRkVGbG9vZD4gbV9maWx0ZXJFZmZlY3Q7CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdGRUdh
dXNzaWFuQmx1ckVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdGRUdhdXNz
aWFuQmx1ckVsZW1lbnQuaAkocmV2aXNpb24gMzQ4ODcpCisrKyBXZWJDb3JlL3N2Zy9TVkdGRUdh
dXNzaWFuQmx1ckVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNDIsNyArNDIsNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZQogICAgICAgICB2aXJ0dWFsIFNWR0ZFR2F1c3NpYW5CbHVyKiBmaWx0ZXJF
ZmZlY3QoU1ZHUmVzb3VyY2VGaWx0ZXIqKSBjb25zdDsKIAogICAgIHByb3RlY3RlZDoKLSAgICAg
ICAgdmlydHVhbCBjb25zdCBTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCgpIGNvbnN0IHsgcmV0
dXJuIHRoaXM7IH0KKyAgICAgICAgdmlydHVhbCBTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCgp
IHsgcmV0dXJuIHRoaXM7IH0KIAogICAgIHByaXZhdGU6CiAgICAgICAgIEFOSU1BVEVEX1BST1BF
UlRZX0RFQ0xBUkFUSU9OUyhTVkdGRUdhdXNzaWFuQmx1ckVsZW1lbnQsIFN0cmluZywgU3RyaW5n
LCBJbjEsIGluMSkKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0ZFSW1hZ2VFbGVtZW50LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdGRUltYWdlRWxlbWVudC5jcHAJKHJldmlzaW9uIDM0
ODg3KQorKysgV2ViQ29yZS9zdmcvU1ZHRkVJbWFnZUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC01Myw3ICs1Myw3IEBAIFNWR0ZFSW1hZ2VFbGVtZW50Ojp+U1ZHRkVJbWFnZUVsZW1lbnQo
KQogICAgICAgICBtX2NhY2hlZEltYWdlLT5yZW1vdmVDbGllbnQodGhpcyk7CiB9CiAKLUFOSU1B
VEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0ZFSW1hZ2VFbGVtZW50LCBTVkdQcmVzZXJ2ZUFz
cGVjdFJhdGlvKiwgUHJlc2VydmVBc3BlY3RSYXRpbywgcHJlc2VydmVBc3BlY3RSYXRpbywgUHJl
c2VydmVBc3BlY3RSYXRpbywgcHJlc2VydmVBc3BlY3RSYXRpbywgU1ZHTmFtZXM6OnByZXNlcnZl
QXNwZWN0UmF0aW9BdHRyLCBtX3ByZXNlcnZlQXNwZWN0UmF0aW8uZ2V0KCkpCitBTklNQVRFRF9Q
Uk9QRVJUWV9ERUZJTklUSU9OU19SRUZDT1VOVEVEKFNWR0ZFSW1hZ2VFbGVtZW50LCBTVkdQcmVz
ZXJ2ZUFzcGVjdFJhdGlvLCBQcmVzZXJ2ZUFzcGVjdFJhdGlvLCBwcmVzZXJ2ZUFzcGVjdFJhdGlv
LCBQcmVzZXJ2ZUFzcGVjdFJhdGlvLCBwcmVzZXJ2ZUFzcGVjdFJhdGlvLCBTVkdOYW1lczo6cHJl
c2VydmVBc3BlY3RSYXRpb0F0dHIsIG1fcHJlc2VydmVBc3BlY3RSYXRpbykKIAogdm9pZCBTVkdG
RUltYWdlRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoTWFwcGVkQXR0cmlidXRlKiBhdHRy
KQogewpJbmRleDogV2ViQ29yZS9zdmcvU1ZHRkVJbWFnZUVsZW1lbnQuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL3N2Zy9TVkdGRUltYWdlRWxlbWVudC5oCShyZXZpc2lvbiAzNDg4NykKKysrIFdl
YkNvcmUvc3ZnL1NWR0ZFSW1hZ2VFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTUyLDExICs1
MiwxMSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgU1ZHRkVJbWFnZSog
ZmlsdGVyRWZmZWN0KFNWR1Jlc291cmNlRmlsdGVyKikgY29uc3Q7CiAKICAgICBwcm90ZWN0ZWQ6
Ci0gICAgICAgIHZpcnR1YWwgY29uc3QgU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSBjb25z
dCB7IHJldHVybiB0aGlzOyB9CisgICAgICAgIHZpcnR1YWwgU1ZHRWxlbWVudCogY29udGV4dEVs
ZW1lbnQoKSB7IHJldHVybiB0aGlzOyB9CiAKICAgICBwcml2YXRlOgotICAgICAgICBBTklNQVRF
RF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdVUklSZWZlcmVuY2UsIFN0cmluZywg
SHJlZiwgaHJlZikKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElP
TlMoU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgYm9vbCwgRXh0ZXJuYWxSZXNvdXJjZXNS
ZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkKKyAgICAgICAgQU5JTUFURURfUFJP
UEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHRkVJbWFnZUVsZW1lbnQsIFNWR1VSSVJlZmVy
ZW5jZSwgU3RyaW5nLCBIcmVmLCBocmVmKQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9GT1JX
QVJEX0RFQ0xBUkFUSU9OUyhTVkdGRUltYWdlRWxlbWVudCwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNS
ZXF1aXJlZCwgYm9vbCwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJj
ZXNSZXF1aXJlZCkKICAKICAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNW
R0ZFSW1hZ2VFbGVtZW50LCBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvKiwgUmVmUHRyPFNWR1ByZXNl
cnZlQXNwZWN0UmF0aW8+LCBQcmVzZXJ2ZUFzcGVjdFJhdGlvLCBwcmVzZXJ2ZUFzcGVjdFJhdGlv
KQogCkBAIC02OCw1ICs2OCwzIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogI2VuZGlmIC8vIEVO
QUJMRShTVkcpCiAjZW5kaWYKLQotLy8gdmltOnRzPTQ6bm9ldApJbmRleDogV2ViQ29yZS9zdmcv
U1ZHRkVMaWdodEVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdGRUxpZ2h0
RWxlbWVudC5oCShyZXZpc2lvbiAzNDg4NykKKysrIFdlYkNvcmUvc3ZnL1NWR0ZFTGlnaHRFbGVt
ZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTQwLDYgKzQwLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUK
ICAgICAgICAgdmlydHVhbCB2b2lkIHBhcnNlTWFwcGVkQXR0cmlidXRlKE1hcHBlZEF0dHJpYnV0
ZSopOwogCiAgICAgcHJpdmF0ZToKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfU1RBUlRfREVD
TEFSQVRJT05TKFNWR0ZFTGlnaHRFbGVtZW50KQogICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9E
RUNMQVJBVElPTlMoU1ZHRkVMaWdodEVsZW1lbnQsIGZsb2F0LCBmbG9hdCwgQXppbXV0aCwgYXpp
bXV0aCkKICAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0ZFTGlnaHRF
bGVtZW50LCBmbG9hdCwgZmxvYXQsIEVsZXZhdGlvbiwgZWxldmF0aW9uKQogICAgICAgICBBTklN
QVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRkVMaWdodEVsZW1lbnQsIGZsb2F0LCBmbG9h
dCwgWCwgeCkKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0ZFTWVyZ2VFbGVtZW50LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9zdmcvU1ZHRkVNZXJnZUVsZW1lbnQuaAkocmV2aXNpb24gMzQ4ODcpCisr
KyBXZWJDb3JlL3N2Zy9TVkdGRU1lcmdlRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zOCw3
ICszOCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlCiAgICAgICAgIHZpcnR1YWwgU1ZHRkVNZXJnZSog
ZmlsdGVyRWZmZWN0KFNWR1Jlc291cmNlRmlsdGVyKikgY29uc3Q7CiAKICAgICBwcm90ZWN0ZWQ6
Ci0gICAgICAgIHZpcnR1YWwgY29uc3QgU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSBjb25z
dCB7IHJldHVybiB0aGlzOyB9CisgICAgICAgIHZpcnR1YWwgU1ZHRWxlbWVudCogY29udGV4dEVs
ZW1lbnQoKSB7IHJldHVybiB0aGlzOyB9CiAKICAgICBwcml2YXRlOgogICAgICAgICBtdXRhYmxl
IFJlZlB0cjxTVkdGRU1lcmdlPiBtX2ZpbHRlckVmZmVjdDsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NW
R0ZFTWVyZ2VOb2RlRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0ZFTWVy
Z2VOb2RlRWxlbWVudC5oCShyZXZpc2lvbiAzNDg4NykKKysrIFdlYkNvcmUvc3ZnL1NWR0ZFTWVy
Z2VOb2RlRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNyw5ICszNywxMCBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZQogICAgICAgICB2aXJ0dWFsIHZvaWQgcGFyc2VNYXBwZWRBdHRyaWJ1dGUoTWFw
cGVkQXR0cmlidXRlKik7CiAKICAgICBwcm90ZWN0ZWQ6Ci0gICAgICAgIHZpcnR1YWwgY29uc3Qg
U1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSBjb25zdCB7IHJldHVybiB0aGlzOyB9CisgICAg
ICAgIHZpcnR1YWwgU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSB7IHJldHVybiB0aGlzOyB9
CiAKICAgICBwcml2YXRlOgorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9TVEFSVF9ERUNMQVJB
VElPTlMoU1ZHRkVNZXJnZU5vZGVFbGVtZW50KQogICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9E
RUNMQVJBVElPTlMoU1ZHRkVNZXJnZU5vZGVFbGVtZW50LCBTdHJpbmcsIFN0cmluZywgSW4xLCBp
bjEpCiAgICAgfTsKIApJbmRleDogV2ViQ29yZS9zdmcvU1ZHRkVPZmZzZXRFbGVtZW50LmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHRkVPZmZzZXRFbGVtZW50LmgJKHJldmlzaW9uIDM0
ODg3KQorKysgV2ViQ29yZS9zdmcvU1ZHRkVPZmZzZXRFbGVtZW50LmgJKHdvcmtpbmcgY29weSkK
QEAgLTQwLDcgKzQwLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUKICAgICAgICAgdmlydHVhbCBTVkdG
RU9mZnNldCogZmlsdGVyRWZmZWN0KFNWR1Jlc291cmNlRmlsdGVyKikgY29uc3Q7CiAKICAgICBw
cm90ZWN0ZWQ6Ci0gICAgICAgIHZpcnR1YWwgY29uc3QgU1ZHRWxlbWVudCogY29udGV4dEVsZW1l
bnQoKSBjb25zdCB7IHJldHVybiB0aGlzOyB9CisgICAgICAgIHZpcnR1YWwgU1ZHRWxlbWVudCog
Y29udGV4dEVsZW1lbnQoKSB7IHJldHVybiB0aGlzOyB9CiAKICAgICBwcml2YXRlOgogICAgICAg
ICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRkVPZmZzZXRFbGVtZW50LCBTdHJp
bmcsIFN0cmluZywgSW4xLCBpbjEpCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdGRVNwZWN1bGFyTGln
aHRpbmdFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHRkVTcGVjdWxhckxp
Z2h0aW5nRWxlbWVudC5oCShyZXZpc2lvbiAzNDg4NykKKysrIFdlYkNvcmUvc3ZnL1NWR0ZFU3Bl
Y3VsYXJMaWdodGluZ0VsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNDAsNyArNDAsNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZQogICAgICAgICB2aXJ0dWFsIFNWR0ZFU3BlY3VsYXJMaWdodGluZyog
ZmlsdGVyRWZmZWN0KFNWR1Jlc291cmNlRmlsdGVyKikgY29uc3Q7CiAKICAgICBwcm90ZWN0ZWQ6
Ci0gICAgICAgIHZpcnR1YWwgY29uc3QgU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSBjb25z
dCB7IHJldHVybiB0aGlzOyB9CisgICAgICAgIHZpcnR1YWwgU1ZHRWxlbWVudCogY29udGV4dEVs
ZW1lbnQoKSB7IHJldHVybiB0aGlzOyB9CiAKICAgICBwcml2YXRlOgogICAgICAgICBBTklNQVRF
RF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRkVTcGVjdWxhckxpZ2h0aW5nRWxlbWVudCwgU3Ry
aW5nLCBTdHJpbmcsIEluMSwgaW4xKQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHRkVUaWxlRWxlbWVu
dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0ZFVGlsZUVsZW1lbnQuaAkocmV2aXNp
b24gMzQ4ODcpCisrKyBXZWJDb3JlL3N2Zy9TVkdGRVRpbGVFbGVtZW50LmgJKHdvcmtpbmcgY29w
eSkKQEAgLTM5LDcgKzM5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUKICAgICAgICAgdmlydHVhbCBT
VkdGRVRpbGUqIGZpbHRlckVmZmVjdChTVkdSZXNvdXJjZUZpbHRlciopIGNvbnN0OwogCiAgICAg
cHJvdGVjdGVkOgotICAgICAgICB2aXJ0dWFsIGNvbnN0IFNWR0VsZW1lbnQqIGNvbnRleHRFbGVt
ZW50KCkgY29uc3QgeyByZXR1cm4gdGhpczsgfQorICAgICAgICB2aXJ0dWFsIFNWR0VsZW1lbnQq
IGNvbnRleHRFbGVtZW50KCkgeyByZXR1cm4gdGhpczsgfQogCiAgICAgcHJpdmF0ZToKICAgICAg
ICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0ZFVGlsZUVsZW1lbnQsIFN0cmlu
ZywgU3RyaW5nLCBJbjEsIGluMSkKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0ZFVHVyYnVsZW5jZUVs
ZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdGRVR1cmJ1bGVuY2VFbGVtZW50
LmgJKHJldmlzaW9uIDM0ODg3KQorKysgV2ViQ29yZS9zdmcvU1ZHRkVUdXJidWxlbmNlRWxlbWVu
dC5oCSh3b3JraW5nIGNvcHkpCkBAIC00NSw3ICs0NSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlCiAg
ICAgICAgIHZpcnR1YWwgU1ZHRkVUdXJidWxlbmNlKiBmaWx0ZXJFZmZlY3QoU1ZHUmVzb3VyY2VG
aWx0ZXIqKSBjb25zdDsKIAogICAgIHByb3RlY3RlZDoKLSAgICAgICAgdmlydHVhbCBjb25zdCBT
VkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIHRoaXM7IH0KKyAgICAg
ICAgdmlydHVhbCBTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCgpIHsgcmV0dXJuIHRoaXM7IH0K
IAogICAgIHByaXZhdGU6CiAgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhT
VkdGRVR1cmJ1bGVuY2VFbGVtZW50LCBmbG9hdCwgZmxvYXQsIEJhc2VGcmVxdWVuY3lYLCBiYXNl
RnJlcXVlbmN5WCkKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0ZpbHRlckVsZW1lbnQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0ZpbHRlckVsZW1lbnQuY3BwCShyZXZpc2lvbiAzNDg4
NykKKysrIFdlYkNvcmUvc3ZnL1NWR0ZpbHRlckVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC00MiwxMCArNDIsMTAgQEAgU1ZHRmlsdGVyRWxlbWVudDo6U1ZHRmlsdGVyRWxlbWVudChjb25z
dAogICAgICwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCgpCiAgICAgLCBtX2ZpbHRlclVu
aXRzKFNWR1VuaXRUeXBlczo6U1ZHX1VOSVRfVFlQRV9PQkpFQ1RCT1VORElOR0JPWCkKICAgICAs
IG1fcHJpbWl0aXZlVW5pdHMoU1ZHVW5pdFR5cGVzOjpTVkdfVU5JVF9UWVBFX1VTRVJTUEFDRU9O
VVNFKQotICAgICwgbV94KHRoaXMsIExlbmd0aE1vZGVXaWR0aCkKLSAgICAsIG1feSh0aGlzLCBM
ZW5ndGhNb2RlSGVpZ2h0KQotICAgICwgbV93aWR0aCh0aGlzLCBMZW5ndGhNb2RlV2lkdGgpCi0g
ICAgLCBtX2hlaWdodCh0aGlzLCBMZW5ndGhNb2RlSGVpZ2h0KQorICAgICwgbV94KFNWR0xlbmd0
aCh0aGlzLCBMZW5ndGhNb2RlV2lkdGgpKQorICAgICwgbV95KFNWR0xlbmd0aCh0aGlzLCBMZW5n
dGhNb2RlSGVpZ2h0KSkKKyAgICAsIG1fd2lkdGgoU1ZHTGVuZ3RoKHRoaXMsIExlbmd0aE1vZGVX
aWR0aCkpCisgICAgLCBtX2hlaWdodChTVkdMZW5ndGgodGhpcywgTGVuZ3RoTW9kZUhlaWdodCkp
CiAgICAgLCBtX2ZpbHRlclJlc1goMCkKICAgICAsIG1fZmlsdGVyUmVzWSgwKQogewpJbmRleDog
V2ViQ29yZS9zdmcvU1ZHRmlsdGVyRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3Zn
L1NWR0ZpbHRlckVsZW1lbnQuaAkocmV2aXNpb24gMzQ4ODcpCisrKyBXZWJDb3JlL3N2Zy9TVkdG
aWx0ZXJFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTUxLDExICs1MSwxMSBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgYm9vbCByZW5kZXJlcklzTmVlZGVkKFJlbmRl
clN0eWxlKikgeyByZXR1cm4gZmFsc2U7IH0KIAogICAgIHByb3RlY3RlZDoKLSAgICAgICAgdmly
dHVhbCBjb25zdCBTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIHRo
aXM7IH0KKyAgICAgICAgdmlydHVhbCBTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCgpIHsgcmV0
dXJuIHRoaXM7IH0KIAogICAgIHByaXZhdGU6Ci0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZP
UldBUkRfREVDTEFSQVRJT05TKFNWR1VSSVJlZmVyZW5jZSwgU3RyaW5nLCBIcmVmLCBocmVmKQot
ICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdFeHRlcm5h
bFJlc291cmNlc1JlcXVpcmVkLCBib29sLCBFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRl
cm5hbFJlc291cmNlc1JlcXVpcmVkKQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJE
X0RFQ0xBUkFUSU9OUyhTVkdGaWx0ZXJFbGVtZW50LCBTVkdVUklSZWZlcmVuY2UsIFN0cmluZywg
SHJlZiwgaHJlZikKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElP
TlMoU1ZHRmlsdGVyRWxlbWVudCwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgYm9vbCwg
RXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkKICAK
ICAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0ZpbHRlckVsZW1lbnQs
IGludCwgaW50LCBGaWx0ZXJVbml0cywgZmlsdGVyVW5pdHMpCiAgICAgICAgIEFOSU1BVEVEX1BS
T1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdGaWx0ZXJFbGVtZW50LCBpbnQsIGludCwgUHJpbWl0aXZl
VW5pdHMsIHByaW1pdGl2ZVVuaXRzKQpAQCAtNzMsNSArNzMsMyBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKICNlbmRpZiAvLyBFTkFCTEUoU1ZHKQogI2VuZGlmCi0KLS8vIHZpbTp0cz00Om5vZXQK
SW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcy5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRB
dHRyaWJ1dGVzLmNwcAkocmV2aXNpb24gMzQ4ODcpCisrKyBXZWJDb3JlL3N2Zy9TVkdGaWx0ZXJQ
cmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNiwxMCAr
MzYsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFy
ZEF0dHJpYnV0ZXM6OlNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcyhjb25zdCBR
dWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jKQogICAgIDogU1ZHU3R5bGVkRWxl
bWVudCh0YWdOYW1lLCBkb2MpCi0gICAgLCBtX3godGhpcywgTGVuZ3RoTW9kZVdpZHRoKQotICAg
ICwgbV95KHRoaXMsIExlbmd0aE1vZGVIZWlnaHQpCi0gICAgLCBtX3dpZHRoKHRoaXMsIExlbmd0
aE1vZGVXaWR0aCkKLSAgICAsIG1faGVpZ2h0KHRoaXMsIExlbmd0aE1vZGVIZWlnaHQpCisgICAg
LCBtX3goU1ZHTGVuZ3RoKHRoaXMsIExlbmd0aE1vZGVXaWR0aCkpCisgICAgLCBtX3koU1ZHTGVu
Z3RoKHRoaXMsIExlbmd0aE1vZGVIZWlnaHQpKQorICAgICwgbV93aWR0aChTVkdMZW5ndGgodGhp
cywgTGVuZ3RoTW9kZVdpZHRoKSkKKyAgICAsIG1faGVpZ2h0KFNWR0xlbmd0aCh0aGlzLCBMZW5n
dGhNb2RlSGVpZ2h0KSkKIHsKICAgICAvLyBTcGVjOiBJZiB0aGUgYXR0cmlidXRlIGlzIG5vdCBz
cGVjaWZpZWQsIHRoZSBlZmZlY3QgaXMgYXMgaWYgYSB2YWx1ZSBvZiAiMCUiIHdlcmUgc3BlY2lm
aWVkLgogICAgIHNldFhCYXNlVmFsdWUoU1ZHTGVuZ3RoKHRoaXMsIExlbmd0aE1vZGVXaWR0aCwg
IjAlIikpOwpJbmRleDogV2ViQ29yZS9zdmcvU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRy
aWJ1dGVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHRmlsdGVyUHJpbWl0aXZlU3Rh
bmRhcmRBdHRyaWJ1dGVzLmgJKHJldmlzaW9uIDM0ODg3KQorKysgV2ViQ29yZS9zdmcvU1ZHRmls
dGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ3LDcg
KzQ3LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2b2lkIHNldFN0YW5kYXJkQXR0
cmlidXRlcyhTVkdGaWx0ZXJFZmZlY3QqKSBjb25zdDsKIAogICAgIHByb3RlY3RlZDoKLSAgICAg
ICAgdmlydHVhbCBjb25zdCBTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCgpIGNvbnN0IHsgcmV0
dXJuIHRoaXM7IH0KKyAgICAgICAgdmlydHVhbCBTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCgp
IHsgcmV0dXJuIHRoaXM7IH0KIAogICAgIHByaXZhdGU6CiAgICAgICAgIEFOSU1BVEVEX1BST1BF
UlRZX0RFQ0xBUkFUSU9OUyhTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMsIFNW
R0xlbmd0aCwgU1ZHTGVuZ3RoLCBYLCB4KQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHRml0VG9WaWV3
Qm94LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdGaXRUb1ZpZXdCb3guY3BwCShy
ZXZpc2lvbiAzNDg4NykKKysrIFdlYkNvcmUvc3ZnL1NWR0ZpdFRvVmlld0JveC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTQ2LDcgKzQ2LDcgQEAgU1ZHRml0VG9WaWV3Qm94Ojp+U1ZHRml0VG9WaWV3
Qm94KCkKIH0KIAogQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlNfV0lUSF9DT05URVhUKFNW
R0ZpdFRvVmlld0JveCwgRmxvYXRSZWN0LCBSZWN0LCByZWN0LCBWaWV3Qm94LCB2aWV3Qm94LCBT
VkdOYW1lczo6dmlld0JveEF0dHIsIG1fdmlld0JveCkKLUFOSU1BVEVEX1BST1BFUlRZX0RFRklO
SVRJT05TX1dJVEhfQ09OVEVYVChTVkdGaXRUb1ZpZXdCb3gsIFNWR1ByZXNlcnZlQXNwZWN0UmF0
aW8qLCBQcmVzZXJ2ZUFzcGVjdFJhdGlvLCBwcmVzZXJ2ZUFzcGVjdFJhdGlvLCBQcmVzZXJ2ZUFz
cGVjdFJhdGlvLCBwcmVzZXJ2ZUFzcGVjdFJhdGlvLCBTVkdOYW1lczo6cHJlc2VydmVBc3BlY3RS
YXRpb0F0dHIsIG1fcHJlc2VydmVBc3BlY3RSYXRpby5nZXQoKSkKK0FOSU1BVEVEX1BST1BFUlRZ
X0RFRklOSVRJT05TX1JFRkNPVU5URURfV0lUSF9DT05URVhUKFNWR0ZpdFRvVmlld0JveCwgU1ZH
UHJlc2VydmVBc3BlY3RSYXRpbywgUHJlc2VydmVBc3BlY3RSYXRpbywgcHJlc2VydmVBc3BlY3RS
YXRpbywgUHJlc2VydmVBc3BlY3RSYXRpbywgcHJlc2VydmVBc3BlY3RSYXRpbywgU1ZHTmFtZXM6
OnByZXNlcnZlQXNwZWN0UmF0aW9BdHRyLCBtX3ByZXNlcnZlQXNwZWN0UmF0aW8pCiAKIGJvb2wg
U1ZHRml0VG9WaWV3Qm94OjpwYXJzZVZpZXdCb3goY29uc3QgVUNoYXIqJiBjLCBjb25zdCBVQ2hh
ciogZW5kLCBmbG9hdCYgeCwgZmxvYXQmIHksIGZsb2F0JiB3LCBmbG9hdCYgaCwgYm9vbCB2YWxp
ZGF0ZSkKIHsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0ZpdFRvVmlld0JveC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvc3ZnL1NWR0ZpdFRvVmlld0JveC5oCShyZXZpc2lvbiAzNDg4NykKKysrIFdl
YkNvcmUvc3ZnL1NWR0ZpdFRvVmlld0JveC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNSwxMSArMjUs
MTEgQEAKIAogI2lmIEVOQUJMRShTVkcpCiAjaW5jbHVkZSAiU1ZHRWxlbWVudC5oIgorI2luY2x1
ZGUgIlNWR1ByZXNlcnZlQXNwZWN0UmF0aW8uaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAg
ICAgY2xhc3MgQWZmaW5lVHJhbnNmb3JtOwotICAgIGNsYXNzIFNWR1ByZXNlcnZlQXNwZWN0UmF0
aW87CiAKICAgICBjbGFzcyBTVkdGaXRUb1ZpZXdCb3ggewogICAgIHB1YmxpYzoKQEAgLTQ0LDcg
KzQ0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBib29sIGlzS25vd25BdHRyaWJ1
dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYpOwogCiAgICAgcHJvdGVjdGVkOgotICAgICAgICB2aXJ0
dWFsIGNvbnN0IFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgY29uc3QgPSAwOworICAgICAg
ICB2aXJ0dWFsIFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgPSAwOwogCiAgICAgcHJpdmF0
ZToKICAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TX1dJVEhfQ09OVEVYVChT
VkdGaXRUb1ZpZXdCb3gsIEZsb2F0UmVjdCwgRmxvYXRSZWN0LCBWaWV3Qm94LCB2aWV3Qm94KQpJ
bmRleDogV2ViQ29yZS9zdmcvU1ZHRm9udEVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L3N2Zy9TVkdGb250RWxlbWVudC5oCShyZXZpc2lvbiAzNDg4NykKKysrIFdlYkNvcmUvc3ZnL1NW
R0ZvbnRFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTM4LDcgKzM4LDcgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIH5TVkdGb250RWxlbWVudCgpOwogCiAgICAgICAg
IHZpcnR1YWwgYm9vbCByZW5kZXJlcklzTmVlZGVkKFJlbmRlclN0eWxlKikgeyByZXR1cm4gZmFs
c2U7IH0gICAgCi0gICAgICAgIHZpcnR1YWwgY29uc3QgU1ZHRWxlbWVudCogY29udGV4dEVsZW1l
bnQoKSBjb25zdCB7IHJldHVybiB0aGlzOyB9CisgICAgICAgIHZpcnR1YWwgU1ZHRWxlbWVudCog
Y29udGV4dEVsZW1lbnQoKSB7IHJldHVybiB0aGlzOyB9CiAKICAgICAgICAgdm9pZCBpbnZhbGlk
YXRlR2x5cGhDYWNoZSgpOwogCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdGb3JlaWduT2JqZWN0RWxl
bWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHRm9yZWlnbk9iamVjdEVsZW1l
bnQuY3BwCShyZXZpc2lvbiAzNDg4NykKKysrIFdlYkNvcmUvc3ZnL1NWR0ZvcmVpZ25PYmplY3RF
bGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzksMTAgKzM5LDEwIEBAIFNWR0ZvcmVpZ25P
YmplY3RFbGVtZW50OjpTVkdGb3JlaWduT2JqZWMKICAgICAsIFNWR1Rlc3RzKCkKICAgICAsIFNW
R0xhbmdTcGFjZSgpCiAgICAgLCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKCkKLSAgICAs
IG1feCh0aGlzLCBMZW5ndGhNb2RlV2lkdGgpCi0gICAgLCBtX3kodGhpcywgTGVuZ3RoTW9kZUhl
aWdodCkKLSAgICAsIG1fd2lkdGgodGhpcywgTGVuZ3RoTW9kZVdpZHRoKQotICAgICwgbV9oZWln
aHQodGhpcywgTGVuZ3RoTW9kZUhlaWdodCkKKyAgICAsIG1feChTVkdMZW5ndGgodGhpcywgTGVu
Z3RoTW9kZVdpZHRoKSkKKyAgICAsIG1feShTVkdMZW5ndGgodGhpcywgTGVuZ3RoTW9kZUhlaWdo
dCkpCisgICAgLCBtX3dpZHRoKFNWR0xlbmd0aCh0aGlzLCBMZW5ndGhNb2RlV2lkdGgpKQorICAg
ICwgbV9oZWlnaHQoU1ZHTGVuZ3RoKHRoaXMsIExlbmd0aE1vZGVIZWlnaHQpKQogewogfQogCklu
ZGV4OiBXZWJDb3JlL3N2Zy9TVkdGb3JlaWduT2JqZWN0RWxlbWVudC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvc3ZnL1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50LmgJKHJldmlzaW9uIDM0ODg3KQor
KysgV2ViQ29yZS9zdmcvU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpA
QCAtNDksMTEgKzQ5LDExIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVhbCBS
ZW5kZXJPYmplY3QqIGNyZWF0ZVJlbmRlcmVyKFJlbmRlckFyZW5hKiBhcmVuYSwgUmVuZGVyU3R5
bGUqIHN0eWxlKTsKIAogICAgIHByb3RlY3RlZDoKLSAgICAgICAgdmlydHVhbCBjb25zdCBTVkdF
bGVtZW50KiBjb250ZXh0RWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIHRoaXM7IH0KKyAgICAgICAg
dmlydHVhbCBTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCgpIHsgcmV0dXJuIHRoaXM7IH0KIAog
ICAgIHByaXZhdGU6Ci0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJ
T05TKFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGJvb2wsIEV4dGVybmFsUmVzb3VyY2Vz
UmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpIAotICAgICAgICBBTklNQVRFRF9Q
Uk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdVUklSZWZlcmVuY2UsIFN0cmluZywgSHJl
ZiwgaHJlZikKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMo
U1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGJv
b2wsIEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQp
IAorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdGb3Jl
aWduT2JqZWN0RWxlbWVudCwgU1ZHVVJJUmVmZXJlbmNlLCBTdHJpbmcsIEhyZWYsIGhyZWYpCiAK
ICAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0ZvcmVpZ25PYmplY3RF
bGVtZW50LCBTVkdMZW5ndGgsIFNWR0xlbmd0aCwgWCwgeCkKICAgICAgICAgQU5JTUFURURfUFJP
UEVSVFlfREVDTEFSQVRJT05TKFNWR0ZvcmVpZ25PYmplY3RFbGVtZW50LCBTVkdMZW5ndGgsIFNW
R0xlbmd0aCwgWSwgeSkKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0dFbGVtZW50LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9zdmcvU1ZHR0VsZW1lbnQuaAkocmV2aXNpb24gMzQ4ODcpCisrKyBXZWJD
b3JlL3N2Zy9TVkdHRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC00OCwxMCArNDgsMTAgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIFJlbmRlck9iamVjdCogY3JlYXRl
UmVuZGVyZXIoUmVuZGVyQXJlbmEqLCBSZW5kZXJTdHlsZSopOwogCiAgICAgcHJvdGVjdGVkOgot
ICAgICAgICB2aXJ0dWFsIGNvbnN0IFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgY29uc3Qg
eyByZXR1cm4gdGhpczsgfQorICAgICAgICB2aXJ0dWFsIFNWR0VsZW1lbnQqIGNvbnRleHRFbGVt
ZW50KCkgeyByZXR1cm4gdGhpczsgfQogCiAgICAgcHJpdmF0ZToKLSAgICAgICAgQU5JTUFURURf
UFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJl
ZCwgYm9vbCwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1
aXJlZCkgCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJT05TKFNW
R0dFbGVtZW50LCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBib29sLCBFeHRlcm5hbFJl
c291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKSAKIAogICAgIHByaXZh
dGU6CiAgICAgICAgIGZyaWVuZCBjbGFzcyBTVkdVc2VFbGVtZW50OwpJbmRleDogV2ViQ29yZS9z
dmcvU1ZHR3JhZGllbnRFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdH
cmFkaWVudEVsZW1lbnQuY3BwCShyZXZpc2lvbiAzNDg4NykKKysrIFdlYkNvcmUvc3ZnL1NWR0dy
YWRpZW50RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUzLDcgKzUzLDcgQEAgU1ZHR3Jh
ZGllbnRFbGVtZW50Ojp+U1ZHR3JhZGllbnRFbGVtZW50KAogfQogCiBBTklNQVRFRF9QUk9QRVJU
WV9ERUZJTklUSU9OUyhTVkdHcmFkaWVudEVsZW1lbnQsIGludCwgRW51bWVyYXRpb24sIGVudW1l
cmF0aW9uLCBHcmFkaWVudFVuaXRzLCBncmFkaWVudFVuaXRzLCBTVkdOYW1lczo6Z3JhZGllbnRV
bml0c0F0dHIsIG1fZ3JhZGllbnRVbml0cykKLUFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05T
KFNWR0dyYWRpZW50RWxlbWVudCwgU1ZHVHJhbnNmb3JtTGlzdCosIFRyYW5zZm9ybUxpc3QsIHRy
YW5zZm9ybUxpc3QsIEdyYWRpZW50VHJhbnNmb3JtLCBncmFkaWVudFRyYW5zZm9ybSwgU1ZHTmFt
ZXM6OmdyYWRpZW50VHJhbnNmb3JtQXR0ciwgbV9ncmFkaWVudFRyYW5zZm9ybS5nZXQoKSkKK0FO
SU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TX1JFRkNPVU5URUQoU1ZHR3JhZGllbnRFbGVtZW50
LCBTVkdUcmFuc2Zvcm1MaXN0LCBUcmFuc2Zvcm1MaXN0LCB0cmFuc2Zvcm1MaXN0LCBHcmFkaWVu
dFRyYW5zZm9ybSwgZ3JhZGllbnRUcmFuc2Zvcm0sIFNWR05hbWVzOjpncmFkaWVudFRyYW5zZm9y
bUF0dHIsIG1fZ3JhZGllbnRUcmFuc2Zvcm0pCiBBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9O
UyhTVkdHcmFkaWVudEVsZW1lbnQsIGludCwgRW51bWVyYXRpb24sIGVudW1lcmF0aW9uLCBTcHJl
YWRNZXRob2QsIHNwcmVhZE1ldGhvZCwgU1ZHTmFtZXM6OnNwcmVhZE1ldGhvZEF0dHIsIG1fc3By
ZWFkTWV0aG9kKQogCiB2b2lkIFNWR0dyYWRpZW50RWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1
dGUoTWFwcGVkQXR0cmlidXRlKiBhdHRyKQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHR3JhZGllbnRF
bGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHR3JhZGllbnRFbGVtZW50LmgJ
KHJldmlzaW9uIDM0ODg3KQorKysgV2ViQ29yZS9zdmcvU1ZHR3JhZGllbnRFbGVtZW50LmgJKHdv
cmtpbmcgY29weSkKQEAgLTI0LDE1ICsyNCwxNSBAQAogI2RlZmluZSBTVkdHcmFkaWVudEVsZW1l
bnRfaAogCiAjaWYgRU5BQkxFKFNWRykKLSNpbmNsdWRlICJTVkdQYWludFNlcnZlckdyYWRpZW50
LmgiCiAjaW5jbHVkZSAiU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5oIgorI2luY2x1ZGUg
IlNWR1BhaW50U2VydmVyR3JhZGllbnQuaCIKICNpbmNsdWRlICJTVkdTdHlsZWRFbGVtZW50Lmgi
CisjaW5jbHVkZSAiU1ZHVHJhbnNmb3JtbGlzdC5oIgogI2luY2x1ZGUgIlNWR1VSSVJlZmVyZW5j
ZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFzcyBTVkdHcmFkaWVudEVsZW1l
bnQ7Ci0gICAgY2xhc3MgU1ZHVHJhbnNmb3JtTGlzdDsKIAogICAgIGNsYXNzIFNWR0dyYWRpZW50
RWxlbWVudCA6IHB1YmxpYyBTVkdTdHlsZWRFbGVtZW50LAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHB1YmxpYyBTVkdVUklSZWZlcmVuY2UsCkBAIC02OCw4ICs2OCw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICAgICAgbXV0YWJsZSBSZWZQdHI8U1ZHUGFpbnRTZXJ2ZXJHcmFk
aWVudD4gbV9yZXNvdXJjZTsKICAKICAgICBwcm90ZWN0ZWQ6Ci0gICAgICAgIEFOSU1BVEVEX1BS
T1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJT05TKFNWR1VSSVJlZmVyZW5jZSwgU3RyaW5nLCBIcmVm
LCBocmVmKQotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhT
VkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBib29sLCBFeHRlcm5hbFJlc291cmNlc1JlcXVp
cmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQorICAgICAgICBBTklNQVRFRF9QUk9QRVJU
WV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdHcmFkaWVudEVsZW1lbnQsIFNWR1VSSVJlZmVyZW5j
ZSwgU3RyaW5nLCBIcmVmLCBocmVmKQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJE
X0RFQ0xBUkFUSU9OUyhTVkdHcmFkaWVudEVsZW1lbnQsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVx
dWlyZWQsIGJvb2wsIEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2Vz
UmVxdWlyZWQpCiAgCiAgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdH
cmFkaWVudEVsZW1lbnQsIGludCwgaW50LCBTcHJlYWRNZXRob2QsIHNwcmVhZE1ldGhvZCkKICAg
ICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0dyYWRpZW50RWxlbWVudCwg
aW50LCBpbnQsIEdyYWRpZW50VW5pdHMsIGdyYWRpZW50VW5pdHMpCkluZGV4OiBXZWJDb3JlL3N2
Zy9TVkdJbWFnZUVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0ltYWdl
RWxlbWVudC5jcHAJKHJldmlzaW9uIDM0ODg3KQorKysgV2ViQ29yZS9zdmcvU1ZHSW1hZ2VFbGVt
ZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDMsMTAgKzQzLDEwIEBAIFNWR0ltYWdlRWxlbWVu
dDo6U1ZHSW1hZ2VFbGVtZW50KGNvbnN0IFEKICAgICAsIFNWR0xhbmdTcGFjZSgpCiAgICAgLCBT
VkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKCkKICAgICAsIFNWR1VSSVJlZmVyZW5jZSgpCi0g
ICAgLCBtX3godGhpcywgTGVuZ3RoTW9kZVdpZHRoKQotICAgICwgbV95KHRoaXMsIExlbmd0aE1v
ZGVIZWlnaHQpCi0gICAgLCBtX3dpZHRoKHRoaXMsIExlbmd0aE1vZGVXaWR0aCkKLSAgICAsIG1f
aGVpZ2h0KHRoaXMsIExlbmd0aE1vZGVIZWlnaHQpCisgICAgLCBtX3goU1ZHTGVuZ3RoKHRoaXMs
IExlbmd0aE1vZGVXaWR0aCkpCisgICAgLCBtX3koU1ZHTGVuZ3RoKHRoaXMsIExlbmd0aE1vZGVI
ZWlnaHQpKQorICAgICwgbV93aWR0aChTVkdMZW5ndGgodGhpcywgTGVuZ3RoTW9kZVdpZHRoKSkK
KyAgICAsIG1faGVpZ2h0KFNWR0xlbmd0aCh0aGlzLCBMZW5ndGhNb2RlSGVpZ2h0KSkKICAgICAs
IG1fcHJlc2VydmVBc3BlY3RSYXRpbyhTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvOjpjcmVhdGUoKSkK
ICAgICAsIG1faW1hZ2VMb2FkZXIodGhpcykKIHsKQEAgLTYwLDcgKzYwLDcgQEAgQU5JTUFURURf
UFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHSW1hZ2VFbAogQU5JTUFURURfUFJPUEVSVFlfREVGSU5J
VElPTlMoU1ZHSW1hZ2VFbGVtZW50LCBTVkdMZW5ndGgsIExlbmd0aCwgbGVuZ3RoLCBZLCB5LCBT
VkdOYW1lczo6eUF0dHIsIG1feSkKIEFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0lt
YWdlRWxlbWVudCwgU1ZHTGVuZ3RoLCBMZW5ndGgsIGxlbmd0aCwgV2lkdGgsIHdpZHRoLCBTVkdO
YW1lczo6d2lkdGhBdHRyLCBtX3dpZHRoKQogQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMo
U1ZHSW1hZ2VFbGVtZW50LCBTVkdMZW5ndGgsIExlbmd0aCwgbGVuZ3RoLCBIZWlnaHQsIGhlaWdo
dCwgU1ZHTmFtZXM6OmhlaWdodEF0dHIsIG1faGVpZ2h0KQotQU5JTUFURURfUFJPUEVSVFlfREVG
SU5JVElPTlMoU1ZHSW1hZ2VFbGVtZW50LCBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvKiwgUHJlc2Vy
dmVBc3BlY3RSYXRpbywgcHJlc2VydmVBc3BlY3RSYXRpbywgUHJlc2VydmVBc3BlY3RSYXRpbywg
cHJlc2VydmVBc3BlY3RSYXRpbywgU1ZHTmFtZXM6OnByZXNlcnZlQXNwZWN0UmF0aW9BdHRyLCBt
X3ByZXNlcnZlQXNwZWN0UmF0aW8uZ2V0KCkpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9O
U19SRUZDT1VOVEVEKFNWR0ltYWdlRWxlbWVudCwgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbywgUHJl
c2VydmVBc3BlY3RSYXRpbywgcHJlc2VydmVBc3BlY3RSYXRpbywgUHJlc2VydmVBc3BlY3RSYXRp
bywgcHJlc2VydmVBc3BlY3RSYXRpbywgU1ZHTmFtZXM6OnByZXNlcnZlQXNwZWN0UmF0aW9BdHRy
LCBtX3ByZXNlcnZlQXNwZWN0UmF0aW8pCiAKIHZvaWQgU1ZHSW1hZ2VFbGVtZW50OjpwYXJzZU1h
cHBlZEF0dHJpYnV0ZShNYXBwZWRBdHRyaWJ1dGUgKmF0dHIpCiB7CkluZGV4OiBXZWJDb3JlL3N2
Zy9TVkdJbWFnZUVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdJbWFnZUVs
ZW1lbnQuaAkocmV2aXNpb24gMzQ4ODcpCisrKyBXZWJDb3JlL3N2Zy9TVkdJbWFnZUVsZW1lbnQu
aAkod29ya2luZyBjb3B5KQpAQCAtMjUsMTUgKzI1LDE1IEBACiAKICNpZiBFTkFCTEUoU1ZHKQog
I2luY2x1ZGUgIlNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQuaCIKLSNpbmNsdWRlICJTVkdM
YW5nU3BhY2UuaCIKICNpbmNsdWRlICJTVkdJbWFnZUxvYWRlci5oIgorI2luY2x1ZGUgIlNWR0xh
bmdTcGFjZS5oIgorI2luY2x1ZGUgIlNWR1ByZXNlcnZlQXNwZWN0UmF0aW8uaCIKICNpbmNsdWRl
ICJTVkdTdHlsZWRUcmFuc2Zvcm1hYmxlRWxlbWVudC5oIgogI2luY2x1ZGUgIlNWR1Rlc3RzLmgi
CiAjaW5jbHVkZSAiU1ZHVVJJUmVmZXJlbmNlLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
ICAgIGNsYXNzIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW87CiAgICAgY2xhc3MgU1ZHTGVuZ3RoOwog
CiAgICAgY2xhc3MgU1ZHSW1hZ2VFbGVtZW50IDogcHVibGljIFNWR1N0eWxlZFRyYW5zZm9ybWFi
bGVFbGVtZW50LApAQCAtNjIsMTEgKzYyLDExIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAg
ICAgdmlydHVhbCBib29sIGhhc1JlbGF0aXZlVmFsdWVzKCkgY29uc3Q7CiAKICAgICBwcm90ZWN0
ZWQ6Ci0gICAgICAgIHZpcnR1YWwgY29uc3QgU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSBj
b25zdCB7IHJldHVybiB0aGlzOyB9CisgICAgICAgIHZpcnR1YWwgU1ZHRWxlbWVudCogY29udGV4
dEVsZW1lbnQoKSB7IHJldHVybiB0aGlzOyB9CiAKICAgICBwcml2YXRlOgotICAgICAgICBBTklN
QVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdFeHRlcm5hbFJlc291cmNlc1Jl
cXVpcmVkLCBib29sLCBFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNl
c1JlcXVpcmVkKSAKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElP
TlMoU1ZHVVJJUmVmZXJlbmNlLCBTdHJpbmcsIEhyZWYsIGhyZWYpCisgICAgICAgIEFOSU1BVEVE
X1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJT05TKFNWR0ltYWdlRWxlbWVudCwgU1ZHRXh0ZXJu
YWxSZXNvdXJjZXNSZXF1aXJlZCwgYm9vbCwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0
ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkgCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldB
UkRfREVDTEFSQVRJT05TKFNWR0ltYWdlRWxlbWVudCwgU1ZHVVJJUmVmZXJlbmNlLCBTdHJpbmcs
IEhyZWYsIGhyZWYpCiAKICAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNW
R0ltYWdlRWxlbWVudCwgU1ZHTGVuZ3RoLCBTVkdMZW5ndGgsIFgsIHgpCiAgICAgICAgIEFOSU1B
VEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdJbWFnZUVsZW1lbnQsIFNWR0xlbmd0aCwgU1ZH
TGVuZ3RoLCBZLCB5KQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHTGVuZ3RoTGlzdC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHTGVuZ3RoTGlzdC5jcHAJKHJldmlzaW9uIDM0ODg3KQor
KysgV2ViQ29yZS9zdmcvU1ZHTGVuZ3RoTGlzdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU5LDYg
KzU5LDIyIEBAIHZvaWQgU1ZHTGVuZ3RoTGlzdDo6cGFyc2UoY29uc3QgU3RyaW5nJiAKICAgICB9
CiB9CiAKK1N0cmluZyBTVkdMZW5ndGhMaXN0Ojp2YWx1ZUFzU3RyaW5nKCkgY29uc3QKK3sKKyAg
ICBTdHJpbmcgcmVzdWx0OworCisgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CisgICAgZm9yICh1
bnNpZ25lZCBpbnQgaSA9IDA7IGkgPCBudW1iZXJPZkl0ZW1zKCk7ICsraSkgeworICAgICAgICBp
ZiAoaSA+IDApCisgICAgICAgICAgICByZXN1bHQgKz0gIiwgIjsKKworICAgICAgICByZXN1bHQg
Kz0gZ2V0SXRlbShpLCBlYykudmFsdWVBc1N0cmluZygpOworICAgICAgICBBU1NFUlQoZWMgPT0g
MCk7CisgICAgfQorCisgICAgcmV0dXJuIHJlc3VsdDsKK30KKwogfQogCiAjZW5kaWYgLy8gRU5B
QkxFKFNWRykKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0xlbmd0aExpc3QuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL3N2Zy9TVkdMZW5ndGhMaXN0LmgJKHJldmlzaW9uIDM0ODg3KQorKysgV2ViQ29y
ZS9zdmcvU1ZHTGVuZ3RoTGlzdC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw3ICszNSw5IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVhbCB+U1ZHTGVuZ3RoTGlzdCgpOwogCiAg
ICAgICAgIHZvaWQgcGFyc2UoY29uc3QgU3RyaW5nJiB2YWx1ZSwgY29uc3QgU1ZHU3R5bGVkRWxl
bWVudCogY29udGV4dCwgU1ZHTGVuZ3RoTW9kZSBtb2RlKTsKLSAgICAgICAgCisgCisgICAgICAg
IFN0cmluZyB2YWx1ZUFzU3RyaW5nKCkgY29uc3Q7CisKICAgICBwcml2YXRlOgogICAgICAgICBT
VkdMZW5ndGhMaXN0KGNvbnN0IFF1YWxpZmllZE5hbWUmKTsKICAgICB9OwpJbmRleDogV2ViQ29y
ZS9zdmcvU1ZHTGluZUVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0xp
bmVFbGVtZW50LmNwcAkocmV2aXNpb24gMzQ4ODcpCisrKyBXZWJDb3JlL3N2Zy9TVkdMaW5lRWxl
bWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM3LDEwICszNywxMCBAQCBTVkdMaW5lRWxlbWVu
dDo6U1ZHTGluZUVsZW1lbnQoY29uc3QgUXVhCiAgICAgLCBTVkdUZXN0cygpCiAgICAgLCBTVkdM
YW5nU3BhY2UoKQogICAgICwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCgpCi0gICAgLCBt
X3gxKHRoaXMsIExlbmd0aE1vZGVXaWR0aCkKLSAgICAsIG1feTEodGhpcywgTGVuZ3RoTW9kZUhl
aWdodCkKLSAgICAsIG1feDIodGhpcywgTGVuZ3RoTW9kZVdpZHRoKQotICAgICwgbV95Mih0aGlz
LCBMZW5ndGhNb2RlSGVpZ2h0KQorICAgICwgbV94MShTVkdMZW5ndGgodGhpcywgTGVuZ3RoTW9k
ZVdpZHRoKSkKKyAgICAsIG1feTEoU1ZHTGVuZ3RoKHRoaXMsIExlbmd0aE1vZGVIZWlnaHQpKQor
ICAgICwgbV94MihTVkdMZW5ndGgodGhpcywgTGVuZ3RoTW9kZVdpZHRoKSkKKyAgICAsIG1feTIo
U1ZHTGVuZ3RoKHRoaXMsIExlbmd0aE1vZGVIZWlnaHQpKQogewogfQogCkluZGV4OiBXZWJDb3Jl
L3N2Zy9TVkdMaW5lRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0xpbmVF
bGVtZW50LmgJKHJldmlzaW9uIDM0ODg3KQorKysgV2ViQ29yZS9zdmcvU1ZHTGluZUVsZW1lbnQu
aAkod29ya2luZyBjb3B5KQpAQCAtNTEsMTEgKzUxLDExIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICAgICAgdmlydHVhbCBib29sIHN1cHBvcnRzTWFya2VycygpIGNvbnN0IHsgcmV0dXJuIHRy
dWU7IH0KIAogICAgIHByb3RlY3RlZDoKLSAgICAgICAgdmlydHVhbCBjb25zdCBTVkdFbGVtZW50
KiBjb250ZXh0RWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIHRoaXM7IH0KKyAgICAgICAgdmlydHVh
bCBTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCgpIHsgcmV0dXJuIHRoaXM7IH0KICAgICAgICAg
dmlydHVhbCBib29sIGhhc1JlbGF0aXZlVmFsdWVzKCkgY29uc3Q7CiAKICAgICBwcml2YXRlOgot
ICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdFeHRlcm5h
bFJlc291cmNlc1JlcXVpcmVkLCBib29sLCBFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRl
cm5hbFJlc291cmNlc1JlcXVpcmVkKQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJE
X0RFQ0xBUkFUSU9OUyhTVkdMaW5lRWxlbWVudCwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJl
ZCwgYm9vbCwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1
aXJlZCkKICAKICAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0xpbmVF
bGVtZW50LCBTVkdMZW5ndGgsIFNWR0xlbmd0aCwgWDEsIHgxKQogICAgICAgICBBTklNQVRFRF9Q
Uk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHTGluZUVsZW1lbnQsIFNWR0xlbmd0aCwgU1ZHTGVuZ3Ro
LCBZMSwgeTEpCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0xpbmVhckdyYWRpZW50RWxlbWVudC5jcHAJ
KHJldmlzaW9uIDM0ODg3KQorKysgV2ViQ29yZS9zdmcvU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzgsMTAgKzM4LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50OjpTVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQo
Y29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvYykKICAgICA6IFNWR0dy
YWRpZW50RWxlbWVudCh0YWdOYW1lLCBkb2MpCi0gICAgLCBtX3gxKHRoaXMsIExlbmd0aE1vZGVX
aWR0aCkKLSAgICAsIG1feTEodGhpcywgTGVuZ3RoTW9kZUhlaWdodCkKLSAgICAsIG1feDIodGhp
cywgTGVuZ3RoTW9kZVdpZHRoKQotICAgICwgbV95Mih0aGlzLCBMZW5ndGhNb2RlSGVpZ2h0KQor
ICAgICwgbV94MShTVkdMZW5ndGgodGhpcywgTGVuZ3RoTW9kZVdpZHRoKSkKKyAgICAsIG1feTEo
U1ZHTGVuZ3RoKHRoaXMsIExlbmd0aE1vZGVIZWlnaHQpKQorICAgICwgbV94MihTVkdMZW5ndGgo
dGhpcywgTGVuZ3RoTW9kZVdpZHRoKSkKKyAgICAsIG1feTIoU1ZHTGVuZ3RoKHRoaXMsIExlbmd0
aE1vZGVIZWlnaHQpKQogewogICAgIC8vIFNwZWM6IElmIHRoZSBhdHRyaWJ1dGUgaXMgbm90IHNw
ZWNpZmllZCwgdGhlIGVmZmVjdCBpcyBhcyBpZiBhIHZhbHVlIG9mICIxMDAlIiB3ZXJlIHNwZWNp
ZmllZC4KICAgICBzZXRYMkJhc2VWYWx1ZShTVkdMZW5ndGgodGhpcywgTGVuZ3RoTW9kZVdpZHRo
LCAiMTAwJSIpKTsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0xpbmVhckdyYWRpZW50RWxlbWVudC5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0xpbmVhckdyYWRpZW50RWxlbWVudC5oCShy
ZXZpc2lvbiAzNDg4NykKKysrIFdlYkNvcmUvc3ZnL1NWR0xpbmVhckdyYWRpZW50RWxlbWVudC5o
CSh3b3JraW5nIGNvcHkpCkBAIC00Niw3ICs0Niw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICAgICAgTGluZWFyR3JhZGllbnRBdHRyaWJ1dGVzIGNvbGxlY3RHcmFkaWVudFByb3BlcnRpZXMo
KSBjb25zdDsKIAogICAgIHByb3RlY3RlZDoKLSAgICAgICAgdmlydHVhbCBjb25zdCBTVkdFbGVt
ZW50KiBjb250ZXh0RWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIHRoaXM7IH0KKyAgICAgICAgdmly
dHVhbCBTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCgpIHsgcmV0dXJuIHRoaXM7IH0KIAogICAg
IHByaXZhdGU6CiAgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdMaW5l
YXJHcmFkaWVudEVsZW1lbnQsIFNWR0xlbmd0aCwgU1ZHTGVuZ3RoLCBYMSwgeDEpCkluZGV4OiBX
ZWJDb3JlL3N2Zy9TVkdNUGF0aEVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9T
VkdNUGF0aEVsZW1lbnQuaAkocmV2aXNpb24gMzQ4ODcpCisrKyBXZWJDb3JlL3N2Zy9TVkdNUGF0
aEVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNDMsNyArNDMsNyBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAgICAgICAgIFNWR1BhdGhFbGVtZW50KiBwYXRoRWxlbWVudCgpOwogICAgICAgICAK
ICAgICBwcm90ZWN0ZWQ6Ci0gICAgICAgIHZpcnR1YWwgY29uc3QgU1ZHRWxlbWVudCogY29udGV4
dEVsZW1lbnQoKSBjb25zdCB7IHJldHVybiB0aGlzOyB9CisgICAgICAgIHZpcnR1YWwgU1ZHRWxl
bWVudCogY29udGV4dEVsZW1lbnQoKSB7IHJldHVybiB0aGlzOyB9CiAgICAgfTsKIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHTWFya2VyRWxlbWVudC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHTWFya2VyRWxlbWVudC5jcHAJKHJldmlzaW9u
IDM0ODg3KQorKysgV2ViQ29yZS9zdmcvU1ZHTWFya2VyRWxlbWVudC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTM5LDEwICszOSwxMCBAQCBTVkdNYXJrZXJFbGVtZW50OjpTVkdNYXJrZXJFbGVtZW50
KGNvbnN0CiAgICAgLCBTVkdMYW5nU3BhY2UoKQogICAgICwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNS
ZXF1aXJlZCgpCiAgICAgLCBTVkdGaXRUb1ZpZXdCb3goKQotICAgICwgbV9yZWZYKHRoaXMsIExl
bmd0aE1vZGVXaWR0aCkKLSAgICAsIG1fcmVmWSh0aGlzLCBMZW5ndGhNb2RlSGVpZ2h0KQotICAg
ICwgbV9tYXJrZXJXaWR0aCh0aGlzLCBMZW5ndGhNb2RlV2lkdGgpCi0gICAgLCBtX21hcmtlckhl
aWdodCh0aGlzLCBMZW5ndGhNb2RlSGVpZ2h0KSAKKyAgICAsIG1fcmVmWChTVkdMZW5ndGgodGhp
cywgTGVuZ3RoTW9kZVdpZHRoKSkKKyAgICAsIG1fcmVmWShTVkdMZW5ndGgodGhpcywgTGVuZ3Ro
TW9kZUhlaWdodCkpCisgICAgLCBtX21hcmtlcldpZHRoKFNWR0xlbmd0aCh0aGlzLCBMZW5ndGhN
b2RlV2lkdGgpKQorICAgICwgbV9tYXJrZXJIZWlnaHQoU1ZHTGVuZ3RoKHRoaXMsIExlbmd0aE1v
ZGVIZWlnaHQpKQogICAgICwgbV9tYXJrZXJVbml0cyhTVkdfTUFSS0VSVU5JVFNfU1RST0tFV0lE
VEgpCiAgICAgLCBtX29yaWVudFR5cGUoMCkKICAgICAsIG1fb3JpZW50QW5nbGUoU1ZHQW5nbGU6
OmNyZWF0ZSgpKQpAQCAtNjIsNyArNjIsNyBAQCBBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9O
UyhTVkdNYXJrZXJFCiBBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdNYXJrZXJFbGVt
ZW50LCBTVkdMZW5ndGgsIExlbmd0aCwgbGVuZ3RoLCBNYXJrZXJXaWR0aCwgbWFya2VyV2lkdGgs
IFNWR05hbWVzOjptYXJrZXJXaWR0aEF0dHIsIG1fbWFya2VyV2lkdGgpCiBBTklNQVRFRF9QUk9Q
RVJUWV9ERUZJTklUSU9OUyhTVkdNYXJrZXJFbGVtZW50LCBTVkdMZW5ndGgsIExlbmd0aCwgbGVu
Z3RoLCBNYXJrZXJIZWlnaHQsIG1hcmtlckhlaWdodCwgU1ZHTmFtZXM6Om1hcmtlckhlaWdodEF0
dHIsIG1fbWFya2VySGVpZ2h0KQogQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlNfV0lUSF9D
VVNUT01fSURFTlRJRklFUihTVkdNYXJrZXJFbGVtZW50LCBpbnQsIEVudW1lcmF0aW9uLCBlbnVt
ZXJhdGlvbiwgT3JpZW50VHlwZSwgb3JpZW50VHlwZSwgU1ZHTmFtZXM6Om9yaWVudEF0dHIsICJv
cmllbnRUeXBlIiwgbV9vcmllbnRUeXBlKQotQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlNf
V0lUSF9DVVNUT01fSURFTlRJRklFUihTVkdNYXJrZXJFbGVtZW50LCBTVkdBbmdsZSosIEFuZ2xl
LCBhbmdsZSwgT3JpZW50QW5nbGUsIG9yaWVudEFuZ2xlLCBTVkdOYW1lczo6b3JpZW50QXR0ciwg
Im9yaWVudEFuZ2xlIiwgbV9vcmllbnRBbmdsZS5nZXQoKSkKK0FOSU1BVEVEX1BST1BFUlRZX0RF
RklOSVRJT05TX1JFRkNPVU5URURfV0lUSF9DVVNUT01fSURFTlRJRklFUihTVkdNYXJrZXJFbGVt
ZW50LCBTVkdBbmdsZSwgQW5nbGUsIGFuZ2xlLCBPcmllbnRBbmdsZSwgb3JpZW50QW5nbGUsIFNW
R05hbWVzOjpvcmllbnRBdHRyLCAib3JpZW50QW5nbGUiLCBtX29yaWVudEFuZ2xlKQogCiB2b2lk
IFNWR01hcmtlckVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKE1hcHBlZEF0dHJpYnV0ZSog
YXR0cikKIHsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR01hcmtlckVsZW1lbnQuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL3N2Zy9TVkdNYXJrZXJFbGVtZW50LmgJKHJldmlzaW9uIDM0ODg3KQorKysg
V2ViQ29yZS9zdmcvU1ZHTWFya2VyRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMiw5ICsz
Miw2IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotICAgIGNsYXNzIERvY3VtZW50OwotICAg
IGNsYXNzIFNWR0FuZ2xlOwotICAgIAogICAgIGNsYXNzIFNWR01hcmtlckVsZW1lbnQgOiBwdWJs
aWMgU1ZHU3R5bGVkRWxlbWVudCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVibGlj
IFNWR0xhbmdTcGFjZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVibGljIFNWR0V4
dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsCkBAIC02NiwxMiArNjMsMTIgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgICAgICB2aXJ0dWFsIFNWR1Jlc291cmNlKiBjYW52YXNSZXNvdXJjZSgpOwog
CiAgICAgcHJvdGVjdGVkOgotICAgICAgICB2aXJ0dWFsIGNvbnN0IFNWR0VsZW1lbnQqIGNvbnRl
eHRFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gdGhpczsgfQorICAgICAgICB2aXJ0dWFsIFNWR0Vs
ZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgeyByZXR1cm4gdGhpczsgfQogCiAgICAgcHJpdmF0ZToK
LSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHRXh0ZXJu
YWxSZXNvdXJjZXNSZXF1aXJlZCwgYm9vbCwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0
ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkgCi0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldB
UkRfREVDTEFSQVRJT05TKFNWR0ZpdFRvVmlld0JveCwgRmxvYXRSZWN0LCBWaWV3Qm94LCB2aWV3
Qm94KQotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdG
aXRUb1ZpZXdCb3gsIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8qLCBQcmVzZXJ2ZUFzcGVjdFJhdGlv
LCBwcmVzZXJ2ZUFzcGVjdFJhdGlvKQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJE
X0RFQ0xBUkFUSU9OUyhTVkdNYXJrZXJFbGVtZW50LCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVp
cmVkLCBib29sLCBFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1Jl
cXVpcmVkKSAKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMo
U1ZHTWFya2VyRWxlbWVudCwgU1ZHRml0VG9WaWV3Qm94LCBGbG9hdFJlY3QsIFZpZXdCb3gsIHZp
ZXdCb3gpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJT05TKFNW
R01hcmtlckVsZW1lbnQsIFNWR0ZpdFRvVmlld0JveCwgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbyos
IFByZXNlcnZlQXNwZWN0UmF0aW8sIHByZXNlcnZlQXNwZWN0UmF0aW8pCiAKICAgICAgICAgQU5J
TUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR01hcmtlckVsZW1lbnQsIFNWR0xlbmd0aCwg
U1ZHTGVuZ3RoLCBSZWZYLCByZWZYKQogICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJB
VElPTlMoU1ZHTWFya2VyRWxlbWVudCwgU1ZHTGVuZ3RoLCBTVkdMZW5ndGgsIFJlZlksIHJlZlkp
CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdNYXNrRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9zdmcvU1ZHTWFza0VsZW1lbnQuY3BwCShyZXZpc2lvbiAzNDg4NykKKysrIFdlYkNvcmUv
c3ZnL1NWR01hc2tFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTAsMTAgKzUwLDEwIEBA
IFNWR01hc2tFbGVtZW50OjpTVkdNYXNrRWxlbWVudChjb25zdCBRdWEKICAgICAsIFNWR0V4dGVy
bmFsUmVzb3VyY2VzUmVxdWlyZWQoKQogICAgICwgbV9tYXNrVW5pdHMoU1ZHVW5pdFR5cGVzOjpT
VkdfVU5JVF9UWVBFX09CSkVDVEJPVU5ESU5HQk9YKQogICAgICwgbV9tYXNrQ29udGVudFVuaXRz
KFNWR1VuaXRUeXBlczo6U1ZHX1VOSVRfVFlQRV9VU0VSU1BBQ0VPTlVTRSkKLSAgICAsIG1feCh0
aGlzLCBMZW5ndGhNb2RlV2lkdGgpCi0gICAgLCBtX3kodGhpcywgTGVuZ3RoTW9kZUhlaWdodCkK
LSAgICAsIG1fd2lkdGgodGhpcywgTGVuZ3RoTW9kZVdpZHRoKQotICAgICwgbV9oZWlnaHQodGhp
cywgTGVuZ3RoTW9kZUhlaWdodCkKKyAgICAsIG1feChTVkdMZW5ndGgodGhpcywgTGVuZ3RoTW9k
ZVdpZHRoKSkKKyAgICAsIG1feShTVkdMZW5ndGgodGhpcywgTGVuZ3RoTW9kZUhlaWdodCkpCisg
ICAgLCBtX3dpZHRoKFNWR0xlbmd0aCh0aGlzLCBMZW5ndGhNb2RlV2lkdGgpKQorICAgICwgbV9o
ZWlnaHQoU1ZHTGVuZ3RoKHRoaXMsIExlbmd0aE1vZGVIZWlnaHQpKQogewogICAgIC8vIFNwZWM6
IElmIHRoZSBhdHRyaWJ1dGUgaXMgbm90IHNwZWNpZmllZCwgdGhlIGVmZmVjdCBpcyBhcyBpZiBh
IHZhbHVlIG9mICItMTAlIiB3ZXJlIHNwZWNpZmllZC4KICAgICBzZXRYQmFzZVZhbHVlKFNWR0xl
bmd0aCh0aGlzLCBMZW5ndGhNb2RlV2lkdGgsICItMTAlIikpOwpJbmRleDogV2ViQ29yZS9zdmcv
U1ZHTWFza0VsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdNYXNrRWxlbWVu
dC5oCShyZXZpc2lvbiAzNDg4NykKKysrIFdlYkNvcmUvc3ZnL1NWR01hc2tFbGVtZW50LmgJKHdv
cmtpbmcgY29weSkKQEAgLTU0LDkgKzU0LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAg
ICBzdGQ6OmF1dG9fcHRyPEltYWdlQnVmZmVyPiBkcmF3TWFza2VyQ29udGVudChjb25zdCBGbG9h
dFJlY3QmIHRhcmdldFJlY3QsIEZsb2F0UmVjdCYgbWFza1JlY3QpIGNvbnN0OwogCiAgICAgcHJv
dGVjdGVkOgotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhT
VkdVUklSZWZlcmVuY2UsIFN0cmluZywgSHJlZiwgaHJlZikKLSAgICAgICAgQU5JTUFURURfUFJP
UEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwg
Ym9vbCwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJl
ZCkKLSAgICAgICAgICAgIAorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xB
UkFUSU9OUyhTVkdNYXNrRWxlbWVudCwgU1ZHVVJJUmVmZXJlbmNlLCBTdHJpbmcsIEhyZWYsIGhy
ZWYpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJT05TKFNWR01h
c2tFbGVtZW50LCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBib29sLCBFeHRlcm5hbFJl
c291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQorCiAgICAgICAgIEFO
SU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdNYXNrRWxlbWVudCwgaW50LCBpbnQsIE1h
c2tVbml0cywgbWFza1VuaXRzKQogICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElP
TlMoU1ZHTWFza0VsZW1lbnQsIGludCwgaW50LCBNYXNrQ29udGVudFVuaXRzLCBtYXNrQ29udGVu
dFVuaXRzKQogIApAQCAtNjUsNyArNjUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAg
IEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdNYXNrRWxlbWVudCwgU1ZHTGVuZ3Ro
LCBTVkdMZW5ndGgsIFdpZHRoLCB3aWR0aCkKICAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVD
TEFSQVRJT05TKFNWR01hc2tFbGVtZW50LCBTVkdMZW5ndGgsIFNWR0xlbmd0aCwgSGVpZ2h0LCBo
ZWlnaHQpCiAKLSAgICAgICAgdmlydHVhbCBjb25zdCBTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVu
dCgpIGNvbnN0IHsgcmV0dXJuIHRoaXM7IH0KKyAgICAgICAgdmlydHVhbCBTVkdFbGVtZW50KiBj
b250ZXh0RWxlbWVudCgpIHsgcmV0dXJuIHRoaXM7IH0KIAogICAgIHByaXZhdGU6CiAgICAgICAg
IFJlZlB0cjxTVkdSZXNvdXJjZU1hc2tlcj4gbV9tYXNrZXI7CkluZGV4OiBXZWJDb3JlL3N2Zy9T
VkdOdW1iZXJMaXN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdOdW1iZXJMaXN0
LmNwcAkocmV2aXNpb24gMzQ4ODcpCisrKyBXZWJDb3JlL3N2Zy9TVkdOdW1iZXJMaXN0LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNTQsNiArNTQsMjIgQEAgdm9pZCBTVkdOdW1iZXJMaXN0OjpwYXJz
ZShjb25zdCBTdHJpbmcmIAogICAgIH0KIH0KIAorU3RyaW5nIFNWR051bWJlckxpc3Q6OnZhbHVl
QXNTdHJpbmcoKSBjb25zdAoreworICAgIFN0cmluZyByZXN1bHQ7CisKKyAgICBFeGNlcHRpb25D
b2RlIGVjID0gMDsKKyAgICBmb3IgKHVuc2lnbmVkIGludCBpID0gMDsgaSA8IG51bWJlck9mSXRl
bXMoKTsgKytpKSB7CisgICAgICAgIGlmIChpID4gMCkKKyAgICAgICAgICAgIHJlc3VsdCArPSAi
LCAiOworCisgICAgICAgIHJlc3VsdCArPSBTdHJpbmc6Om51bWJlcihnZXRJdGVtKGksIGVjKSk7
CisgICAgICAgIEFTU0VSVChlYyA9PSAwKTsKKyAgICB9CisKKyAgICByZXR1cm4gcmVzdWx0Owor
fQorCiB9CiAKICNlbmRpZiAvLyBFTkFCTEUoU1ZHKQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHTnVt
YmVyTGlzdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR051bWJlckxpc3QuaAkocmV2
aXNpb24gMzQ4ODcpCisrKyBXZWJDb3JlL3N2Zy9TVkdOdW1iZXJMaXN0LmgJKHdvcmtpbmcgY29w
eSkKQEAgLTM3LDcgKzM3LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFs
IH5TVkdOdW1iZXJMaXN0KCk7CiAKICAgICAgICAgdm9pZCBwYXJzZShjb25zdCBTdHJpbmcmIHZh
bHVlKTsKLSAgICAgICAgCisgCisgICAgICAgIFN0cmluZyB2YWx1ZUFzU3RyaW5nKCkgY29uc3Q7
CisKICAgICBwcml2YXRlOgogICAgICAgICBTVkdOdW1iZXJMaXN0KGNvbnN0IFF1YWxpZmllZE5h
bWUmKTsKICAgICB9OwpJbmRleDogV2ViQ29yZS9zdmcvU1ZHUGF0aEVsZW1lbnQuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdQYXRoRWxlbWVudC5oCShyZXZpc2lvbiAzNDg4NykKKysr
IFdlYkNvcmUvc3ZnL1NWR1BhdGhFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTEwMSwxMyAr
MTAxLDEyIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVhbCBib29sIHN1cHBv
cnRzTWFya2VycygpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KIAogICAgIHByb3RlY3RlZDoKLSAg
ICAgICAgdmlydHVhbCBjb25zdCBTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCgpIGNvbnN0IHsg
cmV0dXJuIHRoaXM7IH0KKyAgICAgICAgdmlydHVhbCBTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVu
dCgpIHsgcmV0dXJuIHRoaXM7IH0KIAogICAgIHByaXZhdGU6CiAgICAgICAgIG11dGFibGUgUmVm
UHRyPFNWR1BhdGhTZWdMaXN0PiBtX3BhdGhTZWdMaXN0OwogCi0gICAgICAgIEFOSU1BVEVEX1BS
T1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJT05TKFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQs
IGJvb2wsIEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWly
ZWQpCi0gCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJT05TKFNW
R1BhdGhFbGVtZW50LCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBib29sLCBFeHRlcm5h
bFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQogICAgICAgICBB
TklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHUGF0aEVsZW1lbnQsIGZsb2F0LCBmbG9h
dCwgUGF0aExlbmd0aCwgcGF0aExlbmd0aCkKICAgICB9OwogCkluZGV4OiBXZWJDb3JlL3N2Zy9T
VkdQYXR0ZXJuRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHUGF0dGVy
bkVsZW1lbnQuY3BwCShyZXZpc2lvbiAzNDg4NykKKysrIFdlYkNvcmUvc3ZnL1NWR1BhdHRlcm5F
bGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTcsMTAgKzU3LDEwIEBAIFNWR1BhdHRlcm5F
bGVtZW50OjpTVkdQYXR0ZXJuRWxlbWVudChjb24KICAgICAsIFNWR0xhbmdTcGFjZSgpCiAgICAg
LCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKCkKICAgICAsIFNWR0ZpdFRvVmlld0JveCgp
Ci0gICAgLCBtX3godGhpcywgTGVuZ3RoTW9kZVdpZHRoKQotICAgICwgbV95KHRoaXMsIExlbmd0
aE1vZGVIZWlnaHQpCi0gICAgLCBtX3dpZHRoKHRoaXMsIExlbmd0aE1vZGVXaWR0aCkKLSAgICAs
IG1faGVpZ2h0KHRoaXMsIExlbmd0aE1vZGVIZWlnaHQpCisgICAgLCBtX3goU1ZHTGVuZ3RoKHRo
aXMsIExlbmd0aE1vZGVXaWR0aCkpCisgICAgLCBtX3koU1ZHTGVuZ3RoKHRoaXMsIExlbmd0aE1v
ZGVIZWlnaHQpKQorICAgICwgbV93aWR0aChTVkdMZW5ndGgodGhpcywgTGVuZ3RoTW9kZVdpZHRo
KSkKKyAgICAsIG1faGVpZ2h0KFNWR0xlbmd0aCh0aGlzLCBMZW5ndGhNb2RlSGVpZ2h0KSkKICAg
ICAsIG1fcGF0dGVyblVuaXRzKFNWR1VuaXRUeXBlczo6U1ZHX1VOSVRfVFlQRV9PQkpFQ1RCT1VO
RElOR0JPWCkKICAgICAsIG1fcGF0dGVybkNvbnRlbnRVbml0cyhTVkdVbml0VHlwZXM6OlNWR19V
TklUX1RZUEVfVVNFUlNQQUNFT05VU0UpCiAgICAgLCBtX3BhdHRlcm5UcmFuc2Zvcm0oU1ZHVHJh
bnNmb3JtTGlzdDo6Y3JlYXRlKFNWR05hbWVzOjpwYXR0ZXJuVHJhbnNmb3JtQXR0cikpCkBAIC03
Nyw3ICs3Nyw3IEBAIEFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR1BhdHRlcm4KIEFO
SU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR1BhdHRlcm5FbGVtZW50LCBTVkdMZW5ndGgs
IExlbmd0aCwgbGVuZ3RoLCBZLCB5LCBTVkdOYW1lczo6eUF0dHIsIG1feSkKIEFOSU1BVEVEX1BS
T1BFUlRZX0RFRklOSVRJT05TKFNWR1BhdHRlcm5FbGVtZW50LCBTVkdMZW5ndGgsIExlbmd0aCwg
bGVuZ3RoLCBXaWR0aCwgd2lkdGgsIFNWR05hbWVzOjp3aWR0aEF0dHIsIG1fd2lkdGgpCiBBTklN
QVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdQYXR0ZXJuRWxlbWVudCwgU1ZHTGVuZ3RoLCBM
ZW5ndGgsIGxlbmd0aCwgSGVpZ2h0LCBoZWlnaHQsIFNWR05hbWVzOjpoZWlnaHRBdHRyLCBtX2hl
aWdodCkKLUFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR1BhdHRlcm5FbGVtZW50LCBT
VkdUcmFuc2Zvcm1MaXN0KiwgVHJhbnNmb3JtTGlzdCwgdHJhbnNmb3JtTGlzdCwgUGF0dGVyblRy
YW5zZm9ybSwgcGF0dGVyblRyYW5zZm9ybSwgU1ZHTmFtZXM6OnBhdHRlcm5UcmFuc2Zvcm1BdHRy
LCBtX3BhdHRlcm5UcmFuc2Zvcm0uZ2V0KCkpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9O
U19SRUZDT1VOVEVEKFNWR1BhdHRlcm5FbGVtZW50LCBTVkdUcmFuc2Zvcm1MaXN0LCBUcmFuc2Zv
cm1MaXN0LCB0cmFuc2Zvcm1MaXN0LCBQYXR0ZXJuVHJhbnNmb3JtLCBwYXR0ZXJuVHJhbnNmb3Jt
LCBTVkdOYW1lczo6cGF0dGVyblRyYW5zZm9ybUF0dHIsIG1fcGF0dGVyblRyYW5zZm9ybSkKIAog
dm9pZCBTVkdQYXR0ZXJuRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoTWFwcGVkQXR0cmli
dXRlKiBhdHRyKQogewpJbmRleDogV2ViQ29yZS9zdmcvU1ZHUGF0dGVybkVsZW1lbnQuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdQYXR0ZXJuRWxlbWVudC5oCShyZXZpc2lvbiAzNDg4
NykKKysrIFdlYkNvcmUvc3ZnL1NWR1BhdHRlcm5FbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAg
LTI0LDIxICsyNCwyMCBAQAogI2RlZmluZSBTVkdQYXR0ZXJuRWxlbWVudF9oCiAKICNpZiBFTkFC
TEUoU1ZHKQotI2luY2x1ZGUgIlNWR1BhaW50U2VydmVyUGF0dGVybi5oIgogI2luY2x1ZGUgIlNW
R0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQuaCIKICNpbmNsdWRlICJTVkdGaXRUb1ZpZXdCb3gu
aCIKICNpbmNsdWRlICJTVkdMYW5nU3BhY2UuaCIKKyNpbmNsdWRlICJTVkdQYWludFNlcnZlclBh
dHRlcm4uaCIKICNpbmNsdWRlICJTVkdTdHlsZWRFbGVtZW50LmgiCiAjaW5jbHVkZSAiU1ZHVGVz
dHMuaCIKKyNpbmNsdWRlICJTVkdUcmFuc2Zvcm1MaXN0LmgiCiAjaW5jbHVkZSAiU1ZHVVJJUmVm
ZXJlbmNlLmgiCiAKLQogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgc3RydWN0IFBhdHRlcm5B
dHRyaWJ1dGVzOwogIAogICAgIGNsYXNzIFNWR0xlbmd0aDsKLSAgICBjbGFzcyBTVkdUcmFuc2Zv
cm1MaXN0OwogCiAgICAgY2xhc3MgU1ZHUGF0dGVybkVsZW1lbnQgOiBwdWJsaWMgU1ZHU3R5bGVk
RWxlbWVudCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1YmxpYyBTVkdVUklSZWZl
cmVuY2UsCkBAIC02MCwxMCArNTksMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2
aXJ0dWFsIFNWR1Jlc291cmNlKiBjYW52YXNSZXNvdXJjZSgpOwogCiAgICAgcHJvdGVjdGVkOgot
ICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdVUklSZWZl
cmVuY2UsIFN0cmluZywgSHJlZiwgaHJlZikKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfRk9S
V0FSRF9ERUNMQVJBVElPTlMoU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgYm9vbCwgRXh0
ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkKLSAgICAg
ICAgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHRml0VG9WaWV3Qm94
LCBGbG9hdFJlY3QsIFZpZXdCb3gsIHZpZXdCb3gpCi0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZ
X0ZPUldBUkRfREVDTEFSQVRJT05TKFNWR0ZpdFRvVmlld0JveCwgU1ZHUHJlc2VydmVBc3BlY3RS
YXRpbyosIFByZXNlcnZlQXNwZWN0UmF0aW8sIHByZXNlcnZlQXNwZWN0UmF0aW8pCisgICAgICAg
IEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJT05TKFNWR1BhdHRlcm5FbGVtZW50
LCBTVkdVUklSZWZlcmVuY2UsIFN0cmluZywgSHJlZiwgaHJlZikKKyAgICAgICAgQU5JTUFURURf
UFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHUGF0dGVybkVsZW1lbnQsIFNWR0V4dGVy
bmFsUmVzb3VyY2VzUmVxdWlyZWQsIGJvb2wsIEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4
dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldB
UkRfREVDTEFSQVRJT05TKFNWR1BhdHRlcm5FbGVtZW50LCBTVkdGaXRUb1ZpZXdCb3gsIEZsb2F0
UmVjdCwgVmlld0JveCwgdmlld0JveCkKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FS
RF9ERUNMQVJBVElPTlMoU1ZHUGF0dGVybkVsZW1lbnQsIFNWR0ZpdFRvVmlld0JveCwgU1ZHUHJl
c2VydmVBc3BlY3RSYXRpbyosIFByZXNlcnZlQXNwZWN0UmF0aW8sIHByZXNlcnZlQXNwZWN0UmF0
aW8pCiAKICAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR1BhdHRlcm5F
bGVtZW50LCBTVkdMZW5ndGgsIFNWR0xlbmd0aCwgWCwgeCkKICAgICAgICAgQU5JTUFURURfUFJP
UEVSVFlfREVDTEFSQVRJT05TKFNWR1BhdHRlcm5FbGVtZW50LCBTVkdMZW5ndGgsIFNWR0xlbmd0
aCwgWSwgeSkKQEAgLTc1LDcgKzc0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAg
IG11dGFibGUgUmVmUHRyPFNWR1BhaW50U2VydmVyUGF0dGVybj4gbV9yZXNvdXJjZTsKIAotICAg
ICAgICB2aXJ0dWFsIGNvbnN0IFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgY29uc3QgeyBy
ZXR1cm4gdGhpczsgfQorICAgICAgICB2aXJ0dWFsIFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50
KCkgeyByZXR1cm4gdGhpczsgfQogCiAgICAgcHJpdmF0ZToKICAgICAgICAgZnJpZW5kIGNsYXNz
IFNWR1BhaW50U2VydmVyUGF0dGVybjsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR1BvbHlFbGVtZW50
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHUG9seUVsZW1lbnQuaAkocmV2aXNpb24g
MzQ4ODcpCisrKyBXZWJDb3JlL3N2Zy9TVkdQb2x5RWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBA
IC01MywxMyArNTMsMTMgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIGJv
b2wgc3VwcG9ydHNNYXJrZXJzKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogCiAgICAgcHJvdGVj
dGVkOgotICAgICAgICB2aXJ0dWFsIGNvbnN0IFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkg
Y29uc3QgeyByZXR1cm4gdGhpczsgfQorICAgICAgICB2aXJ0dWFsIFNWR0VsZW1lbnQqIGNvbnRl
eHRFbGVtZW50KCkgeyByZXR1cm4gdGhpczsgfQogCiAgICAgcHJpdmF0ZToKICAgICAgICAgYm9v
bCBtX2lnbm9yZUF0dHJpYnV0ZUNoYW5nZXMgOiAxOwogICAgICAgICBtdXRhYmxlIFJlZlB0cjxT
VkdQb2ludExpc3Q+IG1fcG9pbnRzOwogCi0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldB
UkRfREVDTEFSQVRJT05TKFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGJvb2wsIEV4dGVy
bmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpCisgICAgICAg
IEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJT05TKFNWR1BvbHlFbGVtZW50LCBT
VkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBib29sLCBFeHRlcm5hbFJlc291cmNlc1JlcXVp
cmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQogICAgIH07CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR1ByZXNlcnZlQXNwZWN0UmF0aW8uY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR1ByZXNlcnZlQXNwZWN0UmF0aW8uY3BwCShyZXZp
c2lvbiAzNDg4NykKKysrIFdlYkNvcmUvc3ZnL1NWR1ByZXNlcnZlQXNwZWN0UmF0aW8uY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0yMDIsNiArMjAyLDU5IEBAIEFmZmluZVRyYW5zZm9ybSBTVkdQcmVz
ZXJ2ZUFzcGVjdFJhdGlvOjoKICAgICByZXR1cm4gdGVtcDsKIH0KIAorU3RyaW5nIFNWR1ByZXNl
cnZlQXNwZWN0UmF0aW86OnZhbHVlQXNTdHJpbmcoKSBjb25zdAoreworICAgIFN0cmluZyByZXN1
bHQ7CisKKyAgICBzd2l0Y2ggKChTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvVHlwZSkgYWxpZ24oKSkg
eworICAgIGRlZmF1bHQ6CisgICAgY2FzZSBTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19OT05FOgor
ICAgICAgICByZXN1bHQgPSAibm9uZSI7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgU1ZHX1BS
RVNFUlZFQVNQRUNUUkFUSU9fWE1JTllNSU46CisgICAgICAgIHJlc3VsdCA9ICJ4TWluWU1pbiI7
CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1JRFlN
SU46CisgICAgICAgIHJlc3VsdCA9ICJ4TWlkWU1pbiI7CisgICAgICAgIGJyZWFrOworICAgIGNh
c2UgU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1BWFlNSU46CisgICAgICAgIHJlc3VsdCA9ICJ4
TWF4WU1pbiI7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgU1ZHX1BSRVNFUlZFQVNQRUNUUkFU
SU9fWE1JTllNSUQ6CisgICAgICAgIHJlc3VsdCA9ICJ4TWluWU1pZCI7CisgICAgICAgIGJyZWFr
OworICAgIGNhc2UgU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1JRFlNSUQ6CisgICAgICAgIHJl
c3VsdCA9ICJ4TWlkWU1pZCI7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgU1ZHX1BSRVNFUlZF
QVNQRUNUUkFUSU9fWE1BWFlNSUQ6CisgICAgICAgIHJlc3VsdCA9ICJ4TWF4WU1pZCI7CisgICAg
ICAgIGJyZWFrOworICAgIGNhc2UgU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1JTllNQVg6Cisg
ICAgICAgIHJlc3VsdCA9ICJ4TWluWU1heCI7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgU1ZH
X1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1JRFlNQVg6CisgICAgICAgIHJlc3VsdCA9ICJ4TWlkWU1h
eCI7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1B
WFlNQVg6CisgICAgICAgIHJlc3VsdCA9ICJ4TWF4WU1heCI7CisgICAgICAgIGJyZWFrOworICAg
IH07CisKKyAgICBzd2l0Y2ggKChTVkdNZWV0T3JTbGljZVR5cGUpIG1lZXRPclNsaWNlKCkpIHsK
KyAgICBkZWZhdWx0OgorICAgIGNhc2UgU1ZHX01FRVRPUlNMSUNFX1VOS05PV046CisgICAgICAg
IGJyZWFrOworICAgIGNhc2UgU1ZHX01FRVRPUlNMSUNFX01FRVQ6CisgICAgICAgIHJlc3VsdCAr
PSAiIG1lZXQiOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFNWR19NRUVUT1JTTElDRV9TTElD
RToKKyAgICAgICAgcmVzdWx0ICs9ICIgc2xpY2UiOworICAgICAgICBicmVhazsKKyAgICB9Owor
CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKwogfQogCiAjZW5kaWYgLy8gRU5BQkxFKFNWRykKSW5k
ZXg6IFdlYkNvcmUvc3ZnL1NWR1ByZXNlcnZlQXNwZWN0UmF0aW8uaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3N2Zy9TVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLmgJKHJldmlzaW9uIDM0ODg3KQorKysg
V2ViQ29yZS9zdmcvU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5oCSh3b3JraW5nIGNvcHkpCkBAIC03
NCw2ICs3NCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgICAgICAvLyBIZWxwZXIKICAg
ICAgICAgYm9vbCBwYXJzZVByZXNlcnZlQXNwZWN0UmF0aW8oY29uc3QgVUNoYXIqJiBjdXJyUGFy
YW0sIGNvbnN0IFVDaGFyKiBlbmQsIGJvb2wgdmFsaWRhdGUgPSB0cnVlKTsKKyAgICAgICAgU3Ry
aW5nIHZhbHVlQXNTdHJpbmcoKSBjb25zdDsKIAogICAgICAgICBjb25zdCBRdWFsaWZpZWROYW1l
JiBhc3NvY2lhdGVkQXR0cmlidXRlTmFtZSgpIGNvbnN0IHsgcmV0dXJuIFNWR05hbWVzOjpwcmVz
ZXJ2ZUFzcGVjdFJhdGlvQXR0cjsgfQogCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdSYWRpYWxHcmFk
aWVudEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR1JhZGlhbEdyYWRp
ZW50RWxlbWVudC5jcHAJKHJldmlzaW9uIDM0ODg3KQorKysgV2ViQ29yZS9zdmcvU1ZHUmFkaWFs
R3JhZGllbnRFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDEsMTEgKzQxLDExIEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogU1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50OjpTVkdSYWRpYWxH
cmFkaWVudEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRv
YykKICAgICA6IFNWR0dyYWRpZW50RWxlbWVudCh0YWdOYW1lLCBkb2MpCi0gICAgLCBtX2N4KHRo
aXMsIExlbmd0aE1vZGVXaWR0aCkKLSAgICAsIG1fY3kodGhpcywgTGVuZ3RoTW9kZUhlaWdodCkK
LSAgICAsIG1fcih0aGlzLCBMZW5ndGhNb2RlT3RoZXIpCi0gICAgLCBtX2Z4KHRoaXMsIExlbmd0
aE1vZGVXaWR0aCkKLSAgICAsIG1fZnkodGhpcywgTGVuZ3RoTW9kZUhlaWdodCkKKyAgICAsIG1f
Y3goU1ZHTGVuZ3RoKHRoaXMsIExlbmd0aE1vZGVXaWR0aCkpCisgICAgLCBtX2N5KFNWR0xlbmd0
aCh0aGlzLCBMZW5ndGhNb2RlSGVpZ2h0KSkKKyAgICAsIG1fcihTVkdMZW5ndGgodGhpcywgTGVu
Z3RoTW9kZU90aGVyKSkKKyAgICAsIG1fZngoU1ZHTGVuZ3RoKHRoaXMsIExlbmd0aE1vZGVXaWR0
aCkpCisgICAgLCBtX2Z5KFNWR0xlbmd0aCh0aGlzLCBMZW5ndGhNb2RlSGVpZ2h0KSkKIHsKICAg
ICAvLyBTcGVjOiBJZiB0aGUgYXR0cmlidXRlIGlzIG5vdCBzcGVjaWZpZWQsIHRoZSBlZmZlY3Qg
aXMgYXMgaWYgYSB2YWx1ZSBvZiAiNTAlIiB3ZXJlIHNwZWNpZmllZC4KICAgICBzZXRDeEJhc2VW
YWx1ZShTVkdMZW5ndGgodGhpcywgTGVuZ3RoTW9kZVdpZHRoLCAiNTAlIikpOwpJbmRleDogV2Vi
Q29yZS9zdmcvU1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9zdmcvU1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50LmgJKHJldmlzaW9uIDM0ODg3KQorKysgV2Vi
Q29yZS9zdmcvU1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTQ2
LDcgKzQ2LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBSYWRpYWxHcmFkaWVudEF0
dHJpYnV0ZXMgY29sbGVjdEdyYWRpZW50UHJvcGVydGllcygpIGNvbnN0OwogCiAgICAgcHJvdGVj
dGVkOgotICAgICAgICB2aXJ0dWFsIGNvbnN0IFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkg
Y29uc3QgeyByZXR1cm4gdGhpczsgfQorICAgICAgICB2aXJ0dWFsIFNWR0VsZW1lbnQqIGNvbnRl
eHRFbGVtZW50KCkgeyByZXR1cm4gdGhpczsgfQogCiAgICAgcHJpdmF0ZToKICAgICAgICAgQU5J
TUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR1JhZGlhbEdyYWRpZW50RWxlbWVudCwgU1ZH
TGVuZ3RoLCBTVkdMZW5ndGgsIEN4LCBjeCkKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR1JlY3RFbGVt
ZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdSZWN0RWxlbWVudC5jcHAJKHJl
dmlzaW9uIDM0ODg3KQorKysgV2ViQ29yZS9zdmcvU1ZHUmVjdEVsZW1lbnQuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0zNiwxMiArMzYsMTIgQEAgU1ZHUmVjdEVsZW1lbnQ6OlNWR1JlY3RFbGVtZW50
KGNvbnN0IFF1YQogICAgICwgU1ZHVGVzdHMoKQogICAgICwgU1ZHTGFuZ1NwYWNlKCkKICAgICAs
IFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQoKQotICAgICwgbV94KHRoaXMsIExlbmd0aE1v
ZGVXaWR0aCkKLSAgICAsIG1feSh0aGlzLCBMZW5ndGhNb2RlSGVpZ2h0KQotICAgICwgbV93aWR0
aCh0aGlzLCBMZW5ndGhNb2RlV2lkdGgpCi0gICAgLCBtX2hlaWdodCh0aGlzLCBMZW5ndGhNb2Rl
SGVpZ2h0KQotICAgICwgbV9yeCh0aGlzLCBMZW5ndGhNb2RlV2lkdGgpCi0gICAgLCBtX3J5KHRo
aXMsIExlbmd0aE1vZGVIZWlnaHQpCisgICAgLCBtX3goU1ZHTGVuZ3RoKHRoaXMsIExlbmd0aE1v
ZGVXaWR0aCkpCisgICAgLCBtX3koU1ZHTGVuZ3RoKHRoaXMsIExlbmd0aE1vZGVIZWlnaHQpKQor
ICAgICwgbV93aWR0aChTVkdMZW5ndGgodGhpcywgTGVuZ3RoTW9kZVdpZHRoKSkKKyAgICAsIG1f
aGVpZ2h0KFNWR0xlbmd0aCh0aGlzLCBMZW5ndGhNb2RlSGVpZ2h0KSkKKyAgICAsIG1fcngoU1ZH
TGVuZ3RoKHRoaXMsIExlbmd0aE1vZGVXaWR0aCkpCisgICAgLCBtX3J5KFNWR0xlbmd0aCh0aGlz
LCBMZW5ndGhNb2RlSGVpZ2h0KSkKIHsKIH0KIApJbmRleDogV2ViQ29yZS9zdmcvU1ZHUmVjdEVs
ZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdSZWN0RWxlbWVudC5oCShyZXZp
c2lvbiAzNDg4NykKKysrIFdlYkNvcmUvc3ZnL1NWR1JlY3RFbGVtZW50LmgJKHdvcmtpbmcgY29w
eSkKQEAgLTQ3LDExICs0NywxMSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1
YWwgUGF0aCB0b1BhdGhEYXRhKCkgY29uc3Q7CiAKICAgICBwcm90ZWN0ZWQ6Ci0gICAgICAgIHZp
cnR1YWwgY29uc3QgU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSBjb25zdCB7IHJldHVybiB0
aGlzOyB9CisgICAgICAgIHZpcnR1YWwgU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSB7IHJl
dHVybiB0aGlzOyB9CiAgICAgICAgIHZpcnR1YWwgYm9vbCBoYXNSZWxhdGl2ZVZhbHVlcygpIGNv
bnN0OwogCiAgICAgcHJpdmF0ZToKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9E
RUNMQVJBVElPTlMoU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgYm9vbCwgRXh0ZXJuYWxS
ZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkKKyAgICAgICAgQU5J
TUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHUmVjdEVsZW1lbnQsIFNWR0V4
dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGJvb2wsIEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQs
IGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpCiAKICAgICAgICAgQU5JTUFURURfUFJPUEVSVFlf
REVDTEFSQVRJT05TKFNWR1JlY3RFbGVtZW50LCBTVkdMZW5ndGgsIFNWR0xlbmd0aCwgWCwgeCkK
ICAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR1JlY3RFbGVtZW50LCBT
VkdMZW5ndGgsIFNWR0xlbmd0aCwgWSwgeSkKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR1NWR0VsZW1l
bnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR1NWR0VsZW1lbnQuY3BwCShyZXZp
c2lvbiAzNDg4NykKKysrIFdlYkNvcmUvc3ZnL1NWR1NWR0VsZW1lbnQuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC02MSwxMCArNjEsMTAgQEAgU1ZHU1ZHRWxlbWVudDo6U1ZHU1ZHRWxlbWVudChjb25z
dCBRdWFsaQogICAgICwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCgpCiAgICAgLCBTVkdG
aXRUb1ZpZXdCb3goKQogICAgICwgU1ZHWm9vbUFuZFBhbigpCi0gICAgLCBtX3godGhpcywgTGVu
Z3RoTW9kZVdpZHRoKQotICAgICwgbV95KHRoaXMsIExlbmd0aE1vZGVIZWlnaHQpCi0gICAgLCBt
X3dpZHRoKHRoaXMsIExlbmd0aE1vZGVXaWR0aCkKLSAgICAsIG1faGVpZ2h0KHRoaXMsIExlbmd0
aE1vZGVIZWlnaHQpCisgICAgLCBtX3goU1ZHTGVuZ3RoKHRoaXMsIExlbmd0aE1vZGVXaWR0aCkp
CisgICAgLCBtX3koU1ZHTGVuZ3RoKHRoaXMsIExlbmd0aE1vZGVIZWlnaHQpKQorICAgICwgbV93
aWR0aChTVkdMZW5ndGgodGhpcywgTGVuZ3RoTW9kZVdpZHRoKSkKKyAgICAsIG1faGVpZ2h0KFNW
R0xlbmd0aCh0aGlzLCBMZW5ndGhNb2RlSGVpZ2h0KSkKICAgICAsIG1fdXNlQ3VycmVudFZpZXco
ZmFsc2UpCiAgICAgLCBtX3RpbWVDb250YWluZXIoU01JTFRpbWVDb250YWluZXI6OmNyZWF0ZSh0
aGlzKSkKICAgICAsIG1fdmlld1NwZWMoMCkKQEAgLTE4NCw3ICsxODQsNyBAQCB2b2lkIFNWR1NW
R0VsZW1lbnQ6OnNldFVzZUN1cnJlbnRWaWV3KGJvCiBTVkdWaWV3U3BlYyogU1ZHU1ZHRWxlbWVu
dDo6Y3VycmVudFZpZXcoKSBjb25zdAogewogICAgIGlmICghbV92aWV3U3BlYykKLSAgICAgICAg
bV92aWV3U3BlYy5zZXQobmV3IFNWR1ZpZXdTcGVjKHRoaXMpKTsKKyAgICAgICAgbV92aWV3U3Bl
Yy5zZXQobmV3IFNWR1ZpZXdTcGVjKGNvbnN0X2Nhc3Q8U1ZHU1ZHRWxlbWVudCo+KHRoaXMpKSk7
CiAKICAgICByZXR1cm4gbV92aWV3U3BlYy5nZXQoKTsKIH0KSW5kZXg6IFdlYkNvcmUvc3ZnL1NW
R1NWR0VsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdTVkdFbGVtZW50LmgJ
KHJldmlzaW9uIDM0ODg3KQorKysgV2ViQ29yZS9zdmcvU1ZHU1ZHRWxlbWVudC5oCSh3b3JraW5n
IGNvcHkpCkBAIC0xMzUsNyArMTM1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUKICAgICAgICAgdm9p
ZCBpbmhlcml0Vmlld0F0dHJpYnV0ZXMoU1ZHVmlld0VsZW1lbnQqKTsKIAogICAgIHByb3RlY3Rl
ZDoKLSAgICAgICAgdmlydHVhbCBjb25zdCBTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCgpIGNv
bnN0IHsgcmV0dXJuIHRoaXM7IH0KKyAgICAgICAgdmlydHVhbCBTVkdFbGVtZW50KiBjb250ZXh0
RWxlbWVudCgpIHsgcmV0dXJuIHRoaXM7IH0KIAogICAgICAgICBmcmllbmQgY2xhc3MgUmVuZGVy
U1ZHUm9vdDsKICAgICAgICAgZnJpZW5kIGNsYXNzIFJlbmRlclNWR1ZpZXdwb3J0Q29udGFpbmVy
OwpAQCAtMTQ3LDkgKzE0Nyw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlCiAgICAgcHJpdmF0ZToKICAg
ICAgICAgdm9pZCBhZGRTVkdXaW5kb3dFdmVudExpc3RlbmVyKGNvbnN0IEF0b21pY1N0cmluZyYg
ZXZlbnRUeXBlLCBjb25zdCBBdHRyaWJ1dGUqIGF0dHIpOyAgIAogCi0gICAgICAgIEFOSU1BVEVE
X1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJT05TKFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWly
ZWQsIGJvb2wsIEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVx
dWlyZWQpCi0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJT05TKFNW
R0ZpdFRvVmlld0JveCwgRmxvYXRSZWN0LCBWaWV3Qm94LCB2aWV3Qm94KQotICAgICAgICBBTklN
QVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdGaXRUb1ZpZXdCb3gsIFNWR1By
ZXNlcnZlQXNwZWN0UmF0aW8qLCBQcmVzZXJ2ZUFzcGVjdFJhdGlvLCBwcmVzZXJ2ZUFzcGVjdFJh
dGlvKQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdT
VkdFbGVtZW50LCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBib29sLCBFeHRlcm5hbFJl
c291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQorICAgICAgICBBTklN
QVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdTVkdFbGVtZW50LCBTVkdGaXRU
b1ZpZXdCb3gsIEZsb2F0UmVjdCwgVmlld0JveCwgdmlld0JveCkKKyAgICAgICAgQU5JTUFURURf
UFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHU1ZHRWxlbWVudCwgU1ZHRml0VG9WaWV3
Qm94LCBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvKiwgUHJlc2VydmVBc3BlY3RSYXRpbywgcHJlc2Vy
dmVBc3BlY3RSYXRpbykKIAogICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMo
U1ZHU1ZHRWxlbWVudCwgU1ZHTGVuZ3RoLCBTVkdMZW5ndGgsIFgsIHgpCiAgICAgICAgIEFOSU1B
VEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdTVkdFbGVtZW50LCBTVkdMZW5ndGgsIFNWR0xl
bmd0aCwgWSwgeSkKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR1NjcmlwdEVsZW1lbnQuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdTY3JpcHRFbGVtZW50LmgJKHJldmlzaW9uIDM0ODg3KQor
KysgV2ViQ29yZS9zdmcvU1ZHU2NyaXB0RWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC00OCwx
MSArNDgsMTIgQEAgbmFtZXNwYWNlIFdlYkNvcmUKICAgICAgICAgdmlydHVhbCB2b2lkIGdldFN1
YnJlc291cmNlQXR0cmlidXRlU3RyaW5ncyhWZWN0b3I8U3RyaW5nPiYpIGNvbnN0OwogCiAgICAg
cHJvdGVjdGVkOgotICAgICAgICB2aXJ0dWFsIGNvbnN0IFNWR0VsZW1lbnQqIGNvbnRleHRFbGVt
ZW50KCkgY29uc3QgeyByZXR1cm4gdGhpczsgfQorICAgICAgICB2aXJ0dWFsIFNWR0VsZW1lbnQq
IGNvbnRleHRFbGVtZW50KCkgeyByZXR1cm4gdGhpczsgfQogCiAgICAgcHJpdmF0ZToKLSAgICAg
ICAgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHVVJJUmVmZXJlbmNl
LCBTdHJpbmcsIEhyZWYsIGhyZWYpCi0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRf
REVDTEFSQVRJT05TKFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGJvb2wsIEV4dGVybmFs
UmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpCisgICAgICAgIEFO
SU1BVEVEX1BST1BFUlRZX1NUQVJUX0RFQ0xBUkFUSU9OUyhTVkdTY3JpcHRFbGVtZW50KQorICAg
ICAgICBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdTY3JpcHRFbGVt
ZW50LCBTVkdVUklSZWZlcmVuY2UsIFN0cmluZywgSHJlZiwgaHJlZikKKyAgICAgICAgQU5JTUFU
RURfUFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHU2NyaXB0RWxlbWVudCwgU1ZHRXh0
ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgYm9vbCwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwg
ZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkKIAogICAgICAgICBTdHJpbmcgbV90eXBlOwogICAg
IH07CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdTdHlsZWRFbGVtZW50LmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9zdmcvU1ZHU3R5bGVkRWxlbWVudC5oCShyZXZpc2lvbiAzNDg4NykKKysrIFdlYkNv
cmUvc3ZnL1NWR1N0eWxlZEVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNzEsNiArNzEsNyBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHN0YXRpYyBpbnQgY3NzUHJvcGVydHlJZEZv
clNWR0F0dHJpYnV0ZU5hbWUoY29uc3QgUXVhbGlmaWVkTmFtZSYpOwogCiAgICAgcHJpdmF0ZToK
KyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfU1RBUlRfREVDTEFSQVRJT05TKFNWR1N0eWxlZEVs
ZW1lbnQpCiAgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdTdHlsZWRF
bGVtZW50LCBTdHJpbmcsIFN0cmluZywgQ2xhc3NOYW1lLCBjbGFzc05hbWUpCiAKICAgICAgICAg
dm9pZCB1cGRhdGVFbGVtZW50SW5zdGFuY2UoU1ZHRG9jdW1lbnRFeHRlbnNpb25zKikgY29uc3Q7
CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdTdHlsZWRUcmFuc2Zvcm1hYmxlRWxlbWVudC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHU3R5bGVkVHJhbnNmb3JtYWJsZUVsZW1lbnQuY3Bw
CShyZXZpc2lvbiAzNDg4NykKKysrIFdlYkNvcmUvc3ZnL1NWR1N0eWxlZFRyYW5zZm9ybWFibGVF
bGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDYsNyArNDYsNyBAQCBTVkdTdHlsZWRUcmFu
c2Zvcm1hYmxlRWxlbWVudDo6flNWR1N0eWxlCiB7CiB9CiAKLUFOSU1BVEVEX1BST1BFUlRZX0RF
RklOSVRJT05TKFNWR1N0eWxlZFRyYW5zZm9ybWFibGVFbGVtZW50LCBTVkdUcmFuc2Zvcm1MaXN0
KiwgVHJhbnNmb3JtTGlzdCwgdHJhbnNmb3JtTGlzdCwgVHJhbnNmb3JtLCB0cmFuc2Zvcm0sIFNW
R05hbWVzOjp0cmFuc2Zvcm1BdHRyLCBtX3RyYW5zZm9ybS5nZXQoKSkKK0FOSU1BVEVEX1BST1BF
UlRZX0RFRklOSVRJT05TX1JFRkNPVU5URUQoU1ZHU3R5bGVkVHJhbnNmb3JtYWJsZUVsZW1lbnQs
IFNWR1RyYW5zZm9ybUxpc3QsIFRyYW5zZm9ybUxpc3QsIHRyYW5zZm9ybUxpc3QsIFRyYW5zZm9y
bSwgdHJhbnNmb3JtLCBTVkdOYW1lczo6dHJhbnNmb3JtQXR0ciwgbV90cmFuc2Zvcm0pCiAKIEFm
ZmluZVRyYW5zZm9ybSBTVkdTdHlsZWRUcmFuc2Zvcm1hYmxlRWxlbWVudDo6Z2V0Q1RNKCkgY29u
c3QKIHsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR1N0eWxlZFRyYW5zZm9ybWFibGVFbGVtZW50LmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHU3R5bGVkVHJhbnNmb3JtYWJsZUVsZW1lbnQu
aAkocmV2aXNpb24gMzQ4ODcpCisrKyBXZWJDb3JlL3N2Zy9TVkdTdHlsZWRUcmFuc2Zvcm1hYmxl
RWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNiwxMSArMjYsMTEgQEAKICNpZiBFTkFCTEUo
U1ZHKQogI2luY2x1ZGUgIlNWR1N0eWxlZExvY2F0YWJsZUVsZW1lbnQuaCIKICNpbmNsdWRlICJT
VkdUcmFuc2Zvcm1hYmxlLmgiCisjaW5jbHVkZSAiU1ZHVHJhbnNmb3JtTGlzdC5oIgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFzcyBBZmZpbmVUcmFuc2Zvcm07Ci0gICAgY2xhc3Mg
U1ZHVHJhbnNmb3JtTGlzdDsKIAogICAgIGNsYXNzIFNWR1N0eWxlZFRyYW5zZm9ybWFibGVFbGVt
ZW50IDogcHVibGljIFNWR1N0eWxlZExvY2F0YWJsZUVsZW1lbnQsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgU1ZHVHJhbnNmb3JtYWJsZSB7CkluZGV4
OiBXZWJDb3JlL3N2Zy9TVkdTd2l0Y2hFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9z
dmcvU1ZHU3dpdGNoRWxlbWVudC5oCShyZXZpc2lvbiAzNDg4NykKKysrIFdlYkNvcmUvc3ZnL1NW
R1N3aXRjaEVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNDcsMTIgKzQ3LDEyIEBAIG5hbWVz
cGFjZSBXZWJDb3JlCiAgICAgICAgIHZpcnR1YWwgUmVuZGVyT2JqZWN0KiBjcmVhdGVSZW5kZXJl
cihSZW5kZXJBcmVuYSosIFJlbmRlclN0eWxlKik7CiAKICAgICBwcm90ZWN0ZWQ6Ci0gICAgICAg
IHZpcnR1YWwgY29uc3QgU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSBjb25zdCB7IHJldHVy
biB0aGlzOyB9CisgICAgICAgIHZpcnR1YWwgU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSB7
IHJldHVybiB0aGlzOyB9CiAKICAgICBwcml2YXRlOgogICAgICAgICBtdXRhYmxlIGJvb2wgbV9p
bnNpZGVSZW5kZXJTZWN0aW9uOwogCi0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRf
REVDTEFSQVRJT05TKFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGJvb2wsIEV4dGVybmFs
UmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpCisgICAgICAgIEFO
SU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJT05TKFNWR1N3aXRjaEVsZW1lbnQsIFNW
R0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGJvb2wsIEV4dGVybmFsUmVzb3VyY2VzUmVxdWly
ZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpCiAgICAgfTsKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHU3ltYm9sRWxlbWVudC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvc3ZnL1NWR1N5bWJvbEVsZW1lbnQuaAkocmV2aXNpb24gMzQ4ODcpCisrKyBX
ZWJDb3JlL3N2Zy9TVkdTeW1ib2xFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTQ2LDExICs0
NiwxMSBAQCBuYW1lc3BhY2UgV2ViQ29yZQogICAgICAgICB2aXJ0dWFsIGJvb2wgcmVuZGVyZXJJ
c05lZWRlZChSZW5kZXJTdHlsZSopIHsgcmV0dXJuIGZhbHNlOyB9CiAKICAgICBwcm90ZWN0ZWQ6
Ci0gICAgICAgIHZpcnR1YWwgY29uc3QgU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSBjb25z
dCB7IHJldHVybiB0aGlzOyB9CisgICAgICAgIHZpcnR1YWwgU1ZHRWxlbWVudCogY29udGV4dEVs
ZW1lbnQoKSB7IHJldHVybiB0aGlzOyB9CiAgCi0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZP
UldBUkRfREVDTEFSQVRJT05TKFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGJvb2wsIEV4
dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpICAgICAg
IAotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdGaXRU
b1ZpZXdCb3gsIEZsb2F0UmVjdCwgVmlld0JveCwgdmlld0JveCkKLSAgICAgICAgQU5JTUFURURf
UFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHRml0VG9WaWV3Qm94LCBTVkdQcmVzZXJ2
ZUFzcGVjdFJhdGlvKiwgUHJlc2VydmVBc3BlY3RSYXRpbywgcHJlc2VydmVBc3BlY3RSYXRpbykK
KyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHU3ltYm9s
RWxlbWVudCwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgYm9vbCwgRXh0ZXJuYWxSZXNv
dXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkgICAgICAgCisgICAgICAg
IEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJT05TKFNWR1N5bWJvbEVsZW1lbnQs
IFNWR0ZpdFRvVmlld0JveCwgRmxvYXRSZWN0LCBWaWV3Qm94LCB2aWV3Qm94KQorICAgICAgICBB
TklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdTeW1ib2xFbGVtZW50LCBT
VkdGaXRUb1ZpZXdCb3gsIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8qLCBQcmVzZXJ2ZUFzcGVjdFJh
dGlvLCBwcmVzZXJ2ZUFzcGVjdFJhdGlvKQogICAgIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR1RSZWZFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9zdmcvU1ZHVFJlZkVsZW1lbnQuaAkocmV2aXNpb24gMzQ4ODcpCisrKyBXZWJDb3JlL3N2
Zy9TVkdUUmVmRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC00MSwxMCArNDEsMTAgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUKICAgICAgICAgYm9vbCBjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKE5v
ZGUqKSBjb25zdDsKIAogICAgIHByb3RlY3RlZDoKLSAgICAgICAgdmlydHVhbCBjb25zdCBTVkdF
bGVtZW50KiBjb250ZXh0RWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIHRoaXM7IH0KKyAgICAgICAg
dmlydHVhbCBTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCgpIHsgcmV0dXJuIHRoaXM7IH0KIAog
ICAgIHByaXZhdGU6Ci0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJ
T05TKFNWR1VSSVJlZmVyZW5jZSwgU3RyaW5nLCBIcmVmLCBocmVmKQorICAgICAgICBBTklNQVRF
RF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdUUmVmRWxlbWVudCwgU1ZHVVJJUmVm
ZXJlbmNlLCBTdHJpbmcsIEhyZWYsIGhyZWYpCiAKICAgICAgICAgdm9pZCB1cGRhdGVSZWZlcmVu
Y2VkVGV4dCgpOwogICAgIH07CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdUU3BhbkVsZW1lbnQuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdUU3BhbkVsZW1lbnQuaAkocmV2aXNpb24gMzQ4
ODcpCisrKyBXZWJDb3JlL3N2Zy9TVkdUU3BhbkVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAt
MzgsNyArMzgsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZQogICAgICAgICBib29sIGNoaWxkU2hvdWxk
Q3JlYXRlUmVuZGVyZXIoTm9kZSopIGNvbnN0OwogICAgIAogICAgIHByb3RlY3RlZDoKLSAgICAg
ICAgdmlydHVhbCBjb25zdCBTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCgpIGNvbnN0IHsgcmV0
dXJuIHRoaXM7IH0KKyAgICAgICAgdmlydHVhbCBTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCgp
IHsgcmV0dXJuIHRoaXM7IH0KICAgICB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4
OiBXZWJDb3JlL3N2Zy9TVkdUZXh0Q29udGVudEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvc3ZnL1NWR1RleHRDb250ZW50RWxlbWVudC5jcHAJKHJldmlzaW9uIDM0ODg3KQorKysg
V2ViQ29yZS9zdmcvU1ZHVGV4dENvbnRlbnRFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NDYsNyArNDYsNyBAQCBTVkdUZXh0Q29udGVudEVsZW1lbnQ6OlNWR1RleHRDb250ZW50RWxlCiAg
ICAgLCBTVkdUZXN0cygpCiAgICAgLCBTVkdMYW5nU3BhY2UoKQogICAgICwgU1ZHRXh0ZXJuYWxS
ZXNvdXJjZXNSZXF1aXJlZCgpCi0gICAgLCBtX3RleHRMZW5ndGgodGhpcywgTGVuZ3RoTW9kZU90
aGVyKQorICAgICwgbV90ZXh0TGVuZ3RoKFNWR0xlbmd0aCh0aGlzLCBMZW5ndGhNb2RlT3RoZXIp
KQogICAgICwgbV9sZW5ndGhBZGp1c3QoTEVOR1RIQURKVVNUX1NQQUNJTkcpCiB7CiB9CkluZGV4
OiBXZWJDb3JlL3N2Zy9TVkdUZXh0Q29udGVudEVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL3N2Zy9TVkdUZXh0Q29udGVudEVsZW1lbnQuaAkocmV2aXNpb24gMzQ4ODcpCisrKyBXZWJD
b3JlL3N2Zy9TVkdUZXh0Q29udGVudEVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNjQsNyAr
NjQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIGJvb2wgaXNLbm93bkF0dHJpYnV0
ZShjb25zdCBRdWFsaWZpZWROYW1lJik7CiAKICAgICBwcml2YXRlOgotICAgICAgICBBTklNQVRF
RF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVp
cmVkLCBib29sLCBFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1Jl
cXVpcmVkKQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhT
VkdUZXh0Q29udGVudEVsZW1lbnQsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGJvb2ws
IEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpCiAK
ICAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR1RleHRDb250ZW50RWxl
bWVudCwgU1ZHTGVuZ3RoLCBTVkdMZW5ndGgsIFRleHRMZW5ndGgsIHRleHRMZW5ndGgpCiAgICAg
ICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdUZXh0Q29udGVudEVsZW1lbnQs
IGludCwgaW50LCBMZW5ndGhBZGp1c3QsIGxlbmd0aEFkanVzdCkKSW5kZXg6IFdlYkNvcmUvc3Zn
L1NWR1RleHRFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdUZXh0RWxl
bWVudC5jcHAJKHJldmlzaW9uIDM0ODg3KQorKysgV2ViQ29yZS9zdmcvU1ZHVGV4dEVsZW1lbnQu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Niw3ICs0Niw3IEBAIFNWR1RleHRFbGVtZW50Ojp+U1ZH
VGV4dEVsZW1lbnQoKQogewogfQogCi1BTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdU
ZXh0RWxlbWVudCwgU1ZHVHJhbnNmb3JtTGlzdCosIFRyYW5zZm9ybUxpc3QsIHRyYW5zZm9ybUxp
c3QsIFRyYW5zZm9ybSwgdHJhbnNmb3JtLCBTVkdOYW1lczo6dHJhbnNmb3JtQXR0ciwgbV90cmFu
c2Zvcm0uZ2V0KCkpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OU19SRUZDT1VOVEVEKFNW
R1RleHRFbGVtZW50LCBTVkdUcmFuc2Zvcm1MaXN0LCBUcmFuc2Zvcm1MaXN0LCB0cmFuc2Zvcm1M
aXN0LCBUcmFuc2Zvcm0sIHRyYW5zZm9ybSwgU1ZHTmFtZXM6OnRyYW5zZm9ybUF0dHIsIG1fdHJh
bnNmb3JtKQogCiB2b2lkIFNWR1RleHRFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShNYXBw
ZWRBdHRyaWJ1dGUqIGF0dHIpCiB7CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdUZXh0RWxlbWVudC5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR1RleHRFbGVtZW50LmgJKHJldmlzaW9uIDM0
ODg3KQorKysgV2ViQ29yZS9zdmcvU1ZHVGV4dEVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAt
MjYsNiArMjYsNyBAQAogI2lmIEVOQUJMRShTVkcpCiAjaW5jbHVkZSAiU1ZHVGV4dFBvc2l0aW9u
aW5nRWxlbWVudC5oIgogI2luY2x1ZGUgIlNWR1RyYW5zZm9ybWFibGUuaCIKKyNpbmNsdWRlICJT
VkdUcmFuc2Zvcm1MaXN0LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNTIsNyArNTMs
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBzdmdBdHRyaWJ1
dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmKTsKIAogICAgIHByb3RlY3RlZDoKLSAgICAg
ICAgdmlydHVhbCBjb25zdCBTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCgpIGNvbnN0IHsgcmV0
dXJuIHRoaXM7IH0KKyAgICAgICAgdmlydHVhbCBTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCgp
IHsgcmV0dXJuIHRoaXM7IH0KIAogICAgIHByaXZhdGU6CiAgICAgICAgIEFOSU1BVEVEX1BST1BF
UlRZX0RFQ0xBUkFUSU9OUyhTVkdUZXh0RWxlbWVudCwgU1ZHVHJhbnNmb3JtTGlzdCosIFJlZlB0
cjxTVkdUcmFuc2Zvcm1MaXN0PiwgVHJhbnNmb3JtLCB0cmFuc2Zvcm0pCkluZGV4OiBXZWJDb3Jl
L3N2Zy9TVkdUZXh0UGF0aEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NW
R1RleHRQYXRoRWxlbWVudC5jcHAJKHJldmlzaW9uIDM0ODg3KQorKysgV2ViQ29yZS9zdmcvU1ZH
VGV4dFBhdGhFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzgsNyArMzgsNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiBTVkdUZXh0UGF0aEVsZW1lbnQ6OlNWR1RleHRQYXRoRWxlbWVudChj
b25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jKQogICAgIDogU1ZHVGV4
dENvbnRlbnRFbGVtZW50KHRhZ05hbWUsIGRvYykKICAgICAsIFNWR1VSSVJlZmVyZW5jZSgpCi0g
ICAgLCBtX3N0YXJ0T2Zmc2V0KHRoaXMsIExlbmd0aE1vZGVPdGhlcikKKyAgICAsIG1fc3RhcnRP
ZmZzZXQoU1ZHTGVuZ3RoKHRoaXMsIExlbmd0aE1vZGVPdGhlcikpCiAgICAgLCBtX21ldGhvZChT
VkdfVEVYVFBBVEhfTUVUSE9EVFlQRV9BTElHTikKICAgICAsIG1fc3BhY2luZyhTVkdfVEVYVFBB
VEhfU1BBQ0lOR1RZUEVfRVhBQ1QpCiB7CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdUZXh0UGF0aEVs
ZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdUZXh0UGF0aEVsZW1lbnQuaAko
cmV2aXNpb24gMzQ4ODcpCisrKyBXZWJDb3JlL3N2Zy9TVkdUZXh0UGF0aEVsZW1lbnQuaAkod29y
a2luZyBjb3B5KQpAQCAtNjcsMTAgKzY3LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlCiAgICAgICAg
IGJvb2wgY2hpbGRTaG91bGRDcmVhdGVSZW5kZXJlcihOb2RlKikgY29uc3Q7CiAgICAgCiAgICAg
cHJvdGVjdGVkOgotICAgICAgICB2aXJ0dWFsIGNvbnN0IFNWR0VsZW1lbnQqIGNvbnRleHRFbGVt
ZW50KCkgY29uc3QgeyByZXR1cm4gdGhpczsgfQorICAgICAgICB2aXJ0dWFsIFNWR0VsZW1lbnQq
IGNvbnRleHRFbGVtZW50KCkgeyByZXR1cm4gdGhpczsgfQogCiAgICAgcHJpdmF0ZToKLSAgICAg
ICAgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHVVJJUmVmZXJlbmNl
LCBTdHJpbmcsIEhyZWYsIGhyZWYpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRf
REVDTEFSQVRJT05TKFNWR1RleHRQYXRoRWxlbWVudCwgU1ZHVVJJUmVmZXJlbmNlLCBTdHJpbmcs
IEhyZWYsIGhyZWYpCiAKICAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNW
R1RleHRQYXRoRWxlbWVudCwgU1ZHTGVuZ3RoLCBTVkdMZW5ndGgsIFN0YXJ0T2Zmc2V0LCBzdGFy
dE9mZnNldCkKICAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR1RleHRQ
YXRoRWxlbWVudCwgaW50LCBpbnQsIE1ldGhvZCwgbWV0aG9kKQpJbmRleDogV2ViQ29yZS9zdmcv
U1ZHVGV4dFBvc2l0aW9uaW5nRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcv
U1ZHVGV4dFBvc2l0aW9uaW5nRWxlbWVudC5jcHAJKHJldmlzaW9uIDM0ODg3KQorKysgV2ViQ29y
ZS9zdmcvU1ZHVGV4dFBvc2l0aW9uaW5nRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ1
LDExICs0NSwxMSBAQCBTVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50Ojp+U1ZHVGV4dFBvc2l0CiB7
CiB9CiAKLUFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR1RleHRQb3NpdGlvbmluZ0Vs
ZW1lbnQsIFNWR0xlbmd0aExpc3QqLCBMZW5ndGhMaXN0LCBsZW5ndGhMaXN0LCBYLCB4LCBTVkdO
YW1lczo6eEF0dHIsIG1feC5nZXQoKSkKLUFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNW
R1RleHRQb3NpdGlvbmluZ0VsZW1lbnQsIFNWR0xlbmd0aExpc3QqLCBMZW5ndGhMaXN0LCBsZW5n
dGhMaXN0LCBZLCB5LCBTVkdOYW1lczo6eUF0dHIsIG1feS5nZXQoKSkKLUFOSU1BVEVEX1BST1BF
UlRZX0RFRklOSVRJT05TKFNWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQsIFNWR0xlbmd0aExpc3Qq
LCBMZW5ndGhMaXN0LCBsZW5ndGhMaXN0LCBEeCwgZHgsIFNWR05hbWVzOjpkeEF0dHIsIG1fZHgu
Z2V0KCkpCi1BTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdUZXh0UG9zaXRpb25pbmdF
bGVtZW50LCBTVkdMZW5ndGhMaXN0KiwgTGVuZ3RoTGlzdCwgbGVuZ3RoTGlzdCwgRHksIGR5LCBT
VkdOYW1lczo6ZHlBdHRyLCBtX2R5LmdldCgpKQotQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElP
TlMoU1ZHVGV4dFBvc2l0aW9uaW5nRWxlbWVudCwgU1ZHTnVtYmVyTGlzdCosIE51bWJlckxpc3Qs
IG51bWJlckxpc3QsIFJvdGF0ZSwgcm90YXRlLCBTVkdOYW1lczo6cm90YXRlQXR0ciwgbV9yb3Rh
dGUuZ2V0KCkpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OU19SRUZDT1VOVEVEKFNWR1Rl
eHRQb3NpdGlvbmluZ0VsZW1lbnQsIFNWR0xlbmd0aExpc3QsIExlbmd0aExpc3QsIGxlbmd0aExp
c3QsIFgsIHgsIFNWR05hbWVzOjp4QXR0ciwgbV94KQorQU5JTUFURURfUFJPUEVSVFlfREVGSU5J
VElPTlNfUkVGQ09VTlRFRChTVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50LCBTVkdMZW5ndGhMaXN0
LCBMZW5ndGhMaXN0LCBsZW5ndGhMaXN0LCBZLCB5LCBTVkdOYW1lczo6eUF0dHIsIG1feSkKK0FO
SU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TX1JFRkNPVU5URUQoU1ZHVGV4dFBvc2l0aW9uaW5n
RWxlbWVudCwgU1ZHTGVuZ3RoTGlzdCwgTGVuZ3RoTGlzdCwgbGVuZ3RoTGlzdCwgRHgsIGR4LCBT
VkdOYW1lczo6ZHhBdHRyLCBtX2R4KQorQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlNfUkVG
Q09VTlRFRChTVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50LCBTVkdMZW5ndGhMaXN0LCBMZW5ndGhM
aXN0LCBsZW5ndGhMaXN0LCBEeSwgZHksIFNWR05hbWVzOjpkeUF0dHIsIG1fZHkpCitBTklNQVRF
RF9QUk9QRVJUWV9ERUZJTklUSU9OU19SRUZDT1VOVEVEKFNWR1RleHRQb3NpdGlvbmluZ0VsZW1l
bnQsIFNWR051bWJlckxpc3QsIE51bWJlckxpc3QsIG51bWJlckxpc3QsIFJvdGF0ZSwgcm90YXRl
LCBTVkdOYW1lczo6cm90YXRlQXR0ciwgbV9yb3RhdGUpCiAKIHZvaWQgU1ZHVGV4dFBvc2l0aW9u
aW5nRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoTWFwcGVkQXR0cmlidXRlKiBhdHRyKQog
ewpJbmRleDogV2ViQ29yZS9zdmcvU1ZHVGV4dFBvc2l0aW9uaW5nRWxlbWVudC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQuaAkocmV2aXNpb24g
MzQ4ODcpCisrKyBXZWJDb3JlL3N2Zy9TVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50LmgJKHdvcmtp
bmcgY29weSkKQEAgLTI0LDEzICsyNCwxMiBAQAogI2RlZmluZSBTVkdUZXh0UG9zaXRpb25pbmdF
bGVtZW50X2gKIAogI2lmIEVOQUJMRShTVkcpCisjaW5jbHVkZSAiU1ZHTGVuZ3RoTGlzdC5oIgor
I2luY2x1ZGUgIlNWR051bWJlckxpc3QuaCIKICNpbmNsdWRlICJTVkdUZXh0Q29udGVudEVsZW1l
bnQuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi0gICAgY2xhc3MgU1ZHTGVuZ3RoTGlzdDsK
LSAgICBjbGFzcyBTVkdOdW1iZXJMaXN0OwotCiAgICAgY2xhc3MgU1ZHVGV4dFBvc2l0aW9uaW5n
RWxlbWVudCA6IHB1YmxpYyBTVkdUZXh0Q29udGVudEVsZW1lbnQgewogICAgIHB1YmxpYzoKICAg
ICAgICAgU1ZHVGV4dFBvc2l0aW9uaW5nRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9j
dW1lbnQqKTsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR1RyYW5zZm9ybUxpc3QuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR1RyYW5zZm9ybUxpc3QuY3BwCShyZXZpc2lvbiAzNDg4NykK
KysrIFdlYkNvcmUvc3ZnL1NWR1RyYW5zZm9ybUxpc3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04
Miw0ICs4MiwxNiBAQCBTVkdUcmFuc2Zvcm0gU1ZHVHJhbnNmb3JtTGlzdDo6Y29uY2F0ZW5hCiAg
ICAgcmV0dXJuIHRvdGFsVHJhbnNmb3JtLmFkZFRvU1ZHVHJhbnNmb3JtKFNWR1RyYW5zZm9ybSgp
KTsKIH0KIAorU3RyaW5nIFNWR1RyYW5zZm9ybUxpc3Q6OnZhbHVlQXNTdHJpbmcoKSBjb25zdAor
eworICAgIC8vIFRPRE86IFdlIG1heSB3YW50IHRvIGJ1aWxkIGEgcmVhbCB0cmFuc2Zvcm0gc3Ry
aW5nLCBpbnN0ZWFkIG9mIGNvbmNhdHRpbmcgdG8gYSBtYXRyaXgoLi4uKS4KKyAgICBTVkdUcmFu
c2Zvcm0gdHJhbnNmb3JtID0gY29uY2F0ZW5hdGUoKTsKKyAgICBpZiAodHJhbnNmb3JtLnR5cGUo
KSA9PSBTVkdUcmFuc2Zvcm06OlNWR19UUkFOU0ZPUk1fTUFUUklYKSB7CisgICAgICAgIEFmZmlu
ZVRyYW5zZm9ybSBtYXRyaXggPSB0cmFuc2Zvcm0ubWF0cml4KCk7CisgICAgICAgIHJldHVybiBT
dHJpbmc6OmZvcm1hdCgibWF0cml4KCVmICVmICVmICVmICVmICVmKSIsIG1hdHJpeC5hKCksIG1h
dHJpeC5iKCksIG1hdHJpeC5jKCksIG1hdHJpeC5kKCksIG1hdHJpeC5lKCksIG1hdHJpeC5mKCkp
OworICAgIH0KKworICAgIHJldHVybiBTdHJpbmcoKTsKK30KKwogI2VuZGlmIC8vIEVOQUJMRShT
VkcpCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdUcmFuc2Zvcm1MaXN0LmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9zdmcvU1ZHVHJhbnNmb3JtTGlzdC5oCShyZXZpc2lvbiAzNDg4NykKKysrIFdlYkNv
cmUvc3ZnL1NWR1RyYW5zZm9ybUxpc3QuaAkod29ya2luZyBjb3B5KQpAQCAtMzAsNiArMzAsOCBA
QAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKKyAgICBjbGFzcyBTdHJpbmc7CisKICAgICBjbGFz
cyBTVkdUcmFuc2Zvcm1MaXN0IDogcHVibGljIFNWR1BPRExpc3Q8U1ZHVHJhbnNmb3JtPiB7CiAg
ICAgcHVibGljOgogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTVkdUcmFuc2Zvcm1MaXN0PiBj
cmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0cmlidXRlTmFtZSkgeyByZXR1cm4gYWRvcHRS
ZWYobmV3IFNWR1RyYW5zZm9ybUxpc3QoYXR0cmlidXRlTmFtZSkpOyB9CkBAIC00MSw3ICs0Myw5
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgLy8gSW50ZXJuYWwgdXNlIG9ubHkKICAg
ICAgICAgU1ZHVHJhbnNmb3JtIGNvbmNhdGVuYXRlKCkgY29uc3Q7CiAgICAgICAgIFNWR1RyYW5z
Zm9ybSBjb25jYXRlbmF0ZUZvclR5cGUoU1ZHVHJhbnNmb3JtOjpTVkdUcmFuc2Zvcm1UeXBlKSBj
b25zdDsKLSAgICAgICAgCisgCisgICAgICAgIFN0cmluZyB2YWx1ZUFzU3RyaW5nKCkgY29uc3Q7
CisKICAgICBwcml2YXRlOgogICAgICAgICBTVkdUcmFuc2Zvcm1MaXN0KGNvbnN0IFF1YWxpZmll
ZE5hbWUmKTsKICAgICB9OwpJbmRleDogV2ViQ29yZS9zdmcvU1ZHVVJJUmVmZXJlbmNlLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHVVJJUmVmZXJlbmNlLmgJKHJldmlzaW9uIDM0ODg3
KQorKysgV2ViQ29yZS9zdmcvU1ZHVVJJUmVmZXJlbmNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQx
LDcgKzQxLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBzdGF0aWMgU3RyaW5nIGdl
dFRhcmdldChjb25zdCBTdHJpbmcmIHVybCk7CiAKICAgICBwcm90ZWN0ZWQ6Ci0gICAgICAgIHZp
cnR1YWwgY29uc3QgU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSBjb25zdCA9IDA7CisgICAg
ICAgIHZpcnR1YWwgU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSA9IDA7CiAKICAgICBwcml2
YXRlOgogICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlNfV0lUSF9DT05URVhU
KFNWR1VSSVJlZmVyZW5jZSwgU3RyaW5nLCBTdHJpbmcsIEhyZWYsIGhyZWYpCkluZGV4OiBXZWJD
b3JlL3N2Zy9TVkdVc2VFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdV
c2VFbGVtZW50LmNwcAkocmV2aXNpb24gMzQ4ODcpCisrKyBXZWJDb3JlL3N2Zy9TVkdVc2VFbGVt
ZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTgsMTAgKzU4LDEwIEBAIFNWR1VzZUVsZW1lbnQ6
OlNWR1VzZUVsZW1lbnQoY29uc3QgUXVhbGkKICAgICAsIFNWR0xhbmdTcGFjZSgpCiAgICAgLCBT
VkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKCkKICAgICAsIFNWR1VSSVJlZmVyZW5jZSgpCi0g
ICAgLCBtX3godGhpcywgTGVuZ3RoTW9kZVdpZHRoKQotICAgICwgbV95KHRoaXMsIExlbmd0aE1v
ZGVIZWlnaHQpCi0gICAgLCBtX3dpZHRoKHRoaXMsIExlbmd0aE1vZGVXaWR0aCkKLSAgICAsIG1f
aGVpZ2h0KHRoaXMsIExlbmd0aE1vZGVIZWlnaHQpCisgICAgLCBtX3goU1ZHTGVuZ3RoKHRoaXMs
IExlbmd0aE1vZGVXaWR0aCkpCisgICAgLCBtX3koU1ZHTGVuZ3RoKHRoaXMsIExlbmd0aE1vZGVI
ZWlnaHQpKQorICAgICwgbV93aWR0aChTVkdMZW5ndGgodGhpcywgTGVuZ3RoTW9kZVdpZHRoKSkK
KyAgICAsIG1faGVpZ2h0KFNWR0xlbmd0aCh0aGlzLCBMZW5ndGhNb2RlSGVpZ2h0KSkKIHsKIH0K
IApJbmRleDogV2ViQ29yZS9zdmcvU1ZHVXNlRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvc3ZnL1NWR1VzZUVsZW1lbnQuaAkocmV2aXNpb24gMzQ4ODcpCisrKyBXZWJDb3JlL3N2Zy9T
VkdVc2VFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTY4LDExICs2OCwxMSBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgICAgIHN0YXRpYyB2b2lkIHJlbW92ZURpc2FsbG93ZWRFbGVtZW50
c0Zyb21TdWJ0cmVlKE5vZGUqIGVsZW1lbnQpOwogCiAgICAgcHJvdGVjdGVkOgotICAgICAgICB2
aXJ0dWFsIGNvbnN0IFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgY29uc3QgeyByZXR1cm4g
dGhpczsgfQorICAgICAgICB2aXJ0dWFsIFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgeyBy
ZXR1cm4gdGhpczsgfQogCiAgICAgcHJpdmF0ZToKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlf
Rk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgYm9vbCwg
RXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkKLSAg
ICAgICAgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHVVJJUmVmZXJl
bmNlLCBTdHJpbmcsIEhyZWYsIGhyZWYpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldB
UkRfREVDTEFSQVRJT05TKFNWR1VzZUVsZW1lbnQsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWly
ZWQsIGJvb2wsIEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVx
dWlyZWQpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJT05TKFNW
R1VzZUVsZW1lbnQsIFNWR1VSSVJlZmVyZW5jZSwgU3RyaW5nLCBIcmVmLCBocmVmKQogCiAgICAg
ICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdVc2VFbGVtZW50LCBTVkdMZW5n
dGgsIFNWR0xlbmd0aCwgWCwgeCkKICAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJ
T05TKFNWR1VzZUVsZW1lbnQsIFNWR0xlbmd0aCwgU1ZHTGVuZ3RoLCBZLCB5KQpJbmRleDogV2Vi
Q29yZS9zdmcvU1ZHVmlld0VsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdW
aWV3RWxlbWVudC5oCShyZXZpc2lvbiAzNDg4NykKKysrIFdlYkNvcmUvc3ZnL1NWR1ZpZXdFbGVt
ZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTQ3LDE0ICs0NywxNCBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgICAgIHZpcnR1YWwgYm9vbCByZW5kZXJlcklzTmVlZGVkKFJlbmRlclN0eWxlKikg
eyByZXR1cm4gZmFsc2U7IH0KIAogICAgIHByb3RlY3RlZDoKLSAgICAgICAgdmlydHVhbCBjb25z
dCBTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIHRoaXM7IH0KKyAg
ICAgICAgdmlydHVhbCBTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCgpIHsgcmV0dXJuIHRoaXM7
IH0KIAogICAgIHByaXZhdGU6CiAgICAgICAgIG11dGFibGUgUmVmUHRyPFNWR1N0cmluZ0xpc3Q+
IG1fdmlld1RhcmdldDsKIAotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xB
UkFUSU9OUyhTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBib29sLCBFeHRlcm5hbFJlc291
cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQotICAgICAgICBBTklNQVRF
RF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdGaXRUb1ZpZXdCb3gsIEZsb2F0UmVj
dCwgVmlld0JveCwgdmlld0JveCkKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9E
RUNMQVJBVElPTlMoU1ZHRml0VG9WaWV3Qm94LCBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvKiwgUHJl
c2VydmVBc3BlY3RSYXRpbywgcHJlc2VydmVBc3BlY3RSYXRpbykKKyAgICAgICAgQU5JTUFURURf
UFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHVmlld0VsZW1lbnQsIFNWR0V4dGVybmFs
UmVzb3VyY2VzUmVxdWlyZWQsIGJvb2wsIEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVy
bmFsUmVzb3VyY2VzUmVxdWlyZWQpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRf
REVDTEFSQVRJT05TKFNWR1ZpZXdFbGVtZW50LCBTVkdGaXRUb1ZpZXdCb3gsIEZsb2F0UmVjdCwg
Vmlld0JveCwgdmlld0JveCkKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNM
QVJBVElPTlMoU1ZHVmlld0VsZW1lbnQsIFNWR0ZpdFRvVmlld0JveCwgU1ZHUHJlc2VydmVBc3Bl
Y3RSYXRpbyosIFByZXNlcnZlQXNwZWN0UmF0aW8sIHByZXNlcnZlQXNwZWN0UmF0aW8pCiAgICAg
fTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHVmlld1Nw
ZWMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR1ZpZXdTcGVjLmNwcAkocmV2aXNp
b24gMzQ4ODcpCisrKyBXZWJDb3JlL3N2Zy9TVkdWaWV3U3BlYy5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTMyLDcgKzMyLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1TVkdWaWV3U3BlYzo6
U1ZHVmlld1NwZWMoY29uc3QgU1ZHU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQpCitTVkdWaWV3
U3BlYzo6U1ZHVmlld1NwZWMoU1ZHU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQpCiAgICAgOiBT
VkdGaXRUb1ZpZXdCb3goKQogICAgICwgU1ZHWm9vbUFuZFBhbigpCiAgICAgLCBtX3RyYW5zZm9y
bShTVkdUcmFuc2Zvcm1MaXN0OjpjcmVhdGUoU1ZHTmFtZXM6OnRyYW5zZm9ybUF0dHIpKQpAQCAt
NzYsNyArNzYsNyBAQCBTVkdFbGVtZW50KiBTVkdWaWV3U3BlYzo6dmlld1RhcmdldCgpIGNvCiAg
ICAgcmV0dXJuIHN0YXRpY19jYXN0PFNWR0VsZW1lbnQqPihtX2NvbnRleHRFbGVtZW50LT5vd25l
ckRvY3VtZW50KCktPmdldEVsZW1lbnRCeUlkKG1fdmlld1RhcmdldFN0cmluZykpOwogfQogCi1j
b25zdCBTVkdFbGVtZW50KiBTVkdWaWV3U3BlYzo6Y29udGV4dEVsZW1lbnQoKSBjb25zdAorU1ZH
RWxlbWVudCogU1ZHVmlld1NwZWM6OmNvbnRleHRFbGVtZW50KCkKIHsKICAgICByZXR1cm4gbV9j
b250ZXh0RWxlbWVudDsKIH0KSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR1ZpZXdTcGVjLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHVmlld1NwZWMuaAkocmV2aXNpb24gMzQ4ODcpCisrKyBX
ZWJDb3JlL3N2Zy9TVkdWaWV3U3BlYy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNyw3ICszNyw3IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBTVkdWaWV3U3BlYyA6IHB1YmxpYyBTVkdG
aXRUb1ZpZXdCb3gsCiAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgU1ZHWm9vbUFuZFBh
biB7CiAgICAgcHVibGljOgotICAgICAgICBTVkdWaWV3U3BlYyhjb25zdCBTVkdTVkdFbGVtZW50
Kik7CisgICAgICAgIFNWR1ZpZXdTcGVjKFNWR1NWR0VsZW1lbnQqKTsKICAgICAgICAgdmlydHVh
bCB+U1ZHVmlld1NwZWMoKTsKIAogICAgICAgICBib29sIHBhcnNlVmlld1NwZWMoY29uc3QgU3Ry
aW5nJik7CkBAIC01NCwxMSArNTQsMTEgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBT
VkdFbGVtZW50KiB2aWV3VGFyZ2V0KCkgY29uc3Q7CiAKICAgICBwcm90ZWN0ZWQ6Ci0gICAgICAg
IHZpcnR1YWwgY29uc3QgU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSBjb25zdDsKKyAgICAg
ICAgdmlydHVhbCBTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCgpOwogCiAgICAgcHJpdmF0ZToK
ICAgICAgICAgbXV0YWJsZSBSZWZQdHI8U1ZHVHJhbnNmb3JtTGlzdD4gbV90cmFuc2Zvcm07Ci0g
ICAgICAgIGNvbnN0IFNWR1NWR0VsZW1lbnQqIG1fY29udGV4dEVsZW1lbnQ7CisgICAgICAgIFNW
R1NWR0VsZW1lbnQqIG1fY29udGV4dEVsZW1lbnQ7CiAgICAgICAgIFN0cmluZyBtX3ZpZXdUYXJn
ZXRTdHJpbmc7CiAgICAgfTsKIApJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMzQ4ODgpCisrKyBMYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyNiBAQAorMjAwOC0wNi0z
MCAgTmlrb2xhcyBaaW1tZXJtYW5uICA8emltbWVybWFubkBrZGUub3JnPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZpeGVzOiBodHRwOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzc3OSAoU1ZHIDEuMSBFcnJhdGEgZGVtYW5kcyAi
U1ZHIEphdmFTY3JpcHQgTGl2ZW5lc3MiIHN1cHBvcnQpCisKKyAgICAgICAgQWRkIG5ldyBsYXlv
dXQgdGVzdCBjb3ZlcmluZyBTVkcgPC0+IFhNTCBzeW5jaHJvbmljYXRpb24gKHN2Zy9jdXN0b20v
c3ZnLXhtbC1kb20tc3luYy5odG1sKS4KKyAgICAgICAgUmVuYW1lIG9uZSBoaXhpZSB0ZXN0IHRo
YXQgZ290IGZpeGVkOiAwMDUtYnJva2VuLnhtbCAtPiAwMDUueG1sCisKKyAgICAgICAgKiBwbGF0
Zm9ybS9tYWMtbGVvcGFyZC9zdmcvY3VzdG9tL3N2Zy14bWwtZG9tLXN5bmMtZXhwZWN0ZWQuY2hl
Y2tzdW06IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy1sZW9wYXJkL3N2Zy9jdXN0b20v
c3ZnLXhtbC1kb20tc3luYy1leHBlY3RlZC5wbmc6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3Jt
L21hYy1sZW9wYXJkL3N2Zy9oaXhpZS9keW5hbWljLzAwNS1icm9rZW4tZXhwZWN0ZWQuY2hlY2tz
dW06IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjLWxlb3BhcmQvc3ZnL2hpeGllL2R5
bmFtaWMvMDA1LWJyb2tlbi1leHBlY3RlZC5wbmc6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZv
cm0vbWFjLWxlb3BhcmQvc3ZnL2hpeGllL2R5bmFtaWMvMDA1LWV4cGVjdGVkLmNoZWNrc3VtOiBD
b3BpZWQgZnJvbSBwbGF0Zm9ybS9tYWMtbGVvcGFyZC9zdmcvaGl4aWUvZHluYW1pYy8wMDUtYnJv
a2VuLWV4cGVjdGVkLmNoZWNrc3VtLgorICAgICAgICAqIHBsYXRmb3JtL21hYy1sZW9wYXJkL3N2
Zy9oaXhpZS9keW5hbWljLzAwNS1leHBlY3RlZC5wbmc6IENvcGllZCBmcm9tIHBsYXRmb3JtL21h
Yy1sZW9wYXJkL3N2Zy9oaXhpZS9keW5hbWljLzAwNS1icm9rZW4tZXhwZWN0ZWQucG5nLgorICAg
ICAgICAqIHBsYXRmb3JtL21hYy9zdmcvaGl4aWUvZHluYW1pYy8wMDUtYnJva2VuLWV4cGVjdGVk
LnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvc3ZnL2hpeGllL2R5bmFtaWMv
MDA1LWV4cGVjdGVkLnR4dDogQ29waWVkIGZyb20gcGxhdGZvcm0vbWFjL3N2Zy9oaXhpZS9keW5h
bWljLzAwNS1icm9rZW4tZXhwZWN0ZWQudHh0LgorICAgICAgICAqIHN2Zy9jdXN0b20vcmVzb3Vy
Y2VzL3N2Zy14bWwtZG9tLXN5bmMuanM6IEFkZGVkLgorICAgICAgICAqIHN2Zy9jdXN0b20vc3Zn
LXhtbC1kb20tc3luYy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN2Zy9jdXN0b20v
c3ZnLXhtbC1kb20tc3luYy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBzdmcvaGl4aWUvZHluYW1p
Yy8wMDUtYnJva2VuLnhtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBzdmcvaGl4aWUvZHluYW1pYy8w
MDUueG1sOiBDb3BpZWQgZnJvbSBzdmcvaGl4aWUvZHluYW1pYy8wMDUtYnJva2VuLnhtbC4KKwog
MjAwOC0wNi0zMCAgTmlrb2xhcyBaaW1tZXJtYW5uICA8emltbWVybWFubkBrZGUub3JnPgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IEFudHRpLgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
LWxlb3BhcmQvc3ZnL2N1c3RvbS9zdmcteG1sLWRvbS1zeW5jLWV4cGVjdGVkLmNoZWNrc3VtCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy1sZW9wYXJkL3N2Zy9jdXN0b20v
c3ZnLXhtbC1kb20tc3luYy1leHBlY3RlZC5jaGVja3N1bQkocmV2aXNpb24gMCkKKysrIExheW91
dFRlc3RzL3BsYXRmb3JtL21hYy1sZW9wYXJkL3N2Zy9jdXN0b20vc3ZnLXhtbC1kb20tc3luYy1l
eHBlY3RlZC5jaGVja3N1bQkocmV2aXNpb24gMCkKQEAgLTAsMCArMSBAQAorMjYxOGQxNmJmMzI1
YWM0NjgyMThjOGZmZWMxZmJkYzIKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtbGVvcGFyZC9zdmcvaGl4aWUvZHluYW1pYy8wMDUtYnJv
a2VuLWV4cGVjdGVkLmNoZWNrc3VtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy1sZW9wYXJkL3N2Zy9oaXhpZS9keW5hbWljLzAwNS1icm9rZW4tZXhwZWN0ZWQuY2hlY2tz
dW0JKHJldmlzaW9uIDM0ODg3KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWxlb3BhcmQv
c3ZnL2hpeGllL2R5bmFtaWMvMDA1LWJyb2tlbi1leHBlY3RlZC5jaGVja3N1bQkod29ya2luZyBj
b3B5KQpAQCAtMSArMCwwIEBACi0xM2E0MjA2NTQ3YTRkNTY5YWI5NmNkMmM2MDEwMGU5YgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy1s
ZW9wYXJkL3N2Zy9oaXhpZS9keW5hbWljLzAwNS1icm9rZW4tZXhwZWN0ZWQucG5nCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2bjptaW1l
LXR5cGUgPSBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRm
b3JtL21hYy1sZW9wYXJkL3N2Zy9oaXhpZS9keW5hbWljLzAwNS1leHBlY3RlZC5jaGVja3N1bQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtbGVvcGFyZC9zdmcvaGl4aWUv
ZHluYW1pYy8wMDUtZXhwZWN0ZWQuY2hlY2tzdW0JKHJldmlzaW9uIDM0ODg3KQkoZnJvbSBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMtbGVvcGFyZC9zdmcvaGl4aWUvZHluYW1pYy8wMDUtYnJva2Vu
LWV4cGVjdGVkLmNoZWNrc3VtOjM0ODg3KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWxl
b3BhcmQvc3ZnL2hpeGllL2R5bmFtaWMvMDA1LWV4cGVjdGVkLmNoZWNrc3VtCSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEgQEAKKzEzYTQyMDY1NDdhNGQ1NjlhYjk2Y2QyYzYwMTAwZTliClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWxl
b3BhcmQvc3ZnL2hpeGllL2R5bmFtaWMvMDA1LWV4cGVjdGVkLmNoZWNrc3VtCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy1sZW9wYXJkL3N2Zy9oaXhpZS9keW5hbWljLzAw
NS1leHBlY3RlZC5jaGVja3N1bQkocmV2aXNpb24gMzQ4ODcpCisrKyBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMtbGVvcGFyZC9zdmcvaGl4aWUvZHluYW1pYy8wMDUtZXhwZWN0ZWQuY2hlY2tzdW0J
KHdvcmtpbmcgY29weSkKQEAgLTEgKzEgQEAKLTEzYTQyMDY1NDdhNGQ1NjlhYjk2Y2QyYzYwMTAw
ZTliClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorNzZiZGMwMmY5ZTVjODU1NGFlYmMyMGYz
N2QxMWZhZTcKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvc3ZnL2hpeGllL2R5bmFtaWMvMDA1LWJyb2tlbi1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9oaXhpZS9keW5hbWljLzAw
NS1icm9rZW4tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAzNDg4NykKKysrIExheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9zdmcvaGl4aWUvZHluYW1pYy8wMDUtYnJva2VuLWV4cGVjdGVkLnR4dAkod29y
a2luZyBjb3B5KQpAQCAtMSw3ICswLDAgQEAKLWxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAot
ICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSAz
MDB4MzAwCi0gIFJlbmRlclNWR1Jvb3Qge3N2Z30gYXQgKDAsMCkgc2l6ZSAzMDB4MzAwCi0gICAg
UmVuZGVyUGF0aCB7cmVjdH0gYXQgKDAsMCkgc2l6ZSAxNTB4MzAwIFtmaWxsPXtbdHlwZT1TT0xJ
RF0gW2NvbG9yPSNGRjAwMDBdfV0gW2RhdGE9Ik0wLjAwLDAuMDAgTDE1MC4wMCwwLjAwIEwxNTAu
MDAsMzAwLjAwIEwwLjAwLDMwMC4wMCJdCi0gICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDAsMCkg
c2l6ZSAzMDB4MTUwIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDgwMDBdfV0gW2RhdGE9
Ik0wLjAwLDAuMDAgTDMwMC4wMCwwLjAwIEwzMDAuMDAsMTUwLjAwIEwwLjAwLDE1MC4wMCJdCi0g
ICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDAsMTUwKSBzaXplIDMwMHgxNTAgW2ZpbGw9e1t0eXBl
PVNPTElEXSBbY29sb3I9IzAwMDAwMF19XSBbZGF0YT0iTTAuMDAsMTUwLjAwIEwzMDAuMDAsMTUw
LjAwIEwzMDAuMDAsMzAwLjAwIEwwLjAwLDMwMC4wMCJdCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvc3ZnL2hpeGllL2R5bmFtaWMvMDA1LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2hpeGllL2R5bmFtaWMvMDA1LWV4cGVjdGVk
LnR4dAkocmV2aXNpb24gMzQ4ODcpCShmcm9tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcv
aGl4aWUvZHluYW1pYy8wMDUtYnJva2VuLWV4cGVjdGVkLnR4dDozNDg4NykKKysrIExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9zdmcvaGl4aWUvZHluYW1pYy8wMDUtZXhwZWN0ZWQudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsNyBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisg
IFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDMw
MHgzMDAKKyAgUmVuZGVyU1ZHUm9vdCB7c3ZnfSBhdCAoMCwwKSBzaXplIDMwMHgzMDAKKyAgICBS
ZW5kZXJQYXRoIHtyZWN0fSBhdCAoMCwwKSBzaXplIDE1MHgzMDAgW2ZpbGw9e1t0eXBlPVNPTElE
XSBbY29sb3I9I0ZGMDAwMF19XSBbZGF0YT0iTTAuMDAsMC4wMCBMMTUwLjAwLDAuMDAgTDE1MC4w
MCwzMDAuMDAgTDAuMDAsMzAwLjAwIl0KKyAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMCwwKSBz
aXplIDMwMHgxNTAgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwODAwMF19XSBbZGF0YT0i
TTAuMDAsMC4wMCBMMzAwLjAwLDAuMDAgTDMwMC4wMCwxNTAuMDAgTDAuMDAsMTUwLjAwIl0KKyAg
ICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMCwxNTApIHNpemUgMzAweDE1MCBbZmlsbD17W3R5cGU9
U09MSURdIFtjb2xvcj0jMDAwMDAwXX1dIFtkYXRhPSJNMC4wMCwxNTAuMDAgTDMwMC4wMCwxNTAu
MDAgTDMwMC4wMCwzMDAuMDAgTDAuMDAsMzAwLjAwIl0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9zdmcvaGl4aWUvZHluYW1pYy8wMDUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvaGl4aWUvZHluYW1pYy8wMDUtZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiAzNDg4NykKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvaGl4
aWUvZHluYW1pYy8wMDUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC00LDQgKzQsNCBA
QCBsYXllciBhdCAoMCwwKSBzaXplIDMwMHgzMDAKICAgUmVuZGVyU1ZHUm9vdCB7c3ZnfSBhdCAo
MCwwKSBzaXplIDMwMHgzMDAKICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMCwwKSBzaXplIDE1
MHgzMDAgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9I0ZGMDAwMF19XSBbZGF0YT0iTTAuMDAs
MC4wMCBMMTUwLjAwLDAuMDAgTDE1MC4wMCwzMDAuMDAgTDAuMDAsMzAwLjAwIl0KICAgICBSZW5k
ZXJQYXRoIHtyZWN0fSBhdCAoMCwwKSBzaXplIDMwMHgxNTAgW2ZpbGw9e1t0eXBlPVNPTElEXSBb
Y29sb3I9IzAwODAwMF19XSBbZGF0YT0iTTAuMDAsMC4wMCBMMzAwLjAwLDAuMDAgTDMwMC4wMCwx
NTAuMDAgTDAuMDAsMTUwLjAwIl0KLSAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMCwxNTApIHNp
emUgMzAweDE1MCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXX1dIFtkYXRhPSJN
MC4wMCwxNTAuMDAgTDMwMC4wMCwxNTAuMDAgTDMwMC4wMCwzMDAuMDAgTDAuMDAsMzAwLjAwIl0K
KyAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMCwxNTApIHNpemUgMzAweDE1MCBbZmlsbD17W3R5
cGU9U09MSURdIFtjb2xvcj0jMDA4MDAwXX1dIFtkYXRhPSJNMC4wMCwxNTAuMDAgTDMwMC4wMCwx
NTAuMDAgTDMwMC4wMCwzMDAuMDAgTDAuMDAsMzAwLjAwIl0KSW5kZXg6IExheW91dFRlc3RzL3N2
Zy9jdXN0b20vc3ZnLXhtbC1kb20tc3luYy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvc3ZnL2N1c3RvbS9zdmcteG1sLWRvbS1zeW5jLWV4cGVjdGVkLnR4dAkocmV2aXNp
b24gMCkKKysrIExheW91dFRlc3RzL3N2Zy9jdXN0b20vc3ZnLXhtbC1kb20tc3luYy1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTcgQEAKK1Rlc3RzIHdoZXRoZXIgY2hhbmdl
cyB0byBTVkcgdGhyb3VnaCBuYXRpdmUgb2JqZWN0cyBhbmQgdGhlIERPTSBzdGF5IGluIHN5bmMu
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIHJlY3QueC5iYXNlVmFsLnZh
bHVlIGlzIDEwMAorUEFTUyByZWN0LmdldEF0dHJpYnV0ZSgneCcpIGlzICcxMDAnCitQQVNTIHJl
Y3QueS5iYXNlVmFsLnZhbHVlIGlzIDEwMAorUEFTUyByZWN0LmdldEF0dHJpYnV0ZSgneScpIGlz
ICcxMDAnCitQQVNTIHJlY3QueC5iYXNlVmFsLnZhbHVlIGlzIDIwMAorUEFTUyByZWN0LmdldEF0
dHJpYnV0ZSgneCcpIGlzICcyMDAnCitQQVNTIHJlY3QueS5iYXNlVmFsLnZhbHVlIGlzIDIwMAor
UEFTUyByZWN0LmdldEF0dHJpYnV0ZSgneScpIGlzICcyMDAnCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2N1
c3RvbS9zdmcteG1sLWRvbS1zeW5jLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3Zn
L2N1c3RvbS9zdmcteG1sLWRvbS1zeW5jLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0
cy9zdmcvY3VzdG9tL3N2Zy14bWwtZG9tLXN5bmMuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCAr
MSwxMyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vTGF5
b3V0VGVzdHMvZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uLy4uL0xheW91dFRlc3RzL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvc3ZnLXhtbC1k
b20tc3luYy5qcyI+PC9zY3JpcHQ+IAorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL0xheW91dFRlc3Rz
L2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3Jlc291cmNlcy9zdmcteG1sLWRv
bS1zeW5jLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9jdXN0b20vcmVzb3VyY2Vz
L3N2Zy14bWwtZG9tLXN5bmMuanMJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9zdmcvY3Vz
dG9tL3Jlc291cmNlcy9zdmcteG1sLWRvbS1zeW5jLmpzCShyZXZpc2lvbiAwKQpAQCAtMCwwICsx
LDIxIEBACitkZXNjcmlwdGlvbigiVGVzdHMgd2hldGhlciBjaGFuZ2VzIHRvIFNWRyB0aHJvdWdo
IG5hdGl2ZSBvYmplY3RzIGFuZCB0aGUgRE9NIHN0YXkgaW4gc3luYy4iKTsKKwordmFyIHN2Z0Rv
YyA9IGRvY3VtZW50LmltcGxlbWVudGF0aW9uLmNyZWF0ZURvY3VtZW50KCJodHRwOi8vd3d3Lncz
Lm9yZy8yMDAwL3N2ZyIsICJzdmciLCBudWxsKTsKK3ZhciByZWN0ID0gc3ZnRG9jLmNyZWF0ZUVs
ZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCAicmVjdCIpOworcmVjdC5zZXRB
dHRyaWJ1dGUoIngiLCAxMDApOworcmVjdC5zZXRBdHRyaWJ1dGUoInkiLCAxMDApOworCitzaG91
bGRCZSgicmVjdC54LmJhc2VWYWwudmFsdWUiLCAiMTAwIik7CitzaG91bGRCZSgicmVjdC5nZXRB
dHRyaWJ1dGUoJ3gnKSIsICInMTAwJyIpOworc2hvdWxkQmUoInJlY3QueS5iYXNlVmFsLnZhbHVl
IiwgIjEwMCIpOworc2hvdWxkQmUoInJlY3QuZ2V0QXR0cmlidXRlKCd5JykiLCAiJzEwMCciKTsK
KworcmVjdC54LmJhc2VWYWwudmFsdWUgPSAyMDA7CityZWN0LnNldEF0dHJpYnV0ZSgieSIsIDIw
MCk7CisKK3Nob3VsZEJlKCJyZWN0LnguYmFzZVZhbC52YWx1ZSIsICIyMDAiKTsKK3Nob3VsZEJl
KCJyZWN0LmdldEF0dHJpYnV0ZSgneCcpIiwgIicyMDAnIik7CitzaG91bGRCZSgicmVjdC55LmJh
c2VWYWwudmFsdWUiLCAiMjAwIik7CitzaG91bGRCZSgicmVjdC5nZXRBdHRyaWJ1dGUoJ3knKSIs
ICInMjAwJyIpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKSW5kZXg6IExheW91
dFRlc3RzL3N2Zy9oaXhpZS9keW5hbWljLzAwNS1icm9rZW4ueG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL3N2Zy9oaXhpZS9keW5hbWljLzAwNS1icm9rZW4ueG1sCShyZXZpc2lvbiAzNDg4
NykKKysrIExheW91dFRlc3RzL3N2Zy9oaXhpZS9keW5hbWljLzAwNS1icm9rZW4ueG1sCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDI0ICswLDAgQEAKLTxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3Jn
LzIwMDAvc3ZnIiB3aWR0aD0iMzAwIiBoZWlnaHQ9IjMwMCIgb25sb2FkPSJ0ZXN0KCkiPgotIDx0
aXRsZT5DcmVhdGluZyBlbGVtZW50cyBhbmQgcmVsYXRlZCBpbnRlcmZhY2VzPC90aXRsZT4KLSA8
c3R5bGUgdHlwZT0idGV4dC9jc3MiPgotICAuZmFpbCB7IGZpbGw6IHJlZDsgfQotICAucGFzcyB7
IGZpbGw6IGdyZWVuOyB9Ci0gPC9zdHlsZT4KLSA8cmVjdCB3aWR0aD0iMTUwIiBoZWlnaHQ9IjMw
MCIgY2xhc3M9ImZhaWwiLz4KLSA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci0gIHZh
ciByMSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygnaHR0cDovL3d3dy53My5vcmcvMjAwMC9z
dmcnLCAncmVjdCcpOwotICByMS53aWR0aC5iYXNlVmFsLm5ld1ZhbHVlU3BlY2lmaWVkVW5pdHMo
cjEud2lkdGguYmFzZVZhbC5TVkdfTEVOR1RIVFlQRV9QWCwgMzAwKTsKLSAgcjEuaGVpZ2h0LmJh
c2VWYWwubmV3VmFsdWVTcGVjaWZpZWRVbml0cyhyMS5oZWlnaHQuYmFzZVZhbC5TVkdfTEVOR1RI
VFlQRV9QWCwgMTUwKTsKLSAgcjEuc2V0QXR0cmlidXRlKCdjbGFzcycsICdwYXNzJyk7Ci0gIHIx
LnNldEF0dHJpYnV0ZSgnZmlsbCcsICdyZWQnKTsKLSAgdmFyIHIyID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudE5TKCdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycsICdyZWN0Jyk7Ci0gIHIyLndp
ZHRoLmJhc2VWYWwubmV3VmFsdWVTcGVjaWZpZWRVbml0cyhyMi53aWR0aC5iYXNlVmFsLlNWR19M
RU5HVEhUWVBFX1BYLCAzMDApOwotICByMi5oZWlnaHQuYmFzZVZhbC5uZXdWYWx1ZVNwZWNpZmll
ZFVuaXRzKHIyLmhlaWdodC5iYXNlVmFsLlNWR19MRU5HVEhUWVBFX1BYLCAxNTApOwotICByMi5z
ZXRBdHRyaWJ1dGUoJ3knLCAnMTUwJyk7Ci0gIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5hcHBl
bmRDaGlsZChyMSk7Ci0gIGZ1bmN0aW9uIHRlc3QoKSB7Ci0gICByMi5jbGFzc05hbWUuYmFzZVZh
bCA9ICdwYXNzJzsKLSAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5hcHBlbmRDaGlsZChyMik7
ICAgCi0gIH0KLSA8L3NjcmlwdD4KLTwvc3ZnPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
SW5kZXg6IExheW91dFRlc3RzL3N2Zy9oaXhpZS9keW5hbWljLzAwNS54bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvc3ZnL2hpeGllL2R5bmFtaWMvMDA1LnhtbAkocmV2aXNpb24gMzQ4ODcp
CShmcm9tIExheW91dFRlc3RzL3N2Zy9oaXhpZS9keW5hbWljLzAwNS1icm9rZW4ueG1sOjM0ODg3
KQorKysgTGF5b3V0VGVzdHMvc3ZnL2hpeGllL2R5bmFtaWMvMDA1LnhtbAkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDI0IEBACis8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2
ZyIgd2lkdGg9IjMwMCIgaGVpZ2h0PSIzMDAiIG9ubG9hZD0idGVzdCgpIj4KKyA8dGl0bGU+Q3Jl
YXRpbmcgZWxlbWVudHMgYW5kIHJlbGF0ZWQgaW50ZXJmYWNlczwvdGl0bGU+CisgPHN0eWxlIHR5
cGU9InRleHQvY3NzIj4KKyAgLmZhaWwgeyBmaWxsOiByZWQ7IH0KKyAgLnBhc3MgeyBmaWxsOiBn
cmVlbjsgfQorIDwvc3R5bGU+CisgPHJlY3Qgd2lkdGg9IjE1MCIgaGVpZ2h0PSIzMDAiIGNsYXNz
PSJmYWlsIi8+CisgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorICB2YXIgcjEgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50TlMoJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJywgJ3Jl
Y3QnKTsKKyAgcjEud2lkdGguYmFzZVZhbC5uZXdWYWx1ZVNwZWNpZmllZFVuaXRzKHIxLndpZHRo
LmJhc2VWYWwuU1ZHX0xFTkdUSFRZUEVfUFgsIDMwMCk7CisgIHIxLmhlaWdodC5iYXNlVmFsLm5l
d1ZhbHVlU3BlY2lmaWVkVW5pdHMocjEuaGVpZ2h0LmJhc2VWYWwuU1ZHX0xFTkdUSFRZUEVfUFgs
IDE1MCk7CisgIHIxLnNldEF0dHJpYnV0ZSgnY2xhc3MnLCAncGFzcycpOworICByMS5zZXRBdHRy
aWJ1dGUoJ2ZpbGwnLCAncmVkJyk7CisgIHZhciByMiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnRO
UygnaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnLCAncmVjdCcpOworICByMi53aWR0aC5iYXNl
VmFsLm5ld1ZhbHVlU3BlY2lmaWVkVW5pdHMocjIud2lkdGguYmFzZVZhbC5TVkdfTEVOR1RIVFlQ
RV9QWCwgMzAwKTsKKyAgcjIuaGVpZ2h0LmJhc2VWYWwubmV3VmFsdWVTcGVjaWZpZWRVbml0cyhy
Mi5oZWlnaHQuYmFzZVZhbC5TVkdfTEVOR1RIVFlQRV9QWCwgMTUwKTsKKyAgcjIuc2V0QXR0cmli
dXRlKCd5JywgJzE1MCcpOworICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuYXBwZW5kQ2hpbGQo
cjEpOworICBmdW5jdGlvbiB0ZXN0KCkgeworICAgcjIuY2xhc3NOYW1lLmJhc2VWYWwgPSAncGFz
cyc7CisgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuYXBwZW5kQ2hpbGQocjIpOyAgIAorICB9
CisgPC9zY3JpcHQ+Cis8L3N2Zz4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtbGVvcGFyZC9zdmcvY3VzdG9tL3N2Zy14bWwtZG9tLXN5
bmMtZXhwZWN0ZWQucG5nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFz
IGEgYmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0K
ClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy1sZW9wYXJkL3N2
Zy9jdXN0b20vc3ZnLXhtbC1kb20tc3luYy1leHBlY3RlZC5wbmcKX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpOYW1lOiBz
dm46bWltZS10eXBlCiAgICsgYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtCgoKaVZCT1J3MEtHZ29B
QUFBTlNVaEVVZ0FBQXlBQUFBSllDQVlBQUFDYWRvSndBQUFnQUVsRVFWUjRuT3k5ZlhqVTFabjQv
Wm5IQkNicQpSQU1idEtBL29LZ2IzREx6TEt3WDFpMjBNL2l6b0paaEs5UUtFeCtqMjhCYUw1aDBu
OEtHcDlBMmFXVkR0MHZDK3JNRHJRM1ZKQzBtCjJ6cTAzYkJ1azloZ2JiSTBhUm1zU1d1eUpLdkph
cVprZEFhWmdSbXY4L3d4NysrVEZ3S3Q5K2U2QWpQZjgzYWYrOXpuZk0vN2FKUlMKQ2tFUUJFRVFC
RUVRaEJuZy83cmNBZ2lDSUFpQ0lBaUM4TUZCQmlDQ0lBaUNJQWlDSU13WU1nQVJCRUVRQkVFUUJH
SEdrQUdJSUFpQwpJQWlDSUFnemhneEFCRUVRQkVFUUJFR1lNV1FBSWdpQ0lBaUNJQWpDakNFREVF
RVFCRUVRQkVFUVpnd1pnQWlDSUFpQ0lBaUNNR1BJCkFFUVFCRUVRQkVFUWhCbmpnek1BOGJrWWRY
cXV2TGorbU5LK1lnamdjbzdpZExvSUFBUTh1SHlCNlluWjU4SGw4dUR4ZUFoSEdmQjQKOEUwa2tp
dXhqQzZqVEQ3WE1JUERyc3VTTmo0bnc2T1o4dTFodUg4UTEvU1l6MlhHeCtpd2s1eXpjb1hZcWMv
alpIUjBsRkduYTJMMQo3SStFeTJyL2dpQUlWeWhaQmlBZWpwUnEwR2d5LzVVZTZwMFphU2REWUpp
RHBTWTBCWE5ZVi8vYWxSUFhIMVBhVnhBQlp6Y1ZobnptCnpGdkF2SGx6eU5lWU1PVVg4dTNYdklD
UFk3dE5NYlpwb0xxbFB4TFdOM3ljVW9NaDVHYmkyS0F2SnQ3VEhOeHFJcitna0RsekNpa3MKTEtR
Z1g4T0dyVnZKTHpSektwZCsycFZZUnBkZEpnOC9lR0FSdHl6NkJOMHoyZGNORExPLzFJU21ZQjdy
RzlMbjI5TmJ6NktsdC9EQQowMWR3RzVhVkFPMEh0NkxSRkxCZy9mZkpxdVpwdFFrZngzWnZTUDF1
TUd5ZytsQUxwOU1NQUgzREo5aTlRVU5CNFR3V3JGdkhnbmx6CktOQm9xRzdxamhtSXhNZHYyTnFT
WnBBU2lLdjdodEw5REY4Umc4ckxaUCtDSUFoWE9pb2pibVV6b3Nyck85WFl1RmQ1UnpxVkdSVDYK
R2pYazlhdnhrVDVWWjBFWjYzb3lSNU1KNzRDeXQvWk5QbndPK0VmYWxCR1VlYkp5eHNnNDViaW13
T1ZNZTlxWVVubVBxVG9qQ3F5cQp6eHQ4TXRMVHJJeWdMSTNoT1AycXJjcW9BS1d2Nmt5T1lzU3VR
SzlhUi95UlIrT09ScVVIQldiVjJEV2t3aTd1a1M1VmFRdys3M0huCmxxY3JzWXhtWEthNE12YXJu
dVlhWmExcVZtTXprM3BVakNHN0lrdSsvV05kcXFyY3F1eDk0MU5NN05LM1l4bnhqd1RyaHRHbTBw
cnEKSmJUVEhwdFpBY3JhNkZCKzVWZnU4UkhWWmE5VFJsQ0FzdFIxS24rTS83SE9PZ1VvakZYS01S
NTI4YXFlNXNyZ2MwdDluTDMwMVZ1Qwp6MEUxRDhYR0ZJNndOZUp1ck9tYWVBWXVXZmxkUHZzWEJF
RzRrc215QWhLQVcydjQ4aU9yS0M3U29wMXpEVHFBeGRjeFI1dEgwZndTCkh2OUtJN2RPZXZqajRz
aG5iMkdQNC95a1k4aUZ2RG5YVXdpNForZFBJblM4akZPTGEycGN6clNuaHltV3QrOE5UbllBK2pu
TTFRWWYKelYrK2thT3RWaHBlZFlZODVXRjY0cXNZQWNmZUwzTWlZZWREYjBzdFdHdFlPejh2K01E
VFM1bCtDdzZNdEk2OHdPYVZDd201b0p1LwpraWRmZEdEbURPL2xtS2Nyc1l4bVZxYkVNczVqK2Nh
ZEhOaXprZUlaU0QwVzdRMDNZUWJJa08rODRwWHNPWFNBOVNWRlUwaHBadHF4CmpPVE40YzhXWlBK
d2FlMDBQL2htb0dUWkl2TElRMWMwbjVYcnQ5UHVINkJLRHcwN1Z2UDVsc0dnWjA4M24xdTlBN0RR
ODI5N1dGWVUKcm5GYWxtOThrcDQ2TXpTVThZVWpweVB4TDdyempzam42dHFmSlcwejY2N2ZIL2xj
cUoxb25pNWwrVjArK3hjRVFiaWltZEJ3eGR1agpMS0F3cDU1bDg0NTBLcXN4T0F1RjNxTHFPNGZD
THFyTlpsVjZ2VkdaalhxRjNxb2NicVhzNVNHLzZCVVlWZk9BSzZXL2hGU1V2ZEtvCjBCdVZYbTlS
ZG9kRDJTeDZwVGNhbFZHdlYxWDJJYVhVa0txeEdFTnhlcFh5OWlnektHTlZvMnF1Q2Mra0dWVnpu
enVyN0VreS92YVYKU2NibFYwT09UbVdydEtoeVc2dXloOEpXdFE2cEpOeDlxc2Fpajh6b1dTb2Ix
WWhmNVpBUHYzSTAxeWc5S0tOUnIwQ3Y2bnZHbEZKKwpOZEJwVnpWV3M5S2JxMVJ6ZldVa2JHUFBl
Rnk2ZFJaOUtLOTZWVjVsVTNaN3MycnRHWmxVK1NhU1hONWVwY1lkcXE0OFZKNmd6SlgxCmFpRHRG
TzZJcWdycEJIT1Y2aGtMellUNngxVGZRUHo4WWx1bFBzWHM5NUN5Z3JMRmxGVjRabFZmMlpZdVVl
VWVHbERwNXNjblpoOFoKYkNDZEh2eERxcTdjckl4NnZiSTI5aW1sUmxTTnhhaU1ScjB5V3B1ajlU
QlQyZVZnLzFGeXNaVjBkcGFzanlPZEo1VzlzVVlac2FndQp0MWZacmNFOEd2VkdWV1VmVUVyNVZW
dE51ZExyVWNaS3UvS3FUSGFXZ2t6MkU4NTNwVTNWV1kyUitCcERzaXIvdUhLME5hdEtzMUhaClFu
bkxtSGFhZWptNWRpeVRIbk90cnc1VlpTYW96MGk5U04wMlQxODdsaHFITFJoSFhVOXlUZkVPTklm
aXIxSkRLbHJuaktsV0tKVlMKYXF3dGxKOUtGVTdSM1dOVFJvczF1QUtQWHJYR1ZuZHZqektpVi9Y
TmRWbFd2SEo5RDNuU2xJdFhOVmVhbGRGc1VSYXpXVlUxQjFkTQpPdXVzeW13MktrdFZxL0ltcERn
KzVJaXgveHpMTmF2TTJlVDRpZnB0anUxOXl2ZU1JQWpDRERCOUE1RHhUbVVFWmVzYVU4by9vbXpt
CllLUFdPT0JWL3FIZ0M4ZytycFJTUTZwU2IxYWRicVhjQS9aZ0kxL1Zxc2JHeDVVbmpiOGt4cnVD
THlKTFk3REJkNGZrTXRaRjVCcHAKdFNySzdjRmwvN0Rjb0l4VnphcXJzejc0Z2d0dlY4Z2dlNktN
M2tuSDlkK3F1Y29jM1NaZ0tWZDZVSmI2aEdWL2Y1OHFCMlcyQmJjcwpETm10d1pkRFkxL1dmUGhI
Z3RzUUt0dUNiK2ZPS3IyQ0tqV2lsT3ByclF0dE0wSlJYcTg2MnhMa1ZsN1ZhSTZXN1VDek5mSlN0
clVOClRhcDhFMG5XcFVPVmc2STgySkYyOXpXSFpJeHVzVXBrcUswbW9rTkFWZFozcHV4d2hXV0M4
a2hjN3A0NkJWVXhXeUg4cXJYU21LYlQKNGxjakEzMXFZR0JBRFEyTnFLR0JQalhpVG40N1Q4dyt4
bExid0dGN1pqMjRPeE5rSEl0c3R4blBwZXl5Mld3QzJXd2xrNTNGNjJOTQpuV3l0VitWeDI5aUdW
SlUrVkM1aGRZNjNLVEFIdjJld3N5U3kyVTlNdnMwMTlhclJGdFZMMjVoUy9wRWVWVk51akhhY002
V2RvVjVPCnRoMmJVbjMxRHlncktLejJVSm0wQmR2RU5HVTZmZTFZNm9xWmFRQ2l2STVRV21iVjVZ
NzZOZHZTREJRUy9DdWxsTHVuUmxucXVsUm4KWGJEK0dHdWlnNWUrUnJQQ1lsZGpmWTBaQnlBNXY0
Y3lsRXZrM1JQK0h0S1ZIbU5FMXBnVWxTUEIvck8zdzduSm5FMk83UGFUNFQwagpDSUl3QTB6YkFL
U3JKcmppWUxQYmxkMXVWM1dXWU9PbnIrbFNib2ROQWFxOHZrZjVsVkxqWFhiVk02NlU4anFVT2Va
RmxOWmZDb0l6CjNFYlZHWElQN3ZzM3F1QTd3NjNxOUNoYnVPY1ptZ21Obmdud3ErYnkwQXliUDdQ
c2lUSk9LYTdRbVpySVFNbWIvRElmYUxRb3NFWm0KL3BTM1QxV1p6Y0VadUN4cHE3RmdwNkZ4d0sr
Q004dG1SZVRGR05SSnROUHFWNDJXbUJkU3FHejFOYUY4K29PZEFMT3RiL0xsbTJRLwo4YnJzYTdS
RU9vT1IvSWM2ejBrRHN4amNBMjNLcW84T1FqRFhxT1J0NGU1Zy9rQlptNk9yV2VhNEYreDQ2RXdK
cWpKeEpjby9wdXgxCmxkR1h1TjZxT2tkU2Q0SW5ZaCtwYkNDckh0ekJPS01kSzdlcU4rZGVkdGxs
U3RaZFJsdkpaR2VKK2xEaEdlL29PWnFSMXNxUXpvTmQKcDRGR1M2aCtaS3MvOFdUVlczZ0ZKQ2Fz
bzc0ODFQbDFoRlRSbzR5aGpuT210RFBYeTBtMlkxT29yOEVPWTJ5bjF4dHZFNGxNYXp1VwpURzRE
RUl0eWVLTitMZldPbEhFRk85TEUyWXk3cDBZWmF4eEtqYmRHM0xwQ0E5cHlVTFkrdi9MMzJUSU9R
SEo5RDJVdUY2VjZRb09nCm1xNWdYb2VheXhYVzlDdW84ZmFmcFc3bEtuTldPVEtuazlHZUJVRVFa
b0JwdW9iWFE5OHJIV0EyTWhlNGVQRWlpemExMG1xMzg5UzYKRDZOYmRCY1c0SERaQ3ZJMXBiUmR2
WXJsUlFCK0FOd1hnckdrOTVmTVhROVhBQjAwdEE0RGc5VHY3UUE2T1BvZmcrRDhkM1k0cXZoMApp
VFl1ek9KNTE0USs1ZkhuSDdVQVhiemx6U3g3b294VGl3dG1Gd0xNRGdiVnhzc0hQbjc5OHdiUUwy
Wk8rSkcyaEQwdnZNQWp5Nk03CmlGT25EUlN2b2wxNUtmbnRQMlBTNUxObWx4MVlRSGhIZE9IaWNL
amd2OHMrWm9hejRWaUR2aHl2bkF6ZW9wTTNsNXNCOTRYelRMNTgKRTRuVlpZQ2hWeDNBWXE2UFVj
T0Nqd1QzZW52YzZmZGo2NWFZT0hES1MxZDlaZkNCZlJlTFBwOTRPNDZPVDFYVUFWQmJmUlNucDVm
YQp3M3IrZmwxSmpKOGkvbkt0RVlEWGZuODJMalI1eGF6Zi9pUkg2eTBBMkJyMnNXcCtZbmtsNWls
SzJqSWkwUWJ5c3VzaFZJRHVsTnFBCnpHV1htMHlKWkxTVmpIYVdyQS8vaGZqcmYrWi80aUVzd0Q3
YmkvancwTFNsZ1QwUHJpQ2JuY1dUdS8wVVhoYzlFN0RzdnI5QkQzREIKSDQ2R1FnRE9aVWg3ZnBa
Nk9jbDJiTkwxTmNDcGpscmdWcUpaODZkSUlKYnBiY2NtaHdlL0gveWhlN284RjlMSVhIQjlzSXhJ
eU5XRgo4MUMwbGozbEFIYWUrbkUvcnU1bk9Vd05ueW5KSTVCRkJibStoN0tWeS9MUzdSaUJYZnZz
QkFod3ZQb3dkWS9la1poY2hFVDd6OXdPCjV5cHpkam5TcDVQYmUwWVFCT0ZTa3BmZHl3UnczOHo5
NjljVDMwMExBTVU4Tis1ZzJYWUx1eG9hMktSdm9LWnpoSjJKYmJadVdXcC8KcStZbkphVXR1WThh
UGV4NjNzNkRuTUZSWGtmTitSM3MrazRUeTEvdHdOTDQ3YVJEZjNFdjN3c2VvRER5VWtrcnUrK04x
Rm1kVEZ5awo2ZTFGOEhQeFBPQjRpM0VJSGV1Y1FOcStRWGF2dklWOVZESGdWL2diU2xsYWx1bnV4
NWd1clhZWlQ5Z3NOR3pieHVQNzUxSjJVeS83CjBHTTMzMDZrR3pEUjhrMVJickhoem5tRE1yd1hj
NkpVdTJnWkZtQWtSUWhuOXhGK2Z2VURiRnltQTdTc2ZPUkp4dlczTVdkRkdSeisKQlVQL1p5TWxN
UmF0Vy80UU5mb2Q3SExzNHU2UGdhUGN6b3NKSGNIcjV3VlA3dHBQOXVOak9ZbERESDlJMXhmOFhr
aHlUVTlHKzRnagpkejBVcGtzc1k5bE5ScVpVeE5qS2hPMHNXZDd5R2lNTnU1N2xleTFqdEJodHZM
d3dwdURTMmxuODkxejFGcGR2M1FMMGllNngwYVpNCit4MmFjcWlYMFRSeWJNY21YVjg5REowQ09N
OVVqMDFQcmgyYkdKN1hYcUVCd0xpT1czVXcvcUhiQVR0bit0OGt3UEtrbDFCZzVIY2gKL3ladVM2
SHMreXZxNFhBWkRWdVcwZ0JVdFkxUkJObXZIMDVYTG9udm9XemxVclNhblpWNk92WWQ0UG4yV1J4
MVZOS3dMS3RWWkNEOQoxRUpHVzVxd0hPRjBjbnZQQ0lJZ1hFb211QUtTcnJ1U3p5d2QwRkhHRDA3
SE5OVE9ka3lHcDNtait4QUhYMTNFenVkT01kQm1Rdy9zCmFuZ2xNbU5kR0xxSnhaUEZYenpGUExE
SEN2WWRyTmxTUy9YWHRsTzJwUkk2OXJKdEgxUjhha2xTaU1MWUcxOW1oNXZkekxLN1VvV2QKWWx4
d0ljMXJ2SUFiYjlZRCt6amFQaHg1R2hodXdWVGFsS1N2K0xSaDhJZjcyZWNBZStzZWx1UVI2bENR
Vkd6cHVoQ0dqNjhCekt6NQpNTHcxNjI1R3ZLZFl2MUNiTlYvWnlqZVJvUHhhL3R5Z0J6cjQ1ZStq
bWdtOGZZYUd4RHlHMERMR0prdFRYRWVqU0wrQzRCckYrUlFaCksrYkI2dUFxaWNNQmRWdU5TWjJk
WlE5VUJNTTNiT0Z3ZC9LUGhlWFBUcE9KbEhsSzgzMTJxbGQ4MkFaeTBFTjQvQmVWS3VsVCtyS2IK
aUV6SnBMS1ZYT3dzVmZuRjh0RUhIMGRQQjlzMjdlSytMMzA2MUFuS3RmN0FST3luTUxZTXg0UHVo
dHZtSmtpVWx5SHRJMXd6Z1hxWgphenMyK2ZwYXhFZU1ScUFCeCt0aFdVT0J6bDVJOGgzTDlMWmp5
Y3pPVDZoaHZ0UHNYYkVOZ0xwLytndzZZT0c5ajJFRkhMVzFkRHFUCm91Qm56MVFEWUxXYUNjOFgr
TjU1SjNLYm1iYmtBV3ptc085S0hqWVZoNlRPWEZtemxVdFlGOW5MSlkrN0g5c0RPTml5Wmd2VVAw
U20KcVpaMDVES1V5eXh6Ym5Ja3A1UGJleWJnKzFQOFdVaEJFSzRVSmpZQWVmc01EZ0IzWWdkYXk3
b25ndHRkeXZRZlkzL1RjZHFQSGNJdwpidzNHcHg3aSt2d0w3SGlpSGhld3hQUVlqK3VCbTI2SXpL
elpYKzZndC9jWXRyWXpHZjBsc3VTVG53MWVzMW5lekQzRlVQeUpqVmdBCmZlVk9sc2Yyci9LQ2J3
NTc3KzlDY2dmNDNTOGJnbTc1bVdVUHZ3RERNaDVzSHBwQ1hEN0czRURIdTJseWxNY2REejBPd0s0
MWk5aDYKc0lsalI2ckpYN1NKdi8zS3A5Rm16QWVjdnhpY0QyMXVPYzdwN2lZZTMyWUgzSng4OFRq
OXp2ZTVFT3JCRmdEZzQvVExIZURvWnd3ZwpNRWpsMGpLTVZoTTNYbnN0YzY2Ri9wUGRESTU2cGx5
K2lZUjEyZUg3UlBDRld2NVU1RWZEK243UkRCaXAzTHdzS1Z6K2RUZUJZeHZtCjZtT1JUcEN6cHlj
NFcycjlHMjVKa2VEQ2V4K21ISUFxTmk1UDBlbldMZWVmdTJ3QTdMaHpEdnVQblk1NUFZL1NlOG9S
MGxabWNyT1AKWUV5Sk5yRHN2ckxNZWlpNG1odUFqaDBIT040L1NQdkJleW16QTJkN2VhbmZsYVhz
eUdML3FmT1R5VmF5MlZtY1BwcWlWNm5HcHBXMwo4Sk5VQkNzdkQ5OFZYcXZNclM3bXJEZS9IemRn
NzM4emxHOFBMZDh3QTFWOGNlM0NoTmd5cGIwRlU2WjZHWXBob3UzWVZPcnJIUnNlCkRNbjZPTWY3
UjNIMnY4aXpkc0R4QWszSGU5T3VCa3hQTzVhS1lJcTlQYThUSUlESE9jeUpsb09ZQ3ZUVUF0YjZI
cmFIOXc3bExXRnYKVHozUXdacDVGWFE3dzdYTFIvZWhyYXpiNTREeVJxcldSOHVvL3hjL3BlTVZS
eWdWSForcHJBR2d2UEZod3I3ZVB2TjdBTnkrTkh1eApjbndQZmJzenVENld1bHdDb1N4OGt1RHVU
RDA3NzFtYVJ0dUo2UWYveTlnT1QxRG1USEtrVHlmTGV3Ync5UjhodjZDQTBwaXJrQVZCCkVLYVZY
QStMRE5pcjRtNGZRbTlXOXJnYlVmeXFwOTRhNTZmS0hqd0VHejVJaDdGY1dTMzZtQU85MFIrTkE3
UDZTZHUvcFBHWERyK3kKVy9TcUx1YU95OVp5dmFxTC9kVTQvMURvZXRLZ1RPVzJWdFZxaThxcHR6
WXJid2JaNDJXOFIzMysweCtaWEZ6K0FWVmpqajR6bHR2UwpYbms0MEZvVFBmeU1YdG02Um5MS2gy
ZWtOWFF6Q2dwajdQV0xUNmgvcVl6ZXZsUmVaNDhMRzd6KzFLMXNzUWU3WS83cVExZklUcng4Cms4
c3J0cnpiUnJ4cTNORWNrdG1zck9YQml3WHNLYStIVlpHRHMrYVFIc002TWxycjB4eW1EdEpUWjFU
R3VqUUhYc09TamZXb09xczUKT2Y5NnM2cXE3MHg3RGUrRTdHUDd2Nml2cDdHQmJIcm9DLzlBR3lp
anRTcDQ2TnhpVlRhN1E2bE1aZmZxYjNPdy96Z2xxOWFxekxhUwozczZzcW1jOFZoLzNxMytxZWl4
R2wrV3FiU2lhMmxpck5jWGgzVXgxTVpuTWVuT3IxcHJ5U0QwQ0ZKWTZGZGRzZWFPSDBMT2xuYkpl
Ckp0bEE3dTJZZjByMVZTbEhqRTFFeXROaVZYWE5xZXgxbXRxeEpFTFhvcWV3UFRBcWE1Vk5kYVc1
VjlzNzFLa3F3L1hCYUl6b3RhcTUKSjJxVC9pRlZZNDdhTDhhcTBLMTJJNnBTYndrZDdJNjNXVURw
elRWcUlLRk55UFU5OUdLdlBZTjl4OWhlWjVWQ24rR0hINVZYdGRXVgpSK1hTUDZiKzhRdWZ5bHF1
dWNtY1NZN3NkZGlyTXRtelVoN0h0eFNnMXRkZU9UK29LZ2pDbnhZYXBaUmlHZ2w0WExoOEFiUkZ4
ZWdTClZ1TURQZzhlTHhRVnhjNUVCL0M0dkJRVTZTTGJZMUw3UzVlZ2owQ2VOcnExSnZIN3RNaWVM
T1BrNDhvMUFoOHVqNWNDWFJIYUNZWDMKNGZHQVRxY05SZU1qTCttd2U0cFF3OGU1ZDVHTkx3M1Zj
MGRoQUk4M09JczQrT05kUERIMkJLZjJyQXpHTitIeVRjcFlDbDM2Y0k2Kwp6WGwvUGpjc25KL2hw
SVVQbHllUElsMGVQbzhMajhjTEJYTW9Mc3FTdjRBUEg5cWM5Qmp3dVhDTmUvR1RUNEZPUjVFdWwz
TWZFN2VQCjFHVFdROERud2VQUHAwaW5KZUFMa0JmS1VLNWxONzFrc3JPcDYyTmk5U2VML1FSOGVM
eGVBaFFrbDZmdk5Cc0s5Smg2eGlNejlCblQKVGxzdko5dU9UYTYrUm9ON2NIbEJWNlFqTCtDRHZF
eGhMME03bGdNZWx6TmtzL25NbVY4OGdaTldreU8zOTFEMmNqbGVvZUZIeGlFTwp4YXpVekt6TTB5
QkhodmVNNzl3NThxNjlkcG9QaWdxQ0lBU1o5Z0dJOE1lSWo1YlNBalkxVkRMZ2ZaSWw0ZmVzejBu
VGpyc1p0UHlNClBhdmtkcFFyRXltN2llT2o5OWhQOEg5MEl5djl4OUFzTUZNWE13QVJoSFM0K28v
emZOZEZicjl4aU5YclR0TG5meTd1NG9zUG1oeUMKSUFpVFJRWWdBZ0REeDZ0WnRHNXY2SnNlUFE0
Y2dMV3hoMjlzVHI2cFJyaHlrTEtiSUw3VG1BcjBkR0RFYXVtZ2xuckduM3NremRrRwpRWWh5K3FB
Si9ZNE9BQ3BiaDNneTZTelJCMHNPUVJDRXlTSURFQ0dDenpuSXlaN1hjUUZGOHhieEVYMEpSZEo3
L2FOQXltNWlPUHU3CitlV3JnNXlidFlSUHJWOHBWNUVLT2VGejl2UFNMMy9QckpzTW1KWmZ2azcv
bFNLSElBakNaSkVCaUNBSWdpQUlnaUFJTThZMC9SSzYKSUFpQ0lBaUNJQWhDZG1RQUlnaUNJQWlD
SUFqQ2pDRURFRUVRQkVFUUJFRVFaZ3daZ0FpQ0lBaUNJQWlDTUdQSUFFUVFCRUVRQkVFUQpoQmxE
QmlDQ0lBaUNJQWlDSU13WU1nQVJCRUVRQkVFUUJHSEdrQUdJSUFpQ0lBaUNJQWd6aGd4QUJFRVFC
RUVRQkVHWU1XUUFJZ2lDCklBaUNJQWpDakNFREVFRVFCRUVRQkVFUVpnd1pnQWlDSUFpQ0lBaUNN
R1BJQUVRUUJFRVFCRUVRaEJsREJpQ0NJQWlDSUFpQ0lNd1kKTWdBUkJFRVFCRUVRQkdIR2tBR0lJ
QWlDSUFpQ0lBZ3poZ3hBQkVFUUJFRVFCRUdZTVNZOEFQRjVuSXlPampMcWRPRzdGQklKTTRyUApO
Y3pnc0N2MkNjUDkvYmdDNmI3LzZaT3NrNWxqdEwrWDN0UDlqTHBTMUM2ZkM2ZkxCL2h3T2wxTVI1
RjQzc2tobnZkZERJOE9NdmoyCk1FNXZBQWd3K3JZelBsdzJQNWRBOWc4U0dlMGlpU3U1RHZzWUhY
YW1MMytmaytGUnp6UW1kNW5zTHBjNk15M3ArSEM5NDhUbGNlRzUKR0k0OWdNZWIyazRDRjEyTW5o
ME4vcjB6alhyK1UwZmFMMEdZZGpSS0taV0xSOS93Q2FwMnJHYWZIZERyd2VFQW9LcXhpeTl1WG9u
MgpVa29wWENJOEhERVZVdGFocDh2ZHpYdmYraHhyZGpVQXFiNmZZcVh1Y3NzN0U4VHFaR2J6M0h1
b2xCVlBlekE2N0hRQXpVTmVOaTZNCjFxelRoMHpvbjM2WWthTVhXTEQwNlpCOEhwcHNoV3g1TzFX
TWVzdzMzWWZscjdleXNXUmhzdlA3L1d6NDJsTHUyakxPemx1S1VzbzAKMm4rRWRVZkxjR0NrL0FZ
NC9IWUgrbXZCY2JHRzhjcWRGT1hvSjdYczA2QzBEd0RaN0NLS2ovYjlWMm9kRHRCKzhQT3MyWEVZ
OUhXTQpuOXBPbk1VRmh0bGZWc2F1aGc3ME5WMmMycmx5V2xKTlYyZU8yQW9wUzFsbll0SFQrTGsy
YUYzRGxqY2RHWDFhVnZidzNOcmxRTGI2CjhIZlljMDY3bTgzejA3eFozM2R5clBWSnpEMjFnQjV6
RWRoZER2UTMxZkI0NFNzY3BaTDJUVEU2dkRoTWsvMUxiSG10SWM0LzE1WmoKTjMrTjliY1VBOGx0
aWZIMk50bzNtWktTUC9IQ0JsYWZza2NmM1BBTXovQVlqMlZ0aCtiUTlNekhrdlU1eTByZjN4K2da
RmJzUTA5cQp2d2tFZFgvckpTMVRhYjhFWWZySmFRWEVlZUlnQll0V3M4OWRoV1BjanpwMUNxVzg5
RFJYc25mTG5SU1VIc0Y1cVNVVkxnRUY2Qit2CndWcTFody9ydEpoMmZwdk9HaU93bUh3U3YzOVFp
TlhKektYcUcyeGl4VFlIWGQwdjBEN1dTV1Y1RFg4K0owWG5ZeTc0L2JPQnVhRXkKMGJGNW01KzIy
NDBSTHpVUGpLRytOSUx0QmdmMk4vZXg2ZWdpZHZlTUprVTErcHRuc1FPN2Z0YWFlalh6bmZaZ1Ir
cW1ScnhmYnVmUQp0bmI4TzNvd25RTm1YVWRlcm43U3lpNWtJMmU3QUVpcXMxZFNIYzdEOVBpWHFU
TUNjMmZIMndWQTNrSzJmODBLd0dMdE5FdWF5dTR1CkFyT3NkSDV1SFA4WHVqQ0hIcHRYZE9ILzBq
aHRLOHNCQjM4NGZ4V2JIenRGMXdwekpMckt0UU9vTHl2OFgvSXl0TVdPQlJnSlQ0bm4KVWg5eVR0
dWJPaitlYnJaK2JSN21ubHIwTnpVeS91VlR2TEQ5RktweWlBcDJzZTAxTzRXNnFBNERiN2V6WWQ4
aXRyeldnSGxGSi82UQovN0V0OVhEdU1PYkdlV3c5M2syd0xWRnhlZTE0N1NEZGlXSjR1L2x5ek9E
RGFPaEViWHVVUjNOcWh6eEoralN2NkVGVkpnNCtDTW96CkVkMWZxaklOSSsyWElFd3IyUWNnbm00
K3Qzb0hZS0huMy9hd3JDajg2dEN5Zk9PVDlOU1pvYUdNTHh3NWZVa0ZGUzRGZVN6ZnVKTUQKZXpa
U0RJQ1c2NjhyakhGUC9QNUJJRkVuTTRQL0QyOENpN2thb0hnVlR4N2F5YktFQVZEKzdFSXcvQzhX
TEZxS0h2REh5SHg5ekJ0UgpxOVhDVmZQWi9FbGI1Tm0rMzd5U01NaHcwZkxTdnVESHQydDQ4ZTNr
VFFXalE3L0FBZkNlaC9Gd1N0Y3Y1eHVmcTRkell3Unk5Sk5aCmRpRVR1ZGhGUEZkd0hjNmJ3NTh0
U08rc3ZlR21ZS2R4OXZSMTc5TFozWmdMYlAvUE4xZzF2NGk4MmZsRVZacFAzbFZGbU5iV1lac0YK
NzRZTStPcThxSStGOCtZRlA3enpPdDRiMXZQMEExWTYzTzhCdWRXSGlhWWRqNU9EaCsva01BQVc2
a3MzUjFlU1ppM2trY2ZHc1YwTApaeUtWZlpoOXRqVUVod3RXdm5uL3FzamdyL2lXUitnSmRjSVBk
OS9Kd2Y3Z05PTFZCYkhwMlhucWxmaDNlLzkvZnBlT21PK0ZlZGVFCmM1cHpPM1Q3WDZ5TFBGdjNG
N2VteW1pRVhIVi9xY29VcFAwU2hFdEIxZ0ZJLzc4K2hSMHdWcFd6UE1YRTIvS0h0bU1FR3NxK3p6
QUIKQms4Y1kzL0ZCZ3dicW1rNXNodU5Sb05HWTZLcE45MmVlaC90aHlvd0dFeHNNQm5RR0NvNDdS
cm00TllObUF3R0twcjZnVkgybDVvdwptUXlZS2xxSTdGejE5TE8vMUJCS1EwUHA3aVpHQTluZGZL
TW5xREFGbjJzTXBSdzVNWnhlRmsrbTU1bncwYko3QTZZTnBaUnUyRUIxClN6OEFKdzVXc0dHRGlk
THE0OEVPb2VzMEI3ZWEwQmhNR0RRYU51dyt3cUFIQ09Tb2c1ajBqdTBPeFdNbzVkanAweHdxTldB
d21UQVoKREZRZkd3YUcyVjlxUXFNeDBUTG93elY4bW1OTit6RnBTdW1lMUhiZzlIcEpyK1BNYnZF
RU9OMnlINE5HZzhsa1FLTXhjS1EzM1ZyYgpSR1VKTUh6NkJJZDJsN0wxMEhHTzdTOUZvOUd3Kzls
L1Q5TEp4TzBsQmVuS0dSOHRGU1lLNzl3RjJMR3NETVdUWWtsaWdmNHU5SE91CkowK1h6MXlNY1Nz
MCtkcllubDNRMFBQelprZWU2UE92alp0MTlyM1J5bzV6NFc4TzluVCtNbzNnZ0dzYkM3NjZnVU05
dlhpQXZQa1cKK3Jac3BtQUNmakxKSGhmTllDOU5CeXN3bGU3bitMR0RHRFFhTkJvREI5c0hjZllm
bzlRUUxJY04xY2NpZFdENjZuTVdlL1AwYzdBMAorRnlqTWJDMStoREhqclZ3dkhkMGtuSmtJb05k
cExXbEhNbGdpeE50UXpMbkcvQ2NwbnFEQm8zQmhFbFR3SllHSU10NHlEMzhDZ2NyClRKSDRtbnFk
NU55ZUpwRGE3blJZSHU3aDB6Y2tyY1BFb09YVGxoNGUvbkR5MXNRTDd3Zi83Mm0zOE95d0M5MUhk
dFB6MFpJRUhhZXIKRDFOTDIzZm1oOUY2ZTVPWjI1TldEWXJZK2tnckcwTXJJTTVYbjJWdnlNVm8r
Q3hMRW56ZkdqTVEyUEhUSCtJQi9GNHczbHBEZVNqdQpocGUveStEN1lWK0RISGpwZGVyWDFxRlBJ
ZmxFMnlHQUMrL25mcUlpdmU0dmJabm0ybjRKZ2pBQlZCWWNOb3NDbE5uV2s5cUQxNkVzCm9NQ3N1
dHhLOWJYV0tUMG9RRkZlcnpyYjZwVVJGRWFiY3FjSTdoOXFWb0N5anl1bDFKQ3ExSnRWcDFzcDVl
NE1wbHNYVG5kTTFSbUQKOFl3cnBaUy9UNVdETXRzNmxWOHBOV1MzS2tCWkd2c3l1NDEzS2lNb1c5
ZVlVdjRSWlRNSFpXMGM4S2FWSmEyTTJSanZVbVpRVUtWRwpJczg2bFI2ajZuSUhkVmNPaXZKbTVW
Wkt1ZnVhUTdxenFqNXZEanBJbDU2bFVYbVZVc3JkRXl3YlkxMUU5eU90VmtXNVhmbVZYemxhCjYx
VzVNVmgyUFNFUERwczU0L2VjeWk2RGpqTzZKY1kvMHFvQVZkazJwcFJTcXJOS0g2L0xLY255MzZx
NXloeTBVMUJHUzduU2c3ci8KQzAvRzYyUVM5cEpFbG5MMis5MnFyY3Fvd0tqYWhzYVZleEdDS2g4
QUFDQUFTVVJCVk55dC9LbWlHV2hWalcwalNpbTNhbTF1aTZ0UApqbGFMNGlzb3ZvS3kvWmRYS2VW
V3pkOHpScDVWL2lwZWE2M2YwU3ZyeTNaVitTUWhQMmJWZFQ1QnAzK3dSOEpILzR5cXJzc3hJVC9a
ClpJOUpVWFUxVmtiYkQzT2Q2dXF5cTNKOTZEdG0xZHpacGVxdFJnV291aDczdE5ibnpQYm1WWTFt
Rk9aZ096YlFiQTNKcEZlMnRxSHAKc1pORWJhU3lpMnh0aHNwU2g3T0ZuMUFib2pMWFovK0Fzb0xD
YWxkdXBaUi9wQzBZZDVwM2dmS0cwZ0pscnFsWGpiYW9qdHZHVlBiMgpORldVdWRqZGhSNWxDZG11
K2NlcDMzT3g5YXZtVnc3bCtGV2Q0aXVvdXRmalcrSmM2OE5FMG82bDc2WHlTTHptMWpSeHh0RHpZ
M1BVCmY2cjR6L2NvYzBUT1NqVVFVS3JueDBabGJPMVJQVCt6SkxVZlk3KzJLcjVsVjJNampTbmp6
YlVkY3YrWExmSXNVWWVKNUtyN09LYXgKVEpYS3RmMFNCR0VpNUh3TGxpN2RzcmozSGNKSHVmS0Jr
clZsUEtZSGpEYkdEejNDS3BPRnY3V2tqOWZyUGd2QVQrMjlCRmpJRnc4Lwp5alVCZ0dzd3gvblVV
aGlhT2NzREJwLy9Pb2V4VXJjMXVLUzg4SjZ0VkpuTnJDbVptOUd0Kzl0ZnBnTWp2UDFManYzYnI3
Z1Ftc21vCitkZFRhV1ZKTDJNV2lsYXl0ODRNN0tXaE83Z0NOTnpXZ01QNkpWYnFvUCtIK3ptTW5y
YXZiVVFINkVvMjhzTm1LMURMMTMvUW4xVUgKcWRMYlhxbUhodTl3MGdYb2xsTldaWVNPRnpqcEJQ
RFFzcXNXVzhVOTVKSEhzcldQVVBGd2hzTEpRanE5Wk5KeEpyZEU4dkt2d1FoOApaR0VSRU1BL2V6
SFF3UnNwWm5zbkxzc29HL2M4aDgwSUdPdXdQM2VJVTE0dlAvNW1aWnhPSm1NdmlXUXI1N3c4SGNY
ekNvRkNycDlUCmhLNUlsN0o4dFV2V3N0azBIOUN4ZHFPSmRKTncyNTR0UVBQVlFqYWQ2WUJaWnVy
dTcrUEpGZk9qSGp3bjJQV21uaWYrZWowUC8yVTQKcjNhZWVxVS9Ydjl6MXpPMnBSRmozTk1PZGh6
WFkyZytUaUJIUDduTG5zZkt6VlZVbUFGakhXTXZiR2ZseXZVODhiZ1pNTkkyL2dJYgpWNjNra2Qw
N1EvNEQwMXFmTTlxYjd6VmE3YUMvNnc1MHdKSU5qMklCekxhamJEVXRuQlk3U2RKR0Nyc1l5TnBt
WkNacm16T2hOaVJ6Ci9Sait0NmVveFVoWDFYcDBRTjc4dTloZ1RpTllDQTlnck9uaWhaMlBzSG5y
QVJ6MXdYMzdCMzk0T210N21vcGM2OHhFMlBXaUJmMVAKZHFSMHk3VStUQXVCN0J1Qjh2T3k1ZGlQ
Ty9LNWl6OWNESDQ2RzhobitWMWxrVldPZlMrMTRNSEg5KzIxMU4xM0wwWHZaMTl5eTlvTwpUWUpN
dXIrVThWNEtPeEtFRHpwWkJ5RCswRVlIejRVMGpWM0I5WkZHS3V5amNISHcvN3pRdjhzK1pvYXpx
WVByRnQyRkJUaGN0b0o4ClRTbHRWNjlpZVJHRVQzbTVVNGJ5OGV1Zk40QitNWFBDajdRbDdIbmhC
UjVacnN2Z3BxWHZsUTR3RzVrTFhMeDRrVVdiV21tMTIzbHEKM1lmVHlwSld4aHhZWGhyY29yWnJu
NTBBQVk1WEg2YnUwVHVBQUVPdk9vREZYQit6dFczQlIrNEF3T00rbjBVSHFibnI0UXFnZzRiVwpZ
V0NRK3IwZFFBZEgvMk1RblAvT0RrY1ZueTZKSnVpL01QbXJHRlByeFpOQngvTXk2aitKNGxXMEt5
OGx2LzFuVEpwODF1eXlBd3RTCkhnQ2N1Q3pCOUdZWEFvUzJDR2kxQ1RySkhENDN1OGlobktlWnl2
c0hjTzkwNDk3cFJWVyt3UFlWOGR0RCt2L3p5eml1WFVPQjEwUGgKb285Rm5qZTgvQ3l4bStFQ0Z6
MFUzYktaOXNvaDdDdXNjWEU0WGx2SDgyLzRjdkl6TWNJblhtZEhidGE3K2tPTGdVS3VENC9LZEF0
QwpBL056MDF1Zk05cGI4Ri9IS3llRExXTGVYRzRHM0JmT016MTJrZ3RUdGFYY3d1ZmVobVRLOS8v
aVZFY3RjQ3ZYUlNwc2Jqdm5DNk1CCldIYmYzd1RmTDZIM1QvcjJkT2F3ZmJZYjllVVJhbWFSdE8x
cit1dERZZ0t4WDdMcjB4K0lhZDlUeldwY2lKNXpZSmFSRzhON0pnTisKS0RCUmZWUG8rN2xucVAx
SkZUdW80cUdiOHdqa01KTEsxZzVOaGt5NnZ4TGpGUVFoUFZrSElITS9kRHNBWi9yZlREbDdFeGo1
SFEwQQpSaE8zcFowV3lOQ0YxaTNqdVhFSE5SWTkwTUFtL1J6Mm40amUySk42dTdDZmkrY0J4MXVS
ZzM2NXVZWEZ1Wm43MTY5bjQ4YU5yRisvCmxyWHIxN05xV1ZGNldiTEltSkdpMWV5czFJUDlBTSsz
UDg5UlJ5VWJsK21BQU9lOEFHN2VpMUdzZHRFeUxNUnJiQ0pIU0xVbDkxR2oKaDhQUDIybHZlZ3BI
ZVIwMUZqajhuU1lPSFhnYVMrUG02VHRjblZJdmJ3WGQwdWs0bTFzc3ZrRjJHd3BZc2VjQzMvWXIr
dW90a09MMAp5NVJreVlXSjJrc2N1WmZ6ZExId3Vubm9DblRvQ2xMZGxqVE1zeTkzd01VRHJLdjlH
T3QrOUhTTTJ6NmUvVTMwekVPUDNjd1hmK09FCldRdFpmLzhCVk9VSXpiZEhWNGYrY01HYms1K3Bz
dUMyRXVJMTVZL1gyM1RWNTB6MnBsM0dFellMMkxmeCtQNFcycHVlWWg5NnJPYmIKSnkvSGhKbXFM
ZVVXZnNKdFNNcDg1ekYwQ3VBOEV4MWl1eS9FZk5FdFFCK2J0N1R0NmN4eDRYMHZNSjhIVjF0NTUx
eFFrY1BkQjJrNgo0N25rOVdIQmg1ZEhQdHQvOTV0MHJXR0VteGZkRmZuczlyeVg1TzV6dlI0OVVI
N056ZEZKdXhEMzNGTWYrdVJnYjg4K3JHc2ZwcGpjCmhwS1oyNkhNSEgvV1FIVi84cm5SVExxZkNw
Y3FYa0VRMHBOMUFMTHczc2V3QW83YVdqcFRuUC85MlRQVkFGaXRaaEs3ZExrc04zdTYKRDNIdzFV
WHNmTzRVQTIwMjlNQ3VobGZ3aFZxNDZFczFQK1pUQVRmZXJBZjJjYlE5T21jYkdHN0JWUG9DYzlL
Ni9SQ05EdWdvNHdleApwMENkN1pnTVQvTkdHbG4ra0U3R1VIQ2Z4NU1ocjNuYy9kZ2V3TUdXTlZ1
Zy9pR0NpOUJhL3R5Z0J6cjQ1ZStqRFczZzdUTTBBSVd6Cjh5T3RmR29kcEtPWUIvWll3YjZETlZ0
cXFmN2Fkc3EyVkVMSFhyYnRnNHBQSlI1RG5EeXB5KzVrQmgwL2d6K0QvaE5mTjRNLzNNOCsKQjlo
Yjk3QWtEd2l2VEtUSS9NUmxpVTN2UXByeXkyZldKT3dsZmdZdGgzS09ZVnB1VjdrcXZaT3IvMW4y
VWNONDVTbE9oZjdjRDlaRgozUGUyL1RDaWw2dDFVTnY1SDFIZHpKclB4azAxVkVaODUrWGtaNnA0
MzMyWCtHRjRmdkJidm5aUzVaT3VQcitXeGQ0TUgxOERtRm56CllYaHIxdDJNZUUreGZxR1dxZHBK
NXZZalNOQXVKbVpMeWVRYVB0YzJKRk8rdjg5Q294Rm93UEc2SitJZmdMT3hJNHhrQ21mSGZCa1AK
eW1hNGJXN29RYnIyZEFxODc4L2FrWTlsOWxWQm0xNTR4MTRxbHhXRHQ1dXk0enZ3NU9WV1o2YVN0
bTd4V3FyQ0I4L1BQVTFIaXAwRgp2dEVXU3A5cHdnTVVmOFJDVmVoNXgyc045TDhmNy9mMTM3MGMr
VngzcnhrZDhjMnI5bVl6ZGRlR3Y1WHo2RittK0QyaGRHUm9oMklKCjZ6Tk00TzBXMXAyQnY3NHhl
Wklvays3am1NWXl6WVdBVDlaTkJHR2laRDhEa3JlRXZUMzFRQWRyNWxYUTdZeThOdWsrdEpWMSt4
eFEKM2tqVittakRkQ0hVWXk0SStUdjljZ2M0K2hsTEZYLytCWFk4VVk4TFdHSjZqTWYxd0UwM29D
MjRtaHVBamgwSE9ONC9TUHZCZXltegpBMmQ3ZWFuZnd4MFBQUTdBcmpXTDJIcXdpV05IcXNsZnRJ
bS8vY29tL2pxdDI0T3NmeUxZMlNyVGY0ejlUY2RwUDNZSXc3dzFHSjk2CmlPdlR5REk3bll5QXAv
Y1FCWVdGNUpjZVNlcEFSMVg0U2VvdEFIcDIzck0wOG56WmZjRTl0cnZLbjJJNDlNYnErMFV6WUtS
eTh6TEkKcUlQMHY5Uzk1Sk9mRFc1UktXL21ubUlvL3NSR0xJQytjaWZMMDAwV2h0NDYvZ3Vadjhl
SFNhV1htelBvK0dFMlp0Qi80dXZtL01YZwozR2x6eTNGT2R6ZngrRFk3NE9ia2k4ZnBkeVowMlNZ
c3kwTVU0V1BNRFhTOG0wWW5XdFpOd2w0UzUvdXlsak1BT3NET0cybVg3VElSCndPa1ppWHdiSGtz
WHlTamYvdEZldVAzamNicldsZHhIWkxQSXVXMTgrOVh3VE1NQ2NHM2g4MjNkMGM3eTZLLzRLY0Nz
T2g2NlJaZWoKbjRtUWJHaHYvdVlWNEF6dmhCUHdPRGtEbkJueFQ2cDgwdFhuOXpQWjIvLzhqc3Fs
WlJpdEptNjg5bHJtWEF2OUo3c1pIUFVBazdlVAo3TzFIdkYza1lrdVo2bkJ1dHBockc1STUzNllO
RDRiY0h1ZDQveWpPL2hkNTFnNDRYcURwZUc5eUI5RWZYTm15UjFiYlBiUjh3d3hVCjhjVzEwZmRM
dXZaMHNyaUd1d24vcW9YOWR5K25MSWZ6TVZ1WmV2ODdWTmV1S21EOHY0K3h0ZlpPT3JCd3h3MFRy
dys1cEIzUFFyNzQKcUQxMHhzU0IrVWcxdmVHSzhiNkwzdTVxQ3I2OWlacy9zakowVG1FK1gveGMy
UDlodnY0ZjNaR1lBbThmWjBkM0F3Qm1ReWVQaDM2TQo5SHpnTEE1MytBcnRJaDVhRXh6Q0dGYzh5
ckxRNE1mM1hyVE5kRWZPb3VUYURzSHJ2MjJOZkk3bzgzMFAvYTgyc2RHMkNUQ3hNS1NxCjNIVWZa
WHJMTkRPKy9pUGtGeFJRS2o5RklBZ1RJOWZUNnQ2aFRsVVp1dUVFb3pGeU8wbFZjNCtLM2wva1Zh
MHhOd3VWMTlsVmErUW0KRTVTeDBxNFM3enB5TzJ5aE9NdVYxYUpYNksycWN5VG9xNis1TWhyV1dx
VXNvUFFXcTdMWmc3ZC9ETFRXUkcvTVFhOXNYZEdiZnRLNworVlZQZlZRbVFGWForekxLa2tuR3Nh
NjZTQnFkR1M3bEdPK3NVdWlUYjM4WmR6U0hibll4SzJ1NVhvRlIyZnVpdnJMcElEVitaYmZvClZa
MGpHazlydVQ1NGExQk1XYlhWbFVmMW9IOU0vVlBsUTVIdmVtUGk5M0xWTmhSZmV1bjFrbDdIbWQw
U2NqSFNHdElOQ21PVmFxNFAKNjhLcWVoSjBQV0ZaL0FPcXhoeDlaaXkzcVJGL29rN0tWZHVRWjhM
MmtvcjA1UnhNTTJxclJsWFRPcENoYkJOeHE4YnZKTjY2ZzlKLwpyem1ocnJsVjQ3ZWk3dVUvQzlu
UEJZZXlQcGtZWHErYVI3eXE1MGRHeFQ5WmxERWNaOGlmL2p0MXFpOTBZMVl1Zm5MSHExcHJMQkU5
Cm02c2FWYWM5NWxZOXZWWFpPKzNLR3JrVlM2OXEyZ2FtclQ1bnRqZTNzdW1KU3lmOFY5L25WcE5w
VjVUSzFINmt0NHVNdGhTanYzUjEKT0Z1YkV5U1hOa1JsekxkU1NqbGkycStJSEJhcnFtdnVUSEdU
bjF1MTFwUkg5QUVvTEhVcXhRVjVhZHZUaWVGWGJUOHlKOVVkdm1KVwo5cmZDaWJwVjQzZjB5WDZl
VEhoV0Y3eVpNUGY2a0V2YUdYRDNLZHYzVW9kdi9xK3hGUDRkcXU0N29kdW9ualFyUzUweDRyLysx
K0gyCkpqR3ZWdVc0b0pSU0E4cjZGYjFxL1lOU1NubVZ2ZEdZbk82M25sSFA1TmdPTmVla3ozcmxu
cUR1TDFXWlpzUGorSllDMVByYTdMZVkKQ1lJUVJhT1VVaE1ac0hoY1RqeGVQNURQblBuRlNiTzlr
eVhnOCtEeFFsR1JMdm01UDU4aW5aYUFMMENlTmk4eElDNlBsd0pkRVlsTwptZHdDSGhjdVh3QnRV
VEc2cENnenlKTHErZkF4OGhkMU1LUU9rRzZCK25pRmhoOFpoemkwUHBVUEg4N1J0em52eitlR2hm
T1RkSnBWCkI2a0krQWprYWFNTC9vbmZwNUcwZXNtazR3eHU4Zmp3ZUVDbjA0YlM4cEduVFc5MWs1
RWxGeVpqTDZueWtxbWNyelFDWGhlQmdpSzAKQkhDOTQ4Sjc0VHhjZlFQemRkb0orWmtSV2FldFBx
ZTJOOS93Y2U1ZFpPTkxRL1hjVVJnSXRZRXcrT05kUERIMkJLZjJySnk4SERtMApIOGxNMVpaeUNE
K0JOaVJqL2ZKNWNIa0ozdTRXOEVGZUZta0RQanhlTHdFS0tFcGpSNW5iMDh2SFROZUhnTmZKOEIv
TzRnZnlyNzZCCmhYT0xNcmJ4UHM4b1F5SC9WMTk5SXd0dktMNGs3NFFQR3I1ejU4aTdOdmszVGdS
QlNNK0VCeUJDQW9GQnR1YmZ3bDkwamJGOVpmengKYmxmL2NaN3Z1c2p0Tnc2eGV0MUordnpQVVNJ
dGxDRDhrZUdqcGJTQVRRMlZESGlmWkVtNEwrbHowclRqYmdZdFAyUFBxa2xlN1pDaAovUkRpa2Za
VUVBVGhUd2NaZ0V5VmdJZFJWejd6aTVObnVFNGZOS0hmRWJ4anBMSjFpQ2ZYWGxtemRZSWc1TWJ3
OFdvV3JRdi9wclFlClBRNGNnTFd4aDI5c1hqNzVtYzhNN1ljUWo3U25naUFJZnpySUFPUVM0blAy
ODlJdmY4K3Ntd3lZbHN2TFVoRCttUEU1QnpuWjh6b3UKb0dqZUlqNmlMNkZJWnVCbkRHbFBCVUVR
L25TUUFZZ2dDSUlnQ0lJZ0NETkc5bXQ0QlVFUUJFRVFCRUVRcGdrWmdBaUNJQWlDSUFpQwpNR1BJ
QUVRUUJFRVFCRUVRaEJsREJpQ0NJQWlDSUFpQ0lNd1lNZ0FSQkVFUUJFRVFCR0hHa0FHSUlBaUNJ
QWlDSUFnemhneEFCRUVRCkJFRVFCRUdZTVdRQUlnaUNJQWlDSUFqQ2pDRURFRUVRQkVFUUJFRVFa
Z3daZ0FpQ0lBaUNJQWlDTUdQSUFFUVFCRUVRQkVFUWhCbEQKQmlDQ0lBaUNJQWlDSU13WU1nQVJC
RUVRQkVFUUJHSEdrQUdJSUFpQ0lBaUNJQWd6aGd4QUJFRVFCRUVRQkVHWU1XUUFJZ2lDSUFpQwpJ
QWpDakNFREVFRVFCRUVRQkVFUVpnd1pnQWpDREJIdytmQUZMcmNVZ2lBSWdpQUlseGVOVWtyTlRG
SUJmRjR2ek5LaHZTcUE3LzA4CnRGZE54UDJEeVdqN0ViN3g0OS96U2V0ZTFpN1VYbTV4SnNWdyt5
RnFmenhNUVFFc3ZIc3JXMDBMUDFEcEIvRnd5RkRJdGp1YjhSN2EKeUhTWFpNRGpwTzgzditUTXJM
OWkvY3I1eWU2dWZwNS8va1U4czIvalU1YTF6TStibUxzZ0NJSWdDTUowa1hVRnhEZmFndW1yQmt6
ZgpOQVgvOXBuWVlOdk5zVFBPb0lmM2g5bC8wSURobXlaTTN6UmcyRmZCYVc5OEhLNHpMWlR1eTZk
Z2Z5RUZYOU9nK1dvK0JiV0g4T1RvCmZ2bHhVcTNSY0dUUU4rTXA1MThEdGJYN2NKejFadmM4M2Zq
NnFUQm9NSmdNYURTbG5BNkE4M2cxR28wQmswbURvZlJJVG1XVWY4MWMKUHJUNFJyeGQrM2o2VjI5
ZGNyR3Z0UFRENlBSZ3ZHa08wOTIzOTUwK1JIN2hQUFNyemV6NWVZcjgrVTVUTm1jcFc0NmU1R2pa
T2hiYwpjeERuUk53RlFSQUVRUkNta2F3REVQLzVVVHB3MEhHdUkvaDNzUVA3Mi9zd1AzczN4ODhH
QUMrRExnZU9jeDEwbkhQZ3VGakxVNzJECjBRamVIK1FmbnQxRXcwWFFGMWtwTHdvOXo4L1JmUktr
MityaTgzandlTkx2Z2ZGNWZLUjBEYnhGQitBK1AzbVpKa3Z4eXM5aTB3UDUKQlZuOStud2VQR24z
K0FUd2VUeXA4eGNPbjZnZjdRSSs5Vmc1amc0SHhxcE4zSlFIUlNzMllMTTY2T2lBTFp2dVJKZEQr
dk5YYm1Ubgo5dTFzZmRESWxBbzJDNWM2L1d6Mmt4a2RtNTlUdE84eHBSbUFaQytmZEdpWGZvYXg4
WEU2YS9RcDNZZC84aFFOV0hDOCtCenRJM2JvCjJNRVBUM3R5ZGhjRVFSQUVRWmhPc2c1QWRMZVUw
M2E3RVRCaWYzU0VrVWZic000Q2NQQjdsd2V1S3FGdW16MHV6T0d1bitFS2ZRNjgKL1dzT0EyQ2hm
dHNCRG0wZnArNWE0TDBMQkhKd3o0cXZuNjBhRFJyREJwcDYremxXdllIOGdnSUs4ZzBjR3c2dVdQ
aUdUMUJoMGxCUQpXRWhoWVQ2YTBvUDB4L1N2b3U0RjVHczBsRzdkRUpuZGQvV2ZvT21aNzlNQnRI
Ly9leHhyYWFHcHFZWFR6dHk2aXI3K0l4ZzBCa3dHCkF3ZFBqREo4ckJxRHdZUkdZNkFwcHhVVlA4
eUYweDAvb0xyVWhFYWpZVVBGSVU2N291bTdlcHN3YVRRVUZCUlNXSkNQYVhkVDNBejIKOElram1E
VDVGQlFXa3EvUllOQm9PTmdiVlVCNi9lZ3diZCtORlRBWURCUUJlY1hMK0xqQkRPWkd2ckMrSktm
MHc1eS9rSlBLWXZEUQp0TldBd1dUQ29ERnhiRFRBWU5OV05Cb1RKb09HMGlPbnA1eitZRXNGR28y
SnBuNGZNTWh1Z3dhTndjREI5dEVjOUpNYnZ2NGphRFFhCkRBWURGVTM5U2U3WnlpY3JlVVVVRnhW
eHZYWnVxdFE1YVQrTXZ1WUpsdVVCODQzWWpIRDBsZGR6ZEJjRVFSQUVRWmhlY2ppRXJxVlkKVndq
QXJGa0ZGTXk2aHZCY2ZIaXkyZXNhQXFEdXdUNGFid0xPUGMySnQ0T09lYm81Qk9kbEcxanh6Vktx
WDNpZVAvc3JPMzEvVng3cwowR1p4enk3ZUluYjNkVktKblMwcmxyTG56WFYwOVhSaXEzcU1HNjdP
QTFjM24xMjBtak5HT3lOdUw5N3hQbXpzWUdsaE5hTUFybTd1ClhiU2EyZ1UxZFBVTjBkZlZqT2V3
SFlmRFRRRHdPdC9nNU11dkFYRG10VjVPOWZaeThtUXZ6dk81RFVDMGkrN2pRTDJKRG9lRE0rLzUK
eVovMUpnNUhCelgyZXRibGVLWmpkaUUwN0NqRHUyWW5qcDQyYmorMURmMmN6eE9lcFBhK0IydHRk
dnFHeGhoeDJEbTdid3ZmajNSZwpoNmxkWGNhdHpYMG81V2ZFWVdjeEVGbnJ5YVlmRnZLb3pVeXQr
V2lvVXovSWdUSTdWWC8vdnlNeitablRud282MWxYVXNMaWpBMGY1CjR4am41N0h3VXhWVTBrR0gz
c2IvWjc1MXl1a3YvSGdwNVhUdzVuay9zSUFuam5aUzduRHd6S3R2NWFpZjdHZ1gzVWRmbjROZEpn
ZnQKYnlZdW8yVXBud25nVC9QMDdBak0xWVpYZnZLWnV3RE9Yc2pWWFJBRVFSQUVZWHJKY1R1NkRy
Q3p6alluK3VqYUtoNzRjQkVRNE1RdgpuZ0dndmY5RkZvOEJPUGp1ci90WXYzWVo2Rlp6OUg0Ylgz
OXBHdzNuR3RoN3FpRVkvcFVhaGlwM3NqQ2JlMWJadEN3c3VZUGI1b0xaCjFzVUxXMWNDc0hMNUtn
Q2NKMzZPSGJCNGgyajUxa0Y4MnV0NHh3UFF3aHVlUFhqYnZrc0g1UXc4dDVNbEFDemtCd090Zk9O
Zm9RQW8KV3JXWkE2dVdjNmJCenJycU9yWXVtK0R4WVcweHBrY09NTEprTVF0V0w2SVdxSGVNODhp
eW5JWlhBRnh3ZzZXeGp5YzNCMWNjbHIzWQp4eHY1UzJsOTdSOVp0cklJWnMzaWYxcjNzSFNiQXlL
N2NNSWQyRUpLekxCdDB6OXdkZVVLUG5UamRaanE2akV1RG02ZWNyNmFXVC96CmRiRHMwOXRoMnhy
K1kzZ25uM2IvbE1PVU0vRFI0cWlBR2RPZkdrVWxhNm11TjJNdjY4TnpDSFMrVVg0S05IL3RNVXFL
OHFhY2ZsN3gKN1N6WHc3c0FhSmxmY2djZk5VSjQvajhYL1dSRlcweEpTVEgreFVaSVd2VEtYRDZY
Z2xsWFQ4MWRFQVJCRUFSaEt1UjBEVzkrUG9DUgorZ2Q2Nkhtd2s1NkhoL0QrL1I2V3pBSXVPdmp1
bXc2WVplVE1xUjIwenpLaUIremRMK0FFZktQUHMvUW5yWlE5NGtkOTJVdmYvVFhCClNDKyt3bHZl
N082NTRlZkNXVERkWlVoMjhWOEE5SHpzenR1NHJhU0Vra1VmWXZYMk50bzY2N2xOQi82TDU0RzV4
SjZ3MEM1Wnk1NmQKYTZNM0ZYbk80d1l1cEpsakRubWl2L2NFM2FkVHo0dkhuano0L1ptM0p4eis2
bXRqSk13cjRNL0NuNTNIV1hEbkp1WThXcytZMjR2Mwo1UUVxZzU1Q0hvcFlXOW1LdmZrekxMNStO
cno3Rmkvc0tFUC9qVTRndTM0QUtMNkxSZ3ZVSEQzR1Q3Ni9BMzNOb3l6Snl6WDkxRHFZClNQNlhQ
YkFYSTN0cDZYWFNXMStCdzlMTWhvVjUwNVMrbnd2QU8rK2szZzZYazM2bVJPYnltUWlwOHhkYTBZ
aDU4ait2dzl6WitUbTYKQzRJZ0NJSWdUQzlaQnlDQnN5YzQ4SjhOd0ZsKzZmZ3AvNVZYd3ZMRkM0
T2Q4L2RIT2ZUZE11d0FGdzAwN1BSejdCTkdIQURzNVhQTgpMZnpQQlE5Z1o4M2h6M09zLzNYT1gz
VmRaSkk2L3lyd1ozSFBTc0NIeXpuQ21BUGVHaG5DNVhUaWRFVzMzOHdydVFOd01IeHVIbjk5Cjcz
cnV2V2NWQy9odmpuNnpoVGQ5VVBLL3R3RDdlSHovTVVaZEhsekRwem0wVllOR2N6QjZ3NVB1Wm96
QWIzODNoTWZqb3Y5RUM3dEwKSzJnZmpjNnllM3JyV2JwaU5YZnFGM0NrUDZZekcvQncrbGcxODFi
dm9NN2h4dHRYeno3elVrb1Bub2k3UVNwdGVOOFk3d0tIelR0bwo2dTVuZExTZmx1b2QxS0xucno2
c0krQStCOENTeFRlalk1eVRQMzZHZmNDN1l5UEJ5WFpmTDJWM3JxUGpZZ25sTzNleWM4OWVyRmJn
CnRiZnc1YUNmSUZyV1BWR0hZNWVaVGZ1ZzJySWltcjFzNlFNZWx4T255NG56M2JNNDNua3orTmtW
MytGUG0zOEEzWEwrcWM3TWpoWHoKV0xITFFlTlg3bzhNTDZhZWZnRzNtV0JmL1U4WjlYZ1k3djRC
ejNiQTJiZkdKcUNmVEFSd09VZHh1cHlNdkhzVzNobkQ2WEl5Nm5RRgoxMml5bEU5T0JEekIrTitL
eHUrS0hKYlg4dkd5U2h3Ny9sL2FSMzI0ZW4vQXRnNTRmTzNTSE4wRlFSQUVRUkNtR1pVRjkzL1ZL
NzVDCjVNL2M2b2c2WG5Bb1M0eGI4OGk0Nm56ZUdPUGZxbjcxV2wxYytPQ2ZYdFg5YWlBWS8rdVoz
YlBLNTdBcElPSFBxZ2I4VVQ4alhmWEsKR09kdVZGV05uY29kY2gvcmFWVG1XSGRqdVdydEc0OUxa
NkMxSmk2TjhxcEdOZUtOdW5zSEdrTnVGdFVWRTlSaE0wZkNWTGFOcUxITwphRHpsalFNVENoLzlN
NnRtUjlqVHVHcTA2cU51NW5KbE5RZS9XKzFEU25rZHlwSXFmSjg3a2tZMi9RUVpVbFY2RkpiNmhP
ZFowbGR1ClpUTW1wbytDY3RVWFUwYnA4aDh0Nks2Z2pKWkc1WTF6bUhyNjR6Mk5TcC9ranFycmNV
OUFQMmxJcWY5Z0hGM3VkTzd4NVpPTmtkYksKcFBqTnRwNVk1YW5tR0IyVjEvY2t4SkROWFJBRVFS
QUVZZnFZZ1I4aTlPRjZ4MHVCcmdEdmVRK0I5L1BRNllwaWZtUXdtL3QwRWNEbAo4cEJYb0VPblRY
WDBKWURINVlHOEFuUzZOT2M4QWo0OEFTalFhbE1mbmduNDhLRWxaZlE1aVpnbGZNQ0h4d3NGdXVU
MGZSNFhYZ29vClNpRjd3T2NEclJaOEhqeGUwQlhwVXNpZlRUK1p5WlIrem1USnY4L2x4SzhyUnBm
Q2ZjcnBoM1NidHV5bnFKL01TZWRTUGxQSDVSd2wKa0RlSDRxTFVlY3ptTGdpQ0lBaUNNQjNNNEMr
aEM0SWdDSUlnQ0lMd1FTZW5RK2lDSUFpQ0lBaUNJQWpUZ1F4QUJFRVFCRUVRQkVHWQpNV1FBSWdp
Q0lBaUNJQWpDakNFREVHSGFDUGg4K0tibjl3Y3ZDNEdBajhBVTVKOXErS3p4WDJMOVhtcjVyL1Qw
QlVFUUJFR1lHV1p3CkFCTEE1L1hnZXovMCtmMkp1Z3RYTmg2ZVdWbEF3ZWRiNG42L1lyVDlDQlVW
dXprK25QT3ZXbHhhQXVrNjhlZjR6dklDbHYrZjNrbEcKbkNWOFlLcjVUNjNmNlNPei9BR1BrOU1u
am5Hc08vVVBaUVpjL1RRZE9zaWhJOGNaVGFIZmJPNVQxNzhnQ0lJZ0NIOHNaQjJBK0VaYgpNSDNW
Z09tYnB1RGZQaE1iYkxzNWRzWVo5UEQrTVBzUEdqQjgwNFRwbXdZTSt5bzRuZkFMNXE0ekxaVHV5
NmRnZnlFRlg5T2crV28rCkJiV0hJai9FbDgzOTh1T2tXcVBoeU9EbDZrUm5TdDlIUzRVQmpjYUF5
V1Jndys1aktUcW8yZVNmbnZ6cDlHQzhhVTdjRmJMNTEwQnQKN1Q0Y1ozUCtXZnRMSmgrQlFTcnlD
L2hlWDNyTG1qdTFGTktHNzIvNExKclNwaW5aZENyOVRqZXA1UGVkUGtSKzRUejBxODNzK2ZsYgpx
VHhRTm1jcFc0NmU1R2paT2hiY2N4RG5STnl6cEM4SWdpQUl3cDhXV1FjZy92T2pkT0NnNDF4SDhP
OWlCL2EzOTJGKzltNk9udzBBClhnWmREaHpuT3VnNDU4QnhzWmFuZWdlakVidy95RDg4dTRtR2k2
QXZzbEplRkhxZW42UDdKRWkzVmNYbjhlRHhwTi9qNGZQNFNPa2EKZUlzT3dIMSs4akxsUWxyNU1x
YWZ4MTkrdXBwS280T09EZ2YyZlh0NEtYR0tPWnY4RTh4ZmF2M3EyUHljb24yUEthNkRYTHp5czlq
MApRSDVCYnBGUFFiNXM1ZHZmOFBmVVl1WHVwYm9VcnRmeWYyOWN4dGxKQzVrNWZNbDkyNkJoQy9X
OXJrbkduMXEvVVFMNFBKN1U5cHNUCjZlWFhMdjBNWStQamROYm9VNFljL3NsVE5HREI4ZUp6dEkv
WW9XTUhQenp0eWRrOVcvcUNJQWlDSVB4cGtYVUFvcnVsbkxiYmpZQVIKKzZNampEemFoblVXZ0lQ
ZnV6eHdWUWwxMit4eFlRNTMvWXh3Tnl2dzlxODVESUNGK20wSE9MUjluTHByZ2ZjdUVNakJQU3Ur
ZnJacQpOR2dNRzJqcTdlZFk5UWJ5Q3dvb3lEZHdMTFR0eHpkOGdncVRob0xDUWdvTDg5R1VIcVEv
cHY4VGRTOGdYNk9oZE9zR0RLVkg4QUN1Ci9oTTBQZk45T29EMjczK1BZeTB0TkRXMWNObzVnYTZl
WjVCREZSdlFhRFNZS3ZaelpIOEZCbzJHNnZiUnJQSmxUeitQSmF2V3M5b0EKNXBwR3Fvd085cmM0
SWtsbkM1ODEvbHowMjM4RWpVYUR3V0Nnb3FrL0lmTittQXVuTzM1QWRha0pqVWJEaG9wRG5IWUY0
eDlzcVVDagpNZEhVN3dNRzJXM1FvREVZT0JqU1RTNzZ6MWErUVVaNXRzeU92dXJUTEVtemhIRDlM
UnY1QjlOdGNjOTgvVWN3YUF5WURBWU9uaGhsCitGZzFCb01KamNaQVU4S0tUS3J3RVlwWFlqUENq
Z050RTk1Q2xWbS9NSHppQ0NaTlBnV0ZoZVJyTkJnMEdnNzJUbnl0SmEzOGVVVVUKRnhWeHZUYmwr
Z2duN1lmUjF6ekJzanhndmhHYlpxeDZ2d0FBSUFCSlJFRlVFWTYrOG5xTzdqbWtMd2lDSUFqQ254
UTVuQUhSVXF3cgpCR0RXckFJS1psMURlQzQ3UEF2dWRRMEJVUGRnSDQwM0FlZWU1c1RiUWNjODNS
eUM4NllOclBobUtkVXZQTStmL1pXZHZyOHJweWdICjkremlMV0ozWHllVjJObXlZaWw3M2x4SFYw
OG50cXJIdU9IcVBIQjE4OWxGcXpsanREUGk5dUlkNzhQR0RwWVdWak1LNE9ybTNrV3IKcVYxUVEx
ZmZFSDFkelhnTzIzRTQzQVFBci9NTlRyNzhHZ0JuWHV2bFZHOHZKMC8yNGp5ZjZ3QmtsT3JDVzlo
MjZuWmFPenV4bHZ3UApaYnRxd2RySVkzZk56eXBmVHVtN1RyQ3JGclo5YmpQYmRscnAyUEVjZytH
eXlSSSthL3paOUF0b0Y5MUhYNStEWFNZSDdXOG1MMVBNCkxvU0dIV1Y0MSt6RTBkUEc3YWUyb1ov
emVVNTdZT0hIU3ltbmd6ZlArNEVGUEhHMGszS0hnMmRlZlNzMytiS1Zid2hmLzB2c0EzWnQKdWlO
dFNaVnMzc3ZtWmRmR1BkTXV1bzhEOVNZNkhBN092T2NuZjlhYk9Cd2QxTmpyV2JkUW16VjhsQ0x1
ZnR3S0RRMjhOc0VSU0diOQpEbE83dW94Ym0vdFF5cytJdzg1aUlNMWFYa1l5eXcvK05FL1Bqc0Jj
YlhqSk1wKzVDK0RzaFZ6ZGMwOWZFQVJCRUlRL0RYTGNUcTRECjdLeXp6WWsrdXJhS0J6NWNCQVE0
OFl0bkFHanZmNUhGWXdBT3Z2dnJQdGF2WFFhNjFSeTkzOGJYWDlwR3c3a0c5cDVxQ0laL3BZYWgK
eXAwc3pPYWVWVFl0QzB2dTRMYTVZTFoxOGNMV2xRQ3NYTDRLQU9lSm4yTUhMTjRoV3I1MUVKLzJP
dDd4QUxUd2htY1AzcmJ2MGtFNQpBOC90WkFrQUMvbkJRQ3ZmK0Zjb0FJcFdiZWJBcXVXY2FiQ3py
cnFPcmN1MEthVkloNi8vUmZZQ25mWW5XYVVEVnEyaWE2eVc4dXRLCm1LOEY1OG5NOHEzTUlmM0J0
Z1ljNkJsL3RaZitjM09BdmZ4cnoyNTJyaXhtZnBidzJkeXo2VGZvcFppU2ttTDhpNDJrbXQ2LzRB
WkwKWXg5UGJpNEJZTm1MZmJ5UnY1VFcxLzZSWlN0dlo3a2UzZzJsTmIva0RqNXFoUEQ4ZURiNW5L
OW0xdC84MEc0cnorZ2dZS1prMGNUSwpEMjB4cGtjT01MSmtNUXRXTDZJV3FIZU04OGl5bkliSGNT
ejRjd05ReThuWFBTeGZsbW9iV0hvWjB1dTNrQkl6Yk52MEQxeGR1WUlQCjNYZ2RwcnA2aklzbkVQ
ODBNK3YvWisvK2c5cTQ3OFQvUDNlTWlPUkV1TmpCYmUza3NPdkVIOGlNcGZ2WXplQW10VlBKYVE2
bmJjVGsKUjVPSm9aK1NUTEV2eVJpNDNPRGE5N0V2aFY0NTNIb01ubnh5d25NSk5BRVNHKzYrRmsw
R1QxcWpGbm9wMUlHZWw5VFMxUkJEWXhTQwpCbVN6RGhKSW52MytJWDRJVzdDTElVNmJ2Qjh6bWdH
OWR0K3Y5NzVXZit4Nzk3MjdTeGNXRndSQkVBVGhzMDNYQU1SZ0FMQlI5Y2pQCnNDUjhERGY5RFhl
dFRjVUlNQzd6eWdVWkVtMmNQNVBQK1Z0c1dNYmR1TnBQNE0vY2dObDNuUFEzbXpqMVhKalhWa1R3
ZGh3aC9jMDkKTVA0T0EwSDRZbUR1ZUtxdVd3ZkNqQTJCL1I3cnRaSHdHR0RoNjV2WGs4bzQ0MERp
N2xQYy8vd1hXRytHajhaSGdkdUpUV05jbDhuKwpvcGd2bEZGR2dESEN3R3dIc0FyZXp2L21rbUVk
R1J0V1hSUDlPRVIwSEFjRWhvRmwrdnFublQvQVd5VkhzV1RuY2JxbWt0OHNYVXEyCkRmYTgrRXQy
Wnp3WlhWcXIvNXJiTjN0OTlWcDZTMHlGRTB6Y0d0czJjUEZpVElIbTBUOWQ5UU0rZUs5ak10M3N1
M0FPc2Jjay9lbjgKUjNBZEF4Q1dScy91ajRVWDgxbXp5V1R1YmNLVlBVenYreGNJWFJyZ3hJRjg4
Z2YrQnZVbjlrWE1NOXR0V1JOWE5HSysrZkFjck5obwowQmtYQkVFUUJPSHpSbk1LVm1Tb2xjTy9y
d0dHK0ozOEZ1OG5wTEZ4Y3ZCeHhVZmxLN200QU1hdDFCU0ZhZnlHamVnZENBZjRRWDBECkg0NHBn
SXR0UjUrbDBYdU8wU1hMbUx5VjFiQUV3aHB4VFpFUUFYOC9neklNOVBjUzhQdnhCNmJudjY5TXV4
dVE2YnU4a25zZmZJZ0gKSDlqQ2F2N01zVU1OWEFoQjJqZDNBS1U4YzdBUlgwQWgwTmRGNVU0SlNU
b3kvY1FpOCszWWdELytUeStLRXNEYjJzQytuRUthWTI3MgpWanFyU04rMGxjMlcxVlI3cDA5VEc5
TWNPRzJ3ZmFXZGc5VjFITnhwWlhzNXJMMUpYLyswOHZ2YWo1TXZ3LzRYZnNiaHlrb3FEeC9tCngv
KzNHR3AyOEtZM29LLy9jOFUxNmdzUkFuNGYvb0NmL2t0RGNIRVFmOENQengrSVRnSUtEWElKT09y
SXA2N2RpOC9ucGFFa24zSXMKZlBVclpzREVlanVVVnIyRlQxSG9hMytEVjkwd05EQTRmYkovanY3
cHFoOXc1OWZ0d01nczA0am0rbjBwZERXV3NISnJQaFh5Q0VGUApGYVdPZEhLT3RNNzdpVmJoMGVo
aCtLM0w1bk5EdmxaOU84bmR2QjMzZUJwNVJVVVU3VDlBUVFGd2RtRHhIdGNiVWFMNUI2YnpCNlp1
CjlqZHlYKzVlNVB4L3BOa1hJdEQ1QnJ2YzhFeG11czY0SUFpQ0lBaWZPNnFHa2ZlclZGNWc2dU5v
a3FlRFk3S2FIUk9yN3g5V1c0N2IKWXBZdlVOODlXekZqL2VqSG9sYTgyeDF0Lzl6Y2NjMyt5VTRW
dU9wVG9IYUhwNWZwYjZ0U2JUUGlOclc0dGtVZG1ZZ1BkdFNxanRpNApMVTl0OGd6UHlOUGRWRFlq
UjE1eHJkb2ZuSTRIdTJzbll0bHEyOHhWVlRVOHFEWTVpOVc4N0d5MTJGbXZWaFdnMmlvNmRQZHYx
dnlCCmpwaCsyOVMyb0txR1o5Ump1ZzVhL1o4dHJsbmZvS3htWHhPZjZNK0lxc3BPUjV5WVE2Mlhw
NHMwM0ZHcld1SzBVZEV4b3RrL3ZmVUwKZDllcmdGcldNampyYnltZTJQN3ZQZFd2RHJaTTl5T3ZW
dDl2ZEpLbktsdUZ2Qm0vVFUwYTlZMGZkNmoxbmhITnB2WHFiOXA3VFg2SApzeU5taVJHMXZzQXlY
WmVxanF0YTBJb0xnaUFJZ3ZCNUlxbXFxaTV3REtNaFJPQmlFSlBaUkhCVUlYSWxBYk01R2VNU3Zm
SEZFaUVRClVFZ3dtVEViNDgwOGk2QUVGRWd3WVRiUE1rY25Fa0tKZ01sb2pEOTNMUklpaEpHNHpV
OVJxTFFuOFZKV0IyZDJiNXhILzNUazE2S2oKL3d0cVgwLytJSmpNY2RxZmlNMWFlODMrYWRWUG9U
b3JpZHd2MWhPdWZQUVRmWmRHZkQ1S3BOVTBsTFZ4cGloalVWdU9oRUpnTkVKSQppZFl3MmZ3cGJC
OEUvRDRpQ2N0SlNZNi9EN1hpZ2lBSWdpQjhQdHlBQVlnQUN0VTVTZVRLTnBEZGdBVlhienNQcFlv
RHNSc3AxRk9ICjZZNGQxUGVHZVRUMXhoNmkrMXYzc1hMcldUcEdUckR4MDdzL1hCQUVRUkFFNFZN
bkJpQTNSSVNlOWwvUjNqTk00dkxidVR2amE2UW0KZnhybnFJVys5cE1NZk9rYlpOemd3WisvOHlS
ZHkrN0Z2azZNUGdSQkVBUkIrSHdUQXhCQkVBUkJFQVJCRUc0WUhTOGlGQVJCRUFSQgpFQVJCV0J4
aUFDSUlOMGdrRkNLMG1LOEFFUVJCRUFSQitDdDBBNmRnUlFnRmc1Qm94cmdrUXVoS3dsVlB1dEtL
Zno3NW1xdjU2Uy8rCnhOOFZIQ0R6ci9TbTliN21Tc3AvMFlmSkJLbjM3MlNuWGZ2OTlwK2wvRkVL
bGRZa2RtMnVKMWo1NlBXOEMzRk9FY1dQNTc5L3gvbkUKci9KUXhyVXZ3b3dFdkJ3Ly9qYktUZXY1
VG5ZbXF4TG1GeGNFUVJBRVFWZ3NtbGRBUXI0RzdEK3lZajlrajM1SzdXUTU5OUY0M2g5ZAo0RW9m
QjQ5WXNSNnlZejlreFZwYVNGZHdaaHVCOHcza2xCb3dIVXpDOUdNSjZVY0dUT1dWVXk5eTA0cC8r
dnlVU0JMVlBZdjJhamZkCkREZERlWGtwOGxCUWUrSEZGdkpTYUpXdzJxMUlVZzVkRWZDZkxFR1Ny
Tmp0RXRhY2FsMzd5SER6Q3I2ODlrc0UyMHA1NmQyQlQ3emIKZjJuNUo1a3RZTHR0K2FJL0lqZlVW
WWtoYVNXV3JRNzIveWJPOW9XNnlGMmV6bzVqcHptV3U1M1ZEeHpCUDUrNElBaUNJQWpDSXRJYwpn
SVJIZmJpUmNWOTJSei9qYmx3ZmxlSjQ5WDVPRGtXQUlEMEJHZm15Ry9kbEdYbThuQmM3ZTZZYnVO
TEREMTk5akpweHNDUVhrSmM4CjhiMUJaL3c2ekRiVkphUW9LTXJzYzJCQ1NvaTQwY2dBYm1CazlQ
cjdkTDFTTXA3QWFRRU0ybS9QRG9VVWxGbm4rRVFJS1VyODdadGMKLytyNkdGZnpuYWZ6a04weXR1
TEh1QzBCa2pkbDRTeVFjYnRoeDJPYmlYMm0wMno1VjJVOFN0SHUzZXg4M01hQ2RxeUdUenEvMXU5
bgpibWFlZkUybGViOTlsZ0dJOXY2WmpUSDl1d3dPRDlOU1pva2I3M3Z6UldySVJuNzdOWnI3WGVE
TzV6KzdGTjF4UVJBRVFSQ0V4YVE1CkFESGZrY2VwdTJ5QURkZFQvZlEvZFlxQ1JBQ1pQd1VVV0pK
R3hTN1hqSFdPdHYyS3dNVGZrWS8rd0ZFQXNxbmFkWmpLM2NOVTNBSjgKUEVaRVIxeFR5TXRPU1VL
eVpsSFg2YVd4SkF1RHlZVEpZS1d4TDNyRkl0VFhTcUZkd3BTVVJGS1NBU25uQ042WTQ2dnB1QW1E
SkpHegpNMnZxN0g3QTIwcmR5Ni9qQnBwZi96bU5EUTNVMVRYUTVkZDNxSGl5SkF2SmJzY3FXYW4y
UnFDdkFidGt4VzZWMk5mWW85MEFZVmdCClhlNDNLTW14STBrU1dZV1ZkQVdtOHdjNjY3QkxFaVpU
RWtrbUEvWjlkVFBPWVBlMVZtT1hESmlTa2pCSUVsWko0a2puZEFGbXI0OFoKKys1OUZBQldxNVZr
SUNGbEEvZFpIZUNvNVI4ZVN0T1ZmOUxvbUs2U3hWQ28yMm5GYXJkamxldzAraUwwMU8xRWt1elly
Ukk1MVYwTAp6dC9UVUlnazJhbnpob0FlOWxrbEpLdVZJODArSGZYUkorU3RScElrckZZcmhYWGVh
K0phKzBkVFFqSXB5Y2w4d2JnaVhuWk91NDVpCktYdU9EUW5BS2h0T0d4eDc1NXpPdUNBSWdpQUl3
dUxTY1JPNmtSUnpFZ0NKaVNaTWlUY3plUzUrOG1Sek1OQUxRTVhqSG1wdkF5Ni8KUk90SDBXQ0Nl
VG5SODdJMWJEcVVROG1KNDl6NlZSZWV2OCtMSHRCcXhMVzd0NFo5bmhiMjRtTEhwblQyWDloT1cw
Y0x6dUtuK2VMUwpCQWkwODhTYXJaeTN1ZWdmQ1JJYzl1QWtuL1NrRW53QWdYWWVYTE9WOHRWbHRI
bDY4YlRWb3h4MUljc2pSSUNnL3dOTy8vWXNBT2ZQCmRuS21zNVBUcHp2eGorb2JnTno3dmIwVXVO
M0lsaDA4Y0VjQ3BONURwa1hHdmFLTXAyM3JkTFZ4VXhMVTVPY1MzRmFFM0hHS3U4N3MKd3JMOFdT
WlBVZ2MvaGt5bkMwL3ZJUDJ5aTZIU0hidytkUURiUi9uV1hPNnM5NkNxWWZwbEYydUJxV3M5V3ZV
aGxhZWNEc29keHlZTwo2bnM0bk91aStQbHZUcDNKbnp2L1FwalpYbGpHV3JjYk9lOFpiS3NTU1Ax
T0lYdHg0N1k0K1NmSG5Rdk9uM3BmRG5tNHVUQWFCbGJ6CjNMRVc4bVNabDk4YjBGa2ZiY1kxMzhM
amtkbGpsMm0rY1BWbE5JMzlNdy9oV2I0ZDZvY1Z4c2tyUHdaV3JJYWhNYjF4UVJBRVFSQ0UKeGFW
ek9yb1pjTEhkdVh6NnExdUtlZVFyeVVDRTF2OTZHWUJtNzl1c0hRU1FlZVVQSGg3SzNBRG1yUno3
dHBOLytmVXVhaTdYY09CTQpUWFQ5ZDhybzNWdEVxbFpjczI5R1V0UHVadjBLY0RqYk9MRXpBNENN
alZzQThMZitCaGVRSGV5bDRkK09FREl1NDZJQzBNQUh5bjZDCnAxN0JUUjdkcnhVUkhRNms4a1oz
RXovOUR6QUJ5VnVlNVBDV2paeXZjYkc5cElLZEcrWjMrN0E1TllNRExXV1ViNjNGR3loaUZWNzIK
eUZEYnZSdTk3NlFiRzRIc1dnOC9lVEo2eFdIRDJ4NCtNS1RUZFBaZjJaQ1JESW1KZk5pMG4vUmRN
a3pOd3BrOGdFMGl6UUc3SHZzaApTL2R1NHN0ZldvYTlvZ3JiMm1oeS8zdHoxMmVWR1RZOHZCdDJi
ZU9YZlVVOFBQSVdSOG1qKzJzcDB4MmNNLy9DSktkbFVsTGx3SlhyClFha0VjOGpIVzBEOWo1OG1i
Zkpsamd2SW41QnlGeHN0Y0FrQUk2dlM3dVpyTnBnOC82K25QcHFNS2FTbHBSQmVhNE5yYmlPYWUv
OTgKRWhLWExpd3VDSUlnQ0lLd0VMb2V3MnN3QU5pb2VxU0Rqc2RiNlBoZUw4SG45N011RVJpWGVl
V0NESWsyenAvSnB6blJoZ1Z3dFovQQpENFI4eDBsL3M0bmM3NGRSL3ptSTU5dGwwVWJIMzJFZ3FC
M1hKOHpZRU5qdnNWNGJDWThCRnI2K2VUM3IwOUpJVy9ObHR1NCt4YW1XCkt0YWJJVHcrQ3F3Zzln
NEw0N3BNOWhkbFRqK3BTQmxsQkJpYjVSenp4RUo0TzF0cDc3cjJ2SGp5bGgvZ3RNbHNPMXhIOVUr
MlFYWTkKMzExMzlVQm05dlVCbHQ0UzA4TUVFN2RPL3UwL3llck5qN0g4cVNvR1I0SUVmOXZOM3Vo
Q2s5bkozTnVFcS82N3JQM0NUWEJwZ0JQNQp1VmgrMnFLclBnQ2szRU50TnBRZGErVE4xL094bEQz
RnVnUzkrYWZOZmZmRjdOdS80WkVEMkRoQVE2ZWZ6cXBDNU94NnNsSVRGaWwvCm1ESGc0c1g0RHhq
UVZaOEZtWHYvekVmODdadTRvaEh6ellmbllNVk5CcDF4UVJBRVFSQ0V4YVU1QUlrTXRYTDQ5elhB
RUwrVDMrTDkKaERRMnJrMk5IcHhmOFZINVNpNHVnSEVyTlVWaEdyOWhRd2JnQUQrb2IrRERNUVZ3
c2Uzb3N6UjZ6ekc2Wk5uVVNXckRFZ2hyeERWRgpRZ1Q4L1F6S01ORGZTOER2eHgrWW5uNnpNdTF1
UUtidjhrcnVmZkFoSG54Z0M2djVNOGNPTlhBaEJHbmYzQUdVOHN6QlJud0JoVUJmCkY1VTdKU1Rw
eVBRVG5zeTNZd1ArK0QrOUtFb0FiMnNEKzNJS2FmWk5uMlZYT3F0STM3U1Z6WmJWVkh1dlBwaE41
dis4VkF1bE84Z3QKQjFkWjFqV0h4N091SHhya0VuRFVrVTlkdXhlZnowdERTVDdsV1BqcVY4eEVS
aTREc0c3dDdaZ1o1dlF2WHFZVXVEVFlIejNaSHVvawpkL04yM09OcDVCVVZVYlQvQUFVRndOa0JR
anJxRTJWayszTVZ5SHNjUEZZS0pkbWJwc3V2bFI5UUFuNzhBVC8rUzBQSUZ5OUUvdzdNCnJOR2M5
VE52NUdjVkR2STNyV1RUSHBuYUY3NDlWYitGNXpleDNnNmxWVy9oVXhUNjJ0L2dWVGNNRFF6T296
NXppUkR3Ky9BSC9QUmYKR29LTGcvZ0RmbnorUVBRYWpjYiswU1dpUk5zZm1HNC9NSFd6dkpIN2N2
Y2k1LzhqemI0UWdjNDMyT1dHWnpMVGRjWUZRUkFFUVJBVwptYXBoNVAwcWxSZVkramlhNU9uZ21L
eG14OFRxKzRmVmx1TzJtT1VMMUhmUFZzeFlQL3F4cUJYdmRrZmJQemQzWExOL3NsTUZydm9VCnFO
M2g2V1g2MjZwVTI0eTRUUzJ1YlZGSEp1S0RIYldxSXpadXkxT2JQTU16OG5RM2xjM0lrVmRjcS9Z
SHArUEI3dHFKV0xiYU5uUFYKeVY2b0JhQlNmQ3J1ZHN5MnZ1eDB4TmsraDFvdlR5NDByTllXV0ta
ampqeTF3Qkg5djhEVnE2cEJXYzJPdDc1blpDcUhWbjJpZXRWaQpDeXJaVlZkOXI1RmZIVkdkdHF2
em8wS2U2b25aUjVyMUcybUw5akc3VmczT0NDdzgvM0JIcldxNUpvNWEwVEV5ai9yTUltNzlvMjIw
Cmpjd1duN2wvdFBRMzdiMm1mWWV6STdaNGFuMU1qZktxT3E1cVFTc3VDSUlnQ0lLd2VHN0Fpd2hE
QkM0R01abE5CRWNWSWxjU01KdVQKWTE0eXFCVmZMQkVDQVlVRWt4bXpNZDZ0THhHVWdBSUpKc3pt
V2U3emlJUlFJbUF5R3VQZlBCTUpFY0pJdk9hVnprcVNOalhSTm5LQwpqTm1tN3N5eC9sVCtJSmpN
MStZUEtRR0NtRWlPMC9kSUtBUkdJNFFVbENDWWs4MXgrcTlWbjduTmxWODNqZTBQQmZ5RXpTbVk0
OFFYCm5IK2l0clB1K3dYV1orN1VldmJQd2dYOFBpSUp5MGxKanIrTlduRkJFQVJCRUlURmNBUGZo
UDc1MU5ONGtPZnJ1eGlwcWNFTkZMdTYKMmYrUXZxZGZDWUlnQ0lJZ0NNSm5qUmlBZk1MOFhjMzhz
bXVBeE1SRUdCOW4rWVp2WXQrUW9yMmlJQWlDSUFpQ0lId0dpUUdJSUFpQwpJQWlDSUFnM2pLN0g4
QXFDSUFpQ0lBaUNJQ3dHTVFBUkZrMGtGQ0swT084Zi9GUkVJaUVpQytqL1F0ZlhiUDhUcnU4bjNm
Ky85UHlDCklBaUNJTndZTjNBQUVpRVVWQWhkbWZqN3luemp3bDgyaFpjelRKaWViWmp4L2dwZmN6
V0ZoZnM0MmFmN3JSYWZyTWhzQi9HWCtmZU4KSmpiK3Y4N3JiRmhqL2NoQ3R6OStmUmZQM1AyUEtI
NjZXaHRwYkkvL29zeEl3RXRkNVJFcXEwL2lpMU5mcmZqQzZ5OElnaUFJd2w4TAp6UUZJeU5lQS9V
ZFc3SWZzMFUrcG5Tem5QaHJQKzZNTFhPbmo0QkVyMWtOMjdJZXNXRXNMNmJycURlYUI4dzNrbEJv
d0hVekM5R01KCjZVY0dUT1dWVXkvNjA0cC8rdnlVU0JMVlBaL1dRZlJjK1VNMEZGcVJKQ3QydTVX
c2ZZMXhEbEMxK3I4NDIyZTJnTzIyNVRNZUlXdTQKR2NyTFM1R0hkTC9XL2hQckg1RWVDZzBtZnU2
Wi9aZTFZbUVaWmwzZlcvTUVVazdkZ243VDhlcTcyT0wxUDlSVmlTRnBKWmF0RHZiLwpaaURlQXVR
dVQyZkhzZE1jeTkzTzZnZU80SjlQWENPL0lBaUNJQWlmTFpvRGtQQ29EemN5N3N2dTZHZmNqZXVq
VWh5djNzL0pvUWdRCnBDY2dJMTkyNDc0c0k0K1g4MkpuejNRRFYzcjQ0YXVQVVRNT2x1UUM4cElu
dmpmb2pGK0gyYWFxaEJRRlJabDlqa2RJQ1JFM0dobkEKRFl5TVhuK2Y5SmkxZjNQbVQrQi9QMXpD
WHB1TTJ5M2pLdDNQcjY4K3hhelYvM2x1WC96Nm1ubnlOWlhtL2ZZWkI4Z3BHVS9ndEFBRwprNzdH
RjlBL3JmM3JyWG1lY2dxNFB6M2VpMWh1NFc4ZjNjRFFkWGR5N3ZYVHZyVUxhblpRMVJtNHp2Ymox
M2RhaEpDaXhQLzk2ako3Ci80M3AzMlZ3ZUppV01rdmNOZnZlZkpFYXNwSGZmbzNtZmhlNDgvblBM
a1YzWEN1L0lBaUNJQWlmTFpvREVQTWRlWnk2eXdiWWNEM1YKVC85VHB5aElCSkQ1VTBDQkpXbFU3
SExOV09kbzI2K1lQTXlLZlBRSGpnS1FUZFd1dzFUdUhxYmlGdURqTVNJNjRwcENYblpLRXBJMQpp
N3BPTDQwbFdSaE1Ka3dHSzQwVDAzNUNmYTBVMmlWTVNVa2tKUm1RY283Z2pUbittWTZiTUVnU09U
dXpzT1pVb3dBQmJ5dDFMNytPCkcyaCsvZWMwTmpSUVY5ZEFsMzhlaDNwS0Q1V0ZXVWlTaEwzd0lO
VUhDN0ZLRWlYTlBzMythZWRQWU4yV2g5aHFCVWRaTGNVMm1ZTU4KOGxScXJmVTEyOWRUWDI4MWtp
Umh0Vm9wclBOZXRmRmhXQUZkN2pjb3liRWpTUkpaaFpWMEJhTHQ5elFVSWtsMjZyd2hvSWQ5Vmdu
SgphdVhJUkczMDFGOXIvMGI1ZURYWGhhWDRZZGJOY2duaEMzYzh5Zy90NjJkOGQ3SWtDOGx1eHlw
WnFmWkdvSzhCdTJURmJwWFkxOWlqCnVmNlVsQXljTnNnL2ZHcmVVNmptcmkvMHRWWmpsd3lZa3BJ
d1NCSldTZUpJNS95dnRjemEvNFJrVXBLVCtZSXg3dlVSVHJ1T1lpbDcKamcwSndDb2JUaHNjZStl
Y3pyaU8vSUlnQ0lJZ2ZLYm91QWZFU0lvNUNZREVSQk9teEp1WlBKYzllUlk4R09nRm9PSnhEN1cz
QVpkZgpvdldqYUREQnZKem9lZE1hTmgzS29lVEVjVzc5cWd2UDMrZVJyQ091M2IwMTdQTzBzQmNY
T3phbHMvL0NkdG82V25BV1A4MFhseVpBCm9KMG4xbXpsdk0xRi8waVE0TEFISi9ta0o1WGdBd2kw
OCtDYXJaU3ZMcVBOMDR1bnJSN2xxQXRaSGlFQ0JQMGZjUHEzWndFNGY3YVQKTTUyZG5EN2RpWDlV
N3dERVIwblNIZXc2Y3hkTkxTMFVwSDFJN3A1eUtLamw2WHRXYWZaUFYvNUFLM3ZLWWRjUG5tUlhV
UUh1L05mbwptZHczR3V0cnRxOVZYOEM0NWx0NFBESjc3RExORjY2OVRIRlRFdFRrNXhMY1ZvVGNj
WXE3enV6Q3N2eFp1aFJJdlMrSFBOeGNHQTBECnEzbnVXQXQ1c3N6TDd3M282NS9XL3AwUTh2NmFV
bURQWTNmUHVxZlNuanpBa3h0dW1mSGR2ZC9iUzRIYmpXelp3UU4zSkVEcVBXUmEKWk53cnluamF0
azV6L1duSjNQOU1BZFRVY0hhZUk1QzU2OXRIK2RaYzdxejNvS3BoK21VWGE0RlpydVhOYWU3K1Ez
aVdiNGY2WVlWeAo4cEtsZ1JXcllXaE1iMXgvZmtFUUJFRVFQaHQwVGljM0F5NjJPNWRQZjNWTE1Z
OThKUm1JMFBwZkx3UFE3SDJidFlNQU1xLzh3Y05ECm1SdkF2SlZqMzNieUw3L2VSYzNsR2c2Y3FZ
bXUvMDRadlh1TFNOV0thL2JOU0dyYTNheGZBUTVuR3lkMlpnQ1FzWEVMQVA3VzMrQUMKc29POU5Q
emJFVUxHWlZ4VUFCcjRRTmxQOE5RcnVNbWorN1Vpb29lVHFielIzY1JQL3dOTVFQS1dKem04WlNQ
bmExeHNMNmxnNXdhagp2cEpOQ0huZjVnRFE0dm9KVzh6QWxpMjBEWmFUdHl5TlZVYnduNTY3Znhr
Njh2ZWNxa0hHd3ZCN25YZ3ZMd2NPOEI4ZCt5aktTR0dWCnh2cGFjYTM2UmhkSklTMHRoZkJhRy9G
Tzc0K05RSGF0aDU4OG1RYkFocmM5ZkdCSXArbnN2N0loNHk0Mld1RFNSSzVWYVhmek5SdE0Kbmgv
WDZwLy92Ym5ydDJwaXRwWGk2d0VjcEsyWjMvNHpwMlp3b0tXTThxMjFlQU5Gck1MTEhobHF1M2V6
THQ1TXJqbXMvbDlXb0p6VAo1eFEyYnBqSHluUFdONGswQit4NjdJY3MzYnVKTDM5cEdmYUtLbXhy
NTltNVJaUzRkR0Z4UVJBRVFSQSsyM1FOUUF3R0FCdFZqL3dNClM4TEhjTlBmY05mYVZJd0E0ekt2
WEpBaDBjYjVNL21jdjhXR1pkeU5xLzBFL3N3Tm1IM0hTWCt6aVZQUGhYbHRSUVJ2eHhIUzM5d0QK
NCs4d0VJUXZCdWFPcCtxNmRTRE0yQkRZNzdGZUd3bVBBUmErdm5rOXFZd3pEaVR1UHNYOXozK0I5
V2I0YUh3VXVKM1lOTVoxbWV3dgppdmxDR1dVRUdDTU16SFlBcStEdC9HOHVHZGFSc1dIVk5kR1BR
MFRIY1VCZ0dGaW1yMy9hK1FPOFZYSVVTM1llcDJzcStjM1NwV1RiCllNK0x2MlIzeHBQUnBiWDZy
N2w5czlkWHI2VzN4RlE0d2NTdHNXMERGeS9HRkdnZS9kTlZQK0NEOXpvbTA4MitDMmVSdk9VSE9H
MTcKMkhhNGpxcmdEc2l1NTd2cjV0a0l3TkxvMmYyeDhHSSthemFaekwxTnVMS0g2WDMvQXFGTEE1
dzRrRS8rd04rZy9zUytpSGxtdXkxcgo0b3BHekRjZm5vTVZHdzA2NDRJZ0NJSWdmTjVvVHNHS0RM
VnkrUGMxd0JDL2s5L2kvWVEwTms0T1BxNzRxSHdsRnhmQXVKV2FvakNOCjM3QVJ2UVBoQUQrb2Ir
RERNUVZ3c2Uzb3N6UjZ6ekc2WkJtVHQ3SWFsa0JZSTY0cEVpTGc3MmRRaG9IK1hnSitQLzdBOVB6
M2xXbDMKQXpKOWwxZHk3NE1QOGVBRFcxak5uemwycUlFTElVajc1ZzZnbEdjT051SUxLQVQ2dXFq
Y0tTRkpSNmFmV0dTK0hSdnd4Ly9wUlZFQwplRnNiMkpkVFNIUE16ZDVLWnhYcG03YXkyYkthYXUv
MGFXcGptZ09uRGJhdnRIT3d1bzZETzYxc0w0ZTFOK25ybjFaK1gvdHg4bVhZCi84TFBPRnhaU2VY
aHcvejQveFpEelE3ZTlBYjA5WCt1dUVaOUlVTEE3OE1mOE5OL2FRZ3VEdUlQK1BINUE5RkpRS0ZC
TGdGSEhmblUKdFh2eCtidzBsT1JUam9XdmZzVU1tRmh2aDlLcXQvQXBDbjN0Yi9DcUc0WUdCcWRQ
OXMvUlAxMzFBKzc4dWgwWW1XVWFrWlprL3M5TAp0VkM2Zzl4eWNKVmxYZGVUcU1LajBjUHdXNWZO
NTRaOHJmcDJrcnQ1Tys3eE5QS0tpaWphZjRDQ0F1RHN3T0k5cmplaVJQTVBUT2NQClROM3NiK1Mr
M0wzSStmOUlzeTlFb1BNTmRybmhtY3gwblhGQkVBUkJFRDUzVkEwajcxZXB2TURVeDlFa1R3Zkha
RFU3SmxiZlA2eTIKSExmRkxGK2d2bnUyWXNiNjBZOUZyWGkzTzlyK3VibmptdjJUblNwdzFhZEE3
UTVQTDlQZlZxWGFac1J0YW5GdGl6b3lFUi9zcUZVZApzWEZibnRya0daNlJwN3VwYkVhT3ZPSmF0
VDg0SFE5MjEwN0VzdFcybWF1cWFuaFFiWElXcTNuWjJXcXhzMTZ0S2tDMVZYVG83dCtzCitRTWRN
ZjIycVcxQlZRM1BxTWQwSGJUNlAxdGNzNzVCV2MyK0pqN1JueEZWbFoyT09ER0hXaTlQRjJtNG8x
YTF4R21qb21ORXMzOTYKNnhmdXJsY0J0YXhsY05iZjB0ejYxUUpRS1Q1MW5ldXJxcWNxVzRXOEdi
OU5UUnIxalI5M3FQV2VFYzJtOWVwdjJudE5mb2V6STJhSgpFYlcrd0RLOWI2bzZybXBCS3k0SWdp
QUl3dWVKcEtxcXVnamptRG1FQ0Z3TVlqS2JDSTRxUks0a1lEWW5ZMXlpTjc1WUlnUUNDZ2ttCk0y
Wmp2UFBYRVpTQUFna216T1pacHRkRVFpZ1JNQm1OOGMrQVIwS0VNQkszK1NrS2xmWWtYc3JxNE16
dWpmUG9uNDc4V25UMGYwSHQKNjhrZkJKTTVUdnNUc1ZscnI5ay9yZm9wVkdjbGtmdkZlc0tWajg1
Nys1VE9TcEkyTmRFMmNvS002N3E5d2tlSnRKcUdzamJPRkdWYwpUd096aW9SQ1lEUkNTSW5XTU5u
OGliNHJaRFlCdjQ5SXduSlNrdVB2UTYyNElBaUNJQWlmRHpkZ0FDS0FRblZPRXJteURXUTNZTUhW
CjI4NURxZUpBN0VZSzlkUmh1bU1IOWIxaEhrM1ZkNGplMDNpUTUrdTdHS21wd1EwVXU3clovOUE2
emZXdTVtL2R4OHF0WitrWU9jSEcKVCsvK2NFRVFCRUVRaEUrZEdJRGNFQkgwZ3k1aEFBQWdBRWxF
UVZSNjJuOUZlODh3aWN0djUrNk1yNUdhL0dtY294YjYyazh5OEtWdgprS0Z6OE9mdmF1YVhYUU1r
SmliQytEakxOM3dUKzRhVWVlZjFkNTZrYTltOTJPZjc2Q3hCRUFSQkVJVFBHREVBRVFSQkVBUkJF
QVRoCmh0SHhJa0pCRUFSQkVBUkJFSVRGSVFZZ2duQ0RSRUloUW92NUNoQkJFQVJCRUlTL1FqZHdD
bGFFVURBSWlXYU1TeUtFcmlSYzlhUXIKcmZqbms2KzVtcC8rNGsvOFhjRUJNdjlLYjFydmE2Nmsv
QmQ5bUV5UWV2OU9kdHExMzIvL1djb2ZwVkJwVFdMWDVucUNsWS9POTEySQpHaUwwZGJiZ1B2MGVZ
K2IxWkQ2Y3lkVS9sVWpBeS9IamI2UGN0Sjd2WkdleUttRitjVUVRQkVFUWhNV2llUVVrNUd2QS9p
TXI5a1AyCjZLZlVUcFp6SDQzbi9kRUZydlJ4OElnVjZ5RTc5a05XcktXRmRBVm50aEU0MzBCT3FR
SFR3U1JNUDVhUWZtVEFWRjQ1OWFJL3JmaW4KejArSkpGSGRzMml2ZHRQTmNET1VsNWNpRHdXMUYx
NXNJUytGVmdtcjNZb2s1ZEFWQWYvSkVpVEppdDB1WWMycDFyV1BERGV2NE10cgp2MFN3clpTWDNo
MzR4THY5bDVaL2t0a0N0dHVXTC9JamNpTTBsenpBbWszYmVMWHpqelR0Mk00YVV5SGUySjlxcUl2
YzVlbnNPSGFhClk3bmJXZjNBRWZ6TUl5NElnaUFJZ3JDSU5BY2c0VkVmYm1UY2w5M1J6N2diMTBl
bE9GNjluNU5ERVNCSVQwQkd2dXpHZlZsR0hpL24KeGM2ZTZRYXU5UEREVngralpod3N5UVhrSlU5
OGI5QVp2dzZ6VFhVSktRcUtNdnNjbUpBU0ltNDBNb0FiR0JtOS9qNWRyNVNNSjNCYQpBSVAyMjdO
RElRVmwxamsrRVVLS0VuLzdKdGUvdWo3RzFYem42VHhrdDR5dCtERnVTNERrVFZrNEMyVGNidGp4
MkdaaW4razBXLzVWCkdZOVN0SHMzT3grM3NhQWRxK0dUenEvMSs1bWJtU2RmVTJuZWI1OWxBS0s5
ZitJTDh0NEJONDVhRDgyVmxad1lhY05HT1kxbkExTkwKOUwzNUlqVmtJNy85R3MzOUxuRG44NTlk
aXU2NElBaUNJQWpDWXRJY2dKanZ5T1BVWFRiQWh1dXBmdnFmT2tWQklvRE1ud0lLTEVtagpZcGRy
eGpwSDIzN0Y1T0ZQNUtNL2NCU0FiS3AySGFaeTl6QVZ0d0FmanhIUkVkY1U4ckpUa3BDc1dkUjFl
bWtzeWNKZ01tRXlXR25zCmk1NEdEdlcxVW1pWE1DVWxrWlJrUU1vNWdqZm0rR282YnNJZ1NlVHN6
Sm82dXgvd3RsTDM4dXU0Z2ViWGYwNWpRd04xZFExMCtmVWQKS29hODFWZ2xLM2FybFNPdFB2b2FT
N0JhN1VpU2xUcGRWMVRDc0FLNjNHOVFrbU5Ia2lTeUNpdnBDa3puRDNUV1laY2tUS1lra2t3Rwo3
UHZxWnB6QjdtdXR4aTRaTUNVbFlaQWtySkxFa2M3cEFzeGVIelAyM2Zzb0FLeFdLOGxBUXNvRzdy
TTZ3RkhMUHp5VXBpdi9wTkV4ClhTV0xvVkMzMDRyVmJzY3EyV24wUmVpcDI0a2syYkZiSlhLcXV4
YWN2NmVoRUVteVUrY05BVDNzczBwSVZpdEhtbjA2NnFOUHlGdU4KSkVsWXJWWUs2N3pYeExYMno5
ek01QTcyODlxVGFSUEpBcmlCWlZQRG5CQ25YVWV4bEQzSGhnUmdsUTJuRFk2OWMwNW5YQkFFUVJB
RQpZWEhwdUFuZFNJbzVDWURFUkJPbXhKdVpQQmMvZWJJNUdPZ0ZvT0p4RDdXM0FaZGZvdldqYURE
QnZCd0xBRFZzT3BSRHlZbmozUHBWCkY1Ni96NHNlMEdyRXRidTNobjJlRnZiaVlzZW1kUFpmMkU1
YlJ3dk80cWY1NHRJRUNMVHp4SnF0bkxlNTZCOEpFaHoyNENTZjlLUVMKZkFDQmRoNWNzNVh5MVdX
MGVYcnh0TldqSEhVaHl5TkVnS0QvQTA3Lzlpd0E1ODkyY3Fhems5T25PL0dQNmh1QUdOZDhpOE5W
ZHR5eQp6UG1Qd3hnU0x5RExic3BjVld6WGVVL0hUVWxRazU5TGNGc1Jjc2NwN2pxekM4dnlaNWs4
U1IzOEdES2RMank5Zy9UTExvWktkL0Q2CjFBRnNIK1ZiYzdtejNvT3FodW1YWGF3RnBxNzFhTldI
Vko1eU9paDNISnM0cU8vaGNLNkw0dWUvT1hXSU8zZitoVEN6dmJDTXRXNDMKY3Q0ejJGWWxrUHFk
UXZiaXhtMXg4aytPT3hlY1AvVytIUEp3YzJFMERLem11V010NU1reUw3ODNvTE0rMm94cnZvWEhJ
N1BITHROOAo0ZXJMYUJyN1J3ZHp5cXFwSzFITnpvT0FnNys5Yy9LYk1FUDlzTUk0ZWVYSHdJclZN
RFExR05PS0M0SWdDSUlnTEM2ZDA5SE5nSXZ0Cnp1WFRYOTFTekNOZlNRWWl0UDdYeXdBMGU5OW03
U0NBekN0LzhQQlE1Z1l3YitYWXQ1Mzh5NjkzVVhPNWhnTm5hcUxydjFORzc5NGkKVXJYaW1uMHpr
cHAyTit0WGdNUFp4b21kR1FCa2JOd0NnTC8xTjdpQTdHQXZEZjkyaEpCeEdSY1ZnQVkrVVBZVFBQ
VUtidkxvZnEySQo2UHV0VTNtanU0bWYvZ2VZZ09RdFQzSjR5MGJPMTdqWVhsTEJ6ZzN6dkgzWW1J
TDkrNGZwWDdlVzFWdlhVQTVVeWNOOGY0T3U0UlVBCll5T1FYZXZoSnhObnVUZTg3ZUVEUXpwTlov
K1ZEUm5Ka0pqSWgwMzdTZDhsTXpHYWc2a0QyQ1RTSExEcnNSK3lkTzhtdnZ5bFpkZ3IKcXJDdGpS
NmcrdCtidXo2cnpMRGg0ZDJ3YXh1LzdDdmk0WkczT0VvZTNWK0xlUm5mblBrWEpqa3RrNUlxQjY1
Y0Qwb2xtRU0rM2dMcQpmL3cwYVpNdmMxeEEvb1NVdTlob2dVc0FHRm1WZGpkZnM4SGsrWDg5OWRG
a1RDRXRMWVh3V2h0Y2M5RnI3djB6SHoyTis5aDJ3STJ6Clk1aU1PVlpQWERwM08xcHhRUkFFUVJD
RWhkRDFHRjZEQWNCRzFTTWRkRHplUXNmM2Vnayt2NTkxaWNDNHpDc1haRWkwY2Y1TVBzMkoKTml5
QXEvMEVmaURrTzA3Nm0wM2tmaitNK3M5QlBOOHVpelk2L2c0RFFlMjRQbUhHaHNCK2ovWGFTSGdN
c1BEMXpldFpuNVpHMnBvdgpzM1gzS1U2MVZMSGVET0h4VVdBRnNYZFlHTmRsc3I4b2MvcEpSY29v
SThBWTRUbjZvT0R0YktXOUsvNTU4ZGc3RC81MC9xTjVyNy8wCmxwZ2VKcGk0ZGZKdi8wbFdiMzZN
NVU5Vk1UZ1NKUGpiYnZaR0Y1cFlJSm5NdlUyNDZyL0wyaS9jQkpjR09KR2ZpK1duTFlCMmZRQkkK
dVlmYWJDZzcxc2licitkaktYdUtkUWw2ODhldndYeTJmOE1qQjdCeGdJWk9QNTFWaGNqWjlXU2xK
aXhTL2pCandNV0w4YWZENmFyUApnc3k5Zi9SUk9GbVN4UjJPVW1ybFlYWnVqQjNjVGx6UmlQbm13
M093NGlhRHpyZ2dDSUlnQ01MaTBoeUFSSVphT2Z6N0dtQ0kzOGx2CjhYNUNHaHZYcGtZUHpxLzRx
SHdsRnhmQXVKV2FvakNOMzdBaEEzQ0FIOVEzOE9HWUFyallkdlJaR3IzbkdGMnliT29rdFdFSmhE
WGkKbWlJaEF2NStCbVVZNk84bDRQZmpEMHhQdjFtWmRqY2cwM2Q1SmZjKytCQVBQckNGMWZ5Wlk0
Y2F1QkNDdEcvdUFFcDU1bUFqdm9CQwpvSytMeXAwU2tuUmsrZ2xQNXR1eEFYLzhuMTRVSllDM3RZ
RjlPWVUwKzZiUHNpdWRWYVJ2MnNwbXkycXFZeDlCRkZIb2FpeGg1ZFo4Ckt1UVJncDRxU2gzcDVC
eHBuZkVFcVZuWER3MXlDVGpxeUtldTNZdlA1NldoSko5eUxIejFLMllpSTVjQldMZjJkc3dNYy9v
WEwxTUsKWEJyc2o1NXNEM1dTdTNrNzd2RTA4b3FLS05wL2dJSUM0T3dBSVIzMWlUS3kvYmtLNUQw
T0hpdUZrdXhOMDV1bmxSOVFBbjc4QVQvKwpTMFBJRnk5RS93N01QT0NmZGZzQnpCdjVXWVdEL0Uw
cjJiUkhwdmFGYjA4Tkx4YWUzOFI2TzVSV3ZZVlBVZWhyZjROWDNUQTBNRGlQCitzd2xRc0R2d3gv
dzAzOXBDQzRPNGcvNDhma0QwV3MwR3Z0SFc0aVQrNzdPOWdNdUNtcmIrTWFLWVJwS0NxbWV1b25j
eUgyNWU1SHoKLzVGbVg0aEE1eHZzY3NNem1lazY0NElnQ0lJZ0NJdE0xVER5ZnBYS0MweDlIRTN5
ZEhCTVZyTmpZdlg5dzJyTGNWdk04Z1hxdTJjcgpacXdmL1ZqVWluZTdvKzJmbXp1dTJUL1pxUUpY
ZlFyVTd2RDBNdjF0VmFwdFJ0eW1GdGUycUNNVDhjR09XdFVSRzdmbHFVMmU0Umw1CnVwdktadVRJ
SzY1Vis0UFQ4V0IzN1VRc1cyMkxXVlYyT3FiVzJYdXFYeDFzbVc0bnI3WjdYdXRQZnh4cXZUeTUw
TEJhVzJDWmpqbnkKMUFKSDlQOENWNitxQm1VMU85NzZucEdwSEZyMWllcFZpeTJvWkZkZDliMUdm
blZFZGRxdXpvOEtlYW9uWmgvTnR2M1RPN290MnNmcwpXalU0STdEdy9NTWR0YXJsbWpocVJjZklQ
T296aTdqMWo3YlJOakpiZk9iK3VaNzJuUjJ4NjQrbzlURTF5cXZxdUxxNEduRkJFQVJCCkVJVEZj
d05lUkJnaWNER0l5V3dpT0tvUXVaS0EyWndjODVKQnJmaGlpUkFJS0NTWXpKaU44VzU5aWFBRUZF
Z3dZVGJQY3A5SEpJUVMKQVpQUkdQL21tVWlJRUViaU5xK3JpeHJyUjBJb1FUQ1pyODBmVWdJRU1a
RWNwKytSVUFpTVJnZ3BLRUV3SjV2ajlGK3JQbk9iSzc5dQpHdHNmQ3ZnSm0xTXd4NGt2T1A5RWJX
ZmQ5d3Vzejl5cDlleWZoUXY0ZlVRU2xwT1NISDhidGVLQ0lBaUNJQWlMNFFhK0NWMFFCRUVRCkJF
RVFoTTg3WFRlaEM0SWdDSUlnQ0lJZ0xBWXhBQkVFUVJBRVFSQUU0WVlSQXhCQkVBUkJFQVJCRUc0
WU1RQVJGazBrRkNLME9POGYKL0ZSRUlpRWlDK2ovUXRmWGJQOFRydThuM2YrLzlQeUNJQWlDSU53
WU4zQUFFaUVVVkFoZG1majd5bnpqd2w4MmhaY3pUSmllYlpqeAovZ3BmY3pXRmhmczQyYWZ2clJh
ZnVNaHNCL0dYK2ZlTkpqYit2ODdyYkZoai9jaEN0ejkrZlJmUFhQMlAwTmZaVEhYbEVTcnJUaEp2
ClYwWUNYdW9xajFCWmZSSmZuUHBxeFJkZWYwRVFCRUVRL2xwb0RrQkN2Z2JzUDdKaVAyU1Bma3J0
WkRuMzBYamVIMTNnU2g4SGoxaXgKSHJKalAyVEZXbHBJMTFWdk1BK2NieUNuMUlEcFlCS21IMHRJ
UHpKZ0txK2NlaEdmVnZ6VDU2ZEVrcWp1K2JRT291ZktINktoMElvawpXYkhicldUdGE0eHpnS3JW
LzhYWlByTUZiTGN0bi9FSVdjUE5VRjVlaWp5ays3WDJuMWovaVBSUWFERHhjOC9zdjZ3VkM4c3c2
L3JlCm1pZVFjdW9XOUp1T1Y5L0ZkbTMvSXpTWFBNQ2FUZHQ0dGZPUE5PM1l6aHBUSVRQZUZSbnFJ
bmQ1T2p1T25lWlk3blpXUDNBRVAvT0kKejVsZkVBUkJFSVRQR3MwQlNIalVoeHNaOTJWMzlEUHV4
dlZSS1k1WDcrZmtVQVFJMGhPUWtTKzdjVitXa2NmTGViR3paN3FCS3ozOAo4TlhIcUJrSFMzSUJl
Y2tUM3h0MHhxL0RiRk5WUW9xQ29zdyt4eU9raElnYmpRemdCa1pHcjc5UGVzemF2em56Si9DL0h5
NWhyMDNHCjdaWnhsZTduMTFlZll0YnEvenkzTDM1OXpUejVta3J6ZnZ1TUErU1VqQ2R3V2dDRFNW
L2pDK2lmMXY3MTFqeFBPUVhjbjI2T0U3MkYKdjMxMEEwUFgzY201MTAvNzFpNm8yVUZWWitBNjI0
OWYzMmtSUW9vUy8vZXJ5Mno5RC9MZUFUZU9XZy9ObFpXY0dHbkRSam1OWjZlMwpvKy9ORjZraEcv
bnQxMmp1ZDRFN24vL3NVblRINTg0dkNJSWdDTUpuamVZQXhIeEhIcWZ1c2dFMlhFLzEwLy9VS1Fv
U0FXVCtGRkJnClNSb1Z1MXd6MWpuYTlpc21EMDhpSC8yQm93QmtVN1hyTUpXN2g2bTRCZmg0aklp
T3VLYVFsNTJTaEdUTm9xN1RTMk5KRmdhVENaUEIKU3VQRVhKRlFYeXVGZGdsVFVoSkpTUWFrbkNO
NFk0NS9wdU1tREpKRXpzNHNyRG5WS0VEQTIwcmR5Ni9qQnBwZi96bU5EUTNVMVRYUQo1Wi9Ib1o3
U1EyVmhGcElrWVM4OFNQWEJRcXlTUkVtelQ3Ti8ydmtUV0xmbEliWmF3VkZXUzdGTjVtQ0RQSlZh
YTMzTjl2WFUxMXVOCkpFbFlyVllLNjd4WGJYd1lWa0NYK3cxS2N1eElra1JXWVNWZGdXajdQUTJG
U0pLZE9tOEk2R0dmVlVLeVdqa3lVUnM5OWRmYXYxRSsKWHMxMVlTbCttSFd6WEVMNHdoMlA4a1A3
K2huZmhielZXQ1VyZHF1Vkk2MCsraHBMc0ZydFNKS1Z1cXV1eU1SYmYwcEtCazRiNUI4KwpOZThw
VkhQWEYvcGFxN0ZMQmt4SlNSZ2tDYXNrY2FSei90ZGE0dmZmVE81Z1A2ODltVGJSbVFCdVlOblVN
Q2pFYWRkUkxHWFBzU0VCCldHWERhWU5qNzV6VEdkZktMd2lDSUFqQ1o0Mk9lMENNcEppVEFFaE1O
R0ZLdkpuSmM5bVRaOEdEZ1Y0QUtoNzNVSHNiY1BrbFdqK0sKQmhQTXk3RUFVTU9tUXptVW5Eak9y
VjkxNGZuN1BKSjF4TFc3dDRaOW5oYjI0bUxIcG5UMlg5aE9XMGNMenVLbitlTFNCQWkwODhTYQpy
WnkzdWVnZkNSSWM5dUFrbi9Ta0Vud0FnWFllWExPVjh0Vmx0SGw2OGJUVm94eDFJY3NqUklDZy93
Tk8vL1lzQU9mUGRuS21zNVBUCnB6dnhqK29kZ1Bnb1NicURYV2Z1b3FtbGhZSzBEOG5kVXc0RnRU
eDl6eXJOL3VuS0gyaGxUem5zK3NHVDdDb3F3SjMvR2oyVCswWmoKZmMzMnRlb0xHTmQ4QzQ5SFpv
OWRwdm5DdFpjcGJrcUNtdnhjZ3R1S2tEdE9jZGVaWFZpV1AwdVhBcW4zNVpDSG13dWpZV0Exengx
cgpJVStXZWZtOUFYMzkwOXEvRTBMZVgxTUs3SG5zN2xuM1ZOcVRCM2h5d3kwenZqT3UrUmFIcSt5
NFpabnpINGN4SkY1QWx0MlV1YXJZCm5tclVYSDlhTXZjL1V3QTFOWnlkNXdoazd2cjJVYjQxbHp2
clBhaHFtSDdaeFZwZ2xtdDVjNXF0LythVVZVeGVNMnAySGdRYy9PMmQKazkrRUdlcUhGY2JKUzVZ
R1ZxeUdvVEYweHJYekM0SWdDSUx3R2FQcUlEZGxxN3pBek0vUGl0WHVNVlZWMWJEcStuZUx5Z3Vv
anYrdgpRaTM0U1RUdWFKSW4xZzZybm5lZGF2YlBybHIvSjJWcXI2NjRIa0cxeW9icWNMWmRFeGxz
S1ZNQk5YdHZoVnBSVnFhV1ZUalZ2UTVVCnNLaHRJNnJhWForblFwN2FIZHRhZDVOYVhOYWtCcWUr
OGFnT1VKMXk4SnIyTlh2bXFWSUJ0V1ZrK3J1MllsUkxSWWV1L3VuSkg5MEcKaTFyYjBxRzIxQmVy
Z0ZyV05oaXpoRmIvdGVLejF6ZVdYR0ZUTFdVZFYzMDdvanB0cU5tMW51bXZ3aDQxRzlTeXRtRlZW
WU9xMDRKYQoxakc1c2RGY3RvcllkbWJ2bjc3NnFlcmdxV0lWSEdySC9IZWhxcXFxMnQ5U29RSXFv
RmJKdzlmVlJsQ08vaGFjOG9qMnduSEVyKyt3CjZuU2dna010MkZ1c2xsVlVxQlVWVmFvOEhMNnVI
SFBwZHUyTjlyOGpkdnVqKzNkNmZ3VlZWOTcwNzFzN0xnaUNJQWpDNTQydXAyQVoKREFBMnFoN3Bv
T1B4RmpxKzEwdncrZjJzU3dUR1pWNjVJRU9pamZObjhtbE90R0VCWE8wbjhBTWgzM0hTMzJ3aTkv
dGgxSDhPNHZsMgpXYlRSOFhjWUNHckg5UWt6TmdUMmU2elhSc0pqZ0lXdmIxN1ArclEwMHRaOG1h
MjdUM0dxcFlyMVpnaVBqd0lyaUwxRHdiZ3VrLzFGCm1VeWQzMVpHR1FIR0NNL1JCd1Z2Wnl2dFhi
NjQwWTlqem5vSGh2WDNUenQvZ0xkS2ptTEozc3pwbWtwcS9tdVliQnZzZWZHWDAxTjkKdFBxdnVY
MnoxMWV2cGJmRVZEakJ4SzJ4YlFNWEw4NXhXV0NPL3VtcUgvREJleDJUNmE1TDdDMUpmenIvMGZV
MXNqUjZkbjhzdkpqUAptazBtYzI4VHJ2cnZzdllMTjhHbEFVN2s1Mkw1YWNzaTVsQTRXWkxGSFk1
U2F1VmhkbTZNdlRZNWNVVWo1cHNQejhHS213dzY0NElnCkNJSWdmTjVvRGtBaVE2MGMvbjBOTU1U
djVMZDRQeUdOald0VG93Zm5WM3hVdnBLTEMyRGNTazFSbU1adjJJamVnWENBSDlRMzhPR1kKQXJq
WWR2UlpHcjNuR0YyeWJHTEtGUmlXUUZnanJpa1NJdUR2WjFDR2dmNWVBbjQvL3NEMC9QZVZhWGNE
TW4yWFYzTHZndy94NEFOYgpXTTJmT1hhb2dRc2hTUHZtRHFDVVp3NDI0Z3NvQlBxNnFOd3BJVWxI
cHA5WVpMNGRHL0RILytsRlVRSjRXeHZZbDFOSWM4ek4za3BuCkZlbWJ0ckxac3BycW1FY0VHZE1j
T0cyd2ZhV2RnOVYxSE54cFpYczVyTDFKWC8rMDh2dmFqNU12dy80WGZzYmh5a29xRHgvbXgvKzMK
R0dwMjhLWTNvSy8vYzhVMTZnc1JBbjRmL29DZi9rdERjSEVRZjhDUHp4K0lUZ0lLRFhJSk9Pcklw
NjdkaTgvbnBhRWtuM0lzZlBVcgpac0RFZWp1VVZyMkZUMUhvYTMrRFY5MHdOREE0UFlDYW8zKzY2
Z2ZjK1hVN01ETC84VWRFb2F1eGhKVmI4Nm1RUndoNnFpaDFwSk56CnBIWGVUN1FLajBZUHcyOWRO
cDhiOHJYcTIwbnU1dTI0eDlQSUt5cWlhUDhCQ2dxQXN3T0w5TGplRUNmM2ZaM3RCMXdVMUxieGpS
WEQKTkpRVVVqMTFFN21SKzNMM0l1Zi9JODIrRUlIT045amxobWN5MDNYR0JVRVFCRUg0M05HNlJE
THlmdFdNcVZIVFU2dFVWUjJUMWV5WQpXSDMvc05weTNCYXpmSUg2N3RtS2E2ZHZ2V0JSSzk2TlRu
b2FPVGQzWExOL3NuTnFhc3owcDBEdGpwbUIwdDlXcGRwbXhHMXFjVzJMCk9qa1JackNqVm5YRXht
MTVhcE5uNWpTYjdxYXlHVG55aW12Vi9wanBQTUh1Mm9sWXR0cDI5UXlkOEtEYTVDeFc4N0t6MVdK
bnZWcFYKTUhPS2tWYi9aczBmNklqcHQwMXRDNnBxZUVZOXB1dWcxZi9aNHByMURjcHE5alh4aWY2
TXFLcnNkTVNKT2RUNm1HbE13eDIxcWlWTwpHeFVkSTVyOTAxdS9jSGQ5ZEdwYVMrelVORzJ4L2Q5
N3FuOXF5aGVnNXRYcSs0MU84bFJsUjZmN3pXZDJsRVo5NDhjZGFyM24rcVo1CjZjM3Y3SWh0ZjBT
dEw3Qk0xNlhxMm1sNGM4Y0ZRUkFFUWZnOGtWUlZWUmM0aHRFUUluQXhpTWxzSWppcUVMbVNnTm1j
akhHSjN2aGkKaVJBSUtDU1l6SmlOOFI2REZFRUpLSkJnd213Mnhva0RrUkJLQkV4R1kveEhvVVpD
aERBU3Qva3BDcFgySkY3SzZ1RE03bzN6NkorTwovRnAwOUg5QjdldkpId1NUT1U3N0U3RlphNi9a
UDYzNktWUm5KWkg3eFhyQ2xZOStvdS9TaU05SGliU2FockkyemhSbExHckxrVkFJCmpFWUlLZEVh
SnBzL2hlMkRnTjlISkdFNUtjbng5NkZXWEJBRVFSQ0V6NGNiTUFBUlFLRTZKNGxjMlFheUc3RGc2
bTNub1ZSeElIWWoKaFhycU1OMnhnL3JlTUkrbTN0aERkSC9yUGxadVBVdkh5QWsyeG5zTmlTQUln
aUFJd3VlRUdJRGNFQkY2Mm45RmU4OHdpY3R2NSs2TQpyNUdhL0dtY294YjYyazh5OEtWdmtIR0RC
My8renBOMExic1grem94K2hBRVFSQUU0Zk5OREVBRVFSQUVRUkFFUWJoaGREMkdWeEFFClFSQUVR
UkFFWVRHSUFZZ2czQ0NSVUlqUVlyNENSQkFFUVJBRTRhL1FEWnlDRlNFVURFS2lHZU9TQ0tFckNW
Yzk2VW9yL3Zua2E2N20KcDcvNEUzOVhjSURNdjlLYjF2dWFLeW4vUlI4bUU2VGV2NU9kOXRUUFZm
NG9oVXByRXJzMjF4T3NmSlRGM1pNUitqcGJjSjkranpIegplaklmenVUcW4wb2s0T1g0OGJkUmJs
clBkN0l6V1pVd3Y3Z2dDSUlnQ01KaTBid0NFdkkxWVArUkZmc2hlL1JUYWlmTHVZL0c4LzdvCkFs
ZjZPSGpFaXZXUUhmc2hLOWJTUXJxdWVvTjU0SHdET2FVR1RBZVRNUDFZUXZxUkFWTjU1ZFNMM0xU
aW56NC9KWkpFZGMvaXZOcHQKUGd3M1EzbDVLZktRN3RmQ0w1NlFsMEtyaE5WdVJaSnk2SXFBLzJR
SmttVEZicGV3NWxUcjJrZUdtMWZ3NWJWZkl0aFd5a3Z2RG56aQozZjVMeXovSmJBSGJiY3NYK1JH
NUVacExIbUROcG0yODJ2bEhtblpzWjQycEVHL3NUelhVUmU3eWRIWWNPODJ4M08yc2Z1QUlmdVlS
CkZ3UkJFQVJCV0VTYUE1RHdxQTgzTXU3TDd1aG4zSTNybzFJY3I5N1B5YUVJRUtRbklDTmZkdU8r
TENPUGwvTmlaODkwQTFkNitPR3IKajFFekRwYmtBdktTSjc0MzZJeGZoOW1tdW9RVUJVV1pmUTVN
U0FrUk54b1p3QTJNakY1L242NVhTc1lUT0MyQVFmdnQyYUdRZ2pMcgpISjhJSVVXSnYzMlQ2MTlk
SCtOcXZ2TjBIckpieGxiOEdMY2xRUEttTEp3Rk1tNDM3SGhzTTdIUGRKb3QvNnFNUnluYXZadWRq
OXRZCjBJN1Y4RW5uMS9yOXpNM01rNitwTk8rM3p6SUEwZDQvOFFWNTc0QWJSNjJINXNwS1RveTBZ
YU9jeHJPQnFTWDYzbnlSR3JLUjMzNk4KNW40WHVQUDV6eTVGZDF3UUJFRVFCR0V4YVE1QXpIZmtj
ZW91RzJERDlWUS8vVStkb2lBUlFPWlBBUVdXcEZHeHl6VmpuYU50djJMeQo4Q2Z5MFI4NENrQTJW
YnNPVTdsN21JcGJnSS9IaU9pSWF3cDUyU2xKU05ZczZqcTlOSlprWVRDWk1CbXNOUFpGVHdPSCts
b3B0RXVZCmtwSklTaklnNVJ6QkczTjhOUjAzWVpBa2NuWm1UWjNkRDNoYnFYdjVkZHhBOCtzL3A3
R2hnYnE2QnJyOCtnNFZUNVprSWRudFdDVXIKMWQ0STlEVmdsNnpZclJMN0dudTBHeUFNSzZETC9R
WWxPWFlrU1NLcnNKS3V3SFQrUUdjZGRrbkNaRW9peVdUQXZxOXV4aG5zdnRacQo3SklCVTFJU0Jr
bkNLa2tjNlp3dXdPejFNV1Bmdlk4Q3dHcTFrZ3drcEd6Z1Bxc0RITFg4dzBOcHV2SlBHaDNUVmJJ
WUNuVTdyVmp0CmRxeVNuVVpmaEo2Nm5VaVNIYnRWSXFlNmE4SDVleG9La1NRN2RkNFEwTU0rcTRS
a3RYS2syYWVqUHZxRXZOVklrb1RWYXFXd3pudE4KWEd2L3pNMU03bUEvcnoyWk5wRXNnQnRZTmpY
TUNYSGFkUlJMMlhOc1NBQlcyWERhNE5nNzUzVEdCVUVRQkVFUUZwZU9tOUNOcEppVApBRWhNTkdG
S3ZKbkpjL0dUSjV1RGdWNEFLaDczVUhzYmNQa2xXaitLQmhQTXk3RUFVTU9tUXptVW5Eak9yVjkx
NGZuN3ZPZ0JyVVpjCnUzdHIyT2RwWVM4dWRteEtaLytGN2JSMXRPQXNmcG92TGsyQVFEdFByTm5L
ZVp1TC9wRWd3V0VQVHZKSlR5ckJCeEJvNThFMVd5bGYKWFVhYnB4ZFBXejNLVVJleVBFSUVDUG8v
NFBSdnp3SncvbXduWnpvN09YMjZFLytvdmdISXZkL2JTNEhiald6WndRTjNKRURxUFdSYQpaTndy
eW5qYXRrNVhHemNsUVUxK0xzRnRSY2dkcDdqcnpDNHN5NTlsOGlSMThHUElkTHJ3OUE3U0w3c1lL
dDNCNjFNSHNIMlViODNsCnpub1BxaHFtWDNheEZwaTYxcU5WSDFKNXl1bWczSEZzNHFDK2g4TzVM
b3FmLytiVUllN2MrUmZDelBiQ010YTYzY2g1ejJCYmxVRHEKZHdyWml4dTN4Y2svT2U1Y2NQN1Ur
M0xJdzgyRjBUQ3dtdWVPdFpBbnk3ejgzb0RPK21nenJ2a1dIby9NSHJ0TTg0V3JMNk5wN0I4ZAp6
Q21ycHE1RU5Uc1BBZzcrOXM3SmI4SU05Y01LNCtTVkh3TXJWc1BRMUdCTUt5NElnaUFJZ3JDNGRF
NUhOd011dGp1WFQzOTFTekdQCmZDVVppTkQ2WHk4RDBPeDltN1dEQURLdi9NSERRNWtid0x5Vlk5
OTI4aSsvM2tYTjVSb09uS21KcnY5T0diMTdpMGpWaW12MnpVaHEKMnQyc1h3RU9aeHNuZG1ZQWtM
RnhDd0QrMXQvZ0FyS0R2VFQ4MnhGQ3htVmNWQUFhK0VEWlQvRFVLN2pKby91MUlxTERnVlRlNkc3
aQpwLzhCSmlCNXk1TWMzcktSOHpVdXRwZFVzSFBEL0c0Zk5xZG1jS0NsalBLdHRYZ0RSYXpDeXg0
WmFydDNvL2VkZEdNamtGM3I0U2NUClo3azN2TzNoQTBNNlRXZi9sUTBaeVpDWXlJZE4rMG5mSlRN
eG1vT3BBOWdrMGh5dzY3RWZzblR2SnI3OHBXWFlLNnF3clkwbTk3ODMKZDMxV21XSER3N3RoMXpa
KzJWZkV3eU52Y1pROHVyK1dNdDNCT2ZNdlRISmFKaVZWRGx5NUhwUktNSWQ4dkFYVS8vaHAwaVpm
NXJpQQovQWtwZDdIUkFwY0FNTElxN1c2K1pvUEo4Lzk2NnFQSm1FSmFXZ3JodFRhNDVqYWl1ZmZQ
ZlBRMDdtUGJBVGZPam1FeTVsZzljZW5jCjdXakZCVUVRQkVFUUZrTFhZM2dOQmdBYlZZOTAwUEY0
Q3gzZjZ5WDQvSDdXSlFMak1xOWNrQ0hSeHZreitUUW4yckFBcnZZVCtJR1EKN3pqcGJ6YVIrLzB3
Nmo4SDhYeTdMTnJvK0RzTUJMWGorb1FaR3dMN1BkWnJJK0V4d01MWE42OW5mVm9hYVd1K3pOYmRw
empWVXNWNgpNNFRIUjRFVnhONWhZVnlYeWY2aXpPa25GU21qakFCamhPZm9nNEszczVYMnJtdlBp
eWR2K1FGT204eTJ3M1ZVLzJRYlpOZnozWFZYCkQyUm1YeDlnNlMweFBVd3djZXZrMy82VHJONzhH
TXVmcW1Kd0pFand0OTNzalM0MG1aM012VTI0NnIvTDJpL2NCSmNHT0pHZmkrV24KTGJycUEwREtQ
ZFJtUTlteFJ0NThQUjlMMlZPc1M5Q2JmOXJjZDEvTXZ2MGJIam1BalFNMGRQcnByQ3BFenE0bkt6
VmhrZktIR1FNdQpYb3ovZ0FGZDlWbVF1ZmVQUGdvblM3SzR3MUZLclR6TXpvMngxdzRucm1qRWZQ
UGhPVmh4azBGblhCQUVRUkFFWVhGcERrQWlRNjBjCi9uME5NTVR2NUxkNFB5R05qV3RUb3dmblYz
eFV2cEtMQzJEY1NrMVJtTVp2MkpBQk9NQVA2aHY0Y0V3QlhHdzcraXlOM25PTUxsazIKZFpMYXNB
VENHbkZOa1JBQmY5bG54YllBQUNBQVNVUkJWRCtETWd6MDl4THcrL0VIcHFmZnJFeTdHNURwdTd5
U2V4OThpQWNmMk1KcQovc3l4UXcxY0NFSGEvOS9lL1VkWmVkZjNvbi9QQ2lDVFpsQ0NpVzJpVGRL
b2g3aWFtVGFwbHh4L1JHZjhjUlBya2JTTlIyOEM3VUdYCkpGVlhnTnBMSk9zbVZXaGxFYzBLWlBW
NklhMlNKb0JHYUc4bU5ZdmN0bUdVZUN4Um9TY2JHNmdHQXpXTXlCUjJNaE9aZ1ptc2ZmK1kKQVlZ
RVptOENmcTM2ZXEwMUsyUi85dk44djgvbjJYL3M5MzUrdmV2NkpJdnowZHNmVEhlMUw5VmRXN1Bp
aHFZME5kMTE5QTVQTGE5SgplNUovL2JlZDZldXJadnVqNjNMTHpIblowSDMwVi9hK0xTdHp5ZVZY
NW9yVzgzUFA5aGQrbVoyY1Avcjg2bVR4OVptMU5PbGNjczJMCnZoNmZjUG1CdlhrMnlkM1Q1MlRO
WTl2VDNiMDk2eGJOeWRLMDVuZCtveVZEdmM4bFNTNis2RFZweWY1OCsrKy9rTVZKbnQyN2UvakgK
OW9FdG1YWEYxZWs2TkRXejU4L1AvRnR2eTl5NVNaN1lrNEVHK2pOc1lxNysrTEpVYnA2ZTl5OU9G
czI0L0dqNzY0MmZwSy9hazU1cQpUM3FlM1pmS00wOFAvN3Q2YkkvRzdGL0xaZm5jc3VtWmMvbTV1
ZnptU2xaLzZyMUgrbmZxNHpmbjlSM0o0cFVQcGJ1dkw3c2UrM0x1CjdVcjI3ZGw3RXYwWnkxQ3FQ
ZDNwcWZaazk3UDdrbWYycHFmYWsrNmU2dkF4bWpyN3A3NkJQSHpMVzNMMWJaMlp1M3BUM2o1bGY5
WXQKbXBkN2pseEVQakZ2bTdVZ2xUbC9tZzNkQTZsdStYSnU3RW8rZXRVbERkWUJBRTZ6V2gyOVAx
aFp5NmR5NUcvNitzclI0c0ZLYmNhbwoydHJkKzJzYnY5SSs2djF6YTk5NVl0a3h5dy8vdGRhV2Zl
Zko0ZlYvZit4NjNmbFZsdGVTdk9CdmJ1M0p3YVB2MmIxcFphMzltSHA3CmJlSHFqYlhla2ZyZXph
dHIwMGZYMjJmWDFtL2JmOHc0VDY1ZmNzd1lzeGV1cnUzdVAxcnZmM0wxU0cxR2JkT3hpeDZlUlcx
dVVzdkMKUjQ2N0hTZGF2cko4K25HMmIzcHRiZVh3bS9iWFZzOXRQVnFiUHJzMmQvcncvOC90M0Zt
cjlWZHFNNDYzL0xiZUkyUFU2OCt3bmJXRgpyYWxseHNvWHZGNW4vRnB2YlhuN0M4ZFBMWmxkMnpa
cUg5WHRYKyttNFRuT1dGM3JQNlp3NnVQdjM3eTYxdnFpZW1yTE52ZWVSSDlPCjRMajlIMTdIcHQ0
VDFZL2RQeTlsL2NzM2oxNit0N1oyVkk5bXI5ejh3dWJXcVFNQW5ENEZIa1E0a09vei9XbHVhVTcv
Z2I0TVBUOHUKTFMyVFJ6MWtzRjc5ZEJsS3RkcVhjYzB0YVpsNHZFdGZodEpYN1V2R05hZWw1UVRY
ZVF3TnBHOG9hWjQ0OGZnWHp3d05aQ0FUYzd6Vgo5MjFaa1VtWHI4K20zZ2RPZkg3K0dNc2ZHYjgv
YVc1NThmZ0RmZFgwcHptVGp6UDNvWUdCWk9MRVpLQXZmZjFKeStTVzQ4eS9Ybi9HCk50YjREYXV6
L1FQVm5neTJuSk9XNDlSUGVmeVIzcDV3MzU5aWY4WWV1cEg5YytxcVBkMFpHbmQyenBsOC9HMnNW
d2NBT0IwS1BnbjkKbDlPT0IyL1BKOVp1VGUrcVZlbEtzckR6eWR6NnZzYnVmZ1VBQUw5b0JKQ2Zz
cDZ0Ry9LUFcvZGt3b1FKeWFGRE9mdlNkNlhqMG5QcQpMd2dBQUwrQUJCQUFBS0NZaG03REN3QUFj
RG9JSUp3MlF3TURHVGc5engvOG1SZ2FHc2pRS2N6L1ZKZXZ1LzZmY245LzJ2UC96ejQrCkFGQkd3
UUF5bElIK3ZndzhQL0x2NTArMnpuOXVmZm5DdE9ZMGYyemRNYyt2Nk41d1QrYk51eVVQNzJyc3FS
WS9kVU1uK2hML1hQNzYKc3VaYzluOXZlWWtycnJQODBLbHUvL0g3ZS9xTU5mK2g3TnF5SWZlc3VD
c3IxanljNCszS29lcjJyRmx4VjFiYzgzQzZqOVBmZXZWVAo3ejhBOFBPaWJnQVo2RjZYamsrM3Bl
T09qdUcveFIyNVp2a3RlZkNwbnVFM1BMOHJ0OS9WbHJZN090SnhSMXZhRnMvTDFoYzh3Yno2CjFM
ck1YRHcremJkUFN2T2ZONlhwMCtQVHZIVEZrUWY5MWF2LzdQVmtVVk5UN3RueHMvb1NQZGI0QTFr
M3J5MU5UVzNwNkdqTE5iYzgKZUp3dnFQWG1mM3EycjZVMWFYLzEyY2ZjUW5iOHJ5UkxseTVPWlYv
RGo3WC9xYzB2UXpzeWIzeHovbWJiaVQ5WlUwNXRoQk11djMzVgpCOU0wYzgwcGZhYVAxOS9UN2NY
ekg4cUdSZS9PaFplL0kvZHUrZGVzdi83cVhOZzhMOGM4SzNKZ2EyYWRmVW11di8vYnVYL1cxVG4v
CjNYZWxKeWRSSDNOOEFPQVhUZDBBTW5pZ08xMnBwT3U1cnVHL1ExM3AvUEhpVEwvM25YbDQzMUNT
L3V5b1ZsSjVyaXRkejFWU09iUTAKZjdsbHg5RVZQTDhqbjd6My9WbDFLR21kUERleko0KzhQcjdC
K2t0d29sTlZCdnI2MHRkMzRuTThCdm9HY3R6cTBKNTBKZWs5OE5MbgoxSWdUem0vTThjZmx0Mzkv
VVJhMFY5TFZWVW5uNGx2enRSZit4Rnh2L2llNWZjZnZiMHV1dTYrV0RiZDJIUE1GK1p4cEg4enkx
aVRqCm14dGIrU25Ncjk3KzNiN3FFMW1hdVhubkpjZDdFTXRaK2Exckw4MitsenpKc1plZityczNK
cXV1ejhvdDFaZTQvdVAzOTZpaERQVDEKSGYvejI1QVR6YjgvMzcydEs5TlhiOHVHRlN2eVFPK210
R2RwSG56aTZIYnMrdXBmWmxWbXBQSVA5MlhEN3M2a2EwNytibXRmdy9XeAp4d2NBZnRIVURTQXRy
NTJkUjk3UW5xUTluUi9hbmQwZmVpUnpKeVJKSmQrcjlpVm5UTTJ5R3p1UFdlYnVUZitVdzE5UGhu
NzhMN2s3ClNUSWpLMis4TXl0dTJwOWxaeVg1eWNFTU5WQ3ZhMkI3Ym1ocVNsUGJOVm16WlhzZVhI
Uk54amMzcDNsOFd4NGNPVmRrWU5lam1kZlIKbE9aSmt6SnAwdmcwemJ3cjIwZDkvemxhYjg3NHBx
Yk12T0dhdE0yOEozMUpxdHNmelpvdmZDbGRTVFo4NlcveTRMcDFXYk5tWGJiMgpuTVJYdmI0ZFdU
SHZtalExTmFWajN1MjU1L1o1YVd0cXlxSU4zWFhuVjMvOGNibjRyZS9MbFczSjlDV3JzN0M5a3R2
WFZZNE1YVy81CnV1dHZwTC9iNzBsVFUxUGEydG95YjgzMkYyejhZRElsMmRyMTVTeWEyWkdtcHFa
Y00yOUZ0bGFIMTc5ajNidzBOWFZremZhQkpEdHkKUzF0VG10cmFjdGRJYnhycGY3MzlPNnc3OTg3
cVRPdkMzOC9GSnppRThJclhYcHRQZHJ6K21OY2VYblJObWpvNjB0YlVsbnUyRHlXNwoxcVdqcVMw
ZGJVMjU1Y0VkZFpjLzRweHBXZDZlekxuemtaTStoV3JzL2lhN0hyMG5IVTNqMHp4cFVzWTNOYVd0
cVNsM2JUbjVZeTNICm4zOUxadTNkbmZ1dW16b3ltV3E2a3J6OFNBd2F5TGM3NzA3cmtvL24wbkZK
em12UDh2YmsvbTkrdjhGNnZmRUJnRjgwRFZ3RE1qSG4KdEV4S2treVkwSnptQ2IrU3c3OWxILzRW
dkwrNk0wbXk3QVBic3ZyVlNaNzdmQjc5OFhCeFhNdlphVTJTck1ybGQ4ek1vZ2Ura2xmKwpUbWUy
L2ZIc1RHNmdYbjk2RithV2JSdXpJSjI1L3ZKTGN1dlRWMmZUNW8xWnZ2RERlZFdaNDVMcVkvbmdo
VmZtcWZiTzdPN3RULy8rCmJWbWVPYmxrMHFKMEowbjFzYnpud2l1ejlQd2wyYlJ0WjdadFdwdSt1
enRUcWZSbUtFbC96dy96N1c4OGtTUjU2b2t0ZVh6TGxuejcKMjF2U2M2RFJBTktkUlpOZW14c2Zm
MFBXYjl5WXVWTi9sRmszTDAzbXJzNkgzM1JlM2ZrMU5INzEwZHk4TkxueEk5Zmx4dmx6MHpYbgp2
dXc0dkcvcUxGOTMvZlg2bTJUaWhiK2JiZHNxdWJtamtnMVB2L2d3eGNzbUphdm16RXIvTythbnN2
bVJ2T0h4RzlONjlzZXl0Uys1CjRHMHpNenRkZWZyQVlKTHo4L0g3TjJaMnBaSXZmSGRQWS9PcnQz
OUhER3ovV2hZbnVmbjlienpobnBwNjNXMjU3dEt6am5udHpYKzQKSUhPN3VsSnB2VDd2ZnUyNDVJ
STM1YXJXU3JxbUxNbUgyeSt1dS94UmsvUE9qODVOVnEzS0V5ZVpRTWJ1NzY0c3ZYSldYcmQyVzJx
MQp3ZXl1ZE9haUpDYzRsamVtRTgyLzVaenpjdmlZMFlibHR5ZVpudDk2M2VGWEJyTnZkekpsNHVG
RGx1TXo1ZnhrMzhFMFdLOC9QZ0R3CkM2YldnTXI2R2JWOEtzZitmVzVoN2NtRHRWcXRObGpyL092
V1dqNlYydlQvZDFsdDdtZUc2OVBYVjBhV0hxeHQrODd5Mm96UHZXRDUKenl5cDdXeW8zb2orMnNy
MjFLWXYzL1NpeXQ2TlMycEphak1XTEtzdFc3S2t0bVRaOHRxQzZha2xyYlZOdmJYYWsydG4xNUxa
dFNkSApyKzNKOWJXRlM5Ylgrbys4c3EwMlBha3RyL1MvYVAxMVo3WnRaUzFKYldQdjBkYzJMVXl0
ZGRubWh1Ylh5UGpEMjlCYVc3MXhjMjNqCjJvVzFKTFVsbS9hT2VrZTkrZGVybjdpL28xV1d0ZGRh
bDJ4K3dhdTl0ZVh0cWMxWXZlM29TNFBiYWpPUzJwSk4rMnUxV245dGVXdHEKU3pZZjN0amhzZHFY
alY3UGllZlhXUDlxdGIyUExLd2wwMnViVDM0WDF2WnZYRkpMV211UDdLM1ZhbnNmcVNXcHJYN3lK
WHdXS3NPZgpoZVdWM3ZwdlBvN2o5M2QvYmZuMDFKTHB0YmtMRnRhV0xGdFdXN1pzWmEyeWYvQWxq
VEdXSnpzWERNOS84LzVScnc3djM2UDdxNy9XCk9mdm81N3QrSFFENFpkUFE5YXpqeHlkSmUxYit3
ZWZTT3U0bnljdCtQVys0NklKTVRKSkRsWHp4NlVveW9UMVBQVDRuVDUzVm50WkQKWGVsODdJSDBY
SFZwV3JxL2trdSt1ajZQZkh3dzkwMFp5dmJOZCtXU3I5NmNIUHBtOXZRbnI2cU9YYitnb1VzSEJu
TndYOUx4cHJZWApWd1lQSm1uTlc2NTRmUzdJb1J4S011R21SL0xPVDd3aXIyOUpmbnpvUUpMWFpQ
UXdFeSsrS3JmT0gvVkMzNEgwSmptWXdXUjRxNCtqCkw5dTMvSzg4Ty83aVRMdjB2QmRWZnpLUUhQ
NFp1Ym8veWNzYm0xLzk4YXQ1YU5IZGFaMHhPOTlldFNKZlAvUE16R2hQYnY3TGY4eE4KMDY0YmZu
ZTkrZGZkdmhQM3QxRm5ualdxdytPYTg4clI2MDd5ekRPakduUVM4MnVvZjBsKytOM05oNGM3OFM0
OGdjbHYvVWlXdDkrYwpkOXk1Sml2N3IwOW1yTTEvdi9na1Y1SWtadzcvdW45dzhIVGVhM1p5cmxx
d1BwMHo5bWZuRDU3T3dMTjc4c0J0Y3pKbno2K245cG1PCjB6UkdYeDVlTkROWDM5YVoxWlg5dWU3
UzBjY21SNDVvakhybFI5OVBwbHcydnNFNkFQRExwdTRwV0VQN0hzMmQzMXFWWkYvK3VmSlEKZmpC
dWFpNDdIRDZlNzg2S0w4NUtaNUljYXN1cStZTjU4TzN0R2I0QzRiWjhaTzI2L09oZ1g1TE92T1B1
aitYQjdkL1BnVE5lUG5MSwpWVEwrakdTd1RyMnVvWUZVZTNabmJ5WFpzM3RucWowOTZha2VQZi85
M0tsdlRGTEpydWZPelp2Zjg3Njg1OTF2emZuNTk5eC94N284ClBaQk1mZGYxU1Jibm83Yy9tTzVx
WDZxN3RtYkZEVTFwYXJycjZCMkxXbDZUOWlULyttODcwOWRYemZaSDErV1dtZk95WWRURjNuMWIK
VnVhU3k2L01GYTNuNTU1UnR3aWFPSFY2bHJjblY1L2JrZHZ2V1pQYmIyakwxVXVUaTE3VzJQenFq
ZC85MkZjeXA1TGMrcW5QNWM0VgpLN0xpemp2ejUvL1h3bVRWOWZucTltcGo4eCtyWHFlL3lWQ3FQ
ZDNwcWZaazk3UDdrbWYycHFmYWsrNmU2dkJKUUFONzgyeVN1NmZQCnlackh0cWU3ZTN2V0xacVRw
V25ONy94R1M1TG12TDRqV2J6eW9YVDM5V1hYWTEvT3ZWM0p2ajE3ajE0ck1jYjhHdXBma3RlOXBT
TkoKYndZYitFaTkyT1Q4MGVkWEo0dXZ6NnlsU2VlU2ExN1NuYWdHRHd4L0RYL2x5MC9tZ3Z4Ni9k
MlNXVmRjbmE1RFV6TjcvdnpNdi9XMgp6SjJiNUlrOXArbDJ2UU41K0phMzVPcmJPak4zOWFhOGZj
cityRnMwTC9jY3VZaDhZdDQyYTBFcWMvNDBHN29IVXQzeTVkellsWHowCnFrc2FyQU1BdjNUcUhT
THAvY0hLWTA2Tk9ucHFWYTFXTzFpcHpSaFZXN3Q3ZjIzalY5cEh2WDl1N1R0UExIdng2VnVmYXEw
dCs4N3cKU1UrOTN4KzdYbmQrbGVXMUpDLzRtMXQ3Y3RRWktMczNyYXkxSDFOdnJ5MWN2YkYyK0VT
WXZadFgxNmFQcnJmUHJxM2Z0ditZY1o1Ywp2K1NZTVdZdlhGM2JQZW9zblA0blY0L1VadFEySGJ0
b3JUYTR0N1orK2NMYTdCa3phZ3VYcjYydG5IdnNLVWIxNW5mQzhhdWJSODI3CnZiYXB2MVliUEtZ
ZlIvdFFiLzRucXRmdGIzK2xOdU5GOVpINTlOWnFsZVhUajFPYlhsdGJPZHFrL1p0WDExcVBzNDVs
bTN2cnpxL1IKL2cwK3VYYjQxTFNObzA5Tk94bTdhM09UV2hZKzhoS1hyOVcyclp3eGZMcmZ5Wndk
VmFlL3g2OVByNjNkOXRKTzgycDAvT1diUjYrLwp0N1oyYnV2UmZiUHl4YWZoalYwSEFINlpOTlZx
dGRwcHlERmpHRWoxbWY0MHR6U24vMEJmaHA0Zmw1YVd5Wmw0UnFQMTAyVW8xV3BmCnhqVzNwR1hp
OFg2L0hrcGZ0UzhaMTV5V2xoT2NYak0wa0w2aHBIbml4T1AvQWo0MGtJRk16SEZYZjBSZlZuUk15
dWV2Mlp6SGI3cnMKSk9iWHdQajFOREQvVTFwL0krUDNKODB0eDFuL1NPMkV2YTg3djNyOTY4czkx
MHpLckZldHplQ0thMDk2Ky9xMnJNaWt5OWRuVSs4RAptWGFDTThYRzFwMUZUZWRuM1pKTmVYeit0
SmV5Z2hNYUdoaElKazVNQnZxR2V6aTU1YWY2ckpBVHFmWjBaMmpjMlRsbjh2SDNZYjA2CkFQRExv
VUFBSWVuTFBUTW5aVmFsUGFsMEpXbE41ODdIOHI0TGZCRXJhV0RIbWpTLzl2cXMzVG1ZYXk5bzdD
djZqZ2R2enlmV2JrM3YKcWxYcFNyS3c4OG5jK3I2TDZ5NzNRajJQM3BKenIzd2ltM3NmeUdVdktj
QUFBUHhpRUVDS0dNcU94LzRwaiszWW53bG52eVp2blBaZgpjOEhrbjhWdjFPeDY3T0hzK2RXM1ox
cUQ0YTluNjRiODQ5WTltVEJoUW5Mb1VNNis5RjNwdVBTY2t4NjNaOHZEMmZyeU42ZmpZdWtECkFQ
amxKb0FBQUFERk5QQWdRZ0FBZ05OREFJRUdEUTBNWk9CMFBzSURBT0NYVU1GVHNJWXkwTitmVEdq
SnhET0dNdkQ4dUJmYzZhcGUKbmVyMlIzUGYydlY1YW45L3pwNzYzekwzaG80VFBicnZHTHMyck1q
U3Y5K1Y1dWJrZ25mZWtCczZMamlwK2krUzdnMHI4dG0vMzVWZgplK1AwL01sMTAwN2libEY5V2RF
MktUZGVzVGI5SzY0OTJXY1pBZ0F3b3U0UmtJSHVkZW40ZEZzNjd1Z1kvbHZja1d1VzM1SUhuK29a
CmZzUHp1M0w3WFcxcHU2TWpIWGUwcFczeHZHenRQM1lkMWFmV1plYmk4V20rZlZLYS83d3BUWjhl
bithbEs0NDg2SzllbldSbzE0TTUKKzVJcjg0WHZKV2MzSjkvYjh2MzBOZmhyL1BoZm1aSmZ1K2hY
MDc5cGNUNy9uVDBuWFIvTGpuWHowdFRVbG82T3RqUTFOYVdwcVMwego1OTJWeDNhZG5zZmduVzdq
WHpFbFR5MWRuSnVYUEhiU242K1cxcVQ5MVdmL0ZHNXgyNU5GVFUyNVo4ZC96cDRCQUp4T2RiOUxE
UjdvClRsY3F5WE9qWHZ4eFZ6cnZmU2pyUDc0NVY3MmlQenVxbFpHbm55ZEpKWCs1NWVOWjhlYVJX
NVUrdnlPZnZQZjlXWldrZGZMY1hKR2wKdWJ1YVpId2FxemRzS0FOOS9Sblg4dEtmZ1REUU41Qnh4
M3RHUmNQMXZneW1PUzB0eDMvT3lOanpxMVB2LzFHU0pmbkdmZk1iT3VveAoybm5UcnMzOGFjbjJs
ejJRRGMrK3VMSDE2bU01KzdkL1A4dm1QcDQ1UzgvUHlyVzNaa0wzbGx3L1owNVdMZDJUbllPZnll
aTczUTRNCmpQUm43QWVsWkdoZ0lFUGpYdmc4bGZyN2QreitEenZuc211emJQWDBkQzU1MlVsK1Rs
cHkzWDIxWEhmaVdiLzB6OS9Rbm5RbHVlWkEKZzI4L2JuL3FhNlEvQUFBL2JYV1BnTFM4ZG5ZZWVV
TjdrdlowZm1oM2RuL29rY3lka0NTVmZLL2FsNXd4TmN0dTdEeG1tYnMzL1ZPcQpJLzhlK3ZHLzVP
NGt5WXlzdlBIT3JMaHBmNWFkbGVRbkJ6UFVRTDBSdXg2OUp4MU40OU04YVZMR056V2xyYWtwZDIw
Wi9uMTcrQmY2CmpxelpQcEJrUjI1cGEwcFRXMXZ1MnRCOVpQbUJYWTltWGtkVG1pYzFaM3hUVTJi
ZWNFM2FadDV6NUJmeXh1dVRNbW5TK0RUTnZDdmIKK3hxYlgvMzZRRGJjZFVzKzloZjNKM2s0dDkx
eVMrYmRjRVB1ZW5oSHc5dDMySUdEWS9meGVQV0hGMTJUcG82T3REVzE1Wjd0UThtdQpkZWxvYWt0
SFcxTnVlWEJISmwvODFuejBoZzhrZVVzK2VPMjF1ZTZtejZTM3NqTEpwdXdaT1JKVzNiSW1IVTFO
YVc2ZWxFbk40OU54Cnk1cjBIR24rOXR6UTFKU210bXV5WnN2MlBMam9tb3h2Yms3eitMWThPSElV
cFY3LzZ2Vi9vUHV4M0g1RFI1cWFtbkxOdkVWWit0ZWQKeVpTeGV6SGF3UFo3MHRUVWxMYTJ0c3hi
cy8xRjlYcnpHMHQxKzZOWjg0VXZwU3ZKaGkvOVRSNWN0eTVyMXF6TDFwNmhodnB6Y3Avdgo0L2NI
QUtDa0JpNUNuNWh6V2lZbFNTWk1hRTd6aEY5Sjgwamw4QVc1L2RXZFNaSmxIOWlXMWE5Tzh0em44
K2lQaDR2aldzNU9hNUprClZTNi9ZMllXUGZDVnZQSjNPclB0ajJkbmNnUDErblpsNlpXejhycTEy
MUtyRFdaM3BUTVhKUmtZaVM4WHZHMW1acWNyVHg4WVRISisKUG43L3hzeXVWUEtGNzQ2Y2FsUjlM
Tys1OE1vc1BYOUpObTNibVcyYjFxYnY3czVVS3IzRGEyaWcvc0VMcjh4VDdaM1ozZHVmL3YzYgpz
anh6Y3Nta1JlbHVZSDcxNitOeTNtOWVrY3RlUHluSitXbTc3TEs4K1cxdnkyK2VQNm14N1R0RmIv
N0RCWm5iMVpWSzYvVjU5MnZICkpSZThLVmUxVnRJMVpVayszRDU4bEt0LzhHQkdkdUlvKzQ3OHEv
OG55VlhMTzdOdDU5N3NyblJtMytMcjg2WERYOUFuWHBoYnRtM00KZ25UbStzc3Z5YTFQWDUxTm16
ZG0rY0lQNTFWbmpxdmZuM3I5cno2Vzk1eC9SVzQrY0UwMmJ0NmNEMDE5T2t1N2treHF2QWNUTC96
ZApiTnRXeWMwZGxXeDQrb1dIS2VydHY3SDE5L3d3My83R0UwbVNwNTdZa3NlM2JNbTN2NzBsUFFl
R0d1cFBJNS92c1QrZkFBQmxOWGd1ClJrdVN6bHk5L095akw1MjFNSC93RzVPVERPWFIvL21GSk1t
RzdmK1FpL1ltU1NWZi9KZHRlZDlWbHlZdFYrYis5eTdQWDN6dHhxeDYKYmxWdWUzelY4UExmWEpL
ZEMrYm5nbnIxdW5PYmxLblRreHZmLzhtY3VlRHkvTnF2dmp3ZHkxYW0vYUxoRTVYR25mT0dYTmFh
UEpzawptWmp6cHI0eC83VTkrZjdJMGpzZStXSzZNanRQM2pjL3cxK25MOGlYbjF5ZnovNXQwdHhB
dmVlN1gwOW5raG45TzdQdS83a3JBeE5mCm5tZjZrbVJkZnRoM2E4NXJHWHQrOWVhZmpNdlVqdmZs
dGVmdHpJMjN2U3dmdlBiWUM2RHJiZCtwYXJsZ1dtN2J1Q1JMcjF5ZDdkWDUKT1MvYmMzTWxXZjNr
VFRuNlRMMlhKWlViODU1cjFpZFBkYWFya2t4ZnVENXRoK3NUSnVSSDYyL05KVGRXUmdXVncxL1FK
K2FDcVcvTQo2NmNrMDVkdnlnTTNURXVTVEx2c3JRMzFwMTcvZXpzWHB5c0xzdnUrbTNKZWtseTJJ
cHVlL1g2dVdIMFNUWmg0VHFaT1BTZURGN1VuCkw3cE1vOTcrRzl0NWI3MHVkNzcxc2p5MXFqTlhM
MXFXR3k1OTRlWHQ5Zm96OXY2di8vazhpVDRBQUp3R0RRV1E4ZU9UcEQwci8rQnoKYVIzM2srUmx2
NTQzWEhUQjhCZmhRNVY4OGVsS01xRTlUejArSjArZDFaN1dRMTNwZk95QjlGeDFhVnE2djVKTHZy
bytqM3g4TVBkTgpHY3IyelhmbGtxL2VuQno2WnZiMEo2K3FqbDIvb0huc3VTV1RjOVdDOWVtY3NU
ODdmL0IwQnA3ZGt3ZHVtNU01ZTM0OXRjOTBKQm5NCndTVFBQRE9RSE9mcWljRkRCNUs4SnFPSG1Y
anhWYmwxZm1QMS9ZTUhrN1RtTFZlOFBoZmtVQTRsbVhEVEkzbm5KMTZSMTdjME1yOTYKOVdGRGcw
bHlNSVBKQys3QU5QYjJqVmJ2Nm80VDFTZS85U05aM241ejNuSG5tcXpzdno2WnNUYi8vZUtKbzVZ
N21HUkJGdC94NGJ4OAo4STVNZXRYNU9XL3lTTDNuNFp4L3hmdXpzSE56OXQ3M2hyUmtkeFpPZW0y
Ty9lZ041dUMrcE9OTmJjY2JmY3orRE5icC85TUhrNlQ1Cm1QMTM1c3ZyTk9La05MYi94dFIzSUww
NS90NGRObFovNm55KzYzNCtBUURLcW5zSzF0QytSM1BudDFZbDJaZC9yanlVSDR5Ym1zc08KaDQv
bnU3UGlpN1BTbVNTSDJySnEvbUFlZkh2N3lBWHB0K1VqYTlmbFJ3ZjdrblRtSFhkL0xBOXUvMzRP
blBIeUl6K0NqejhqR2F4VApyMnRnUzJaZGNYVzZEazNON1Buek0vL1cyekozYnBJbjlvejhXTjJj
MTNja2kxYytsTzYrdnV4NjdNdTV0eXZadDJkdkJwSk1mZGYxClNSYm5vN2MvbU81cVg2cTd0bWJG
RFUxcGFyb3JmUTNVejUzNnhpU1Y3SHJ1M0x6NVBlL0xlOTc5MXB5ZmY4LzlkNnpMMHdNTnpLL3UK
L0pPK2FqVTdkKzlKOG14MjkvU2t1N3M3ZlVkK2lSOTcrNGFYNzBsUHRTYzl6KzVMNVptbmgvOWRQ
ZnBUZnIxNk1qbC85UG5WeWVMcgpNMnRwMHJua21xUHhZV2hnWkc3TmVlWFo1K1pWNTQ4S0gwbUdl
b2Z2WG5EeFJhOUpTL2JuMjMvL2hTeE84dXplM2NQekd4cEl0V2QzCjlsYVNQYnQzcHRyVGs1N3E2
QXM0eHU1UHZmNWYrS1pya3R5V1Q2N1lrTzVxTmRzZlhaRVpOM1lsMlp1OURkMTBhaWpWbnU3MFZI
dXkKKzlsOXlUTjcwMVB0U1hkUGRmZ1lUZ1A3cjY2VzE2UTl5Yi8rMjg3MDlWV3ovZEYxdVdYbXZH
em9IcXJmbnpyN3YrN25Fd0NndEZvZAp2VDlZV2N1bmN1UnYrdnJLMGVMQlNtM0dxTnJhM2Z0ckc3
L1NQdXI5YzJ2ZmVXTFpNY3NQLzdYV2xuM255ZUgxZjMvc2VsMzlsZHFNCnBKWmovcWJYMW03clBm
S1cvWnRYMTFwZjlKN1VsbTBlZnMvZXphdHIwMGZYMm1mWDFtL2JmMlQ1ZXZYZG0xYlcybzlaZDN0
dDRlcU4KdGQ1RzVsZDMvcjIxbGROZlBQZlphNC8yWit6dDY2MHRiMzl4TFpsZDJ6WllhNkIrWkN0
cmM1TmFGajV5VFBzcnk2Y2Z1MXo3OGxydgpNZS9ZWDFzOXQvVm9mZnJzMnR6cHcvOC90M05ucmJl
eS9EaGp6NjA5ZVhqc0J2YnZtUDJ2MVdyYjFpNGNWV3M5OHQ3MlpadGY0dWRyCmVJeE52WTNOcnhG
UHJsOXk3UDVkdUxxMnU3OVd2eisxK3AvdmV2MEJBQ2lwd0lNSUIxSjlwai9OTGMzcFA5Q1hvZWZI
cGFWbDhxaUgKRE5hcjF6YzBNSkJNbkpnTTlLV3ZQMm1aZkp4Ym9RNE5ETmRhVHZRSXVhSDBWZnVT
Y2MwbmVFLzllclhhbDNITkxTKzZ6V3k5K1RVMAovM3JxYnQrcDZkdXlJcE11WDU5TnZROWsya3M0
ZFdlZ3I1citOR2Z5UzVoZlkvMDVjZjlISnBCcWY5STh1ZVcwUDBUd3RPeS80UldsCmJ5aHBubmpp
V3oyUHVXeWR6L2VZL1FFQUtLVGdrOUQ1ZWJUandkdnppYlZiMDd0cVZicVNMT3g4TXJlKzcrS2Y5
YlFBQVBnNUpZQXcKcHA2dEcvS1BXL2Rrd29RSnlhRkRPZnZTZDZYajBuTisxdE1DQU9EbmxBQUNB
QUFVMDhDRENBRUFBRTRQQVFRQUFDaEdBQUVBQUlvUgpRQUFBZ0dJRUVBQUFvQmdCQkFBQUtFWUFB
UUFBaWhGQUFBQ0FZZ1FRQUFDZ0dBRUVBQUFvUmdBQkFBQ0tFVUFBQUlCaUJCQUFBS0FZCkFRUUFB
Q2hHQUFFQUFJb1JRQUFBZ0dJRUVBQUFvSmlDQVdRb0EvMTlHWGgrNU4vUG4vNFJCdnI3TW5Cb2FI
aTBRd1BIcmZmMXYvaDEKQUFDZ2pISDEzckQ5Ni9OeXlkYzJwSDNDbE96THZwRlhweVNIOXVXajEz
OHQ3L3p4Wi9QYWpRK2xmY0tVVVV2dFM5ZWhqbFRtM3BsTAptNVBxVSt0eTA1ZmZuMVdIUnIzbHJP
WHAvY1FOMlYxbi9UZThkbkxkalJoNlprc1czenNydDFVclNaTFdDVW5sVUhzMnpkK1FhYzFKClgv
ZkQrZE8vdVRwM2o0emYrcW9sV1hYOS9GeDY1bzRzV3ZyN1dYY291ZUszNzg2S3E2WWxxV2JOdmJP
eVpIZG5wcHkvTnZlL00vbkEKWHkxS3poclp2a1BKcE1sWDVFUC8rN3k4NzZLV1BMam1nN2wxVjIr
bVRFajJIZXBLeDVYYmN1ZWJweDZaMjQ3L2VjdVkvUm4vclZQdgpMd0FBL0x5b0cwQUcrLzhqU1NW
ZGgxNWN1My83VTNsak5pV0hqbGUvS0FlUzVQa2QrZVM5NzgrcUpLMlQ1K2FLTE0zZDFTVGpHMXQv
Ci9RQ3lLN2N0dXp5TFI3MVNPWlFrazRiL3AzOUxadjdWMWVrY1hmL3h6V245eTRuWis0bTNwT3U1
U2lwSktvOTlNZlBlTlMxVG4zazAKMXo4MTh1N2QzUms0a0hTbGtqdzNhZ1UvN2tybnZROWwvY2Uv
bmgvdDZod2ViMlQrVTZvSGpwbmRzOVd4KzNQbXFmWVhBQUIranRRNQpCV3NvVCsxZGxVeFlrbTBm
V3AvMkpEbHJTYlo5NUpGTXovQlgvTXV1WHBrbFp5VTVhMWwyejkrZFI5NjdNWnZldXpESlU4TnIr
UEcvCjVPNGt5WXlzdlBIT3JMaHBmNWFkbGVRbkJ6UFV3UHJyNmQ2OFlqaDhuTFVnbStjTXB2Wm52
ZWw4WFd1UzRZeXo0MXNyaHNQSGhBV3AKL0VsLzluK2tNOU9UaEc5dU1RQUFETEZKUkVGVTVOQ2Mv
TjIvWDVTVlY4MGRXZFBkK2ZxLzkyWFg5b2RHL3I4MW5SK2FuZGU4ZG5ZZQplVU43a3ZaMGZtaDNk
bi9va2N5ZGtDU1ZmSzlheTRjL3NUZHJMeG9lYjhFN042Zno2c3VPbWQvWS9UbjEvZ0lBd00rVHVn
SGswSUVrCkU4N05oZWRkbVBPVFpQeTV1ZkM4ODVJa3ZlT1NuSEYyemgyZjVMbHY1d3RmL1hUZThk
VXI4L1doTjJmdDI1ZmtOUk9TY1MxblovanIKK2FwY2ZzZk1MSHJnSzNubDczUm0yeC9QenVSRzFs
L0hEMy80UkpKazdsdHV5R1d2R0pla0plLzd2VlZaOW9ack1tVkNYeDdkTmh4LwpsdnplLzVsTFd5
Wm04bm52eTZKcE01SU1IMkY0MWJsdFI5YTEvanQvbTg3dGQ0LzhYMnRlUFhsaWtvazVwMlU0Q2sy
WTBKem1DYitTCncyYzlEUXdsNHlhY2svOXkvdkFXWG5EZTY5Snl4Z3NtT0daL1RyMi9BQUR3ODZU
T1YveUp1ZlpEdmRtZmxreDhma3Y2a2lRSE01aXAKK2ZLZjdNL2dtWk9Ua1ZlVFZibnRpWkdscHZ4
MnJqMTg2bFRMbGJuL3ZjdnpGMSs3TWF1ZVc1WGJIbDgxL1BvM2wyVG5ndmtOckg4cwpBL25odnVI
VHBhWk9PZnZveTgyWDVxYjNYem84dDVGVGwxNytzaGR2NnFRa2d6bVlKSm4rcXVucGZHSldPdE9h
SmROK056Yy90aWsvCk9aaGtRcEswSk9uTTFjdEhqWEhXd3Z6QmI0ek1iM0Q0UHdlZkh6b3lyNjMv
Nng5eTROeTNadHA1aDhjOWZuOU91YjhBQVBCenBQNWQKc0NhMFpQS0VKR2VNVDB1UzVHVVpuMlJp
eStTUlgvdEhMdWFZdkRxRGY3WTNhNmV0em04L2QxK2FQdDJSTGYzSlFQZFhjc2xYMTJmVwoveGhN
N2MvNnMrMjlTNGJmZitpYjJkUGZ5UHJITWpILzVmeVJveG5mZldMVTYwUFo5Y01kcVI1cXlhKy9j
dmpveERkK3NQTkk3YW45CnU1TWtMUzFuSmdlZlRkS2FENzN6RTVtZEpHZk55NHpXMzB6U2xTZitZ
L2lPV2VQSEowbDdWdjdCNW16K3dNWnMvc09kNmYvRXJibDQKNUFqRStKRVd2T3lNa1dNanozOC9j
enFuWi9hM3ZsZTNQNmZhWHdBQStIblN3RWxPQTNuMGtjL203M1p1enFva3FkNmJCZmMrbnFtdApj
M1BEYjEyUTd1LytUZTZzSnNsWHN2aUIvOGk1RTErV0gxUTI1UEFWSElNSCs1SjA1aDEzZnl5ZHYv
Znh2UHFNbDZjMVNTWEorRFBxCnI3K2VTNitZbGZiSFZxWHI4U3N5YzNCNXBwK2IvT04zYnN6ZHp5
VUxQN0EvQzk2eEtQbis5S3o2Um12TzdGdWVpM3Z2ejgxUGRTV1oKbmZtWEhzaHRLMjVPa2p5MC9T
ZTU1ZU83OCtkbjlPZWh2LzFJa3VUK0RWL08xZi90NHR6NXJWVkpXdlBQbFlkeTF2OTJZNjY5Nkp3
agp2WG5za2M5bThiZUdqK3JjLy84dHlONHBaeWY5MzB0WGt1bmp4dGZ0ejZuMkZ3QUFmcDQwMVdx
MTJ0aHY2Y3M5eXlkbDFvK1BmWFg2CnRNMTU0S3JMc3ZXUm1Xbjl4cXJqTERjam0rZmZsOWZ0dml1
VFZzOTVRYTAxeTk3N2Q3bnA4b3ZycnI4Ukw3ek5icExNZU1QcUxQbjkKNjNMZUdjTzNBWjUxNy91
UDNnbnJyTG5aK0Q4K216Y2VmQ0ROZi9YKzRkY21MTXpPQmJmbWdrTmJNM054NjNBWXlJeHMrai9l
a1N1KwpOR3ZVdkNwNTRLcExqL2JtcmttWlZUMyt2R1pNcTJUKytOdkg3TTlsemFmVzM4dmNoaGNB
Z0o4akRRU1FVeldRNmpQOWFXNXBUditCCnZndzlQeTR0TFpNenNlN3BWU2RyS05WbnFobkt1Qk9j
dmpXUTZqTjlHY3E0VEg3RjVFWU8vUUFBQUtkWmdRQUNBQUF3clA1RjZBQUEKQUtlSkFBSUFBQlFq
Z0FBQUFNVUlJQUFBUURFQ0NBQUFVSXdBQWdBQUZDT0FBQUFBeFFnZ0FBQkFNUUlJQUFCUWpBQUNB
QUFVSTRBQQpBQURGQ0NBQUFFQXhBZ2dBQUZDTUFBSUFBQlFqZ0FBQUFNVUlJQUFBUURFQ0NBQUFV
SXdBQWdBQUZDT0FBQUFBeFFnZ0FBQkFNUUlJCkFBQlFqQUFDQUFBVUk0QUFBQURGQ0NBQUFFQXhB
Z2dBQUZDTUFBSUFBQlFqZ0FBQUFNVUlJQUFBUURFQ0NBQUFVSXdBQWdBQUZDT0EKQUFBQXhRZ2dB
QUJBTVFJSUFBQlFqQUFDQUFBVUk0QUFBQURGQ0NBQUFFQXhBZ2dBQUZDTUFBSUFBQlFqZ0FBQUFN
VUlJQUFBUURFQwpDQUFBVUl3QUFnQUFGQ09BQUFBQXhRZ2dBQUJBTVFJSUFBQlFqQUFDQUFBVUk0
QUFBQURGQ0NBQUFFQXhBZ2dBQUZDTUFBSUFBQlFqCmdBQUFBTVVJSUFBQVFERUNDQUFBVUl3QUFn
QUFGQ09BQUFBQXhRZ2dBQUJBTVFJSUFBQlFqQUFDQUFBVUk0QUFBQURGQ0NBQUFFQXgKQWdnQUFG
Q01BQUlBQUJRamdBQUFBTVVJSUFBQVFERUNDQUFBVUl3QUFnQUFGQ09BQUFBQXhRZ2dBQUJBTVFJ
SUFBQlFqQUFDQUFBVQpJNEFBQUFERkNDQUFBRUF4QWdnQUFGQ01BQUlBQUJRamdBQUFBTVVJSUFB
QVFERUNDQUFBVUl3QUFnQUFGQ09BQUFBQXhRZ2dBQUJBCk1RSUlBQUJRakFBQ0FBQVVJNEFBQUFE
RkNDQUFBRUF4QWdnQUFGQ01BQUlBQUJRamdBQUFBTVVJSUFBQVFERUNDQUFBVUl3QUFnQUEKRkNP
QUFBQUF4UWdnQUFCQU1RSUlBQUJRakFBQ0FBQVVJNEFBQUFERkNDQUFBRUF4QWdnQUFGQ01BQUlB
QUJRamdBQUFBTVVJSUFBQQpRREVDQ0FBQVVJd0FBZ0FBRkNPQUFBQUF4UWdnQUFCQU1RSUlBQUJR
akFBQ0FBQVVJNEFBQUFERkNDQUFBRUF4QWdnQUFGQ01BQUlBCkFCUWpnQUFBQU1VSUlBQUFRREVD
Q0FBQVVJd0FBZ0FBRkNPQUFBQUF4UWdnQUFCQU1RSUlBQUJRakFBQ0FBQVVJNEFBQUFERkNDQUEK
QUVBeEFnZ0FBRkNNQUFJQUFCUWpnQUFBQU1VSUlBQUFRREVDQ0FBQVVJd0FBZ0FBRkNPQUFBQUF4
UWdnQUFCQU1RSUlBQUJRakFBQwpBQUFVSTRBQUFBREZDQ0FBQUVBeEFnZ0FBRkNNQUFJQUFCUWpn
QUFBQU1VSUlBQUFRREVDQ0FBQVVJd0FBZ0FBRkNPQUFBQUF4UWdnCkFBQkFNUUlJQUFCUWpBQUNB
QUFVSTRBQUFBREZDQ0FBQUVBeEFnZ0FBRkNNQUFJQUFCUWpnQUFBQU1VSUlBQUFRREVDQ0FBQVVJ
d0EKQWdBQUZDT0FBQUFBeFFnZ0FBQkFNUUlJQUFCUWpBQUNBQUFVSTRBQUFBREZDQ0FBQUVBeEFn
Z0FBRkNNQUFJQUFCUWpnQUFBQU1VSQpJQUFBUURFQ0NBQUFVSXdBQWdBQUZDT0FBQUFBeFFnZ0FB
QkFNUUlJQUFCUWpBQUNBQUFVSTRBQUFBREZDQ0FBQUVBeEFnZ0FBRkNNCkFBSUFBQlFqZ0FBQUFN
VUlJQUFBUURFQ0NBQUFVSXdBQWdBQUZDT0FBQUFBeFFnZ0FBQkFNUUlJQUFCUWpBQUNBQUFVSTRB
QUFBREYKQ0NBQUFFQXhBZ2dBQUZDTUFBSUFBQlFqZ0FBQUFNVUlJQUFBUURFQ0NBQUFVSXdBQWdB
QUZDT0FBQUFBeFFnZ0FBQkFNUUlJQUFCUQpqQUFDQUFBVUk0QUFBQURGQ0NBQUFFQXhBZ2dBQUZD
TUFBSUFBQlFqZ0FBQUFNVUlJQUFBUURFQ0NBQUFVSXdBQWdBQUZDT0FBQUFBCnhRZ2dBQUJBTVFJ
SUFBQlFqQUFDQUFBVUk0QUFBQURGQ0NBQUFFQXhBZ2dBQUZDTUFBSUFBQlFqZ0FBQUFNVUlJQUFB
UURFQ0NBQUEKVUl3QUFnQUFGQ09BQUFBQXhRZ2dBQUJBTVFJSUFBQlFqQUFDQUFBVUk0QUFBQURG
Q0NBQUFFQXhBZ2dBQUZDTUFBSUFBQlFqZ0FBQQpBTVVJSUFBQVFERUNDQUFBVUl3QUFnQUFGQ09B
QUFBQXhRZ2dBQUJBTVFJSUFBQlFqQUFDQUFBVUk0QUFBQURGQ0NBQUFFQXhBZ2dBCkFGQ01BQUlB
QUJRamdBQUFBTVVJSUFBQVFERUNDQUFBVUl3QUFnQUFGQ09BQUFBQXhRZ2dBQUJBTVFJSUFBQlFq
QUFDQUFBVUk0QUEKQUFERkNDQUFBRUF4QWdnQUFGQ01BQUlBQUJRamdBQUFBTVVJSUFBQVFERUND
QUFBVUl3QUFnQUFGQ09BQUFBQXhRZ2dBQUJBTVFJSQpBQUJRakFBQ0FBQVVJNEFBQUFERkNDQUFB
RUF4QWdnQUFGQ01BQUlBQUJRamdBQUFBTVVJSUFBQVFERUNDQUFBVUl3QUFnQUFGQ09BCkFBQUF4
UWdnQUFCQU1RSUlBQUJRakFBQ0FBQVVJNEFBQUFERkNDQUFBRUF4QWdnQUFGQ01BQUlBQUJRamdB
QUFBTVVJSUFBQVFERUMKQ0FBQVVJd0FBZ0FBRkNPQUFBQUF4UWdnQUFCQU1RSUlBQUJRakFBQ0FB
QVVJNEFBQUFERkNDQUFBRUF4QWdnQUFGQ01BQUlBQUJRagpnQUFBQU1VSUlBQUFRREVDQ0FBQVVJ
d0FBZ0FBRkNPQUFBQUF4UWdnQUFCQU1RSUlBQUJRakFBQ0FBQVVJNEFBQUFERkNDQUFBRUF4CkFn
Z0FBRkNNQUFJQUFCUWpnQUFBQU1VSUlBQUFRREVDQ0FBQVVJd0FBZ0FBRkNPQUFBQUF4UWdnQUFC
QU1RSUlBQUJRakFBQ0FBQVUKSTRBQUFBREZDQ0FBQUVBeEFnZ0FBRkNNQUFJQUFCUWpnQUFBQU1V
SUlBQUFRREVDQ0FBQVVJd0FBZ0FBRkNPQUFBQUF4UWdnQUFCQQpNUUlJQUFCUWpBQUNBQUFVSTRB
QUFBREZDQ0FBQUVBeEFnZ0FBRkNNQUFJQUFCUWpnQUFBQU1VSUlBQUFRREVDQ0FBQVVJd0FBZ0FB
CkZDT0FBQUFBeFFnZ0FBQkFNUUlJQUFCUWpBQUNBQUFVSTRBQUFBREZDQ0FBQUVBeEFnZ0FBRkNN
QUFJQUFCUWpnQUFBQU1VSUlBQUEKUURFQ0NBQUFVSXdBQWdBQUZDT0FBQUFBeFFnZ0FBQkFNUUlJ
QUFCUWpBQUNBQUFVSTRBQUFBREZDQ0FBQUVBeEFnZ0FBRkNNQUFJQQpBQlFqZ0FBQUFNVUlJQUFB
UURFQ0NBQUFVSXdBQWdBQUZDT0FBQUFBeFFnZ0FBQkFNUUlJQUFCUWpBQUNBQUFVSTRBQUFBREZD
Q0FBCkFFQXhBZ2dBQUZDTUFBSUFBQlFqZ0FBQUFNVUlJQUFBUURFQ0NBQUFVSXdBQWdBQUZDT0FB
QUFBeFFnZ0FBQkFNUUlJQUFCUWpBQUMKQUFBVUk0QUFBQURGQ0NBQUFFQXgvejhFYkFzdmZaSHM0
QUFBQUFCSlJVNUVya0pnZ2c9PQoKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy1sZW9w
YXJkL3N2Zy9oaXhpZS9keW5hbWljLzAwNS1leHBlY3RlZC5wbmcKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWxlb3BhcmQvc3ZnL2hpeGllL2R5bmFtaWMvMDA1LWV4cGVj
dGVkLnBuZwkocmV2aXNpb24gMzQ4ODcpCShmcm9tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy1s
ZW9wYXJkL3N2Zy9oaXhpZS9keW5hbWljLzAwNS1icm9rZW4tZXhwZWN0ZWQucG5nOjM0ODg3KQor
KysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWxlb3BhcmQvc3ZnL2hpeGllL2R5bmFtaWMvMDA1
LWV4cGVjdGVkLnBuZwkod29ya2luZyBjb3B5KQoKQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2Vk
IGFzIGEgYmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBhcHBsaWNhdGlvbi9vY3RldC1zdHJl
YW0KCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtbGVvcGFyZC9zdmcvaGl4aWUvZHlu
YW1pYy8wMDUtZXhwZWN0ZWQucG5nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFy
a2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBhcHBsaWNhdGlvbi9vY3RldC1z
dHJlYW0KCmlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUF5QUFBQUpZQ0FZQUFBQ2Fkb0p3QUFBTWVV
bEVRVlI0bk8zWndRMkFNQXdFd1VEajBMbnAKWXFPSW1RcnVaV25sYTcxckZzQUI1bkd1QU9CMDkr
NEJBQURBZndnUUFBQWdJMEFBQUlDTUFBRUFBRElDQkFBQXlBZ1FBQUFnSTBBQQpBSUNNQUFFQUFE
SUNCQUFBeUFnUUFBQWdJMEFBQUlDTUFBRUFBRElDQkFBQXlBZ1FBQUFnSTBBQUFJQ01BQUVBQURJ
Q0JBQUF5QWdRCkFBQWdJMEFBQUlDTUFBRUFBRElDQkFBQXlBZ1FBQUFnSTBBQUFJQ01BQUVBQURJ
Q0JBQUF5QWdRQUFBZ0kwQUFBSUNNQUFFQUFESUMKQkFBQXlBZ1FBQUFnSTBBQUFJQ01BQUVBQURJ
Q0JBQUF5QWdRQUFBZ0kwQUFBSUNNQUFFQUFESUNCQUFBeUFnUUFBQWdJMEFBQUlDTQpBQUVBQURJ
Q0JBQUF5QWdRQUFBZ0kwQUFBSUNNQUFFQUFESUNCQUFBeUFnUUFBQWdJMEFBQUlDTUFBRUFBRElD
QkFBQXlBZ1FBQUFnCkkwQUFBSUNNQUFFQUFESUNCQUFBeUFnUUFBQWdJMEFBQUlDTUFBRUFBRElD
QkFBQXlBZ1FBQUFnSTBBQUFJQ01BQUVBQURJQ0JBQUEKeUFnUUFBQWdJMEFBQUlDTUFBRUFBRElD
QkFBQXlBZ1FBQUFnSTBBQUFJQ01BQUVBQURJQ0JBQUF5QWdRQUFBZ0kwQUFBSUNNQUFFQQpBRElD
QkFBQXlBZ1FBQUFnSTBBQUFJQ01BQUVBQURJQ0JBQUF5QWdRQUFBZ0kwQUFBSUNNQUFFQUFESUNC
QUFBeUFnUUFBQWdJMEFBCkFJQ01BQUVBQURJQ0JBQUF5QWdRQUFBZ0kwQUFBSUNNQUFFQUFESUNC
QUFBeUFnUUFBQWdJMEFBQUlDTUFBRUFBRElDQkFBQXlBZ1EKQUFBZ0kwQUFBSUNNQUFFQUFESUNC
QUFBeUFnUUFBQWdJMEFBQUlDTUFBRUFBRElDQkFBQXlBZ1FBQUFnSTBBQUFJQ01BQUVBQURJQwpC
QUFBeUFnUUFBQWdJMEFBQUlDTUFBRUFBRElDQkFBQXlBZ1FBQUFnSTBBQUFJQ01BQUVBQURJQ0JB
QUF5QWdRQUFBZ0kwQUFBSUNNCkFBRUFBRElDQkFBQXlBZ1FBQUFnSTBBQUFJQ01BQUVBQURJQ0JB
QUF5QWdRQUFBZ0kwQUFBSUNNQUFFQUFESUNCQUFBeUFnUUFBQWcKSTBBQUFJQ01BQUVBQURJQ0JB
QUF5QWdRQUFBZ0kwQUFBSUNNQUFFQUFESUNCQUFBeUFnUUFBQWdJMEFBQUlDTUFBRUFBRElDQkFB
QQp5QWdRQUFBZ0kwQUFBSUNNQUFFQUFESUNCQUFBeUFnUUFBQWdJMEFBQUlDTUFBRUFBRElDQkFB
QXlBZ1FBQUFnSTBBQUFJQ01BQUVBCkFESUNCQUFBeUFnUUFBQWdJMEFBQUlDTUFBRUFBRElDQkFB
QXlBZ1FBQUFnSTBBQUFJQ01BQUVBQURJQ0JBQUF5QWdRQUFBZ0kwQUEKQUlDTUFBRUFBRElDQkFB
QXlBZ1FBQUFnSTBBQUFJQ01BQUVBQURJQ0JBQUF5QWdRQUFBZ0kwQUFBSUNNQUFFQUFESUNCQUFB
eUFnUQpBQUFnSTBBQUFJQ01BQUVBQURJQ0JBQUF5QWdRQUFBZ0kwQUFBSUNNQUFFQUFESUNCQUFB
eUFnUUFBQWdJMEFBQUlDTUFBRUFBRElDCkJBQUF5QWdRQUFBZ0kwQUFBSUNNQUFFQUFESUNCQUFB
eUFnUUFBQWdJMEFBQUlDTUFBRUFBRElDQkFBQXlBZ1FBQUFnSTBBQUFJQ00KQUFFQUFESUNCQUFB
eUFnUUFBQWdJMEFBQUlDTUFBRUFBRElDQkFBQXlBZ1FBQUFnSTBBQUFJQ01BQUVBQURJQ0JBQUF5
QWdRQUFBZwpJMEFBQUlDTUFBRUFBRElDQkFBQXlBZ1FBQUFnSTBBQUFJQ01BQUVBQURJQ0JBQUF5
QWdRQUFBZ0kwQUFBSUNNQUFFQUFESUNCQUFBCnlBZ1FBQUFnSTBBQUFJQ01BQUVBQURJQ0JBQUF5
QWdRQUFBZ0kwQUFBSUNNQUFFQUFESUNCQUFBeUFnUUFBQWdJMEFBQUlDTUFBRUEKQURJQ0JBQUF5
QWdRQUFBZ0kwQUFBSUNNQUFFQUFESUNCQUFBeUFnUUFBQWdJMEFBQUlDTUFBRUFBRElDQkFBQXlB
Z1FBQUFnSTBBQQpBSUNNQUFFQUFESUNCQUFBeUFnUUFBQWdJMEFBQUlDTUFBRUFBRElDQkFBQXlB
Z1FBQUFnSTBBQUFJQ01BQUVBQURJQ0JBQUF5QWdRCkFBQWdJMEFBQUlDTUFBRUFBRElDQkFBQXlB
Z1FBQUFnSTBBQUFJQ01BQUVBQURJQ0JBQUF5QWdRQUFBZ0kwQUFBSUNNQUFFQUFESUMKQkFBQXlB
Z1FBQUFnSTBBQUFJQ01BQUVBQURJQ0JBQUF5QWdRQUFBZ0kwQUFBSUNNQUFFQUFESUNCQUFBeUFn
UUFBQWdJMEFBQUlDTQpBQUVBQURJQ0JBQUF5QWdRQUFBZ0kwQUFBSUNNQUFFQUFESUNCQUFBeUFn
UUFBQWdJMEFBQUlDTUFBRUFBRElDQkFBQXlBZ1FBQUFnCkkwQUFBSUNNQUFFQUFESUNCQUFBeUFn
UUFBQWdJMEFBQUlDTUFBRUFBRElDQkFBQXlBZ1FBQUFnSTBBQUFJQ01BQUVBQURJQ0JBQUEKeUFn
UUFBQWdJMEFBQUlDTUFBRUFBRElDQkFBQXlBZ1FBQUFnSTBBQUFJQ01BQUVBQURJQ0JBQUF5QWdR
QUFBZ0kwQUFBSURNTlRPegpld1FBQVBBUFBpQUFBRUJHZ0FBQUFCa0JBZ0FBWkFRSUFBQ1FFU0FB
QUVCR2dBQUFBQmtCQWdBQVpBUUlBQUNRRVNBQUFFQkdnQUFBCkFCa0JBZ0FBWkFRSUFBQ1FFU0FB
QUVCR2dBQUFBQmtCQWdBQVpBUUlBQUNRRVNBQUFFQkdnQUFBQUJrQkFnQUFaQVFJQUFDUUVTQUEK
QUVCR2dBQUFBQmtCQWdBQVpBUUlBQUNRRVNBQUFFQkdnQUFBQUJrQkFnQUFaQVFJQUFDUUVTQUFB
RUJHZ0FBQUFCa0JBZ0FBWkFRSQpBQUNRRVNBQUFFQkdnQUFBQUJrQkFnQUFaQVFJQUFDUUVTQUFB
RUJHZ0FBQUFCa0JBZ0FBWkFRSUFBQ1FFU0FBQUVCR2dBQUFBQmtCCkFnQUFaQVFJQUFDUUVTQUFB
RUJHZ0FBQUFCa0JBZ0FBWkFRSUFBQ1FFU0FBQUVCR2dBQUFBQmtCQWdBQVpBUUlBQUNRRVNBQUFF
QkcKZ0FBQUFCa0JBZ0FBWkFRSUFBQ1FFU0FBQUVCR2dBQUFBQmtCQWdBQVpBUUlBQUNRRVNBQUFF
QkdnQUFBQUJrQkFnQUFaQVFJQUFDUQpFU0FBQUVCR2dBQUFBQmtCQWdBQVpBUUlBQUNRRVNBQUFF
QkdnQUFBQUJrQkFnQUFaQVFJQUFDUUVTQUFBRUJHZ0FBQUFCa0JBZ0FBClpBUUlBQUNRRVNBQUFF
QkdnQUFBQUJrQkFnQUFaQVFJQUFDUUVTQUFBRUJHZ0FBQUFCa0JBZ0FBWkFRSUFBQ1FFU0FBQUVC
R2dBQUEKQUJrQkFnQUFaQVFJQUFDUUVTQUFBRUJHZ0FBQUFCa0JBZ0FBWkFRSUFBQ1FFU0FBQUVC
R2dBQUFBQmtCQWdBQVpBUUlBQUNRRVNBQQpBRUJHZ0FBQUFCa0JBZ0FBWkFRSUFBQ1FFU0FBQUVC
R2dBQUFBQmtCQWdBQVpBUUlBQUNRRVNBQUFFQkdnQUFBQUJrQkFnQUFaQVFJCkFBQ1FFU0FBQUVC
R2dBQUFBQmtCQWdBQVpBUUlBQUNRRVNBQUFFQkdnQUFBQUJrQkFnQUFaQVFJQUFDUUVTQUFBRUJH
Z0FBQUFCa0IKQWdBQVpBUUlBQUNRRVNBQUFFQkdnQUFBQUJrQkFnQUFaQVFJQUFDUUVTQUFBRUJH
Z0FBQUFCa0JBZ0FBWkFRSUFBQ1FFU0FBQUVCRwpnQUFBQUJrQkFnQUFaQVFJQUFDUUVTQUFBRUJH
Z0FBQUFCa0JBZ0FBWkFRSUFBQ1FFU0FBQUVCR2dBQUFBQmtCQWdBQVpBUUlBQUNRCkVTQUFBRUJH
Z0FBQUFCa0JBZ0FBWkFRSUFBQ1FFU0FBQUVCR2dBQUFBQmtCQWdBQVpBUUlBQUNRRVNBQUFFQkdn
QUFBQUJrQkFnQUEKWkFRSUFBQ1FFU0FBQUVCR2dBQUFBQmtCQWdBQVpBUUlBQUNRRVNBQUFFQkdn
QUFBQUJrQkFnQUFaQVFJQUFDUUVTQUFBRUJHZ0FBQQpBQmtCQWdBQVpBUUlBQUNRRVNBQUFFQkdn
QUFBQUJrQkFnQUFaQVFJQUFDUUVTQUFBRUJHZ0FBQUFCa0JBZ0FBWkFRSUFBQ1FFU0FBCkFFQkdn
QUFBQUJrQkFnQUFaQVFJQUFDUUVTQUFBRUJHZ0FBQUFCa0JBZ0FBWkFRSUFBQ1FFU0FBQUVCR2dB
QUFBQmtCQWdBQVpBUUkKQUFDUUVTQUFBRUJHZ0FBQUFCa0JBZ0FBWkFRSUFBQ1FFU0FBQUVCR2dB
QUFBQmtCQWdBQVpBUUlBQUNRRVNBQUFFQkdnQUFBQUJrQgpBZ0FBWkFRSUFBQ1FFU0FBQUVCR2dB
QUFBQmtCQWdBQVpBUUlBQUNRRVNBQUFFQkdnQUFBQUJrQkFnQUFaQVFJQUFDUUVTQUFBRUJHCmdB
QUFBQmtCQWdBQVpBUUlBQUNRRVNBQUFFQkdnQUFBQUJrQkFnQUFaQVFJQUFDUUVTQUFBRUJHZ0FB
QUFCa0JBZ0FBWkFRSUFBQ1EKRVNBQUFFQkdnQUFBQUJrQkFnQUFaQVFJQUFDUUVTQUFBRUJHZ0FB
QUFCa0JBZ0FBWkFRSUFBQ1FFU0FBQUVCR2dBQUFBQmtCQWdBQQpaQVFJQUFDUUVTQUFBRUJHZ0FB
QUFCa0JBZ0FBWkFRSUFBQ1FFU0FBQUVCR2dBQUFBQmtCQWdBQVpBUUlBQUNRRVNBQUFFQkdnQUFB
CkFCa0JBZ0FBWkFRSUFBQ1FFU0FBQUVCR2dBQUFBQmtCQWdBQVpBUUlBQUNRRVNBQUFFQkdnQUFB
QUJrQkFnQUFaQVFJQUFDUUVTQUEKQUVCR2dBQUFBQmtCQWdBQVpBUUlBQUNRRVNBQUFFQkdnQUFB
QUJrQkFnQUFaQVFJQUFDUUVTQUFBRUJHZ0FBQUFCa0JBZ0FBWkFRSQpBQUNRRVNBQUFFQkdnQUFB
QUJrQkFnQUFaQVFJQUFDUUVTQUFBRUJHZ0FBQUFCa0JBZ0FBWkFRSUFBQ1FFU0FBQUVCR2dBQUFB
QmtCCkFnQUFaQVFJQUFDUUVTQUFBRUJHZ0FBQUFCa0JBZ0FBWkFRSUFBQ1FFU0FBQUVCR2dBQUFB
QmtCQWdBQVpBUUlBQUNRRVNBQUFFQkcKZ0FBQUFCa0JBZ0FBWkFRSUFBQ1FFU0FBQUVCR2dBQUFB
QmtCQWdBQVpBUUlBQUNRRVNBQUFFQkdnQUFBQUJrQkFnQUFaQVFJQUFDUQpFU0FBQUVCR2dBQUFB
QmtCQWdBQVpBUUlBQUNRRVNBQUFFQkdnQUFBQUJrQkFnQUFaRDRNQ1F5bk1SK2hVQUFBQUFCSlJV
NUVya0pnCmdnPT0KCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>22009</attachid>
            <date>2008-06-30 11:55:45 -0700</date>
            <delta_ts>2008-07-05 11:27:22 -0700</delta_ts>
            <desc>Updated patch v2</desc>
            <filename>SVGLiveness.diff</filename>
            <type>text/plain</type>
            <size>214709</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAzNDg4NykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjUyIEBACisyMDA4LTA2LTMwICBOaWtvbGFzIFppbW1lcm1hbm4gIDx6aW1tZXJt
YW5uQGtkZS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgRml4ZXM6IGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3Nzc5
IChTVkcgMS4xIEVycmF0YSBkZW1hbmRzICJTVkcgSmF2YVNjcmlwdCBMaXZlbmVzcyIgc3VwcG9y
dCkKKworICAgICAgICBTVkcgRXJyYXRhIHN0YXRlczogIkFsbCBTVkcgRE9NIG9iamVjdHMgdGhh
dCBkaXJlY3RseSBjb3JyZXNwb25kIHRvIGFuCisgICAgICAgIGF0dHJpYnV0ZSwgZS5nLiB0aGUg
U1ZHQW5pbWF0ZWRMZW5ndGggJ3J5JyBpbiBhbiBTVkdSZWN0RWxlbWVudCwgYXJlIGxpdmUuIFRo
aXMKKyAgICAgICAgbWVhbnMgdGhhdCBhbnkgY2hhbmdlcyBtYWRlIHRvIHRoZSBhdHRyaWJ1dGUg
YXJlIGltbWVkaWF0ZWx5IHJlZmxlY3RlZCBpbiB0aGUKKyAgICAgICAgY29ycmVzcG9uZGluZyBT
VkcgRE9NIG9iamVjdC4iIChzZWUgbGlua2VkIFVSTCBvbiBidWcgcmVwb3J0KQorCisgICAgICAg
IFVudGlsIG5vdyBvbmx5IFhNTCAtPiBTVkcgRE9NIGNoYW5nZXMgdG9vayBhZmZlY3QsIGFrYS4g
Y2hhbmdpbmcgdGhlICdyeCcgYXR0cmlidXRlIG9mIGEgPHJlY3Q+CisgICAgICAgIGVsZW1lbnQg
cmVzdXRlZCBpbiBjaGFuZ2VzIHdoZW4gYWNjZXNzaW5nICdyeCcgdGhyb3VnaCBTVkcgRE9NIChy
eC5iYXNlVmFsLnZhbHVlKS4KKworICAgICAgICBBZGQgYSBuZXcgc3luY2hyb25pemF0aW9uIGxh
eWVyIHRvIGhhbmRsZSBTVkcgRE9NIC0+IFhNTCBjaGFuZ2VzLgorCisgICAgICAgIEdsb2JhbCBt
YWNybyBjaGFuZ2UgIzE6IEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJT05TIGNv
bnRhaW5zIHRoZSBjbGFzcyBuYW1lIHdoZXJlIGl0J3MgZGVmaW5lZCBhcyBmaXJzdCBwYXJhbWV0
ZXIuCisgICAgICAgIEdsb2JhbCBtYWNybyBjaGFuZ2UgIzI6IEFkZCBBTklNQVRFRF9QUk9QRVJU
WV9TVEFSVF9ERUNMQVJBVElPTlMgdG8gYWxsIGRpcmVjdCBiYXNlLWNsYXNzZXMuCisgICAgICAg
IEdsb2JhbCBtYWNybyBjaGFuZ2UgIzM6IFJlbmFtZSBBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklU
SU9OUyB0byBBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OU19SRUZDT1VOVEVEIGZvciByZWZj
b3VudGVkIHR5cGVzIChpZS4gU1ZHVHJhbnNmb3JtTGlzdCopLgorCisgICAgICAgIEFkZGVkIHRl
c3Q6IHN2Zy9jdXN0b20vc3ZnLXhtbC1kb20tc3luYy5odG1sCisgICAgICAgIEZpeGVkIHRlc3Q6
IHN2Zy9oaXhpZS9keW5hbWljLzAwNS1icm9rZW4ueG1sIChyZW5hbWVkIHRvIDAwNS54bWwpCisK
KyAgICAgICAgKiBkb20vRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjpF
bGVtZW50KTogSW5pdGlhbGl6ZSB0aGUgdHdvIG5ldyBiaXRzLgorICAgICAgICAoV2ViQ29yZTo6
RWxlbWVudDo6YXR0cmlidXRlcyk6IEFkZCBob29rcyB0byBjYWxsIGludG8gU1ZHIGF0dHJpYnV0
ZSBzeW5jaHJvbml6YXRpb24gY29kZSwgd3JhcHBlZCBpbiBFTkFCTEUoU1ZHKSBibG9ja3MuCisg
ICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjpnZXRBdHRyaWJ1dGUpOiBEaXR0by4KKyAgICAgICAg
KFdlYkNvcmU6OkVsZW1lbnQ6Omhhc0F0dHJpYnV0ZXMpOiBEaXR0by4KKyAgICAgICAgKiBkb20v
RWxlbWVudC5oOiBBZGQgdHdvIGJpdHM6IG1fc3luY2hyb25pemVkU1ZHQXR0cmlidXRlcy9tX3N5
bmNocm9uaXppbmdTVkdBdHRyaWJ1dGUsIHRvIHRyYWNrIHN5bmNocm9uaXphdGlvbiBzdGF0dXMu
CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50Ojp1cGRhdGVBbmltYXRlZFNWR0F0dHJpYnV0ZSk6
IE5ldyB2aXJ0dWFsIGZ1bmN0aW9uLCBoYW5kbGluZyB0aGUgc3lucm9uaWNhdGlvbiwgc2ltaWxh
ciB0byB1cGRhdGVTdHlsZUF0dHJpYnV0ZS4KKyAgICAgICAgKiBkb20vTmFtZWRBdHRyTWFwLmg6
IE1ha2UgYWRkQXR0cmlidXRlL3JlbW92ZUF0dHJpYnV0ZSBwcm90ZWN0ZWQsIGZyb20gdXNlIHdp
dGhpbiB0aGUgQU5JTUFURURfKiBtYWNyb3MuCisgICAgICAgICogc3ZnL1NWR0FFbGVtZW50Lmg6
IEFwcGx5IGdsb2JhbCBtYWNybyBjaGFuZ2UgZm9yIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRf
REVDTEFSQVRJT05TLgorICAgICAgICAoV2ViQ29yZTo6U1ZHQUVsZW1lbnQ6OmNvbnRleHRFbGVt
ZW50KTogUmV0dXJuIG5vbi1jb25zdCB2YWx1ZS4KKyAgICAgICAgKiBzdmcvU1ZHQWx0R2x5cGhF
bGVtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbHRHbHlwaEVsZW1lbnQ6OmNvbnRleHRF
bGVtZW50KTogRGl0dG8uCisgICAgICAgICogc3ZnL1NWR0FuaW1hdGVFbGVtZW50Lmg6CisgICAg
ICAgIChXZWJDb3JlOjpTVkdBbmltYXRlRWxlbWVudDo6Y29udGV4dEVsZW1lbnQpOiBEaXR0by4K
KyAgICAgICAgKiBzdmcvU1ZHQW5pbWF0ZU1vdGlvbkVsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNv
cmU6OlNWR0FuaW1hdGVNb3Rpb25FbGVtZW50Ojpjb250ZXh0RWxlbWVudCk6IERpdHRvLgorICAg
ICAgICAqIHN2Zy9TVkdBbmltYXRlVHJhbnNmb3JtRWxlbWVudC5oOgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHQW5pbWF0ZVRyYW5zZm9ybUVsZW1lbnQ6OmNvbnRleHRFbGVtZW50KTogRGl0dG8uCisg
ICAgICAgICogc3ZnL1NWR0FuaW1hdGVkVGVtcGxhdGUuaDogQWRkIHRvU3RyaW5nKCkgY29udmVy
c2lvbiB0byBhbGwgU1ZHQW5pbWF0ZWQqIGNsYXNzZXMKKyAgICAgICAgKFdlYkNvcmU6OlNWR0Fu
aW1hdGVkVGVtcGxhdGU6OnRvU3RyaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0FuaW1hdGVk
VGVtcGxhdGU6OmFzc29jaWF0ZWRBdHRyaWJ1dGVOYW1lKToKKyAgICAgICAgKFdlYkNvcmU6Omxv
b2t1cE9yQ3JlYXRlV3JhcHBlcik6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRlZEFuZ2xl
OjpTVkdBbmltYXRlZEFuZ2xlKTogCisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRlZEFuZ2xl
Ojp0b1N0cmluZyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRlZEJvb2xlYW46OlNWR0Fu
aW1hdGVkQm9vbGVhbik6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRlZEJvb2xlYW46OnRv
U3RyaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0FuaW1hdGVkRW51bWVyYXRpb246OlNWR0Fu
aW1hdGVkRW51bWVyYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZWRFbnVtZXJh
dGlvbjo6dG9TdHJpbmcpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZWRJbnRlZ2VyOjpT
VkdBbmltYXRlZEludGVnZXIpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZWRJbnRlZ2Vy
Ojp0b1N0cmluZyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRlZExlbmd0aDo6U1ZHQW5p
bWF0ZWRMZW5ndGgpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZWRMZW5ndGg6OnRvU3Ry
aW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0FuaW1hdGVkTGVuZ3RoTGlzdDo6U1ZHQW5pbWF0
ZWRMZW5ndGhMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0FuaW1hdGVkTGVuZ3RoTGlzdDo6
dG9TdHJpbmcpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZWROdW1iZXI6OlNWR0FuaW1h
dGVkTnVtYmVyKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0FuaW1hdGVkTnVtYmVyOjp0b1N0cmlu
Zyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRlZE51bWJlckxpc3Q6OlNWR0FuaW1hdGVk
TnVtYmVyTGlzdCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRlZE51bWJlckxpc3Q6OnRv
U3RyaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0FuaW1hdGVkUHJlc2VydmVBc3BlY3RSYXRp
bzo6U1ZHQW5pbWF0ZWRQcmVzZXJ2ZUFzcGVjdFJhdGlvKToKKyAgICAgICAgKFdlYkNvcmU6OlNW
R0FuaW1hdGVkUHJlc2VydmVBc3BlY3RSYXRpbzo6dG9TdHJpbmcpOgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHQW5pbWF0ZWRSZWN0OjpTVkdBbmltYXRlZFJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6
U1ZHQW5pbWF0ZWRSZWN0Ojp0b1N0cmluZyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRl
ZFN0cmluZzo6U1ZHQW5pbWF0ZWRTdHJpbmcpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0
ZWRTdHJpbmc6OnRvU3RyaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0FuaW1hdGVkVHJhbnNm
b3JtTGlzdDo6U1ZHQW5pbWF0ZWRUcmFuc2Zvcm1MaXN0KToKKyAgICAgICAgKFdlYkNvcmU6OlNW
R0FuaW1hdGVkVHJhbnNmb3JtTGlzdDo6dG9TdHJpbmcpOgorICAgICAgICAoV2ViQ29yZTo6U1ZH
QW5pbWF0ZWRUeXBlOjpTVkdBbmltYXRlZFR5cGUpOgorICAgICAgICAqIHN2Zy9TVkdBbmltYXRp
b25FbGVtZW50Lmg6IEFwcGx5IGdsb2JhbCBtYWNybyBjaGFuZ2UgZm9yIEFOSU1BVEVEX1BST1BF
UlRZX0ZPUldBUkRfREVDTEFSQVRJT05TLgorICAgICAgICAqIHN2Zy9TVkdDaXJjbGVFbGVtZW50
Lmg6IEFwcGx5IGdsb2JhbCBtYWNybyBjaGFuZ2UgZm9yIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldB
UkRfREVDTEFSQVRJT05TLgorICAgICAgICAoV2ViQ29yZTo6U1ZHQ2lyY2xlRWxlbWVudDo6Y29u
dGV4dEVsZW1lbnQpOiBSZXR1cm4gbm9uLWNvbnN0IHZhbHVlLgorICAgICAgICAqIHN2Zy9TVkdD
bGlwUGF0aEVsZW1lbnQuaDogQXBwbHkgZ2xvYmFsIG1hY3JvIGNoYW5nZSBmb3IgQU5JTUFURURf
UFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMuCisgICAgICAgIChXZWJDb3JlOjpTVkdDbGlw
UGF0aEVsZW1lbnQ6OmNvbnRleHRFbGVtZW50KTogUmV0dXJuIG5vbi1jb25zdCB2YWx1ZS4KKyAg
ICAgICAgKiBzdmcvU1ZHQ29tcG9uZW50VHJhbnNmZXJGdW5jdGlvbkVsZW1lbnQuY3BwOiBBcHBs
eSBBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OU19SRUZDT1VOVEVEIGNoYW5nZS4KKyAgICAg
ICAgKiBzdmcvU1ZHQ29tcG9uZW50VHJhbnNmZXJGdW5jdGlvbkVsZW1lbnQuaDogQWRkIEFOSU1B
VEVEX1BST1BFUlRZX1NUQVJUX0RFQ0xBUkFUSU9OUywgYXMgdGhpcyBjbGFzcyBpcyBhIGJhc2Ug
Y2xhc3MuCisgICAgICAgICogc3ZnL1NWR0N1cnNvckVsZW1lbnQuY3BwOiBXcmFwIFNWR0xlbmd0
aCBvYmplY3RzIGluIFNWR0xlbmd0aCgpIHN0YXRlbWVudHMuCisgICAgICAgIChXZWJDb3JlOjpT
VkdDdXJzb3JFbGVtZW50OjpTVkdDdXJzb3JFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHQ3Vy
c29yRWxlbWVudC5oOiBBcHBseSBnbG9iYWwgbWFjcm8gY2hhbmdlIGZvciBBTklNQVRFRF9QUk9Q
RVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUy4gQWRkIEFOSU1BVEVEX1BST1BFUlRZX1NUQVJUX0RF
Q0xBUkFUSU9OUy4KKyAgICAgICAgKFdlYkNvcmU6OlNWR0N1cnNvckVsZW1lbnQ6OmNvbnRleHRF
bGVtZW50KTogUmV0dXJuIG5vbi1jb25zdCB2YWx1ZS4KKyAgICAgICAgKiBzdmcvU1ZHRGVmc0Vs
ZW1lbnQuaDogQXBwbHkgZ2xvYmFsIG1hY3JvIGNoYW5nZSBmb3IgQU5JTUFURURfUFJPUEVSVFlf
Rk9SV0FSRF9ERUNMQVJBVElPTlMuCisgICAgICAgIChXZWJDb3JlOjpTVkdEZWZzRWxlbWVudDo6
Y29udGV4dEVsZW1lbnQpOiBSZXR1cm4gbm9uLWNvbnN0IHZhbHVlLgorICAgICAgICAqIHN2Zy9T
VkdFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0VsZW1lbnQ6OnVwZGF0ZUFuaW1h
dGVkU1ZHQXR0cmlidXRlKTogT3ZlcnJpZGUgdmlydHVhbCBmdW5jdGlvbiBmcm9tIEVsZW1lbnQs
IHRvIGhhbmRsZSBTVkc8LT5YTUwgRE9NIHN5bmNocm9uaXphdGlvbi4KKyAgICAgICAgKFdlYkNv
cmU6OlNWR0VsZW1lbnQ6OnNldFN5bmNocm9uaXplZFNWR0F0dHJpYnV0ZXMpOgorICAgICAgICAq
IHN2Zy9TVkdFbGVtZW50Lmg6IEFkZCBoZWxwZXIgY2xhc3MgIlN0b3JlZFR5cGVXaXRoRGlydHlG
bGFnIi4KKyAgICAgICAgKFN0b3JlZFR5cGVXaXRoRGlydHlGbGFnOjpTdG9yZWRUeXBlV2l0aERp
cnR5RmxhZyk6IFRyYWNrcyBhIHR5cGUgYW5kIGEgZmxhZyBpbmRpY2F0aW5nIHRoYXQgU1ZHPC0+
WE1MIERPTSBzeW5jaHJvbml6YXRpb24gaGFzIHRvIGJlIGRvbmUuCisgICAgICAgIChTdG9yZWRU
eXBlV2l0aERpcnR5RmxhZzo6b3BlcmF0b3I9KToKKyAgICAgICAgKFN0b3JlZFR5cGVXaXRoRGly
dHlGbGFnOjpvcGVyYXRvcj09KToKKyAgICAgICAgKFN0b3JlZFR5cGVXaXRoRGlydHlGbGFnOjpv
cGVyYXRvciE9KToKKyAgICAgICAgKFN0b3JlZFR5cGVXaXRoRGlydHlGbGFnOjpvcGVyYXRvciBT
dG9yZWRUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0VsZW1lbnQ6Omludm9rZVNWR1Byb3Bl
cnR5U3luY2hyb25pemVyKTogTmV3IHNldCBvZiBmdW5jdGlvbnMgdGFraW5nIGNhcmUgb2YgaW52
b2tpbmcgdGhlIHVwZGF0ZSBoYW5kbGVycy4KKyAgICAgICAgKFdlYkNvcmU6OlNWR0VsZW1lbnQ6
Omludm9rZUFsbFNWR1Byb3BlcnR5U3luY2hyb25pemVycyk6IERpdHRvLgorICAgICAgICAoV2Vi
Q29yZTo6U1ZHRWxlbWVudDo6YWRkU1ZHUHJvcGVydHlTeW5jaHJvbml6ZXIpOiBEaXR0by4KKyAg
ICAgICAgKiBzdmcvU1ZHRWxsaXBzZUVsZW1lbnQuY3BwOiBXcmFwIFNWR0xlbmd0aCBvYmplY3Rz
IGluIFNWR0xlbmd0aCgpIHN0YXRlbWVudHMuCisgICAgICAgIChXZWJDb3JlOjpTVkdFbGxpcHNl
RWxlbWVudDo6U1ZHRWxsaXBzZUVsZW1lbnQpOgorICAgICAgICAqIHN2Zy9TVkdFbGxpcHNlRWxl
bWVudC5oOiBBcHBseSBnbG9iYWwgbWFjcm8gY2hhbmdlIGZvciBBTklNQVRFRF9QUk9QRVJUWV9G
T1JXQVJEX0RFQ0xBUkFUSU9OUy4KKyAgICAgICAgKFdlYkNvcmU6OlNWR0VsbGlwc2VFbGVtZW50
Ojpjb250ZXh0RWxlbWVudCk6IFJldHVybiBub24tY29uc3QgdmFsdWUuCisgICAgICAgICogc3Zn
L1NWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQuaDogQ2hhbmdlIGNvbnRleHRFbGVtZW50KCkg
dG8gcmV0dXJuIGEgbm9uLWNvbnN0IHZhbHVlLgorICAgICAgICAqIHN2Zy9TVkdGRUJsZW5kRWxl
bWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRkVCbGVuZEVsZW1lbnQ6OmNvbnRleHRFbGVt
ZW50KTogUmV0dXJuIG5vbi1jb25zdCB2YWx1ZS4KKyAgICAgICAgKiBzdmcvU1ZHRkVDb2xvck1h
dHJpeEVsZW1lbnQuY3BwOiBBcHBseSBBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OU19SRUZD
T1VOVEVEIGNoYW5nZS4KKyAgICAgICAgKiBzdmcvU1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQuaDoK
KyAgICAgICAgKFdlYkNvcmU6OlNWR0ZFQ29sb3JNYXRyaXhFbGVtZW50Ojpjb250ZXh0RWxlbWVu
dCk6IFJldHVybiBub24tY29uc3QgdmFsdWUuCisgICAgICAgICogc3ZnL1NWR0ZFQ29tcG9uZW50
VHJhbnNmZXJFbGVtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdGRUNvbXBvbmVudFRyYW5z
ZmVyRWxlbWVudDo6Y29udGV4dEVsZW1lbnQpOiBSZXR1cm4gbm9uLWNvbnN0IHZhbHVlLgorICAg
ICAgICAqIHN2Zy9TVkdGRUNvbXBvc2l0ZUVsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNW
R0ZFQ29tcG9zaXRlRWxlbWVudDo6Y29udGV4dEVsZW1lbnQpOiBSZXR1cm4gbm9uLWNvbnN0IHZh
bHVlLgorICAgICAgICAqIHN2Zy9TVkdGRURpZmZ1c2VMaWdodGluZ0VsZW1lbnQuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OlNWR0ZFRGlmZnVzZUxpZ2h0aW5nRWxlbWVudDo6Y29udGV4dEVsZW1lbnQp
OiBSZXR1cm4gbm9uLWNvbnN0IHZhbHVlLgorICAgICAgICAqIHN2Zy9TVkdGRURpc3BsYWNlbWVu
dE1hcEVsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZFRGlzcGxhY2VtZW50TWFwRWxl
bWVudDo6Y29udGV4dEVsZW1lbnQpOiBSZXR1cm4gbm9uLWNvbnN0IHZhbHVlLgorICAgICAgICAq
IHN2Zy9TVkdGRUZsb29kRWxlbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRkVGbG9vZEVs
ZW1lbnQ6OmNvbnRleHRFbGVtZW50KTogUmV0dXJuIG5vbi1jb25zdCB2YWx1ZS4KKyAgICAgICAg
KiBzdmcvU1ZHRkVHYXVzc2lhbkJsdXJFbGVtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdG
RUdhdXNzaWFuQmx1ckVsZW1lbnQ6OmNvbnRleHRFbGVtZW50KTogUmV0dXJuIG5vbi1jb25zdCB2
YWx1ZS4KKyAgICAgICAgKiBzdmcvU1ZHRkVJbWFnZUVsZW1lbnQuY3BwOiBBcHBseSBBTklNQVRF
RF9QUk9QRVJUWV9ERUZJTklUSU9OU19SRUZDT1VOVEVEIGNoYW5nZS4KKyAgICAgICAgKiBzdmcv
U1ZHRkVJbWFnZUVsZW1lbnQuaDogQXBwbHkgZ2xvYmFsIG1hY3JvIGNoYW5nZSBmb3IgQU5JTUFU
RURfUFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMuCisgICAgICAgIChXZWJDb3JlOjpTVkdG
RUltYWdlRWxlbWVudDo6Y29udGV4dEVsZW1lbnQpOiBSZXR1cm4gbm9uLWNvbnN0IHZhbHVlLgor
ICAgICAgICAqIHN2Zy9TVkdGRUxpZ2h0RWxlbWVudC5oOiBBZGQgQU5JTUFURURfUFJPUEVSVFlf
U1RBUlRfREVDTEFSQVRJT05TLCBhcyB0aGlzIGlzIGEgYmFzZSBjbGFzcy4KKyAgICAgICAgKiBz
dmcvU1ZHRkVNZXJnZUVsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZFTWVyZ2VFbGVt
ZW50Ojpjb250ZXh0RWxlbWVudCk6IFJldHVybiBub24tY29uc3QgdmFsdWUuCisgICAgICAgICog
c3ZnL1NWR0ZFTWVyZ2VOb2RlRWxlbWVudC5oOiBBZGQgQU5JTUFURURfUFJPUEVSVFlfU1RBUlRf
REVDTEFSQVRJT05TLCBhcyB0aGlzIGlzIGEgYmFzZSBjbGFzcy4KKyAgICAgICAgKFdlYkNvcmU6
OlNWR0ZFTWVyZ2VOb2RlRWxlbWVudDo6Y29udGV4dEVsZW1lbnQpOiBSZXR1cm4gbm9uLWNvbnN0
IHZhbHVlLgorICAgICAgICAqIHN2Zy9TVkdGRU9mZnNldEVsZW1lbnQuaDoKKyAgICAgICAgKFdl
YkNvcmU6OlNWR0ZFT2Zmc2V0RWxlbWVudDo6Y29udGV4dEVsZW1lbnQpOiBSZXR1cm4gbm9uLWNv
bnN0IHZhbHVlLgorICAgICAgICAqIHN2Zy9TVkdGRVNwZWN1bGFyTGlnaHRpbmdFbGVtZW50Lmg6
CisgICAgICAgIChXZWJDb3JlOjpTVkdGRVNwZWN1bGFyTGlnaHRpbmdFbGVtZW50Ojpjb250ZXh0
RWxlbWVudCk6IFJldHVybiBub24tY29uc3QgdmFsdWUuCisgICAgICAgICogc3ZnL1NWR0ZFVGls
ZUVsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZFVGlsZUVsZW1lbnQ6OmNvbnRleHRF
bGVtZW50KTogUmV0dXJuIG5vbi1jb25zdCB2YWx1ZS4KKyAgICAgICAgKiBzdmcvU1ZHRkVUdXJi
dWxlbmNlRWxlbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRkVUdXJidWxlbmNlRWxlbWVu
dDo6Y29udGV4dEVsZW1lbnQpOiBSZXR1cm4gbm9uLWNvbnN0IHZhbHVlLgorICAgICAgICAqIHN2
Zy9TVkdGaWx0ZXJFbGVtZW50LmNwcDogV3JhcCBTVkdMZW5ndGggb2JqZWN0cyBpbiBTVkdMZW5n
dGgoKSBzdGF0ZW1lbnRzLgorICAgICAgICAoV2ViQ29yZTo6U1ZHRmlsdGVyRWxlbWVudDo6U1ZH
RmlsdGVyRWxlbWVudCk6CisgICAgICAgICogc3ZnL1NWR0ZpbHRlckVsZW1lbnQuaDogQXBwbHkg
Z2xvYmFsIG1hY3JvIGNoYW5nZSBmb3IgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJB
VElPTlMuCisgICAgICAgIChXZWJDb3JlOjpTVkdGaWx0ZXJFbGVtZW50Ojpjb250ZXh0RWxlbWVu
dCk6IFJldHVybiBub24tY29uc3QgdmFsdWUuCisgICAgICAgICogc3ZnL1NWR0ZpbHRlclByaW1p
dGl2ZVN0YW5kYXJkQXR0cmlidXRlcy5jcHA6IFdyYXAgU1ZHTGVuZ3RoIG9iamVjdHMgaW4gU1ZH
TGVuZ3RoKCkgc3RhdGVtZW50cy4KKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZpbHRlclByaW1pdGl2
ZVN0YW5kYXJkQXR0cmlidXRlczo6U1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVz
KToKKyAgICAgICAgKiBzdmcvU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzLmg6
IEFwcGx5IGdsb2JhbCBtYWNybyBjaGFuZ2UgZm9yIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRf
REVDTEFSQVRJT05TLgorICAgICAgICAoV2ViQ29yZTo6U1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRh
cmRBdHRyaWJ1dGVzOjpjb250ZXh0RWxlbWVudCk6IFJldHVybiBub24tY29uc3QgdmFsdWUuCisg
ICAgICAgICogc3ZnL1NWR0ZpdFRvVmlld0JveC5jcHA6IEFwcGx5IEFOSU1BVEVEX1BST1BFUlRZ
X0RFRklOSVRJT05TX1JFRkNPVU5URUQgY2hhbmdlLgorICAgICAgICAqIHN2Zy9TVkdGaXRUb1Zp
ZXdCb3guaDogQ2hhbmdlIGNvbnRleHRFbGVtZW50KCkgdG8gcmV0dXJuIGEgbm9uLWNvbnN0IHZh
bHVlLgorICAgICAgICAqIHN2Zy9TVkdGb250RWxlbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6
U1ZHRm9udEVsZW1lbnQ6OmNvbnRleHRFbGVtZW50KTogUmV0dXJuIG5vbi1jb25zdCB2YWx1ZS4K
KyAgICAgICAgKiBzdmcvU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQuY3BwOiBXcmFwIFNWR0xlbmd0
aCBvYmplY3RzIGluIFNWR0xlbmd0aCgpIHN0YXRlbWVudHMuCisgICAgICAgIChXZWJDb3JlOjpT
VkdGb3JlaWduT2JqZWN0RWxlbWVudDo6U1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQpOgorICAgICAg
ICAqIHN2Zy9TVkdGb3JlaWduT2JqZWN0RWxlbWVudC5oOiBBcHBseSBnbG9iYWwgbWFjcm8gY2hh
bmdlIGZvciBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUy4KKyAgICAgICAg
KFdlYkNvcmU6OlNWR0ZvcmVpZ25PYmplY3RFbGVtZW50Ojpjb250ZXh0RWxlbWVudCk6IFJldHVy
biBub24tY29uc3QgdmFsdWUuCisgICAgICAgICogc3ZnL1NWR0dFbGVtZW50Lmg6IEFwcGx5IGds
b2JhbCBtYWNybyBjaGFuZ2UgZm9yIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJ
T05TLgorICAgICAgICAoV2ViQ29yZTo6U1ZHR0VsZW1lbnQ6OmNvbnRleHRFbGVtZW50KTogUmV0
dXJuIG5vbi1jb25zdCB2YWx1ZS4KKyAgICAgICAgKiBzdmcvU1ZHR3JhZGllbnRFbGVtZW50LmNw
cDogQXBwbHkgQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlNfUkVGQ09VTlRFRCBjaGFuZ2Uu
CisgICAgICAgICogc3ZnL1NWR0dyYWRpZW50RWxlbWVudC5oOiBBcHBseSBnbG9iYWwgbWFjcm8g
Y2hhbmdlIGZvciBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUy4KKyAgICAg
ICAgKiBzdmcvU1ZHSW1hZ2VFbGVtZW50LmNwcDogQXBwbHkgQU5JTUFURURfUFJPUEVSVFlfREVG
SU5JVElPTlNfUkVGQ09VTlRFRCBjaGFuZ2UuIFdyYXAgU1ZHTGVuZ3RoIG9iamVjdHMgaW4gU1ZH
TGVuZ3RoKCkgc3RhdGVtZW50cy4KKyAgICAgICAgKFdlYkNvcmU6OlNWR0ltYWdlRWxlbWVudDo6
U1ZHSW1hZ2VFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHSW1hZ2VFbGVtZW50Lmg6IEFwcGx5
IGdsb2JhbCBtYWNybyBjaGFuZ2UgZm9yIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFS
QVRJT05TLgorICAgICAgICAoV2ViQ29yZTo6U1ZHSW1hZ2VFbGVtZW50Ojpjb250ZXh0RWxlbWVu
dCk6IFJldHVybiBub24tY29uc3QgdmFsdWUuCisgICAgICAgICogc3ZnL1NWR0xlbmd0aExpc3Qu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHTGVuZ3RoTGlzdDo6dmFsdWVBc1N0cmluZyk6IEFk
ZCBuZXcgZnVuY3Rpb24gY29udmVydGluZyBTVkcgdmFsdWVzIHRvIHN0cmluZ3MuCisgICAgICAg
ICogc3ZnL1NWR0xlbmd0aExpc3QuaDoKKyAgICAgICAgKiBzdmcvU1ZHTGluZUVsZW1lbnQuY3Bw
OiBXcmFwIFNWR0xlbmd0aCBvYmplY3RzIGluIFNWR0xlbmd0aCgpIHN0YXRlbWVudHMuCisgICAg
ICAgIChXZWJDb3JlOjpTVkdMaW5lRWxlbWVudDo6U1ZHTGluZUVsZW1lbnQpOgorICAgICAgICAq
IHN2Zy9TVkdMaW5lRWxlbWVudC5oOiBBcHBseSBnbG9iYWwgbWFjcm8gY2hhbmdlIGZvciBBTklN
QVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUy4KKyAgICAgICAgKFdlYkNvcmU6OlNW
R0xpbmVFbGVtZW50Ojpjb250ZXh0RWxlbWVudCk6IFJldHVybiBub24tY29uc3QgdmFsdWUuCisg
ICAgICAgICogc3ZnL1NWR0xpbmVhckdyYWRpZW50RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpTVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQ6OlNWR0xpbmVhckdyYWRpZW50RWxlbWVudCk6
IFdyYXAgU1ZHTGVuZ3RoIG9iamVjdHMgaW4gU1ZHTGVuZ3RoKCkgc3RhdGVtZW50cy4KKyAgICAg
ICAgKFdlYkNvcmU6OlNWR0xpbmVhckdyYWRpZW50RWxlbWVudDo6Y29sbGVjdEdyYWRpZW50UHJv
cGVydGllcyk6CisgICAgICAgICogc3ZnL1NWR0xpbmVhckdyYWRpZW50RWxlbWVudC5oOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHTGluZWFyR3JhZGllbnRFbGVtZW50Ojpjb250ZXh0RWxlbWVudCk6
IFJldHVybiBub24tY29uc3QgdmFsdWUuCisgICAgICAgICogc3ZnL1NWR01QYXRoRWxlbWVudC5o
OgorICAgICAgICAoV2ViQ29yZTo6U1ZHTVBhdGhFbGVtZW50Ojpjb250ZXh0RWxlbWVudCk6IFJl
dHVybiBub24tY29uc3QgdmFsdWUuCisgICAgICAgICogc3ZnL1NWR01hcmtlckVsZW1lbnQuY3Bw
OiBBcHBseSBBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OU19SRUZDT1VOVEVEIGNoYW5nZS4g
V3JhcCBTVkdMZW5ndGggb2JqZWN0cyBpbiBTVkdMZW5ndGgoKSBzdGF0ZW1lbnRzLgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHTWFya2VyRWxlbWVudDo6U1ZHTWFya2VyRWxlbWVudCk6CisgICAgICAg
ICogc3ZnL1NWR01hcmtlckVsZW1lbnQuaDogQXBwbHkgZ2xvYmFsIG1hY3JvIGNoYW5nZSBmb3Ig
QU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMuCisgICAgICAgIChXZWJDb3Jl
OjpTVkdNYXJrZXJFbGVtZW50Ojpjb250ZXh0RWxlbWVudCk6IFJldHVybiBub24tY29uc3QgdmFs
dWUuCisgICAgICAgICogc3ZnL1NWR01hc2tFbGVtZW50LmNwcDogV3JhcCBTVkdMZW5ndGggb2Jq
ZWN0cyBpbiBTVkdMZW5ndGgoKSBzdGF0ZW1lbnRzLgorICAgICAgICAoV2ViQ29yZTo6U1ZHTWFz
a0VsZW1lbnQ6OlNWR01hc2tFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHTWFza0VsZW1lbnQu
aDogQXBwbHkgZ2xvYmFsIG1hY3JvIGNoYW5nZSBmb3IgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FS
RF9ERUNMQVJBVElPTlMuCisgICAgICAgIChXZWJDb3JlOjpTVkdNYXNrRWxlbWVudDo6Y29udGV4
dEVsZW1lbnQpOiBSZXR1cm4gbm9uLWNvbnN0IHZhbHVlLgorICAgICAgICAqIHN2Zy9TVkdOdW1i
ZXJMaXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR051bWJlckxpc3Q6OnZhbHVlQXNTdHJp
bmcpOiBBZGQgbmV3IGZ1bmN0aW9uIGNvbnZlcnRpbmcgU1ZHIHZhbHVlcyB0byBzdHJpbmdzLgor
ICAgICAgICAqIHN2Zy9TVkdOdW1iZXJMaXN0Lmg6CisgICAgICAgICogc3ZnL1NWR1BhdGhFbGVt
ZW50Lmg6IEFwcGx5IGdsb2JhbCBtYWNybyBjaGFuZ2UgZm9yIEFOSU1BVEVEX1BST1BFUlRZX0ZP
UldBUkRfREVDTEFSQVRJT05TLgorICAgICAgICAoV2ViQ29yZTo6U1ZHUGF0aEVsZW1lbnQ6OmNv
bnRleHRFbGVtZW50KTogUmV0dXJuIG5vbi1jb25zdCB2YWx1ZS4KKyAgICAgICAgKiBzdmcvU1ZH
UGF0dGVybkVsZW1lbnQuY3BwOiBBcHBseSBBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OU19S
RUZDT1VOVEVEIGNoYW5nZS4gV3JhcCBTVkdMZW5ndGggb2JqZWN0cyBpbiBTVkdMZW5ndGgoKSBz
dGF0ZW1lbnRzLgorICAgICAgICAoV2ViQ29yZTo6U1ZHUGF0dGVybkVsZW1lbnQ6OlNWR1BhdHRl
cm5FbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1BhdHRlcm5FbGVtZW50Ojpjb2xsZWN0
UGF0dGVyblByb3BlcnRpZXMpOgorICAgICAgICAqIHN2Zy9TVkdQYXR0ZXJuRWxlbWVudC5oOiBB
cHBseSBnbG9iYWwgbWFjcm8gY2hhbmdlIGZvciBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RF
Q0xBUkFUSU9OUy4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1BhdHRlcm5FbGVtZW50Ojpjb250ZXh0
RWxlbWVudCk6IFJldHVybiBub24tY29uc3QgdmFsdWUuCisgICAgICAgICogc3ZnL1NWR1BvbHlF
bGVtZW50Lmg6IEFwcGx5IGdsb2JhbCBtYWNybyBjaGFuZ2UgZm9yIEFOSU1BVEVEX1BST1BFUlRZ
X0ZPUldBUkRfREVDTEFSQVRJT05TLgorICAgICAgICAoV2ViQ29yZTo6U1ZHUG9seUVsZW1lbnQ6
OmNvbnRleHRFbGVtZW50KTogUmV0dXJuIG5vbi1jb25zdCB2YWx1ZS4KKyAgICAgICAgKiBzdmcv
U1ZHUHJlc2VydmVBc3BlY3RSYXRpby5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdQcmVzZXJ2
ZUFzcGVjdFJhdGlvOjp2YWx1ZUFzU3RyaW5nKTogQWRkIG5ldyBmdW5jdGlvbiBjb252ZXJ0aW5n
IFNWRyB2YWx1ZXMgdG8gc3RyaW5ncy4KKyAgICAgICAgKiBzdmcvU1ZHUHJlc2VydmVBc3BlY3RS
YXRpby5oOgorICAgICAgICAqIHN2Zy9TVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQuY3BwOiBXcmFw
IFNWR0xlbmd0aCBvYmplY3RzIGluIFNWR0xlbmd0aCgpIHN0YXRlbWVudHMuCisgICAgICAgIChX
ZWJDb3JlOjpTVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQ6OlNWR1JhZGlhbEdyYWRpZW50RWxlbWVu
dCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQ6OnN2Z0F0dHJp
YnV0ZUNoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50
Ojpjb2xsZWN0R3JhZGllbnRQcm9wZXJ0aWVzKToKKyAgICAgICAgKiBzdmcvU1ZHUmFkaWFsR3Jh
ZGllbnRFbGVtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdSYWRpYWxHcmFkaWVudEVsZW1l
bnQ6OmNvbnRleHRFbGVtZW50KTogUmV0dXJuIG5vbi1jb25zdCB2YWx1ZS4KKyAgICAgICAgKiBz
dmcvU1ZHUmVjdEVsZW1lbnQuY3BwOiBXcmFwIFNWR0xlbmd0aCBvYmplY3RzIGluIFNWR0xlbmd0
aCgpIHN0YXRlbWVudHMuCisgICAgICAgIChXZWJDb3JlOjpTVkdSZWN0RWxlbWVudDo6U1ZHUmVj
dEVsZW1lbnQpOgorICAgICAgICAqIHN2Zy9TVkdSZWN0RWxlbWVudC5oOiBBcHBseSBnbG9iYWwg
bWFjcm8gY2hhbmdlIGZvciBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUy4K
KyAgICAgICAgKFdlYkNvcmU6OlNWR1JlY3RFbGVtZW50Ojpjb250ZXh0RWxlbWVudCk6IFJldHVy
biBub24tY29uc3QgdmFsdWUuCisgICAgICAgICogc3ZnL1NWR1NWR0VsZW1lbnQuY3BwOiBXcmFw
IFNWR0xlbmd0aCBvYmplY3RzIGluIFNWR0xlbmd0aCgpIHN0YXRlbWVudHMuCisgICAgICAgIChX
ZWJDb3JlOjpTVkdTVkdFbGVtZW50OjpTVkdTVkdFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6
OlNWR1NWR0VsZW1lbnQ6OmN1cnJlbnRWaWV3KTogUGFzcyBub24tY29uc3QgU1ZHU1ZHRWxlbWVu
dCogb2JqZWN0IHRvIFNWR1ZpZXdTcGVjLgorICAgICAgICAqIHN2Zy9TVkdTVkdFbGVtZW50Lmg6
IEFwcGx5IGdsb2JhbCBtYWNybyBjaGFuZ2UgZm9yIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRf
REVDTEFSQVRJT05TLgorICAgICAgICAoV2ViQ29yZTo6U1ZHU1ZHRWxlbWVudDo6Y29udGV4dEVs
ZW1lbnQpOiBSZXR1cm4gbm9uLWNvbnN0IHZhbHVlLgorICAgICAgICAqIHN2Zy9TVkdTY3JpcHRF
bGVtZW50Lmg6IEFwcGx5IGdsb2JhbCBtYWNybyBjaGFuZ2UgZm9yIEFOSU1BVEVEX1BST1BFUlRZ
X0ZPUldBUkRfREVDTEFSQVRJT05TLgorICAgICAgICAoV2ViQ29yZTo6U1ZHU2NyaXB0RWxlbWVu
dDo6Y29udGV4dEVsZW1lbnQpOiBSZXR1cm4gbm9uLWNvbnN0IHZhbHVlLgorICAgICAgICAqIHN2
Zy9TVkdTdHlsZWRFbGVtZW50Lmg6IEFkZCBBTklNQVRFRF9QUk9QRVJUWV9TVEFSVF9ERUNMQVJB
VElPTlMsIGFzIHRoaXMgaXMgYSBiYXNlIGNsYXNzLgorICAgICAgICAqIHN2Zy9TVkdTdHlsZWRU
cmFuc2Zvcm1hYmxlRWxlbWVudC5jcHA6IEFwcGx5IEFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJ
T05TX1JFRkNPVU5URUQgY2hhbmdlLgorICAgICAgICAqIHN2Zy9TVkdTdHlsZWRUcmFuc2Zvcm1h
YmxlRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdTd2l0Y2hFbGVtZW50Lmg6IEFwcGx5IGds
b2JhbCBtYWNybyBjaGFuZ2UgZm9yIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJ
T05TLgorICAgICAgICAoV2ViQ29yZTo6U1ZHU3dpdGNoRWxlbWVudDo6Y29udGV4dEVsZW1lbnQp
OiBSZXR1cm4gbm9uLWNvbnN0IHZhbHVlLgorICAgICAgICAqIHN2Zy9TVkdTeW1ib2xFbGVtZW50
Lmg6IEFwcGx5IGdsb2JhbCBtYWNybyBjaGFuZ2UgZm9yIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldB
UkRfREVDTEFSQVRJT05TLgorICAgICAgICAoV2ViQ29yZTo6U1ZHU3ltYm9sRWxlbWVudDo6Y29u
dGV4dEVsZW1lbnQpOiBSZXR1cm4gbm9uLWNvbnN0IHZhbHVlLgorICAgICAgICAqIHN2Zy9TVkdU
UmVmRWxlbWVudC5oOiBBcHBseSBnbG9iYWwgbWFjcm8gY2hhbmdlIGZvciBBTklNQVRFRF9QUk9Q
RVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUy4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1RSZWZFbGVt
ZW50Ojpjb250ZXh0RWxlbWVudCk6IFJldHVybiBub24tY29uc3QgdmFsdWUuCisgICAgICAgICog
c3ZnL1NWR1RTcGFuRWxlbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVFNwYW5FbGVtZW50
Ojpjb250ZXh0RWxlbWVudCk6IFJldHVybiBub24tY29uc3QgdmFsdWUuCisgICAgICAgICogc3Zn
L1NWR1RleHRDb250ZW50RWxlbWVudC5jcHA6IFdyYXAgU1ZHTGVuZ3RoIG9iamVjdHMgaW4gU1ZH
TGVuZ3RoKCkgc3RhdGVtZW50cy4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1RleHRDb250ZW50RWxl
bWVudDo6U1ZHVGV4dENvbnRlbnRFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHVGV4dENvbnRl
bnRFbGVtZW50Lmg6IEFwcGx5IGdsb2JhbCBtYWNybyBjaGFuZ2UgZm9yIEFOSU1BVEVEX1BST1BF
UlRZX0ZPUldBUkRfREVDTEFSQVRJT05TLgorICAgICAgICAqIHN2Zy9TVkdUZXh0RWxlbWVudC5j
cHA6IEFwcGx5IEFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TX1JFRkNPVU5URUQgY2hhbmdl
LgorICAgICAgICAqIHN2Zy9TVkdUZXh0RWxlbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZH
VGV4dEVsZW1lbnQ6OmNvbnRleHRFbGVtZW50KTogUmV0dXJuIG5vbi1jb25zdCB2YWx1ZS4KKyAg
ICAgICAgKiBzdmcvU1ZHVGV4dFBhdGhFbGVtZW50LmNwcDogV3JhcCBTVkdMZW5ndGggb2JqZWN0
cyBpbiBTVkdMZW5ndGgoKSBzdGF0ZW1lbnRzLgorICAgICAgICAoV2ViQ29yZTo6U1ZHVGV4dFBh
dGhFbGVtZW50OjpTVkdUZXh0UGF0aEVsZW1lbnQpOgorICAgICAgICAqIHN2Zy9TVkdUZXh0UGF0
aEVsZW1lbnQuaDogQXBwbHkgZ2xvYmFsIG1hY3JvIGNoYW5nZSBmb3IgQU5JTUFURURfUFJPUEVS
VFlfRk9SV0FSRF9ERUNMQVJBVElPTlMuCisgICAgICAgIChXZWJDb3JlOjpTVkdUZXh0UGF0aEVs
ZW1lbnQ6OmNvbnRleHRFbGVtZW50KTogUmV0dXJuIG5vbi1jb25zdCB2YWx1ZS4KKyAgICAgICAg
KiBzdmcvU1ZHVGV4dFBvc2l0aW9uaW5nRWxlbWVudC5jcHA6IEFwcGx5IEFOSU1BVEVEX1BST1BF
UlRZX0RFRklOSVRJT05TX1JFRkNPVU5URUQgY2hhbmdlLgorICAgICAgICAqIHN2Zy9TVkdUZXh0
UG9zaXRpb25pbmdFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR1RyYW5zZm9ybUxpc3QuY3Bw
OgorICAgICAgICAoU1ZHVHJhbnNmb3JtTGlzdDo6dmFsdWVBc1N0cmluZyk6IEFkZCBuZXcgZnVu
Y3Rpb24gY29udmVydGluZyBTVkcgdmFsdWVzIHRvIHN0cmluZ3MuCisgICAgICAgICogc3ZnL1NW
R1RyYW5zZm9ybUxpc3QuaDoKKyAgICAgICAgKiBzdmcvU1ZHVVJJUmVmZXJlbmNlLmg6IENoYW5n
ZSBjb250ZXh0RWxlbWVudCgpIHRvIHJldHVybiBhIG5vbi1jb25zdCB2YWx1ZS4KKyAgICAgICAg
KiBzdmcvU1ZHVXNlRWxlbWVudC5jcHA6IFdyYXAgU1ZHTGVuZ3RoIG9iamVjdHMgaW4gU1ZHTGVu
Z3RoKCkgc3RhdGVtZW50cy4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1VzZUVsZW1lbnQ6OlNWR1Vz
ZUVsZW1lbnQpOgorICAgICAgICAqIHN2Zy9TVkdVc2VFbGVtZW50Lmg6IEFwcGx5IGdsb2JhbCBt
YWNybyBjaGFuZ2UgZm9yIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJT05TLgor
ICAgICAgICAoV2ViQ29yZTo6U1ZHVXNlRWxlbWVudDo6Y29udGV4dEVsZW1lbnQpOiBSZXR1cm4g
bm9uLWNvbnN0IHZhbHVlLgorICAgICAgICAqIHN2Zy9TVkdWaWV3RWxlbWVudC5oOiBBcHBseSBn
bG9iYWwgbWFjcm8gY2hhbmdlIGZvciBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFU
SU9OUy4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1ZpZXdFbGVtZW50Ojpjb250ZXh0RWxlbWVudCk6
IFJldHVybiBub24tY29uc3QgdmFsdWUuCisgICAgICAgICogc3ZnL1NWR1ZpZXdTcGVjLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlNWR1ZpZXdTcGVjOjpTVkdWaWV3U3BlYyk6IFBhc3Mgbm9uLWNv
bnN0IGNvbnRleHQgZWxlbWVudCBpbiBjb25zdHJ1Y3Rvci4KKyAgICAgICAgKFdlYkNvcmU6OlNW
R1ZpZXdTcGVjOjpjb250ZXh0RWxlbWVudCk6IFJldHVybiBub24tY29uc3QgdmFsdWUuCisgICAg
ICAgICogc3ZnL1NWR1ZpZXdTcGVjLmg6CisKIDIwMDgtMDYtMzAgIFNpbW9uIEhhdXNtYW5uICA8
aGF1c21hbm5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBGaXggdGhlIFF0IGJ1aWxkLgpJbmRleDog
V2ViQ29yZS9kb20vRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9kb20vRWxlbWVu
dC5jcHAJKHJldmlzaW9uIDM0ODg3KQorKysgV2ViQ29yZS9kb20vRWxlbWVudC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTk5LDYgKzk5LDEwIEBAIEVsZW1lbnQ6OkVsZW1lbnQoY29uc3QgUXVhbGlm
aWVkTmFtZSYgcU4KICAgICAsIG1fdGFnTmFtZShxTmFtZSkKICAgICAsIG1faXNTdHlsZUF0dHJp
YnV0ZVZhbGlkKHRydWUpCiAgICAgLCBtX3N5bmNocm9uaXppbmdTdHlsZUF0dHJpYnV0ZShmYWxz
ZSkKKyNpZiBFTkFCTEUoU1ZHKQorICAgICwgbV9hcmVTVkdBdHRyaWJ1dGVzVmFsaWQodHJ1ZSkK
KyAgICAsIG1fc3luY2hyb25pemluZ1NWR0F0dHJpYnV0ZXMoZmFsc2UpCisjZW5kaWYKICAgICAs
IG1fcGFyc2luZ0NoaWxkcmVuRmluaXNoZWQodHJ1ZSkKIHsKIH0KQEAgLTE5Myw2ICsxOTcsMTIg
QEAgTmFtZWRBdHRyTWFwKiBFbGVtZW50OjphdHRyaWJ1dGVzKGJvb2wgcgogewogICAgIGlmICgh
bV9pc1N0eWxlQXR0cmlidXRlVmFsaWQpCiAgICAgICAgIHVwZGF0ZVN0eWxlQXR0cmlidXRlKCk7
CisKKyNpZiBFTkFCTEUoU1ZHKQorICAgIGlmICghbV9hcmVTVkdBdHRyaWJ1dGVzVmFsaWQpCisg
ICAgICAgIHVwZGF0ZUFuaW1hdGVkU1ZHQXR0cmlidXRlKDApOworI2VuZGlmCisKICAgICBpZiAo
IXJlYWRvbmx5ICYmICFuYW1lZEF0dHJNYXApCiAgICAgICAgIGNyZWF0ZUF0dHJpYnV0ZU1hcCgp
OwogICAgIHJldHVybiBuYW1lZEF0dHJNYXAuZ2V0KCk7CkBAIC0yMTgsNiArMjI4LDExIEBAIGNv
bnN0IEF0b21pY1N0cmluZyYgRWxlbWVudDo6Z2V0QXR0cmlidXQKICAgICBpZiAobmFtZSA9PSBz
dHlsZUF0dHIgJiYgIW1faXNTdHlsZUF0dHJpYnV0ZVZhbGlkKQogICAgICAgICB1cGRhdGVTdHls
ZUF0dHJpYnV0ZSgpOwogCisjaWYgRU5BQkxFKFNWRykKKyAgICBpZiAoIW1fYXJlU1ZHQXR0cmli
dXRlc1ZhbGlkKQorICAgICAgICB1cGRhdGVBbmltYXRlZFNWR0F0dHJpYnV0ZShuYW1lLmxvY2Fs
TmFtZSgpLmltcGwoKSk7CisjZW5kaWYKKwogICAgIGlmIChuYW1lZEF0dHJNYXApCiAgICAgICAg
IGlmIChBdHRyaWJ1dGUqIGEgPSBuYW1lZEF0dHJNYXAtPmdldEF0dHJpYnV0ZUl0ZW0obmFtZSkp
CiAgICAgICAgICAgICByZXR1cm4gYS0+dmFsdWUoKTsKQEAgLTQ2Nyw3ICs0ODIsMTIgQEAgY29u
c3QgQXRvbWljU3RyaW5nJiBFbGVtZW50OjpnZXRBdHRyaWJ1dAogICAgIFN0cmluZyBsb2NhbE5h
bWUgPSBzaG91bGRJZ25vcmVBdHRyaWJ1dGVDYXNlKHRoaXMpID8gbmFtZS5sb3dlcigpIDogbmFt
ZTsKICAgICBpZiAobG9jYWxOYW1lID09IHN0eWxlQXR0ci5sb2NhbE5hbWUoKSAmJiAhbV9pc1N0
eWxlQXR0cmlidXRlVmFsaWQpCiAgICAgICAgIHVwZGF0ZVN0eWxlQXR0cmlidXRlKCk7Ci0gICAg
CisKKyNpZiBFTkFCTEUoU1ZHKQorICAgIGlmICghbV9hcmVTVkdBdHRyaWJ1dGVzVmFsaWQpCisg
ICAgICAgIHVwZGF0ZUFuaW1hdGVkU1ZHQXR0cmlidXRlKG5hbWUuaW1wbCgpKTsKKyNlbmRpZgor
CiAgICAgaWYgKG5hbWVkQXR0ck1hcCkKICAgICAgICAgaWYgKEF0dHJpYnV0ZSogYSA9IG5hbWVk
QXR0ck1hcC0+Z2V0QXR0cmlidXRlSXRlbShsb2NhbE5hbWUpKQogICAgICAgICAgICAgcmV0dXJu
IGEtPnZhbHVlKCk7CkBAIC01NzcsNiArNTk3LDEyIEBAIGJvb2wgRWxlbWVudDo6aGFzQXR0cmli
dXRlcygpIGNvbnN0CiB7CiAgICAgaWYgKCFtX2lzU3R5bGVBdHRyaWJ1dGVWYWxpZCkKICAgICAg
ICAgdXBkYXRlU3R5bGVBdHRyaWJ1dGUoKTsKKworI2lmIEVOQUJMRShTVkcpCisgICAgaWYgKCFt
X2FyZVNWR0F0dHJpYnV0ZXNWYWxpZCkKKyAgICAgICAgdXBkYXRlQW5pbWF0ZWRTVkdBdHRyaWJ1
dGUoMCk7CisjZW5kaWYKKwogICAgIHJldHVybiBuYW1lZEF0dHJNYXAgJiYgbmFtZWRBdHRyTWFw
LT5sZW5ndGgoKSA+IDA7CiB9CiAKSW5kZXg6IFdlYkNvcmUvZG9tL0VsZW1lbnQuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL2RvbS9FbGVtZW50LmgJKHJldmlzaW9uIDM0ODg3KQorKysgV2ViQ29y
ZS9kb20vRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMDUsNyArMjA1LDExIEBAIHByaXZh
dGU6CiAgICAgdmlydHVhbCB2b2lkIGNyZWF0ZUF0dHJpYnV0ZU1hcCgpIGNvbnN0OwogCiAgICAg
dmlydHVhbCB2b2lkIHVwZGF0ZVN0eWxlQXR0cmlidXRlKCkgY29uc3Qge30KLSAgICAKKworI2lm
IEVOQUJMRShTVkcpCisgICAgdmlydHVhbCB2b2lkIHVwZGF0ZUFuaW1hdGVkU1ZHQXR0cmlidXRl
KFN0cmluZ0ltcGwqIG5hbWUpIGNvbnN0IHt9CisjZW5kaWYKKwogICAgIHZvaWQgdXBkYXRlRm9j
dXNBcHBlYXJhbmNlU29vbkFmdGVyQXR0YWNoKCk7CiAgICAgdm9pZCBjYW5jZWxGb2N1c0FwcGVh
cmFuY2VVcGRhdGUoKTsKIApAQCAtMjIxLDcgKzIyNSwxMyBAQCBwcm90ZWN0ZWQ6CiAgICAgLy8g
RWxlbWVudCBiaXRzLgogICAgIG11dGFibGUgYm9vbCBtX2lzU3R5bGVBdHRyaWJ1dGVWYWxpZCA6
IDE7CiAgICAgbXV0YWJsZSBib29sIG1fc3luY2hyb25pemluZ1N0eWxlQXR0cmlidXRlIDogMTsK
LSAgICAKKworI2lmIEVOQUJMRShTVkcpCisgICAgLy8gVGhlc2UgYml0IGlzIGFyZSB1c2VkIGJ5
IFNWR0VsZW1lbnQgc3ViY2xhc3NlcywgYW5kIGl0IGxpdmVzIGhlcmUgZm9yIHRoZSBzYW1lIHJl
YXNvbiBhcyBhYm92ZS4KKyAgICBtdXRhYmxlIGJvb2wgbV9hcmVTVkdBdHRyaWJ1dGVzVmFsaWQg
OiAxOworICAgIG11dGFibGUgYm9vbCBtX3N5bmNocm9uaXppbmdTVkdBdHRyaWJ1dGVzIDogMTsK
KyNlbmRpZgorCiBwcml2YXRlOgogICAgIGJvb2wgbV9wYXJzaW5nQ2hpbGRyZW5GaW5pc2hlZCA6
IDE7CiB9OwpJbmRleDogV2ViQ29yZS9kb20vTmFtZWRBdHRyTWFwLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9kb20vTmFtZWRBdHRyTWFwLmgJKHJldmlzaW9uIDM0ODg3KQorKysgV2ViQ29yZS9k
b20vTmFtZWRBdHRyTWFwLmgJKHdvcmtpbmcgY29weSkKQEAgLTg5LDExICs4OSwxMSBAQCBwdWJs
aWM6CiAgICAgCiAgICAgYm9vbCBtYXBzRXF1aXZhbGVudChjb25zdCBOYW1lZEF0dHJNYXAqIG90
aGVyTWFwKSBjb25zdDsKIAotcHJvdGVjdGVkOgogICAgIC8vIFRoZXNlIGZ1bmN0aW9ucyBhcmUg
aW50ZXJuYWwsIGFuZCBkbyBubyBlcnJvciBjaGVja2luZy4KICAgICB2b2lkIGFkZEF0dHJpYnV0
ZShQYXNzUmVmUHRyPEF0dHJpYnV0ZT4pOwogICAgIHZvaWQgcmVtb3ZlQXR0cmlidXRlKGNvbnN0
IFF1YWxpZmllZE5hbWUmIG5hbWUpOwogCitwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lkIGNs
ZWFyQXR0cmlidXRlcygpOwogCiAgICAgdm9pZCBkZXRhY2hGcm9tRWxlbWVudCgpOwpJbmRleDog
V2ViQ29yZS9zdmcvU1ZHQUVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdB
RWxlbWVudC5oCShyZXZpc2lvbiAzNDg4NykKKysrIFdlYkNvcmUvc3ZnL1NWR0FFbGVtZW50LmgJ
KHdvcmtpbmcgY29weSkKQEAgLTYxLDExICs2MSwxMSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgICAgIHZpcnR1YWwgYm9vbCBjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKE5vZGUqKSBjb25z
dDsKIAogICAgIHByb3RlY3RlZDoKLSAgICAgICAgdmlydHVhbCBjb25zdCBTVkdFbGVtZW50KiBj
b250ZXh0RWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIHRoaXM7IH0KKyAgICAgICAgdmlydHVhbCBT
VkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCgpIHsgcmV0dXJuIHRoaXM7IH0KIAogICAgIHByaXZh
dGU6Ci0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJT05TKFNWR1VS
SVJlZmVyZW5jZSwgU3RyaW5nLCBIcmVmLCBocmVmKQotICAgICAgICBBTklNQVRFRF9QUk9QRVJU
WV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBib29s
LCBFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQor
ICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdBRWxlbWVu
dCwgU1ZHVVJJUmVmZXJlbmNlLCBTdHJpbmcsIEhyZWYsIGhyZWYpCisgICAgICAgIEFOSU1BVEVE
X1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJT05TKFNWR0FFbGVtZW50LCBTVkdFeHRlcm5hbFJl
c291cmNlc1JlcXVpcmVkLCBib29sLCBFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5h
bFJlc291cmNlc1JlcXVpcmVkKQogCiAgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFU
SU9OUyhTVkdBRWxlbWVudCwgU3RyaW5nLCBTdHJpbmcsIFRhcmdldCwgdGFyZ2V0KQogICAgIH07
CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdBbHRHbHlwaEVsZW1lbnQuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3N2Zy9TVkdBbHRHbHlwaEVsZW1lbnQuaAkocmV2aXNpb24gMzQ4ODcpCisrKyBXZWJD
b3JlL3N2Zy9TVkdBbHRHbHlwaEVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNDgsNyArNDgs
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZQogICAgICAgICBTVkdHbHlwaEVsZW1lbnQqIGdseXBoRWxl
bWVudCgpIGNvbnN0OwogCiAgICAgcHJvdGVjdGVkOgotICAgICAgICB2aXJ0dWFsIGNvbnN0IFNW
R0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gdGhpczsgfQorICAgICAg
ICB2aXJ0dWFsIFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgeyByZXR1cm4gdGhpczsgfQog
ICAgIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0Fu
aW1hdGVFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZUVsZW1l
bnQuaAkocmV2aXNpb24gMzQ4ODcpCisrKyBXZWJDb3JlL3N2Zy9TVkdBbmltYXRlRWxlbWVudC5o
CSh3b3JraW5nIGNvcHkpCkBAIC0zNyw3ICszNyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICAgICAgdmlydHVhbCB+U1ZHQW5pbWF0ZUVsZW1lbnQoKTsKICAgICAKICAgICBwcm90ZWN0ZWQ6
Ci0gICAgICAgIHZpcnR1YWwgY29uc3QgU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSBjb25z
dCB7IHJldHVybiB0aGlzOyB9CisgICAgICAgIHZpcnR1YWwgU1ZHRWxlbWVudCogY29udGV4dEVs
ZW1lbnQoKSB7IHJldHVybiB0aGlzOyB9CiAgICAgICAgIAogICAgICAgICB2aXJ0dWFsIHZvaWQg
cmVzZXRUb0Jhc2VWYWx1ZShjb25zdCBTdHJpbmcmKTsKICAgICAgICAgdmlydHVhbCBib29sIGNh
bGN1bGF0ZUZyb21BbmRUb1ZhbHVlcyhjb25zdCBTdHJpbmcmIGZyb21TdHJpbmcsIGNvbnN0IFN0
cmluZyYgdG9TdHJpbmcpOwpJbmRleDogV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZU1vdGlvbkVsZW1l
bnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdBbmltYXRlTW90aW9uRWxlbWVudC5o
CShyZXZpc2lvbiAzNDg4NykKKysrIFdlYkNvcmUvc3ZnL1NWR0FuaW1hdGVNb3Rpb25FbGVtZW50
LmgJKHdvcmtpbmcgY29weSkKQEAgLTQwLDcgKzQwLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgICAgICB2aXJ0dWFsIHZvaWQgcGFyc2VNYXBwZWRBdHRyaWJ1dGUoTWFwcGVkQXR0cmlidXRl
Kik7CiAgICAgICAgIAogICAgIHByaXZhdGU6Ci0gICAgICAgIHZpcnR1YWwgY29uc3QgU1ZHRWxl
bWVudCogY29udGV4dEVsZW1lbnQoKSBjb25zdCB7IHJldHVybiB0aGlzOyB9CisgICAgICAgIHZp
cnR1YWwgU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSB7IHJldHVybiB0aGlzOyB9CiAgICAg
ICAgIAogICAgICAgICB2aXJ0dWFsIHZvaWQgcmVzZXRUb0Jhc2VWYWx1ZShjb25zdCBTdHJpbmcm
KTsKICAgICAgICAgdmlydHVhbCBib29sIGNhbGN1bGF0ZUZyb21BbmRUb1ZhbHVlcyhjb25zdCBT
dHJpbmcmIGZyb21TdHJpbmcsIGNvbnN0IFN0cmluZyYgdG9TdHJpbmcpOwpJbmRleDogV2ViQ29y
ZS9zdmcvU1ZHQW5pbWF0ZVRyYW5zZm9ybUVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L3N2Zy9TVkdBbmltYXRlVHJhbnNmb3JtRWxlbWVudC5oCShyZXZpc2lvbiAzNDg4NykKKysrIFdl
YkNvcmUvc3ZnL1NWR0FuaW1hdGVUcmFuc2Zvcm1FbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAg
LTQ0LDcgKzQ0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIHZvaWQg
cGFyc2VNYXBwZWRBdHRyaWJ1dGUoTWFwcGVkQXR0cmlidXRlKik7CiAKICAgICBwcm90ZWN0ZWQ6
Ci0gICAgICAgIHZpcnR1YWwgY29uc3QgU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSBjb25z
dCB7IHJldHVybiB0aGlzOyB9CisgICAgICAgIHZpcnR1YWwgU1ZHRWxlbWVudCogY29udGV4dEVs
ZW1lbnQoKSB7IHJldHVybiB0aGlzOyB9CiAgICAgICAgIAogICAgIHByaXZhdGU6CiAgICAgICAg
IHZpcnR1YWwgdm9pZCByZXNldFRvQmFzZVZhbHVlKGNvbnN0IFN0cmluZyYpOwpJbmRleDogV2Vi
Q29yZS9zdmcvU1ZHQW5pbWF0ZWRUZW1wbGF0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3Zn
L1NWR0FuaW1hdGVkVGVtcGxhdGUuaAkocmV2aXNpb24gMzQ4ODcpCisrKyBXZWJDb3JlL3N2Zy9T
VkdBbmltYXRlZFRlbXBsYXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTIyLDIyICsyMiwyMSBAQAog
I2RlZmluZSBTVkdBbmltYXRlZFRlbXBsYXRlX2gKIAogI2lmIEVOQUJMRShTVkcpCi0jaW5jbHVk
ZSA8d3RmL1JlZkNvdW50ZWQuaD4KICNpbmNsdWRlICJBdG9taWNTdHJpbmcuaCIKKyNpbmNsdWRl
ICJGbG9hdFJlY3QuaCIKICNpbmNsdWRlICJBdHRyaWJ1dGUuaCIKKyNpbmNsdWRlICJTVkdBbmds
ZS5oIgorI2luY2x1ZGUgIlNWR0xlbmd0aC5oIgorI2luY2x1ZGUgIlNWR0xlbmd0aExpc3QuaCIK
KyNpbmNsdWRlICJTVkdOdW1iZXJMaXN0LmgiCisjaW5jbHVkZSAiU1ZHVHJhbnNmb3JtTGlzdC5o
IgorI2luY2x1ZGUgIlNWR1ByZXNlcnZlQXNwZWN0UmF0aW8uaCIKKworI2luY2x1ZGUgPHd0Zi9S
ZWZDb3VudGVkLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotICAgIGNsYXNzIEZsb2F0UmVj
dDsKLSAgICBjbGFzcyBTVkdBbmdsZTsKICAgICBjbGFzcyBTVkdFbGVtZW50OwotICAgIGNsYXNz
IFNWR0xlbmd0aDsKLSAgICBjbGFzcyBTVkdMZW5ndGhMaXN0OwotICAgIGNsYXNzIFNWR051bWJl
ckxpc3Q7Ci0gICAgY2xhc3MgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbzsKLSAgICBjbGFzcyBTVkdU
cmFuc2Zvcm1MaXN0OwotICAgIGNsYXNzIFN0cmluZzsKLSAgICBjbGFzcyBRdWFsaWZpZWROYW1l
OwogCiAgICAgc3RydWN0IFNWR0FuaW1hdGVkVHlwZVdyYXBwZXJLZXkgeyAgICAgICAgICAgIAog
ICAgICAgICAvLyBFbXB0eSB2YWx1ZQpAQCAtMTExLDYgKzExMCw4IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICAgICAgdmlydHVhbCBCYXJlVHlwZSBhbmltVmFsKCkgY29uc3QgPSAwOwogICAg
ICAgICB2aXJ0dWFsIHZvaWQgc2V0QW5pbVZhbChCYXJlVHlwZSBuZXdBbmltVmFsKSA9IDA7CiAK
KyAgICAgICAgdmlydHVhbCBBdG9taWNTdHJpbmcgdG9TdHJpbmcoKSBjb25zdCB7IEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOyByZXR1cm4gQXRvbWljU3RyaW5nKCk7IH0KKwogICAgICAgICB0eXBlZGVm
IEhhc2hNYXA8U1ZHQW5pbWF0ZWRUeXBlV3JhcHBlcktleSwgU1ZHQW5pbWF0ZWRUZW1wbGF0ZTxC
YXJlVHlwZT4qLCBTVkdBbmltYXRlZFR5cGVXcmFwcGVyS2V5SGFzaCwgU1ZHQW5pbWF0ZWRUeXBl
V3JhcHBlcktleUhhc2hUcmFpdHMgPiBFbGVtZW50VG9XcmFwcGVyTWFwOwogICAgICAgICB0eXBl
ZGVmIHR5cGVuYW1lIEVsZW1lbnRUb1dyYXBwZXJNYXA6OmNvbnN0X2l0ZXJhdG9yIEVsZW1lbnRU
b1dyYXBwZXJNYXBJdGVyYXRvcjsKIApAQCAtMTE5LDcgKzEyMCw3IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICAgICAgICAgIHN0YXRpYyBFbGVtZW50VG9XcmFwcGVyTWFwKiBzX3dyYXBwZXJD
YWNoZSA9IG5ldyBFbGVtZW50VG9XcmFwcGVyTWFwOyAgICAgICAgICAgICAgICAKICAgICAgICAg
ICAgIHJldHVybiBzX3dyYXBwZXJDYWNoZTsKICAgICAgICAgfQotICAgICAgICAKKwogICAgICAg
ICBzdGF0aWMgdm9pZCBmb3JnZXRXcmFwcGVyKFNWR0FuaW1hdGVkVGVtcGxhdGU8QmFyZVR5cGU+
KiB3cmFwcGVyKQogICAgICAgICB7CiAgICAgICAgICAgICBFbGVtZW50VG9XcmFwcGVyTWFwKiBj
YWNoZSA9IHdyYXBwZXJDYWNoZSgpOwpAQCAtMTMzLDcgKzEzNCw3IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogCi0gICAgICAgY29uc3QgUXVhbGlmaWVk
TmFtZSYgYXNzb2NpYXRlZEF0dHJpYnV0ZU5hbWUoKSBjb25zdCB7IHJldHVybiBtX2Fzc29jaWF0
ZWRBdHRyaWJ1dGVOYW1lOyB9CisgICAgICAgIGNvbnN0IFF1YWxpZmllZE5hbWUmIGFzc29jaWF0
ZWRBdHRyaWJ1dGVOYW1lKCkgY29uc3QgeyByZXR1cm4gbV9hc3NvY2lhdGVkQXR0cmlidXRlTmFt
ZTsgfQogCiAgICAgcHJvdGVjdGVkOgogICAgICAgICBTVkdBbmltYXRlZFRlbXBsYXRlKGNvbnN0
IFF1YWxpZmllZE5hbWUmIGF0dHJpYnV0ZU5hbWUpCkBAIC0xNDIsMzQgKzE0MywxOTMgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB9CiAKICAgICBwcml2YXRlOgotICAgICAgIGNvbnN0
IFF1YWxpZmllZE5hbWUmIG1fYXNzb2NpYXRlZEF0dHJpYnV0ZU5hbWU7CisgICAgICAgIGNvbnN0
IFF1YWxpZmllZE5hbWUmIG1fYXNzb2NpYXRlZEF0dHJpYnV0ZU5hbWU7CiAgICAgfTsKIAogICAg
IHRlbXBsYXRlIDxjbGFzcyBUeXBlLCBjbGFzcyBTVkdFbGVtZW50U3ViQ2xhc3M+Ci0gICAgUGFz
c1JlZlB0cjxUeXBlPiBsb29rdXBPckNyZWF0ZVdyYXBwZXIoY29uc3QgU1ZHRWxlbWVudFN1YkNs
YXNzKiBlbGVtZW50LCBjb25zdCBRdWFsaWZpZWROYW1lJiBkb21BdHRyTmFtZSwgY29uc3QgQXRv
bWljU3RyaW5nJiBhdHRySWRlbnRpZmllcikKKyAgICBQYXNzUmVmUHRyPFR5cGU+IGxvb2t1cE9y
Q3JlYXRlV3JhcHBlcihTVkdFbGVtZW50U3ViQ2xhc3MqIGVsZW1lbnQsIGNvbnN0IFF1YWxpZmll
ZE5hbWUmIGRvbUF0dHJOYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IEF0b21pY1N0cmluZyYgYXR0cklkZW50aWZpZXIsIHZvaWQgKFNWR0VsZW1l
bnQ6OipzeW5jaHJvbml6ZXIpKCkpCiAgICAgewogICAgICAgICBTVkdBbmltYXRlZFR5cGVXcmFw
cGVyS2V5IGtleShlbGVtZW50LCBhdHRySWRlbnRpZmllcik7CiAgICAgICAgIFJlZlB0cjxUeXBl
PiB3cmFwcGVyID0gc3RhdGljX2Nhc3Q8VHlwZSo+KFR5cGU6OndyYXBwZXJDYWNoZSgpLT5nZXQo
a2V5KSk7CisKICAgICAgICAgaWYgKCF3cmFwcGVyKSB7CiAgICAgICAgICAgICB3cmFwcGVyID0g
VHlwZTo6Y3JlYXRlKGVsZW1lbnQsIGRvbUF0dHJOYW1lKTsKKyAgICAgICAgICAgIGVsZW1lbnQt
PmFkZFNWR1Byb3BlcnR5U3luY2hyb25pemVyKGRvbUF0dHJOYW1lLCBzeW5jaHJvbml6ZXIpOwog
ICAgICAgICAgICAgVHlwZTo6d3JhcHBlckNhY2hlKCktPnNldChrZXksIHdyYXBwZXIuZ2V0KCkp
OwogICAgICAgICB9CisKICAgICAgICAgcmV0dXJuIHdyYXBwZXIucmVsZWFzZSgpOwogICAgIH0K
IAotICAgIC8vIENvbW1vbiB0eXBlIGRlZmluaXRpb25zLCB0byBlYXNlIElETCBnZW5lcmF0aW9u
LgotICAgIHR5cGVkZWYgU1ZHQW5pbWF0ZWRUZW1wbGF0ZTxTVkdBbmdsZSo+IFNWR0FuaW1hdGVk
QW5nbGU7Ci0gICAgdHlwZWRlZiBTVkdBbmltYXRlZFRlbXBsYXRlPGJvb2w+IFNWR0FuaW1hdGVk
Qm9vbGVhbjsKLSAgICB0eXBlZGVmIFNWR0FuaW1hdGVkVGVtcGxhdGU8aW50PiBTVkdBbmltYXRl
ZEVudW1lcmF0aW9uOwotICAgIHR5cGVkZWYgU1ZHQW5pbWF0ZWRUZW1wbGF0ZTxsb25nPiBTVkdB
bmltYXRlZEludGVnZXI7Ci0gICAgdHlwZWRlZiBTVkdBbmltYXRlZFRlbXBsYXRlPFNWR0xlbmd0
aD4gU1ZHQW5pbWF0ZWRMZW5ndGg7Ci0gICAgdHlwZWRlZiBTVkdBbmltYXRlZFRlbXBsYXRlPFNW
R0xlbmd0aExpc3QqPiBTVkdBbmltYXRlZExlbmd0aExpc3Q7Ci0gICAgdHlwZWRlZiBTVkdBbmlt
YXRlZFRlbXBsYXRlPGZsb2F0PiBTVkdBbmltYXRlZE51bWJlcjsKLSAgICB0eXBlZGVmIFNWR0Fu
aW1hdGVkVGVtcGxhdGU8U1ZHTnVtYmVyTGlzdCo+IFNWR0FuaW1hdGVkTnVtYmVyTGlzdDsgCi0g
ICAgdHlwZWRlZiBTVkdBbmltYXRlZFRlbXBsYXRlPFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8qPiBT
VkdBbmltYXRlZFByZXNlcnZlQXNwZWN0UmF0aW87Ci0gICAgdHlwZWRlZiBTVkdBbmltYXRlZFRl
bXBsYXRlPEZsb2F0UmVjdD4gU1ZHQW5pbWF0ZWRSZWN0OwotICAgIHR5cGVkZWYgU1ZHQW5pbWF0
ZWRUZW1wbGF0ZTxTdHJpbmc+IFNWR0FuaW1hdGVkU3RyaW5nOwotICAgIHR5cGVkZWYgU1ZHQW5p
bWF0ZWRUZW1wbGF0ZTxTVkdUcmFuc2Zvcm1MaXN0Kj4gU1ZHQW5pbWF0ZWRUcmFuc2Zvcm1MaXN0
OworICAgIC8vIERlZmluZSBTVkcgMS4xIHN0YW5kYXJkIGFuaW1hdGVkIHByb3BlcnRpZXMgKHRo
ZXNlIFNWR0FuaW1hdGVkKiBjbGFzc2VzIGFyZWEgc2xvIGFibGUgdG8gY29udmVydCB0aGVtc2Vs
dmVzIHRvIHN0cmluZ3MpCisgICAgLy8gTm90ZTogSWYgd2UnZCBqdXN0IHNwZWNpYWxpemUgdGhl
IFNWR0FuaW1hdGVkVGVtcGxhdGU8PiB3ZSdkIGhhdmUgdG8gZHVwbGljYXRlIGEgbG90IG9mIGNv
ZGUgYWJvdmUuIEhlbmNlIGNob29zaW5nCisgICAgLy8gdGhlIHNvbHV0aW9uLCB0byBpbmhlcml0
IGZyb20gdGhlIFNWR0FuaW1hdGVkVGVtcGxhdGU8PiBjbGFzc2VzLCBhbmQgaW1wbGVtZW50aW5n
IHRoZSB2aXJ0dWFsIHRvU3RyaW5nKCkgZnVuY3Rpb24uCisgICAgY2xhc3MgU1ZHQW5pbWF0ZWRB
bmdsZSA6IHB1YmxpYyBTVkdBbmltYXRlZFRlbXBsYXRlPFNWR0FuZ2xlKj4geworICAgIHB1Ymxp
YzoKKyAgICAgICAgU1ZHQW5pbWF0ZWRBbmdsZShjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyaWJ1
dGVOYW1lKSA6IFNWR0FuaW1hdGVkVGVtcGxhdGU8U1ZHQW5nbGUqPihhdHRyaWJ1dGVOYW1lKSB7
IH0KKworICAgICAgICB2aXJ0dWFsIEF0b21pY1N0cmluZyB0b1N0cmluZygpIGNvbnN0CisgICAg
ICAgIHsKKyAgICAgICAgICAgIGlmIChTVkdBbmdsZSogYW5nbGUgPSBiYXNlVmFsKCkpCisgICAg
ICAgICAgICAgICAgcmV0dXJuIGFuZ2xlLT52YWx1ZUFzU3RyaW5nKCk7CisKKyAgICAgICAgICAg
IHJldHVybiBudWxsQXRvbTsKKyAgICAgICAgfQorICAgIH07CisKKyAgICBjbGFzcyBTVkdBbmlt
YXRlZEJvb2xlYW4gOiBwdWJsaWMgU1ZHQW5pbWF0ZWRUZW1wbGF0ZTxib29sPiB7CisgICAgcHVi
bGljOgorICAgICAgICBTVkdBbmltYXRlZEJvb2xlYW4oY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0
cmlidXRlTmFtZSkgOiBTVkdBbmltYXRlZFRlbXBsYXRlPGJvb2w+KGF0dHJpYnV0ZU5hbWUpIHsg
fQorCisgICAgICAgIHZpcnR1YWwgQXRvbWljU3RyaW5nIHRvU3RyaW5nKCkgY29uc3QKKyAgICAg
ICAgeworICAgICAgICAgICAgcmV0dXJuIGJhc2VWYWwoKSA/ICJ0cnVlIiA6ICJmYWxzZSI7Cisg
ICAgICAgIH0KKyAgICB9OworCisgICAgY2xhc3MgU1ZHQW5pbWF0ZWRFbnVtZXJhdGlvbiA6IHB1
YmxpYyBTVkdBbmltYXRlZFRlbXBsYXRlPGludD4geworICAgIHB1YmxpYzoKKyAgICAgICAgU1ZH
QW5pbWF0ZWRFbnVtZXJhdGlvbihjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyaWJ1dGVOYW1lKSA6
IFNWR0FuaW1hdGVkVGVtcGxhdGU8aW50PihhdHRyaWJ1dGVOYW1lKSB7IH0KKworICAgICAgICB2
aXJ0dWFsIEF0b21pY1N0cmluZyB0b1N0cmluZygpIGNvbnN0CisgICAgICAgIHsKKyAgICAgICAg
ICAgIHJldHVybiBTdHJpbmc6Om51bWJlcihiYXNlVmFsKCkpOworICAgICAgICB9CisgICAgfTsK
KworICAgIGNsYXNzIFNWR0FuaW1hdGVkSW50ZWdlciA6IHB1YmxpYyBTVkdBbmltYXRlZFRlbXBs
YXRlPGxvbmc+IHsKKyAgICBwdWJsaWM6CisgICAgICAgIFNWR0FuaW1hdGVkSW50ZWdlcihjb25z
dCBRdWFsaWZpZWROYW1lJiBhdHRyaWJ1dGVOYW1lKSA6IFNWR0FuaW1hdGVkVGVtcGxhdGU8bG9u
Zz4oYXR0cmlidXRlTmFtZSkgeyB9CisKKyAgICAgICAgdmlydHVhbCBBdG9taWNTdHJpbmcgdG9T
dHJpbmcoKSBjb25zdAorICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gU3RyaW5nOjpudW1i
ZXIoYmFzZVZhbCgpKTsKKyAgICAgICAgfQorICAgIH07CisKKyAgICBjbGFzcyBTVkdBbmltYXRl
ZExlbmd0aCA6IHB1YmxpYyBTVkdBbmltYXRlZFRlbXBsYXRlPFNWR0xlbmd0aD4geworICAgIHB1
YmxpYzoKKyAgICAgICAgU1ZHQW5pbWF0ZWRMZW5ndGgoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0
cmlidXRlTmFtZSkgOiBTVkdBbmltYXRlZFRlbXBsYXRlPFNWR0xlbmd0aD4oYXR0cmlidXRlTmFt
ZSkgeyB9CisKKyAgICAgICAgdmlydHVhbCBBdG9taWNTdHJpbmcgdG9TdHJpbmcoKSBjb25zdAor
ICAgICAgICB7CisgICAgICAgICAgICByZXR1cm4gYmFzZVZhbCgpLnZhbHVlQXNTdHJpbmcoKTsK
KyAgICAgICAgfQorICAgIH07CisKKyAgICBjbGFzcyBTVkdBbmltYXRlZExlbmd0aExpc3QgOiBw
dWJsaWMgU1ZHQW5pbWF0ZWRUZW1wbGF0ZTxTVkdMZW5ndGhMaXN0Kj4geworICAgIHB1YmxpYzoK
KyAgICAgICAgU1ZHQW5pbWF0ZWRMZW5ndGhMaXN0KGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJp
YnV0ZU5hbWUpIDogU1ZHQW5pbWF0ZWRUZW1wbGF0ZTxTVkdMZW5ndGhMaXN0Kj4oYXR0cmlidXRl
TmFtZSkgeyB9CisKKyAgICAgICAgdmlydHVhbCBBdG9taWNTdHJpbmcgdG9TdHJpbmcoKSBjb25z
dAorICAgICAgICB7CisgICAgICAgICAgICBpZiAoU1ZHTGVuZ3RoTGlzdCogbGlzdCA9IGJhc2VW
YWwoKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gbGlzdC0+dmFsdWVBc1N0cmluZygpOworCisg
ICAgICAgICAgICByZXR1cm4gbnVsbEF0b207CisgICAgICAgIH0KKyAgICB9OworCisgICAgY2xh
c3MgU1ZHQW5pbWF0ZWROdW1iZXIgOiBwdWJsaWMgU1ZHQW5pbWF0ZWRUZW1wbGF0ZTxmbG9hdD4g
eworICAgIHB1YmxpYzoKKyAgICAgICAgU1ZHQW5pbWF0ZWROdW1iZXIoY29uc3QgUXVhbGlmaWVk
TmFtZSYgYXR0cmlidXRlTmFtZSkgOiBTVkdBbmltYXRlZFRlbXBsYXRlPGZsb2F0PihhdHRyaWJ1
dGVOYW1lKSB7IH0KKworICAgICAgICB2aXJ0dWFsIEF0b21pY1N0cmluZyB0b1N0cmluZygpIGNv
bnN0CisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiBTdHJpbmc6Om51bWJlcihiYXNlVmFs
KCkpOworICAgICAgICB9CisgICAgfTsKKworICAgIGNsYXNzIFNWR0FuaW1hdGVkTnVtYmVyTGlz
dCA6IHB1YmxpYyBTVkdBbmltYXRlZFRlbXBsYXRlPFNWR051bWJlckxpc3QqPiB7CisgICAgcHVi
bGljOgorICAgICAgICBTVkdBbmltYXRlZE51bWJlckxpc3QoY29uc3QgUXVhbGlmaWVkTmFtZSYg
YXR0cmlidXRlTmFtZSkgOiBTVkdBbmltYXRlZFRlbXBsYXRlPFNWR051bWJlckxpc3QqPihhdHRy
aWJ1dGVOYW1lKSB7IH0KKworICAgICAgICB2aXJ0dWFsIEF0b21pY1N0cmluZyB0b1N0cmluZygp
IGNvbnN0CisgICAgICAgIHsKKyAgICAgICAgICAgIGlmIChTVkdOdW1iZXJMaXN0KiBsaXN0ID0g
YmFzZVZhbCgpKQorICAgICAgICAgICAgICAgIHJldHVybiBsaXN0LT52YWx1ZUFzU3RyaW5nKCk7
CisKKyAgICAgICAgICAgIHJldHVybiBudWxsQXRvbTsKKyAgICAgICAgfQorICAgIH07CisKKyAg
ICBjbGFzcyBTVkdBbmltYXRlZFByZXNlcnZlQXNwZWN0UmF0aW8gOiBwdWJsaWMgU1ZHQW5pbWF0
ZWRUZW1wbGF0ZTxTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvKj4geworICAgIHB1YmxpYzoKKyAgICAg
ICAgU1ZHQW5pbWF0ZWRQcmVzZXJ2ZUFzcGVjdFJhdGlvKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0
dHJpYnV0ZU5hbWUpIDogU1ZHQW5pbWF0ZWRUZW1wbGF0ZTxTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlv
Kj4oYXR0cmlidXRlTmFtZSkgeyB9CisKKyAgICAgICAgdmlydHVhbCBBdG9taWNTdHJpbmcgdG9T
dHJpbmcoKSBjb25zdAorICAgICAgICB7CisgICAgICAgICAgICBpZiAoU1ZHUHJlc2VydmVBc3Bl
Y3RSYXRpbyogcmF0aW8gPSBiYXNlVmFsKCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIHJhdGlv
LT52YWx1ZUFzU3RyaW5nKCk7CisKKyAgICAgICAgICAgIHJldHVybiBudWxsQXRvbTsKKyAgICAg
ICAgfQorICAgIH07CisKKyAgICBjbGFzcyBTVkdBbmltYXRlZFJlY3QgOiBwdWJsaWMgU1ZHQW5p
bWF0ZWRUZW1wbGF0ZTxGbG9hdFJlY3Q+IHsKKyAgICBwdWJsaWM6CisgICAgICAgIFNWR0FuaW1h
dGVkUmVjdChjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyaWJ1dGVOYW1lKSA6IFNWR0FuaW1hdGVk
VGVtcGxhdGU8RmxvYXRSZWN0PihhdHRyaWJ1dGVOYW1lKSB7IH0KKworICAgICAgICB2aXJ0dWFs
IEF0b21pY1N0cmluZyB0b1N0cmluZygpIGNvbnN0CisgICAgICAgIHsKKyAgICAgICAgICAgIEZs
b2F0UmVjdCByZWN0ID0gYmFzZVZhbCgpOworICAgICAgICAgICAgcmV0dXJuIFN0cmluZzo6Zm9y
bWF0KCIlZiAlZiAlZiAlZiIsIHJlY3QueCgpLCByZWN0LnkoKSwgcmVjdC53aWR0aCgpLCByZWN0
LmhlaWdodCgpKTsKKyAgICAgICAgfQorICAgIH07CisKKyAgICBjbGFzcyBTVkdBbmltYXRlZFN0
cmluZyA6IHB1YmxpYyBTVkdBbmltYXRlZFRlbXBsYXRlPFN0cmluZz4geworICAgIHB1YmxpYzoK
KyAgICAgICAgU1ZHQW5pbWF0ZWRTdHJpbmcoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0cmlidXRl
TmFtZSkgOiBTVkdBbmltYXRlZFRlbXBsYXRlPFN0cmluZz4oYXR0cmlidXRlTmFtZSkgeyB9CisK
KyAgICAgICAgdmlydHVhbCBBdG9taWNTdHJpbmcgdG9TdHJpbmcoKSBjb25zdAorICAgICAgICB7
CisgICAgICAgICAgICByZXR1cm4gYmFzZVZhbCgpOworICAgICAgICB9CisgICAgfTsKKworICAg
IGNsYXNzIFNWR0FuaW1hdGVkVHJhbnNmb3JtTGlzdCA6IHB1YmxpYyBTVkdBbmltYXRlZFRlbXBs
YXRlPFNWR1RyYW5zZm9ybUxpc3QqPiB7CisgICAgcHVibGljOgorICAgICAgICBTVkdBbmltYXRl
ZFRyYW5zZm9ybUxpc3QoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0cmlidXRlTmFtZSkgOiBTVkdB
bmltYXRlZFRlbXBsYXRlPFNWR1RyYW5zZm9ybUxpc3QqPihhdHRyaWJ1dGVOYW1lKSB7IH0KKwor
ICAgICAgICB2aXJ0dWFsIEF0b21pY1N0cmluZyB0b1N0cmluZygpIGNvbnN0CisgICAgICAgIHsK
KyAgICAgICAgICAgIGlmIChTVkdUcmFuc2Zvcm1MaXN0KiBsaXN0ID0gYmFzZVZhbCgpKQorICAg
ICAgICAgICAgICAgIHJldHVybiBsaXN0LT52YWx1ZUFzU3RyaW5nKCk7CisKKyAgICAgICAgICAg
IHJldHVybiBudWxsQXRvbTsKKyAgICAgICAgfQorICAgIH07CisKKyAgICAvLyBIZWxwZXIgZm9y
IEFOSU1BVEVEX1BST1BFUlRZKiBtYWNyb3MsIHdob3NlIGhlbHBlciBjbGFzc2VzIFNWR0FuaW1h
dGVkVGVtcGxhdGUjI1VwcGVyUHJvcGVydHkuLiBjYW4ndAorICAgIC8vIGluaGVyaXQgZnJvbSBT
VkdBbmltYXRlZFRlbXBsYXRlPHh4eD4gYXMgdGhleSByZWx5IG9uIGEgd29ya2luZyB0b1N0cmlu
ZygpIGltcGxlbWVudGF0aW9uLiBTbyBpbnN0ZWFkCisgICAgLy8gY3JlYXRlIGEgbmV3IGhlbHBl
ciB0eXBlIFNWR0FuaW1hdGVkVHlwZSwgd2hpY2ggZ2V0cyBzcGVjaWFsaXplZCBmb3IgdGhlIHN1
cHBvcnQgZGF0YXR5cGVzIGFuZCBpbiB0dXJuIGluaGVyaXRzCisgICAgLy8gZnJvbSB0aGUgU1ZH
QW5pbWF0ZWRURW1wbGF0ZTx4eHg+IG1hY3Jvcy4gTG9va3MgYSBiaXQgY29tcGxpY2F0ZWQsIGJ1
dCBtYWtlcyBzZW5zZSBpZiB5b3UgY2hlY2sgdGhlIG1hY3Jvcy4KKyAgICB0ZW1wbGF0ZTx0eXBl
bmFtZSBUPgorICAgIGNsYXNzIFNWR0FuaW1hdGVkVHlwZSA6IHB1YmxpYyBTVkdBbmltYXRlZFRl
bXBsYXRlPFQ+IHsKKyAgICBwdWJsaWM6CisgICAgICAgIFNWR0FuaW1hdGVkVHlwZShjb25zdCBR
dWFsaWZpZWROYW1lJiBhdHRyaWJ1dGVOYW1lKSA6IFNWR0FuaW1hdGVkVGVtcGxhdGU8VD4oYXR0
cmlidXRlTmFtZSkgeyBBU1NFUlRfTk9UX1JFQUNIRUQoKTsgfQorICAgIH07CisKKyNkZWZpbmUg
QUREX0FOSU1BVEVEX1RZUEVfSEVMUEVSKERhdGFUeXBlLCBJbmhlcml0RnJvbUNsYXNzKSBcCisg
ICAgdGVtcGxhdGU8PiBcCisgICAgY2xhc3MgU1ZHQW5pbWF0ZWRUeXBlPERhdGFUeXBlPiA6IHB1
YmxpYyBJbmhlcml0RnJvbUNsYXNzIHsgXAorICAgIHB1YmxpYzogXAorICAgICAgICBTVkdBbmlt
YXRlZFR5cGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0cmlidXRlTmFtZSkgOiBJbmhlcml0RnJv
bUNsYXNzKGF0dHJpYnV0ZU5hbWUpIHsgfSBcCisgICAgfTsKKworICAgIEFERF9BTklNQVRFRF9U
WVBFX0hFTFBFUihTVkdBbmdsZSosIFNWR0FuaW1hdGVkQW5nbGUpCisgICAgQUREX0FOSU1BVEVE
X1RZUEVfSEVMUEVSKGJvb2wsIFNWR0FuaW1hdGVkQm9vbGVhbikKKyAgICBBRERfQU5JTUFURURf
VFlQRV9IRUxQRVIoaW50LCBTVkdBbmltYXRlZEVudW1lcmF0aW9uKQorICAgIEFERF9BTklNQVRF
RF9UWVBFX0hFTFBFUihsb25nLCBTVkdBbmltYXRlZEludGVnZXIpCisgICAgQUREX0FOSU1BVEVE
X1RZUEVfSEVMUEVSKFNWR0xlbmd0aCwgU1ZHQW5pbWF0ZWRMZW5ndGgpCisgICAgQUREX0FOSU1B
VEVEX1RZUEVfSEVMUEVSKFNWR0xlbmd0aExpc3QqLCBTVkdBbmltYXRlZExlbmd0aExpc3QpCisg
ICAgQUREX0FOSU1BVEVEX1RZUEVfSEVMUEVSKGZsb2F0LCBTVkdBbmltYXRlZE51bWJlcikKKyAg
ICBBRERfQU5JTUFURURfVFlQRV9IRUxQRVIoU1ZHTnVtYmVyTGlzdCosIFNWR0FuaW1hdGVkTnVt
YmVyTGlzdCkKKyAgICBBRERfQU5JTUFURURfVFlQRV9IRUxQRVIoU1ZHUHJlc2VydmVBc3BlY3RS
YXRpbyosIFNWR0FuaW1hdGVkUHJlc2VydmVBc3BlY3RSYXRpbykKKyAgICBBRERfQU5JTUFURURf
VFlQRV9IRUxQRVIoRmxvYXRSZWN0LCBTVkdBbmltYXRlZFJlY3QpCisgICAgQUREX0FOSU1BVEVE
X1RZUEVfSEVMUEVSKFN0cmluZywgU1ZHQW5pbWF0ZWRTdHJpbmcpCisgICAgQUREX0FOSU1BVEVE
X1RZUEVfSEVMUEVSKFNWR1RyYW5zZm9ybUxpc3QqLCBTVkdBbmltYXRlZFRyYW5zZm9ybUxpc3Qp
CiB9CiAKICNlbmRpZiAvLyBFTkFCTEUoU1ZHKQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHQW5pbWF0
aW9uRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0FuaW1hdGlvbkVsZW1l
bnQuaAkocmV2aXNpb24gMzQ4ODcpCisrKyBXZWJDb3JlL3N2Zy9TVkdBbmltYXRpb25FbGVtZW50
LmgJKHdvcmtpbmcgY29weSkKQEAgLTkzLDggKzkzLDggQEAgcHJvdGVjdGVkOgogICAgICAgICB2
aXJ0dWFsIHZvaWQgc3RhcnRlZEFjdGl2ZUludGVydmFsKCk7CiAgICAgICAgIHZpcnR1YWwgdm9p
ZCB1cGRhdGVBbmltYXRpb24oZmxvYXQgcGVyY2VudCwgdW5zaWduZWQgcmVwZWF0LCBTVkdTTUlM
RWxlbWVudCogcmVzdWx0RWxlbWVudCk7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBlbmRlZEFjdGl2
ZUludGVydmFsKCk7Ci0gICAgICAgIAotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJE
X0RFQ0xBUkFUSU9OUyhTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBib29sLCBFeHRlcm5h
bFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQorICAgICAgIAor
ICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdBbmltYXRp
b25FbGVtZW50LCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBib29sLCBFeHRlcm5hbFJl
c291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQogcHJpdmF0ZToKICAg
ICAgICAgdmlydHVhbCBib29sIGNhbGN1bGF0ZUZyb21BbmRUb1ZhbHVlcyhjb25zdCBTdHJpbmcm
IGZyb21TdHJpbmcsIGNvbnN0IFN0cmluZyYgdG9TdHJpbmcpID0gMDsKICAgICAgICAgdmlydHVh
bCBib29sIGNhbGN1bGF0ZUZyb21BbmRCeVZhbHVlcyhjb25zdCBTdHJpbmcmIGZyb21TdHJpbmcs
IGNvbnN0IFN0cmluZyYgYnlTdHJpbmcpID0gMDsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0NpcmNs
ZUVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdDaXJjbGVFbGVtZW50LmgJ
KHJldmlzaW9uIDM0ODg3KQorKysgV2ViQ29yZS9zdmcvU1ZHQ2lyY2xlRWxlbWVudC5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC00NywxMSArNDcsMTEgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAg
ICB2aXJ0dWFsIFBhdGggdG9QYXRoRGF0YSgpIGNvbnN0OwogCiAgICAgcHJvdGVjdGVkOgotICAg
ICAgICB2aXJ0dWFsIGNvbnN0IFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgY29uc3QgeyBy
ZXR1cm4gdGhpczsgfQorICAgICAgICB2aXJ0dWFsIFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50
KCkgeyByZXR1cm4gdGhpczsgfQogICAgICAgICB2aXJ0dWFsIGJvb2wgaGFzUmVsYXRpdmVWYWx1
ZXMoKSBjb25zdDsKIAogICAgIHByaXZhdGU6Ci0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZP
UldBUkRfREVDTEFSQVRJT05TKFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGJvb2wsIEV4
dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpCisgICAg
ICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJT05TKFNWR0NpcmNsZUVsZW1l
bnQsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGJvb2wsIEV4dGVybmFsUmVzb3VyY2Vz
UmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpCiAKICAgICAgICAgQU5JTUFURURf
UFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0NpcmNsZUVsZW1lbnQsIFNWR0xlbmd0aCwgU1ZHTGVu
Z3RoLCBDeCwgY3gpCiAgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdD
aXJjbGVFbGVtZW50LCBTVkdMZW5ndGgsIFNWR0xlbmd0aCwgQ3ksIGN5KQpJbmRleDogV2ViQ29y
ZS9zdmcvU1ZHQ2xpcFBhdGhFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZH
Q2xpcFBhdGhFbGVtZW50LmgJKHJldmlzaW9uIDM0ODg3KQorKysgV2ViQ29yZS9zdmcvU1ZHQ2xp
cFBhdGhFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTUxLDExICs1MSwxMCBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgU1ZHUmVzb3VyY2UqIGNhbnZhc1Jlc291cmNl
KCk7CiAKICAgICBwcm90ZWN0ZWQ6Ci0gICAgICAgIHZpcnR1YWwgY29uc3QgU1ZHRWxlbWVudCog
Y29udGV4dEVsZW1lbnQoKSBjb25zdCB7IHJldHVybiB0aGlzOyB9CisgICAgICAgIHZpcnR1YWwg
U1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSB7IHJldHVybiB0aGlzOyB9CiAKICAgICBwcml2
YXRlOgotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdF
eHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBib29sLCBFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVk
LCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQotCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZ
X0ZPUldBUkRfREVDTEFSQVRJT05TKFNWR0NsaXBQYXRoRWxlbWVudCwgU1ZHRXh0ZXJuYWxSZXNv
dXJjZXNSZXF1aXJlZCwgYm9vbCwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxS
ZXNvdXJjZXNSZXF1aXJlZCkKICAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05T
KFNWR0NsaXBQYXRoRWxlbWVudCwgaW50LCBpbnQsIENsaXBQYXRoVW5pdHMsIGNsaXBQYXRoVW5p
dHMpCiAKICAgICAgICAgUmVmUHRyPFNWR1Jlc291cmNlQ2xpcHBlcj4gbV9jbGlwcGVyOwpJbmRl
eDogV2ViQ29yZS9zdmcvU1ZHQ29tcG9uZW50VHJhbnNmZXJGdW5jdGlvbkVsZW1lbnQuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0NvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb25FbGVt
ZW50LmNwcAkocmV2aXNpb24gMzQ4ODcpCisrKyBXZWJDb3JlL3N2Zy9TVkdDb21wb25lbnRUcmFu
c2ZlckZ1bmN0aW9uRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ4LDcgKzQ4LDcgQEAg
U1ZHQ29tcG9uZW50VHJhbnNmZXJGdW5jdGlvbkVsZW1lbnQ6On5TVgogfQogCiBBTklNQVRFRF9Q
Uk9QRVJUWV9ERUZJTklUSU9OUyhTVkdDb21wb25lbnRUcmFuc2ZlckZ1bmN0aW9uRWxlbWVudCwg
aW50LCBFbnVtZXJhdGlvbiwgZW51bWVyYXRpb24sIFR5cGUsIHR5cGUsIFNWR05hbWVzOjp0eXBl
QXR0ciwgbV90eXBlKQotQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHQ29tcG9uZW50
VHJhbnNmZXJGdW5jdGlvbkVsZW1lbnQsIFNWR051bWJlckxpc3QqLCBOdW1iZXJMaXN0LCBudW1i
ZXJMaXN0LCBUYWJsZVZhbHVlcywgdGFibGVWYWx1ZXMsIFNWR05hbWVzOjp0YWJsZVZhbHVlc0F0
dHIsIG1fdGFibGVWYWx1ZXMuZ2V0KCkpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OU19S
RUZDT1VOVEVEKFNWR0NvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb25FbGVtZW50LCBTVkdOdW1iZXJM
aXN0LCBOdW1iZXJMaXN0LCBudW1iZXJMaXN0LCBUYWJsZVZhbHVlcywgdGFibGVWYWx1ZXMsIFNW
R05hbWVzOjp0YWJsZVZhbHVlc0F0dHIsIG1fdGFibGVWYWx1ZXMpCiBBTklNQVRFRF9QUk9QRVJU
WV9ERUZJTklUSU9OUyhTVkdDb21wb25lbnRUcmFuc2ZlckZ1bmN0aW9uRWxlbWVudCwgZmxvYXQs
IE51bWJlciwgbnVtYmVyLCBTbG9wZSwgc2xvcGUsIFNWR05hbWVzOjpzbG9wZUF0dHIsIG1fc2xv
cGUpCiBBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdDb21wb25lbnRUcmFuc2ZlckZ1
bmN0aW9uRWxlbWVudCwgZmxvYXQsIE51bWJlciwgbnVtYmVyLCBJbnRlcmNlcHQsIGludGVyY2Vw
dCwgU1ZHTmFtZXM6OmludGVyY2VwdEF0dHIsIG1faW50ZXJjZXB0KQogQU5JTUFURURfUFJPUEVS
VFlfREVGSU5JVElPTlMoU1ZHQ29tcG9uZW50VHJhbnNmZXJGdW5jdGlvbkVsZW1lbnQsIGZsb2F0
LCBOdW1iZXIsIG51bWJlciwgQW1wbGl0dWRlLCBhbXBsaXR1ZGUsIFNWR05hbWVzOjphbXBsaXR1
ZGVBdHRyLCBtX2FtcGxpdHVkZSkKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0NvbXBvbmVudFRyYW5z
ZmVyRnVuY3Rpb25FbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHQ29tcG9u
ZW50VHJhbnNmZXJGdW5jdGlvbkVsZW1lbnQuaAkocmV2aXNpb24gMzQ4ODcpCisrKyBXZWJDb3Jl
L3N2Zy9TVkdDb21wb25lbnRUcmFuc2ZlckZ1bmN0aW9uRWxlbWVudC5oCSh3b3JraW5nIGNvcHkp
CkBAIC00NCw2ICs0NCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlCiAgICAgICAgIFNWR0NvbXBvbmVu
dFRyYW5zZmVyRnVuY3Rpb24gdHJhbnNmZXJGdW5jdGlvbigpIGNvbnN0OwogCiAgICAgcHJpdmF0
ZToKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfU1RBUlRfREVDTEFSQVRJT05TKFNWR0NvbXBv
bmVudFRyYW5zZmVyRnVuY3Rpb25FbGVtZW50KQogICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9E
RUNMQVJBVElPTlMoU1ZHQ29tcG9uZW50VHJhbnNmZXJGdW5jdGlvbkVsZW1lbnQsIGludCwgaW50
LCBUeXBlLCB0eXBlKQogICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZH
Q29tcG9uZW50VHJhbnNmZXJGdW5jdGlvbkVsZW1lbnQsIFNWR051bWJlckxpc3QqLCBSZWZQdHI8
U1ZHTnVtYmVyTGlzdD4sIFRhYmxlVmFsdWVzLCB0YWJsZVZhbHVlcykKICAgICAgICAgQU5JTUFU
RURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0NvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb25FbGVt
ZW50LCBmbG9hdCwgZmxvYXQsIFNsb3BlLCBzbG9wZSkKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0N1
cnNvckVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0N1cnNvckVsZW1l
bnQuY3BwCShyZXZpc2lvbiAzNDg4NykKKysrIFdlYkNvcmUvc3ZnL1NWR0N1cnNvckVsZW1lbnQu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw4ICszNiw4IEBAIFNWR0N1cnNvckVsZW1lbnQ6OlNW
R0N1cnNvckVsZW1lbnQoY29uc3QKICAgICAsIFNWR1Rlc3RzKCkKICAgICAsIFNWR0V4dGVybmFs
UmVzb3VyY2VzUmVxdWlyZWQoKQogICAgICwgU1ZHVVJJUmVmZXJlbmNlKCkKLSAgICAsIG1feCgw
LCBMZW5ndGhNb2RlV2lkdGgpCi0gICAgLCBtX3koMCwgTGVuZ3RoTW9kZUhlaWdodCkKKyAgICAs
IG1feChTVkdMZW5ndGgoMCwgTGVuZ3RoTW9kZVdpZHRoKSkKKyAgICAsIG1feShTVkdMZW5ndGgo
MCwgTGVuZ3RoTW9kZUhlaWdodCkpCiB7CiB9CiAKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0N1cnNv
ckVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdDdXJzb3JFbGVtZW50LmgJ
KHJldmlzaW9uIDM0ODg3KQorKysgV2ViQ29yZS9zdmcvU1ZHQ3Vyc29yRWxlbWVudC5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC01MSwxMiArNTEsMTMgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAg
ICB2aXJ0dWFsIHZvaWQgZ2V0U3VicmVzb3VyY2VBdHRyaWJ1dGVTdHJpbmdzKFZlY3RvcjxTdHJp
bmc+JikgY29uc3Q7CiAKICAgICBwcm90ZWN0ZWQ6Ci0gICAgICAgIHZpcnR1YWwgY29uc3QgU1ZH
RWxlbWVudCogY29udGV4dEVsZW1lbnQoKSBjb25zdCB7IHJldHVybiB0aGlzOyB9CisgICAgICAg
IHZpcnR1YWwgU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSB7IHJldHVybiB0aGlzOyB9CiAK
ICAgICBwcml2YXRlOgotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFU
SU9OUyhTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBib29sLCBFeHRlcm5hbFJlc291cmNl
c1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQotICAgICAgICBBTklNQVRFRF9Q
Uk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdVUklSZWZlcmVuY2UsIFN0cmluZywgSHJl
ZiwgaHJlZikKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMo
U1ZHQ3Vyc29yRWxlbWVudCwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgYm9vbCwgRXh0
ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkKKyAgICAg
ICAgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHQ3Vyc29yRWxlbWVu
dCwgU1ZHVVJJUmVmZXJlbmNlLCBTdHJpbmcsIEhyZWYsIGhyZWYpCiAKKyAgICAgICAgQU5JTUFU
RURfUFJPUEVSVFlfU1RBUlRfREVDTEFSQVRJT05TKFNWR0N1cnNvckVsZW1lbnQpCiAgICAgICAg
IEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdDdXJzb3JFbGVtZW50LCBTVkdMZW5n
dGgsIFNWR0xlbmd0aCwgWCwgeCkKICAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJ
T05TKFNWR0N1cnNvckVsZW1lbnQsIFNWR0xlbmd0aCwgU1ZHTGVuZ3RoLCBZLCB5KQogCkluZGV4
OiBXZWJDb3JlL3N2Zy9TVkdEZWZzRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3Zn
L1NWR0RlZnNFbGVtZW50LmgJKHJldmlzaW9uIDM0ODg3KQorKysgV2ViQ29yZS9zdmcvU1ZHRGVm
c0VsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNDQsMTAgKzQ0LDEwIEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICAgICAgdmlydHVhbCBSZW5kZXJPYmplY3QqIGNyZWF0ZVJlbmRlcmVyKFJl
bmRlckFyZW5hKiwgUmVuZGVyU3R5bGUqKTsKICAgICAKICAgICBwcm90ZWN0ZWQ6Ci0gICAgICAg
IHZpcnR1YWwgY29uc3QgU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSBjb25zdCB7IHJldHVy
biB0aGlzOyB9CisgICAgICAgIHZpcnR1YWwgU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSB7
IHJldHVybiB0aGlzOyB9CiAKICAgICBwcml2YXRlOgotICAgICAgICBBTklNQVRFRF9QUk9QRVJU
WV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBib29s
LCBFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQor
ICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdEZWZzRWxl
bWVudCwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgYm9vbCwgRXh0ZXJuYWxSZXNvdXJj
ZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkKICAgICB9OwogCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmNwcAkocmV2aXNpb24gMzQ4ODcpCisrKyBX
ZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAK
IC8qCi0gICAgQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2LCAyMDA3IE5pa29sYXMgWmlt
bWVybWFubiA8emltbWVybWFubkBrZGUub3JnPgorICAgIENvcHlyaWdodCAoQykgMjAwNCwgMjAw
NSwgMjAwNiwgMjAwNywgMjAwOCBOaWtvbGFzIFppbW1lcm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9y
Zz4KICAgICAgICAgICAgICAgICAgIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDggUm9iIEJ1aXMgPGJ1
aXNAa2RlLm9yZz4KICAgICBDb3B5cmlnaHQgKEMpIDIwMDggQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgogCkBAIC0yNjksNiArMjY5LDI4IEBAIHZvaWQgU1ZHRWxlbWVudDo6YXR0cmli
dXRlQ2hhbmdlZChBdHRyaWIKICAgICBzdmdBdHRyaWJ1dGVDaGFuZ2VkKGF0dHItPm5hbWUoKSk7
CiB9CiAKK3ZvaWQgU1ZHRWxlbWVudDo6dXBkYXRlQW5pbWF0ZWRTVkdBdHRyaWJ1dGUoU3RyaW5n
SW1wbCogbmFtZSkgY29uc3QKK3sKKyAgICBpZiAobV9zeW5jaHJvbml6aW5nU1ZHQXR0cmlidXRl
cykKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9zeW5jaHJvbml6aW5nU1ZHQXR0cmlidXRlcyA9
IHRydWU7CisKKyAgICBpZiAobmFtZSkKKyAgICAgICAgaW52b2tlU1ZHUHJvcGVydHlTeW5jaHJv
bml6ZXIobmFtZSk7CisgICAgZWxzZSB7CisgICAgICAgIGludm9rZUFsbFNWR1Byb3BlcnR5U3lu
Y2hyb25pemVycygpOworICAgICAgICBzZXRTeW5jaHJvbml6ZWRTVkdBdHRyaWJ1dGVzKHRydWUp
OworICAgIH0KKworICAgIG1fc3luY2hyb25pemluZ1NWR0F0dHJpYnV0ZXMgPSBmYWxzZTsKK30K
Kwordm9pZCBTVkdFbGVtZW50OjpzZXRTeW5jaHJvbml6ZWRTVkdBdHRyaWJ1dGVzKGJvb2wgdmFs
dWUpIGNvbnN0Cit7CisgICAgbV9hcmVTVkdBdHRyaWJ1dGVzVmFsaWQgPSB2YWx1ZTsKK30KKwog
fQogCiAjZW5kaWYgLy8gRU5BQkxFKFNWRykKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0VsZW1lbnQu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmgJKHJldmlzaW9uIDM0ODg3
KQorKysgV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMSwyOCAr
MzEsMTAxIEBACiAjaW5jbHVkZSAiU1ZHRG9jdW1lbnRFeHRlbnNpb25zLmgiCiAjaW5jbHVkZSAi
U1ZHTmFtZXMuaCIKIAorLy8gSGVscGVyIGNsYXNzIGZvciBBTklNQVRFRF9QUk9QRVJUWSogbWFj
cm9zCit0ZW1wbGF0ZTx0eXBlbmFtZSBTdG9yZWRUeXBlPgorY2xhc3MgU3RvcmVkVHlwZVdpdGhE
aXJ0eUZsYWcgeworcHVibGljOgorICAgIFN0b3JlZFR5cGVXaXRoRGlydHlGbGFnKCkKKyAgICAg
ICAgOiB2YWx1ZSgpCisgICAgICAgICwgZGlydHkoZmFsc2UpCisgICAgeworICAgIH0KKworICAg
IFN0b3JlZFR5cGVXaXRoRGlydHlGbGFnKGNvbnN0IFN0b3JlZFR5cGUmIG90aGVyKQorICAgICAg
ICA6IHZhbHVlKG90aGVyKQorICAgICAgICAsIGRpcnR5KGZhbHNlKQorICAgIHsKKyAgICB9CisK
KyAgICBTdG9yZWRUeXBlV2l0aERpcnR5RmxhZyhjb25zdCBTdG9yZWRUeXBlV2l0aERpcnR5Rmxh
ZyYgb3RoZXIpCisgICAgICAgIDogdmFsdWUob3RoZXIudmFsdWUpCisgICAgICAgICwgZGlydHko
b3RoZXIuZGlydHkpCisgICAgeworICAgIH0KKworICAgIFN0b3JlZFR5cGUmIG9wZXJhdG9yPShj
b25zdCBTdG9yZWRUeXBlJiBvdGhlcikKKyAgICB7CisgICAgICAgIHZhbHVlID0gb3RoZXI7Cisg
ICAgICAgIGRpcnR5ID0gdHJ1ZTsKKyAgICAgICAgcmV0dXJuIHZhbHVlOworICAgIH0KKworICAg
IFN0b3JlZFR5cGVXaXRoRGlydHlGbGFnJiBvcGVyYXRvcj0oY29uc3QgU3RvcmVkVHlwZVdpdGhE
aXJ0eUZsYWcmIG90aGVyKQorICAgIHsKKyAgICAgICAgdmFsdWUgPSBvdGhlci52YWx1ZTsKKyAg
ICAgICAgZGlydHkgPSBvdGhlci5kaXJ0eTsKKyAgICAgICAgcmV0dXJuICgqdGhpcyk7CisgICAg
fQorCisgICAgYm9vbCBvcGVyYXRvcj09KGNvbnN0IFN0b3JlZFR5cGUmIG90aGVyKSBjb25zdAor
ICAgIHsKKyAgICAgICAgcmV0dXJuIHZhbHVlID09IG90aGVyLnZhbHVlOworICAgIH0KKworICAg
IGJvb2wgb3BlcmF0b3IhPShjb25zdCBTdG9yZWRUeXBlJiBvdGhlcikgY29uc3QKKyAgICB7Cisg
ICAgICAgIHJldHVybiAhKCgqdGhpcykgPT0gb3RoZXIpOworICAgIH0KKworICAgIGJvb2wgb3Bl
cmF0b3I9PShjb25zdCBTdG9yZWRUeXBlV2l0aERpcnR5RmxhZyYgb3RoZXIpIGNvbnN0CisgICAg
eworICAgICAgICByZXR1cm4gZGlydHkgPT0gb3RoZXIuZGlydHkgJiYgdmFsdWUgPT0gb3RoZXIu
dmFsdWU7CisgICAgfQorCisgICAgYm9vbCBvcGVyYXRvciE9KGNvbnN0IFN0b3JlZFR5cGVXaXRo
RGlydHlGbGFnJiBvdGhlcikgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiAhKCgqdGhpcykg
PT0gb3RoZXIpOworICAgIH0KKworICAgIG9wZXJhdG9yIFN0b3JlZFR5cGUoKSBjb25zdAorICAg
IHsKKyAgICAgICAgcmV0dXJuIHZhbHVlOyAgICAKKyAgICB9CisKKyAgICBTdG9yZWRUeXBlIHZh
bHVlOworICAgIGJvb2wgZGlydHk7Cit9OworCiAjZGVmaW5lIEFOSU1BVEVEX1BST1BFUlRZX0VN
UFRZX0RFQ0xBUkFUSU9OUyhCYXJlVHlwZSwgTnVsbFR5cGUsIFVwcGVyUHJvcGVydHksIExvd2Vy
UHJvcGVydHkpIFwKIHB1YmxpYzogXAogICAgIHZpcnR1YWwgQmFyZVR5cGUgTG93ZXJQcm9wZXJ0
eSgpIGNvbnN0IHsgQVNTRVJUX05PVF9SRUFDSEVEKCk7IHJldHVybiBOdWxsVHlwZTsgfSBcCiAg
ICAgdmlydHVhbCB2b2lkIHNldCMjVXBwZXJQcm9wZXJ0eShCYXJlVHlwZSBuZXdWYWx1ZSkgeyBB
U1NFUlRfTk9UX1JFQUNIRUQoKTsgfVwKICAgICB2aXJ0dWFsIEJhcmVUeXBlIExvd2VyUHJvcGVy
dHkjI0Jhc2VWYWx1ZSgpIGNvbnN0IHsgQVNTRVJUX05PVF9SRUFDSEVEKCk7IHJldHVybiBOdWxs
VHlwZTsgfSBcCiAgICAgdmlydHVhbCB2b2lkIHNldCMjVXBwZXJQcm9wZXJ0eSMjQmFzZVZhbHVl
KEJhcmVUeXBlIG5ld1ZhbHVlKSB7IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOyB9IFwKLSAgICB2aXJ0
dWFsIHZvaWQgc3RhcnQjI1VwcGVyUHJvcGVydHkoKSBjb25zdCB7IEFTU0VSVF9OT1RfUkVBQ0hF
RCgpOyB9IFwKKyAgICB2aXJ0dWFsIHZvaWQgc3luY2hyb25pemUjI1VwcGVyUHJvcGVydHkoKSB7
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOyB9IFwKKyAgICB2aXJ0dWFsIFNWR0VsZW1lbnQ6OkFuaW1h
dGVkUHJvcGVydHlTeW5jaHJvbml6ZXIgc3luY2hyb25pemVyRm9yIyNVcHBlclByb3BlcnR5KCkg
eyBBU1NFUlRfTk9UX1JFQUNIRUQoKTsgcmV0dXJuIDA7IH0gXAorICAgIHZpcnR1YWwgdm9pZCBz
dGFydCMjVXBwZXJQcm9wZXJ0eSgpIHsgQVNTRVJUX05PVF9SRUFDSEVEKCk7IH0gXAogICAgIHZp
cnR1YWwgdm9pZCBzdG9wIyNVcHBlclByb3BlcnR5KCkgeyBBU1NFUlRfTk9UX1JFQUNIRUQoKTsg
fQogCi0jZGVmaW5lIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJT05TKEZvcndh
cmRDbGFzcywgQmFyZVR5cGUsIFVwcGVyUHJvcGVydHksIExvd2VyUHJvcGVydHkpIFwKKyNkZWZp
bmUgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMoQ2xhc3NUeXBlLCBGb3J3
YXJkQ2xhc3MsIEJhcmVUeXBlLCBVcHBlclByb3BlcnR5LCBMb3dlclByb3BlcnR5KSBcCiBwdWJs
aWM6IFwKICAgICB2aXJ0dWFsIEJhcmVUeXBlIExvd2VyUHJvcGVydHkoKSBjb25zdCB7IHJldHVy
biBGb3J3YXJkQ2xhc3M6Okxvd2VyUHJvcGVydHkoKTsgfSBcCiAgICAgdmlydHVhbCB2b2lkIHNl
dCMjVXBwZXJQcm9wZXJ0eShCYXJlVHlwZSBuZXdWYWx1ZSkgeyBGb3J3YXJkQ2xhc3M6OnNldCMj
VXBwZXJQcm9wZXJ0eShuZXdWYWx1ZSk7IH0gXAogICAgIHZpcnR1YWwgQmFyZVR5cGUgTG93ZXJQ
cm9wZXJ0eSMjQmFzZVZhbHVlKCkgY29uc3QgeyByZXR1cm4gRm9yd2FyZENsYXNzOjpMb3dlclBy
b3BlcnR5IyNCYXNlVmFsdWUoKTsgfSBcCiAgICAgdmlydHVhbCB2b2lkIHNldCMjVXBwZXJQcm9w
ZXJ0eSMjQmFzZVZhbHVlKEJhcmVUeXBlIG5ld1ZhbHVlKSB7IEZvcndhcmRDbGFzczo6c2V0IyNV
cHBlclByb3BlcnR5IyNCYXNlVmFsdWUobmV3VmFsdWUpOyB9IFwKLSAgICB2aXJ0dWFsIHZvaWQg
c3RhcnQjI1VwcGVyUHJvcGVydHkoKSBjb25zdCB7IEZvcndhcmRDbGFzczo6c3RhcnQjI1VwcGVy
UHJvcGVydHkoKTsgfSBcCisgICAgdmlydHVhbCB2b2lkIHN5bmNocm9uaXplIyNVcHBlclByb3Bl
cnR5KCkgeyBGb3J3YXJkQ2xhc3M6OnN5bmNocm9uaXplIyNVcHBlclByb3BlcnR5KCk7IH0gXAor
ICAgIHZpcnR1YWwgU1ZHRWxlbWVudDo6QW5pbWF0ZWRQcm9wZXJ0eVN5bmNocm9uaXplciBzeW5j
aHJvbml6ZXJGb3IjI1VwcGVyUHJvcGVydHkoKSB7IHJldHVybiBzdGF0aWNfY2FzdDxTVkdFbGVt
ZW50OjpBbmltYXRlZFByb3BlcnR5U3luY2hyb25pemVyPigmQ2xhc3NUeXBlOjpzeW5jaHJvbml6
ZSMjVXBwZXJQcm9wZXJ0eSk7IH0gXAorICAgIHZpcnR1YWwgdm9pZCBzdGFydCMjVXBwZXJQcm9w
ZXJ0eSgpIHsgRm9yd2FyZENsYXNzOjpzdGFydCMjVXBwZXJQcm9wZXJ0eSgpOyB9IFwKICAgICB2
aXJ0dWFsIHZvaWQgc3RvcCMjVXBwZXJQcm9wZXJ0eSgpIHsgRm9yd2FyZENsYXNzOjpzdG9wIyNV
cHBlclByb3BlcnR5KCk7IH0KIAogI2RlZmluZSBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElP
TlNfSU5URVJOQUwoQ2xhc3NUeXBlLCBDbGFzc1N0b3JhZ2VUeXBlLCBCYXJlVHlwZSwgU3RvcmFn
ZVR5cGUsIFVwcGVyUHJvcGVydHksIExvd2VyUHJvcGVydHkpIFwKLWNsYXNzIFNWR0FuaW1hdGVk
VGVtcGxhdGUjI1VwcGVyUHJvcGVydHkgOiBwdWJsaWMgU1ZHQW5pbWF0ZWRUZW1wbGF0ZTxCYXJl
VHlwZT4geyBcCitjbGFzcyBTVkdBbmltYXRlZFRlbXBsYXRlIyNVcHBlclByb3BlcnR5IFwKKzog
cHVibGljIFNWR0FuaW1hdGVkVHlwZTxCYXJlVHlwZT4gXAoreyBcCiBwdWJsaWM6IFwKLSAgICBz
dGF0aWMgUGFzc1JlZlB0cjxTVkdBbmltYXRlZFRlbXBsYXRlIyNVcHBlclByb3BlcnR5PiBjcmVh
dGUoY29uc3QgQ2xhc3NUeXBlKiBlbGVtZW50LCBjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyaWJ1
dGVOYW1lKSBcCisgICAgU1ZHQW5pbWF0ZWRUZW1wbGF0ZSMjVXBwZXJQcm9wZXJ0eShDbGFzc1R5
cGUqLCBjb25zdCBRdWFsaWZpZWROYW1lJik7IFwKKyAgICB2aXJ0dWFsIH5TVkdBbmltYXRlZFRl
bXBsYXRlIyNVcHBlclByb3BlcnR5KCkgeyB9IFwKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxTVkdB
bmltYXRlZFRlbXBsYXRlIyNVcHBlclByb3BlcnR5PiBjcmVhdGUoQ2xhc3NUeXBlKiBlbGVtZW50
LCBjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyaWJ1dGVOYW1lKSBcCiAgICAgeyBcCiAgICAgICAg
IHJldHVybiBhZG9wdFJlZihuZXcgU1ZHQW5pbWF0ZWRUZW1wbGF0ZSMjVXBwZXJQcm9wZXJ0eShl
bGVtZW50LCBhdHRyaWJ1dGVOYW1lKSk7IFwKICAgICB9IFwKQEAgLTcwLDE2ICsxNDMsNDYgQEAg
cHVibGljOiBcCiAgICAgdm9pZCBzZXQjI1VwcGVyUHJvcGVydHkoQmFyZVR5cGUpOyBcCiAgICAg
QmFyZVR5cGUgTG93ZXJQcm9wZXJ0eSMjQmFzZVZhbHVlKCkgY29uc3Q7IFwKICAgICB2b2lkIHNl
dCMjVXBwZXJQcm9wZXJ0eSMjQmFzZVZhbHVlKEJhcmVUeXBlKTsgXAotICAgIFBhc3NSZWZQdHI8
U1ZHQW5pbWF0ZWRUZW1wbGF0ZSMjVXBwZXJQcm9wZXJ0eT4gTG93ZXJQcm9wZXJ0eSMjQW5pbWF0
ZWQoKSBjb25zdDsgXAotICAgIHZvaWQgc3RhcnQjI1VwcGVyUHJvcGVydHkoKSBjb25zdDsgXAor
ICAgIFBhc3NSZWZQdHI8U1ZHQW5pbWF0ZWRUZW1wbGF0ZSMjVXBwZXJQcm9wZXJ0eT4gTG93ZXJQ
cm9wZXJ0eSMjQW5pbWF0ZWQoKTsgXAorICAgIHZvaWQgc3luY2hyb25pemUjI1VwcGVyUHJvcGVy
dHkoKTsgXAorICAgIFNWR0VsZW1lbnQ6OkFuaW1hdGVkUHJvcGVydHlTeW5jaHJvbml6ZXIgc3lu
Y2hyb25pemVyRm9yIyNVcHBlclByb3BlcnR5KCk7IFwKKyAgICB2b2lkIHN0YXJ0IyNVcHBlclBy
b3BlcnR5KCk7IFwKICAgICB2b2lkIHN0b3AjI1VwcGVyUHJvcGVydHkoKTsgXAogXAogcHJpdmF0
ZTogXAotICAgIFN0b3JhZ2VUeXBlIG1fIyNMb3dlclByb3BlcnR5OworICAgIFN0b3JlZFR5cGVX
aXRoRGlydHlGbGFnPFN0b3JhZ2VUeXBlPiBtXyMjTG93ZXJQcm9wZXJ0eTsKKworI2RlZmluZSBB
TklNQVRFRF9QUk9QRVJUWV9TVEFSVF9ERUNMQVJBVElPTlMoQ2xhc3NUeXBlKSBcCitwdWJsaWM6
IFwKKyAgICB2aXJ0dWFsIHZvaWQgaW52b2tlU1ZHUHJvcGVydHlTeW5jaHJvbml6ZXIoU3RyaW5n
SW1wbCogc3RyaW5nSW1wbCkgY29uc3QgXAorICAgIHsgXAorICAgICAgICBpZiAobV9zdmdQcm9w
ZXJ0eVVwZGF0ZU1hcC5jb250YWlucyhzdHJpbmdJbXBsKSkgeyBcCisgICAgICAgICAgICBTVkdF
bGVtZW50OjpBbmltYXRlZFByb3BlcnR5U3luY2hyb25pemVyIHVwZGF0ZU1ldGhvZCA9IG1fc3Zn
UHJvcGVydHlVcGRhdGVNYXAuZ2V0KHN0cmluZ0ltcGwpOyBcCisgICAgICAgICAgICAoY29uc3Rf
Y2FzdDxDbGFzc1R5cGUqPih0aGlzKS0+KnVwZGF0ZU1ldGhvZCkoKTsgXAorICAgICAgICB9IFwK
KyAgICB9IFwKK1wKKyAgICB2aXJ0dWFsIHZvaWQgaW52b2tlQWxsU1ZHUHJvcGVydHlTeW5jaHJv
bml6ZXJzKCkgY29uc3QgXAorICAgIHsgXAorICAgICAgICBIYXNoTWFwPFN0cmluZ0ltcGwqLCBT
VkdFbGVtZW50OjpBbmltYXRlZFByb3BlcnR5U3luY2hyb25pemVyPjo6Y29uc3RfaXRlcmF0b3Ig
aXQgPSBtX3N2Z1Byb3BlcnR5VXBkYXRlTWFwLmJlZ2luKCk7IFwKKyAgICAgICAgY29uc3QgSGFz
aE1hcDxTdHJpbmdJbXBsKiwgU1ZHRWxlbWVudDo6QW5pbWF0ZWRQcm9wZXJ0eVN5bmNocm9uaXpl
cj46OmNvbnN0X2l0ZXJhdG9yIGVuZCA9IG1fc3ZnUHJvcGVydHlVcGRhdGVNYXAuZW5kKCk7IFwK
KyAgICAgICAgZm9yICg7IGl0ICE9IGVuZDsgKytpdCkgeyBcCisgICAgICAgICAgICBTVkdFbGVt
ZW50OjpBbmltYXRlZFByb3BlcnR5U3luY2hyb25pemVyIHVwZGF0ZU1ldGhvZCA9IGl0LT5zZWNv
bmQ7IFwKKyAgICAgICAgICAgIChjb25zdF9jYXN0PENsYXNzVHlwZSo+KHRoaXMpLT4qdXBkYXRl
TWV0aG9kKSgpOyBcCisgICAgICAgIH0gXAorICAgIH0gXAorXAorICAgIHZpcnR1YWwgdm9pZCBh
ZGRTVkdQcm9wZXJ0eVN5bmNocm9uaXplcihjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyTmFtZSwg
U1ZHRWxlbWVudDo6QW5pbWF0ZWRQcm9wZXJ0eVN5bmNocm9uaXplciBtZXRob2QpIFwKKyAgICB7
IFwKKyAgICAgICAgbV9zdmdQcm9wZXJ0eVVwZGF0ZU1hcC5zZXQoYXR0ck5hbWUubG9jYWxOYW1l
KCkuaW1wbCgpLCBtZXRob2QpOyBcCisgICAgfSBcCitcCitwcml2YXRlOiBcCisgICAgSGFzaE1h
cDxTdHJpbmdJbXBsKiwgU1ZHRWxlbWVudDo6QW5pbWF0ZWRQcm9wZXJ0eVN5bmNocm9uaXplcj4g
bV9zdmdQcm9wZXJ0eVVwZGF0ZU1hcDsKIAogI2RlZmluZSBBTklNQVRFRF9QUk9QRVJUWV9ERUZJ
TklUSU9OU19JTlRFUk5BTChDbGFzc05hbWUsIENsYXNzVHlwZSwgQmFyZVR5cGUsIFVwcGVyQ2xh
c3NOYW1lLCBMb3dlckNsYXNzTmFtZSwgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9wZXJ0eSwgQXR0
ck5hbWUsIFN0b3JhZ2VHZXR0ZXIsIENvbnRleHRFbGVtZW50KSBcCi1DbGFzc05hbWU6OlNWR0Fu
aW1hdGVkVGVtcGxhdGUjI1VwcGVyUHJvcGVydHk6OlNWR0FuaW1hdGVkVGVtcGxhdGUjI1VwcGVy
UHJvcGVydHkoY29uc3QgQ2xhc3NUeXBlKiBlbGVtZW50LCBjb25zdCBRdWFsaWZpZWROYW1lJiBh
dHRyaWJ1dGVOYW1lKSBcCi06IFNWR0FuaW1hdGVkVGVtcGxhdGU8QmFyZVR5cGU+KGF0dHJpYnV0
ZU5hbWUpLCBtX2VsZW1lbnQoY29uc3RfY2FzdDxDbGFzc1R5cGUqPihlbGVtZW50KSkgeyB9IFwK
K0NsYXNzTmFtZTo6U1ZHQW5pbWF0ZWRUZW1wbGF0ZSMjVXBwZXJQcm9wZXJ0eTo6U1ZHQW5pbWF0
ZWRUZW1wbGF0ZSMjVXBwZXJQcm9wZXJ0eShDbGFzc1R5cGUqIGVsZW1lbnQsIGNvbnN0IFF1YWxp
ZmllZE5hbWUmIGF0dHJpYnV0ZU5hbWUpIFwKKzogU1ZHQW5pbWF0ZWRUeXBlPEJhcmVUeXBlPihh
dHRyaWJ1dGVOYW1lKSwgbV9lbGVtZW50KGVsZW1lbnQpIHsgfSBcCiBcCiBCYXJlVHlwZSBDbGFz
c05hbWU6OlNWR0FuaW1hdGVkVGVtcGxhdGUjI1VwcGVyUHJvcGVydHk6OmJhc2VWYWwoKSBjb25z
dCBcCiB7IFwKQEAgLTEwNCw0OSArMjA3LDc0IEBAIEJhcmVUeXBlIENsYXNzTmFtZTo6TG93ZXJQ
cm9wZXJ0eSgpIGNvbnMKIHZvaWQgQ2xhc3NOYW1lOjpzZXQjI1VwcGVyUHJvcGVydHkoQmFyZVR5
cGUgbmV3VmFsdWUpIFwKIHsgXAogICAgIG1fIyNMb3dlclByb3BlcnR5ID0gbmV3VmFsdWU7IFwK
K1wKKyAgICBTVkdFbGVtZW50KiBjb250ZXh0ID0gQ29udGV4dEVsZW1lbnQ7IFwKKyAgICBBU1NF
UlQoY29udGV4dCk7IFwKKyAgICBjb250ZXh0LT5zZXRTeW5jaHJvbml6ZWRTVkdBdHRyaWJ1dGVz
KGZhbHNlKTsgXAogfSBcCiBCYXJlVHlwZSBDbGFzc05hbWU6Okxvd2VyUHJvcGVydHkjI0Jhc2VW
YWx1ZSgpIGNvbnN0IFwKIHsgXAotICAgIGNvbnN0IFNWR0VsZW1lbnQqIGNvbnRleHQgPSBDb250
ZXh0RWxlbWVudDsgXAorICAgIFNWR0VsZW1lbnQqIGNvbnRleHQgPSBDb250ZXh0RWxlbWVudDsg
XAogICAgIEFTU0VSVChjb250ZXh0KTsgXAogICAgIFNWR0RvY3VtZW50RXh0ZW5zaW9ucyogZXh0
ZW5zaW9ucyA9IChjb250ZXh0LT5kb2N1bWVudCgpID8gY29udGV4dC0+ZG9jdW1lbnQoKS0+YWNj
ZXNzU1ZHRXh0ZW5zaW9ucygpIDogMCk7IFwKLSAgICBpZiAoZXh0ZW5zaW9ucyAmJiBleHRlbnNp
b25zLT5oYXNCYXNlVmFsdWU8QmFyZVR5cGU+KGNvbnRleHQsIEF0dHJOYW1lKSkgXAotICAgICAg
ICAgcmV0dXJuIGV4dGVuc2lvbnMtPmJhc2VWYWx1ZTxCYXJlVHlwZT4oY29udGV4dCwgQXR0ck5h
bWUpOyBcCisgICAgaWYgKGV4dGVuc2lvbnMgJiYgZXh0ZW5zaW9ucy0+aGFzQmFzZVZhbHVlPEJh
cmVUeXBlPihjb250ZXh0LCBBdHRyTmFtZS5sb2NhbE5hbWUoKSkpIFwKKyAgICAgICAgIHJldHVy
biBleHRlbnNpb25zLT5iYXNlVmFsdWU8QmFyZVR5cGU+KGNvbnRleHQsIEF0dHJOYW1lLmxvY2Fs
TmFtZSgpKTsgXAogICAgIHJldHVybiBMb3dlclByb3BlcnR5KCk7IFwKIH0gXAorXAogdm9pZCBD
bGFzc05hbWU6OnNldCMjVXBwZXJQcm9wZXJ0eSMjQmFzZVZhbHVlKEJhcmVUeXBlIG5ld1ZhbHVl
KSBcCiB7IFwKLSAgICBjb25zdCBTVkdFbGVtZW50KiBjb250ZXh0ID0gQ29udGV4dEVsZW1lbnQ7
IFwKKyAgICBTVkdFbGVtZW50KiBjb250ZXh0ID0gQ29udGV4dEVsZW1lbnQ7IFwKICAgICBBU1NF
UlQoY29udGV4dCk7IFwKICAgICBTVkdEb2N1bWVudEV4dGVuc2lvbnMqIGV4dGVuc2lvbnMgPSAo
Y29udGV4dC0+ZG9jdW1lbnQoKSA/IGNvbnRleHQtPmRvY3VtZW50KCktPmFjY2Vzc1NWR0V4dGVu
c2lvbnMoKSA6IDApOyBcCi0gICAgaWYgKGV4dGVuc2lvbnMgJiYgZXh0ZW5zaW9ucy0+aGFzQmFz
ZVZhbHVlPEJhcmVUeXBlPihjb250ZXh0LCBBdHRyTmFtZSkpIHsgXAotICAgICAgICBleHRlbnNp
b25zLT5zZXRCYXNlVmFsdWU8QmFyZVR5cGU+KGNvbnRleHQsIEF0dHJOYW1lLCBuZXdWYWx1ZSk7
IFwKKyAgICBpZiAoZXh0ZW5zaW9ucyAmJiBleHRlbnNpb25zLT5oYXNCYXNlVmFsdWU8QmFyZVR5
cGU+KGNvbnRleHQsIEF0dHJOYW1lLmxvY2FsTmFtZSgpKSkgeyBcCisgICAgICAgIGV4dGVuc2lv
bnMtPnNldEJhc2VWYWx1ZTxCYXJlVHlwZT4oY29udGV4dCwgQXR0ck5hbWUubG9jYWxOYW1lKCks
IG5ld1ZhbHVlKTsgXAogICAgICAgICByZXR1cm47IFwKICAgICB9IFwKICAgICAvKiBPbmx5IHVw
ZGF0ZSBzdG9yZWQgcHJvcGVydHksIGlmIG5vdCBhbmltYXRpbmcgKi8gXAogICAgIHNldCMjVXBw
ZXJQcm9wZXJ0eShuZXdWYWx1ZSk7IFwKIH0gXAogXAotdm9pZCBDbGFzc05hbWU6OnN0YXJ0IyNV
cHBlclByb3BlcnR5KCkgY29uc3QgXAordm9pZCBDbGFzc05hbWU6OnN5bmNocm9uaXplIyNVcHBl
clByb3BlcnR5KCkgXAogeyBcCi0gICAgY29uc3QgU1ZHRWxlbWVudCogY29udGV4dCA9IENvbnRl
eHRFbGVtZW50OyBcCisgICAgaWYgKCFtXyMjTG93ZXJQcm9wZXJ0eS5kaXJ0eSkgXAorICAgICAg
ICByZXR1cm47IFwKKyAgICBTVkdFbGVtZW50KiBjb250ZXh0ID0gQ29udGV4dEVsZW1lbnQ7IFwK
KyAgICBBU1NFUlQoY29udGV4dCk7IFwKKyAgICBSZWZQdHI8Q2xhc3NOYW1lOjpTVkdBbmltYXRl
ZFRlbXBsYXRlIyNVcHBlclByb3BlcnR5PiBhbmltYXRlZENsYXNzKExvd2VyUHJvcGVydHkjI0Fu
aW1hdGVkKCkpOyBcCisgICAgQVNTRVJUKGFuaW1hdGVkQ2xhc3MpOyBcCisgICAgQXRvbWljU3Ry
aW5nIHZhbHVlKGFuaW1hdGVkQ2xhc3MtPnRvU3RyaW5nKCkpOyBcCisgICAgTmFtZWRBdHRyTWFw
KiBuYW1lZEF0dHJNYXAgPSBjb250ZXh0LT5hdHRyaWJ1dGVzKGZhbHNlKTsgXAorICAgIEF0dHJp
YnV0ZSogb2xkID0gbmFtZWRBdHRyTWFwLT5nZXRBdHRyaWJ1dGVJdGVtKEF0dHJOYW1lKTsgXAor
ICAgIGlmIChvbGQgJiYgdmFsdWUuaXNOdWxsKCkpIFwKKyAgICAgICAgbmFtZWRBdHRyTWFwLT5y
ZW1vdmVBdHRyaWJ1dGUob2xkLT5uYW1lKCkpOyBcCisgICAgZWxzZSBpZiAoIW9sZCAmJiAhdmFs
dWUuaXNOdWxsKCkpIFwKKyAgICAgICAgbmFtZWRBdHRyTWFwLT5hZGRBdHRyaWJ1dGUoY29udGV4
dC0+Y3JlYXRlQXR0cmlidXRlKFF1YWxpZmllZE5hbWUobnVsbEF0b20sIEF0dHJOYW1lLmxvY2Fs
TmFtZSgpLCBudWxsQXRvbSksIHZhbHVlKSk7IFwKKyAgICBlbHNlIGlmIChvbGQgJiYgIXZhbHVl
LmlzTnVsbCgpKSBcCisgICAgICAgIG9sZC0+c2V0VmFsdWUodmFsdWUpOyBcCisgICAgbV8jI0xv
d2VyUHJvcGVydHkuZGlydHkgPSBmYWxzZTsgXAorfSBcCitcCit2b2lkIENsYXNzTmFtZTo6c3Rh
cnQjI1VwcGVyUHJvcGVydHkoKSBcCit7IFwKKyAgICBTVkdFbGVtZW50KiBjb250ZXh0ID0gQ29u
dGV4dEVsZW1lbnQ7IFwKICAgICBBU1NFUlQoY29udGV4dCk7IFwKICAgICBTVkdEb2N1bWVudEV4
dGVuc2lvbnMqIGV4dGVuc2lvbnMgPSAoY29udGV4dC0+ZG9jdW1lbnQoKSA/IGNvbnRleHQtPmRv
Y3VtZW50KCktPmFjY2Vzc1NWR0V4dGVuc2lvbnMoKSA6IDApOyBcCiAgICAgaWYgKGV4dGVuc2lv
bnMpIHsgXAotICAgICAgICBBU1NFUlQoIWV4dGVuc2lvbnMtPmhhc0Jhc2VWYWx1ZTxCYXJlVHlw
ZT4oY29udGV4dCwgQXR0ck5hbWUpKTsgXAotICAgICAgICBleHRlbnNpb25zLT5zZXRCYXNlVmFs
dWU8QmFyZVR5cGU+KGNvbnRleHQsIEF0dHJOYW1lLCBMb3dlclByb3BlcnR5KCkpOyBcCisgICAg
ICAgIEFTU0VSVCghZXh0ZW5zaW9ucy0+aGFzQmFzZVZhbHVlPEJhcmVUeXBlPihjb250ZXh0LCBB
dHRyTmFtZS5sb2NhbE5hbWUoKSkpOyBcCisgICAgICAgIGV4dGVuc2lvbnMtPnNldEJhc2VWYWx1
ZTxCYXJlVHlwZT4oY29udGV4dCwgQXR0ck5hbWUubG9jYWxOYW1lKCksIExvd2VyUHJvcGVydHko
KSk7IFwKICAgICB9IFwKIH0gXAogXAogdm9pZCBDbGFzc05hbWU6OnN0b3AjI1VwcGVyUHJvcGVy
dHkoKSBcCiB7IFwKLSAgICBjb25zdCBTVkdFbGVtZW50KiBjb250ZXh0ID0gQ29udGV4dEVsZW1l
bnQ7IFwKKyAgICBTVkdFbGVtZW50KiBjb250ZXh0ID0gQ29udGV4dEVsZW1lbnQ7IFwKICAgICBB
U1NFUlQoY29udGV4dCk7IFwKICAgICBTVkdEb2N1bWVudEV4dGVuc2lvbnMqIGV4dGVuc2lvbnMg
PSAoY29udGV4dC0+ZG9jdW1lbnQoKSA/IGNvbnRleHQtPmRvY3VtZW50KCktPmFjY2Vzc1NWR0V4
dGVuc2lvbnMoKSA6IDApOyBcCiAgICAgaWYgKGV4dGVuc2lvbnMpIHsgXAotICAgICAgICBBU1NF
UlQoZXh0ZW5zaW9ucy0+aGFzQmFzZVZhbHVlPEJhcmVUeXBlPihjb250ZXh0LCBBdHRyTmFtZSkp
OyBcCi0gICAgICAgIHNldCMjVXBwZXJQcm9wZXJ0eShleHRlbnNpb25zLT5iYXNlVmFsdWU8QmFy
ZVR5cGU+KGNvbnRleHQsIEF0dHJOYW1lKSk7IFwKLSAgICAgICAgZXh0ZW5zaW9ucy0+cmVtb3Zl
QmFzZVZhbHVlPEJhcmVUeXBlPihjb250ZXh0LCBBdHRyTmFtZSk7IFwKKyAgICAgICAgQVNTRVJU
KGV4dGVuc2lvbnMtPmhhc0Jhc2VWYWx1ZTxCYXJlVHlwZT4oY29udGV4dCwgQXR0ck5hbWUubG9j
YWxOYW1lKCkpKTsgXAorICAgICAgICBzZXQjI1VwcGVyUHJvcGVydHkoZXh0ZW5zaW9ucy0+YmFz
ZVZhbHVlPEJhcmVUeXBlPihjb250ZXh0LCBBdHRyTmFtZS5sb2NhbE5hbWUoKSkpOyBcCisgICAg
ICAgIGV4dGVuc2lvbnMtPnJlbW92ZUJhc2VWYWx1ZTxCYXJlVHlwZT4oY29udGV4dCwgQXR0ck5h
bWUubG9jYWxOYW1lKCkpOyBcCiAgICAgfSBcCiB9CiAKQEAgLTE1OCwyNCArMjg2LDQ0IEBAIEFO
SU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OU19JTlRFUk5BTCgKIEFOSU1BVEVEX1BST1BFUlRZ
X0RFQ0xBUkFUSU9OU19JTlRFUk5BTChDbGFzc05hbWUsIFJlZlB0cjxDbGFzc05hbWU+LCBCYXJl
VHlwZSwgU3RvcmFnZVR5cGUsIFVwcGVyUHJvcGVydHksIExvd2VyUHJvcGVydHkpCiAKICNkZWZp
bmUgQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlNfV0lUSF9DT05URVhUKENsYXNzTmFtZSwg
QmFyZVR5cGUsIFVwcGVyQ2xhc3NOYW1lLCBMb3dlckNsYXNzTmFtZSwgVXBwZXJQcm9wZXJ0eSwg
TG93ZXJQcm9wZXJ0eSwgQXR0ck5hbWUsIFN0b3JhZ2VHZXR0ZXIpIFwKLUFOSU1BVEVEX1BST1BF
UlRZX0RFRklOSVRJT05TX0lOVEVSTkFMKENsYXNzTmFtZSwgU1ZHRWxlbWVudCwgQmFyZVR5cGUs
IFVwcGVyQ2xhc3NOYW1lLCBMb3dlckNsYXNzTmFtZSwgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9w
ZXJ0eSwgQXR0ck5hbWUubG9jYWxOYW1lKCksIFN0b3JhZ2VHZXR0ZXIsIGNvbnRleHRFbGVtZW50
KCkpIFwKLVBhc3NSZWZQdHI8Q2xhc3NOYW1lOjpTVkdBbmltYXRlZFRlbXBsYXRlIyNVcHBlclBy
b3BlcnR5PiBDbGFzc05hbWU6Okxvd2VyUHJvcGVydHkjI0FuaW1hdGVkKCkgY29uc3QgXAorQU5J
TUFURURfUFJPUEVSVFlfREVGSU5JVElPTlNfSU5URVJOQUwoQ2xhc3NOYW1lLCBTVkdFbGVtZW50
LCBCYXJlVHlwZSwgVXBwZXJDbGFzc05hbWUsIExvd2VyQ2xhc3NOYW1lLCBVcHBlclByb3BlcnR5
LCBMb3dlclByb3BlcnR5LCBBdHRyTmFtZSwgU3RvcmFnZUdldHRlciwgY29uc3RfY2FzdDxDbGFz
c05hbWUqPih0aGlzKS0+Y29udGV4dEVsZW1lbnQoKSkgXAorUGFzc1JlZlB0cjxDbGFzc05hbWU6
OlNWR0FuaW1hdGVkVGVtcGxhdGUjI1VwcGVyUHJvcGVydHk+IENsYXNzTmFtZTo6TG93ZXJQcm9w
ZXJ0eSMjQW5pbWF0ZWQoKSBcCiB7IFwKLSAgICBjb25zdCBTVkdFbGVtZW50KiBjb250ZXh0ID0g
Y29udGV4dEVsZW1lbnQoKTsgXAorICAgIFNWR0VsZW1lbnQqIGNvbnRleHQgPSBjb250ZXh0RWxl
bWVudCgpOyBcCiAgICAgQVNTRVJUKGNvbnRleHQpOyBcCi0gICAgcmV0dXJuIGxvb2t1cE9yQ3Jl
YXRlV3JhcHBlcjxDbGFzc05hbWU6OlNWR0FuaW1hdGVkVGVtcGxhdGUjI1VwcGVyUHJvcGVydHks
IFNWR0VsZW1lbnQ+KGNvbnRleHQsIEF0dHJOYW1lLCBBdHRyTmFtZS5sb2NhbE5hbWUoKSk7IFwK
KyAgICByZXR1cm4gbG9va3VwT3JDcmVhdGVXcmFwcGVyPENsYXNzTmFtZTo6U1ZHQW5pbWF0ZWRU
ZW1wbGF0ZSMjVXBwZXJQcm9wZXJ0eSwgU1ZHRWxlbWVudD4oY29udGV4dCwgQXR0ck5hbWUsIEF0
dHJOYW1lLmxvY2FsTmFtZSgpLCBjb250ZXh0LT5zeW5jaHJvbml6ZXJGb3IjI1VwcGVyUHJvcGVy
dHkoKSk7IFwKK30gXAorXAorU1ZHRWxlbWVudDo6QW5pbWF0ZWRQcm9wZXJ0eVN5bmNocm9uaXpl
ciBDbGFzc05hbWU6OnN5bmNocm9uaXplckZvciMjVXBwZXJQcm9wZXJ0eSgpIFwKK3sgXAorICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOyBcCisgICAgcmV0dXJuIDA7IFwKIH0KIAorI2RlZmluZSBB
TklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OU19SRUZDT1VOVEVEX1dJVEhfQ09OVEVYVChDbGFz
c05hbWUsIEJhcmVUeXBlLCBVcHBlckNsYXNzTmFtZSwgTG93ZXJDbGFzc05hbWUsIFVwcGVyUHJv
cGVydHksIExvd2VyUHJvcGVydHksIEF0dHJOYW1lLCBTdG9yYWdlR2V0dGVyKSBcCitBTklNQVRF
RF9QUk9QRVJUWV9ERUZJTklUSU9OU19XSVRIX0NPTlRFWFQoQ2xhc3NOYW1lLCBCYXJlVHlwZSos
IFVwcGVyQ2xhc3NOYW1lLCBMb3dlckNsYXNzTmFtZSwgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9w
ZXJ0eSwgQXR0ck5hbWUsIHN0YXRpY19jYXN0PFJlZlB0cjxCYXJlVHlwZT4gPihTdG9yYWdlR2V0
dGVyKS5nZXQoKSkKKwogI2RlZmluZSBBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OU19XSVRI
X0NVU1RPTV9JREVOVElGSUVSKENsYXNzTmFtZSwgQmFyZVR5cGUsIFVwcGVyQ2xhc3NOYW1lLCBM
b3dlckNsYXNzTmFtZSwgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9wZXJ0eSwgQXR0ck5hbWUsIEF0
dHJJZGVudGlmaWVyLCBTdG9yYWdlR2V0dGVyKSBcCi1BTklNQVRFRF9QUk9QRVJUWV9ERUZJTklU
SU9OU19JTlRFUk5BTChDbGFzc05hbWUsIENsYXNzTmFtZSwgQmFyZVR5cGUsIFVwcGVyQ2xhc3NO
YW1lLCBMb3dlckNsYXNzTmFtZSwgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9wZXJ0eSwgQXR0ck5h
bWUubG9jYWxOYW1lKCksIFN0b3JhZ2VHZXR0ZXIsIHRoaXMpIFwKLVBhc3NSZWZQdHI8Q2xhc3NO
YW1lOjpTVkdBbmltYXRlZFRlbXBsYXRlIyNVcHBlclByb3BlcnR5PiBDbGFzc05hbWU6Okxvd2Vy
UHJvcGVydHkjI0FuaW1hdGVkKCkgY29uc3QgXAorQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElP
TlNfSU5URVJOQUwoQ2xhc3NOYW1lLCBDbGFzc05hbWUsIEJhcmVUeXBlLCBVcHBlckNsYXNzTmFt
ZSwgTG93ZXJDbGFzc05hbWUsIFVwcGVyUHJvcGVydHksIExvd2VyUHJvcGVydHksIEF0dHJOYW1l
LCBTdG9yYWdlR2V0dGVyLCBjb25zdF9jYXN0PENsYXNzTmFtZSo+KHRoaXMpKSBcCitQYXNzUmVm
UHRyPENsYXNzTmFtZTo6U1ZHQW5pbWF0ZWRUZW1wbGF0ZSMjVXBwZXJQcm9wZXJ0eT4gQ2xhc3NO
YW1lOjpMb3dlclByb3BlcnR5IyNBbmltYXRlZCgpIFwKK3sgXAorICAgIHJldHVybiBsb29rdXBP
ckNyZWF0ZVdyYXBwZXI8Q2xhc3NOYW1lOjpTVkdBbmltYXRlZFRlbXBsYXRlIyNVcHBlclByb3Bl
cnR5LCBDbGFzc05hbWU+KHRoaXMsIEF0dHJOYW1lLCBBdHRySWRlbnRpZmllciwgc3luY2hyb25p
emVyRm9yIyNVcHBlclByb3BlcnR5KCkpOyBcCit9IFwKK1wKK1NWR0VsZW1lbnQ6OkFuaW1hdGVk
UHJvcGVydHlTeW5jaHJvbml6ZXIgQ2xhc3NOYW1lOjpzeW5jaHJvbml6ZXJGb3IjI1VwcGVyUHJv
cGVydHkoKSBcCiB7IFwKLSAgICByZXR1cm4gbG9va3VwT3JDcmVhdGVXcmFwcGVyPENsYXNzTmFt
ZTo6U1ZHQW5pbWF0ZWRUZW1wbGF0ZSMjVXBwZXJQcm9wZXJ0eSwgQ2xhc3NOYW1lPih0aGlzLCBB
dHRyTmFtZSwgQXR0cklkZW50aWZpZXIpOyBcCisgICAgcmV0dXJuIHN0YXRpY19jYXN0PFNWR0Vs
ZW1lbnQ6OkFuaW1hdGVkUHJvcGVydHlTeW5jaHJvbml6ZXI+KCZDbGFzc05hbWU6OnN5bmNocm9u
aXplIyNVcHBlclByb3BlcnR5KTsgXAogfQogCisjZGVmaW5lIEFOSU1BVEVEX1BST1BFUlRZX0RF
RklOSVRJT05TX1JFRkNPVU5URURfV0lUSF9DVVNUT01fSURFTlRJRklFUihDbGFzc05hbWUsIEJh
cmVUeXBlLCBVcHBlckNsYXNzTmFtZSwgTG93ZXJDbGFzc05hbWUsIFVwcGVyUHJvcGVydHksIExv
d2VyUHJvcGVydHksIEF0dHJOYW1lLCBBdHRySWRlbnRpZmllciwgU3RvcmFnZUdldHRlcikgXAor
QU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlNfV0lUSF9DVVNUT01fSURFTlRJRklFUihDbGFz
c05hbWUsIEJhcmVUeXBlKiwgVXBwZXJDbGFzc05hbWUsIExvd2VyQ2xhc3NOYW1lLCBVcHBlclBy
b3BlcnR5LCBMb3dlclByb3BlcnR5LCBBdHRyTmFtZSwgQXR0cklkZW50aWZpZXIsIHN0YXRpY19j
YXN0PFJlZlB0cjxCYXJlVHlwZT4gPihTdG9yYWdlR2V0dGVyKS5nZXQoKSkKKwogI2RlZmluZSBB
TklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhDbGFzc05hbWUsIEJhcmVUeXBlLCBVcHBlckNs
YXNzTmFtZSwgTG93ZXJDbGFzc05hbWUsIFVwcGVyUHJvcGVydHksIExvd2VyUHJvcGVydHksIEF0
dHJOYW1lLCBTdG9yYWdlR2V0dGVyKSBcCiBBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OU19X
SVRIX0NVU1RPTV9JREVOVElGSUVSKENsYXNzTmFtZSwgQmFyZVR5cGUsIFVwcGVyQ2xhc3NOYW1l
LCBMb3dlckNsYXNzTmFtZSwgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9wZXJ0eSwgQXR0ck5hbWUs
IEF0dHJOYW1lLmxvY2FsTmFtZSgpLCBTdG9yYWdlR2V0dGVyKQogCisjZGVmaW5lIEFOSU1BVEVE
X1BST1BFUlRZX0RFRklOSVRJT05TX1JFRkNPVU5URUQoQ2xhc3NOYW1lLCBCYXJlVHlwZSwgVXBw
ZXJDbGFzc05hbWUsIExvd2VyQ2xhc3NOYW1lLCBVcHBlclByb3BlcnR5LCBMb3dlclByb3BlcnR5
LCBBdHRyTmFtZSwgU3RvcmFnZUdldHRlcikgXAorQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElP
TlNfV0lUSF9DVVNUT01fSURFTlRJRklFUihDbGFzc05hbWUsIEJhcmVUeXBlKiwgVXBwZXJDbGFz
c05hbWUsIExvd2VyQ2xhc3NOYW1lLCBVcHBlclByb3BlcnR5LCBMb3dlclByb3BlcnR5LCBBdHRy
TmFtZSwgQXR0ck5hbWUubG9jYWxOYW1lKCksIHN0YXRpY19jYXN0PFJlZlB0cjxCYXJlVHlwZT4g
PihTdG9yYWdlR2V0dGVyKS5nZXQoKSkKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xh
c3MgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbzsKQEAgLTIyOSw2ICszNzcsNyBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgQWZmaW5lVHJhbnNmb3JtKiBzdXBwbGVtZW50YWxU
cmFuc2Zvcm0oKSB7IHJldHVybiAwOyB9CiAKICAgICAgICAgLy8gRm9yd2FyZGVkIHByb3BlcnRp
ZXMgKGRlY2xhcmVkL2RlZmluZWQgYW55d2hlcmUgZWxzZSBpbiB0aGUgaW5oZXJpdGFuY2Ugc3Ry
dWN0dXJlKQorICAgICAgICB0eXBlZGVmIHZvaWQgKFNWR0VsZW1lbnQ6OipBbmltYXRlZFByb3Bl
cnR5U3luY2hyb25pemVyKSgpOwogCiAgICAgICAgIC8vIC0+IEZvciBTVkdVUklSZWZlcmVuY2UK
ICAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfRU1QVFlfREVDTEFSQVRJT05TKFN0cmluZywgU3Ry
aW5nKCksIEhyZWYsIGhyZWYpCkBAIC0yNDIsNiArMzkxLDEzIEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogICAgICAgICB2aXJ0dWFsIGJvb2wgZGlzcGF0Y2hFdmVudChQYXNzUmVmUHRyPEV2ZW50
PiBlLCBFeGNlcHRpb25Db2RlJiBlYywgYm9vbCB0ZW1wRXZlbnQgPSBmYWxzZSk7CiAKKyAgICAg
ICAgdmlydHVhbCB2b2lkIGludm9rZVNWR1Byb3BlcnR5U3luY2hyb25pemVyKFN0cmluZ0ltcGwq
KSBjb25zdCB7IH0KKyAgICAgICAgdmlydHVhbCB2b2lkIGludm9rZUFsbFNWR1Byb3BlcnR5U3lu
Y2hyb25pemVycygpIGNvbnN0IHsgfQorICAgICAgICB2aXJ0dWFsIHZvaWQgYWRkU1ZHUHJvcGVy
dHlTeW5jaHJvbml6ZXIoY29uc3QgUXVhbGlmaWVkTmFtZSYsIEFuaW1hdGVkUHJvcGVydHlTeW5j
aHJvbml6ZXIpIHsgQVNTRVJUX05PVF9SRUFDSEVEKCk7IH0KKworICAgICAgICB2aXJ0dWFsIHZv
aWQgdXBkYXRlQW5pbWF0ZWRTVkdBdHRyaWJ1dGUoU3RyaW5nSW1wbCopIGNvbnN0OworICAgICAg
ICB2aXJ0dWFsIHZvaWQgc2V0U3luY2hyb25pemVkU1ZHQXR0cmlidXRlcyhib29sKSBjb25zdDsK
KwogICAgIHByaXZhdGU6CiAgICAgICAgIHZvaWQgYWRkU1ZHRXZlbnRMaXN0ZW5lcihjb25zdCBB
dG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgY29uc3QgQXR0cmlidXRlKik7CiAgICAgICAgIHZpcnR1
YWwgYm9vbCBoYXZlTG9hZGVkUmVxdWlyZWRSZXNvdXJjZXMoKTsKSW5kZXg6IFdlYkNvcmUvc3Zn
L1NWR0VsbGlwc2VFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdFbGxp
cHNlRWxlbWVudC5jcHAJKHJldmlzaW9uIDM0ODg3KQorKysgV2ViQ29yZS9zdmcvU1ZHRWxsaXBz
ZUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNywxMCArMzcsMTAgQEAgU1ZHRWxsaXBz
ZUVsZW1lbnQ6OlNWR0VsbGlwc2VFbGVtZW50KGNvbgogICAgICwgU1ZHVGVzdHMoKQogICAgICwg
U1ZHTGFuZ1NwYWNlKCkKICAgICAsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQoKQotICAg
ICwgbV9jeCh0aGlzLCBMZW5ndGhNb2RlV2lkdGgpCi0gICAgLCBtX2N5KHRoaXMsIExlbmd0aE1v
ZGVIZWlnaHQpCi0gICAgLCBtX3J4KHRoaXMsIExlbmd0aE1vZGVXaWR0aCkKLSAgICAsIG1fcnko
dGhpcywgTGVuZ3RoTW9kZUhlaWdodCkKKyAgICAsIG1fY3goU1ZHTGVuZ3RoKHRoaXMsIExlbmd0
aE1vZGVXaWR0aCkpCisgICAgLCBtX2N5KFNWR0xlbmd0aCh0aGlzLCBMZW5ndGhNb2RlSGVpZ2h0
KSkKKyAgICAsIG1fcngoU1ZHTGVuZ3RoKHRoaXMsIExlbmd0aE1vZGVXaWR0aCkpCisgICAgLCBt
X3J5KFNWR0xlbmd0aCh0aGlzLCBMZW5ndGhNb2RlSGVpZ2h0KSkKIHsKIH0gICAgCiAKSW5kZXg6
IFdlYkNvcmUvc3ZnL1NWR0VsbGlwc2VFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9z
dmcvU1ZHRWxsaXBzZUVsZW1lbnQuaAkocmV2aXNpb24gMzQ4ODcpCisrKyBXZWJDb3JlL3N2Zy9T
VkdFbGxpcHNlRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC00NywxMSArNDcsMTEgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIFBhdGggdG9QYXRoRGF0YSgpIGNvbnN0
OwogCiAgICAgcHJvdGVjdGVkOgotICAgICAgICB2aXJ0dWFsIGNvbnN0IFNWR0VsZW1lbnQqIGNv
bnRleHRFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gdGhpczsgfQorICAgICAgICB2aXJ0dWFsIFNW
R0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgeyByZXR1cm4gdGhpczsgfQogICAgICAgICB2aXJ0
dWFsIGJvb2wgaGFzUmVsYXRpdmVWYWx1ZXMoKSBjb25zdDsKIAogICAgIHByaXZhdGU6Ci0gICAg
ICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJT05TKFNWR0V4dGVybmFsUmVz
b3VyY2VzUmVxdWlyZWQsIGJvb2wsIEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFs
UmVzb3VyY2VzUmVxdWlyZWQpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVD
TEFSQVRJT05TKFNWR0VsbGlwc2VFbGVtZW50LCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVk
LCBib29sLCBFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVp
cmVkKQogIAogICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRWxsaXBz
ZUVsZW1lbnQsIFNWR0xlbmd0aCwgU1ZHTGVuZ3RoLCBDeCwgY3gpCiAgICAgICAgIEFOSU1BVEVE
X1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdFbGxpcHNlRWxlbWVudCwgU1ZHTGVuZ3RoLCBTVkdM
ZW5ndGgsIEN5LCBjeSkKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0V4dGVybmFsUmVzb3VyY2VzUmVx
dWlyZWQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdFeHRlcm5hbFJlc291cmNlc1Jl
cXVpcmVkLmgJKHJldmlzaW9uIDM0ODg3KQorKysgV2ViQ29yZS9zdmcvU1ZHRXh0ZXJuYWxSZXNv
dXJjZXNSZXF1aXJlZC5oCSh3b3JraW5nIGNvcHkpCkBAIC01MCw3ICs1MCw3IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICAgICAgYm9vbCBpc0tub3duQXR0cmlidXRlKGNvbnN0IFF1YWxpZmll
ZE5hbWUmKTsKIAogICAgIHByb3RlY3RlZDoKLSAgICAgICAgdmlydHVhbCBjb25zdCBTVkdFbGVt
ZW50KiBjb250ZXh0RWxlbWVudCgpIGNvbnN0ID0gMDsKKyAgICAgICAgdmlydHVhbCBTVkdFbGVt
ZW50KiBjb250ZXh0RWxlbWVudCgpID0gMDsKIAogICAgIHByaXZhdGU6CiAgICAgICAgIEFOSU1B
VEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OU19XSVRIX0NPTlRFWFQoU1ZHRXh0ZXJuYWxSZXNvdXJj
ZXNSZXF1aXJlZCwgYm9vbCwgYm9vbCwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJu
YWxSZXNvdXJjZXNSZXF1aXJlZCkKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0ZFQmxlbmRFbGVtZW50
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHRkVCbGVuZEVsZW1lbnQuaAkocmV2aXNp
b24gMzQ4ODcpCisrKyBXZWJDb3JlL3N2Zy9TVkdGRUJsZW5kRWxlbWVudC5oCSh3b3JraW5nIGNv
cHkpCkBAIC0zOSw3ICszOSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlCiAgICAgICAgIHZpcnR1YWwg
U1ZHRkVCbGVuZCogZmlsdGVyRWZmZWN0KFNWR1Jlc291cmNlRmlsdGVyKikgY29uc3Q7CiAKICAg
ICBwcm90ZWN0ZWQ6Ci0gICAgICAgIHZpcnR1YWwgY29uc3QgU1ZHRWxlbWVudCogY29udGV4dEVs
ZW1lbnQoKSBjb25zdCB7IHJldHVybiB0aGlzOyB9CisgICAgICAgIHZpcnR1YWwgU1ZHRWxlbWVu
dCogY29udGV4dEVsZW1lbnQoKSB7IHJldHVybiB0aGlzOyB9CiAKICAgICBwcml2YXRlOgogICAg
ICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRkVCbGVuZEVsZW1lbnQsIFN0
cmluZywgU3RyaW5nLCBJbjEsIGluMSkKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0ZFQ29sb3JNYXRy
aXhFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdGRUNvbG9yTWF0cml4
RWxlbWVudC5jcHAJKHJldmlzaW9uIDM0ODg3KQorKysgV2ViQ29yZS9zdmcvU1ZHRkVDb2xvck1h
dHJpeEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NSw3ICs0NSw3IEBAIFNWR0ZFQ29s
b3JNYXRyaXhFbGVtZW50Ojp+U1ZHRkVDb2xvck1hdHIKIAogQU5JTUFURURfUFJPUEVSVFlfREVG
SU5JVElPTlMoU1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQsIFN0cmluZywgU3RyaW5nLCBzdHJpbmcs
IEluMSwgaW4xLCBTVkdOYW1lczo6aW5BdHRyLCBtX2luMSkKIEFOSU1BVEVEX1BST1BFUlRZX0RF
RklOSVRJT05TKFNWR0ZFQ29sb3JNYXRyaXhFbGVtZW50LCBpbnQsIEVudW1lcmF0aW9uLCBlbnVt
ZXJhdGlvbiwgVHlwZSwgdHlwZSwgU1ZHTmFtZXM6OnR5cGVBdHRyLCBtX3R5cGUpCi1BTklNQVRF
RF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdGRUNvbG9yTWF0cml4RWxlbWVudCwgU1ZHTnVtYmVy
TGlzdCosIE51bWJlckxpc3QsIG51bWJlckxpc3QsIFZhbHVlcywgdmFsdWVzLCBTVkdOYW1lczo6
dmFsdWVzQXR0ciwgbV92YWx1ZXMuZ2V0KCkpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9O
U19SRUZDT1VOVEVEKFNWR0ZFQ29sb3JNYXRyaXhFbGVtZW50LCBTVkdOdW1iZXJMaXN0LCBOdW1i
ZXJMaXN0LCBudW1iZXJMaXN0LCBWYWx1ZXMsIHZhbHVlcywgU1ZHTmFtZXM6OnZhbHVlc0F0dHIs
IG1fdmFsdWVzKQogCiB2b2lkIFNWR0ZFQ29sb3JNYXRyaXhFbGVtZW50OjpwYXJzZU1hcHBlZEF0
dHJpYnV0ZShNYXBwZWRBdHRyaWJ1dGUqIGF0dHIpCiB7CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdG
RUNvbG9yTWF0cml4RWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0ZFQ29s
b3JNYXRyaXhFbGVtZW50LmgJKHJldmlzaW9uIDM0ODg3KQorKysgV2ViQ29yZS9zdmcvU1ZHRkVD
b2xvck1hdHJpeEVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNDEsNyArNDEsNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZQogICAgICAgICB2aXJ0dWFsIFNWR0ZFQ29sb3JNYXRyaXgqIGZpbHRlckVm
ZmVjdChTVkdSZXNvdXJjZUZpbHRlciopIGNvbnN0OwogCiAgICAgcHJvdGVjdGVkOgotICAgICAg
ICB2aXJ0dWFsIGNvbnN0IFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgY29uc3QgeyByZXR1
cm4gdGhpczsgfQorICAgICAgICB2aXJ0dWFsIFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkg
eyByZXR1cm4gdGhpczsgfQogCiAgICAgcHJpdmF0ZToKICAgICAgICAgQU5JTUFURURfUFJPUEVS
VFlfREVDTEFSQVRJT05TKFNWR0ZFQ29sb3JNYXRyaXhFbGVtZW50LCBTdHJpbmcsIFN0cmluZywg
SW4xLCBpbjEpCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdGRUNvbXBvbmVudFRyYW5zZmVyRWxlbWVu
dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0ZFQ29tcG9uZW50VHJhbnNmZXJFbGVt
ZW50LmgJKHJldmlzaW9uIDM0ODg3KQorKysgV2ViQ29yZS9zdmcvU1ZHRkVDb21wb25lbnRUcmFu
c2ZlckVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNDAsNyArNDAsNyBAQCBuYW1lc3BhY2Ug
V2ViQ29yZQogICAgICAgICB2aXJ0dWFsIFNWR0ZFQ29tcG9uZW50VHJhbnNmZXIqIGZpbHRlckVm
ZmVjdChTVkdSZXNvdXJjZUZpbHRlciopIGNvbnN0OwogCiAgICAgcHJvdGVjdGVkOgotICAgICAg
ICB2aXJ0dWFsIGNvbnN0IFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgY29uc3QgeyByZXR1
cm4gdGhpczsgfQorICAgICAgICB2aXJ0dWFsIFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkg
eyByZXR1cm4gdGhpczsgfQogCiAgICAgcHJpdmF0ZToKICAgICAgICAgQU5JTUFURURfUFJPUEVS
VFlfREVDTEFSQVRJT05TKFNWR0ZFQ29tcG9uZW50VHJhbnNmZXJFbGVtZW50LCBTdHJpbmcsIFN0
cmluZywgSW4xLCBpbjEpCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdGRUNvbXBvc2l0ZUVsZW1lbnQu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdGRUNvbXBvc2l0ZUVsZW1lbnQuaAkocmV2
aXNpb24gMzQ4ODcpCisrKyBXZWJDb3JlL3N2Zy9TVkdGRUNvbXBvc2l0ZUVsZW1lbnQuaAkod29y
a2luZyBjb3B5KQpAQCAtNDAsNyArNDAsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZQogICAgICAgICB2
aXJ0dWFsIFNWR0ZFQ29tcG9zaXRlKiBmaWx0ZXJFZmZlY3QoU1ZHUmVzb3VyY2VGaWx0ZXIqKSBj
b25zdDsKIAogICAgIHByb3RlY3RlZDoKLSAgICAgICAgdmlydHVhbCBjb25zdCBTVkdFbGVtZW50
KiBjb250ZXh0RWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIHRoaXM7IH0KKyAgICAgICAgdmlydHVh
bCBTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCgpIHsgcmV0dXJuIHRoaXM7IH0KIAogICAgIHBy
aXZhdGU6CiAgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdGRUNvbXBv
c2l0ZUVsZW1lbnQsIFN0cmluZywgU3RyaW5nLCBJbjEsIGluMSkKSW5kZXg6IFdlYkNvcmUvc3Zn
L1NWR0ZFRGlmZnVzZUxpZ2h0aW5nRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3Zn
L1NWR0ZFRGlmZnVzZUxpZ2h0aW5nRWxlbWVudC5oCShyZXZpc2lvbiAzNDg4NykKKysrIFdlYkNv
cmUvc3ZnL1NWR0ZFRGlmZnVzZUxpZ2h0aW5nRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0z
OSw3ICszOSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVhbCBTVkdGaWx0
ZXJFZmZlY3QqIGZpbHRlckVmZmVjdChTVkdSZXNvdXJjZUZpbHRlciopIGNvbnN0OwogCiAgICAg
cHJvdGVjdGVkOgotICAgICAgICB2aXJ0dWFsIGNvbnN0IFNWR0VsZW1lbnQqIGNvbnRleHRFbGVt
ZW50KCkgY29uc3QgeyByZXR1cm4gdGhpczsgfQorICAgICAgICB2aXJ0dWFsIFNWR0VsZW1lbnQq
IGNvbnRleHRFbGVtZW50KCkgeyByZXR1cm4gdGhpczsgfQogCiAgICAgcHJpdmF0ZToKICAgICAg
ICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0ZFRGlmZnVzZUxpZ2h0aW5nRWxl
bWVudCwgU3RyaW5nLCBTdHJpbmcsIEluMSwgaW4xKQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHRkVE
aXNwbGFjZW1lbnRNYXBFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHRkVE
aXNwbGFjZW1lbnRNYXBFbGVtZW50LmgJKHJldmlzaW9uIDM0ODg3KQorKysgV2ViQ29yZS9zdmcv
U1ZHRkVEaXNwbGFjZW1lbnRNYXBFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTM3LDcgKzM3
LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIFNWR0ZFRGlzcGxhY2Vt
ZW50TWFwKiBmaWx0ZXJFZmZlY3QoU1ZHUmVzb3VyY2VGaWx0ZXIqKSBjb25zdDsKICAgICAgICAg
CiAgICAgcHJvdGVjdGVkOgotICAgICAgICB2aXJ0dWFsIGNvbnN0IFNWR0VsZW1lbnQqIGNvbnRl
eHRFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gdGhpczsgfQorICAgICAgICB2aXJ0dWFsIFNWR0Vs
ZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgeyByZXR1cm4gdGhpczsgfQogCiAgICAgcHJpdmF0ZToK
ICAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0ZFRGlzcGxhY2VtZW50
TWFwRWxlbWVudCwgU3RyaW5nLCBTdHJpbmcsIEluMSwgaW4xKQpJbmRleDogV2ViQ29yZS9zdmcv
U1ZHRkVGbG9vZEVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdGRUZsb29k
RWxlbWVudC5oCShyZXZpc2lvbiAzNDg4NykKKysrIFdlYkNvcmUvc3ZnL1NWR0ZFRmxvb2RFbGVt
ZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTM5LDcgKzM5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUK
ICAgICAgICAgdmlydHVhbCBTVkdGRUZsb29kKiBmaWx0ZXJFZmZlY3QoU1ZHUmVzb3VyY2VGaWx0
ZXIqKSBjb25zdDsKIAogICAgIHByb3RlY3RlZDoKLSAgICAgICAgdmlydHVhbCBjb25zdCBTVkdF
bGVtZW50KiBjb250ZXh0RWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIHRoaXM7IH0KKyAgICAgICAg
dmlydHVhbCBTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCgpIHsgcmV0dXJuIHRoaXM7IH0KIAog
ICAgIHByaXZhdGU6CiAgICAgICAgIG11dGFibGUgUmVmUHRyPFNWR0ZFRmxvb2Q+IG1fZmlsdGVy
RWZmZWN0OwpJbmRleDogV2ViQ29yZS9zdmcvU1ZHRkVHYXVzc2lhbkJsdXJFbGVtZW50LmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHRkVHYXVzc2lhbkJsdXJFbGVtZW50LmgJKHJldmlz
aW9uIDM0ODg3KQorKysgV2ViQ29yZS9zdmcvU1ZHRkVHYXVzc2lhbkJsdXJFbGVtZW50LmgJKHdv
cmtpbmcgY29weSkKQEAgLTQyLDcgKzQyLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUKICAgICAgICAg
dmlydHVhbCBTVkdGRUdhdXNzaWFuQmx1ciogZmlsdGVyRWZmZWN0KFNWR1Jlc291cmNlRmlsdGVy
KikgY29uc3Q7CiAKICAgICBwcm90ZWN0ZWQ6Ci0gICAgICAgIHZpcnR1YWwgY29uc3QgU1ZHRWxl
bWVudCogY29udGV4dEVsZW1lbnQoKSBjb25zdCB7IHJldHVybiB0aGlzOyB9CisgICAgICAgIHZp
cnR1YWwgU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSB7IHJldHVybiB0aGlzOyB9CiAKICAg
ICBwcml2YXRlOgogICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRkVH
YXVzc2lhbkJsdXJFbGVtZW50LCBTdHJpbmcsIFN0cmluZywgSW4xLCBpbjEpCkluZGV4OiBXZWJD
b3JlL3N2Zy9TVkdGRUltYWdlRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcv
U1ZHRkVJbWFnZUVsZW1lbnQuY3BwCShyZXZpc2lvbiAzNDg4NykKKysrIFdlYkNvcmUvc3ZnL1NW
R0ZFSW1hZ2VFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTMsNyArNTMsNyBAQCBTVkdG
RUltYWdlRWxlbWVudDo6flNWR0ZFSW1hZ2VFbGVtZW50KCkKICAgICAgICAgbV9jYWNoZWRJbWFn
ZS0+cmVtb3ZlQ2xpZW50KHRoaXMpOwogfQogCi1BTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9O
UyhTVkdGRUltYWdlRWxlbWVudCwgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbyosIFByZXNlcnZlQXNw
ZWN0UmF0aW8sIHByZXNlcnZlQXNwZWN0UmF0aW8sIFByZXNlcnZlQXNwZWN0UmF0aW8sIHByZXNl
cnZlQXNwZWN0UmF0aW8sIFNWR05hbWVzOjpwcmVzZXJ2ZUFzcGVjdFJhdGlvQXR0ciwgbV9wcmVz
ZXJ2ZUFzcGVjdFJhdGlvLmdldCgpKQorQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlNfUkVG
Q09VTlRFRChTVkdGRUltYWdlRWxlbWVudCwgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbywgUHJlc2Vy
dmVBc3BlY3RSYXRpbywgcHJlc2VydmVBc3BlY3RSYXRpbywgUHJlc2VydmVBc3BlY3RSYXRpbywg
cHJlc2VydmVBc3BlY3RSYXRpbywgU1ZHTmFtZXM6OnByZXNlcnZlQXNwZWN0UmF0aW9BdHRyLCBt
X3ByZXNlcnZlQXNwZWN0UmF0aW8pCiAKIHZvaWQgU1ZHRkVJbWFnZUVsZW1lbnQ6OnBhcnNlTWFw
cGVkQXR0cmlidXRlKE1hcHBlZEF0dHJpYnV0ZSogYXR0cikKIHsKSW5kZXg6IFdlYkNvcmUvc3Zn
L1NWR0ZFSW1hZ2VFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHRkVJbWFn
ZUVsZW1lbnQuaAkocmV2aXNpb24gMzQ4ODcpCisrKyBXZWJDb3JlL3N2Zy9TVkdGRUltYWdlRWxl
bWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC01MiwxMSArNTIsMTEgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgICAgICB2aXJ0dWFsIFNWR0ZFSW1hZ2UqIGZpbHRlckVmZmVjdChTVkdSZXNvdXJj
ZUZpbHRlciopIGNvbnN0OwogCiAgICAgcHJvdGVjdGVkOgotICAgICAgICB2aXJ0dWFsIGNvbnN0
IFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gdGhpczsgfQorICAg
ICAgICB2aXJ0dWFsIFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgeyByZXR1cm4gdGhpczsg
fQogCiAgICAgcHJpdmF0ZToKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNM
QVJBVElPTlMoU1ZHVVJJUmVmZXJlbmNlLCBTdHJpbmcsIEhyZWYsIGhyZWYpCi0gICAgICAgIEFO
SU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJT05TKFNWR0V4dGVybmFsUmVzb3VyY2Vz
UmVxdWlyZWQsIGJvb2wsIEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3Vy
Y2VzUmVxdWlyZWQpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJ
T05TKFNWR0ZFSW1hZ2VFbGVtZW50LCBTVkdVUklSZWZlcmVuY2UsIFN0cmluZywgSHJlZiwgaHJl
ZikKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHRkVJ
bWFnZUVsZW1lbnQsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGJvb2wsIEV4dGVybmFs
UmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpCiAgCiAgICAgICAg
IEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdGRUltYWdlRWxlbWVudCwgU1ZHUHJl
c2VydmVBc3BlY3RSYXRpbyosIFJlZlB0cjxTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvPiwgUHJlc2Vy
dmVBc3BlY3RSYXRpbywgcHJlc2VydmVBc3BlY3RSYXRpbykKIApAQCAtNjgsNSArNjgsMyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKICNlbmRpZiAvLyBFTkFCTEUoU1ZHKQogI2VuZGlmCi0KLS8v
IHZpbTp0cz00Om5vZXQKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0ZFTGlnaHRFbGVtZW50LmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHRkVMaWdodEVsZW1lbnQuaAkocmV2aXNpb24gMzQ4
ODcpCisrKyBXZWJDb3JlL3N2Zy9TVkdGRUxpZ2h0RWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBA
IC00MCw2ICs0MCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlCiAgICAgICAgIHZpcnR1YWwgdm9pZCBw
YXJzZU1hcHBlZEF0dHJpYnV0ZShNYXBwZWRBdHRyaWJ1dGUqKTsKIAogICAgIHByaXZhdGU6Cisg
ICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX1NUQVJUX0RFQ0xBUkFUSU9OUyhTVkdGRUxpZ2h0RWxl
bWVudCkKICAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0ZFTGlnaHRF
bGVtZW50LCBmbG9hdCwgZmxvYXQsIEF6aW11dGgsIGF6aW11dGgpCiAgICAgICAgIEFOSU1BVEVE
X1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdGRUxpZ2h0RWxlbWVudCwgZmxvYXQsIGZsb2F0LCBF
bGV2YXRpb24sIGVsZXZhdGlvbikKICAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJ
T05TKFNWR0ZFTGlnaHRFbGVtZW50LCBmbG9hdCwgZmxvYXQsIFgsIHgpCkluZGV4OiBXZWJDb3Jl
L3N2Zy9TVkdGRU1lcmdlRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0ZF
TWVyZ2VFbGVtZW50LmgJKHJldmlzaW9uIDM0ODg3KQorKysgV2ViQ29yZS9zdmcvU1ZHRkVNZXJn
ZUVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMzgsNyArMzgsNyBAQCBuYW1lc3BhY2UgV2Vi
Q29yZQogICAgICAgICB2aXJ0dWFsIFNWR0ZFTWVyZ2UqIGZpbHRlckVmZmVjdChTVkdSZXNvdXJj
ZUZpbHRlciopIGNvbnN0OwogCiAgICAgcHJvdGVjdGVkOgotICAgICAgICB2aXJ0dWFsIGNvbnN0
IFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gdGhpczsgfQorICAg
ICAgICB2aXJ0dWFsIFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgeyByZXR1cm4gdGhpczsg
fQogCiAgICAgcHJpdmF0ZToKICAgICAgICAgbXV0YWJsZSBSZWZQdHI8U1ZHRkVNZXJnZT4gbV9m
aWx0ZXJFZmZlY3Q7CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdGRU1lcmdlTm9kZUVsZW1lbnQuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdGRU1lcmdlTm9kZUVsZW1lbnQuaAkocmV2aXNp
b24gMzQ4ODcpCisrKyBXZWJDb3JlL3N2Zy9TVkdGRU1lcmdlTm9kZUVsZW1lbnQuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMzcsOSArMzcsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUKICAgICAgICAgdmly
dHVhbCB2b2lkIHBhcnNlTWFwcGVkQXR0cmlidXRlKE1hcHBlZEF0dHJpYnV0ZSopOwogCiAgICAg
cHJvdGVjdGVkOgotICAgICAgICB2aXJ0dWFsIGNvbnN0IFNWR0VsZW1lbnQqIGNvbnRleHRFbGVt
ZW50KCkgY29uc3QgeyByZXR1cm4gdGhpczsgfQorICAgICAgICB2aXJ0dWFsIFNWR0VsZW1lbnQq
IGNvbnRleHRFbGVtZW50KCkgeyByZXR1cm4gdGhpczsgfQogCiAgICAgcHJpdmF0ZToKKyAgICAg
ICAgQU5JTUFURURfUFJPUEVSVFlfU1RBUlRfREVDTEFSQVRJT05TKFNWR0ZFTWVyZ2VOb2RlRWxl
bWVudCkKICAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0ZFTWVyZ2VO
b2RlRWxlbWVudCwgU3RyaW5nLCBTdHJpbmcsIEluMSwgaW4xKQogICAgIH07CiAKSW5kZXg6IFdl
YkNvcmUvc3ZnL1NWR0ZFT2Zmc2V0RWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3Zn
L1NWR0ZFT2Zmc2V0RWxlbWVudC5oCShyZXZpc2lvbiAzNDg4NykKKysrIFdlYkNvcmUvc3ZnL1NW
R0ZFT2Zmc2V0RWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC00MCw3ICs0MCw3IEBAIG5hbWVz
cGFjZSBXZWJDb3JlCiAgICAgICAgIHZpcnR1YWwgU1ZHRkVPZmZzZXQqIGZpbHRlckVmZmVjdChT
VkdSZXNvdXJjZUZpbHRlciopIGNvbnN0OwogCiAgICAgcHJvdGVjdGVkOgotICAgICAgICB2aXJ0
dWFsIGNvbnN0IFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gdGhp
czsgfQorICAgICAgICB2aXJ0dWFsIFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgeyByZXR1
cm4gdGhpczsgfQogCiAgICAgcHJpdmF0ZToKICAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVD
TEFSQVRJT05TKFNWR0ZFT2Zmc2V0RWxlbWVudCwgU3RyaW5nLCBTdHJpbmcsIEluMSwgaW4xKQpJ
bmRleDogV2ViQ29yZS9zdmcvU1ZHRkVTcGVjdWxhckxpZ2h0aW5nRWxlbWVudC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0ZFU3BlY3VsYXJMaWdodGluZ0VsZW1lbnQuaAkocmV2aXNp
b24gMzQ4ODcpCisrKyBXZWJDb3JlL3N2Zy9TVkdGRVNwZWN1bGFyTGlnaHRpbmdFbGVtZW50LmgJ
KHdvcmtpbmcgY29weSkKQEAgLTQwLDcgKzQwLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUKICAgICAg
ICAgdmlydHVhbCBTVkdGRVNwZWN1bGFyTGlnaHRpbmcqIGZpbHRlckVmZmVjdChTVkdSZXNvdXJj
ZUZpbHRlciopIGNvbnN0OwogCiAgICAgcHJvdGVjdGVkOgotICAgICAgICB2aXJ0dWFsIGNvbnN0
IFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gdGhpczsgfQorICAg
ICAgICB2aXJ0dWFsIFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgeyByZXR1cm4gdGhpczsg
fQogCiAgICAgcHJpdmF0ZToKICAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05T
KFNWR0ZFU3BlY3VsYXJMaWdodGluZ0VsZW1lbnQsIFN0cmluZywgU3RyaW5nLCBJbjEsIGluMSkK
SW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0ZFVGlsZUVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL3N2Zy9TVkdGRVRpbGVFbGVtZW50LmgJKHJldmlzaW9uIDM0ODg3KQorKysgV2ViQ29yZS9z
dmcvU1ZHRkVUaWxlRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zOSw3ICszOSw3IEBAIG5h
bWVzcGFjZSBXZWJDb3JlCiAgICAgICAgIHZpcnR1YWwgU1ZHRkVUaWxlKiBmaWx0ZXJFZmZlY3Qo
U1ZHUmVzb3VyY2VGaWx0ZXIqKSBjb25zdDsKIAogICAgIHByb3RlY3RlZDoKLSAgICAgICAgdmly
dHVhbCBjb25zdCBTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIHRo
aXM7IH0KKyAgICAgICAgdmlydHVhbCBTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCgpIHsgcmV0
dXJuIHRoaXM7IH0KIAogICAgIHByaXZhdGU6CiAgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RF
Q0xBUkFUSU9OUyhTVkdGRVRpbGVFbGVtZW50LCBTdHJpbmcsIFN0cmluZywgSW4xLCBpbjEpCklu
ZGV4OiBXZWJDb3JlL3N2Zy9TVkdGRVR1cmJ1bGVuY2VFbGVtZW50LmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9zdmcvU1ZHRkVUdXJidWxlbmNlRWxlbWVudC5oCShyZXZpc2lvbiAzNDg4NykKKysr
IFdlYkNvcmUvc3ZnL1NWR0ZFVHVyYnVsZW5jZUVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAt
NDUsNyArNDUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZQogICAgICAgICB2aXJ0dWFsIFNWR0ZFVHVy
YnVsZW5jZSogZmlsdGVyRWZmZWN0KFNWR1Jlc291cmNlRmlsdGVyKikgY29uc3Q7CiAKICAgICBw
cm90ZWN0ZWQ6Ci0gICAgICAgIHZpcnR1YWwgY29uc3QgU1ZHRWxlbWVudCogY29udGV4dEVsZW1l
bnQoKSBjb25zdCB7IHJldHVybiB0aGlzOyB9CisgICAgICAgIHZpcnR1YWwgU1ZHRWxlbWVudCog
Y29udGV4dEVsZW1lbnQoKSB7IHJldHVybiB0aGlzOyB9CiAKICAgICBwcml2YXRlOgogICAgICAg
ICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRkVUdXJidWxlbmNlRWxlbWVudCwg
ZmxvYXQsIGZsb2F0LCBCYXNlRnJlcXVlbmN5WCwgYmFzZUZyZXF1ZW5jeVgpCkluZGV4OiBXZWJD
b3JlL3N2Zy9TVkdGaWx0ZXJFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9T
VkdGaWx0ZXJFbGVtZW50LmNwcAkocmV2aXNpb24gMzQ4ODcpCisrKyBXZWJDb3JlL3N2Zy9TVkdG
aWx0ZXJFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDIsMTAgKzQyLDEwIEBAIFNWR0Zp
bHRlckVsZW1lbnQ6OlNWR0ZpbHRlckVsZW1lbnQoY29uc3QKICAgICAsIFNWR0V4dGVybmFsUmVz
b3VyY2VzUmVxdWlyZWQoKQogICAgICwgbV9maWx0ZXJVbml0cyhTVkdVbml0VHlwZXM6OlNWR19V
TklUX1RZUEVfT0JKRUNUQk9VTkRJTkdCT1gpCiAgICAgLCBtX3ByaW1pdGl2ZVVuaXRzKFNWR1Vu
aXRUeXBlczo6U1ZHX1VOSVRfVFlQRV9VU0VSU1BBQ0VPTlVTRSkKLSAgICAsIG1feCh0aGlzLCBM
ZW5ndGhNb2RlV2lkdGgpCi0gICAgLCBtX3kodGhpcywgTGVuZ3RoTW9kZUhlaWdodCkKLSAgICAs
IG1fd2lkdGgodGhpcywgTGVuZ3RoTW9kZVdpZHRoKQotICAgICwgbV9oZWlnaHQodGhpcywgTGVu
Z3RoTW9kZUhlaWdodCkKKyAgICAsIG1feChTVkdMZW5ndGgodGhpcywgTGVuZ3RoTW9kZVdpZHRo
KSkKKyAgICAsIG1feShTVkdMZW5ndGgodGhpcywgTGVuZ3RoTW9kZUhlaWdodCkpCisgICAgLCBt
X3dpZHRoKFNWR0xlbmd0aCh0aGlzLCBMZW5ndGhNb2RlV2lkdGgpKQorICAgICwgbV9oZWlnaHQo
U1ZHTGVuZ3RoKHRoaXMsIExlbmd0aE1vZGVIZWlnaHQpKQogICAgICwgbV9maWx0ZXJSZXNYKDAp
CiAgICAgLCBtX2ZpbHRlclJlc1koMCkKIHsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0ZpbHRlckVs
ZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdGaWx0ZXJFbGVtZW50LmgJKHJl
dmlzaW9uIDM0ODg3KQorKysgV2ViQ29yZS9zdmcvU1ZHRmlsdGVyRWxlbWVudC5oCSh3b3JraW5n
IGNvcHkpCkBAIC01MSwxMSArNTEsMTEgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2
aXJ0dWFsIGJvb2wgcmVuZGVyZXJJc05lZWRlZChSZW5kZXJTdHlsZSopIHsgcmV0dXJuIGZhbHNl
OyB9CiAKICAgICBwcm90ZWN0ZWQ6Ci0gICAgICAgIHZpcnR1YWwgY29uc3QgU1ZHRWxlbWVudCog
Y29udGV4dEVsZW1lbnQoKSBjb25zdCB7IHJldHVybiB0aGlzOyB9CisgICAgICAgIHZpcnR1YWwg
U1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSB7IHJldHVybiB0aGlzOyB9CiAKICAgICBwcml2
YXRlOgotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdV
UklSZWZlcmVuY2UsIFN0cmluZywgSHJlZiwgaHJlZikKLSAgICAgICAgQU5JTUFURURfUFJPUEVS
VFlfRk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgYm9v
bCwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkK
KyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHRmlsdGVy
RWxlbWVudCwgU1ZHVVJJUmVmZXJlbmNlLCBTdHJpbmcsIEhyZWYsIGhyZWYpCisgICAgICAgIEFO
SU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJT05TKFNWR0ZpbHRlckVsZW1lbnQsIFNW
R0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGJvb2wsIEV4dGVybmFsUmVzb3VyY2VzUmVxdWly
ZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpCiAgCiAgICAgICAgIEFOSU1BVEVEX1BST1BF
UlRZX0RFQ0xBUkFUSU9OUyhTVkdGaWx0ZXJFbGVtZW50LCBpbnQsIGludCwgRmlsdGVyVW5pdHMs
IGZpbHRlclVuaXRzKQogICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZH
RmlsdGVyRWxlbWVudCwgaW50LCBpbnQsIFByaW1pdGl2ZVVuaXRzLCBwcmltaXRpdmVVbml0cykK
QEAgLTczLDUgKzczLDMgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAjZW5kaWYgLy8gRU5BQkxF
KFNWRykKICNlbmRpZgotCi0vLyB2aW06dHM9NDpub2V0CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdG
aWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvc3ZnL1NWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcy5jcHAJKHJldmlzaW9u
IDM0ODg3KQorKysgV2ViQ29yZS9zdmcvU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1
dGVzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzYsMTAgKzM2LDEwIEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzOjpTVkdGaWx0ZXJQ
cmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwg
RG9jdW1lbnQqIGRvYykKICAgICA6IFNWR1N0eWxlZEVsZW1lbnQodGFnTmFtZSwgZG9jKQotICAg
ICwgbV94KHRoaXMsIExlbmd0aE1vZGVXaWR0aCkKLSAgICAsIG1feSh0aGlzLCBMZW5ndGhNb2Rl
SGVpZ2h0KQotICAgICwgbV93aWR0aCh0aGlzLCBMZW5ndGhNb2RlV2lkdGgpCi0gICAgLCBtX2hl
aWdodCh0aGlzLCBMZW5ndGhNb2RlSGVpZ2h0KQorICAgICwgbV94KFNWR0xlbmd0aCh0aGlzLCBM
ZW5ndGhNb2RlV2lkdGgpKQorICAgICwgbV95KFNWR0xlbmd0aCh0aGlzLCBMZW5ndGhNb2RlSGVp
Z2h0KSkKKyAgICAsIG1fd2lkdGgoU1ZHTGVuZ3RoKHRoaXMsIExlbmd0aE1vZGVXaWR0aCkpCisg
ICAgLCBtX2hlaWdodChTVkdMZW5ndGgodGhpcywgTGVuZ3RoTW9kZUhlaWdodCkpCiB7CiAgICAg
Ly8gU3BlYzogSWYgdGhlIGF0dHJpYnV0ZSBpcyBub3Qgc3BlY2lmaWVkLCB0aGUgZWZmZWN0IGlz
IGFzIGlmIGEgdmFsdWUgb2YgIjAlIiB3ZXJlIHNwZWNpZmllZC4KICAgICBzZXRYQmFzZVZhbHVl
KFNWR0xlbmd0aCh0aGlzLCBMZW5ndGhNb2RlV2lkdGgsICIwJSIpKTsKSW5kZXg6IFdlYkNvcmUv
c3ZnL1NWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcy5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvc3ZnL1NWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcy5oCShyZXZp
c2lvbiAzNDg4NykKKysrIFdlYkNvcmUvc3ZnL1NWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0
cmlidXRlcy5oCSh3b3JraW5nIGNvcHkpCkBAIC00Nyw3ICs0Nyw3IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICAgICAgdm9pZCBzZXRTdGFuZGFyZEF0dHJpYnV0ZXMoU1ZHRmlsdGVyRWZmZWN0
KikgY29uc3Q7CiAKICAgICBwcm90ZWN0ZWQ6Ci0gICAgICAgIHZpcnR1YWwgY29uc3QgU1ZHRWxl
bWVudCogY29udGV4dEVsZW1lbnQoKSBjb25zdCB7IHJldHVybiB0aGlzOyB9CisgICAgICAgIHZp
cnR1YWwgU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSB7IHJldHVybiB0aGlzOyB9CiAKICAg
ICBwcml2YXRlOgogICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRmls
dGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzLCBTVkdMZW5ndGgsIFNWR0xlbmd0aCwgWCwg
eCkKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0ZpdFRvVmlld0JveC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9zdmcvU1ZHRml0VG9WaWV3Qm94LmNwcAkocmV2aXNpb24gMzQ4ODcpCisrKyBXZWJD
b3JlL3N2Zy9TVkdGaXRUb1ZpZXdCb3guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Niw3ICs0Niw3
IEBAIFNWR0ZpdFRvVmlld0JveDo6flNWR0ZpdFRvVmlld0JveCgpCiB9CiAKIEFOSU1BVEVEX1BS
T1BFUlRZX0RFRklOSVRJT05TX1dJVEhfQ09OVEVYVChTVkdGaXRUb1ZpZXdCb3gsIEZsb2F0UmVj
dCwgUmVjdCwgcmVjdCwgVmlld0JveCwgdmlld0JveCwgU1ZHTmFtZXM6OnZpZXdCb3hBdHRyLCBt
X3ZpZXdCb3gpCi1BTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OU19XSVRIX0NPTlRFWFQoU1ZH
Rml0VG9WaWV3Qm94LCBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvKiwgUHJlc2VydmVBc3BlY3RSYXRp
bywgcHJlc2VydmVBc3BlY3RSYXRpbywgUHJlc2VydmVBc3BlY3RSYXRpbywgcHJlc2VydmVBc3Bl
Y3RSYXRpbywgU1ZHTmFtZXM6OnByZXNlcnZlQXNwZWN0UmF0aW9BdHRyLCBtX3ByZXNlcnZlQXNw
ZWN0UmF0aW8uZ2V0KCkpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OU19SRUZDT1VOVEVE
X1dJVEhfQ09OVEVYVChTVkdGaXRUb1ZpZXdCb3gsIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8sIFBy
ZXNlcnZlQXNwZWN0UmF0aW8sIHByZXNlcnZlQXNwZWN0UmF0aW8sIFByZXNlcnZlQXNwZWN0UmF0
aW8sIHByZXNlcnZlQXNwZWN0UmF0aW8sIFNWR05hbWVzOjpwcmVzZXJ2ZUFzcGVjdFJhdGlvQXR0
ciwgbV9wcmVzZXJ2ZUFzcGVjdFJhdGlvKQogCiBib29sIFNWR0ZpdFRvVmlld0JveDo6cGFyc2VW
aWV3Qm94KGNvbnN0IFVDaGFyKiYgYywgY29uc3QgVUNoYXIqIGVuZCwgZmxvYXQmIHgsIGZsb2F0
JiB5LCBmbG9hdCYgdywgZmxvYXQmIGgsIGJvb2wgdmFsaWRhdGUpCiB7CkluZGV4OiBXZWJDb3Jl
L3N2Zy9TVkdGaXRUb1ZpZXdCb3guaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdGaXRU
b1ZpZXdCb3guaAkocmV2aXNpb24gMzQ4ODcpCisrKyBXZWJDb3JlL3N2Zy9TVkdGaXRUb1ZpZXdC
b3guaAkod29ya2luZyBjb3B5KQpAQCAtMjUsMTEgKzI1LDExIEBACiAKICNpZiBFTkFCTEUoU1ZH
KQogI2luY2x1ZGUgIlNWR0VsZW1lbnQuaCIKKyNpbmNsdWRlICJTVkdQcmVzZXJ2ZUFzcGVjdFJh
dGlvLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIEFmZmluZVRyYW5zZm9y
bTsKLSAgICBjbGFzcyBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvOwogCiAgICAgY2xhc3MgU1ZHRml0
VG9WaWV3Qm94IHsKICAgICBwdWJsaWM6CkBAIC00NCw3ICs0NCw3IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICAgICAgYm9vbCBpc0tub3duQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUm
KTsKIAogICAgIHByb3RlY3RlZDoKLSAgICAgICAgdmlydHVhbCBjb25zdCBTVkdFbGVtZW50KiBj
b250ZXh0RWxlbWVudCgpIGNvbnN0ID0gMDsKKyAgICAgICAgdmlydHVhbCBTVkdFbGVtZW50KiBj
b250ZXh0RWxlbWVudCgpID0gMDsKIAogICAgIHByaXZhdGU6CiAgICAgICAgIEFOSU1BVEVEX1BS
T1BFUlRZX0RFQ0xBUkFUSU9OU19XSVRIX0NPTlRFWFQoU1ZHRml0VG9WaWV3Qm94LCBGbG9hdFJl
Y3QsIEZsb2F0UmVjdCwgVmlld0JveCwgdmlld0JveCkKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0Zv
bnRFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHRm9udEVsZW1lbnQuaAko
cmV2aXNpb24gMzQ4ODcpCisrKyBXZWJDb3JlL3N2Zy9TVkdGb250RWxlbWVudC5oCSh3b3JraW5n
IGNvcHkpCkBAIC0zOCw3ICszOCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmly
dHVhbCB+U1ZHRm9udEVsZW1lbnQoKTsKIAogICAgICAgICB2aXJ0dWFsIGJvb2wgcmVuZGVyZXJJ
c05lZWRlZChSZW5kZXJTdHlsZSopIHsgcmV0dXJuIGZhbHNlOyB9ICAgIAotICAgICAgICB2aXJ0
dWFsIGNvbnN0IFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gdGhp
czsgfQorICAgICAgICB2aXJ0dWFsIFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgeyByZXR1
cm4gdGhpczsgfQogCiAgICAgICAgIHZvaWQgaW52YWxpZGF0ZUdseXBoQ2FjaGUoKTsKIApJbmRl
eDogV2ViQ29yZS9zdmcvU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvc3ZnL1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50LmNwcAkocmV2aXNpb24gMzQ4ODcp
CisrKyBXZWJDb3JlL3N2Zy9TVkdGb3JlaWduT2JqZWN0RWxlbWVudC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTM5LDEwICszOSwxMCBAQCBTVkdGb3JlaWduT2JqZWN0RWxlbWVudDo6U1ZHRm9yZWln
bk9iamVjCiAgICAgLCBTVkdUZXN0cygpCiAgICAgLCBTVkdMYW5nU3BhY2UoKQogICAgICwgU1ZH
RXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCgpCi0gICAgLCBtX3godGhpcywgTGVuZ3RoTW9kZVdp
ZHRoKQotICAgICwgbV95KHRoaXMsIExlbmd0aE1vZGVIZWlnaHQpCi0gICAgLCBtX3dpZHRoKHRo
aXMsIExlbmd0aE1vZGVXaWR0aCkKLSAgICAsIG1faGVpZ2h0KHRoaXMsIExlbmd0aE1vZGVIZWln
aHQpCisgICAgLCBtX3goU1ZHTGVuZ3RoKHRoaXMsIExlbmd0aE1vZGVXaWR0aCkpCisgICAgLCBt
X3koU1ZHTGVuZ3RoKHRoaXMsIExlbmd0aE1vZGVIZWlnaHQpKQorICAgICwgbV93aWR0aChTVkdM
ZW5ndGgodGhpcywgTGVuZ3RoTW9kZVdpZHRoKSkKKyAgICAsIG1faGVpZ2h0KFNWR0xlbmd0aCh0
aGlzLCBMZW5ndGhNb2RlSGVpZ2h0KSkKIHsKIH0KIApJbmRleDogV2ViQ29yZS9zdmcvU1ZHRm9y
ZWlnbk9iamVjdEVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdGb3JlaWdu
T2JqZWN0RWxlbWVudC5oCShyZXZpc2lvbiAzNDg4NykKKysrIFdlYkNvcmUvc3ZnL1NWR0ZvcmVp
Z25PYmplY3RFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTQ5LDExICs0OSwxMSBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgUmVuZGVyT2JqZWN0KiBjcmVhdGVSZW5k
ZXJlcihSZW5kZXJBcmVuYSogYXJlbmEsIFJlbmRlclN0eWxlKiBzdHlsZSk7CiAKICAgICBwcm90
ZWN0ZWQ6Ci0gICAgICAgIHZpcnR1YWwgY29uc3QgU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQo
KSBjb25zdCB7IHJldHVybiB0aGlzOyB9CisgICAgICAgIHZpcnR1YWwgU1ZHRWxlbWVudCogY29u
dGV4dEVsZW1lbnQoKSB7IHJldHVybiB0aGlzOyB9CiAKICAgICBwcml2YXRlOgotICAgICAgICBB
TklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdFeHRlcm5hbFJlc291cmNl
c1JlcXVpcmVkLCBib29sLCBFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291
cmNlc1JlcXVpcmVkKSAKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJB
VElPTlMoU1ZHVVJJUmVmZXJlbmNlLCBTdHJpbmcsIEhyZWYsIGhyZWYpCisgICAgICAgIEFOSU1B
VEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJT05TKFNWR0ZvcmVpZ25PYmplY3RFbGVtZW50
LCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBib29sLCBFeHRlcm5hbFJlc291cmNlc1Jl
cXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKSAKKyAgICAgICAgQU5JTUFURURfUFJP
UEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQsIFNWR1VS
SVJlZmVyZW5jZSwgU3RyaW5nLCBIcmVmLCBocmVmKQogCiAgICAgICAgIEFOSU1BVEVEX1BST1BF
UlRZX0RFQ0xBUkFUSU9OUyhTVkdGb3JlaWduT2JqZWN0RWxlbWVudCwgU1ZHTGVuZ3RoLCBTVkdM
ZW5ndGgsIFgsIHgpCiAgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdG
b3JlaWduT2JqZWN0RWxlbWVudCwgU1ZHTGVuZ3RoLCBTVkdMZW5ndGgsIFksIHkpCkluZGV4OiBX
ZWJDb3JlL3N2Zy9TVkdHRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0dF
bGVtZW50LmgJKHJldmlzaW9uIDM0ODg3KQorKysgV2ViQ29yZS9zdmcvU1ZHR0VsZW1lbnQuaAko
d29ya2luZyBjb3B5KQpAQCAtNDgsMTAgKzQ4LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICAgICAgdmlydHVhbCBSZW5kZXJPYmplY3QqIGNyZWF0ZVJlbmRlcmVyKFJlbmRlckFyZW5hKiwg
UmVuZGVyU3R5bGUqKTsKIAogICAgIHByb3RlY3RlZDoKLSAgICAgICAgdmlydHVhbCBjb25zdCBT
VkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIHRoaXM7IH0KKyAgICAg
ICAgdmlydHVhbCBTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCgpIHsgcmV0dXJuIHRoaXM7IH0K
IAogICAgIHByaXZhdGU6Ci0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFS
QVRJT05TKFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGJvb2wsIEV4dGVybmFsUmVzb3Vy
Y2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpIAorICAgICAgICBBTklNQVRF
RF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdHRWxlbWVudCwgU1ZHRXh0ZXJuYWxS
ZXNvdXJjZXNSZXF1aXJlZCwgYm9vbCwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJu
YWxSZXNvdXJjZXNSZXF1aXJlZCkgCiAKICAgICBwcml2YXRlOgogICAgICAgICBmcmllbmQgY2xh
c3MgU1ZHVXNlRWxlbWVudDsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0dyYWRpZW50RWxlbWVudC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHR3JhZGllbnRFbGVtZW50LmNwcAkocmV2
aXNpb24gMzQ4ODcpCisrKyBXZWJDb3JlL3N2Zy9TVkdHcmFkaWVudEVsZW1lbnQuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC01Myw3ICs1Myw3IEBAIFNWR0dyYWRpZW50RWxlbWVudDo6flNWR0dyYWRp
ZW50RWxlbWVudCgKIH0KIAogQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHR3JhZGll
bnRFbGVtZW50LCBpbnQsIEVudW1lcmF0aW9uLCBlbnVtZXJhdGlvbiwgR3JhZGllbnRVbml0cywg
Z3JhZGllbnRVbml0cywgU1ZHTmFtZXM6OmdyYWRpZW50VW5pdHNBdHRyLCBtX2dyYWRpZW50VW5p
dHMpCi1BTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdHcmFkaWVudEVsZW1lbnQsIFNW
R1RyYW5zZm9ybUxpc3QqLCBUcmFuc2Zvcm1MaXN0LCB0cmFuc2Zvcm1MaXN0LCBHcmFkaWVudFRy
YW5zZm9ybSwgZ3JhZGllbnRUcmFuc2Zvcm0sIFNWR05hbWVzOjpncmFkaWVudFRyYW5zZm9ybUF0
dHIsIG1fZ3JhZGllbnRUcmFuc2Zvcm0uZ2V0KCkpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklU
SU9OU19SRUZDT1VOVEVEKFNWR0dyYWRpZW50RWxlbWVudCwgU1ZHVHJhbnNmb3JtTGlzdCwgVHJh
bnNmb3JtTGlzdCwgdHJhbnNmb3JtTGlzdCwgR3JhZGllbnRUcmFuc2Zvcm0sIGdyYWRpZW50VHJh
bnNmb3JtLCBTVkdOYW1lczo6Z3JhZGllbnRUcmFuc2Zvcm1BdHRyLCBtX2dyYWRpZW50VHJhbnNm
b3JtKQogQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHR3JhZGllbnRFbGVtZW50LCBp
bnQsIEVudW1lcmF0aW9uLCBlbnVtZXJhdGlvbiwgU3ByZWFkTWV0aG9kLCBzcHJlYWRNZXRob2Qs
IFNWR05hbWVzOjpzcHJlYWRNZXRob2RBdHRyLCBtX3NwcmVhZE1ldGhvZCkKIAogdm9pZCBTVkdH
cmFkaWVudEVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKE1hcHBlZEF0dHJpYnV0ZSogYXR0
cikKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0dyYWRpZW50RWxlbWVudC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvc3ZnL1NWR0dyYWRpZW50RWxlbWVudC5oCShyZXZpc2lvbiAzNDg4NykKKysrIFdl
YkNvcmUvc3ZnL1NWR0dyYWRpZW50RWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNCwxNSAr
MjQsMTUgQEAKICNkZWZpbmUgU1ZHR3JhZGllbnRFbGVtZW50X2gKIAogI2lmIEVOQUJMRShTVkcp
Ci0jaW5jbHVkZSAiU1ZHUGFpbnRTZXJ2ZXJHcmFkaWVudC5oIgogI2luY2x1ZGUgIlNWR0V4dGVy
bmFsUmVzb3VyY2VzUmVxdWlyZWQuaCIKKyNpbmNsdWRlICJTVkdQYWludFNlcnZlckdyYWRpZW50
LmgiCiAjaW5jbHVkZSAiU1ZHU3R5bGVkRWxlbWVudC5oIgorI2luY2x1ZGUgIlNWR1RyYW5zZm9y
bWxpc3QuaCIKICNpbmNsdWRlICJTVkdVUklSZWZlcmVuY2UuaCIKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCiAgICAgY2xhc3MgU1ZHR3JhZGllbnRFbGVtZW50OwotICAgIGNsYXNzIFNWR1RyYW5z
Zm9ybUxpc3Q7CiAKICAgICBjbGFzcyBTVkdHcmFkaWVudEVsZW1lbnQgOiBwdWJsaWMgU1ZHU3R5
bGVkRWxlbWVudCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgU1ZHVVJJ
UmVmZXJlbmNlLApAQCAtNjgsOCArNjgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAg
IG11dGFibGUgUmVmUHRyPFNWR1BhaW50U2VydmVyR3JhZGllbnQ+IG1fcmVzb3VyY2U7CiAgCiAg
ICAgcHJvdGVjdGVkOgotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFU
SU9OUyhTVkdVUklSZWZlcmVuY2UsIFN0cmluZywgSHJlZiwgaHJlZikKLSAgICAgICAgQU5JTUFU
RURfUFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1
aXJlZCwgYm9vbCwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJjZXNS
ZXF1aXJlZCkKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMo
U1ZHR3JhZGllbnRFbGVtZW50LCBTVkdVUklSZWZlcmVuY2UsIFN0cmluZywgSHJlZiwgaHJlZikK
KyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHR3JhZGll
bnRFbGVtZW50LCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBib29sLCBFeHRlcm5hbFJl
c291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQogIAogICAgICAgICBB
TklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHR3JhZGllbnRFbGVtZW50LCBpbnQsIGlu
dCwgU3ByZWFkTWV0aG9kLCBzcHJlYWRNZXRob2QpCiAgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZ
X0RFQ0xBUkFUSU9OUyhTVkdHcmFkaWVudEVsZW1lbnQsIGludCwgaW50LCBHcmFkaWVudFVuaXRz
LCBncmFkaWVudFVuaXRzKQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHSW1hZ2VFbGVtZW50LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdJbWFnZUVsZW1lbnQuY3BwCShyZXZpc2lvbiAz
NDg4NykKKysrIFdlYkNvcmUvc3ZnL1NWR0ltYWdlRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTQzLDEwICs0MywxMCBAQCBTVkdJbWFnZUVsZW1lbnQ6OlNWR0ltYWdlRWxlbWVudChjb25z
dCBRCiAgICAgLCBTVkdMYW5nU3BhY2UoKQogICAgICwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1
aXJlZCgpCiAgICAgLCBTVkdVUklSZWZlcmVuY2UoKQotICAgICwgbV94KHRoaXMsIExlbmd0aE1v
ZGVXaWR0aCkKLSAgICAsIG1feSh0aGlzLCBMZW5ndGhNb2RlSGVpZ2h0KQotICAgICwgbV93aWR0
aCh0aGlzLCBMZW5ndGhNb2RlV2lkdGgpCi0gICAgLCBtX2hlaWdodCh0aGlzLCBMZW5ndGhNb2Rl
SGVpZ2h0KQorICAgICwgbV94KFNWR0xlbmd0aCh0aGlzLCBMZW5ndGhNb2RlV2lkdGgpKQorICAg
ICwgbV95KFNWR0xlbmd0aCh0aGlzLCBMZW5ndGhNb2RlSGVpZ2h0KSkKKyAgICAsIG1fd2lkdGgo
U1ZHTGVuZ3RoKHRoaXMsIExlbmd0aE1vZGVXaWR0aCkpCisgICAgLCBtX2hlaWdodChTVkdMZW5n
dGgodGhpcywgTGVuZ3RoTW9kZUhlaWdodCkpCiAgICAgLCBtX3ByZXNlcnZlQXNwZWN0UmF0aW8o
U1ZHUHJlc2VydmVBc3BlY3RSYXRpbzo6Y3JlYXRlKCkpCiAgICAgLCBtX2ltYWdlTG9hZGVyKHRo
aXMpCiB7CkBAIC02MCw3ICs2MCw3IEBAIEFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNW
R0ltYWdlRWwKIEFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0ltYWdlRWxlbWVudCwg
U1ZHTGVuZ3RoLCBMZW5ndGgsIGxlbmd0aCwgWSwgeSwgU1ZHTmFtZXM6OnlBdHRyLCBtX3kpCiBB
TklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdJbWFnZUVsZW1lbnQsIFNWR0xlbmd0aCwg
TGVuZ3RoLCBsZW5ndGgsIFdpZHRoLCB3aWR0aCwgU1ZHTmFtZXM6OndpZHRoQXR0ciwgbV93aWR0
aCkKIEFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0ltYWdlRWxlbWVudCwgU1ZHTGVu
Z3RoLCBMZW5ndGgsIGxlbmd0aCwgSGVpZ2h0LCBoZWlnaHQsIFNWR05hbWVzOjpoZWlnaHRBdHRy
LCBtX2hlaWdodCkKLUFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0ltYWdlRWxlbWVu
dCwgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbyosIFByZXNlcnZlQXNwZWN0UmF0aW8sIHByZXNlcnZl
QXNwZWN0UmF0aW8sIFByZXNlcnZlQXNwZWN0UmF0aW8sIHByZXNlcnZlQXNwZWN0UmF0aW8sIFNW
R05hbWVzOjpwcmVzZXJ2ZUFzcGVjdFJhdGlvQXR0ciwgbV9wcmVzZXJ2ZUFzcGVjdFJhdGlvLmdl
dCgpKQorQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlNfUkVGQ09VTlRFRChTVkdJbWFnZUVs
ZW1lbnQsIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8sIFByZXNlcnZlQXNwZWN0UmF0aW8sIHByZXNl
cnZlQXNwZWN0UmF0aW8sIFByZXNlcnZlQXNwZWN0UmF0aW8sIHByZXNlcnZlQXNwZWN0UmF0aW8s
IFNWR05hbWVzOjpwcmVzZXJ2ZUFzcGVjdFJhdGlvQXR0ciwgbV9wcmVzZXJ2ZUFzcGVjdFJhdGlv
KQogCiB2b2lkIFNWR0ltYWdlRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoTWFwcGVkQXR0
cmlidXRlICphdHRyKQogewpJbmRleDogV2ViQ29yZS9zdmcvU1ZHSW1hZ2VFbGVtZW50LmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHSW1hZ2VFbGVtZW50LmgJKHJldmlzaW9uIDM0ODg3
KQorKysgV2ViQ29yZS9zdmcvU1ZHSW1hZ2VFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTI1
LDE1ICsyNSwxNSBAQAogCiAjaWYgRU5BQkxFKFNWRykKICNpbmNsdWRlICJTVkdFeHRlcm5hbFJl
c291cmNlc1JlcXVpcmVkLmgiCi0jaW5jbHVkZSAiU1ZHTGFuZ1NwYWNlLmgiCiAjaW5jbHVkZSAi
U1ZHSW1hZ2VMb2FkZXIuaCIKKyNpbmNsdWRlICJTVkdMYW5nU3BhY2UuaCIKKyNpbmNsdWRlICJT
VkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLmgiCiAjaW5jbHVkZSAiU1ZHU3R5bGVkVHJhbnNmb3JtYWJs
ZUVsZW1lbnQuaCIKICNpbmNsdWRlICJTVkdUZXN0cy5oIgogI2luY2x1ZGUgIlNWR1VSSVJlZmVy
ZW5jZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLSAgICBjbGFzcyBTVkdQcmVzZXJ2ZUFz
cGVjdFJhdGlvOwogICAgIGNsYXNzIFNWR0xlbmd0aDsKIAogICAgIGNsYXNzIFNWR0ltYWdlRWxl
bWVudCA6IHB1YmxpYyBTVkdTdHlsZWRUcmFuc2Zvcm1hYmxlRWxlbWVudCwKQEAgLTYyLDExICs2
MiwxMSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBoYXNSZWxh
dGl2ZVZhbHVlcygpIGNvbnN0OwogCiAgICAgcHJvdGVjdGVkOgotICAgICAgICB2aXJ0dWFsIGNv
bnN0IFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gdGhpczsgfQor
ICAgICAgICB2aXJ0dWFsIFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgeyByZXR1cm4gdGhp
czsgfQogCiAgICAgcHJpdmF0ZToKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9E
RUNMQVJBVElPTlMoU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgYm9vbCwgRXh0ZXJuYWxS
ZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkgCi0gICAgICAgIEFO
SU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJT05TKFNWR1VSSVJlZmVyZW5jZSwgU3Ry
aW5nLCBIcmVmLCBocmVmKQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xB
UkFUSU9OUyhTVkdJbWFnZUVsZW1lbnQsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGJv
b2wsIEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQp
IAorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdJbWFn
ZUVsZW1lbnQsIFNWR1VSSVJlZmVyZW5jZSwgU3RyaW5nLCBIcmVmLCBocmVmKQogCiAgICAgICAg
IEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdJbWFnZUVsZW1lbnQsIFNWR0xlbmd0
aCwgU1ZHTGVuZ3RoLCBYLCB4KQogICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElP
TlMoU1ZHSW1hZ2VFbGVtZW50LCBTVkdMZW5ndGgsIFNWR0xlbmd0aCwgWSwgeSkKSW5kZXg6IFdl
YkNvcmUvc3ZnL1NWR0xlbmd0aExpc3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NW
R0xlbmd0aExpc3QuY3BwCShyZXZpc2lvbiAzNDg4NykKKysrIFdlYkNvcmUvc3ZnL1NWR0xlbmd0
aExpc3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01OSw2ICs1OSwyMiBAQCB2b2lkIFNWR0xlbmd0
aExpc3Q6OnBhcnNlKGNvbnN0IFN0cmluZyYgCiAgICAgfQogfQogCitTdHJpbmcgU1ZHTGVuZ3Ro
TGlzdDo6dmFsdWVBc1N0cmluZygpIGNvbnN0Cit7CisgICAgU3RyaW5nIHJlc3VsdDsKKworICAg
IEV4Y2VwdGlvbkNvZGUgZWMgPSAwOworICAgIGZvciAodW5zaWduZWQgaW50IGkgPSAwOyBpIDwg
bnVtYmVyT2ZJdGVtcygpOyArK2kpIHsKKyAgICAgICAgaWYgKGkgPiAwKQorICAgICAgICAgICAg
cmVzdWx0ICs9ICIsICI7CisKKyAgICAgICAgcmVzdWx0ICs9IGdldEl0ZW0oaSwgZWMpLnZhbHVl
QXNTdHJpbmcoKTsKKyAgICAgICAgQVNTRVJUKGVjID09IDApOworICAgIH0KKworICAgIHJldHVy
biByZXN1bHQ7Cit9CisKIH0KIAogI2VuZGlmIC8vIEVOQUJMRShTVkcpCkluZGV4OiBXZWJDb3Jl
L3N2Zy9TVkdMZW5ndGhMaXN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHTGVuZ3Ro
TGlzdC5oCShyZXZpc2lvbiAzNDg4NykKKysrIFdlYkNvcmUvc3ZnL1NWR0xlbmd0aExpc3QuaAko
d29ya2luZyBjb3B5KQpAQCAtMzUsNyArMzUsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAg
ICAgIHZpcnR1YWwgflNWR0xlbmd0aExpc3QoKTsKIAogICAgICAgICB2b2lkIHBhcnNlKGNvbnN0
IFN0cmluZyYgdmFsdWUsIGNvbnN0IFNWR1N0eWxlZEVsZW1lbnQqIGNvbnRleHQsIFNWR0xlbmd0
aE1vZGUgbW9kZSk7Ci0gICAgICAgIAorIAorICAgICAgICBTdHJpbmcgdmFsdWVBc1N0cmluZygp
IGNvbnN0OworCiAgICAgcHJpdmF0ZToKICAgICAgICAgU1ZHTGVuZ3RoTGlzdChjb25zdCBRdWFs
aWZpZWROYW1lJik7CiAgICAgfTsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0xpbmVFbGVtZW50LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdMaW5lRWxlbWVudC5jcHAJKHJldmlzaW9u
IDM0ODg3KQorKysgV2ViQ29yZS9zdmcvU1ZHTGluZUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0zNywxMCArMzcsMTAgQEAgU1ZHTGluZUVsZW1lbnQ6OlNWR0xpbmVFbGVtZW50KGNvbnN0
IFF1YQogICAgICwgU1ZHVGVzdHMoKQogICAgICwgU1ZHTGFuZ1NwYWNlKCkKICAgICAsIFNWR0V4
dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQoKQotICAgICwgbV94MSh0aGlzLCBMZW5ndGhNb2RlV2lk
dGgpCi0gICAgLCBtX3kxKHRoaXMsIExlbmd0aE1vZGVIZWlnaHQpCi0gICAgLCBtX3gyKHRoaXMs
IExlbmd0aE1vZGVXaWR0aCkKLSAgICAsIG1feTIodGhpcywgTGVuZ3RoTW9kZUhlaWdodCkKKyAg
ICAsIG1feDEoU1ZHTGVuZ3RoKHRoaXMsIExlbmd0aE1vZGVXaWR0aCkpCisgICAgLCBtX3kxKFNW
R0xlbmd0aCh0aGlzLCBMZW5ndGhNb2RlSGVpZ2h0KSkKKyAgICAsIG1feDIoU1ZHTGVuZ3RoKHRo
aXMsIExlbmd0aE1vZGVXaWR0aCkpCisgICAgLCBtX3kyKFNWR0xlbmd0aCh0aGlzLCBMZW5ndGhN
b2RlSGVpZ2h0KSkKIHsKIH0KIApJbmRleDogV2ViQ29yZS9zdmcvU1ZHTGluZUVsZW1lbnQuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdMaW5lRWxlbWVudC5oCShyZXZpc2lvbiAzNDg4
NykKKysrIFdlYkNvcmUvc3ZnL1NWR0xpbmVFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTUx
LDExICs1MSwxMSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBz
dXBwb3J0c01hcmtlcnMoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CiAKICAgICBwcm90ZWN0ZWQ6
Ci0gICAgICAgIHZpcnR1YWwgY29uc3QgU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSBjb25z
dCB7IHJldHVybiB0aGlzOyB9CisgICAgICAgIHZpcnR1YWwgU1ZHRWxlbWVudCogY29udGV4dEVs
ZW1lbnQoKSB7IHJldHVybiB0aGlzOyB9CiAgICAgICAgIHZpcnR1YWwgYm9vbCBoYXNSZWxhdGl2
ZVZhbHVlcygpIGNvbnN0OwogCiAgICAgcHJpdmF0ZToKLSAgICAgICAgQU5JTUFURURfUFJPUEVS
VFlfRk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgYm9v
bCwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkK
KyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHTGluZUVs
ZW1lbnQsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGJvb2wsIEV4dGVybmFsUmVzb3Vy
Y2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpCiAgCiAgICAgICAgIEFOSU1B
VEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdMaW5lRWxlbWVudCwgU1ZHTGVuZ3RoLCBTVkdM
ZW5ndGgsIFgxLCB4MSkKICAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNW
R0xpbmVFbGVtZW50LCBTVkdMZW5ndGgsIFNWR0xlbmd0aCwgWTEsIHkxKQpJbmRleDogV2ViQ29y
ZS9zdmcvU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L3N2Zy9TVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQuY3BwCShyZXZpc2lvbiAzNDg4NykKKysrIFdl
YkNvcmUvc3ZnL1NWR0xpbmVhckdyYWRpZW50RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTM4LDEwICszOCwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFNWR0xpbmVhckdyYWRpZW50
RWxlbWVudDo6U1ZHTGluZWFyR3JhZGllbnRFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRh
Z05hbWUsIERvY3VtZW50KiBkb2MpCiAgICAgOiBTVkdHcmFkaWVudEVsZW1lbnQodGFnTmFtZSwg
ZG9jKQotICAgICwgbV94MSh0aGlzLCBMZW5ndGhNb2RlV2lkdGgpCi0gICAgLCBtX3kxKHRoaXMs
IExlbmd0aE1vZGVIZWlnaHQpCi0gICAgLCBtX3gyKHRoaXMsIExlbmd0aE1vZGVXaWR0aCkKLSAg
ICAsIG1feTIodGhpcywgTGVuZ3RoTW9kZUhlaWdodCkKKyAgICAsIG1feDEoU1ZHTGVuZ3RoKHRo
aXMsIExlbmd0aE1vZGVXaWR0aCkpCisgICAgLCBtX3kxKFNWR0xlbmd0aCh0aGlzLCBMZW5ndGhN
b2RlSGVpZ2h0KSkKKyAgICAsIG1feDIoU1ZHTGVuZ3RoKHRoaXMsIExlbmd0aE1vZGVXaWR0aCkp
CisgICAgLCBtX3kyKFNWR0xlbmd0aCh0aGlzLCBMZW5ndGhNb2RlSGVpZ2h0KSkKIHsKICAgICAv
LyBTcGVjOiBJZiB0aGUgYXR0cmlidXRlIGlzIG5vdCBzcGVjaWZpZWQsIHRoZSBlZmZlY3QgaXMg
YXMgaWYgYSB2YWx1ZSBvZiAiMTAwJSIgd2VyZSBzcGVjaWZpZWQuCiAgICAgc2V0WDJCYXNlVmFs
dWUoU1ZHTGVuZ3RoKHRoaXMsIExlbmd0aE1vZGVXaWR0aCwgIjEwMCUiKSk7CkluZGV4OiBXZWJD
b3JlL3N2Zy9TVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L3N2Zy9TVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQuaAkocmV2aXNpb24gMzQ4ODcpCisrKyBXZWJD
b3JlL3N2Zy9TVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNDYs
NyArNDYsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIExpbmVhckdyYWRpZW50QXR0
cmlidXRlcyBjb2xsZWN0R3JhZGllbnRQcm9wZXJ0aWVzKCkgY29uc3Q7CiAKICAgICBwcm90ZWN0
ZWQ6Ci0gICAgICAgIHZpcnR1YWwgY29uc3QgU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSBj
b25zdCB7IHJldHVybiB0aGlzOyB9CisgICAgICAgIHZpcnR1YWwgU1ZHRWxlbWVudCogY29udGV4
dEVsZW1lbnQoKSB7IHJldHVybiB0aGlzOyB9CiAKICAgICBwcml2YXRlOgogICAgICAgICBBTklN
QVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50LCBTVkdM
ZW5ndGgsIFNWR0xlbmd0aCwgWDEsIHgxKQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHTVBhdGhFbGVt
ZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHTVBhdGhFbGVtZW50LmgJKHJldmlz
aW9uIDM0ODg3KQorKysgV2ViQ29yZS9zdmcvU1ZHTVBhdGhFbGVtZW50LmgJKHdvcmtpbmcgY29w
eSkKQEAgLTQzLDcgKzQzLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBTVkdQYXRo
RWxlbWVudCogcGF0aEVsZW1lbnQoKTsKICAgICAgICAgCiAgICAgcHJvdGVjdGVkOgotICAgICAg
ICB2aXJ0dWFsIGNvbnN0IFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgY29uc3QgeyByZXR1
cm4gdGhpczsgfQorICAgICAgICB2aXJ0dWFsIFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkg
eyByZXR1cm4gdGhpczsgfQogICAgIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6
IFdlYkNvcmUvc3ZnL1NWR01hcmtlckVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
c3ZnL1NWR01hcmtlckVsZW1lbnQuY3BwCShyZXZpc2lvbiAzNDg4NykKKysrIFdlYkNvcmUvc3Zn
L1NWR01hcmtlckVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOSwxMCArMzksMTAgQEAg
U1ZHTWFya2VyRWxlbWVudDo6U1ZHTWFya2VyRWxlbWVudChjb25zdAogICAgICwgU1ZHTGFuZ1Nw
YWNlKCkKICAgICAsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQoKQogICAgICwgU1ZHRml0
VG9WaWV3Qm94KCkKLSAgICAsIG1fcmVmWCh0aGlzLCBMZW5ndGhNb2RlV2lkdGgpCi0gICAgLCBt
X3JlZlkodGhpcywgTGVuZ3RoTW9kZUhlaWdodCkKLSAgICAsIG1fbWFya2VyV2lkdGgodGhpcywg
TGVuZ3RoTW9kZVdpZHRoKQotICAgICwgbV9tYXJrZXJIZWlnaHQodGhpcywgTGVuZ3RoTW9kZUhl
aWdodCkgCisgICAgLCBtX3JlZlgoU1ZHTGVuZ3RoKHRoaXMsIExlbmd0aE1vZGVXaWR0aCkpCisg
ICAgLCBtX3JlZlkoU1ZHTGVuZ3RoKHRoaXMsIExlbmd0aE1vZGVIZWlnaHQpKQorICAgICwgbV9t
YXJrZXJXaWR0aChTVkdMZW5ndGgodGhpcywgTGVuZ3RoTW9kZVdpZHRoKSkKKyAgICAsIG1fbWFy
a2VySGVpZ2h0KFNWR0xlbmd0aCh0aGlzLCBMZW5ndGhNb2RlSGVpZ2h0KSkKICAgICAsIG1fbWFy
a2VyVW5pdHMoU1ZHX01BUktFUlVOSVRTX1NUUk9LRVdJRFRIKQogICAgICwgbV9vcmllbnRUeXBl
KDApCiAgICAgLCBtX29yaWVudEFuZ2xlKFNWR0FuZ2xlOjpjcmVhdGUoKSkKQEAgLTYyLDcgKzYy
LDcgQEAgQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHTWFya2VyRQogQU5JTUFURURf
UFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHTWFya2VyRWxlbWVudCwgU1ZHTGVuZ3RoLCBMZW5ndGgs
IGxlbmd0aCwgTWFya2VyV2lkdGgsIG1hcmtlcldpZHRoLCBTVkdOYW1lczo6bWFya2VyV2lkdGhB
dHRyLCBtX21hcmtlcldpZHRoKQogQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHTWFy
a2VyRWxlbWVudCwgU1ZHTGVuZ3RoLCBMZW5ndGgsIGxlbmd0aCwgTWFya2VySGVpZ2h0LCBtYXJr
ZXJIZWlnaHQsIFNWR05hbWVzOjptYXJrZXJIZWlnaHRBdHRyLCBtX21hcmtlckhlaWdodCkKIEFO
SU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TX1dJVEhfQ1VTVE9NX0lERU5USUZJRVIoU1ZHTWFy
a2VyRWxlbWVudCwgaW50LCBFbnVtZXJhdGlvbiwgZW51bWVyYXRpb24sIE9yaWVudFR5cGUsIG9y
aWVudFR5cGUsIFNWR05hbWVzOjpvcmllbnRBdHRyLCAib3JpZW50VHlwZSIsIG1fb3JpZW50VHlw
ZSkKLUFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TX1dJVEhfQ1VTVE9NX0lERU5USUZJRVIo
U1ZHTWFya2VyRWxlbWVudCwgU1ZHQW5nbGUqLCBBbmdsZSwgYW5nbGUsIE9yaWVudEFuZ2xlLCBv
cmllbnRBbmdsZSwgU1ZHTmFtZXM6Om9yaWVudEF0dHIsICJvcmllbnRBbmdsZSIsIG1fb3JpZW50
QW5nbGUuZ2V0KCkpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OU19SRUZDT1VOVEVEX1dJ
VEhfQ1VTVE9NX0lERU5USUZJRVIoU1ZHTWFya2VyRWxlbWVudCwgU1ZHQW5nbGUsIEFuZ2xlLCBh
bmdsZSwgT3JpZW50QW5nbGUsIG9yaWVudEFuZ2xlLCBTVkdOYW1lczo6b3JpZW50QXR0ciwgIm9y
aWVudEFuZ2xlIiwgbV9vcmllbnRBbmdsZSkKIAogdm9pZCBTVkdNYXJrZXJFbGVtZW50OjpwYXJz
ZU1hcHBlZEF0dHJpYnV0ZShNYXBwZWRBdHRyaWJ1dGUqIGF0dHIpCiB7CkluZGV4OiBXZWJDb3Jl
L3N2Zy9TVkdNYXJrZXJFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHTWFy
a2VyRWxlbWVudC5oCShyZXZpc2lvbiAzNDg4NykKKysrIFdlYkNvcmUvc3ZnL1NWR01hcmtlckVs
ZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMzIsOSArMzIsNiBAQAogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLSAgICBjbGFzcyBEb2N1bWVudDsKLSAgICBjbGFzcyBTVkdBbmdsZTsKLSAgICAK
ICAgICBjbGFzcyBTVkdNYXJrZXJFbGVtZW50IDogcHVibGljIFNWR1N0eWxlZEVsZW1lbnQsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1YmxpYyBTVkdMYW5nU3BhY2UsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHB1YmxpYyBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVk
LApAQCAtNjYsMTIgKzYzLDEyIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVh
bCBTVkdSZXNvdXJjZSogY2FudmFzUmVzb3VyY2UoKTsKIAogICAgIHByb3RlY3RlZDoKLSAgICAg
ICAgdmlydHVhbCBjb25zdCBTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCgpIGNvbnN0IHsgcmV0
dXJuIHRoaXM7IH0KKyAgICAgICAgdmlydHVhbCBTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCgp
IHsgcmV0dXJuIHRoaXM7IH0KIAogICAgIHByaXZhdGU6Ci0gICAgICAgIEFOSU1BVEVEX1BST1BF
UlRZX0ZPUldBUkRfREVDTEFSQVRJT05TKFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGJv
b2wsIEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQp
IAotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdGaXRU
b1ZpZXdCb3gsIEZsb2F0UmVjdCwgVmlld0JveCwgdmlld0JveCkKLSAgICAgICAgQU5JTUFURURf
UFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHRml0VG9WaWV3Qm94LCBTVkdQcmVzZXJ2
ZUFzcGVjdFJhdGlvKiwgUHJlc2VydmVBc3BlY3RSYXRpbywgcHJlc2VydmVBc3BlY3RSYXRpbykK
KyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHTWFya2Vy
RWxlbWVudCwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgYm9vbCwgRXh0ZXJuYWxSZXNv
dXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkgCisgICAgICAgIEFOSU1B
VEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJT05TKFNWR01hcmtlckVsZW1lbnQsIFNWR0Zp
dFRvVmlld0JveCwgRmxvYXRSZWN0LCBWaWV3Qm94LCB2aWV3Qm94KQorICAgICAgICBBTklNQVRF
RF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdNYXJrZXJFbGVtZW50LCBTVkdGaXRU
b1ZpZXdCb3gsIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8qLCBQcmVzZXJ2ZUFzcGVjdFJhdGlvLCBw
cmVzZXJ2ZUFzcGVjdFJhdGlvKQogCiAgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFU
SU9OUyhTVkdNYXJrZXJFbGVtZW50LCBTVkdMZW5ndGgsIFNWR0xlbmd0aCwgUmVmWCwgcmVmWCkK
ICAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR01hcmtlckVsZW1lbnQs
IFNWR0xlbmd0aCwgU1ZHTGVuZ3RoLCBSZWZZLCByZWZZKQpJbmRleDogV2ViQ29yZS9zdmcvU1ZH
TWFza0VsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR01hc2tFbGVtZW50
LmNwcAkocmV2aXNpb24gMzQ4ODcpCisrKyBXZWJDb3JlL3N2Zy9TVkdNYXNrRWxlbWVudC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTUwLDEwICs1MCwxMCBAQCBTVkdNYXNrRWxlbWVudDo6U1ZHTWFz
a0VsZW1lbnQoY29uc3QgUXVhCiAgICAgLCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKCkK
ICAgICAsIG1fbWFza1VuaXRzKFNWR1VuaXRUeXBlczo6U1ZHX1VOSVRfVFlQRV9PQkpFQ1RCT1VO
RElOR0JPWCkKICAgICAsIG1fbWFza0NvbnRlbnRVbml0cyhTVkdVbml0VHlwZXM6OlNWR19VTklU
X1RZUEVfVVNFUlNQQUNFT05VU0UpCi0gICAgLCBtX3godGhpcywgTGVuZ3RoTW9kZVdpZHRoKQot
ICAgICwgbV95KHRoaXMsIExlbmd0aE1vZGVIZWlnaHQpCi0gICAgLCBtX3dpZHRoKHRoaXMsIExl
bmd0aE1vZGVXaWR0aCkKLSAgICAsIG1faGVpZ2h0KHRoaXMsIExlbmd0aE1vZGVIZWlnaHQpCisg
ICAgLCBtX3goU1ZHTGVuZ3RoKHRoaXMsIExlbmd0aE1vZGVXaWR0aCkpCisgICAgLCBtX3koU1ZH
TGVuZ3RoKHRoaXMsIExlbmd0aE1vZGVIZWlnaHQpKQorICAgICwgbV93aWR0aChTVkdMZW5ndGgo
dGhpcywgTGVuZ3RoTW9kZVdpZHRoKSkKKyAgICAsIG1faGVpZ2h0KFNWR0xlbmd0aCh0aGlzLCBM
ZW5ndGhNb2RlSGVpZ2h0KSkKIHsKICAgICAvLyBTcGVjOiBJZiB0aGUgYXR0cmlidXRlIGlzIG5v
dCBzcGVjaWZpZWQsIHRoZSBlZmZlY3QgaXMgYXMgaWYgYSB2YWx1ZSBvZiAiLTEwJSIgd2VyZSBz
cGVjaWZpZWQuCiAgICAgc2V0WEJhc2VWYWx1ZShTVkdMZW5ndGgodGhpcywgTGVuZ3RoTW9kZVdp
ZHRoLCAiLTEwJSIpKTsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR01hc2tFbGVtZW50LmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHTWFza0VsZW1lbnQuaAkocmV2aXNpb24gMzQ4ODcpCisr
KyBXZWJDb3JlL3N2Zy9TVkdNYXNrRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC01NCw5ICs1
NCw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgc3RkOjphdXRvX3B0cjxJbWFnZUJ1
ZmZlcj4gZHJhd01hc2tlckNvbnRlbnQoY29uc3QgRmxvYXRSZWN0JiB0YXJnZXRSZWN0LCBGbG9h
dFJlY3QmIG1hc2tSZWN0KSBjb25zdDsKIAogICAgIHByb3RlY3RlZDoKLSAgICAgICAgQU5JTUFU
RURfUFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHVVJJUmVmZXJlbmNlLCBTdHJpbmcs
IEhyZWYsIGhyZWYpCi0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJ
T05TKFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGJvb2wsIEV4dGVybmFsUmVzb3VyY2Vz
UmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpCi0gICAgICAgICAgICAKKyAgICAg
ICAgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHTWFza0VsZW1lbnQs
IFNWR1VSSVJlZmVyZW5jZSwgU3RyaW5nLCBIcmVmLCBocmVmKQorICAgICAgICBBTklNQVRFRF9Q
Uk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdNYXNrRWxlbWVudCwgU1ZHRXh0ZXJuYWxS
ZXNvdXJjZXNSZXF1aXJlZCwgYm9vbCwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJu
YWxSZXNvdXJjZXNSZXF1aXJlZCkKKwogICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJB
VElPTlMoU1ZHTWFza0VsZW1lbnQsIGludCwgaW50LCBNYXNrVW5pdHMsIG1hc2tVbml0cykKICAg
ICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR01hc2tFbGVtZW50LCBpbnQs
IGludCwgTWFza0NvbnRlbnRVbml0cywgbWFza0NvbnRlbnRVbml0cykKICAKQEAgLTY1LDcgKzY1
LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNM
QVJBVElPTlMoU1ZHTWFza0VsZW1lbnQsIFNWR0xlbmd0aCwgU1ZHTGVuZ3RoLCBXaWR0aCwgd2lk
dGgpCiAgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdNYXNrRWxlbWVu
dCwgU1ZHTGVuZ3RoLCBTVkdMZW5ndGgsIEhlaWdodCwgaGVpZ2h0KQogCi0gICAgICAgIHZpcnR1
YWwgY29uc3QgU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSBjb25zdCB7IHJldHVybiB0aGlz
OyB9CisgICAgICAgIHZpcnR1YWwgU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSB7IHJldHVy
biB0aGlzOyB9CiAKICAgICBwcml2YXRlOgogICAgICAgICBSZWZQdHI8U1ZHUmVzb3VyY2VNYXNr
ZXI+IG1fbWFza2VyOwpJbmRleDogV2ViQ29yZS9zdmcvU1ZHTnVtYmVyTGlzdC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHTnVtYmVyTGlzdC5jcHAJKHJldmlzaW9uIDM0ODg3KQor
KysgV2ViQ29yZS9zdmcvU1ZHTnVtYmVyTGlzdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU0LDYg
KzU0LDIyIEBAIHZvaWQgU1ZHTnVtYmVyTGlzdDo6cGFyc2UoY29uc3QgU3RyaW5nJiAKICAgICB9
CiB9CiAKK1N0cmluZyBTVkdOdW1iZXJMaXN0Ojp2YWx1ZUFzU3RyaW5nKCkgY29uc3QKK3sKKyAg
ICBTdHJpbmcgcmVzdWx0OworCisgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CisgICAgZm9yICh1
bnNpZ25lZCBpbnQgaSA9IDA7IGkgPCBudW1iZXJPZkl0ZW1zKCk7ICsraSkgeworICAgICAgICBp
ZiAoaSA+IDApCisgICAgICAgICAgICByZXN1bHQgKz0gIiwgIjsKKworICAgICAgICByZXN1bHQg
Kz0gU3RyaW5nOjpudW1iZXIoZ2V0SXRlbShpLCBlYykpOworICAgICAgICBBU1NFUlQoZWMgPT0g
MCk7CisgICAgfQorCisgICAgcmV0dXJuIHJlc3VsdDsKK30KKwogfQogCiAjZW5kaWYgLy8gRU5B
QkxFKFNWRykKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR051bWJlckxpc3QuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL3N2Zy9TVkdOdW1iZXJMaXN0LmgJKHJldmlzaW9uIDM0ODg3KQorKysgV2ViQ29y
ZS9zdmcvU1ZHTnVtYmVyTGlzdC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNyw3ICszNyw5IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVhbCB+U1ZHTnVtYmVyTGlzdCgpOwogCiAg
ICAgICAgIHZvaWQgcGFyc2UoY29uc3QgU3RyaW5nJiB2YWx1ZSk7Ci0gICAgICAgIAorIAorICAg
ICAgICBTdHJpbmcgdmFsdWVBc1N0cmluZygpIGNvbnN0OworCiAgICAgcHJpdmF0ZToKICAgICAg
ICAgU1ZHTnVtYmVyTGlzdChjb25zdCBRdWFsaWZpZWROYW1lJik7CiAgICAgfTsKSW5kZXg6IFdl
YkNvcmUvc3ZnL1NWR1BhdGhFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZH
UGF0aEVsZW1lbnQuaAkocmV2aXNpb24gMzQ4ODcpCisrKyBXZWJDb3JlL3N2Zy9TVkdQYXRoRWxl
bWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMDEsMTMgKzEwMSwxMiBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBzdXBwb3J0c01hcmtlcnMoKSBjb25zdCB7IHJl
dHVybiB0cnVlOyB9CiAKICAgICBwcm90ZWN0ZWQ6Ci0gICAgICAgIHZpcnR1YWwgY29uc3QgU1ZH
RWxlbWVudCogY29udGV4dEVsZW1lbnQoKSBjb25zdCB7IHJldHVybiB0aGlzOyB9CisgICAgICAg
IHZpcnR1YWwgU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSB7IHJldHVybiB0aGlzOyB9CiAK
ICAgICBwcml2YXRlOgogICAgICAgICBtdXRhYmxlIFJlZlB0cjxTVkdQYXRoU2VnTGlzdD4gbV9w
YXRoU2VnTGlzdDsKIAotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFU
SU9OUyhTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBib29sLCBFeHRlcm5hbFJlc291cmNl
c1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQotIAorICAgICAgICBBTklNQVRF
RF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdQYXRoRWxlbWVudCwgU1ZHRXh0ZXJu
YWxSZXNvdXJjZXNSZXF1aXJlZCwgYm9vbCwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0
ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkKICAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFS
QVRJT05TKFNWR1BhdGhFbGVtZW50LCBmbG9hdCwgZmxvYXQsIFBhdGhMZW5ndGgsIHBhdGhMZW5n
dGgpCiAgICAgfTsKIApJbmRleDogV2ViQ29yZS9zdmcvU1ZHUGF0dGVybkVsZW1lbnQuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR1BhdHRlcm5FbGVtZW50LmNwcAkocmV2aXNpb24g
MzQ4ODcpCisrKyBXZWJDb3JlL3N2Zy9TVkdQYXR0ZXJuRWxlbWVudC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTU3LDEwICs1NywxMCBAQCBTVkdQYXR0ZXJuRWxlbWVudDo6U1ZHUGF0dGVybkVsZW1l
bnQoY29uCiAgICAgLCBTVkdMYW5nU3BhY2UoKQogICAgICwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNS
ZXF1aXJlZCgpCiAgICAgLCBTVkdGaXRUb1ZpZXdCb3goKQotICAgICwgbV94KHRoaXMsIExlbmd0
aE1vZGVXaWR0aCkKLSAgICAsIG1feSh0aGlzLCBMZW5ndGhNb2RlSGVpZ2h0KQotICAgICwgbV93
aWR0aCh0aGlzLCBMZW5ndGhNb2RlV2lkdGgpCi0gICAgLCBtX2hlaWdodCh0aGlzLCBMZW5ndGhN
b2RlSGVpZ2h0KQorICAgICwgbV94KFNWR0xlbmd0aCh0aGlzLCBMZW5ndGhNb2RlV2lkdGgpKQor
ICAgICwgbV95KFNWR0xlbmd0aCh0aGlzLCBMZW5ndGhNb2RlSGVpZ2h0KSkKKyAgICAsIG1fd2lk
dGgoU1ZHTGVuZ3RoKHRoaXMsIExlbmd0aE1vZGVXaWR0aCkpCisgICAgLCBtX2hlaWdodChTVkdM
ZW5ndGgodGhpcywgTGVuZ3RoTW9kZUhlaWdodCkpCiAgICAgLCBtX3BhdHRlcm5Vbml0cyhTVkdV
bml0VHlwZXM6OlNWR19VTklUX1RZUEVfT0JKRUNUQk9VTkRJTkdCT1gpCiAgICAgLCBtX3BhdHRl
cm5Db250ZW50VW5pdHMoU1ZHVW5pdFR5cGVzOjpTVkdfVU5JVF9UWVBFX1VTRVJTUEFDRU9OVVNF
KQogICAgICwgbV9wYXR0ZXJuVHJhbnNmb3JtKFNWR1RyYW5zZm9ybUxpc3Q6OmNyZWF0ZShTVkdO
YW1lczo6cGF0dGVyblRyYW5zZm9ybUF0dHIpKQpAQCAtNzcsNyArNzcsNyBAQCBBTklNQVRFRF9Q
Uk9QRVJUWV9ERUZJTklUSU9OUyhTVkdQYXR0ZXJuCiBBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklU
SU9OUyhTVkdQYXR0ZXJuRWxlbWVudCwgU1ZHTGVuZ3RoLCBMZW5ndGgsIGxlbmd0aCwgWSwgeSwg
U1ZHTmFtZXM6OnlBdHRyLCBtX3kpCiBBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdQ
YXR0ZXJuRWxlbWVudCwgU1ZHTGVuZ3RoLCBMZW5ndGgsIGxlbmd0aCwgV2lkdGgsIHdpZHRoLCBT
VkdOYW1lczo6d2lkdGhBdHRyLCBtX3dpZHRoKQogQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElP
TlMoU1ZHUGF0dGVybkVsZW1lbnQsIFNWR0xlbmd0aCwgTGVuZ3RoLCBsZW5ndGgsIEhlaWdodCwg
aGVpZ2h0LCBTVkdOYW1lczo6aGVpZ2h0QXR0ciwgbV9oZWlnaHQpCi1BTklNQVRFRF9QUk9QRVJU
WV9ERUZJTklUSU9OUyhTVkdQYXR0ZXJuRWxlbWVudCwgU1ZHVHJhbnNmb3JtTGlzdCosIFRyYW5z
Zm9ybUxpc3QsIHRyYW5zZm9ybUxpc3QsIFBhdHRlcm5UcmFuc2Zvcm0sIHBhdHRlcm5UcmFuc2Zv
cm0sIFNWR05hbWVzOjpwYXR0ZXJuVHJhbnNmb3JtQXR0ciwgbV9wYXR0ZXJuVHJhbnNmb3JtLmdl
dCgpKQorQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlNfUkVGQ09VTlRFRChTVkdQYXR0ZXJu
RWxlbWVudCwgU1ZHVHJhbnNmb3JtTGlzdCwgVHJhbnNmb3JtTGlzdCwgdHJhbnNmb3JtTGlzdCwg
UGF0dGVyblRyYW5zZm9ybSwgcGF0dGVyblRyYW5zZm9ybSwgU1ZHTmFtZXM6OnBhdHRlcm5UcmFu
c2Zvcm1BdHRyLCBtX3BhdHRlcm5UcmFuc2Zvcm0pCiAKIHZvaWQgU1ZHUGF0dGVybkVsZW1lbnQ6
OnBhcnNlTWFwcGVkQXR0cmlidXRlKE1hcHBlZEF0dHJpYnV0ZSogYXR0cikKIHsKSW5kZXg6IFdl
YkNvcmUvc3ZnL1NWR1BhdHRlcm5FbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcv
U1ZHUGF0dGVybkVsZW1lbnQuaAkocmV2aXNpb24gMzQ4ODcpCisrKyBXZWJDb3JlL3N2Zy9TVkdQ
YXR0ZXJuRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNCwyMSArMjQsMjAgQEAKICNkZWZp
bmUgU1ZHUGF0dGVybkVsZW1lbnRfaAogCiAjaWYgRU5BQkxFKFNWRykKLSNpbmNsdWRlICJTVkdQ
YWludFNlcnZlclBhdHRlcm4uaCIKICNpbmNsdWRlICJTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVp
cmVkLmgiCiAjaW5jbHVkZSAiU1ZHRml0VG9WaWV3Qm94LmgiCiAjaW5jbHVkZSAiU1ZHTGFuZ1Nw
YWNlLmgiCisjaW5jbHVkZSAiU1ZHUGFpbnRTZXJ2ZXJQYXR0ZXJuLmgiCiAjaW5jbHVkZSAiU1ZH
U3R5bGVkRWxlbWVudC5oIgogI2luY2x1ZGUgIlNWR1Rlc3RzLmgiCisjaW5jbHVkZSAiU1ZHVHJh
bnNmb3JtTGlzdC5oIgogI2luY2x1ZGUgIlNWR1VSSVJlZmVyZW5jZS5oIgogCi0KIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogICAgIHN0cnVjdCBQYXR0ZXJuQXR0cmlidXRlczsKICAKICAgICBjbGFz
cyBTVkdMZW5ndGg7Ci0gICAgY2xhc3MgU1ZHVHJhbnNmb3JtTGlzdDsKIAogICAgIGNsYXNzIFNW
R1BhdHRlcm5FbGVtZW50IDogcHVibGljIFNWR1N0eWxlZEVsZW1lbnQsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBwdWJsaWMgU1ZHVVJJUmVmZXJlbmNlLApAQCAtNjAsMTAgKzU5LDEw
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVhbCBTVkdSZXNvdXJjZSogY2Fu
dmFzUmVzb3VyY2UoKTsKIAogICAgIHByb3RlY3RlZDoKLSAgICAgICAgQU5JTUFURURfUFJPUEVS
VFlfRk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHVVJJUmVmZXJlbmNlLCBTdHJpbmcsIEhyZWYsIGhy
ZWYpCi0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJT05TKFNWR0V4
dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGJvb2wsIEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQs
IGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpCi0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZP
UldBUkRfREVDTEFSQVRJT05TKFNWR0ZpdFRvVmlld0JveCwgRmxvYXRSZWN0LCBWaWV3Qm94LCB2
aWV3Qm94KQotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhT
VkdGaXRUb1ZpZXdCb3gsIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8qLCBQcmVzZXJ2ZUFzcGVjdFJh
dGlvLCBwcmVzZXJ2ZUFzcGVjdFJhdGlvKQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9GT1JX
QVJEX0RFQ0xBUkFUSU9OUyhTVkdQYXR0ZXJuRWxlbWVudCwgU1ZHVVJJUmVmZXJlbmNlLCBTdHJp
bmcsIEhyZWYsIGhyZWYpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFS
QVRJT05TKFNWR1BhdHRlcm5FbGVtZW50LCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBi
b29sLCBFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVk
KQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdQYXR0
ZXJuRWxlbWVudCwgU1ZHRml0VG9WaWV3Qm94LCBGbG9hdFJlY3QsIFZpZXdCb3gsIHZpZXdCb3gp
CisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJT05TKFNWR1BhdHRl
cm5FbGVtZW50LCBTVkdGaXRUb1ZpZXdCb3gsIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8qLCBQcmVz
ZXJ2ZUFzcGVjdFJhdGlvLCBwcmVzZXJ2ZUFzcGVjdFJhdGlvKQogCiAgICAgICAgIEFOSU1BVEVE
X1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdQYXR0ZXJuRWxlbWVudCwgU1ZHTGVuZ3RoLCBTVkdM
ZW5ndGgsIFgsIHgpCiAgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdQ
YXR0ZXJuRWxlbWVudCwgU1ZHTGVuZ3RoLCBTVkdMZW5ndGgsIFksIHkpCkBAIC03NSw3ICs3NCw3
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgICAgICBtdXRhYmxlIFJlZlB0cjxTVkdQYWlu
dFNlcnZlclBhdHRlcm4+IG1fcmVzb3VyY2U7CiAKLSAgICAgICAgdmlydHVhbCBjb25zdCBTVkdF
bGVtZW50KiBjb250ZXh0RWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIHRoaXM7IH0KKyAgICAgICAg
dmlydHVhbCBTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCgpIHsgcmV0dXJuIHRoaXM7IH0KIAog
ICAgIHByaXZhdGU6CiAgICAgICAgIGZyaWVuZCBjbGFzcyBTVkdQYWludFNlcnZlclBhdHRlcm47
CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdQb2x5RWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvc3ZnL1NWR1BvbHlFbGVtZW50LmgJKHJldmlzaW9uIDM0ODg3KQorKysgV2ViQ29yZS9zdmcv
U1ZHUG9seUVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNTMsMTMgKzUzLDEzIEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVhbCBib29sIHN1cHBvcnRzTWFya2VycygpIGNv
bnN0IHsgcmV0dXJuIHRydWU7IH0KIAogICAgIHByb3RlY3RlZDoKLSAgICAgICAgdmlydHVhbCBj
b25zdCBTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIHRoaXM7IH0K
KyAgICAgICAgdmlydHVhbCBTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCgpIHsgcmV0dXJuIHRo
aXM7IH0KIAogICAgIHByaXZhdGU6CiAgICAgICAgIGJvb2wgbV9pZ25vcmVBdHRyaWJ1dGVDaGFu
Z2VzIDogMTsKICAgICAgICAgbXV0YWJsZSBSZWZQdHI8U1ZHUG9pbnRMaXN0PiBtX3BvaW50czsK
IAotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdFeHRl
cm5hbFJlc291cmNlc1JlcXVpcmVkLCBib29sLCBFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBl
eHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9GT1JX
QVJEX0RFQ0xBUkFUSU9OUyhTVkdQb2x5RWxlbWVudCwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1
aXJlZCwgYm9vbCwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJjZXNS
ZXF1aXJlZCkKICAgICB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBXZWJDb3Jl
L3N2Zy9TVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2
Zy9TVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLmNwcAkocmV2aXNpb24gMzQ4ODcpCisrKyBXZWJDb3Jl
L3N2Zy9TVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjAyLDYg
KzIwMiw1OSBAQCBBZmZpbmVUcmFuc2Zvcm0gU1ZHUHJlc2VydmVBc3BlY3RSYXRpbzo6CiAgICAg
cmV0dXJuIHRlbXA7CiB9CiAKK1N0cmluZyBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvOjp2YWx1ZUFz
U3RyaW5nKCkgY29uc3QKK3sKKyAgICBTdHJpbmcgcmVzdWx0OworCisgICAgc3dpdGNoICgoU1ZH
UHJlc2VydmVBc3BlY3RSYXRpb1R5cGUpIGFsaWduKCkpIHsKKyAgICBkZWZhdWx0OgorICAgIGNh
c2UgU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fTk9ORToKKyAgICAgICAgcmVzdWx0ID0gIm5vbmUi
OworICAgICAgICBicmVhazsKKyAgICBjYXNlIFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNSU5Z
TUlOOgorICAgICAgICByZXN1bHQgPSAieE1pbllNaW4iOworICAgICAgICBicmVhazsKKyAgICBj
YXNlIFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNSURZTUlOOgorICAgICAgICByZXN1bHQgPSAi
eE1pZFlNaW4iOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFNWR19QUkVTRVJWRUFTUEVDVFJB
VElPX1hNQVhZTUlOOgorICAgICAgICByZXN1bHQgPSAieE1heFlNaW4iOworICAgICAgICBicmVh
azsKKyAgICBjYXNlIFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNSU5ZTUlEOgorICAgICAgICBy
ZXN1bHQgPSAieE1pbllNaWQiOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFNWR19QUkVTRVJW
RUFTUEVDVFJBVElPX1hNSURZTUlEOgorICAgICAgICByZXN1bHQgPSAieE1pZFlNaWQiOworICAg
ICAgICBicmVhazsKKyAgICBjYXNlIFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNQVhZTUlEOgor
ICAgICAgICByZXN1bHQgPSAieE1heFlNaWQiOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFNW
R19QUkVTRVJWRUFTUEVDVFJBVElPX1hNSU5ZTUFYOgorICAgICAgICByZXN1bHQgPSAieE1pbllN
YXgiOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hN
SURZTUFYOgorICAgICAgICByZXN1bHQgPSAieE1pZFlNYXgiOworICAgICAgICBicmVhazsKKyAg
ICBjYXNlIFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNQVhZTUFYOgorICAgICAgICByZXN1bHQg
PSAieE1heFlNYXgiOworICAgICAgICBicmVhazsKKyAgICB9OworCisgICAgc3dpdGNoICgoU1ZH
TWVldE9yU2xpY2VUeXBlKSBtZWV0T3JTbGljZSgpKSB7CisgICAgZGVmYXVsdDoKKyAgICBjYXNl
IFNWR19NRUVUT1JTTElDRV9VTktOT1dOOgorICAgICAgICBicmVhazsKKyAgICBjYXNlIFNWR19N
RUVUT1JTTElDRV9NRUVUOgorICAgICAgICByZXN1bHQgKz0gIiBtZWV0IjsKKyAgICAgICAgYnJl
YWs7CisgICAgY2FzZSBTVkdfTUVFVE9SU0xJQ0VfU0xJQ0U6CisgICAgICAgIHJlc3VsdCArPSAi
IHNsaWNlIjsKKyAgICAgICAgYnJlYWs7CisgICAgfTsKKworICAgIHJldHVybiByZXN1bHQ7Cit9
CisKIH0KIAogI2VuZGlmIC8vIEVOQUJMRShTVkcpCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdQcmVz
ZXJ2ZUFzcGVjdFJhdGlvLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHUHJlc2VydmVB
c3BlY3RSYXRpby5oCShyZXZpc2lvbiAzNDg4NykKKysrIFdlYkNvcmUvc3ZnL1NWR1ByZXNlcnZl
QXNwZWN0UmF0aW8uaAkod29ya2luZyBjb3B5KQpAQCAtNzQsNiArNzQsNyBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKICAgICAgICAgLy8gSGVscGVyCiAgICAgICAgIGJvb2wgcGFyc2VQcmVzZXJ2
ZUFzcGVjdFJhdGlvKGNvbnN0IFVDaGFyKiYgY3VyclBhcmFtLCBjb25zdCBVQ2hhciogZW5kLCBi
b29sIHZhbGlkYXRlID0gdHJ1ZSk7CisgICAgICAgIFN0cmluZyB2YWx1ZUFzU3RyaW5nKCkgY29u
c3Q7CiAKICAgICAgICAgY29uc3QgUXVhbGlmaWVkTmFtZSYgYXNzb2NpYXRlZEF0dHJpYnV0ZU5h
bWUoKSBjb25zdCB7IHJldHVybiBTVkdOYW1lczo6cHJlc2VydmVBc3BlY3RSYXRpb0F0dHI7IH0K
IApJbmRleDogV2ViQ29yZS9zdmcvU1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQuY3BwCShyZXZpc2lv
biAzNDg4NykKKysrIFdlYkNvcmUvc3ZnL1NWR1JhZGlhbEdyYWRpZW50RWxlbWVudC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTQxLDExICs0MSwxMSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFNW
R1JhZGlhbEdyYWRpZW50RWxlbWVudDo6U1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50KGNvbnN0IFF1
YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2MpCiAgICAgOiBTVkdHcmFkaWVudEVs
ZW1lbnQodGFnTmFtZSwgZG9jKQotICAgICwgbV9jeCh0aGlzLCBMZW5ndGhNb2RlV2lkdGgpCi0g
ICAgLCBtX2N5KHRoaXMsIExlbmd0aE1vZGVIZWlnaHQpCi0gICAgLCBtX3IodGhpcywgTGVuZ3Ro
TW9kZU90aGVyKQotICAgICwgbV9meCh0aGlzLCBMZW5ndGhNb2RlV2lkdGgpCi0gICAgLCBtX2Z5
KHRoaXMsIExlbmd0aE1vZGVIZWlnaHQpCisgICAgLCBtX2N4KFNWR0xlbmd0aCh0aGlzLCBMZW5n
dGhNb2RlV2lkdGgpKQorICAgICwgbV9jeShTVkdMZW5ndGgodGhpcywgTGVuZ3RoTW9kZUhlaWdo
dCkpCisgICAgLCBtX3IoU1ZHTGVuZ3RoKHRoaXMsIExlbmd0aE1vZGVPdGhlcikpCisgICAgLCBt
X2Z4KFNWR0xlbmd0aCh0aGlzLCBMZW5ndGhNb2RlV2lkdGgpKQorICAgICwgbV9meShTVkdMZW5n
dGgodGhpcywgTGVuZ3RoTW9kZUhlaWdodCkpCiB7CiAgICAgLy8gU3BlYzogSWYgdGhlIGF0dHJp
YnV0ZSBpcyBub3Qgc3BlY2lmaWVkLCB0aGUgZWZmZWN0IGlzIGFzIGlmIGEgdmFsdWUgb2YgIjUw
JSIgd2VyZSBzcGVjaWZpZWQuCiAgICAgc2V0Q3hCYXNlVmFsdWUoU1ZHTGVuZ3RoKHRoaXMsIExl
bmd0aE1vZGVXaWR0aCwgIjUwJSIpKTsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR1JhZGlhbEdyYWRp
ZW50RWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR1JhZGlhbEdyYWRpZW50
RWxlbWVudC5oCShyZXZpc2lvbiAzNDg4NykKKysrIFdlYkNvcmUvc3ZnL1NWR1JhZGlhbEdyYWRp
ZW50RWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC00Niw3ICs0Niw3IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICAgICAgUmFkaWFsR3JhZGllbnRBdHRyaWJ1dGVzIGNvbGxlY3RHcmFkaWVu
dFByb3BlcnRpZXMoKSBjb25zdDsKIAogICAgIHByb3RlY3RlZDoKLSAgICAgICAgdmlydHVhbCBj
b25zdCBTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIHRoaXM7IH0K
KyAgICAgICAgdmlydHVhbCBTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCgpIHsgcmV0dXJuIHRo
aXM7IH0KIAogICAgIHByaXZhdGU6CiAgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFU
SU9OUyhTVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQsIFNWR0xlbmd0aCwgU1ZHTGVuZ3RoLCBDeCwg
Y3gpCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdSZWN0RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9zdmcvU1ZHUmVjdEVsZW1lbnQuY3BwCShyZXZpc2lvbiAzNDg4NykKKysrIFdlYkNv
cmUvc3ZnL1NWR1JlY3RFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzYsMTIgKzM2LDEy
IEBAIFNWR1JlY3RFbGVtZW50OjpTVkdSZWN0RWxlbWVudChjb25zdCBRdWEKICAgICAsIFNWR1Rl
c3RzKCkKICAgICAsIFNWR0xhbmdTcGFjZSgpCiAgICAgLCBTVkdFeHRlcm5hbFJlc291cmNlc1Jl
cXVpcmVkKCkKLSAgICAsIG1feCh0aGlzLCBMZW5ndGhNb2RlV2lkdGgpCi0gICAgLCBtX3kodGhp
cywgTGVuZ3RoTW9kZUhlaWdodCkKLSAgICAsIG1fd2lkdGgodGhpcywgTGVuZ3RoTW9kZVdpZHRo
KQotICAgICwgbV9oZWlnaHQodGhpcywgTGVuZ3RoTW9kZUhlaWdodCkKLSAgICAsIG1fcngodGhp
cywgTGVuZ3RoTW9kZVdpZHRoKQotICAgICwgbV9yeSh0aGlzLCBMZW5ndGhNb2RlSGVpZ2h0KQor
ICAgICwgbV94KFNWR0xlbmd0aCh0aGlzLCBMZW5ndGhNb2RlV2lkdGgpKQorICAgICwgbV95KFNW
R0xlbmd0aCh0aGlzLCBMZW5ndGhNb2RlSGVpZ2h0KSkKKyAgICAsIG1fd2lkdGgoU1ZHTGVuZ3Ro
KHRoaXMsIExlbmd0aE1vZGVXaWR0aCkpCisgICAgLCBtX2hlaWdodChTVkdMZW5ndGgodGhpcywg
TGVuZ3RoTW9kZUhlaWdodCkpCisgICAgLCBtX3J4KFNWR0xlbmd0aCh0aGlzLCBMZW5ndGhNb2Rl
V2lkdGgpKQorICAgICwgbV9yeShTVkdMZW5ndGgodGhpcywgTGVuZ3RoTW9kZUhlaWdodCkpCiB7
CiB9CiAKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR1JlY3RFbGVtZW50LmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9zdmcvU1ZHUmVjdEVsZW1lbnQuaAkocmV2aXNpb24gMzQ4ODcpCisrKyBXZWJDb3Jl
L3N2Zy9TVkdSZWN0RWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC00NywxMSArNDcsMTEgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIFBhdGggdG9QYXRoRGF0YSgpIGNv
bnN0OwogCiAgICAgcHJvdGVjdGVkOgotICAgICAgICB2aXJ0dWFsIGNvbnN0IFNWR0VsZW1lbnQq
IGNvbnRleHRFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gdGhpczsgfQorICAgICAgICB2aXJ0dWFs
IFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgeyByZXR1cm4gdGhpczsgfQogICAgICAgICB2
aXJ0dWFsIGJvb2wgaGFzUmVsYXRpdmVWYWx1ZXMoKSBjb25zdDsKIAogICAgIHByaXZhdGU6Ci0g
ICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJT05TKFNWR0V4dGVybmFs
UmVzb3VyY2VzUmVxdWlyZWQsIGJvb2wsIEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVy
bmFsUmVzb3VyY2VzUmVxdWlyZWQpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRf
REVDTEFSQVRJT05TKFNWR1JlY3RFbGVtZW50LCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVk
LCBib29sLCBFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVp
cmVkKQogCiAgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdSZWN0RWxl
bWVudCwgU1ZHTGVuZ3RoLCBTVkdMZW5ndGgsIFgsIHgpCiAgICAgICAgIEFOSU1BVEVEX1BST1BF
UlRZX0RFQ0xBUkFUSU9OUyhTVkdSZWN0RWxlbWVudCwgU1ZHTGVuZ3RoLCBTVkdMZW5ndGgsIFks
IHkpCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdTVkdFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3N2Zy9TVkdTVkdFbGVtZW50LmNwcAkocmV2aXNpb24gMzQ4ODcpCisrKyBXZWJDb3Jl
L3N2Zy9TVkdTVkdFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjEsMTAgKzYxLDEwIEBA
IFNWR1NWR0VsZW1lbnQ6OlNWR1NWR0VsZW1lbnQoY29uc3QgUXVhbGkKICAgICAsIFNWR0V4dGVy
bmFsUmVzb3VyY2VzUmVxdWlyZWQoKQogICAgICwgU1ZHRml0VG9WaWV3Qm94KCkKICAgICAsIFNW
R1pvb21BbmRQYW4oKQotICAgICwgbV94KHRoaXMsIExlbmd0aE1vZGVXaWR0aCkKLSAgICAsIG1f
eSh0aGlzLCBMZW5ndGhNb2RlSGVpZ2h0KQotICAgICwgbV93aWR0aCh0aGlzLCBMZW5ndGhNb2Rl
V2lkdGgpCi0gICAgLCBtX2hlaWdodCh0aGlzLCBMZW5ndGhNb2RlSGVpZ2h0KQorICAgICwgbV94
KFNWR0xlbmd0aCh0aGlzLCBMZW5ndGhNb2RlV2lkdGgpKQorICAgICwgbV95KFNWR0xlbmd0aCh0
aGlzLCBMZW5ndGhNb2RlSGVpZ2h0KSkKKyAgICAsIG1fd2lkdGgoU1ZHTGVuZ3RoKHRoaXMsIExl
bmd0aE1vZGVXaWR0aCkpCisgICAgLCBtX2hlaWdodChTVkdMZW5ndGgodGhpcywgTGVuZ3RoTW9k
ZUhlaWdodCkpCiAgICAgLCBtX3VzZUN1cnJlbnRWaWV3KGZhbHNlKQogICAgICwgbV90aW1lQ29u
dGFpbmVyKFNNSUxUaW1lQ29udGFpbmVyOjpjcmVhdGUodGhpcykpCiAgICAgLCBtX3ZpZXdTcGVj
KDApCkBAIC0xODQsNyArMTg0LDcgQEAgdm9pZCBTVkdTVkdFbGVtZW50OjpzZXRVc2VDdXJyZW50
VmlldyhibwogU1ZHVmlld1NwZWMqIFNWR1NWR0VsZW1lbnQ6OmN1cnJlbnRWaWV3KCkgY29uc3QK
IHsKICAgICBpZiAoIW1fdmlld1NwZWMpCi0gICAgICAgIG1fdmlld1NwZWMuc2V0KG5ldyBTVkdW
aWV3U3BlYyh0aGlzKSk7CisgICAgICAgIG1fdmlld1NwZWMuc2V0KG5ldyBTVkdWaWV3U3BlYyhj
b25zdF9jYXN0PFNWR1NWR0VsZW1lbnQqPih0aGlzKSkpOwogCiAgICAgcmV0dXJuIG1fdmlld1Nw
ZWMuZ2V0KCk7CiB9CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdTVkdFbGVtZW50LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9zdmcvU1ZHU1ZHRWxlbWVudC5oCShyZXZpc2lvbiAzNDg4NykKKysrIFdl
YkNvcmUvc3ZnL1NWR1NWR0VsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMTM1LDcgKzEzNSw3
IEBAIG5hbWVzcGFjZSBXZWJDb3JlCiAgICAgICAgIHZvaWQgaW5oZXJpdFZpZXdBdHRyaWJ1dGVz
KFNWR1ZpZXdFbGVtZW50Kik7CiAKICAgICBwcm90ZWN0ZWQ6Ci0gICAgICAgIHZpcnR1YWwgY29u
c3QgU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSBjb25zdCB7IHJldHVybiB0aGlzOyB9Cisg
ICAgICAgIHZpcnR1YWwgU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSB7IHJldHVybiB0aGlz
OyB9CiAKICAgICAgICAgZnJpZW5kIGNsYXNzIFJlbmRlclNWR1Jvb3Q7CiAgICAgICAgIGZyaWVu
ZCBjbGFzcyBSZW5kZXJTVkdWaWV3cG9ydENvbnRhaW5lcjsKQEAgLTE0Nyw5ICsxNDcsOSBAQCBu
YW1lc3BhY2UgV2ViQ29yZQogICAgIHByaXZhdGU6CiAgICAgICAgIHZvaWQgYWRkU1ZHV2luZG93
RXZlbnRMaXN0ZW5lcihjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgY29uc3QgQXR0cmli
dXRlKiBhdHRyKTsgICAKIAotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xB
UkFUSU9OUyhTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBib29sLCBFeHRlcm5hbFJlc291
cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQotICAgICAgICBBTklNQVRF
RF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdGaXRUb1ZpZXdCb3gsIEZsb2F0UmVj
dCwgVmlld0JveCwgdmlld0JveCkKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9E
RUNMQVJBVElPTlMoU1ZHRml0VG9WaWV3Qm94LCBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvKiwgUHJl
c2VydmVBc3BlY3RSYXRpbywgcHJlc2VydmVBc3BlY3RSYXRpbykKKyAgICAgICAgQU5JTUFURURf
UFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHU1ZHRWxlbWVudCwgU1ZHRXh0ZXJuYWxS
ZXNvdXJjZXNSZXF1aXJlZCwgYm9vbCwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJu
YWxSZXNvdXJjZXNSZXF1aXJlZCkKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9E
RUNMQVJBVElPTlMoU1ZHU1ZHRWxlbWVudCwgU1ZHRml0VG9WaWV3Qm94LCBGbG9hdFJlY3QsIFZp
ZXdCb3gsIHZpZXdCb3gpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFS
QVRJT05TKFNWR1NWR0VsZW1lbnQsIFNWR0ZpdFRvVmlld0JveCwgU1ZHUHJlc2VydmVBc3BlY3RS
YXRpbyosIFByZXNlcnZlQXNwZWN0UmF0aW8sIHByZXNlcnZlQXNwZWN0UmF0aW8pCiAKICAgICAg
ICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR1NWR0VsZW1lbnQsIFNWR0xlbmd0
aCwgU1ZHTGVuZ3RoLCBYLCB4KQogICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElP
TlMoU1ZHU1ZHRWxlbWVudCwgU1ZHTGVuZ3RoLCBTVkdMZW5ndGgsIFksIHkpCkluZGV4OiBXZWJD
b3JlL3N2Zy9TVkdTY3JpcHRFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZH
U2NyaXB0RWxlbWVudC5oCShyZXZpc2lvbiAzNDg4NykKKysrIFdlYkNvcmUvc3ZnL1NWR1Njcmlw
dEVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNDgsMTEgKzQ4LDEyIEBAIG5hbWVzcGFjZSBX
ZWJDb3JlCiAgICAgICAgIHZpcnR1YWwgdm9pZCBnZXRTdWJyZXNvdXJjZUF0dHJpYnV0ZVN0cmlu
Z3MoVmVjdG9yPFN0cmluZz4mKSBjb25zdDsKIAogICAgIHByb3RlY3RlZDoKLSAgICAgICAgdmly
dHVhbCBjb25zdCBTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIHRo
aXM7IH0KKyAgICAgICAgdmlydHVhbCBTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCgpIHsgcmV0
dXJuIHRoaXM7IH0KIAogICAgIHByaXZhdGU6Ci0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZP
UldBUkRfREVDTEFSQVRJT05TKFNWR1VSSVJlZmVyZW5jZSwgU3RyaW5nLCBIcmVmLCBocmVmKQot
ICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdFeHRlcm5h
bFJlc291cmNlc1JlcXVpcmVkLCBib29sLCBFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRl
cm5hbFJlc291cmNlc1JlcXVpcmVkKQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9TVEFSVF9E
RUNMQVJBVElPTlMoU1ZHU2NyaXB0RWxlbWVudCkKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlf
Rk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHU2NyaXB0RWxlbWVudCwgU1ZHVVJJUmVmZXJlbmNlLCBT
dHJpbmcsIEhyZWYsIGhyZWYpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVD
TEFSQVRJT05TKFNWR1NjcmlwdEVsZW1lbnQsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQs
IGJvb2wsIEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWly
ZWQpCiAKICAgICAgICAgU3RyaW5nIG1fdHlwZTsKICAgICB9OwpJbmRleDogV2ViQ29yZS9zdmcv
U1ZHU3R5bGVkRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR1N0eWxlZEVs
ZW1lbnQuaAkocmV2aXNpb24gMzQ4ODcpCisrKyBXZWJDb3JlL3N2Zy9TVkdTdHlsZWRFbGVtZW50
LmgJKHdvcmtpbmcgY29weSkKQEAgLTcxLDYgKzcxLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgICAgICBzdGF0aWMgaW50IGNzc1Byb3BlcnR5SWRGb3JTVkdBdHRyaWJ1dGVOYW1lKGNvbnN0
IFF1YWxpZmllZE5hbWUmKTsKIAogICAgIHByaXZhdGU6CisgICAgICAgIEFOSU1BVEVEX1BST1BF
UlRZX1NUQVJUX0RFQ0xBUkFUSU9OUyhTVkdTdHlsZWRFbGVtZW50KQogICAgICAgICBBTklNQVRF
RF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHU3R5bGVkRWxlbWVudCwgU3RyaW5nLCBTdHJpbmcs
IENsYXNzTmFtZSwgY2xhc3NOYW1lKQogCiAgICAgICAgIHZvaWQgdXBkYXRlRWxlbWVudEluc3Rh
bmNlKFNWR0RvY3VtZW50RXh0ZW5zaW9ucyopIGNvbnN0OwpJbmRleDogV2ViQ29yZS9zdmcvU1ZH
U3R5bGVkVHJhbnNmb3JtYWJsZUVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3Zn
L1NWR1N0eWxlZFRyYW5zZm9ybWFibGVFbGVtZW50LmNwcAkocmV2aXNpb24gMzQ4ODcpCisrKyBX
ZWJDb3JlL3N2Zy9TVkdTdHlsZWRUcmFuc2Zvcm1hYmxlRWxlbWVudC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTQ2LDcgKzQ2LDcgQEAgU1ZHU3R5bGVkVHJhbnNmb3JtYWJsZUVsZW1lbnQ6On5TVkdT
dHlsZQogewogfQogCi1BTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdTdHlsZWRUcmFu
c2Zvcm1hYmxlRWxlbWVudCwgU1ZHVHJhbnNmb3JtTGlzdCosIFRyYW5zZm9ybUxpc3QsIHRyYW5z
Zm9ybUxpc3QsIFRyYW5zZm9ybSwgdHJhbnNmb3JtLCBTVkdOYW1lczo6dHJhbnNmb3JtQXR0ciwg
bV90cmFuc2Zvcm0uZ2V0KCkpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OU19SRUZDT1VO
VEVEKFNWR1N0eWxlZFRyYW5zZm9ybWFibGVFbGVtZW50LCBTVkdUcmFuc2Zvcm1MaXN0LCBUcmFu
c2Zvcm1MaXN0LCB0cmFuc2Zvcm1MaXN0LCBUcmFuc2Zvcm0sIHRyYW5zZm9ybSwgU1ZHTmFtZXM6
OnRyYW5zZm9ybUF0dHIsIG1fdHJhbnNmb3JtKQogCiBBZmZpbmVUcmFuc2Zvcm0gU1ZHU3R5bGVk
VHJhbnNmb3JtYWJsZUVsZW1lbnQ6OmdldENUTSgpIGNvbnN0CiB7CkluZGV4OiBXZWJDb3JlL3N2
Zy9TVkdTdHlsZWRUcmFuc2Zvcm1hYmxlRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
c3ZnL1NWR1N0eWxlZFRyYW5zZm9ybWFibGVFbGVtZW50LmgJKHJldmlzaW9uIDM0ODg3KQorKysg
V2ViQ29yZS9zdmcvU1ZHU3R5bGVkVHJhbnNmb3JtYWJsZUVsZW1lbnQuaAkod29ya2luZyBjb3B5
KQpAQCAtMjYsMTEgKzI2LDExIEBACiAjaWYgRU5BQkxFKFNWRykKICNpbmNsdWRlICJTVkdTdHls
ZWRMb2NhdGFibGVFbGVtZW50LmgiCiAjaW5jbHVkZSAiU1ZHVHJhbnNmb3JtYWJsZS5oIgorI2lu
Y2x1ZGUgIlNWR1RyYW5zZm9ybUxpc3QuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAg
Y2xhc3MgQWZmaW5lVHJhbnNmb3JtOwotICAgIGNsYXNzIFNWR1RyYW5zZm9ybUxpc3Q7CiAKICAg
ICBjbGFzcyBTVkdTdHlsZWRUcmFuc2Zvcm1hYmxlRWxlbWVudCA6IHB1YmxpYyBTVkdTdHlsZWRM
b2NhdGFibGVFbGVtZW50LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcHVibGljIFNWR1RyYW5zZm9ybWFibGUgewpJbmRleDogV2ViQ29yZS9zdmcvU1ZHU3dpdGNo
RWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR1N3aXRjaEVsZW1lbnQuaAko
cmV2aXNpb24gMzQ4ODcpCisrKyBXZWJDb3JlL3N2Zy9TVkdTd2l0Y2hFbGVtZW50LmgJKHdvcmtp
bmcgY29weSkKQEAgLTQ3LDEyICs0NywxMiBAQCBuYW1lc3BhY2UgV2ViQ29yZQogICAgICAgICB2
aXJ0dWFsIFJlbmRlck9iamVjdCogY3JlYXRlUmVuZGVyZXIoUmVuZGVyQXJlbmEqLCBSZW5kZXJT
dHlsZSopOwogCiAgICAgcHJvdGVjdGVkOgotICAgICAgICB2aXJ0dWFsIGNvbnN0IFNWR0VsZW1l
bnQqIGNvbnRleHRFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gdGhpczsgfQorICAgICAgICB2aXJ0
dWFsIFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgeyByZXR1cm4gdGhpczsgfQogCiAgICAg
cHJpdmF0ZToKICAgICAgICAgbXV0YWJsZSBib29sIG1faW5zaWRlUmVuZGVyU2VjdGlvbjsKIAot
ICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdFeHRlcm5h
bFJlc291cmNlc1JlcXVpcmVkLCBib29sLCBFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRl
cm5hbFJlc291cmNlc1JlcXVpcmVkKQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJE
X0RFQ0xBUkFUSU9OUyhTVkdTd2l0Y2hFbGVtZW50LCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVp
cmVkLCBib29sLCBFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1Jl
cXVpcmVkKQogICAgIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFdlYkNvcmUv
c3ZnL1NWR1N5bWJvbEVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdTeW1i
b2xFbGVtZW50LmgJKHJldmlzaW9uIDM0ODg3KQorKysgV2ViQ29yZS9zdmcvU1ZHU3ltYm9sRWxl
bWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC00NiwxMSArNDYsMTEgQEAgbmFtZXNwYWNlIFdlYkNv
cmUKICAgICAgICAgdmlydHVhbCBib29sIHJlbmRlcmVySXNOZWVkZWQoUmVuZGVyU3R5bGUqKSB7
IHJldHVybiBmYWxzZTsgfQogCiAgICAgcHJvdGVjdGVkOgotICAgICAgICB2aXJ0dWFsIGNvbnN0
IFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gdGhpczsgfQorICAg
ICAgICB2aXJ0dWFsIFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgeyByZXR1cm4gdGhpczsg
fQogIAotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdF
eHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBib29sLCBFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVk
LCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKSAgICAgICAKLSAgICAgICAgQU5JTUFURURfUFJP
UEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHRml0VG9WaWV3Qm94LCBGbG9hdFJlY3QsIFZp
ZXdCb3gsIHZpZXdCb3gpCi0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFS
QVRJT05TKFNWR0ZpdFRvVmlld0JveCwgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbyosIFByZXNlcnZl
QXNwZWN0UmF0aW8sIHByZXNlcnZlQXNwZWN0UmF0aW8pCisgICAgICAgIEFOSU1BVEVEX1BST1BF
UlRZX0ZPUldBUkRfREVDTEFSQVRJT05TKFNWR1N5bWJvbEVsZW1lbnQsIFNWR0V4dGVybmFsUmVz
b3VyY2VzUmVxdWlyZWQsIGJvb2wsIEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFs
UmVzb3VyY2VzUmVxdWlyZWQpICAgICAgIAorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9GT1JX
QVJEX0RFQ0xBUkFUSU9OUyhTVkdTeW1ib2xFbGVtZW50LCBTVkdGaXRUb1ZpZXdCb3gsIEZsb2F0
UmVjdCwgVmlld0JveCwgdmlld0JveCkKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FS
RF9ERUNMQVJBVElPTlMoU1ZHU3ltYm9sRWxlbWVudCwgU1ZHRml0VG9WaWV3Qm94LCBTVkdQcmVz
ZXJ2ZUFzcGVjdFJhdGlvKiwgUHJlc2VydmVBc3BlY3RSYXRpbywgcHJlc2VydmVBc3BlY3RSYXRp
bykKICAgICB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBXZWJDb3JlL3N2Zy9T
VkdUUmVmRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR1RSZWZFbGVtZW50
LmgJKHJldmlzaW9uIDM0ODg3KQorKysgV2ViQ29yZS9zdmcvU1ZHVFJlZkVsZW1lbnQuaAkod29y
a2luZyBjb3B5KQpAQCAtNDEsMTAgKzQxLDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlCiAgICAgICAg
IGJvb2wgY2hpbGRTaG91bGRDcmVhdGVSZW5kZXJlcihOb2RlKikgY29uc3Q7CiAKICAgICBwcm90
ZWN0ZWQ6Ci0gICAgICAgIHZpcnR1YWwgY29uc3QgU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQo
KSBjb25zdCB7IHJldHVybiB0aGlzOyB9CisgICAgICAgIHZpcnR1YWwgU1ZHRWxlbWVudCogY29u
dGV4dEVsZW1lbnQoKSB7IHJldHVybiB0aGlzOyB9CiAKICAgICBwcml2YXRlOgotICAgICAgICBB
TklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdVUklSZWZlcmVuY2UsIFN0
cmluZywgSHJlZiwgaHJlZikKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNM
QVJBVElPTlMoU1ZHVFJlZkVsZW1lbnQsIFNWR1VSSVJlZmVyZW5jZSwgU3RyaW5nLCBIcmVmLCBo
cmVmKQogCiAgICAgICAgIHZvaWQgdXBkYXRlUmVmZXJlbmNlZFRleHQoKTsKICAgICB9OwpJbmRl
eDogV2ViQ29yZS9zdmcvU1ZHVFNwYW5FbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9z
dmcvU1ZHVFNwYW5FbGVtZW50LmgJKHJldmlzaW9uIDM0ODg3KQorKysgV2ViQ29yZS9zdmcvU1ZH
VFNwYW5FbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTM4LDcgKzM4LDcgQEAgbmFtZXNwYWNl
IFdlYkNvcmUKICAgICAgICAgYm9vbCBjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKE5vZGUqKSBj
b25zdDsKICAgICAKICAgICBwcm90ZWN0ZWQ6Ci0gICAgICAgIHZpcnR1YWwgY29uc3QgU1ZHRWxl
bWVudCogY29udGV4dEVsZW1lbnQoKSBjb25zdCB7IHJldHVybiB0aGlzOyB9CisgICAgICAgIHZp
cnR1YWwgU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSB7IHJldHVybiB0aGlzOyB9CiAgICAg
fTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHVGV4dENv
bnRlbnRFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdUZXh0Q29udGVu
dEVsZW1lbnQuY3BwCShyZXZpc2lvbiAzNDg4NykKKysrIFdlYkNvcmUvc3ZnL1NWR1RleHRDb250
ZW50RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ2LDcgKzQ2LDcgQEAgU1ZHVGV4dENv
bnRlbnRFbGVtZW50OjpTVkdUZXh0Q29udGVudEVsZQogICAgICwgU1ZHVGVzdHMoKQogICAgICwg
U1ZHTGFuZ1NwYWNlKCkKICAgICAsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQoKQotICAg
ICwgbV90ZXh0TGVuZ3RoKHRoaXMsIExlbmd0aE1vZGVPdGhlcikKKyAgICAsIG1fdGV4dExlbmd0
aChTVkdMZW5ndGgodGhpcywgTGVuZ3RoTW9kZU90aGVyKSkKICAgICAsIG1fbGVuZ3RoQWRqdXN0
KExFTkdUSEFESlVTVF9TUEFDSU5HKQogewogfQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHVGV4dENv
bnRlbnRFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHVGV4dENvbnRlbnRF
bGVtZW50LmgJKHJldmlzaW9uIDM0ODg3KQorKysgV2ViQ29yZS9zdmcvU1ZHVGV4dENvbnRlbnRF
bGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTY0LDcgKzY0LDcgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgICAgICBib29sIGlzS25vd25BdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYp
OwogCiAgICAgcHJpdmF0ZToKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNM
QVJBVElPTlMoU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgYm9vbCwgRXh0ZXJuYWxSZXNv
dXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkKKyAgICAgICAgQU5JTUFU
RURfUFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHVGV4dENvbnRlbnRFbGVtZW50LCBT
VkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBib29sLCBFeHRlcm5hbFJlc291cmNlc1JlcXVp
cmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQogCiAgICAgICAgIEFOSU1BVEVEX1BST1BF
UlRZX0RFQ0xBUkFUSU9OUyhTVkdUZXh0Q29udGVudEVsZW1lbnQsIFNWR0xlbmd0aCwgU1ZHTGVu
Z3RoLCBUZXh0TGVuZ3RoLCB0ZXh0TGVuZ3RoKQogICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9E
RUNMQVJBVElPTlMoU1ZHVGV4dENvbnRlbnRFbGVtZW50LCBpbnQsIGludCwgTGVuZ3RoQWRqdXN0
LCBsZW5ndGhBZGp1c3QpCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdUZXh0RWxlbWVudC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHVGV4dEVsZW1lbnQuY3BwCShyZXZpc2lvbiAzNDg4
NykKKysrIFdlYkNvcmUvc3ZnL1NWR1RleHRFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NDYsNyArNDYsNyBAQCBTVkdUZXh0RWxlbWVudDo6flNWR1RleHRFbGVtZW50KCkKIHsKIH0KIAot
QU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHVGV4dEVsZW1lbnQsIFNWR1RyYW5zZm9y
bUxpc3QqLCBUcmFuc2Zvcm1MaXN0LCB0cmFuc2Zvcm1MaXN0LCBUcmFuc2Zvcm0sIHRyYW5zZm9y
bSwgU1ZHTmFtZXM6OnRyYW5zZm9ybUF0dHIsIG1fdHJhbnNmb3JtLmdldCgpKQorQU5JTUFURURf
UFJPUEVSVFlfREVGSU5JVElPTlNfUkVGQ09VTlRFRChTVkdUZXh0RWxlbWVudCwgU1ZHVHJhbnNm
b3JtTGlzdCwgVHJhbnNmb3JtTGlzdCwgdHJhbnNmb3JtTGlzdCwgVHJhbnNmb3JtLCB0cmFuc2Zv
cm0sIFNWR05hbWVzOjp0cmFuc2Zvcm1BdHRyLCBtX3RyYW5zZm9ybSkKIAogdm9pZCBTVkdUZXh0
RWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoTWFwcGVkQXR0cmlidXRlKiBhdHRyKQogewpJ
bmRleDogV2ViQ29yZS9zdmcvU1ZHVGV4dEVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L3N2Zy9TVkdUZXh0RWxlbWVudC5oCShyZXZpc2lvbiAzNDg4NykKKysrIFdlYkNvcmUvc3ZnL1NW
R1RleHRFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTI2LDYgKzI2LDcgQEAKICNpZiBFTkFC
TEUoU1ZHKQogI2luY2x1ZGUgIlNWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQuaCIKICNpbmNsdWRl
ICJTVkdUcmFuc2Zvcm1hYmxlLmgiCisjaW5jbHVkZSAiU1ZHVHJhbnNmb3JtTGlzdC5oIgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTUyLDcgKzUzLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgICAgICB2aXJ0dWFsIHZvaWQgc3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZp
ZWROYW1lJik7CiAKICAgICBwcm90ZWN0ZWQ6Ci0gICAgICAgIHZpcnR1YWwgY29uc3QgU1ZHRWxl
bWVudCogY29udGV4dEVsZW1lbnQoKSBjb25zdCB7IHJldHVybiB0aGlzOyB9CisgICAgICAgIHZp
cnR1YWwgU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSB7IHJldHVybiB0aGlzOyB9CiAKICAg
ICBwcml2YXRlOgogICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHVGV4
dEVsZW1lbnQsIFNWR1RyYW5zZm9ybUxpc3QqLCBSZWZQdHI8U1ZHVHJhbnNmb3JtTGlzdD4sIFRy
YW5zZm9ybSwgdHJhbnNmb3JtKQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHVGV4dFBhdGhFbGVtZW50
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdUZXh0UGF0aEVsZW1lbnQuY3BwCShy
ZXZpc2lvbiAzNDg4NykKKysrIFdlYkNvcmUvc3ZnL1NWR1RleHRQYXRoRWxlbWVudC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTM4LDcgKzM4LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogU1ZHVGV4
dFBhdGhFbGVtZW50OjpTVkdUZXh0UGF0aEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFn
TmFtZSwgRG9jdW1lbnQqIGRvYykKICAgICA6IFNWR1RleHRDb250ZW50RWxlbWVudCh0YWdOYW1l
LCBkb2MpCiAgICAgLCBTVkdVUklSZWZlcmVuY2UoKQotICAgICwgbV9zdGFydE9mZnNldCh0aGlz
LCBMZW5ndGhNb2RlT3RoZXIpCisgICAgLCBtX3N0YXJ0T2Zmc2V0KFNWR0xlbmd0aCh0aGlzLCBM
ZW5ndGhNb2RlT3RoZXIpKQogICAgICwgbV9tZXRob2QoU1ZHX1RFWFRQQVRIX01FVEhPRFRZUEVf
QUxJR04pCiAgICAgLCBtX3NwYWNpbmcoU1ZHX1RFWFRQQVRIX1NQQUNJTkdUWVBFX0VYQUNUKQog
ewpJbmRleDogV2ViQ29yZS9zdmcvU1ZHVGV4dFBhdGhFbGVtZW50LmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9zdmcvU1ZHVGV4dFBhdGhFbGVtZW50LmgJKHJldmlzaW9uIDM0ODg3KQorKysgV2Vi
Q29yZS9zdmcvU1ZHVGV4dFBhdGhFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTY3LDEwICs2
NywxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZQogICAgICAgICBib29sIGNoaWxkU2hvdWxkQ3JlYXRl
UmVuZGVyZXIoTm9kZSopIGNvbnN0OwogICAgIAogICAgIHByb3RlY3RlZDoKLSAgICAgICAgdmly
dHVhbCBjb25zdCBTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIHRo
aXM7IH0KKyAgICAgICAgdmlydHVhbCBTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCgpIHsgcmV0
dXJuIHRoaXM7IH0KIAogICAgIHByaXZhdGU6Ci0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZP
UldBUkRfREVDTEFSQVRJT05TKFNWR1VSSVJlZmVyZW5jZSwgU3RyaW5nLCBIcmVmLCBocmVmKQor
ICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdUZXh0UGF0
aEVsZW1lbnQsIFNWR1VSSVJlZmVyZW5jZSwgU3RyaW5nLCBIcmVmLCBocmVmKQogCiAgICAgICAg
IEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdUZXh0UGF0aEVsZW1lbnQsIFNWR0xl
bmd0aCwgU1ZHTGVuZ3RoLCBTdGFydE9mZnNldCwgc3RhcnRPZmZzZXQpCiAgICAgICAgIEFOSU1B
VEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdUZXh0UGF0aEVsZW1lbnQsIGludCwgaW50LCBN
ZXRob2QsIG1ldGhvZCkKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR1RleHRQb3NpdGlvbmluZ0VsZW1l
bnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR1RleHRQb3NpdGlvbmluZ0VsZW1l
bnQuY3BwCShyZXZpc2lvbiAzNDg4NykKKysrIFdlYkNvcmUvc3ZnL1NWR1RleHRQb3NpdGlvbmlu
Z0VsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NSwxMSArNDUsMTEgQEAgU1ZHVGV4dFBv
c2l0aW9uaW5nRWxlbWVudDo6flNWR1RleHRQb3NpdAogewogfQogCi1BTklNQVRFRF9QUk9QRVJU
WV9ERUZJTklUSU9OUyhTVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50LCBTVkdMZW5ndGhMaXN0Kiwg
TGVuZ3RoTGlzdCwgbGVuZ3RoTGlzdCwgWCwgeCwgU1ZHTmFtZXM6OnhBdHRyLCBtX3guZ2V0KCkp
Ci1BTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50
LCBTVkdMZW5ndGhMaXN0KiwgTGVuZ3RoTGlzdCwgbGVuZ3RoTGlzdCwgWSwgeSwgU1ZHTmFtZXM6
OnlBdHRyLCBtX3kuZ2V0KCkpCi1BTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdUZXh0
UG9zaXRpb25pbmdFbGVtZW50LCBTVkdMZW5ndGhMaXN0KiwgTGVuZ3RoTGlzdCwgbGVuZ3RoTGlz
dCwgRHgsIGR4LCBTVkdOYW1lczo6ZHhBdHRyLCBtX2R4LmdldCgpKQotQU5JTUFURURfUFJPUEVS
VFlfREVGSU5JVElPTlMoU1ZHVGV4dFBvc2l0aW9uaW5nRWxlbWVudCwgU1ZHTGVuZ3RoTGlzdCos
IExlbmd0aExpc3QsIGxlbmd0aExpc3QsIER5LCBkeSwgU1ZHTmFtZXM6OmR5QXR0ciwgbV9keS5n
ZXQoKSkKLUFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR1RleHRQb3NpdGlvbmluZ0Vs
ZW1lbnQsIFNWR051bWJlckxpc3QqLCBOdW1iZXJMaXN0LCBudW1iZXJMaXN0LCBSb3RhdGUsIHJv
dGF0ZSwgU1ZHTmFtZXM6OnJvdGF0ZUF0dHIsIG1fcm90YXRlLmdldCgpKQorQU5JTUFURURfUFJP
UEVSVFlfREVGSU5JVElPTlNfUkVGQ09VTlRFRChTVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50LCBT
VkdMZW5ndGhMaXN0LCBMZW5ndGhMaXN0LCBsZW5ndGhMaXN0LCBYLCB4LCBTVkdOYW1lczo6eEF0
dHIsIG1feCkKK0FOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TX1JFRkNPVU5URUQoU1ZHVGV4
dFBvc2l0aW9uaW5nRWxlbWVudCwgU1ZHTGVuZ3RoTGlzdCwgTGVuZ3RoTGlzdCwgbGVuZ3RoTGlz
dCwgWSwgeSwgU1ZHTmFtZXM6OnlBdHRyLCBtX3kpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklU
SU9OU19SRUZDT1VOVEVEKFNWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQsIFNWR0xlbmd0aExpc3Qs
IExlbmd0aExpc3QsIGxlbmd0aExpc3QsIER4LCBkeCwgU1ZHTmFtZXM6OmR4QXR0ciwgbV9keCkK
K0FOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TX1JFRkNPVU5URUQoU1ZHVGV4dFBvc2l0aW9u
aW5nRWxlbWVudCwgU1ZHTGVuZ3RoTGlzdCwgTGVuZ3RoTGlzdCwgbGVuZ3RoTGlzdCwgRHksIGR5
LCBTVkdOYW1lczo6ZHlBdHRyLCBtX2R5KQorQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlNf
UkVGQ09VTlRFRChTVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50LCBTVkdOdW1iZXJMaXN0LCBOdW1i
ZXJMaXN0LCBudW1iZXJMaXN0LCBSb3RhdGUsIHJvdGF0ZSwgU1ZHTmFtZXM6OnJvdGF0ZUF0dHIs
IG1fcm90YXRlKQogCiB2b2lkIFNWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQ6OnBhcnNlTWFwcGVk
QXR0cmlidXRlKE1hcHBlZEF0dHJpYnV0ZSogYXR0cikKIHsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NW
R1RleHRQb3NpdGlvbmluZ0VsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdU
ZXh0UG9zaXRpb25pbmdFbGVtZW50LmgJKHJldmlzaW9uIDM0ODg3KQorKysgV2ViQ29yZS9zdmcv
U1ZHVGV4dFBvc2l0aW9uaW5nRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNCwxMyArMjQs
MTIgQEAKICNkZWZpbmUgU1ZHVGV4dFBvc2l0aW9uaW5nRWxlbWVudF9oCiAKICNpZiBFTkFCTEUo
U1ZHKQorI2luY2x1ZGUgIlNWR0xlbmd0aExpc3QuaCIKKyNpbmNsdWRlICJTVkdOdW1iZXJMaXN0
LmgiCiAjaW5jbHVkZSAiU1ZHVGV4dENvbnRlbnRFbGVtZW50LmgiCiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAotICAgIGNsYXNzIFNWR0xlbmd0aExpc3Q7Ci0gICAgY2xhc3MgU1ZHTnVtYmVyTGlz
dDsKLQogICAgIGNsYXNzIFNWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQgOiBwdWJsaWMgU1ZHVGV4
dENvbnRlbnRFbGVtZW50IHsKICAgICBwdWJsaWM6CiAgICAgICAgIFNWR1RleHRQb3NpdGlvbmlu
Z0VsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Kik7CkluZGV4OiBXZWJDb3Jl
L3N2Zy9TVkdUcmFuc2Zvcm1MaXN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdU
cmFuc2Zvcm1MaXN0LmNwcAkocmV2aXNpb24gMzQ4ODcpCisrKyBXZWJDb3JlL3N2Zy9TVkdUcmFu
c2Zvcm1MaXN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtODIsNCArODIsMTYgQEAgU1ZHVHJhbnNm
b3JtIFNWR1RyYW5zZm9ybUxpc3Q6OmNvbmNhdGVuYQogICAgIHJldHVybiB0b3RhbFRyYW5zZm9y
bS5hZGRUb1NWR1RyYW5zZm9ybShTVkdUcmFuc2Zvcm0oKSk7CiB9CiAKK1N0cmluZyBTVkdUcmFu
c2Zvcm1MaXN0Ojp2YWx1ZUFzU3RyaW5nKCkgY29uc3QKK3sKKyAgICAvLyBUT0RPOiBXZSBtYXkg
d2FudCB0byBidWlsZCBhIHJlYWwgdHJhbnNmb3JtIHN0cmluZywgaW5zdGVhZCBvZiBjb25jYXR0
aW5nIHRvIGEgbWF0cml4KC4uLikuCisgICAgU1ZHVHJhbnNmb3JtIHRyYW5zZm9ybSA9IGNvbmNh
dGVuYXRlKCk7CisgICAgaWYgKHRyYW5zZm9ybS50eXBlKCkgPT0gU1ZHVHJhbnNmb3JtOjpTVkdf
VFJBTlNGT1JNX01BVFJJWCkgeworICAgICAgICBBZmZpbmVUcmFuc2Zvcm0gbWF0cml4ID0gdHJh
bnNmb3JtLm1hdHJpeCgpOworICAgICAgICByZXR1cm4gU3RyaW5nOjpmb3JtYXQoIm1hdHJpeCgl
ZiAlZiAlZiAlZiAlZiAlZikiLCBtYXRyaXguYSgpLCBtYXRyaXguYigpLCBtYXRyaXguYygpLCBt
YXRyaXguZCgpLCBtYXRyaXguZSgpLCBtYXRyaXguZigpKTsKKyAgICB9CisKKyAgICByZXR1cm4g
U3RyaW5nKCk7Cit9CisKICNlbmRpZiAvLyBFTkFCTEUoU1ZHKQpJbmRleDogV2ViQ29yZS9zdmcv
U1ZHVHJhbnNmb3JtTGlzdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR1RyYW5zZm9y
bUxpc3QuaAkocmV2aXNpb24gMzQ4ODcpCisrKyBXZWJDb3JlL3N2Zy9TVkdUcmFuc2Zvcm1MaXN0
LmgJKHdvcmtpbmcgY29weSkKQEAgLTMwLDYgKzMwLDggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCisgICAgY2xhc3MgU3RyaW5nOworCiAgICAgY2xhc3MgU1ZHVHJhbnNmb3JtTGlzdCA6IHB1
YmxpYyBTVkdQT0RMaXN0PFNWR1RyYW5zZm9ybT4gewogICAgIHB1YmxpYzoKICAgICAgICAgc3Rh
dGljIFBhc3NSZWZQdHI8U1ZHVHJhbnNmb3JtTGlzdD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5h
bWUmIGF0dHJpYnV0ZU5hbWUpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBTVkdUcmFuc2Zvcm1MaXN0
KGF0dHJpYnV0ZU5hbWUpKTsgfQpAQCAtNDEsNyArNDMsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgICAgIC8vIEludGVybmFsIHVzZSBvbmx5CiAgICAgICAgIFNWR1RyYW5zZm9ybSBjb25j
YXRlbmF0ZSgpIGNvbnN0OwogICAgICAgICBTVkdUcmFuc2Zvcm0gY29uY2F0ZW5hdGVGb3JUeXBl
KFNWR1RyYW5zZm9ybTo6U1ZHVHJhbnNmb3JtVHlwZSkgY29uc3Q7Ci0gICAgICAgIAorIAorICAg
ICAgICBTdHJpbmcgdmFsdWVBc1N0cmluZygpIGNvbnN0OworCiAgICAgcHJpdmF0ZToKICAgICAg
ICAgU1ZHVHJhbnNmb3JtTGlzdChjb25zdCBRdWFsaWZpZWROYW1lJik7CiAgICAgfTsKSW5kZXg6
IFdlYkNvcmUvc3ZnL1NWR1VSSVJlZmVyZW5jZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3Zn
L1NWR1VSSVJlZmVyZW5jZS5oCShyZXZpc2lvbiAzNDg4NykKKysrIFdlYkNvcmUvc3ZnL1NWR1VS
SVJlZmVyZW5jZS5oCSh3b3JraW5nIGNvcHkpCkBAIC00MSw3ICs0MSw3IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICAgICAgc3RhdGljIFN0cmluZyBnZXRUYXJnZXQoY29uc3QgU3RyaW5nJiB1
cmwpOwogCiAgICAgcHJvdGVjdGVkOgotICAgICAgICB2aXJ0dWFsIGNvbnN0IFNWR0VsZW1lbnQq
IGNvbnRleHRFbGVtZW50KCkgY29uc3QgPSAwOworICAgICAgICB2aXJ0dWFsIFNWR0VsZW1lbnQq
IGNvbnRleHRFbGVtZW50KCkgPSAwOwogCiAgICAgcHJpdmF0ZToKICAgICAgICAgQU5JTUFURURf
UFJPUEVSVFlfREVDTEFSQVRJT05TX1dJVEhfQ09OVEVYVChTVkdVUklSZWZlcmVuY2UsIFN0cmlu
ZywgU3RyaW5nLCBIcmVmLCBocmVmKQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHVXNlRWxlbWVudC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHVXNlRWxlbWVudC5jcHAJKHJldmlzaW9u
IDM0ODg3KQorKysgV2ViQ29yZS9zdmcvU1ZHVXNlRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTU4LDEwICs1OCwxMCBAQCBTVkdVc2VFbGVtZW50OjpTVkdVc2VFbGVtZW50KGNvbnN0IFF1
YWxpCiAgICAgLCBTVkdMYW5nU3BhY2UoKQogICAgICwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1
aXJlZCgpCiAgICAgLCBTVkdVUklSZWZlcmVuY2UoKQotICAgICwgbV94KHRoaXMsIExlbmd0aE1v
ZGVXaWR0aCkKLSAgICAsIG1feSh0aGlzLCBMZW5ndGhNb2RlSGVpZ2h0KQotICAgICwgbV93aWR0
aCh0aGlzLCBMZW5ndGhNb2RlV2lkdGgpCi0gICAgLCBtX2hlaWdodCh0aGlzLCBMZW5ndGhNb2Rl
SGVpZ2h0KQorICAgICwgbV94KFNWR0xlbmd0aCh0aGlzLCBMZW5ndGhNb2RlV2lkdGgpKQorICAg
ICwgbV95KFNWR0xlbmd0aCh0aGlzLCBMZW5ndGhNb2RlSGVpZ2h0KSkKKyAgICAsIG1fd2lkdGgo
U1ZHTGVuZ3RoKHRoaXMsIExlbmd0aE1vZGVXaWR0aCkpCisgICAgLCBtX2hlaWdodChTVkdMZW5n
dGgodGhpcywgTGVuZ3RoTW9kZUhlaWdodCkpCiB7CiB9CiAKSW5kZXg6IFdlYkNvcmUvc3ZnL1NW
R1VzZUVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdVc2VFbGVtZW50LmgJ
KHJldmlzaW9uIDM0ODg3KQorKysgV2ViQ29yZS9zdmcvU1ZHVXNlRWxlbWVudC5oCSh3b3JraW5n
IGNvcHkpCkBAIC02OCwxMSArNjgsMTEgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBz
dGF0aWMgdm9pZCByZW1vdmVEaXNhbGxvd2VkRWxlbWVudHNGcm9tU3VidHJlZShOb2RlKiBlbGVt
ZW50KTsKIAogICAgIHByb3RlY3RlZDoKLSAgICAgICAgdmlydHVhbCBjb25zdCBTVkdFbGVtZW50
KiBjb250ZXh0RWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIHRoaXM7IH0KKyAgICAgICAgdmlydHVh
bCBTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCgpIHsgcmV0dXJuIHRoaXM7IH0KIAogICAgIHBy
aXZhdGU6Ci0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJT05TKFNW
R0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGJvb2wsIEV4dGVybmFsUmVzb3VyY2VzUmVxdWly
ZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpCi0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZ
X0ZPUldBUkRfREVDTEFSQVRJT05TKFNWR1VSSVJlZmVyZW5jZSwgU3RyaW5nLCBIcmVmLCBocmVm
KQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdVc2VF
bGVtZW50LCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBib29sLCBFeHRlcm5hbFJlc291
cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQorICAgICAgICBBTklNQVRF
RF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdVc2VFbGVtZW50LCBTVkdVUklSZWZl
cmVuY2UsIFN0cmluZywgSHJlZiwgaHJlZikKIAogICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9E
RUNMQVJBVElPTlMoU1ZHVXNlRWxlbWVudCwgU1ZHTGVuZ3RoLCBTVkdMZW5ndGgsIFgsIHgpCiAg
ICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdVc2VFbGVtZW50LCBTVkdM
ZW5ndGgsIFNWR0xlbmd0aCwgWSwgeSkKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR1ZpZXdFbGVtZW50
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHVmlld0VsZW1lbnQuaAkocmV2aXNpb24g
MzQ4ODcpCisrKyBXZWJDb3JlL3N2Zy9TVkdWaWV3RWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBA
IC00NywxNCArNDcsMTQgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIGJv
b2wgcmVuZGVyZXJJc05lZWRlZChSZW5kZXJTdHlsZSopIHsgcmV0dXJuIGZhbHNlOyB9CiAKICAg
ICBwcm90ZWN0ZWQ6Ci0gICAgICAgIHZpcnR1YWwgY29uc3QgU1ZHRWxlbWVudCogY29udGV4dEVs
ZW1lbnQoKSBjb25zdCB7IHJldHVybiB0aGlzOyB9CisgICAgICAgIHZpcnR1YWwgU1ZHRWxlbWVu
dCogY29udGV4dEVsZW1lbnQoKSB7IHJldHVybiB0aGlzOyB9CiAKICAgICBwcml2YXRlOgogICAg
ICAgICBtdXRhYmxlIFJlZlB0cjxTVkdTdHJpbmdMaXN0PiBtX3ZpZXdUYXJnZXQ7CiAKLSAgICAg
ICAgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHRXh0ZXJuYWxSZXNv
dXJjZXNSZXF1aXJlZCwgYm9vbCwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxS
ZXNvdXJjZXNSZXF1aXJlZCkKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNM
QVJBVElPTlMoU1ZHRml0VG9WaWV3Qm94LCBGbG9hdFJlY3QsIFZpZXdCb3gsIHZpZXdCb3gpCi0g
ICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJT05TKFNWR0ZpdFRvVmll
d0JveCwgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbyosIFByZXNlcnZlQXNwZWN0UmF0aW8sIHByZXNl
cnZlQXNwZWN0UmF0aW8pCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFS
QVRJT05TKFNWR1ZpZXdFbGVtZW50LCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBib29s
LCBFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQor
ICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdWaWV3RWxl
bWVudCwgU1ZHRml0VG9WaWV3Qm94LCBGbG9hdFJlY3QsIFZpZXdCb3gsIHZpZXdCb3gpCisgICAg
ICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJT05TKFNWR1ZpZXdFbGVtZW50
LCBTVkdGaXRUb1ZpZXdCb3gsIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8qLCBQcmVzZXJ2ZUFzcGVj
dFJhdGlvLCBwcmVzZXJ2ZUFzcGVjdFJhdGlvKQogICAgIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR1ZpZXdTcGVjLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3N2Zy9TVkdWaWV3U3BlYy5jcHAJKHJldmlzaW9uIDM0ODg3KQorKysgV2ViQ29yZS9z
dmcvU1ZHVmlld1NwZWMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMiw3ICszMiw3IEBACiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAotU1ZHVmlld1NwZWM6OlNWR1ZpZXdTcGVjKGNvbnN0IFNWR1NW
R0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KQorU1ZHVmlld1NwZWM6OlNWR1ZpZXdTcGVjKFNWR1NW
R0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KQogICAgIDogU1ZHRml0VG9WaWV3Qm94KCkKICAgICAs
IFNWR1pvb21BbmRQYW4oKQogICAgICwgbV90cmFuc2Zvcm0oU1ZHVHJhbnNmb3JtTGlzdDo6Y3Jl
YXRlKFNWR05hbWVzOjp0cmFuc2Zvcm1BdHRyKSkKQEAgLTc2LDcgKzc2LDcgQEAgU1ZHRWxlbWVu
dCogU1ZHVmlld1NwZWM6OnZpZXdUYXJnZXQoKSBjbwogICAgIHJldHVybiBzdGF0aWNfY2FzdDxT
VkdFbGVtZW50Kj4obV9jb250ZXh0RWxlbWVudC0+b3duZXJEb2N1bWVudCgpLT5nZXRFbGVtZW50
QnlJZChtX3ZpZXdUYXJnZXRTdHJpbmcpKTsKIH0KIAotY29uc3QgU1ZHRWxlbWVudCogU1ZHVmll
d1NwZWM6OmNvbnRleHRFbGVtZW50KCkgY29uc3QKK1NWR0VsZW1lbnQqIFNWR1ZpZXdTcGVjOjpj
b250ZXh0RWxlbWVudCgpCiB7CiAgICAgcmV0dXJuIG1fY29udGV4dEVsZW1lbnQ7CiB9CkluZGV4
OiBXZWJDb3JlL3N2Zy9TVkdWaWV3U3BlYy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NW
R1ZpZXdTcGVjLmgJKHJldmlzaW9uIDM0ODg3KQorKysgV2ViQ29yZS9zdmcvU1ZHVmlld1NwZWMu
aAkod29ya2luZyBjb3B5KQpAQCAtMzcsNyArMzcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgY2xhc3MgU1ZHVmlld1NwZWMgOiBwdWJsaWMgU1ZHRml0VG9WaWV3Qm94LAogICAgICAgICAg
ICAgICAgICAgICAgICAgcHVibGljIFNWR1pvb21BbmRQYW4gewogICAgIHB1YmxpYzoKLSAgICAg
ICAgU1ZHVmlld1NwZWMoY29uc3QgU1ZHU1ZHRWxlbWVudCopOworICAgICAgICBTVkdWaWV3U3Bl
YyhTVkdTVkdFbGVtZW50Kik7CiAgICAgICAgIHZpcnR1YWwgflNWR1ZpZXdTcGVjKCk7CiAKICAg
ICAgICAgYm9vbCBwYXJzZVZpZXdTcGVjKGNvbnN0IFN0cmluZyYpOwpAQCAtNTQsMTEgKzU0LDEx
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgU1ZHRWxlbWVudCogdmlld1RhcmdldCgp
IGNvbnN0OwogCiAgICAgcHJvdGVjdGVkOgotICAgICAgICB2aXJ0dWFsIGNvbnN0IFNWR0VsZW1l
bnQqIGNvbnRleHRFbGVtZW50KCkgY29uc3Q7CisgICAgICAgIHZpcnR1YWwgU1ZHRWxlbWVudCog
Y29udGV4dEVsZW1lbnQoKTsKIAogICAgIHByaXZhdGU6CiAgICAgICAgIG11dGFibGUgUmVmUHRy
PFNWR1RyYW5zZm9ybUxpc3Q+IG1fdHJhbnNmb3JtOwotICAgICAgICBjb25zdCBTVkdTVkdFbGVt
ZW50KiBtX2NvbnRleHRFbGVtZW50OworICAgICAgICBTVkdTVkdFbGVtZW50KiBtX2NvbnRleHRF
bGVtZW50OwogICAgICAgICBTdHJpbmcgbV92aWV3VGFyZ2V0U3RyaW5nOwogICAgIH07CiAKSW5k
ZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFu
Z2VMb2cJKHJldmlzaW9uIDM0ODg4KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDMgKzEsMjYgQEAKKzIwMDgtMDYtMzAgIE5pa29sYXMgWmltbWVybWFubiAg
PHppbW1lcm1hbm5Aa2RlLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBGaXhlczogaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTc3NzkgKFNWRyAxLjEgRXJyYXRhIGRlbWFuZHMgIlNWRyBKYXZhU2NyaXB0IExpdmVuZXNz
IiBzdXBwb3J0KQorCisgICAgICAgIEFkZCBuZXcgbGF5b3V0IHRlc3QgY292ZXJpbmcgU1ZHIDwt
PiBYTUwgc3luY2hyb25pY2F0aW9uIChzdmcvY3VzdG9tL3N2Zy14bWwtZG9tLXN5bmMuaHRtbCku
CisgICAgICAgIFJlbmFtZSBvbmUgaGl4aWUgdGVzdCB0aGF0IGdvdCBmaXhlZDogMDA1LWJyb2tl
bi54bWwgLT4gMDA1LnhtbAorCisgICAgICAgICogcGxhdGZvcm0vbWFjLWxlb3BhcmQvc3ZnL2N1
c3RvbS9zdmcteG1sLWRvbS1zeW5jLWV4cGVjdGVkLmNoZWNrc3VtOiBBZGRlZC4KKyAgICAgICAg
KiBwbGF0Zm9ybS9tYWMtbGVvcGFyZC9zdmcvY3VzdG9tL3N2Zy14bWwtZG9tLXN5bmMtZXhwZWN0
ZWQucG5nOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtbGVvcGFyZC9zdmcvaGl4aWUv
ZHluYW1pYy8wMDUtYnJva2VuLWV4cGVjdGVkLmNoZWNrc3VtOiBSZW1vdmVkLgorICAgICAgICAq
IHBsYXRmb3JtL21hYy1sZW9wYXJkL3N2Zy9oaXhpZS9keW5hbWljLzAwNS1icm9rZW4tZXhwZWN0
ZWQucG5nOiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy1sZW9wYXJkL3N2Zy9oaXhp
ZS9keW5hbWljLzAwNS1leHBlY3RlZC5jaGVja3N1bTogQ29waWVkIGZyb20gcGxhdGZvcm0vbWFj
LWxlb3BhcmQvc3ZnL2hpeGllL2R5bmFtaWMvMDA1LWJyb2tlbi1leHBlY3RlZC5jaGVja3N1bS4K
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtbGVvcGFyZC9zdmcvaGl4aWUvZHluYW1pYy8wMDUtZXhw
ZWN0ZWQucG5nOiBDb3BpZWQgZnJvbSBwbGF0Zm9ybS9tYWMtbGVvcGFyZC9zdmcvaGl4aWUvZHlu
YW1pYy8wMDUtYnJva2VuLWV4cGVjdGVkLnBuZy4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvc3Zn
L2hpeGllL2R5bmFtaWMvMDA1LWJyb2tlbi1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAg
ICogcGxhdGZvcm0vbWFjL3N2Zy9oaXhpZS9keW5hbWljLzAwNS1leHBlY3RlZC50eHQ6IENvcGll
ZCBmcm9tIHBsYXRmb3JtL21hYy9zdmcvaGl4aWUvZHluYW1pYy8wMDUtYnJva2VuLWV4cGVjdGVk
LnR4dC4KKyAgICAgICAgKiBzdmcvY3VzdG9tL3Jlc291cmNlcy9zdmcteG1sLWRvbS1zeW5jLmpz
OiBBZGRlZC4KKyAgICAgICAgKiBzdmcvY3VzdG9tL3N2Zy14bWwtZG9tLXN5bmMtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBzdmcvY3VzdG9tL3N2Zy14bWwtZG9tLXN5bmMuaHRtbDog
QWRkZWQuCisgICAgICAgICogc3ZnL2hpeGllL2R5bmFtaWMvMDA1LWJyb2tlbi54bWw6IFJlbW92
ZWQuCisgICAgICAgICogc3ZnL2hpeGllL2R5bmFtaWMvMDA1LnhtbDogQ29waWVkIGZyb20gc3Zn
L2hpeGllL2R5bmFtaWMvMDA1LWJyb2tlbi54bWwuCisKIDIwMDgtMDYtMzAgIE5pa29sYXMgWmlt
bWVybWFubiAgPHppbW1lcm1hbm5Aa2RlLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBBbnR0
aS4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy1sZW9wYXJkL3N2Zy9jdXN0b20vc3Zn
LXhtbC1kb20tc3luYy1leHBlY3RlZC5jaGVja3N1bQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMtbGVvcGFyZC9zdmcvY3VzdG9tL3N2Zy14bWwtZG9tLXN5bmMtZXhwZWN0
ZWQuY2hlY2tzdW0JKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtbGVv
cGFyZC9zdmcvY3VzdG9tL3N2Zy14bWwtZG9tLXN5bmMtZXhwZWN0ZWQuY2hlY2tzdW0JKHJldmlz
aW9uIDApCkBAIC0wLDAgKzEgQEAKKzI2MThkMTZiZjMyNWFjNDY4MjE4YzhmZmVjMWZiZGMyClwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
LWxlb3BhcmQvc3ZnL2hpeGllL2R5bmFtaWMvMDA1LWJyb2tlbi1leHBlY3RlZC5jaGVja3N1bQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtbGVvcGFyZC9zdmcvaGl4aWUv
ZHluYW1pYy8wMDUtYnJva2VuLWV4cGVjdGVkLmNoZWNrc3VtCShyZXZpc2lvbiAzNDg4NykKKysr
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy1sZW9wYXJkL3N2Zy9oaXhpZS9keW5hbWljLzAwNS1i
cm9rZW4tZXhwZWN0ZWQuY2hlY2tzdW0JKHdvcmtpbmcgY29weSkKQEAgLTEgKzAsMCBAQAotMTNh
NDIwNjU0N2E0ZDU2OWFiOTZjZDJjNjAxMDBlOWIKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtbGVvcGFyZC9zdmcvaGl4aWUvZHluYW1p
Yy8wMDUtYnJva2VuLWV4cGVjdGVkLnBuZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkNhbm5vdCBkaXNwbGF5OiBmaWxl
IG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46bWltZS10eXBlID0gYXBwbGljYXRpb24vb2N0
ZXQtc3RyZWFtCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtbGVvcGFyZC9zdmcvaGl4
aWUvZHluYW1pYy8wMDUtZXhwZWN0ZWQuY2hlY2tzdW0KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjLWxlb3BhcmQvc3ZnL2hpeGllL2R5bmFtaWMvMDA1LWV4cGVjdGVkLmNo
ZWNrc3VtCShyZXZpc2lvbiAzNDg4NykJKGZyb20gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWxl
b3BhcmQvc3ZnL2hpeGllL2R5bmFtaWMvMDA1LWJyb2tlbi1leHBlY3RlZC5jaGVja3N1bTozNDg4
NykKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy1sZW9wYXJkL3N2Zy9oaXhpZS9keW5hbWlj
LzAwNS1leHBlY3RlZC5jaGVja3N1bQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxIEBACisxM2E0
MjA2NTQ3YTRkNTY5YWI5NmNkMmM2MDEwMGU5YgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
SW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy1sZW9wYXJkL3N2Zy9oaXhpZS9keW5hbWlj
LzAwNS1leHBlY3RlZC5jaGVja3N1bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMtbGVvcGFyZC9zdmcvaGl4aWUvZHluYW1pYy8wMDUtZXhwZWN0ZWQuY2hlY2tzdW0JKHJl
dmlzaW9uIDM0ODg3KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWxlb3BhcmQvc3ZnL2hp
eGllL2R5bmFtaWMvMDA1LWV4cGVjdGVkLmNoZWNrc3VtCSh3b3JraW5nIGNvcHkpCkBAIC0xICsx
IEBACi0xM2E0MjA2NTQ3YTRkNTY5YWI5NmNkMmM2MDEwMGU5YgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKKzc2YmRjMDJmOWU1Yzg1NTRhZWJjMjBmMzdkMTFmYWU3ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9oaXhpZS9k
eW5hbWljLzAwNS1icm9rZW4tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9zdmcvaGl4aWUvZHluYW1pYy8wMDUtYnJva2VuLWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gMzQ4ODcpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2hpeGllL2R5
bmFtaWMvMDA1LWJyb2tlbi1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNyArMCww
IEBACi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKLSAgUmVuZGVyVmlldyBhdCAoMCwwKSBz
aXplIDgwMHg2MDAKLWxheWVyIGF0ICgwLDApIHNpemUgMzAweDMwMAotICBSZW5kZXJTVkdSb290
IHtzdmd9IGF0ICgwLDApIHNpemUgMzAweDMwMAotICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgw
LDApIHNpemUgMTUweDMwMCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jRkYwMDAwXX1dIFtk
YXRhPSJNMC4wMCwwLjAwIEwxNTAuMDAsMC4wMCBMMTUwLjAwLDMwMC4wMCBMMC4wMCwzMDAuMDAi
XQotICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgwLDApIHNpemUgMzAweDE1MCBbZmlsbD17W3R5
cGU9U09MSURdIFtjb2xvcj0jMDA4MDAwXX1dIFtkYXRhPSJNMC4wMCwwLjAwIEwzMDAuMDAsMC4w
MCBMMzAwLjAwLDE1MC4wMCBMMC4wMCwxNTAuMDAiXQotICAgIFJlbmRlclBhdGgge3JlY3R9IGF0
ICgwLDE1MCkgc2l6ZSAzMDB4MTUwIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBd
fV0gW2RhdGE9Ik0wLjAwLDE1MC4wMCBMMzAwLjAwLDE1MC4wMCBMMzAwLjAwLDMwMC4wMCBMMC4w
MCwzMDAuMDAiXQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9oaXhpZS9keW5h
bWljLzAwNS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL3N2Zy9oaXhpZS9keW5hbWljLzAwNS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDM0ODg3KQko
ZnJvbSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2hpeGllL2R5bmFtaWMvMDA1LWJyb2tl
bi1leHBlY3RlZC50eHQ6MzQ4ODcpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2hp
eGllL2R5bmFtaWMvMDA1LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDcg
QEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNp
emUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSAzMDB4MzAwCisgIFJlbmRlclNWR1Jvb3Qg
e3N2Z30gYXQgKDAsMCkgc2l6ZSAzMDB4MzAwCisgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDAs
MCkgc2l6ZSAxNTB4MzAwIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRjAwMDBdfV0gW2Rh
dGE9Ik0wLjAwLDAuMDAgTDE1MC4wMCwwLjAwIEwxNTAuMDAsMzAwLjAwIEwwLjAwLDMwMC4wMCJd
CisgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDAsMCkgc2l6ZSAzMDB4MTUwIFtmaWxsPXtbdHlw
ZT1TT0xJRF0gW2NvbG9yPSMwMDgwMDBdfV0gW2RhdGE9Ik0wLjAwLDAuMDAgTDMwMC4wMCwwLjAw
IEwzMDAuMDAsMTUwLjAwIEwwLjAwLDE1MC4wMCJdCisgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQg
KDAsMTUwKSBzaXplIDMwMHgxNTAgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF19
XSBbZGF0YT0iTTAuMDAsMTUwLjAwIEwzMDAuMDAsMTUwLjAwIEwzMDAuMDAsMzAwLjAwIEwwLjAw
LDMwMC4wMCJdCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2hpeGllL2R5bmFt
aWMvMDA1LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvc3ZnL2hpeGllL2R5bmFtaWMvMDA1LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMzQ4ODcpCisr
KyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2hpeGllL2R5bmFtaWMvMDA1LWV4cGVjdGVk
LnR4dAkod29ya2luZyBjb3B5KQpAQCAtNCw0ICs0LDQgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSAz
MDB4MzAwCiAgIFJlbmRlclNWR1Jvb3Qge3N2Z30gYXQgKDAsMCkgc2l6ZSAzMDB4MzAwCiAgICAg
UmVuZGVyUGF0aCB7cmVjdH0gYXQgKDAsMCkgc2l6ZSAxNTB4MzAwIFtmaWxsPXtbdHlwZT1TT0xJ
RF0gW2NvbG9yPSNGRjAwMDBdfV0gW2RhdGE9Ik0wLjAwLDAuMDAgTDE1MC4wMCwwLjAwIEwxNTAu
MDAsMzAwLjAwIEwwLjAwLDMwMC4wMCJdCiAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDAsMCkg
c2l6ZSAzMDB4MTUwIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDgwMDBdfV0gW2RhdGE9
Ik0wLjAwLDAuMDAgTDMwMC4wMCwwLjAwIEwzMDAuMDAsMTUwLjAwIEwwLjAwLDE1MC4wMCJdCi0g
ICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDAsMTUwKSBzaXplIDMwMHgxNTAgW2ZpbGw9e1t0eXBl
PVNPTElEXSBbY29sb3I9IzAwMDAwMF19XSBbZGF0YT0iTTAuMDAsMTUwLjAwIEwzMDAuMDAsMTUw
LjAwIEwzMDAuMDAsMzAwLjAwIEwwLjAwLDMwMC4wMCJdCisgICAgUmVuZGVyUGF0aCB7cmVjdH0g
YXQgKDAsMTUwKSBzaXplIDMwMHgxNTAgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwODAw
MF19XSBbZGF0YT0iTTAuMDAsMTUwLjAwIEwzMDAuMDAsMTUwLjAwIEwzMDAuMDAsMzAwLjAwIEww
LjAwLDMwMC4wMCJdCkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3N2Zy14bWwtZG9tLXN5
bmMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9jdXN0b20vc3Zn
LXhtbC1kb20tc3luYy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9z
dmcvY3VzdG9tL3N2Zy14bWwtZG9tLXN5bmMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAt
MCwwICsxLDE3IEBACitUZXN0cyB3aGV0aGVyIGNoYW5nZXMgdG8gU1ZHIHRocm91Z2ggbmF0aXZl
IG9iamVjdHMgYW5kIHRoZSBET00gc3RheSBpbiBzeW5jLgorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKKworUEFTUyByZWN0LnguYmFzZVZhbC52YWx1ZSBpcyAxMDAKK1BBU1MgcmVjdC5n
ZXRBdHRyaWJ1dGUoJ3gnKSBpcyAnMTAwJworUEFTUyByZWN0LnkuYmFzZVZhbC52YWx1ZSBpcyAx
MDAKK1BBU1MgcmVjdC5nZXRBdHRyaWJ1dGUoJ3knKSBpcyAnMTAwJworUEFTUyByZWN0LnguYmFz
ZVZhbC52YWx1ZSBpcyAyMDAKK1BBU1MgcmVjdC5nZXRBdHRyaWJ1dGUoJ3gnKSBpcyAnMjAwJwor
UEFTUyByZWN0LnkuYmFzZVZhbC52YWx1ZSBpcyAyMDAKK1BBU1MgcmVjdC5nZXRBdHRyaWJ1dGUo
J3knKSBpcyAnMjAwJworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL3N2Zy9jdXN0b20vc3ZnLXhtbC1kb20tc3luYy5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9jdXN0b20vc3ZnLXhtbC1kb20tc3lu
Yy5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9zdmcteG1sLWRv
bS1zeW5jLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayBy
ZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uLy4uL0xheW91dFRlc3RzL2Zhc3QvanMvcmVzb3Vy
Y2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9MYXlvdXRUZXN0
cy9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3N2Zy14bWwtZG9tLXN5bmMuanMiPjwvc2NyaXB0PiAK
KzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9MYXlvdXRUZXN0cy9mYXN0L2pzL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVz
dHMvc3ZnL2N1c3RvbS9yZXNvdXJjZXMvc3ZnLXhtbC1kb20tc3luYy5qcwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3Jlc291cmNlcy9zdmcteG1sLWRvbS1zeW5jLmpzCShy
ZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9yZXNvdXJjZXMvc3ZnLXhtbC1k
b20tc3luYy5qcwkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyMSBAQAorZGVzY3JpcHRpb24oIlRl
c3RzIHdoZXRoZXIgY2hhbmdlcyB0byBTVkcgdGhyb3VnaCBuYXRpdmUgb2JqZWN0cyBhbmQgdGhl
IERPTSBzdGF5IGluIHN5bmMuIik7CisKK3ZhciBzdmdEb2MgPSBkb2N1bWVudC5pbXBsZW1lbnRh
dGlvbi5jcmVhdGVEb2N1bWVudCgiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCAic3ZnIiwg
bnVsbCk7Cit2YXIgcmVjdCA9IHN2Z0RvYy5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMu
b3JnLzIwMDAvc3ZnIiwgInJlY3QiKTsKK3JlY3Quc2V0QXR0cmlidXRlKCJ4IiwgMTAwKTsKK3Jl
Y3Quc2V0QXR0cmlidXRlKCJ5IiwgMTAwKTsKKworc2hvdWxkQmUoInJlY3QueC5iYXNlVmFsLnZh
bHVlIiwgIjEwMCIpOworc2hvdWxkQmUoInJlY3QuZ2V0QXR0cmlidXRlKCd4JykiLCAiJzEwMCci
KTsKK3Nob3VsZEJlKCJyZWN0LnkuYmFzZVZhbC52YWx1ZSIsICIxMDAiKTsKK3Nob3VsZEJlKCJy
ZWN0LmdldEF0dHJpYnV0ZSgneScpIiwgIicxMDAnIik7CisKK3JlY3QueC5iYXNlVmFsLnZhbHVl
ID0gMjAwOworcmVjdC5zZXRBdHRyaWJ1dGUoInkiLCAyMDApOworCitzaG91bGRCZSgicmVjdC54
LmJhc2VWYWwudmFsdWUiLCAiMjAwIik7CitzaG91bGRCZSgicmVjdC5nZXRBdHRyaWJ1dGUoJ3gn
KSIsICInMjAwJyIpOworc2hvdWxkQmUoInJlY3QueS5iYXNlVmFsLnZhbHVlIiwgIjIwMCIpOwor
c2hvdWxkQmUoInJlY3QuZ2V0QXR0cmlidXRlKCd5JykiLCAiJzIwMCciKTsKKwordmFyIHN1Y2Nl
c3NmdWxseVBhcnNlZCA9IHRydWU7CkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvaGl4aWUvZHluYW1p
Yy8wMDUtYnJva2VuLnhtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvaGl4aWUvZHlu
YW1pYy8wMDUtYnJva2VuLnhtbAkocmV2aXNpb24gMzQ4ODcpCisrKyBMYXlvdXRUZXN0cy9zdmcv
aGl4aWUvZHluYW1pYy8wMDUtYnJva2VuLnhtbAkod29ya2luZyBjb3B5KQpAQCAtMSwyNCArMCww
IEBACi08c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjMwMCIg
aGVpZ2h0PSIzMDAiIG9ubG9hZD0idGVzdCgpIj4KLSA8dGl0bGU+Q3JlYXRpbmcgZWxlbWVudHMg
YW5kIHJlbGF0ZWQgaW50ZXJmYWNlczwvdGl0bGU+Ci0gPHN0eWxlIHR5cGU9InRleHQvY3NzIj4K
LSAgLmZhaWwgeyBmaWxsOiByZWQ7IH0KLSAgLnBhc3MgeyBmaWxsOiBncmVlbjsgfQotIDwvc3R5
bGU+Ci0gPHJlY3Qgd2lkdGg9IjE1MCIgaGVpZ2h0PSIzMDAiIGNsYXNzPSJmYWlsIi8+Ci0gPHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotICB2YXIgcjEgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50TlMoJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJywgJ3JlY3QnKTsKLSAgcjEud2lk
dGguYmFzZVZhbC5uZXdWYWx1ZVNwZWNpZmllZFVuaXRzKHIxLndpZHRoLmJhc2VWYWwuU1ZHX0xF
TkdUSFRZUEVfUFgsIDMwMCk7Ci0gIHIxLmhlaWdodC5iYXNlVmFsLm5ld1ZhbHVlU3BlY2lmaWVk
VW5pdHMocjEuaGVpZ2h0LmJhc2VWYWwuU1ZHX0xFTkdUSFRZUEVfUFgsIDE1MCk7Ci0gIHIxLnNl
dEF0dHJpYnV0ZSgnY2xhc3MnLCAncGFzcycpOwotICByMS5zZXRBdHRyaWJ1dGUoJ2ZpbGwnLCAn
cmVkJyk7Ci0gIHZhciByMiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygnaHR0cDovL3d3dy53
My5vcmcvMjAwMC9zdmcnLCAncmVjdCcpOwotICByMi53aWR0aC5iYXNlVmFsLm5ld1ZhbHVlU3Bl
Y2lmaWVkVW5pdHMocjIud2lkdGguYmFzZVZhbC5TVkdfTEVOR1RIVFlQRV9QWCwgMzAwKTsKLSAg
cjIuaGVpZ2h0LmJhc2VWYWwubmV3VmFsdWVTcGVjaWZpZWRVbml0cyhyMi5oZWlnaHQuYmFzZVZh
bC5TVkdfTEVOR1RIVFlQRV9QWCwgMTUwKTsKLSAgcjIuc2V0QXR0cmlidXRlKCd5JywgJzE1MCcp
OwotICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuYXBwZW5kQ2hpbGQocjEpOwotICBmdW5jdGlv
biB0ZXN0KCkgewotICAgcjIuY2xhc3NOYW1lLmJhc2VWYWwgPSAncGFzcyc7Ci0gICBkb2N1bWVu
dC5kb2N1bWVudEVsZW1lbnQuYXBwZW5kQ2hpbGQocjIpOyAgIAotICB9Ci0gPC9zY3JpcHQ+Ci08
L3N2Zz4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9zdmcv
aGl4aWUvZHluYW1pYy8wMDUueG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9oaXhp
ZS9keW5hbWljLzAwNS54bWwJKHJldmlzaW9uIDM0ODg3KQkoZnJvbSBMYXlvdXRUZXN0cy9zdmcv
aGl4aWUvZHluYW1pYy8wMDUtYnJva2VuLnhtbDozNDg4NykKKysrIExheW91dFRlc3RzL3N2Zy9o
aXhpZS9keW5hbWljLzAwNS54bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyNCBAQAorPHN2
ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMDAiIGhlaWdodD0i
MzAwIiBvbmxvYWQ9InRlc3QoKSI+CisgPHRpdGxlPkNyZWF0aW5nIGVsZW1lbnRzIGFuZCByZWxh
dGVkIGludGVyZmFjZXM8L3RpdGxlPgorIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisgIC5mYWls
IHsgZmlsbDogcmVkOyB9CisgIC5wYXNzIHsgZmlsbDogZ3JlZW47IH0KKyA8L3N0eWxlPgorIDxy
ZWN0IHdpZHRoPSIxNTAiIGhlaWdodD0iMzAwIiBjbGFzcz0iZmFpbCIvPgorIDxzY3JpcHQgdHlw
ZT0idGV4dC9qYXZhc2NyaXB0Ij4KKyAgdmFyIHIxID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5T
KCdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycsICdyZWN0Jyk7CisgIHIxLndpZHRoLmJhc2VW
YWwubmV3VmFsdWVTcGVjaWZpZWRVbml0cyhyMS53aWR0aC5iYXNlVmFsLlNWR19MRU5HVEhUWVBF
X1BYLCAzMDApOworICByMS5oZWlnaHQuYmFzZVZhbC5uZXdWYWx1ZVNwZWNpZmllZFVuaXRzKHIx
LmhlaWdodC5iYXNlVmFsLlNWR19MRU5HVEhUWVBFX1BYLCAxNTApOworICByMS5zZXRBdHRyaWJ1
dGUoJ2NsYXNzJywgJ3Bhc3MnKTsKKyAgcjEuc2V0QXR0cmlidXRlKCdmaWxsJywgJ3JlZCcpOwor
ICB2YXIgcjIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoJ2h0dHA6Ly93d3cudzMub3JnLzIw
MDAvc3ZnJywgJ3JlY3QnKTsKKyAgcjIud2lkdGguYmFzZVZhbC5uZXdWYWx1ZVNwZWNpZmllZFVu
aXRzKHIyLndpZHRoLmJhc2VWYWwuU1ZHX0xFTkdUSFRZUEVfUFgsIDMwMCk7CisgIHIyLmhlaWdo
dC5iYXNlVmFsLm5ld1ZhbHVlU3BlY2lmaWVkVW5pdHMocjIuaGVpZ2h0LmJhc2VWYWwuU1ZHX0xF
TkdUSFRZUEVfUFgsIDE1MCk7CisgIHIyLnNldEF0dHJpYnV0ZSgneScsICcxNTAnKTsKKyAgZG9j
dW1lbnQuZG9jdW1lbnRFbGVtZW50LmFwcGVuZENoaWxkKHIxKTsKKyAgZnVuY3Rpb24gdGVzdCgp
IHsKKyAgIHIyLmNsYXNzTmFtZS5iYXNlVmFsID0gJ3Bhc3MnOworICAgZG9jdW1lbnQuZG9jdW1l
bnRFbGVtZW50LmFwcGVuZENoaWxkKHIyKTsgICAKKyAgfQorIDwvc2NyaXB0PgorPC9zdmc+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
LWxlb3BhcmQvc3ZnL2N1c3RvbS9zdmcteG1sLWRvbS1zeW5jLWV4cGVjdGVkLnBuZwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09CkNhbm5vdCBkaXNwbGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46bWlt
ZS10eXBlID0gYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtbGVvcGFyZC9zdmcvY3VzdG9tL3N2Zy14bWwtZG9tLXN5
bmMtZXhwZWN0ZWQucG5nCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX18KTmFtZTogc3ZuOm1pbWUtdHlwZQogICArIGFwcGxp
Y2F0aW9uL29jdGV0LXN0cmVhbQoKCmlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUF5QUFBQUpZQ0FZ
QUFBQ2Fkb0p3QUFBZ0FFbEVRVlI0bk95OWZYalUxWm40L1puSEJDYnEKUkFNYnRLQS9vS2diM0RM
ekxLd1gxaTIwTS9pem9KWmhLOVFLRXgrajI4QmFMNWgwbjhLR3A5QTJhV1ZEdDB2QytyTURyUTNW
SkMwbQoyenEwM2JCdWs5aGdiYkkwYVJtc1NXdXlKS3ZKYXFaa2RBYVpnUm12OC93eDcrK1RGd0t0
OStlNkFqUGY4M2FmKzl6bmZNLzdhSlJTCkNrRVFCRUVRQkVFUWhCbmcvN3JjQWdpQ0lBaUNJQWlD
OE1GQkJpQ0NJQWlDSUFpQ0lNd1lNZ0FSQkVFUUJFRVFCR0hHa0FHSUlBaUMKSUFpQ0lBZ3poZ3hB
QkVFUUJFRVFCRUdZTVdRQUlnaUNJQWlDSUFqQ2pDRURFRUVRQkVFUUJFRVFaZ3daZ0FpQ0lBaUNJ
QWlDTUdQSQpBRVFRQkVFUUJFRVFoQm5qZ3pNQThia1lkWHF1dkxqK21OSytZZ2pnY283aWRMb0lB
QVE4dUh5QjZZblo1OEhsOHVEeGVBaEhHZkI0CjhFMGtraXV4akM2alREN1hNSVBEcnN1U05qNG53
Nk9aOHUxaHVIOFExL1NZejJYR3graXdrNXl6Y29YWXFjL2paSFIwbEZHbmEyTDEKN0krRXkyci9n
aUFJVnloWkJpQWVqcFJxMEdneS81VWU2cDBaYVNkRFlKaURwU1kwQlhOWVYvL2FsUlBYSDFQYVZ4
QUJaemNWaG56bQp6RnZBdkhsenlOZVlNT1VYOHUzWHZJQ1BZN3ROTWJacG9McWxQeExXTjN5Y1Vv
TWg1R2JpMktBdkp0N1RITnhxSXIrZ2tEbHpDaWtzCkxLUWdYOE9HclZ2Skx6UnpLcGQrMnBWWVJw
ZGRKZzgvZUdBUnR5ejZCTjB6MmRjTkRMTy8xSVNtWUI3ckc5TG4yOU5iejZLbHQvREEKMDFkd0c1
YVZBTzBIdDZMUkZMQmcvZmZKcXVacHRRa2Z4M1p2U1AxdU1HeWcrbEFMcDlNTUFIM0RKOWk5UVVO
QjRUd1dyRnZIZ25segpLTkJvcUc3cWpobUl4TWR2Mk5xU1pwQVNpS3Y3aHRMOURGOFJnOHJMWlAr
Q0lBaFhPaW9qYm1Vem9zcnJPOVhZdUZkNVJ6cVZHUlQ2CkdqWGs5YXZ4a1Q1VlowRVo2M295UjVN
Sjc0Q3l0L1pOUG53TytFZmFsQkdVZWJKeXhzZzQ1Ymltd09WTWU5cVlVbm1QcVRvakNxeXEKenh0
OE10TFRySXlnTEkzaE9QMnFyY3FvQUtXdjZreU9Zc1N1UUs5YVIveVJSK09PUnFVSEJXYlYyRFdr
d2k3dWtTNVZhUXcrNzNIbgpscWNyc1l4bVhLYTRNdmFybnVZYVphMXFWbU16azNwVWpDRzdJa3Ur
L1dOZHFxcmNxdXg5NDFOTTdOSzNZeG54andUcmh0R20wcHJxCkpiVFRIcHRaQWNyYTZGQis1VmZ1
OFJIVlphOVRSbENBc3RSMUtuK00vN0hPT2dVb2pGWEtNUjUyOGFxZTVzcmdjMHQ5bkwzMDFWdUMK
ejBFMUQ4WEdGSTZ3TmVKdXJPbWFlQVl1V2ZsZFB2c1hCRUc0a3NteUFoS0FXMnY0OGlPcktDN1Nv
cDF6RFRxQXhkY3hSNXRIMGZ3UwpIdjlLSTdkT2V2amo0c2huYjJHUDQveWtZOGlGdkRuWFV3aTRa
K2RQSW5TOGpGT0xhMnBjenJTbmh5bVd0KzhOVG5ZQStqbk0xUVlmCnpWKytrYU90VmhwZWRZWTg1
V0Y2NHFzWUFjZmVMM01pWWVkRGIwc3RXR3RZT3o4ditNRFRTNWwrQ3c2TXRJNjh3T2FWQ3dtNW9K
dS8Ka2lkZmRHRG1ETy9sbUtjcnNZeG1WcWJFTXM1aitjYWRITml6a2VJWlNEMFc3UTAzWVFiSWtP
Kzg0cFhzT1hTQTlTVkZVMGhwWnRxeApqT1RONGM4V1pQSndhZTAwUC9obW9HVFpJdkxJUTFjMG41
WHJ0OVB1SDZCS0R3MDdWdlA1bHNHZ1owODNuMXU5QTdEUTgyOTdXRllVCnJuRmFsbTk4a3A0Nk16
U1U4WVVqcHlQeEw3cnpqc2puNnRxZkpXMHo2NjdmSC9sY3FKMW9uaTVsK1YwKyt4Y0VRYmlpbWRC
d3hkdWoKTEtBd3A1NWw4NDUwS3FzeE9BdUYzcUxxTzRmQ0xxck5abFY2dlZHWmpYcUYzcW9jYnFY
czVTRy82QlVZVmZPQUs2Vy9oRlNVdmRLbwowQnVWWG05UmRvZEQyU3g2cFRjYWxWR3ZWMVgySWFY
VWtLcXhHRU54ZXBYeTlpZ3pLR05WbzJxdUNjK2tHVlZ6bnp1cjdFa3kvdmFWClNjYmxWME9PVG1X
cnRLaHlXNnV5aDhKV3RRNnBKTng5cXNhaWo4em9XU29iMVloZjVaQVB2M0kwMXlnOUtLTlJyMEN2
Nm52R2xGSisKTmRCcFZ6VldzOUticTFSemZXVWtiR1BQZUZ5NmRSWjlLSzk2VlY1bFUzWjdzMnJ0
R1psVStTYVNYTjVlcGNZZHFxNDhWSjZnekpYMQphaUR0Rk82SXFncnBCSE9WNmhrTHpZVDZ4MVRm
UVB6OFlsdWxQc1hzOTVDeWdyTEZsRlY0WmxWZjJaWXVVZVVlR2xEcDVzY25aaDhaCmJDQ2RIdnhE
cXE3Y3JJeDZ2YkkyOWltbFJsU054YWlNUnIweVdwdWo5VEJUMmVWZy8xRnlzWlYwZHBhc2p5T2RK
NVc5c1VZWnNhZ3UKdDFmWnJjRThHdlZHVldVZlVFcjVWVnROdWRMclVjWkt1L0txVEhhV2drejJF
ODUzcFUzVldZMlIrQnBEc2lyL3VISzBOYXRLczFIWgpRbm5MbUhhYWVqbTVkaXlUSG5PdHJ3NVZa
U2FvejBpOVNOMDJUMTg3bGhxSExSaEhYVTl5VGZFT05JZmlyMUpES2xybmpLbFdLSlZTCmFxd3Rs
SjlLRlU3UjNXTlRSb3MxdUFLUFhyWEdWbmR2anpLaVYvWE5kVmxXdkhKOUQzblNsSXRYTlZlYWxk
RnNVUmF6V1ZVMUIxZE0KT3V1c3ltdzJLa3RWcS9JbXBEZys1SWl4L3h6TE5hdk0yZVQ0aWZwdGp1
MTl5dmVNSUFqQ0REQjlBNUR4VG1VRVplc2FVOG8vb216bQpZS1BXT09CVi9xSGdDOGcrcnBSU1E2
cFNiMWFkYnFYY0EvWmdJMS9WcXNiR3g1VW5qYjhreHJ1Q0x5SkxZN0RCZDRma010WkY1QnBwCnRT
cks3Y0ZsLzdEY29JeFZ6YXFyc3o3NGdndHZWOGdnZTZLTTNrbkg5ZCtxdWNvYzNTWmdLVmQ2VUpi
NmhHVi9mNThxQjJXMkJiY3MKRE5tdHdaZERZMS9XZlBoSGd0c1FLdHVDYitmT0tyMkNLaldpbE9w
cnJRdHRNMEpSWHE4NjJ4TGtWbDdWYUk2VzdVQ3pOZkpTdHJVTgpUYXA4RTBuV3BVT1ZnNkk4MkpG
Mjl6V0haSXh1c1Vwa3FLMG1va05BVmRaM3B1eHdoV1dDOGtoYzdwNDZCVlV4V3lIOHFyWFNtS2JU
CjRsY2pBMzFxWUdCQURRMk5xS0dCUGpYaVRuNDdUOHcreGxMYndHRjdaajI0T3hOa0hJdHN0eG5Q
cGV5eTJXd0MyV3dsazUzRjYyTk0Kbld5dFYrVngyOWlHVkpVK1ZDNWhkWTYzS1RBSHYyZXdzeVN5
MlU5TXZzMDE5YXJSRnRWTDI1aFMvcEVlVlZOdWpIYWNNNldkb1Y1Twp0aDJiVW4zMUR5Z3JLS3oy
VUptMEJkdkVOR1U2ZmUxWTZvcVphUUNpdkk1UVdtYlY1WTc2TmR2U0RCUVMvQ3VsbEx1blJsbnF1
bFJuClhiRCtHR3VpZzVlK1JyUENZbGRqZlkwWkJ5QTV2NGN5bEV2azNSUCtIdEtWSG1ORTFwZ1Vs
U1BCL3JPM3c3bkpuRTJPN1BhVDRUMGoKQ0lJd0EwemJBS1NySnJqaVlMUGJsZDF1VjNXV1lPT25y
K2xTYm9kTkFhcTh2a2Y1bFZMalhYYlZNNjZVOGpxVU9lWkZsTlpmQ29JegozRWJWR1hJUDd2czNx
dUE3dzYzcTlDaGJ1T2NabWdtTm5nbndxK2J5MEF5YlA3UHNpVEpPS2E3UW1acklRTW1iL0RJZmFM
UW9zRVptCi9wUzNUMVdaemNFWnVDeHBxN0ZncDZGeHdLK0NNOHRtUmVURkdOUkp0TlBxVjQyV21C
ZFNxR3oxTmFGOCtvT2RBTE90Yi9MbG0yUS8KOGJyc2E3UkVPb09SL0ljNnowa0RzeGpjQTIzS3Fv
OE9RakRYcU9SdDRlNWcva0JabTZPcldlYTRGK3g0NkV3SnFqSnhKY28vcHV4MQpsZEdYdU42cU9r
ZFNkNEluWWgrcGJDQ3JIdHpCT0tNZEs3ZXFOK2RlZHRsbFN0WmRSbHZKWkdlSitsRGhHZS9vT1px
UjFzcVF6b05kCnA0RkdTNmgrWktzLzhXVFZXM2dGSkNhc283NDgxUGwxaEZUUm80eWhqbk9tdERQ
WHkwbTJZMU9vcjhFT1kyeW4xeHR2RTRsTWF6dVcKVEc0REVJdHllS04rTGZXT2xIRUZPOUxFMll5
N3AwWVpheHhLamJkRzNMcENBOXB5VUxZK3YvTDMyVElPUUhKOUQyVXVGNlY2UW9PZwptcTVnWG9l
YXl4WFc5Q3VvOGZhZnBXN2xLbk5XT1RLbms5R2VCVUVRWm9CcHVvYlhROThySFdBMk1oZTRlUEVp
aXphMTBtcTM4OVM2CkQ2TmJkQmNXNEhEWkN2STFwYlJkdllybFJRQitBTndYZ3JHazk1Zk1YUTlY
QUIwMHRBNERnOVR2N1FBNk9Qb2ZnK0Q4ZDNZNHF2aDAKaVRZdXpPSjUxNFErNWZIbkg3VUFYYnps
elN4N29veFRpd3RtRndMTURnYlZ4c3NIUG43OTh3YlFMMlpPK0pHMmhEMHZ2TUFqeTZNNwppRk9u
RFJTdm9sMTVLZm50UDJQUzVMTm1seDFZUUhoSGRPSGljS2pndjhzK1pvYXo0VmlEdmh5dm5BemVv
cE0zbDVzQjk0WHpUTDU4CkU0blZaWUNoVngzQVlxNlBVY09DandUM2VudmM2ZmRqNjVhWU9IREtT
MWQ5WmZDQmZSZUxQcDk0TzQ2T1QxWFVBVkJiZlJTbnA1ZmEKdzNyK2ZsMUpqSjhpL25LdEVZRFhm
bjgyTGpSNXhhemYvaVJINnkwQTJCcjJzV3ArWW5rbDVpbEsyaklpMFFieXN1c2hWSUR1bE5xQQp6
R1dYbTB5SlpMU1ZqSGFXckEvL2hmanJmK1ovNGlFc3dEN2JpL2p3MExTbGdUMFByaUNibmNXVHUv
MFVYaGM5RTdEc3ZyOUJEM0RCCkg0NkdRZ0RPWlVoN2ZwWjZPY2wyYk5MMU5jQ3BqbHJnVnFKWjg2
ZElJSmJwYmNjbWh3ZS9IL3loZTdvOEY5TElYSEI5c0l4SXlOV0YKODFDMGxqM2xBSGFlK25FL3J1
NW5PVXdObnluSkk1QkZCYm0raDdLVnkvTFM3UmlCWGZ2c0JBaHd2UG93ZFkvZWtaaGNoRVQ3ejl3
Two1eXB6ZGpuU3A1UGJlMFlRQk9GU2twZmR5d1J3Mzh6OTY5Y1QzMDBMQU1VOE4rNWcyWFlMdXhv
YTJLUnZvS1p6aEoySmJiWnVXV3AvCnErWW5KYVV0dVk4YVBleDYzczZEbk1GUlhrZk4rUjNzK2s0
VHkxL3R3Tkw0N2FSRGYzRXYzd3Nlb0REeVVra3J1KytOMUZtZFRGeWsKNmUxRjhIUHhQT0I0aTNF
SUhldWNRTnErUVhhdnZJVjlWREhnVi9nYlNsbGFsdW51eDVndXJYWVpUOWdzTkd6Ynh1UDc1MUoy
VXkvNwowR00zMzA2a0d6RFI4azFSYnJIaHpubURNcndYYzZKVXUyZ1pGbUFrUlFobjl4RitmdlVE
YkZ5bUE3U3NmT1JKeHZXM01XZEZHUnorCkJVUC9aeU1sTVJhdFcvNFFOZm9kN0hMczR1NlBnYVBj
em9zSkhjSHI1d1ZQN3RwUDl1TmpPWWxEREg5STF4ZjhYa2h5VFU5Rys0Z2oKZHowVXBrc3NZOWxO
UnFaVXhOaktoTzBzV2Q3eUdpTU51NTdsZXkxanRCaHR2THd3cHVEUzJsbjg5MXoxRnBkdjNRTDBp
ZTZ4MGFaTQoreDJhY3FpWDBUUnliTWNtWFY4OURKMENPTTlVajAxUHJoMmJHSjdYWHFFQndMaU9X
M1V3L3FIYkFUdG4rdDhrd1BLa2wxQmc1SGNoCi95WnVTNkhzK3l2cTRYQVpEVnVXMGdCVXRZMVJC
Tm12SDA1WExvbnZvV3psVXJTYW5aVjZPdllkNFBuMldSeDFWTkt3TEt0VlpDRDkKMUVKR1c1cXdI
T0YwY252UENJSWdYRW9tdUFLU3JydVN6eXdkMEZIR0QwN0hOTlRPZGt5R3AzbWoreEFIWDEzRXp1
ZE9NZEJtUXcvcwphbmdsTW1OZEdMcUp4WlBGWHp6RlBMREhDdllkck5sU1MvWFh0bE8ycFJJNjly
SnRIMVI4YWtsU2lNTFlHMTltaDV2ZHpMSzdVb1dkCllseHdJYzFydklBYmI5WUQremphUGh4NUdo
aHV3VlRhbEtTditMUmg4SWY3MmVjQWUrc2VsdVFSNmxDUVZHenB1aENHajY4QnpLejUKTUx3MTYy
NUd2S2RZdjFDYk5WL1p5amVSb1B4YS90eWdCenI0NWUram1nbThmWWFHeER5RzBETEdKa3RUWEVl
alNMK0M0QnJGK1JRWgpLK2JCNnVBcWljTUJkVnVOU1oyZFpROVVCTU0zYk9Gd2QvS1BoZVhQVHBP
SmxIbEs4MzEycWxkODJBWnkwRU40L0JlVkt1bFQrcktiCmlFekpwTEtWWE93c1ZmbkY4dEVISDBk
UEI5czI3ZUsrTDMwNjFBbkt0ZjdBUk95bk1MWU14NFB1aHR2bUpraVVseUh0STF3emdYcVoKYXpz
MitmcGF4RWVNUnFBQngrdGhXVU9Cemw1SThoM0w5TFpqeWN6T1Q2aGh2dFBzWGJFTmdMcC8rZ3c2
WU9HOWoyRUZITFcxZERxVApvdUJuejFRRFlMV2FDYzhYK041NUozS2JtYmJrQVd6bXNPOUtIallW
aDZUT1hGbXpsVXRZRjluTEpZKzdIOXNET05peVpndlVQMFNtCnFaWjA1REtVeXl4emJuSWtwNVBi
ZXliZysxUDhXVWhCRUs0VUpqWUFlZnNNRGdCM1lnZGF5N29uZ3R0ZHl2UWZZMy9UY2RxUEhjSXcK
YnczR3B4N2krdndMN0hpaUhoZXd4UFFZait1Qm0yNkl6S3paWCs2Z3QvY1l0cll6R2YwbHN1U1Ru
dzFlczFuZXpEM0ZVUHlKalZnQQpmZVZPbHNmMnIvS0NidzU3Nys5Q2NnZjQzUzhiZ203NW1XVVB2
d0RETWg1c0hwcENYRDdHM0VESHUybHlsTWNkRHowT3dLNDFpOWg2CnNJbGpSNnJKWDdTSnYvM0tw
OUZtekFlY3Z4aWNEMjF1T2M3cDdpWWUzMllIM0p4ODhUajl6dmU1RU9yQkZnRGc0L1RMSGVEb1p3
d2cKTUVqbDBqS01WaE0zWG5zdGM2NkYvcFBkREk1NnBseStpWVIxMmVIN1JQQ0ZXdjVVNUVmRCtu
N1JEQmlwM0x3c0tWeitkVGVCWXh2bQo2bU9SVHBDenB5YzRXMnI5RzI1SmtlRENleCttSElBcU5p
NVAwZW5XTGVlZnUyd0E3TGh6RHZ1UG5ZNTVBWS9TZThvUjBsWm1jck9QCllFeUpOckRzdnJMTWVp
aTRtaHVBamgwSE9ONC9TUHZCZXltekEyZDdlYW5mbGFYc3lHTC9xZk9UeVZheTJWbWNQcHFpVjZu
R3BwVzMKOEpOVUJDc3ZEOThWWHF2TXJTN21yRGUvSHpkZzczOHpsRzhQTGQ4d0ExVjhjZTNDaE5n
eXBiMEZVNlo2R1lwaG91M1lWT3JySFJzZQpETW42T01mN1IzSDJ2OGl6ZHNEeEFrM0hlOU91Qmt4
UE81YUtZSXE5UGE4VElJREhPY3lKbG9PWUN2VFVBdGI2SHJhSDl3N2xMV0Z2ClR6M1F3WnA1RlhR
N3c3WExSL2VocmF6YjU0RHlScXJXUjh1by94Yy9wZU1WUnlnVkhaK3ByQUdndlBGaHdyN2VQdk43
QU55K05IdXgKY253UGZic3p1RDZXdWx3Q29TeDhrdUR1VEQwNzcxbWFSdHVKNlFmL3k5Z09UMURt
VEhLa1R5Zkxld2J3OVI4aHY2Q0EwcGlya0FWQgpFS2FWWEErTEROaXI0bTRmUW05VzlyZ2JVZnlx
cDk0YTU2ZktIandFR3o1SWg3RmNXUzM2bUFPOTBSK05BN1A2U2R1L3BQR1hEcit5ClcvU3FMdWFP
eTlaeXZhcUwvZFU0LzFEb2V0S2dUT1cyVnRWcWk4cXB0ellyYndiWjQyVzhSMzMrMHgrWlhGeitB
VlZqamo0emx0dlMKWG5rNDBGb1RQZnlNWHRtNlJuTEtoMmVrTlhRekNncGo3UFdMVDZoL3FZemV2
bFJlWjQ4TEc3eisxSzFzc1FlN1kvN3FRMWZJVHJ4OAprOHNydHJ6YlJyeHEzTkVja3Rtc3JPWEJp
d1hzS2ErSFZaR0RzK2FRSHNNNk1scnIweHltRHRKVFoxVEd1alFIWHNPU2pmV29PcXM1Ck9mOTZz
NnFxNzB4N0RlK0U3R1A3djZpdnA3R0JiSHJvQy85QUd5aWp0U3A0Nk54aVZUYTdRNmxNWmZmcWIz
T3cvemdscTlhcXpMYVMKM3M2c3FtYzhWaC8zcTMrcWVpeEdsK1dxYlNpYTJsaXJOY1hoM1V4MU1a
bk1lbk9yMXByeVNEMENGSlk2RmRkc2VhT0gwTE9sbmJKZQpKdGxBN3UyWWYwcjFWU2xIakUxRXl0
TmlWWFhOcWV4MW10cXhKRUxYb3Fld1BUQXFhNVZOZGFXNVY5czcxS2txdy9YQmFJem90YXE1Ckoy
cVQvaUZWWTQ3YUw4YXEwSzEySTZwU2J3a2Q3STYzV1VEcHpUVnFJS0ZOeVBVOTlHS3ZQWU45eDlo
ZVo1VkNuK0dISDVWWHRkV1YKUitYU1A2Yis4UXVmeWxxdXVjbWNTWTdzZGRpck10bXpVaDdIdHhT
ZzF0ZGVPVCtvS2dqQ254WWFwWlJpR2dsNFhMaDhBYlJGeGVnUwpWdU1EUGc4ZUx4UVZ4YzVFQi9D
NHZCUVU2U0xiWTFMN1M1ZWdqMENlTnJxMUp2SDd0TWllTE9QazQ4bzFBaDh1ajVjQ1hSSGFDWVgz
CjRmR0FUcWNOUmVNakwrbXdlNHBRdzhlNWQ1R05MdzNWYzBkaEFJODNPSXM0K09OZFBESDJCS2Yy
ckF6R04rSHlUY3BZQ2wzNmNJNisKelhsL1BqY3NuSi9ocElVUGx5ZVBJbDBlUG84TGo4Y0xCWE1v
THNxU3Y0QVBIOXFjOUJqd3VYQ05lL0dUVDRGT1I1RXVsM01mRTdlUAoxR1RXUThEbndlUFBwMGlu
SmVBTGtCZktVSzVsTjcxa3NyT3A2Mk5pOVNlTC9RUjhlTHhlQWhRa2w2ZnZOQnNLOUpoNnhpTXo5
Qm5UClRsc3ZKOXVPVGE2K1JvTjdjSGxCVjZRakwrQ0R2RXhoTDBNN2xnTWVsek5rcy9uTW1WODhn
Wk5Xa3lPMzkxRDJjamxlb2VGSHhpRU8KeGF6VXpLek0weUJIaHZlTTc5dzU4cTY5ZHBvUGlncUNJ
QVNaOWdHSThNZUlqNWJTQWpZMVZETGdmWklsNGZlc3owblRqcnNadFB5TQpQYXZrZHBRckV5bTdp
ZU9qOTloUDhIOTBJeXY5eDlBc01GTVhNd0FSaEhTNCtvL3pmTmRGYnI5eGlOWHJUdExuZnk3dTRv
c1BtaHlDCklBaVRSUVlnQWdERHg2dFp0RzV2NkpzZVBRNGNnTFd4aDI5c1RyNnBScmh5a0xLYklM
N1RtQXIwZEdERWF1bWdsbnJHbjNza3pka0cKUVloeStxQUovWTRPQUNwYmgzZ3k2U3pSQjBzT1FS
Q0V5U0lERUNHQ3p6bkl5WjdYY1FGRjh4YnhFWDBKUmRKNy9hTkF5bTVpT1B1NworZVdyZzV5YnRZ
UlByVjhwVjVFS09lRno5dlBTTDMvUHJKc01tSlpmdms3L2xTS0hJQWpDWkpFQmlDQUlnaUFJZ2lB
SU04WTAvUks2CklBaUNJQWlDSUFoQ2RtUUFJZ2lDSUFpQ0lBakNqQ0VERUVFUUJFRVFCRUVRWmd3
WmdBaUNJQWlDSUFpQ01HUElBRVFRQkVFUUJFRVEKaEJsREJpQ0NJQWlDSUFpQ0lNd1lNZ0FSQkVF
UUJFRVFCR0hHa0FHSUlBaUNJQWlDSUFnemhneEFCRUVRQkVFUUJFR1lNV1FBSWdpQwpJQWlDSUFq
Q2pDRURFRUVRQkVFUUJFRVFaZ3daZ0FpQ0lBaUNJQWlDTUdQSUFFUVFCRUVRQkVFUWhCbERCaUND
SUFpQ0lBaUNJTXdZCk1nQVJCRUVRQkVFUUJHSEdrQUdJSUFpQ0lBaUNJQWd6aGd4QUJFRVFCRUVR
QkVHWU1TWThBUEY1bkl5T2pqTHFkT0c3RkJJSk00clAKTmN6Z3NDdjJDY1A5L2JnQzZiNy82Wk9z
azVsanRMK1gzdFA5akxwUzFDNmZDNmZMQi9od09sMU1SNUY0M3NraG52ZGRESThPTXZqMgpNRTV2
QUFndytyWXpQbHcyUDVkQTlnOFNHZTBpaVN1NUR2c1lIWGFtTDMrZmsrRlJ6elFtZDVuc0xwYzZN
eTNwK0hDOTQ4VGxjZUc1CkdJNDlnTWViMms0Q0YxMk1uaDBOL3IwempYcitVMGZhTDBHWWRqUktL
WldMUjkvd0NhcDJyR2FmSGREcndlRUFvS3F4aXk5dVhvbjIKVWtvcFhDSThIREVWVXRhaHA4dmR6
WHZmK2h4cmRqVUFxYjZmWXFYdWNzczdFOFRxWkdiejNIdW9sQlZQZXpBNjdIUUF6VU5lTmk2TQox
cXpUaDB6b24zNllrYU1YV0xEMDZaQjhIcHBzaFd4NU8xV01lc3czM1lmbHI3ZXlzV1Joc3ZQNy9X
ejQybEx1MmpMT3psdUtVc28wCjJuK0VkVWZMY0dDay9BWTQvSFlIK212QmNiR0c4Y3FkRk9Yb0o3
WHMwNkMwRHdEWjdDS0tqL2I5VjJvZER0Qis4UE9zMlhFWTlIV00KbjlwT25NVUZodGxmVnNhdWhn
NzBOVjJjMnJseVdsSk5WMmVPMkFvcFMxbG5ZdEhUK0xrMmFGM0RsamNkR1gxYVZ2YnczTnJsUUxi
Ngo4SGZZYzA2N204M3owN3haMzNkeXJQVkp6RDIxZ0I1ekVkaGREdlEzMWZCNDRTc2NwWkwyVFRF
NnZEaE1rLzFMYkhtdEljNC8xNVpqCk4zK045YmNVQThsdGlmSDJOdG8zbVpLU1AvSENCbGFmc2tj
ZjNQQU16L0FZajJWdGgrYlE5TXpIa3ZVNXkwcmYzeCtnWkZic1EwOXEKdndrRWRYL3JKUzFUYWI4
RVlmckphUVhFZWVJZ0JZdFdzODlkaFdQY2p6cDFDcVc4OURSWHNuZkxuUlNVSHNGNXFTVVZMZ0VG
NkIrdgp3VnExaHcvcnRKaDJmcHZPR2lPd21Id1N2MzlRaU5YSnpLWHFHMnhpeFRZSFhkMHYwRDdX
U1dWNURYOCtKMFhuWXk3NC9iT0J1YUV5CjBiRjVtNSsyMjQwUkx6VVBqS0crTklMdEJnZjJOL2V4
NmVnaWR2ZU1Ka1UxK3B0bnNRTzdmdGFhZWpYem5mWmdSK3FtUnJ4ZmJ1ZlEKdG5iOE8zb3duUU5t
WFVkZXJuN1N5aTVrSTJlN0FFaXFzMWRTSGM3RDlQaVhxVE1DYzJmSDJ3VkEza0syZjgwS3dHTHRO
RXVheXU0dQpBck9zZEg1dUhQOFh1akNISHB0WGRPSC8wamh0SzhzQkIzODRmeFdiSHp0RjF3cHpK
THJLdFFPb0x5djhYL0l5dE1XT0JSZ0pUNG5uClVoOXlUdHViT2orZWJyWitiUjdtbmxyME56VXkv
dVZUdkxEOUZLcHlpQXAyc2UwMU80VzZxQTREYjdlellkOGl0cnpXZ0hsRkovNlEKLzdFdDlYRHVN
T2JHZVd3OTNrMndMVkZ4ZWUxNDdTRGRpV0o0dS9seXpPRERhT2hFYlh1VVIzTnFoenhKK2pTdjZF
RlZKZzQrQ01vegpFZDFmcWpJTkkrMlhJRXdyMlFjZ25tNCt0M29IWUtIbjMvYXdyQ2o4NnRDeWZP
T1Q5TlNab2FHTUx4dzVmVWtGRlM0RmVTemZ1Sk1ECmV6WlNESUNXNjY4cmpIRlAvUDVCSUZFbk00
UC9EMjhDaTdrYW9IZ1ZUeDdheWJLRUFWRCs3RUl3L0M4V0xGcUtIdkRIeUh4OXpCdFIKcTlYQ1Zm
UFovRWxiNU5tKzM3eVNNTWh3MGZMU3Z1REh0MnQ0OGUza1RRV2pRNy9BQWZDZWgvRndTdGN2NXh1
ZnE0ZHpZd1J5OUpOWgpkaUVUdWRoRlBGZHdIYzZidzU4dFNPK3N2ZUdtWUtkeDl2UjE3OUxaM1pn
TGJQL1BOMWcxdjRpODJmbEVWWnBQM2xWRm1OYldZWnNGCjc0WU0rT3E4cUkrRjgrWUZQN3p6T3Q0
YjF2UDBBMVk2M084QnVkV0hpYVlkajVPRGgrL2tNQUFXNmtzM1IxZVNaaTNra2NmR3NWMEwKWnlL
VmZaaDl0alVFaHd0V3Zubi9xc2pnci9pV1IrZ0pkY0lQZDkvSndmN2dOT0xWQmJIcDJYbnFsZmgz
ZS85L2ZwZU9tTytGZWRlRQpjNXB6TzNUN1g2eUxQRnYzRjdlbXltaUVYSFYvcWNvVXBQMFNoRXRC
MWdGSS83OCtoUjB3VnBXelBNWEUyL0tIdG1NRUdzcSt6ekFCCkJrOGNZMy9GQmd3YnFtazVzaHVO
Um9OR1k2S3BOOTJlZWgvdGh5b3dHRXhzTUJuUUdDbzQ3UnJtNE5ZTm1Bd0dLcHI2Z1ZIMmw1b3cK
bVF5WUtscUk3RnoxOUxPLzFCQktRMFBwN2laR0E5bmRmS01ucURBRm4yc01wUnc1TVp4ZUZrK201
NW53MGJKN0E2WU5wWlJ1MkVCMQpTejhBSnc1V3NHR0RpZExxNDhFT29lczBCN2VhMEJoTUdEUWFO
dXcrd3FBSENPU29nNWowanUwT3hXTW81ZGpwMHh3cU5XQXdtVEFaCkRGUWZHd2FHMlY5cVFxTXgw
VExvd3pWOG1tTk4rekZwU3VtZTFIYmc5SHBKcitQTWJ2RUVPTjJ5SDROR2c4bGtRS014Y0tRMzNW
cmIKUkdVSk1IejZCSWQybDdMMTBIR083UzlGbzlHdys5bC9UOUxKeE8wbEJlbktHUjh0RlNZSzc5
d0YyTEdzRE1XVFlrbGlnZjR1OUhPdQpKMCtYejF5TWNTczArZHJZbmwzUTBQUHpaa2VlNlBPdmpa
dDE5cjNSeW81ejRXOE85blQrTW8zZ2dHc2JDNzY2Z1VNOXZYaUF2UGtXCityWnNwbUFDZmpMSkho
Zk5ZQzlOQnlzd2xlN24rTEdER0RRYU5Cb0RCOXNIY2ZZZm85UVFMSWNOMWNjaWRXRDY2bk1XZS9Q
MGM3QTAKK0Z5ak1iQzEraERIanJWd3ZIZDBrbkprSW9OZHBMV2xITWxnaXhOdFF6TG5HL0NjcG5x
REJvM0JoRWxUd0pZR0lNdDR5RDM4Q2djcgpUSkg0bW5xZDVOeWVKcERhN25SWUh1N2gwemNrcmNQ
RW9PWFRsaDRlL25EeTFzUUw3d2YvNzJtMzhPeXdDOTFIZHRQejBaSUVIYWVyCkQxTkwyM2ZtaDlG
NmU1T1oyNU5XRFlyWStrZ3JHME1ySU01WG4yVnZ5TVZvK0N4TEVuemZHak1RMlBIVEgrSUIvRjR3
M2xwRGVTanUKaHBlL3krRDdZVitESEhqcGRlclgxcUZQSWZsRTJ5R0FDKy9uZnFJaXZlNHZiWm5t
Mm40SmdqQUJWQlljTm9zQ2xObldrOXFEMTZFcwpvTUNzdXR4SzliWFdLVDBvUUZGZXJ6cmI2cFVS
RkVhYmNxY0k3aDlxVm9DeWp5dWwxSkNxMUp0VnAxc3A1ZTRNcGxzWFRuZE0xUm1ECjhZd3JwWlMv
VDVXRE10czZsVjhwTldTM0trQlpHdnN5dTQxM0tpTW9XOWVZVXY0UlpUTUhaVzBjOEthVkphMk0y
Ump2VW1aUVVLVkcKSXM4NmxSNmo2bklIZFZjT2l2Sm01VlpLdWZ1YVE3cXpxajV2RGpwSWw1NmxV
WG1WVXNyZEV5d2JZMTFFOXlPdFZrVzVYZm1WWHpsYQo2MVc1TVZoMlBTRVBEcHM1NC9lY3lpNkRq
ak82SmNZLzBxb0FWZGsycHBSU3FyTktINi9MS2NueTM2cTV5aHkwVTFCR1M3blNnN3IvCkMwL0c2
MlFTOXBKRWxuTDIrOTJxcmNxb3dLamFoc2FWZXhHQ0toOEFBQ0FBU1VSQlZOeXQvS21pR1doVmpX
MGpTaW0zYW0xdWk2dFAKamxhTDRpc292b0t5L1pkWEtlVld6ZDh6UnA1Vi9pcGVhNjNmMFN2cnkz
WlYrU1FoUDJiVmRUNUJwMyt3UjhKSC80eXFyc3N4SVQvWgpaSTlKVVhVMVZrYmJEM09kNnVxeXEz
Sjk2RHRtMWR6WnBlcXRSZ1dvdWg3M3ROYm56UGJtVlkxbUZPWmdPemJRYkEzSnBGZTJ0cUhwCnNa
TkViYVN5aTJ4dGhzcFNoN09GbjFBYm9qTFhaLytBc29MQ2FsZHVwWlIvcEMwWWQ1cDNnZktHMGdK
bHJxbFhqYmFvanR2R1ZQYjIKTkZXVXVkamRoUjVsQ2RtdStjZXAzM094OWF2bVZ3N2wrRldkNGl1
b3V0ZmpXK0pjNjhORTBvNmw3Nlh5U0x6bTFqUnh4dER6WTNQVQpmNnI0ei9jb2MwVE9TalVRVUty
bngwWmxiTzFSUFQrekpMVWZZNysyS3I1bFYyTWpqU25qemJVZGN2K1hMZklzVVllSjVLcjdPS2F4
ClRKWEt0ZjBTQkdFaTVId0xsaTdkc3JqM0hjSkh1ZktCa3JWbFBLWUhqRGJHRHozQ0twT0Z2N1dr
ajlmclBndkFUKzI5QkZqSUZ3OC8KeWpVQmdHc3d4L25VVWhpYU9jc0RCcC8vT29leFVyYzF1S1M4
OEo2dFZKbk5yQ21abTlHdCs5dGZwZ01qdlAxTGp2M2JyN2dRbXNtbworZGRUYVdWSkwyTVdpbGF5
dDg0TTdLV2hPN2dDTk56V2dNUDZKVmJxb1ArSCt6bU1ucmF2YlVRSDZFbzI4c05tSzFETDEzL1Fu
MVVICnFkTGJYcW1IaHU5dzBnWG9sbE5XWllTT0Z6anBCUERRc3FzV1c4VTk1SkhIc3JXUFVQRndo
c0xKUWpxOVpOSnhKcmRFOHZLdndRaDgKWkdFUkVNQS9lekhRd1JzcFpuc25Mc3NvRy9jOGg4MElH
T3V3UDNlSVUxNHZQLzVtWlp4T0ptTXZpV1FyNTd3OEhjWHpDb0ZDcnA5VApoSzVJbDdKOHRVdldz
dGswSDlDeGRxT0pkSk53MjU0dFFQUFZRamFkNllCWlp1cnU3K1BKRmZPakhqd24yUFdtbmlmK2Vq
MFAvMlU0CnIzYWVlcVUvWHY5ejF6TzJwUkZqM05NT2RoelhZMmcrVGlCSFA3bkxuc2ZLelZWVW1B
RmpIV012YkdmbHl2VTg4YmdaTU5JMi9nSWIKVjYza2tkMDdRLzREMDFxZk05cWI3elZhN2FDLzZ3
NTB3SklOajJJQnpMYWpiRFV0bkJZN1NkSkdDcnNZeU5wbVpDWnJtek9oTmlSegovUmordDZlb3hV
aFgxWHAwUU43OHU5aGdUaU5ZQ0E5Z3JPbmloWjJQc0huckFSejF3WDM3QjM5NE9tdDdtb3BjNjh4
RTJQV2lCZjFQCmRxUjB5N1UrVEF1QjdCdUI4dk95NWRpUE8vSzVpejljREg0Nkc4aG4rVjFsa1ZX
T2ZTKzE0TUhIOSsyMTFOMTNMMFh2WjE5eXk5b08KVFlKTXVyK1U4VjRLT3hLRUR6cFpCeUQrMEVZ
SHo0VTBqVjNCOVpGR0t1eWpjSEh3Lzd6UXY4cytab2F6cVlQckZ0MkZCVGhjdG9KOApUU2x0VjY5
aWVSR0VUM201VTRieThldWZONEIrTVhQQ2o3UWw3SG5oQlI1WnJzdmdwcVh2bFE0d0c1a0xYTHg0
a1VXYldtbTEyM2xxCjNZZlR5cEpXeGh4WVhocmNvclpybjUwQUFZNVhINmJ1MFR1QUFFT3ZPb0RG
WEIrenRXM0JSKzRBd09NK24wVUhxYm5yNFFxZ2c0YlcKWVdDUStyMGRRQWRILzJNUW5QL09Ea2NW
bnk2Skp1aS9NUG1yR0ZQcnhaTkJ4L015NmorSjRsVzBLeThsdi8xblRKcDgxdXl5QXd0UwpIZ0Nj
dUN6QjlHWVhBb1MyQ0dpMUNUckpIRDQzdThpaG5LZVp5dnNIY085MDQ5N3BSVlcrd1BZVjhkdEQr
di96eXppdVhVT0IxMFBoCm9vOUZuamU4L0N5eG0rRUNGejBVM2JLWjlzb2g3Q3VzY1hFNFhsdkg4
Mi80Y3ZJek1jSW5YbWRIYnRhNytrT0xnVUt1RDQvS2RBdEMKQS9OejAxdWZNOXBiOEYvSEt5ZURM
V0xlWEc0RzNCZk9NejEya2d0VHRhWGN3dWZlaG1USzkvL2lWRWN0Y0N2WFJTcHNianZuQzZNQgpX
SGJmM3dUZkw2SDNUL3IyZE9hd2ZiWWI5ZVVSYW1hUnRPMXIrdXREWWdLeFg3THIweCtJYWQ5VHpX
cGNpSjV6WUphUkc4TjdKZ04rCktEQlJmVlBvKzdsbnFQMUpGVHVvNHFHYjh3amtNSkxLMWc1Tmhr
eTZ2eExqRlFRaFBWa0hJSE0vZERzQVovcmZURGw3RXhqNUhRMEEKUmhPM3BaMFd5TkNGMWkzanVY
RUhOUlk5ME1BbS9SejJuNGplMkpONnU3Q2ZpK2NCeDF1UmczNjV1WVhGdVpuNzE2OW40OGFOckYr
LwpsclhyMTdOcVdWRjZXYkxJbUpHaTFleXMxSVA5QU0rM1A4OVJSeVVibCttQUFPZThBRzdlaTFH
c2R0RXlMTVJyYkNKSFNMVWw5MUdqCmg4UFAyMmx2ZWdwSGVSMDFGamo4blNZT0hYZ2FTK1BtNlR0
Y25WSXZid1hkMHVrNG0xc3N2a0YyR3dwWXNlY0MzL1lyK3VvdGtPTDAKeTVSa3lZV0oya3NjdVpm
emRMSHd1bm5vQ25Ub0NsTGRsalRNc3k5M3dNVURyS3Y5R090KzlIU00yejZlL1UzMHpFT1AzY3dY
ZitPRQpXUXRaZi84QlZPVUl6YmRIVjRmK2NNR2JrNStwc3VDMkV1STE1WS9YMjNUVjUwejJwbDNH
RXpZTDJMZngrUDRXMnB1ZVloOTZyT2JiCkp5L0hoSm1xTGVVV2ZzSnRTTXA4NXpGMEN1QThFeDFp
dXkvRWZORXRRQitidDdUdDZjeHg0WDB2TUo4SFYxdDU1MXhRa2NQZEIyazYKNDduazlXSEJoNWRI
UHR0Lzk1dDByV0dFbXhmZEZmbnM5cnlYNU81enZSNDlVSDdOemRGSnV4RDMzRk1mK3VSZ2I4OCty
R3NmcHBqYwpocEtaMjZITUhIL1dRSFYvOHJuUlRMcWZDcGNxWGtFUTBwTjFBTEx3M3Nld0FvN2FX
anBUblAvOTJUUFZBRml0WmhLN2RMa3NOM3U2CkQzSHcxVVhzZk80VUEyMDI5TUN1aGxmd2hWcTQ2
RXMxUCtaVEFUZmVyQWYyY2JROU9tY2JHRzdCVlBvQ2M5SzYvUkNORHVnbzR3ZXgKcDBDZDdaZ01U
L05HR2xuK2tFN0dVSENmeDVNaHIzbmMvZGdld01HV05WdWcvaUdDaTlCYS90eWdCenI0NWUrakRX
M2c3VE0wQUlXego4eU90ZkdvZHBLT1lCL1pZd2I2RE5WdHFxZjdhZHNxMlZFTEhYcmJ0ZzRwUEpS
NURuRHlweSs1a0JoMC9neitEL2hOZk40TS8zTTgrCkI5aGI5N0FrRHdpdlRLVEkvTVJsaVUzdlFw
cnl5MmZXSk93bGZnWXRoM0tPWVZwdVY3a3F2Wk9yLzFuMlVjTjQ1U2xPaGY3Y0Q5WkYKM1BlMi9U
Q2lsNnQxVU52NUgxSGR6SnJQeGswMVZFWjg1K1hrWjZwNDMzMlgrR0Y0ZnZCYnZuWlM1Wk91UHIr
V3hkNE1IMThEbUZuegpZWGhyMXQyTWVFK3hmcUdXcWRwSjV2WWpTTkF1Sm1aTHllUWFQdGMySkZP
K3Y4OUNveEZvd1BHNkorSWZnTE94STR4a0NtZkhmQmtQCnltYTRiVzdvUWJyMmRBcTg3OC9ha1k5
bDlsVkJtMTU0eDE0cWx4V0R0NXV5NHp2dzVPVldaNmFTdG03eFdxckNCOC9QUFUxSGlwMEYKdnRF
V1NwOXB3Z01VZjhSQ1ZlaDV4MnNOOUw4ZjcvZjEzNzBjK1Z4M3J4a2Q4YzJyOW1ZemRkZUd2NVh6
NkYrbStEMmhkR1JvaDJJSgo2ek5NNE8wVzFwMkJ2NzR4ZVpJb2srN2ptTVl5ellXQVQ5Wk5CR0dp
WkQ4RGtyZUV2VDMxUUFkcjVsWFE3WXk4TnVrK3RKVjEreHhRCjNralYrbWpEZENIVVl5NEkrVHY5
Y2djNCtobExGWC8rQlhZOFVZOExXR0o2ak1mMXdFMDNvQzI0bWh1QWpoMEhPTjQvU1B2QmV5bXoK
QTJkN2VhbmZ3eDBQUFE3QXJqV0wySHF3aVdOSHFzbGZ0SW0vL2NvbS9qcXQyNE9zZnlMWTJTclRm
NHo5VGNkcFAzWUl3N3cxR0o5NgppT3ZUeURJN25ZeUFwL2NRQllXRjVKY2VTZXBBUjFYNFNlb3RB
SHAyM3JNMDhuelpmY0U5dHJ2S24ySTQ5TWJxKzBVellLUnk4ekxJCnFJUDB2OVM5NUpPZkRXNVJL
Vy9tbm1Jby9zUkdMSUMrY2lmTDAwMFdodDQ2L2d1WnY4ZUhTYVdYbXpQbytHRTJadEIvNHV2bS9N
WGcKM0dsenkzRk9kemZ4K0RZNzRPYmtpOGZwZHlaMDJTWXN5ME1VNFdQTURYUzhtMFluV3RaTnds
NFM1L3V5bGpNQU9zRE9HMm1YN1RJUgp3T2taaVh3Ykhrc1h5U2pmL3RGZXVQM2pjYnJXbGR4SFpM
UEl1VzE4KzlYd1RNTUNjRzNoODIzZDBjN3k2Sy80S2NDc09oNjZSWmVqCm40bVFiR2h2L3VZVjRB
enZoQlB3T0RrRG5CbnhUNnA4MHRYbjl6UFoyLy84anNxbFpSaXRKbTY4OWxybVhBdjlKN3NaSFBV
QWs3ZVQKN08xSHZGM2tZa3VaNm5CdXRwaHJHNUk1MzZZTkQ0YmNIdWQ0L3lqTy9oZDUxZzQ0WHFE
cGVHOXlCOUVmWE5teVIxYmJQYlI4d3d4VQo4Y1cxMGZkTHV2WjBzcmlHdXduL3FvWDlkeStuTElm
ek1WdVpldjg3Vk5ldUttRDh2NCt4dGZaT09yQnd4dzBUcncrNXBCM1BRcjc0CnFEMTB4c1NCK1Vn
MXZlR0s4YjZMM3U1cUNyNjlpWnMvc2pKMFRtRStYL3hjMlA5aHZ2NGYzWkdZQW04ZlowZDNBd0Jt
UXllUGgzNk0KOUh6Z0xBNTMrQXJ0SWg1YUV4ekNHRmM4eXJMUTRNZjNYclROZEVmT291VGFEc0hy
djIyTmZJN284MzBQL2E4MnNkRzJDVEN4TUtTcQozSFVmWlhyTE5ETysvaVBrRnhSUUtqOUZJQWdU
STlmVDZ0NmhUbFVadXVFRW96RnlPMGxWYzQrSzNsL2tWYTB4Tnd1VjE5bFZhK1FtCkU1U3gwcTRT
N3pweU8yeWhPTXVWMWFKWDZLMnFjeVRvcTYrNU1ocldXcVVzb1BRV3E3TFpnN2QvRExUV1JHL01R
YTlzWGRHYmZ0SzcKK1ZWUGZWUW1RRlhaK3pMS2trbkdzYTY2U0JxZEdTN2xHTytzVXVpVGIzOFpk
elNIYm5ZeEsydTVYb0ZSMmZ1aXZyTHBJRFYrWmJmbwpWWjBqR2s5cnVUNTRhMUJNV2JYVmxVZjFv
SDlNL1ZQbFE1SHZlbVBpOTNMVk5oUmZldW4xa2w3SG1kMFNjakhTR3RJTkNtT1ZhcTRQCjY4S3Fl
aEowUFdGWi9BT3F4aHg5Wml5M3FSRi9vazdLVmR1UVo4TDJrb3IwNVJ4TU0ycXJSbFhUT3BDaGJC
TnhxOGJ2Sk42Nmc5Si8KcnptaHJybFY0N2VpN3VVL0M5blBCWWV5UHBrWVhxK2FSN3lxNTBkR3hU
OVpsREVjWjhpZi9qdDFxaTkwWTFZdWZuTEhxMXByTEJFOQptNnNhVmFjOTVsWTl2VlhaTyszS0dy
a1ZTNjlxMmdhbXJUNW50amUzc3VtSlN5ZjhWOS9uVnBOcFY1VEsxSDZrdDR1TXRoU2p2M1IxCk9G
dWJFeVNYTmtSbHpMZFNTamxpMnErSUhCYXJxbXZ1VEhHVG4xdTExcFJIOUFFb0xIVXF4UVY1YWR2
VGllRlhiVDh5SjlVZHZtSlcKOXJmQ2licFY0M2YweVg2ZVRIaFdGN3laTVBmNmtFdmFHWEQzS2R2
M1VvZHYvcSt4RlA0ZHF1NDdvZHVvbmpRclM1MHg0ci8rMStIMgpKakd2VnVXNG9KUlNBOHI2RmIx
cS9ZTlNTbm1WdmRHWW5PNjNubEhQNU5nT05lZWt6M3JsbnFEdUwxV1pac1BqK0pZQzFQcmE3TGVZ
CkNZSVFSYU9VVWhNWnNIaGNUanhlUDVEUG5QbkZTYk85a3lYZzgrRHhRbEdSTHZtNVA1OGluWmFB
TDBDZU5pOHhJQzZQbHdKZEVZbE8KbWR3Q0hoY3VYd0J0VVRHNnBDZ3p5SkxxK2ZBeDhoZDFNS1FP
a0c2QituaUZoaDhaaHppMFBwVVBIODdSdHpudnorZUdoZk9UZEpwVgpCNmtJK0Fqa2FhTUwvb25m
cDVHMGVzbWs0d3h1OGZqd2VFQ24wNGJTOHBHblRXOTFrNUVsRnlaakw2bnlrcW1jcnpRQ1hoZUJn
aUswCkJIQzk0OEo3NFR4Y2ZRUHpkZG9KK1prUldhZXRQcWUyTjkvd2NlNWRaT05MUS9YY1VSZ0l0
WUV3K09OZFBESDJCS2Yyckp5OEhEbTAKSDhsTTFaWnlDRCtCTmlSai9mSjVjSGtKM3U0VzhFRmVG
bWtEUGp4ZUx3RUtLRXBqUjVuYjA4dkhUTmVIZ05mSjhCL080Z2Z5cjc2QgpoWE9MTXJieFBzOG9R
eUgvVjE5OUl3dHZLTDRrNzRRUEdyNXo1OGk3TnZrM1RnUkJTTStFQnlCQ0FvRkJ0dWJmd2w5MGpi
RjlaZnp4CmJsZi9jWjd2dXNqdE53NnhldDFKK3Z6UFVTSXRsQ0Q4a2VHanBiU0FUUTJWREhpZlpF
bTRMK2x6MHJUamJnWXRQMlBQcWtsZTdaQ2gKL1JEaWtmWlVFQVRoVHdjWmdFeVZnSWRSVno3emk1
Tm51RTRmTktIZkVieGpwTEoxaUNmWFhsbXpkWUlnNU1idzhXb1dyUXYvcHJRZQpQUTRjZ0xXeGgy
OXNYajc1bWM4TTdZY1FqN1NuZ2lBSWZ6cklBT1FTNG5QMjg5SXZmOCtzbXd5WWxzdkxVaEQrbVBF
NUJ6blo4em91Cm9HamVJajZpTDZGSVp1Qm5ER2xQQlVFUS9uU1FBWWdnQ0lJZ0NJSWdDRE5HOW10
NEJVRVFCRUVRQkVFUXBna1pnQWlDSUFpQ0lBaUMKTUdQSUFFUVFCRUVRQkVFUWhCbERCaUNDSUFp
Q0lBaUNJTXdZTWdBUkJFRVFCRUVRQkdIR2tBR0lJQWlDSUFpQ0lBZ3poZ3hBQkVFUQpCRUVRQkVH
WU1XUUFJZ2lDSUFpQ0lBakNqQ0VERUVFUUJFRVFCRUVRWmd3WmdBaUNJQWlDSUFpQ01HUElBRVFR
QkVFUUJFRVFoQmxECkJpQ0NJQWlDSUFpQ0lNd1lNZ0FSQkVFUUJFRVFCR0hHa0FHSUlBaUNJQWlD
SUFnemhneEFCRUVRQkVFUUJFR1lNV1FBSWdpQ0lBaUMKSUFqQ2pDRURFRUVRQkVFUUJFRVFaZ3da
Z0FqQ0RCSHcrZkFGTHJjVWdpQUlnaUFJbHhlTlVrck5URklCZkY0dnpOS2h2U3FBNy8wOAp0RmRO
eFAyRHlXajdFYjd4NDkvelNldGUxaTdVWG01eEpzVncreUZxZnp4TVFRRXN2SHNyVzAwTFAxRHBC
L0Z3eUZESXRqdWI4UjdhCnlIU1haTURqcE84M3YrVE1yTDlpL2NyNXllNnVmcDUvL2tVOHMyL2pV
NWExek0rYm1Mc2dDSUlnQ01KMGtYVUZ4RGZhZ3VtckJremYKTkFYLzlwbllZTnZOc1RQT29JZjNo
OWwvMElEaG15Wk0zelJnMkZmQmFXOThISzR6TFpUdXk2ZGdmeUVGWDlPZytXbytCYldIOE9Ubwpm
dmx4VXEzUmNHVFFOK01wNTE4RHRiWDdjSnoxWnZjODNmajZxVEJvTUpnTWFEU2xuQTZBODNnMUdv
MEJrMG1Eb2ZSSVRtV1VmODFjClByVDRScnhkKzNqNlYyOWRjckd2dFBURDZQUmd2R2tPMDkyMzk1
MCtSSDdoUFBTcnplejVlWXI4K1U1VE5tY3BXNDZlNUdqWk9oYmMKY3hEblJOd0ZRUkFFUVJDbWth
d0RFUC81VVRwdzBIR3VJL2gzc1FQNzIvc3dQM3MzeDg4R0FDK0RMZ2VPY3gxMG5IUGd1RmpMVTcy
RAowUWplSCtRZm50MUV3MFhRRjFrcEx3bzl6OC9SZlJLazIrcmk4M2p3ZU5MdmdmRjVmS1IwRGJ4
RkIrQStQM21aSmt2eHlzOWkwd1A1CkJWbjkrbndlUEduMytBVHdlVHlwOHhjT242Z2Y3UUkrOVZn
NWpnNEh4cXBOM0pRSFJTczJZTE02Nk9pQUxadnVSSmREK3ZOWGJtVG4KOXUxc2ZkRElsQW8yQzVj
Ni9XejJreGtkbTU5VHRPOHhwUm1BWkMrZmRHaVhmb2F4OFhFNmEvUXAzWWQvOGhRTldIQzgrQnp0
STNibwoyTUVQVDN0eWRoY0VRUkFFUVpoT3NnNUFkTGVVMDNhN0VUQmlmM1NFa1VmYnNNNENjUEI3
bHdldUtxRnVtejB1ek9HdW4rRUtmUTY4Ci9Xc09BMkNoZnRzQkRtMGZwKzVhNEwwTEJISnd6NHF2
bjYwYURSckRCcHA2K3psV3ZZSDhnZ0lLOGcwY0d3NnVXUGlHVDFCaDBsQlEKV0VoaFlUNmEwb1Aw
eC9Tdm91NEY1R3MwbEc3ZEVKbmRkL1dmb09tWjc5TUJ0SC8vZXh4cmFhR3BxWVhUenR5NmlyNytJ
eGcwQmt3RwpBd2RQakRKOHJCcUR3WVJHWTZBcHB4VVZQOHlGMHgwL29MclVoRWFqWVVQRklVNjdv
dW03ZXBzd2FUUVVGQlJTV0pDUGFYZFQzQXoyCjhJa2ptRFQ1RkJRV2txL1JZTkJvT05nYlZVQjYv
ZWd3YmQrTkZUQVlEQlFCZWNYTCtMakJET1pHdnJDK0pLZjB3NXkva0pQS1l2RFEKdE5XQXdXVENv
REZ4YkRUQVlOTldOQm9USm9PRzBpT25wNXorWUVzRkdvMkpwbjRmTU1odWd3YU53Y0RCOXRFYzlK
TWJ2djRqYURRYQpEQVlERlUzOVNlN1p5aWNyZVVVVUZ4Vnh2WFp1cXRRNWFUK012dVlKbHVVQjg0
M1lqSEQwbGRkemRCY0VRUkFFUVpoZWNqaUVycVZZClZ3akFyRmtGRk15Nmh2QmNmSGl5MmVzYUFx
RHV3VDRhYndMT1BjMkp0NE9PZWJvNUJPZGxHMWp4elZLcVgzaWVQL3NyTzMxL1Z4N3MKMEdaeHp5
N2VJbmIzZFZLSm5TMHJsckxuelhWMDlYUmlxM3FNRzY3T0ExYzNuMTIwbWpOR095TnVMOTd4UG16
c1lHbGhOYU1Bcm03dQpYYlNhMmdVMWRQVU4wZGZWak9ld0hZZkRUUUR3T3QvZzVNdXZBWERtdFY1
TzlmWnk4bVF2enZPNURVQzBpKzdqUUwySkRvZURNKy81CnlaLzFKZzVIQnpYMmV0YmxlS1pqZGlF
MDdDakR1MlluanA0MmJqKzFEZjJjenhPZXBQYStCMnR0ZHZxR3hoaHgyRG03Ynd2ZmozUmcKaDZs
ZFhjYXR6WDBvNVdmRVlXY3hFRm5yeWFZZkZ2S296VXl0K1dpb1V6L0lnVEk3VlgvL3Z5TXorWm5U
bndvNjFsWFVzTGlqQTBmNQo0eGpuNTdId1V4VlUwa0dIM3NiL1o3NTF5dWt2L0hncDVYVHc1bmsv
c0lBbmpuWlM3bkR3ekt0djVhaWY3R2dYM1VkZm40TmRKZ2Z0CmJ5WXVvMlVwbnduZ1QvUDA3QWpN
MVlaWGZ2S1p1d0RPWHNqVlhSQUVRUkFFWVhySmNUdTZEckN6empZbit1amFLaDc0Y0JFUTRNUXYK
bmdHZ3ZmOUZGbzhCT1BqdXIvdFl2M1laNkZaejlINGJYMzlwR3czbkd0aDdxaUVZL3BVYWhpcDNz
akNiZTFiWnRDd3N1WVBiNW9MWgoxc1VMVzFjQ3NITDVLZ0NjSjM2T0hiQjRoMmo1MWtGODJ1dDR4
d1BRd2h1ZVBYamJ2a3NINVF3OHQ1TWxBQ3prQndPdGZPTmZvUUFvCldyV1pBNnVXYzZiQnpycnFP
cll1bStEeFlXMHhwa2NPTUxKa01RdFdMNklXcUhlTTg4aXluSVpYQUZ4d2c2V3hqeWMzQjFjY2xy
M1kKeHh2NVMybDk3UjladHJJSVpzM2lmMXIzc0hTYkF5SzdjTUlkMkVKS3pMQnQwejl3ZGVVS1Bu
VGpkWmpxNmpFdURtNmVjcjZhV1QvegpkYkRzMDl0aDJ4citZM2dubjNiL2xNT1VNL0RSNHFpQUdk
T2ZHa1VsYTZtdU4yTXY2OE56Q0hTK1VYNEtOSC90TVVxSzhxYWNmbDd4CjdTelh3N3NBYUpsZmNn
Y2ZOVUo0L2o4WC9XUkZXMHhKU1RIK3hVWklXdlRLWEQ2WGdsbFhUODFkRUFSQkVBUmhLdVIwRFc5
K1BvQ1IKK2dkNjZIbXdrNTZIaC9EKy9SNld6QUl1T3ZqdW13NllaZVRNcVIyMHp6S2lCK3pkTCtB
RWZLUFBzL1FuclpROTRrZDkyVXZmL1RYQgpTQysrd2x2ZTdPNjU0ZWZDV1REZFpVaDI4VjhBOUh6
c3p0dTRyYVNFa2tVZll2WDJOdG82NjdsTkIvNkw1NEc1eEo2dzBDNVp5NTZkCmE2TTNGWG5PNHdZ
dXBKbGpEbm1pdi9jRTNhZFR6NHZIbmp6NC9abTNKeHorNm10akpNd3I0TS9DbjUzSFdYRG5KdVk4
V3MrWTI0djMKNVFFcWc1NUNIb3BZVzltS3Zma3pMTDUrTnJ6N0ZpL3NLRVAvalU0Z3UzNEFLTDZM
Umd2VUhEM0dUNzYvQTMzTm95ekp5elg5MURxWQpTUDZYUGJBWEkzdHA2WFhTVzErQnc5TE1ob1Y1
MDVTK253dkFPKytrM2c2WGszNm1ST2J5bVFpcDh4ZGEwWWg1OGordnc5elorVG02CkM0SWdDSUln
VEM5WkJ5Q0JzeWM0OEo4TndGbCs2ZmdwLzVWWHd2TEZDNE9kOC9kSE9mVGRNdXdBRncwMDdQUno3
Qk5HSEFEczVYUE4KTGZ6UEJROWdaODNoejNPcy8zWE9YM1ZkWkpJNi95cndaM0hQU3NDSHl6bkNt
QVBlR2huQzVYVGlkRVczMzh3cnVRTndNSHh1SG45OQo3M3J1dldjVkMvaHZqbjZ6aFRkOVVQSy90
d0Q3ZUh6L01VWmRIbHpEcHptMFZZTkdjekI2dzVQdVpvekFiMzgzaE1mam92OUVDN3RMCksyZ2Zq
YzZ5ZTNycldicGlOWGZxRjNDa1A2WXpHL0J3K2xnMTgxYnZvTTdoeHR0WHp6N3pVa29Qbm9pN1FT
cHRlTjhZN3dLSHpUdG8KNnU1bmRMU2ZsdW9kMUtMbnJ6NnNJK0ErQjhDU3hUZWpZNXlUUDM2R2Zj
QzdZeVBCeVhaZkwyVjNycVBqWWdubE8zZXljODllckZiZwp0YmZ3NWFDZklGcldQVkdIWTVlWlRm
dWcycklpbXIxczZRTWVseE9ueTRuejNiTTQzbmt6K05rVjMrRlBtMzhBM1hMK3FjN01qaFh6CldM
SExRZU5YN284TUw2YWVmZ0czbVdCZi9VOFo5WGdZN3Y0QnozYkEyYmZHSnFDZlRBUndPVWR4dXB5
TXZIc1czaG5ENlhJeTZuUUYKMTJpeWxFOU9CRHpCK04rS3h1K0tISmJYOHZHeVNodzcvbC9hUjMy
NGVuL0F0ZzU0Zk8zU0hOMEZRUkFFUVJDbUdaVUY5My9WSzc1Qwo1TS9jNm9nNlhuQW9TNHhiODhp
NDZuemVHT1BmcW43MVdsMWMrT0NmWHRYOWFpQVkvK3VaM2JQSzU3QXBJT0hQcWdiOFVUOGpYZlhL
CkdPZHVWRldObmNvZGNoL3JhVlRtV0hkanVXcnRHNDlMWjZDMUppNk44cXBHTmVLTnVuc0hHa051
RnRVVkU5UmhNMGZDVkxhTnFMSE8KYUR6bGpRTVRDaC85TTZ0bVI5alR1R3EwNnFOdTVuSmxOUWUv
VysxRFNua2R5cElxZko4N2trWTIvUVFaVWxWNkZKYjZoT2RaMGxkdQpaVE1tcG8rQ2N0VVhVMGJw
OGg4dDZLNmdqSlpHNVkxem1IcjY0ejJOU3Ava2pxcnJjVTlBUDJsSXFmOWdIRjN1ZE83eDVaT05r
ZGJLCnBQak50cDVZNWFubUdCMlYxL2NreEpETlhSQUVRUkFFWWZxWWdSOGk5T0Y2eDB1QnJnRHZl
UStCOS9QUTZZcGlmbVF3bS90MEVjRGwKOHBCWG9FT25UWFgwSllESDVZRzhBblM2Tk9jOEFqNDhB
U2pRYWxNZm5nbjQ4S0VsWmZRNWlaZ2xmTUNIeHdzRnV1VDBmUjRYWGdvbwpTaUY3d09jRHJSWjhI
anhlMEJYcFVzaWZUVCtaeVpSK3ptVEp2OC9seEs4clJwZkNmY3JwaDNTYnR1eW5xSi9NU2VkU1Bs
UEg1UndsCmtEZUg0cUxVZWN6bUxnaUNJQWlDTUIzTTRDK2hDNElnQ0lJZ0NJTHdRU2VuUStpQ0lB
aUNJQWlDSUFqVGdReEFCRUVRQkVFUUJFR1kKTVdRQUlnaUNJQWlDSUFqQ2pDRURFR0hhQ1BoOCtL
Ym45d2N2QzRHQWo4QVU1SjlxK0t6eFgyTDlYbXI1ci9UMEJVRVFCRUdZR1dadwpBQkxBNS9YZ2V6
LzArZjJKdWd0WE5oNmVXVmxBd2VkYjRuNi9ZclQ5Q0JVVnV6aytuUE92V2x4YUF1azY4ZWY0enZJ
Q2x2K2Yza2xHCm5DVjhZS3I1VDYzZjZTT3ovQUdQazlNbmpuR3NPL1VQWlFaYy9UUWRPc2loSThj
WlRhSGZiTzVUMTc4Z0NJSWdDSDhzWkIyQStFWmIKTUgzVmdPbWJwdURmUGhNYmJMczVkc1laOVBE
K01Qc1BHakI4MDRUcG13WU0reW80bmZBTDVxNHpMWlR1eTZkZ2Z5RUZYOU9nK1dvKwpCYldISWov
RWw4Mzk4dU9rV3FQaHlPRGw2a1JuU3Q5SFM0VUJqY2FBeVdSZ3crNWpLVHFvMmVTZm52enA5R0M4
YVU3Y0ZiTDUxMEJ0CjdUNGNaM1ArV2Z0TEpoK0JRU3J5Qy9oZVgzckxtanUxRk5LRzcyLzRMSnJT
cGluWmRDcjlUamVwNVBlZFBrUis0VHowcTgzcytmbGIKcVR4UU5tY3BXNDZlNUdqWk9oYmNjeERu
Uk55enBDOElnaUFJd3A4V1dRY2cvdk9qZE9DZzQxeEg4TzlpQi9hMzkyRis5bTZPbncwQQpYZ1pk
RGh6bk91ZzQ1OEJ4c1phbmVnZWpFYncveUQ4OHU0bUdpNkF2c2xKZUZIcWVuNlA3SkVpM1ZjWG44
ZUR4cE4vajRmUDRTT2thCmVJc093SDErOGpMbFFscjVNcWFmeDE5K3VwcEtvNE9PRGdmMmZYdDRL
WEdLT1p2OEU4eGZhdjNxMlB5Y29uMlBLYTZEWEx6eXM5ajAKUUg1QmJwRlBRYjVzNWR2ZjhQZlVZ
dVh1cGJvVXJ0ZnlmMjljeHRsSkM1azVmTWw5MjZCaEMvVzlya25HbjFxL1VRTDRQSjdVOXBzVAo2
ZVhYTHYwTVkrUGpkTmJvVTRZYy9zbFROR0RCOGVKenRJL1lvV01IUHp6dHlkazlXL3FDSUFpQ0lQ
eHBrWFVBb3J1bG5MYmJqWUFSCis2TWpqRHphaG5VV2dJUGZ1enh3VlFsMTIreHhZUTUzL1l4d055
dnc5cTg1RElDRittMEhPTFI5bkxwcmdmY3VFTWpCUFN1K2ZyWnEKTkdnTUcyanE3ZWRZOVFieUN3
b295RGR3TExUdHh6ZDhnZ3FUaG9MQ1Fnb0w4OUdVSHFRL3B2OFRkUzhnWDZPaGRPc0dES1ZIOEFD
dQovaE0wUGZOOU9vRDI3MytQWXkwdE5EVzFjTm81Z2E2ZVo1QkRGUnZRYURTWUt2WnpaSDhGQm8y
RzZ2YlJyUEpsVHorUEphdldzOW9BCjVwcEdxb3dPOXJjNElrbG5DNTgxL2x6MDIzOEVqVWFEd1dD
Z29xay9JZk4rbUF1bk8zNUFkYWtKalViRGhvcERuSFlGNHg5c3FVQ2oKTWRIVTd3TUcyVzNRb0RF
WU9CalNUUzc2ejFhK1FVWjV0c3lPdnVyVExFbXpoSEQ5TFJ2NUI5TnRjYzk4L1Vjd2FBeVlEQVlP
bmhobAorRmcxQm9NSmpjWkFVOEtLVEtyd0VZcFhZalBDamdOdEU5NUNsVm0vTUh6aUNDWk5QZ1dG
aGVSck5CZzBHZzcyVG55dEphMzhlVVVVCkZ4Vnh2VGJsK2dnbjdZZlIxenpCc2p4Z3ZoR2JacXg2
dndBQUlBQkpSRUZVRVk2KzhucU83am1rTHdpQ0lBakNueFE1bkFIUlVxd3IKQkdEV3JBSUtabDFE
ZUM0N1BBdnVkUTBCVVBkZ0g0MDNBZWVlNXNUYlFjYzgzUnlDODZZTnJQaG1LZFV2UE0rZi9aV2R2
cjhycHlnSAo5K3ppTFdKM1h5ZVYyTm15WWlsNzNseEhWMDhudHFySHVPSHFQSEIxODlsRnF6bGp0
RFBpOXVJZDc4UEdEcFlXVmpNSzRPcm0za1dyCnFWMVFRMWZmRUgxZHpYZ08yM0U0M0FRQXIvTU5U
cjc4R2dCblh1dmxWRzh2SjAvMjRqeWY2d0JrbE9yQ1c5aDI2blphT3p1eGx2d1AKWmJ0cXdkcklZ
M2ZOenlwZlR1bTdUckNyRnJaOWJqUGJkbHJwMlBFY2crR3l5UkkrYS96WjlBdG9GOTFIWDUrRFhT
WUg3VzhtTDFQTQpMb1NHSFdWNDErekUwZFBHN2FlMm9aL3plVTU3WU9ISFN5bW5nemZQKzRFRlBI
RzBrM0tIZzJkZWZTczMrYktWYndoZi8wdnNBM1p0CnVpTnRTWlZzM3N2bVpkZkdQZE11dW84RDlT
WTZIQTdPdk9jbmY5YWJPQndkMU5qcldiZFFtelY4bENMdWZ0d0tEUTI4TnNFUlNHYjkKRGxPN3Vv
eGJtL3RReXMrSXc4NWlJTTFhWGtZeXl3LytORS9QanNCY2JYakpNcCs1QytEc2hWemRjMDlmRUFS
QkVJUS9EWExjVHE0RAo3S3l6ellrK3VyYUtCejVjQkFRNDhZdG5BR2p2ZjVIRll3QU92dnZyUHRh
dlhRYTYxUnk5MzhiWFg5cEd3N2tHOXA1cUNJWi9wWWFoCnlwMHN6T2FlVlRZdEMwdnU0TGE1WUxa
MThjTFdsUUNzWEw0S0FPZUpuMk1ITE40aFdyNTFFSi8yT3Q3eEFMVHdobWNQM3JidjBrRTUKQTgv
dFpBa0FDL25CUUN2ZitGY29BSXBXYmViQXF1V2NhYkN6cnJxT3JjdTBLYVZJaDYvL1JmWUNuZllu
V2FVRFZxMmlhNnlXOHV0SwptSzhGNThuTThxM01JZjNCdGdZYzZCbC90WmYrYzNPQXZmeHJ6MjUy
cml4bWZwYncyZHl6NlRmb3BaaVNrbUw4aTQya210Ni80QVpMCll4OVBiaTRCWU5tTGZieVJ2NVRX
MS82UlpTdHZaN2tlM2cybE5iL2tEajVxaFBEOGVEYjVuSzltMXQvODBHNHJ6K2dnWUtaazBjVEsK
RDIweHBrY09NTEprTVF0V0w2SVdxSGVNODhpeW5JYkhjU3o0Y3dOUXk4blhQU3hmbG1vYldIb1ow
dXUza0JJemJOdjBEMXhkdVlJUAozWGdkcHJwNmpJc25FUDgwTSt2L1orLytnOXE0NzhUL1AzZU1p
T1JFdU5qQmJlM2tzT3ZFSDhpTXBmdll6ZUFtdFZQSmFRNm5iY1RrClI1T0pvWitTVExFdnlSaTQz
T0RhOTdFdmhWNDUzSG9Nbm54eXduTUpOQUVTRys2K0ZrMEdUMXFqRm5vcDFJR2VsOVRTMVJCRFl4
U0MKQm1TekRoSkludjMrSVg0SVc3Q0xJVTZidkI4em1nRzlkdCt2OTc1V2YreDc5NzI3U3hjV0Z3
UkJFQVRoczAzWEFNUmdBTEJSOWNqUApzQ1I4RERmOURYZXRUY1VJTUM3enlnVVpFbTJjUDVQUCtW
dHNXTWJkdU5wUDRNL2NnTmwzblBRM216ajFYSmpYVmtUd2Rod2gvYzA5Ck1QNE9BMEg0WW1EdWVL
cXVXd2ZDakEyQi9SN3J0Wkh3R0dEaDY1dlhrOG80NDBEaTdsUGMvL3dYV0crR2o4WkhnZHVKVFdO
Y2w4bisKb3BndmxGRkdnREhDd0d3SHNBcmV6di9ta21FZEdSdFdYUlA5T0VSMEhBY0Vob0ZsK3Zx
bm5UL0FXeVZIc1dUbmNicW1rdDhzWFVxMgpEZmE4K0V0Mlp6d1pYVnFyLzVyYk4zdDk5VnA2UzB5
RkUwemNHdHMyY1BGaVRJSG0wVDlkOVFNK2VLOWpNdDNzdTNBT3NiY2svZW44ClIzQWRBeENXUnMv
dWo0VVg4MW16eVdUdWJjS1ZQVXp2K3hjSVhScmd4SUY4OGdmK0J2VW45a1hNTTl0dFdSTlhOR0sr
K2ZBY3JOaG8KMEJrWEJFRVFCT0h6Um5NS1ZtU29sY08vcndHRytKMzhGdThucExGeGN2Qnh4VWZs
SzdtNEFNYXQxQlNGYWZ5R2plZ2RDQWY0UVgwRApINDRwZ0l0dFI1K2wwWHVPMFNYTG1MeVYxYkFF
d2hweFRaRVFBWDgvZ3pJTTlQY1M4UHZ4QjZibnY2OU11eHVRNmJ1OGtuc2ZmSWdICkg5akNhdjdN
c1VNTlhBaEIyamQzQUtVOGM3QVJYMEFoME5kRjVVNEpTVG95L2NRaTgrM1lnRC8rVHkrS0VzRGIy
c0MrbkVLYVkyNzIKVmpxclNOKzBsYzJXMVZSN3AwOVRHOU1jT0cyd2ZhV2RnOVYxSE54cFpYczVy
TDFKWC8rMDh2dmFqNU12dy80WGZzYmh5a29xRHgvbQp4LyszR0dwMjhLWTNvSy8vYzhVMTZnc1JB
bjRmL29DZi9rdERjSEVRZjhDUHp4K0lUZ0lLRFhJSk9PcklwNjdkaTgvbnBhRWtuM0lzCmZQVXJa
c0RFZWp1VVZyMkZUMUhvYTMrRFY5MHdOREE0ZmJKL2p2N3BxaDl3NTlmdHdNZ3MwNGptK24wcGRE
V1dzSEpyUGhYeUNFRlAKRmFXT2RIS090TTc3aVZiaDBlaGgrSzNMNW5ORHZsWjlPOG5kdkIzM2VC
cDVSVVVVN1Q5QVFRRndkbUR4SHRjYlVhTDVCNmJ6QjZadQo5amR5WCs1ZTVQeC9wTmtYSXRENUJy
dmM4RXhtdXM2NElBaUNJQWlmTzZxR2tmZXJWRjVnNnVOb2txZURZN0thSFJPcjd4OVdXNDdiCllw
WXZVTjg5V3pGai9lakhvbGE4MngxdC85emNjYzMreVU0VnVPcFRvSGFIcDVmcGI2dFNiVFBpTnJX
NHRrVWRtWWdQZHRTcWp0aTQKTFU5dDhnelB5TlBkVkRZalIxNXhyZG9mbkk0SHUyc25ZdGxxMjh4
VlZUVThxRFk1aTlXODdHeTEyRm12VmhXZzJpbzZkUGR2MXZ5QgpqcGgrMjlTMm9LcUdaOVJqdWc1
YS9aOHRybG5mb0t4bVh4T2Y2TStJcXNwT1I1eVlRNjJYcDRzMDNGR3JXdUswVWRFeG90ay92ZlVM
CmQ5ZXJnRnJXTWpqcmJ5bWUyUDd2UGRXdkRyWk05eU92VnQ5dmRKS25LbHVGdkJtL1RVMGE5WTBm
ZDZqMW5oSE5wdlhxYjlwN1RYNkgKc3lObWlSRzF2c0F5WFplcWpxdGEwSW9MZ2lBSWd2QjVJcW1x
cWk1d0RLTWhST0JpRUpQWlJIQlVJWElsQWJNNUdlTVN2ZkhGRWlFUQpVRWd3bVRFYjQ4MDhpNkFF
RkVnd1lUYlBNa2NuRWtLSmdNbG9qRDkzTFJJaWhKRzR6VTlScUxRbjhWSldCMmQyYjV4SC8zVGsx
NktqCi93dHFYMC8rSUpqTWNkcWZpTTFhZTgzK2FkVlBvVG9yaWR3djFoT3VmUFFUZlpkR2ZENUtw
TlUwbExWeHBpaGpVVnVPaEVKZ05FSkkKaWRZdzJmd3BiQjhFL0Q0aUNjdEpTWTYvRDdYaWdpQUln
aUI4UHR5QUFZZ0FDdFU1U2VUS05wRGRnQVZYYnpzUHBZb0RzUnNwMUZPSAo2WTRkMVBlR2VUVDF4
aDZpKzF2M3NYTHJXVHBHVHJEeDA3cy9YQkFFUVJBRTRWTW5CaUEzUklTZTlsL1Izak5NNHZMYnVU
dmphNlFtCmZ4cm5xSVcrOXBNTWZPa2JaTnpnd1orLzh5UmR5KzdGdms2TVBnUkJFQVJCK0h3VEF4
QkJFQVJCRUFSQkVHNFlIUzhpRkFSQkVBUkIKRUFSQldCeGlBQ0lJTjBna0ZDSzBtSzhBRVFSQkVB
UkIrQ3QwQTZkZ1JRZ0ZnNUJveHJna1F1aEt3bFZQdXRLS2Z6NzVtcXY1NlMvKwp4TjhWSENEenIv
U205YjdtU3NwLzBZZkpCS24zNzJTblhmdjk5cCtsL0ZFS2xkWWtkbTJ1SjFqNTZQVzhDM0ZPRWNX
UDU3OS94L25FCnIvSlF4clV2d293RXZCdy8vamJLVGV2NVRuWW1xeExtRnhjRVFSQUVRVmdzbWxk
QVFyNEc3RCt5WWo5a2ozNUs3V1E1OTlGNDNoOWQKNEVvZkI0OVlzUjZ5WXo5a3hWcGFTRmR3Wmh1
Qjh3M2tsQm93SFV6QzlHTUo2VWNHVE9XVlV5OXkwNHAvK3Z5VVNCTFZQWXYyYWpmZApERGREZVhr
cDhsQlFlK0hGRnZKU2FKV3cycTFJVWc1ZEVmQ2ZMRUdTck5qdEV0YWNhbDM3eUhEekNyNjg5a3NF
MjBwNTZkMkJUN3piCmYybjVKNWt0WUx0dCthSS9JamZVVllraGFTV1dyUTcyL3liTzlvVzZ5RjJl
em81anB6bVd1NTNWRHh6QlA1KzRJQWlDSUFqQ0l0SWMKZ0lSSGZiaVJjVjkyUnovamJsd2ZsZUo0
OVg1T0RrV0FJRDBCR2ZteUcvZGxHWG04bkJjN2U2WWJ1TkxERDE5OWpKcHhzQ1FYa0pjOAo4YjFC
Wi93NnpEYlZKYVFvS01yc2MyQkNTb2k0MGNnQWJtQms5UHI3ZEwxU01wN0FhUUVNMm0vUERvVVVs
Rm5uK0VRSUtVcjg3WnRjCi8rcjZHRmZ6bmFmemtOMHl0dUxIdUMwQmtqZGw0U3lRY2J0aHgyT2Jp
WDJtMDJ6NVYyVThTdEh1M2V4ODNNYUNkcXlHVHpxLzF1OW4KYm1hZWZFMmxlYjk5bGdHSTl2Nlpq
VEg5dXd3T0Q5TlNab2tiNzN2elJXcklSbjc3TlpyN1hlRE81eis3Rk4xeFFSQUVRUkNFeGFRNQpB
REhma2NlcHUyeUFEZGRUL2ZRL2RZcUNSQUNaUHdVVVdKSkd4UzdYakhXT3R2Mkt3TVRma1kvK3dG
RUFzcW5hZFpqSzNjTlUzQUo4ClBFWkVSMXhUeU10T1NVS3labEhYNmFXeEpBdUR5WVRKWUtXeEwz
ckZJdFRYU3FGZHdwU1VSRktTQVNubkNONlk0NnZwdUFtREpKR3oKTTJ2cTdIN0EyMHJkeTYvakJw
cGYvem1ORFEzVTFUWFE1ZGQzcUhpeUpBdkpic2NxV2FuMlJxQ3ZBYnRreFc2VjJOZllvOTBBWVZn
QgpYZTQzS01teEkwa1NXWVdWZEFXbTh3YzY2N0JMRWlaVEVra21BL1o5ZFRQT1lQZTFWbU9YREpp
U2tqQklFbFpKNGtqbmRBRm1yNDhaCisrNTlGQUJXcTVWa0lDRmxBL2RaSGVDbzVSOGVTdE9WZjlM
b21LNlN4VkNvMjJuRmFyZGpsZXcwK2lMMDFPMUVrdXpZclJJNTFWMEwKenQvVFVJZ2syYW56aG9B
ZTlsa2xKS3VWSTgwK0hmWFJKK1N0UnBJa3JGWXJoWFhlYStKYSswZFRRaklweWNsOHdiZ2lYblpP
dTQ1aQpLWHVPRFFuQUtodE9HeHg3NTV6T3VDQUlnaUFJd3VMU2NSTzZrUlJ6RWdDSmlTWk1pVGN6
ZVM1KzhtUnpNTkFMUU1YakhtcHZBeTYvClJPdEgwV0NDZVRuUjg3STFiRHFVUThtSjQ5ejZWUmVl
djgrTEh0QnF4TFc3dDRaOW5oYjI0bUxIcG5UMlg5aE9XMGNMenVLbitlTFMKQkFpMDg4U2FyWnkz
dWVnZkNSSWM5dUFrbi9Ta0Vud0FnWFllWExPVjh0Vmx0SGw2OGJUVm94eDFJY3NqUklDZy93Tk8v
L1lzQU9mUApkbkttczVQVHB6dnhqK29iZ056N3ZiMFV1TjNJbGgwOGNFY0NwTjVEcGtYR3ZhS01w
MjNyZExWeFV4TFU1T2NTM0ZhRTNIR0t1ODdzCndyTDhXU1pQVWdjL2hreW5DMC92SVAyeWk2SFNI
YncrZFFEYlIvbldYTzZzOTZDcVlmcGxGMnVCcVdzOVd2VWhsYWVjRHNvZHh5WU8KNm5zNG5PdWkr
UGx2VHAzSm56di9RcGpaWGxqR1dyY2JPZThaYktzU1NQMU9JWHR4NDdZNCtTZkhuUXZPbjNwZkRu
bTR1VEFhQmxiegozTEVXOG1TWmw5OGIwRmtmYmNZMTM4TGprZGxqbDJtK2NQVmxOSTM5TXcvaFdi
NGQ2b2NWeHNrclB3WldySWFoTWIxeFFSQUVRUkNFCnhhVnpPcm9aY0xIZHVYejZxMXVLZWVRcnlV
Q0Uxdjk2R1lCbTc5dXNIUVNRZWVVUEhoN0szQURtclJ6N3RwTi8rZlV1YWk3WGNPQk0KVFhUOWQ4
cm8zVnRFcWxaY3MyOUdVdFB1WnYwS2NEamJPTEV6QTRDTWpWc0E4TGYrQmhlUUhleWw0ZCtPRURJ
dTQ2SUMwTUFIeW42QwpwMTdCVFI3ZHJ4VVJIUTZrOGtaM0V6LzlEekFCeVZ1ZTVQQ1dqWnl2Y2JH
OXBJS2RHK1ozKzdBNU5ZTURMV1dVYjYzRkd5aGlGVjcyCnlGRGJ2UnU5NzZRYkc0SHNXZzgvZVRK
NnhXSEQyeDQrTUtUVGRQWmYyWkNSREltSmZOaTBuL1JkTWt6TndwazhnRTBpelFHN0h2c2gKUy9k
dTRzdGZXb2E5b2dyYjJtaHkvM3R6MTJlVkdUWTh2QnQyYmVPWGZVVThQUElXUjhtaisyc3AweDJj
TS8vQ0pLZGxVbExsd0pYcgpRYWtFYzhqSFcwRDlqNThtYmZKbGpndkluNUJ5RnhzdGNBa0FJNnZT
N3Vack5wZzgvNituUHBxTUthU2xwUkJlYTROcmJpT2FlLzk4CkVoS1hMaXd1Q0lJZ0NJS3dFTG9l
dzJzd0FOaW9lcVNEanNkYjZQaGVMOEhuOTdNdUVSaVhlZVdDRElrMnpwL0pwem5SaGdWd3RaL0EK
RDRSOHgwbC9zNG5jNzRkUi96bUk1OXRsMFViSDMyRWdxQjNYSjh6WUVOanZzVjRiQ1k4QkZyNitl
VDNyMDlKSVcvTmx0dTQreGFtVwpLdGFiSVR3K0Nxd2c5ZzRMNDdwTTloZGxUaitwU0JsbEJCaWI1
Unp6eEVKNE8xdHA3N3IydkhqeWxoL2d0TWxzTzF4SDlVKzJRWFk5CjMxMTM5VUJtOXZVQmx0NFMw
OE1FRTdkTy91MC95ZXJOajdIOHFTb0dSNElFZjl2TjN1aENrOW5KM051RXEvNjdyUDNDVFhCcGdC
UDUKdVZoKzJxS3JQZ0NrM0VOdE5wUWRhK1ROMS9PeGxEM0Z1Z1M5K2FmTmZmZkY3TnUvNFpFRDJE
aEFRNmVmenFwQzVPeDZzbElURmlsLwptREhnNHNYNER4alFWWjhGbVh2L3pFZjg3WnU0b2hIenpZ
Zm5ZTVZOQnAxeFFSQUVRUkNFeGFVNUFJa010WEw0OXpYQUVMK1QzK0w5CmhEUTJyazJOSHB4ZjhW
SDVTaTR1Z0hFck5VVmhHcjloUXdiZ0FEK29iK0RETVFWd3NlM29zelI2enpHNlpOblVTV3JERWdo
cnhEVkYKUWdUOC9RektNTkRmUzhEdnh4K1lubjZ6TXUxdVFLYnY4a3J1ZmZBaEhueGdDNnY1TThj
T05YQWhCR25mM0FHVThzekJSbndCaFVCZgpGNVU3SlNUcHlQUVRuc3kzWXdQKytEKzlLRW9BYjJz
RCszSUthZlpObjJWWE9xdEkzN1NWelpiVlZIdXZQcGhONXYrOFZBdWxPOGd0CkIxZFoxaldIeDdP
dUh4cmtFbkRVa1U5ZHV4ZWZ6MHREU1Q3bFdQanFWOHhFUmk0RHNHN3Q3WmdaNXZRdlhxWVV1RFRZ
SHozWkh1b2sKZC9OMjNPTnA1QlVWVWJUL0FBVUZ3TmtCUWpycUUyVmsrM01WeUhzY1BGWUtKZG1i
cHN1dmxSOVFBbjc4QVQvK1MwUElGeTlFL3c3TQpyTkdjOVROdjVHY1ZEdkkzcldUVEhwbmFGNzQ5
VmIrRjV6ZXgzZzZsVlcvaFV4VDYydC9nVlRjTURRek9vejV6aVJEdysvQUgvUFJmCkdvS0xnL2dE
Zm56K1FQUWFqY2IrMFNXaVJOc2ZtRzQvTUhXenZKSDdjdmNpNS84anpiNFFnYzQzMk9XR1p6TFRk
Y1lGUVJBRVFSQVcKbWFwaDVQMHFsUmVZK2ppYTVPbmdtS3hteDhUcSs0ZlZsdU8ybU9VTDFIZlBW
c3hZUC9xeHFCWHZka2ZiUHpkM1hMTi9zbE1GcnZvVQpxTjNoNldYNjI2cFUyNHk0VFMydWJWRkhK
dUtESGJXcUl6WnV5MU9iUE1NejhuUTNsYzNJa1ZkY3EvWUhwK1BCN3RxSldMYmFOblBWCnlWNm9C
YUJTZkNydWRzeTJ2dXgweE5rK2gxb3ZUeTQwck5ZV1dLWmpqankxd0JIOXY4RFZxNnBCV2MyT3Q3
NW5aQ3FIVm4yaWV0VmkKQ3lyWlZWZDlyNUZmSFZHZHRxdnpvMEtlNm9uWlI1cjFHMm1MOWpHN1Zn
M09DQ3c4LzNCSHJXcTVKbzVhMFRFeWovck1JbTc5bzIyMApqY3dXbjdsL3RQUTM3YjJtZlllekk3
WjRhbjFNamZLcU9xNXFRU3N1Q0lJZ0NJS3dlRzdBaXdoREJDNEdNWmxOQkVjVklsY1NNSnVUClkx
NHlxQlZmTEJFQ0FZVUVreG16TWQ2dEx4R1VnQUlKSnN6bVdlN3ppSVJRSW1BeUd1UGZQQk1KRWNK
SXZPYVZ6a3FTTmpYUk5uS0MKak5tbTdzeXgvbFQrSUpqTTErWVBLUUdDbUVpTzAvZElLQVJHSTRR
VWxDQ1lrODF4K3E5Vm43bk5sVjgzamUwUEJmeUV6U21ZNDhRWApuSCtpdHJQdSt3WFdaKzdVZXZi
UHdnWDhQaUlKeTBsSmpyK05XbkZCRUFSQkVJVEZjQVBmaFA3NTFOTjRrT2ZydXhpcHFjRU5GTHU2
CjJmK1F2cWRmQ1lJZ0NJSWdDTUpualJpQWZNTDhYYzM4c211QXhNUkVHQjluK1ladll0K1FvcjJp
SUFpQ0lBaUNJSHdHaVFHSUlBaUMKSUFpQ0lBZzNqSzdIOEFxQ0lBaUNJQWlDSUN3R01RQVJGazBr
RkNLME9POGYvRlJFSWlFaUMrai9RdGZYYlA4VHJ1OG4zZisvOVB5QwpJQWlDSU53WU4zQUFFaUVV
VkFoZG1majd5bnpqd2w4MmhaY3pUSmllYlpqeC9ncGZjeldGaGZzNDJhZjdyUmFmck1oc0IvR1gr
ZmVOCkpqYit2ODdyYkZoai9jaEN0ejkrZlJmUDNQMlBLSDY2V2h0cGJJLy9vc3hJd0V0ZDVSRXFx
MC9paTFOZnJmakM2eThJZ2lBSXdsOEwKelFGSXlOZUEvVWRXN0lmczBVK3BuU3puUGhyUCs2TUxY
T25qNEJFcjFrTjI3SWVzV0VzTDZicnFEZWFCOHcza2xCb3dIVXpDOUdNSgo2VWNHVE9XVlV5LzYw
NHAvK3Z5VVNCTFZQWi9XUWZSYytVTTBGRnFSSkN0MnU1V3NmWTF4RGxDMStyODQyMmUyZ08yMjVU
TWVJV3U0CkdjckxTNUdIZEwvVy9oUHJINUVlQ2cwbWZ1NlovWmUxWW1FWlpsM2ZXL01FVWs3ZGdu
N1Q4ZXE3Mk9MMVA5UlZpU0ZwSlphdER2Yi8KWmlEZUF1UXVUMmZIc2RNY3k5M082Z2VPNEo5UFhD
Ty9JQWlDSUFpZkxab0RrUENvRHpjeTdzdnU2R2ZjamV1alVoeXYzcy9Kb1FnUQpwQ2NnSTE5MjQ3
NHNJNCtYODJKbnozUURWM3I0NGF1UFVUTU9sdVFDOHBJbnZqZm9qRitIMmFhcWhCUUZSWmw5amtk
SUNSRTNHaG5BCkRZeU1YbitmOUppMWYzUG1UK0IvUDF6Q1hwdU0yeTNqS3QzUHI2OCt4YXpWLzNs
dVgvejZtbm55TlpYbS9mWVpCOGdwR1UvZ3RBQUcKazc3R0Y5QS9yZjNyclhtZWNncTRQejNlaTFo
dTRXOGYzY0RRZFhkeTd2WFR2clVMYW5aUTFSbTR6dmJqMTNkYWhKQ2l4UC85NmpKNwovNDNwMzJW
d2VKaVdNa3ZjTmZ2ZWZKRWFzcEhmZm8zbWZoZTQ4L25QTGtWM1hDdS9JQWlDSUFpZkxab0RFUE1k
ZVp5Nnl3YlljRDNWClQvOVRweWhJQkpENVUwQ0JKV2xVN0hMTldPZG8yNitZUE15S2ZQUUhqZ0tR
VGRXdXcxVHVIcWJpRnVEak1TSTY0cHBDWG5aS0VwSTEKaTdwT0w0MGxXUmhNSmt3R0s0MFQwMzVD
ZmEwVTJpVk1TVWtrSlJtUWNvN2dqVG4rbVk2Yk1FZ1NPVHV6c09aVW93QUJieXQxTDcrTwpHMmgr
L2VjME5qUlFWOWRBbDM4ZWgzcEtENVdGV1VpU2hMM3dJTlVIQzdGS0VpWE5QczMrYWVkUFlOMldo
OWhxQlVkWkxjVTJtWU1OCjhsUnFyZlUxMjlkVFgyODFraVJodFZvcHJQTmV0ZkZoV0FGZDdqY295
YkVqU1JKWmhaVjBCYUx0OXpRVUlrbDI2cndob0lkOVZnbkoKYXVYSVJHMzAxRjlyLzBiNWVEWFho
YVg0WWRiTmNnbmhDM2M4eWcvdDYyZDhkN0lrQzhsdXh5cFpxZlpHb0s4QnUyVEZicFhZMTlpagp1
ZjZVbEF5Y05zZy9mR3JlVTZqbXJpLzB0VlpqbHd5WWtwSXdTQkpXU2VKSTUveXZ0Y3phLzRSa1Vw
S1QrWUl4N3ZVUlRydU9ZaWw3CmpnMEp3Q29iVGhzY2UrZWN6cmlPL0lJZ0NJSWdmS2JvdUFmRVNJ
bzVDWURFUkJPbXhKdVpQSmM5ZVJZOEdPZ0ZvT0p4RDdXM0FaZGYKb3ZXamFEREJ2SnpvZWRNYU5o
M0tvZVRFY1c3OXFndlAzK2VSckNPdTNiMDE3UE8wc0JjWE96YWxzLy9DZHRvNlduQVdQODBYbHla
QQpvSjBuMW16bHZNMUYvMGlRNExBSEovbWtKNVhnQXdpMDgrQ2FyWlN2THFQTjA0dW5yUjdscUF0
WkhpRUNCUDBmY1BxM1p3RTRmN2FUCk01MmRuRDdkaVg5VTd3REVSMG5TSGV3NmN4ZE5MUzBVcEgx
STdwNXlLS2psNlh0V2FmWlBWLzVBSzN2S1lkY1BubVJYVVFIdS9OZm8KbWR3M0d1dHJ0cTlWWDhD
NDVsdDRQREo3N0RMTkY2NjlUSEZURXRUazV4TGNWb1RjY1lxN3p1ekNzdnhadWhSSXZTK0hQTnhj
R0EwRApxM251V0F0NXNzekw3dzNvNjUvVy9wMFE4djZhVW1EUFkzZlB1cWZTbmp6QWt4dHVtZkhk
dmQvYlM0SGJqV3pad1FOM0pFRHFQV1JhClpOd3J5bmphdGs1ei9XbkozUDlNQWRUVWNIYWVJNUM1
Njl0SCtkWmM3cXozb0twaCttVVhhNEZacnVYTmFlNytRM2lXYjRmNllZVngKOHBLbGdSV3JZV2hN
YjF4L2ZrRVFCRUVRUGh0MFRpYzNBeTYyTzVkUGYzVkxNWTk4SlJtSTBQcGZMd1BRN0gyYnRZTUFN
cS84d2NORAptUnZBdkpWajMzYnlMNy9lUmMzbEdnNmNxWW11LzA0WnZYdUxTTldLYS9iTlNHcmEz
YXhmQVE1bkd5ZDJaZ0NRc1hFTEFQN1czK0FDCnNvTzlOUHpiRVVMR1pWeFVBQnI0UU5sUDhOUXJ1
TW1qKzdVaW9vZVRxYnpSM2NSUC93Tk1RUEtXSnptOFpTUG5hMXhzTDZsZzV3YWoKdnBKTkNIbmY1
Z0RRNHZvSlc4ekFsaTIwRFphVHR5eU5WVWJ3bjU2N2Z4azY4dmVjcWtIR3d2QjduWGd2THdjTzhC
OGQreWpLU0dHVgp4dnBhY2EzNlJoZEpJUzB0aGZCYUcvRk83NCtOUUhhdGg1ODhtUWJBaHJjOWZH
QklwK25zdjdJaDR5NDJXdURTUks1VmFYZnpOUnRNCm5oL1g2cC8vdmJucnQycGl0cFhpNndFY3BL
MlozLzR6cDJad29LV004cTIxZUFORnJNTExIaGxxdTNlekx0NU1yam1zL2w5V29KelQKNXhRMmJw
akh5blBXTjRrMEIreDY3SWNzM2J1SkwzOXBHZmFLS214cjU5bTVSWlM0ZEdGeFFSQUVRUkErMjNR
TlFBd0dBQnRWai93TQpTOExIY05QZmNOZmFWSXdBNHpLdlhKQWgwY2I1TS9tY3Y4V0daZHlOcS8w
RS9zd05tSDNIU1gremlWUFBoWGx0UlFSdnh4SFMzOXdECjQrOHdFSVF2QnVhT3ArcTZkU0RNMkJE
WTc3RmVHd21QQVJhK3ZuazlxWXd6RGlUdVBzWDl6MytCOVdiNGFId1V1SjNZTk1aMW1ld3YKaXZs
Q0dXVUVHQ01NekhZQXErRHQvRzh1R2RhUnNXSFZOZEdQUTBUSGNVQmdHRmltcjMvYStRTzhWWElV
UzNZZXAyc3ErYzNTcFdUYgpZTStMdjJSM3hwUFJwYlg2cjdsOXM5ZFhyNlczeEZRNHdjU3RzVzBE
RnkvR0ZHZ2UvZE5WUCtDRDl6b20wODIrQzJlUnZPVUhPRzE3CjJIYTRqcXJnRHNpdTU3dnI1dGtJ
d05MbzJmMng4R0krYXphWnpMMU51TEtINlgzL0FxRkxBNXc0a0UvK3dOK2cvc1MraUhsbXV5MXIK
NG9wR3pEY2Zub01WR3cwNjQ0SWdDSUlnZk41b1RzR0tETFZ5K1BjMXdCQy9rOS9pL1lRME5rNE9Q
cTc0cUh3bEZ4ZkF1Sldhb2pDTgozN0FSdlFQaEFEK29iK0RETVFWd3NlM29zelI2enpHNlpCbVR0
N0lhbGtCWUk2NHBFaUxnNzJkUWhvSCtYZ0orUC83QTlQejNsV2wzCkF6SjlsMWR5NzRNUDhlQURX
MWpObnpsMnFJRUxJVWo3NWc2Z2xHY09OdUlMS0FUNnVxamNLU0ZKUjZhZldHUytIUnZ3eC8vcFJW
RUMKZUZzYjJKZFRTSFBNemQ1S1p4WHBtN2F5MmJLYWF1LzBhV3BqbWdPbkRiYXZ0SE93dW82RE82
MXNMNGUxTitucm4xWitYL3R4OG1YWQovOExQT0Z4WlNlWGh3L3o0L3haRHpRN2U5QWIwOVgrdXVF
WjlJVUxBNzhNZjhOTi9hUWd1RHVJUCtQSDVBOUZKUUtGQkxnRkhIZm5VCnRYdngrYncwbE9SVGpv
V3Zmc1VNbUZodmg5S3F0L0FwQ24zdGIvQ3FHNFlHQnFkUDlzL1JQMTMxQSs3OHVoMFltV1Vha1pa
ay9zOUwKdFZDNmc5eHljSlZsWGRlVHFNS2owY1B3VzVmTjU0WjhyZnAya3J0NU8rN3hOUEtLaWlq
YWY0Q0NBdURzd09JOXJqZWlSUE1QVE9jUApUTjNzYitTKzNMM0krZjlJc3k5RW9QTU5kcm5obWN4
MG5YRkJFQVJCRUQ1M1ZBMGo3MWVwdk1EVXg5RWtUd2ZIWkRVN0psYmZQNnkyCkhMZkZMRitndm51
MllzYjYwWTlGclhpM085cit1Ym5qbXYyVG5TcHcxYWRBN1E1UEw5UGZWcVhhWnNSdGFuRnRpem95
RVIvc3FGVWQKc1hGYm50cmtHWjZScDd1cGJFYU92T0phdFQ4NEhROTIxMDdFc3RXMm1hdXFhbmhR
YlhJV3EzbloyV3F4czE2dEtrQzFWWFRvN3QrcworUU1kTWYyMnFXMUJWUTNQcU1kMEhiVDZQMXRj
czc1QldjMitKajdSbnhGVmxaMk9PREdIV2k5UEYybTRvMWExeEdtam9tTkVzMzk2CjZ4ZnVybGNC
dGF4bGNOYmYwdHo2MVFKUUtUNTFuZXVycXFjcVc0VzhHYjlOVFJyMWpSOTNxUFdlRWMybTllcHYy
bnROZm9lekkyYUoKRWJXK3dESzliNm82cm1wQkt5NElnaUFJd3VlSnBLcXF1Z2pqbURtRUNGd01Z
aktiQ0k0cVJLNGtZRFluWTF5aU43NVlJZ1FDQ2drbQpNMlpqdlBQWEVaU0FBZ2ttek9aWnB0ZEVR
aWdSTUJtTjhjK0FSMEtFTUJLMytTa0tsZllrWHNycTRNenVqZlBvbjQ3OFduVDBmMEh0CjY4a2ZC
Sk01VHZzVHNWbHJyOWsvcmZvcFZHY2xrZnZGZXNLVmo4NTcrNVRPU3BJMk5kRTJjb0tNNjdxOXdr
ZUp0SnFHc2piT0ZHVmMKVHdPemlvUkNZRFJDU0luV01ObjhpYjRyWkRZQnY0OUl3bkpTa3VQdlE2
MjRJQWlDSUFpZkR6ZGdBQ0tBUW5WT0VybXlEV1EzWU1IVgoyODVEcWVKQTdFWUs5ZFJodW1NSDli
MWhIazNWZDRqZTAzaVE1K3U3R0ttcHdRMFV1N3JaLzlBNnpmV3U1bS9keDhxdFora1lPY0hHClQr
LytjRUVRQkVFUWhFK2RHSURjRUJIMGd5NWhBQUFnQUVsRVFWUjYybjlGZTg4d2ljdHY1KzZNcjVH
YS9HbWNveGI2Mms4eThLVnYKa0tGejhPZnZhdWFYWFFNa0ppYkMrRGpMTjN3VCs0YVVlZWYxZDU2
a2E5bTkyT2Y3NkN4QkVBUkJFSVRQR0RFQUVRUkJFQVJCRUFUaApodEh4SWtKQkVBUkJFQVJCRUlU
RklRWWdnbkNEUkVJaFFvdjVDaEJCRUFSQkVJUy9RamR3Q2xhRVVEQUlpV2FNU3lLRXJpUmM5YVFy
CnJmam5rNis1bXAvKzRrLzhYY0VCTXY5S2IxcnZhNjZrL0JkOW1FeVFldjlPZHRxMTMyLy9XY29m
cFZCcFRXTFg1bnFDbFkvTzkxMkkKR2lMMGRiYmdQdjBlWStiMVpENmN5ZFUvbFVqQXkvSGpiNlBj
dEo3dlpHZXlLbUYrY1VFUUJFRVFoTVdpZVFVazVHdkEvaU1yOWtQMgo2S2ZVVHBaekg0M24vZEVG
cnZSeDhJZ1Y2eUU3OWtOV3JLV0ZkQVZudGhFNDMwQk9xUUhUd1NSTVA1YVFmbVRBVkY0NTlhSS9y
ZmluCnowK0pKRkhkczJpdmR0UE5jRE9VbDVjaUR3VzFGMTVzSVMrRlZnbXIzWW9rNWRBVkFmL0pF
aVRKaXQwdVljMnAxcldQRERldjRNdHIKdjBTd3JaU1gzaDM0eEx2OWw1Wi9rdGtDdHR1V0wvSWpj
aU0wbHp6QW1rM2JlTFh6anpUdDJNNGFVeUhlMko5cXFJdmM1ZW5zT0hhYQpZN25iV2YzQUVmek1J
eTRJZ2lBSWdyQ0lOQWNnNFZFZmJtVGNsOTNSejdnYjEwZWxPRjY5bjVOREVTQklUMEJHdnV6R2ZW
bEdIaS9uCnhjNmU2UWF1OVBERFZ4K2paaHdzeVFYa0pVOThiOUFadnc2elRYVUpLUXFLTXZzY21K
QVNJbTQwTW9BYkdCbTkvajVkcjVTTUozQmEKQUlQMjI3TkRJUVZsMWprK0VVS0tFbi83SnRlL3Vq
N0cxWHpuNlR4a3Q0eXQrREZ1UzREa1RWazRDMlRjYnRqeDJHWmluK2swVy81VgpHWTlTdEhzM094
KzNzYUFkcStHVHpxLzErNW1ibVNkZlUybmViNTlsQUtLOWYrSUw4dDRCTjQ1YUQ4MlZsWndZYWNO
R09ZMW5BMU5MCjlMMzVJalZrSTcvOUdzMzlMbkRuODU5ZGl1NjRJQWlDSUFqQ1l0SWNnSmp2eU9Q
VVhUYkFodXVwZnZxZk9rVkJJb0RNbndJS0xFbWoKWXBkcnhqcEgyMzdGNU9GUDVLTS9jQlNBYktw
MkhhWnk5ekFWdHdBZmp4SFJFZGNVOHJKVGtwQ3NXZFIxZW1rc3ljSmdNbUV5V0ducwppNTRHRHZX
MVVtaVhNQ1Vsa1pSa1FNbzVnamZtK0dvNmJzSWdTZVRzekpvNnV4L3d0bEwzOHV1NGdlYlhmMDVq
UXdOMWRRMTArZlVkCktvYTgxVmdsSzNhcmxTT3RQdm9hUzdCYTdVaVNsVHBkVjFUQ3NBSzYzRzlR
a21OSGtpU3lDaXZwQ2t6bkQzVFdZWmNrVEtZa2trd0cKN1B2cVpwekI3bXV0eGk0Wk1DVWxZWkFr
ckpMRWtjN3BBc3hlSHpQMjNmc29BS3hXSzhsQVFzb0c3ck02d0ZITFB6eVVwaXYvcE5FeApYU1dM
b1ZDMzA0clZic2NxMlduMFJlaXAyNGtrMmJGYkpYS3F1eGFjdjZlaEVFbXlVK2NOQVQzc3MwcElW
aXRIbW4wNjZxTlB5RnVOCkpFbFlyVllLNjd6WHhMWDJ6OXpNNUE3Mjg5cVRhUlBKQXJpQlpWUERu
QkNuWFVleGxEM0hoZ1JnbFEybkRZNjljMDVuWEJBRVFSQUUKWVhIcHVBbmRTSW81Q1lERVJCT214
SnVaUEJjL2ViSTVHT2dGb09KeEQ3VzNBWmRmb3ZXamFEREJ2QndMQURWc09wUkR5WW5qM1BwVgpG
NTYvejRzZTBHckV0YnUzaG4yZUZ2YmlZc2VtZFBaZjJFNWJSd3ZPNHFmNTR0SUVDTFR6eEpxdG5M
ZTU2QjhKRWh6MjRDU2Y5S1FTCmZBQ0JkaDVjczVYeTFXVzBlWHJ4dE5XakhIVWh5eU5FZ0tEL0Ew
Ny85aXdBNTg5MmNxYXprOU9uTy9HUDZodUFHTmQ4aThOVmR0eXkKelBtUHd4Z1NMeURMYnNwY1ZX
elhlVS9IVFVsUWs1OUxjRnNSY3NjcDdqcXpDOHZ5WjVrOFNSMzhHREtkTGp5OWcvVExMb1pLZC9E
NgoxQUZzSCtWYmM3bXozb09xaHVtWFhhd0ZwcTcxYU5XSFZKNXlPaWgzSEpzNHFPL2hjSzZMNHVl
L09YV0lPM2YraFRDenZiQ010VzQzCmN0NHoyRllsa1BxZFF2Yml4bTF4OGsrT094ZWNQL1crSFBK
d2MyRTBES3ptdVdNdDVNa3lMNzgzb0xNKzJveHJ2b1hISTdQSEx0TjgKNGVyTGFCcjdSd2R6eXFx
cEsxSE56b09BZzcrOWMvS2JNRVA5c01JNGVlWEh3SXJWTURRMUdOT0tDNElnQ0lJZ0xDNmQwOUhO
Z0l2dAp6dVhUWDkxU3pDTmZTUVlpdFA3WHl3QTBlOTltN1NDQXpDdC84UEJRNWdZd2IrWFl0NTM4
eTY5M1VYTzVoZ05uYXFMcnYxTkc3OTRpClVyWGltbjB6a3BwMk4rdFhnTVBaeG9tZEdRQmtiTndD
Z0wvMU43aUE3R0F2RGY5MmhKQnhHUmNWZ0FZK1VQWVRQUFVLYnZMb2ZxMkkKNlB1dFUzbWp1NG1m
L2dlWWdPUXRUM0o0eTBiTzE3allYbExCemczenZIM1ltSUw5KzRmcFg3ZVcxVnZYVUE1VXljTjhm
NE91NFJVQQpZeU9RWGV2aEp4Tm51VGU4N2VFRFF6cE5aLytWRFJuSmtKakloMDM3U2Q4bE16R2Fn
NmtEMkNUU0hMRHJzUit5ZE84bXZ2eWxaZGdyCnFyQ3RqUjZnK3QrYnV6NnJ6TERoNGQyd2F4dS83
Q3ZpNFpHM09Fb2UzVitMZVJuZm5Qa1hKamt0azVJcUI2NWNEMG9sbUVNKzNnTHEKZi93MGFaTXZj
MXhBL29TVXU5aG9nVXNBR0ZtVmRqZGZzOEhrK1g4OTlkRmtUQ0V0TFlYd1dodGNjOUZyN3Ywekh6
Mk4rOWgyd0kyegpZNWlNT1ZaUFhEcDNPMXB4UVJBRVFSQ0VoZEQxR0Y2REFjQkcxU01kZER6ZVFz
ZjNlZ2srdjU5MWljQzR6Q3NYWkVpMGNmNU1QczJKCk5peUFxLzBFZmlEa08wNzZtMDNrZmorTStz
OUJQTjh1aXpZNi9nNERRZTI0UG1IR2hzQitqL1hhU0hnTXNQRDF6ZXRabjVaRzJwb3YKczNYM0tV
NjFWTEhlRE9IeFVXQUZzWGRZR05kbHNyOG9jL3BKUmNvb0k4QVk0VG42b09EdGJLVzlLLzU1OGRn
N0QvNTAvcU41cjcvMApscGdlSnBpNGRmSnYvMGxXYjM2TTVVOVZNVGdTSlBqYmJ2WkdGNXBZSUpu
TXZVMjQ2ci9MMmkvY0JKY0dPSkdmaStXbkxZQjJmUUJJCnVZZmFiQ2c3MXNpYnIrZGpLWHVLZFFs
Njg4ZXZ3WHkyZjhNakI3QnhnSVpPUDUxVmhjalo5V1NsSml4Uy9qQmp3TVdMOGFmRDZhclAKZ3N5
OWYvUlJPRm1TeFIyT1VtcmxZWFp1akIzY1RselJpUG5tdzNPdzRpYUR6cmdnQ0lJZ0NNTGkwaHlB
UklaYU9mejdHbUNJMzhsdgo4WDVDR2h2WHBrWVB6cS80cUh3bEZ4ZkF1Sldhb2pDTjM3QWhBM0NB
SDlRMzhPR1lBcmpZZHZSWkdyM25HRjJ5Yk9va3RXRUpoRFhpCm1pSWhBdjUrQm1VWTZPOGw0UGZq
RDB4UHYxbVpkamNnMDNkNUpmYysrQkFQUHJDRjFmeVpZNGNhdUJDQ3RHL3VBRXA1NW1BanZvQkMK
b0srTHlwMFNrblJrK2dsUDV0dXhBWC84bjE0VUpZQzN0WUY5T1lVMCs2YlBzaXVkVmFSdjJzcG15
MnFxWXg5QkZGSG9haXhoNWRaOApLdVFSZ3A0cVNoM3A1QnhwbmZFRXFWblhEdzF5Q1RqcXlLZXUz
WXZQNTZXaEpKOXlMSHoxSzJZaUk1Y0JXTGYyZHN3TWMvb1hMMU1LClhCcnNqNTVzRDNXU3Uzazc3
dkUwOG9xS0tOcC9nSUlDNE93QUlSMzFpVEt5L2JrSzVEME9IaXVGa3V4TjA1dW5sUjlRQW43OEFU
LysKUzBQSUZ5OUUvdzdNUE9DZmRmc0J6QnY1V1lXRC9FMHIyYlJIcHZhRmIwOE5MeGFlMzhSNk81
Uld2WVZQVWVocmY0TlgzVEEwTURpUAorc3dsUXNEdnd4L3cwMzlwQ0M0TzRnLzQ4ZmtEMFdzMEd2
dEhXNGlUKzc3TzlnTXVDbXJiK01hS1lScEtDcW1ldW9uY3lIMjVlNUh6Ci81Rm1YNGhBNXh2c2Nz
TXptZWs2NDRJZ0NJSWdDSXRNMVREeWZwWEtDMHg5SEUzeWRIQk1Wck5qWXZYOXcyckxjVnZNOGdY
cXUyY3IKWnF3Zi9WalVpbmU3bysyZm16dXUyVC9acVFKWGZRclU3dkQwTXYxdFZhcHRSdHltRnRl
MnFDTVQ4Y0dPV3RVUkc3ZmxxVTJlNFJsNQp1cHZLWnVUSUs2NVYrNFBUOFdCMzdVUXNXMjJMV1ZW
Mk9xYlcyWHVxWHgxc21XNG5yN1o3WHV0UGZ4eHF2VHk1MExCYVcyQ1pqam55CjFBSkg5UDhDVjYr
cUJtVTFPOTc2bnBHcEhGcjFpZXBWaXkyb1pGZGQ5YjFHZm5WRWRkcXV6bzhLZWFvblpoL050djNU
TzdvdDJzZnMKV2pVNEk3RHcvTU1kdGFybG1qaHFSY2ZJUE9vemk3ajFqN2JSTmpKYmZPYit1Wjcy
blIyeDY0K285VEUxeXF2cXVMcTRHbkZCRUFSQgpFSVRGY3dOZVJCZ2ljREdJeVd3aU9Lb1F1WktB
Mlp3Yzg1SkJyZmhpaVJBSUtDU1l6SmlOOFc1OWlhQUVGRWd3WVRiUGNwOUhKSVFTCkFaUFJHUC9t
bVVpSUVFYmlOcStyaXhyclIwSW9RVENacjgwZlVnSUVNWkVjcCsrUlVBaU1SZ2dwS0VFd0o1dmo5
RityUG5PYks3OXUKR3RzZkN2Z0ptMU13eDRrdk9QOUViV2ZkOXd1c3o5eXA5ZXlmaFF2NGZVUVNs
cE9TSEg4YnRlS0NJQWlDSUFpTDRRYStDVjBRQkVFUQpCRUVRaE04N1hUZWhDNElnQ0lJZ0NJSWdM
QVl4QUJFRVFSQUVRUkFFNFlZUkF4QkJFQVJCRUFSQkVHNFlNUUFSRmswa0ZDSzBPTzhmCi9GUkVJ
aUVpQytqL1F0ZlhiUDhUcnU4bjNmKy85UHlDSUFpQ0lOd1lOM0FBRWlFVVZBaGRtZmo3eW56ands
ODJoWmN6VEppZWJaangKL2dwZmN6V0ZoZnM0MmFmdnJSYWZ1TWhzQi9HWCtmZU5KamIrdjg3cmJG
aGovY2hDdHo5K2ZSZlBYUDJQME5mWlRIWGxFU3JyVGhKdgpWMFlDWHVvcWoxQlpmUkpmblBwcXhS
ZGVmMEVRQkVFUS9scG9Ea0JDdmdic1A3SmlQMlNQZmtydFpEbjMwWGplSDEzZ1NoOEhqMWl4Ckhy
SmpQMlRGV2xwSTExVnZNQStjYnlDbjFJRHBZQkttSDB0SVB6SmdLcStjZWhHZlZ2elQ1NmRFa3Fq
dStiUU9vdWZLSDZLaDBJb2sKV2JIYnJXVHRhNHh6Z0tyVi84WFpQck1GYkxjdG4vRUlXY1BOVUY1
ZWlqeWsrN1gybjFqL2lQUlFhRER4Yzgvc3Y2d1ZDOHN3Ni9yZQptaWVRY3VvVzlKdU9WOS9GZG0z
L0l6U1hQTUNhVGR0NHRmT1BOTzNZemhwVElUUGVGUm5xSW5kNU9qdU9uZVpZN25aV1AzQUVQL09J
Cno1bGZFQVJCRUlUUEdzMEJTSGpVaHhzWjkyVjM5RFB1eHZWUktZNVg3K2ZrVUFRSTBoT1FrUys3
Y1YrV2tjZkxlYkd6WjdxQkt6MzgKOE5YSHFCa0hTM0lCZWNrVDN4dDB4cS9EYkZOVlFvcUNvc3cr
eHlPa2hJZ2JqUXpnQmtaR3I3OVBlc3phdnpuekovQy9IeTVocjAzRwo3Wlp4bGU3bjExZWZZdGJx
L3p5M0wzNTl6VHo1bWtyemZ2dU1BK1NVakNkd1dnQ0RTVi9qQytpZjF2NzExanhQT1FYY24yNk9F
NzJGCnYzMTBBMFBYM2NtNTEwLzcxaTZvMlVGVlorQTYyNDlmMzJrUlFvb1MvL2VyeTJ6OUQvTGVB
VGVPV2cvTmxaV2NHR25EUmptTlo2ZTMKbysvTkY2a2hHL250MTJqdWQ0RTduLy9zVW5USDU4NHZD
SUlnQ01KbmplWUF4SHhISHFmdXNnRTJYRS8xMC8vVUtRb1NBV1QrRkZCZwpTUm9WdTF3ejFqbmE5
aXNtRDA4aUgvMkJvd0JrVTdYck1KVzdoNm00QmZoNGpJaU91S2FRbDUyU2hHVE5vcTdUUzJOSkZn
YVRDWlBCClN1UEVYSkZRWHl1RmRnbFRVaEpKU1Fha25DTjRZNDUvcHVNbURKSkV6czRzckRuVktF
REEyMHJkeTYvakJwcGYvem1ORFEzVTFUWFEKNVovSG9aN1NRMlZoRnBJa1lTODhTUFhCUXF5U1JF
bXpUN04vMnZrVFdMZmxJYlphd1ZGV1M3Rk41bUNEUEpWYWEzM045dlhVMTF1TgpKRWxZclZZSzY3
eFhiWHdZVmtDWCt3MUtjdXhJa2tSV1lTVmRnV2o3UFEyRlNKS2RPbThJNkdHZlZVS3lXamt5VVJz
OTlkZmF2MUUrClhzMTFZU2wrbUhXelhFTDR3aDJQOGtQNytobmZoYnpWV0NVcmRxdVZJNjArK2hw
THNGcnRTSktWdXF1dXlNUmJmMHBLQms0YjVCOCsKTmU4cFZIUFhGL3BhcTdGTEJreEpTUmdrQ2Fz
a2NhUnovdGRhNHZmZlRPNWdQNjg5bVRiUm1RQnVZTm5VTUNqRWFkZFJMR1hQc1NFQgpXR1hEYVlO
ajc1elRHZGZLTHdpQ0lBakNaNDJPZTBDTXBKaVRBRWhNTkdGS3ZKbkpjOW1UWjhHRGdWNEFLaDcz
VUhzYmNQa2xXaitLCkJoUE15N0VBVU1PbVF6bVVuRGpPclY5MTRmbjdQSkoxeExXN3Q0WjluaGIy
NG1MSHBuVDJYOWhPVzBjTHp1S24rZUxTQkFpMDg4U2EKclp5M3VlZ2ZDUkljOXVBa24vU2tFbndB
Z1hZZVhMT1Y4dFZsdEhsNjhiVFZveHgxSWNzalJJQ2cvd05PLy9Zc0FPZlBkbkttczVQVApwenZ4
aitvZGdQZ29TYnFEWFdmdW9xbWxoWUswRDhuZFV3NEZ0VHg5enlyTi91bktIMmhsVHpucytzR1Q3
Q29xd0ozL0dqMlQrMFpqCmZjMzJ0ZW9MR05kOEM0OUhabzlkcHZuQ3RaY3Bia3FDbXZ4Y2d0dUtr
RHRPY2RlWlhWaVdQMHVYQXFuMzVaQ0htd3VqWVdBMXp4MXIKSVUrV2VmbTlBWDM5MDlxL0UwTGVY
MU1LN0huczdsbjNWTnFUQjNoeXd5MHp2ak91K1JhSHEreTRaWm56SDRjeEpGNUFsdDJVdWFyWQpu
bXJVWEg5YU12Yy9Vd0ExTlp5ZDV3aGs3dnIyVWI0MWx6dnJQYWhxbUg3WnhWcGdsbXQ1YzVxdC8r
YVVWVXhlTTJwMkhnUWMvTzJkCms5K0VHZXFIRmNiSlM1WUdWcXlHb1RGMHhyWHpDNElnQ0lMd0dh
UHFJRGRscTd6QXpNL1BpdFh1TVZWVjFiRHErbmVMeWd1b2p2K3YKUWkzNFNUVHVhSkluMWc2cm5u
ZWRhdmJQcmxyL0oyVnFyNjY0SGtHMXlvYnFjTFpkRXhsc0tWTUJOWHR2aFZwUlZxYVdWVGpWdlE1
VQpzS2h0STZyYVhaK25RcDdhSGR0YWQ1TmFYTmFrQnFlKzhhZ09VSjF5OEpyMk5Ydm1xVklCdFdW
aytydTJZbFJMUllldS91bkpIOTBHCmkxcmIwcUcyMUJlcmdGcldOaGl6aEZiL3RlS3oxemVXWEdG
VExXVWRWMzA3b2pwdHFObTFudW12d2g0MUc5U3l0bUZWVllPcTA0SmEKMWpHNXNkRmN0b3JZZG1i
dm43NzZxZXJncVdJVkhHckgvSGVocXFxcTJ0OVNvUUlxb0ZiSnc5ZlZSbENPL2hhYzhvajJ3bkhF
cisrdwo2blNnZ2tNdDJGdXNsbFZVcUJVVlZhbzhITDZ1SEhQcGR1Mk45cjhqZHZ1aiszZDZmd1ZW
Vjk3MDcxczdMZ2lDSUFqQzU0MnVwMkFaCkRBQTJxaDdwb09QeEZqcSsxMHZ3K2Yyc1N3VEdaVjY1
SUVPaWpmTm44bWxPdEdFQlhPMG44QU1oMzNIUzMyd2k5L3RoMUg4TzR2bDIKV2JUUjhYY1lDR3JI
OVFrek5nVDJlNnpYUnNKamdJV3ZiMTdQK3JRMDB0WjhtYTI3VDNHcXBZcjFaZ2lQandJcmlMMUR3
Ymd1ay8xRgptVXlkMzFaR0dRSEdDTS9SQndWdlp5dnRYYjY0MFk5anpub0hodlgzVHp0L2dMZEtq
bUxKM3N6cG1rcHEvbXVZYkJ2c2VmR1gwMU45CnRQcXZ1WDJ6MTFldnBiZkVWRGpCeEsyeGJRTVhM
ODV4V1dDTy91bXFIL0RCZXgyVDZhNUw3QzFKZnpyLzBmVTFzalI2ZG44c3ZKalAKbWswbWMyOFRy
dnJ2c3ZZTE44R2xBVTdrNTJMNWFjc2k1bEE0V1pMRkhZNVNhdVZoZG02TXZUWTVjVVVqNXBzUHo4
R0ttd3c2NDRJZwpDSUlnZk41b0RrQWlRNjBjL24wTk1NVHY1TGQ0UHlHTmpXdFRvd2ZuVjN4VXZw
S0xDMkRjU2sxUm1NWnYySWplZ1hDQUg5UTM4T0dZCkFyallkdlJaR3IzbkdGMnliR0xLRlJpV1FG
Z2pyaWtTSXVEdloxQ0dnZjVlQW40Ly9zRDAvUGVWYVhjRE1uMlhWM0x2Z3cveDRBTmIKV00yZk9Y
YW9nUXNoU1B2bURxQ1VadzQyNGdzb0JQcTZxTndwSVVsSHBwOVlaTDRkRy9ESC8rbEZVUUo0V3h2
WWwxTkljOHpOM2twbgpGZW1idHJMWnNwcnFtRWNFR2RNY09HMndmYVdkZzlWMUhOeHBaWHM1ckwx
SlgvKzA4dnZhajVNdncvNFhmc2JoeWtvcUR4L214LyszCkdHcDI4S1kzb0svL2M4VTE2Z3NSQW40
Zi9vQ2Yva3REY0hFUWY4Q1B6eCtJVGdJS0RYSUpPT3JJcDY3ZGk4L25wYUVrbjNJc2ZQVXIKWnNE
RWVqdVVWcjJGVDFIb2EzK0RWOTB3TkRBNFBZQ2FvMys2NmdmYytYVTdNREwvOFVkRW9hdXhoSlZi
ODZtUVJ3aDZxaWgxcEpOegpwSFhlVDdRS2owWVB3MjlkTnA4YjhyWHEyMG51NXUyNHg5UElLeXFp
YVA4QkNncUFzd09MOUxqZUVDZjNmWjN0QjF3VTFMYnhqUlhECk5KUVVVajExRTdtUiszTDNJdWYv
STgyK0VJSE9OOWpsaG1jeTAzWEdCVUVRQkVINDNORzZSREx5ZnRXTXFWSFRVNnRVVlIyVDFleVkK
V0gzL3NOcHkzQmF6ZklINjd0bUthNmR2dldCUks5Nk5Ubm9hT1RkM1hMTi9zbk5xYXN6MHAwRHRq
cG1CMHQ5V3BkcG14RzFxY1cyTApPamtSWnJDalZuWEV4bTE1YXBObjVqU2I3cWF5R1RueWltdlYv
cGpwUE1IdTJvbFl0dHAyOVF5ZDhLRGE1Q3hXODdLejFXSm52VnBWCk1IT0trVmIvWnMwZjZJanB0
MDF0QzZwcWVFWTlwdXVnMWYvWjRwcjFEY3BxOWpYeGlmNk1xS3JzZE1TSk9kVDZtR2xNd3gyMXFp
Vk8KR3hVZEk1cjkwMXUvY0hkOWRHcGFTK3pVTkcyeC9kOTdxbjlxeWhlZzV0WHErNDFPOGxSbFI2
Zjd6V2QybEVaOTQ4Y2RhcjNuK3FaNQo2YzN2N0lodGYwU3RMN0JNMTZYcTJtbDRjOGNGUVJBRVFm
ZzhrVlJWVlJjNGh0RVFJbkF4aU1sc0lqaXFFTG1TZ05tY2pIR0ozdmhpCmlSQUlLQ1NZekppTjhS
NkRGRUVKS0pCZ3dtdzJ4b2tEa1JCS0JFeEdZL3hIb1VaQ2hEQVN0L2twQ3BYMkpGN0s2dURNN28z
ejZKK08KL0ZwMDlIOUI3ZXZKSHdTVE9VNzdFN0ZaYTYvWlA2MzZLVlJuSlpIN3hYckNsWTkrb3Uv
U2lNOUhpYlNhaHJJMnpoUmxMR3JMa1ZBSQpqRVlJS2RFYUpwcy9oZTJEZ045SEpHRTVLY254OTZG
V1hCQUVRUkNFejRjYk1BQVJRS0U2SjRsYzJRYXlHN0RnNm0zbm9WUnhJSFlqCmhYcnFNTjJ4Zy9y
ZU1JK20zdGhEZEgvclBsWnVQVXZIeUFrMnhuc05pU0FJZ2lBSXd1ZUVHSURjRUJGNjJuOUZlODh3
aWN0djUrNk0KcjVHYS9HbWNveGI2Mms4eThLVnZrSEdEQjMvK3pwTjBMYnNYK3pveCtoQUVRUkFF
NGZOTkRFQUVRUkFFUVJBRVFiaGhkRDJHVnhBRQpRUkFFUVJBRVlUR0lBWWdnM0NDUlVJalFZcjRD
UkJBRVFSQUU0YS9RRFp5Q0ZTRVVERUtpR2VPU0NLRXJDVmM5NlVvci92bmthNjdtCnA3LzRFMzlY
Y0lETXY5S2IxdnVhS3luL1JSOG1FNlRldjVPZDl0VFBWZjRvaFVwckVyczIxeE9zZkpURjNaTVIr
anBiY0o5K2p6SHoKZWpJZnp1VHFuMG9rNE9YNDhiZFJibHJQZDdJeldaVXd2N2dnQ0lJZ0NNSmkw
YndDRXZJMVlQK1JGZnNoZS9SVGFpZkx1WS9HOC83bwpBbGY2T0hqRWl2V1FIZnNoSzliU1FycXVl
b041NEh3RE9hVUdUQWVUTVAxWVF2cVJBVk41NWRTTDNMVGluejQvSlpKRWRjL2l2TnB0ClBndzNR
M2w1S2ZLUTd0ZkNMNTZRbDBLcmhOVnVSWkp5NklxQS8yUUprbVRGYnBldzVsVHIya2VHbTFmdzVi
VmZJdGhXeWt2dkRuemkKM2Y1THl6L0piQUhiYmNzWCtSRzVFWnBMSG1ETnBtMjgydmxIbW5ac1o0
MnBFRy9zVHpYVVJlN3lkSFljTzgyeDNPMnNmdUFJZnVZUgpGd1JCRUFSQldFU2FBNUR3cUE4M011
N0w3dWhuM0kzcm8xSWNyOTdQeWFFSUVLUW5JQ05mZHVPK0xDT1BsL05pWjg5MEExZDYrT0dyCmox
RXpEcGJrQXZLU0o3NDM2SXhmaDltbXVvUVVCVVdaZlE1TVNBa1JOeG9ad0EyTWpGNS9uNjVYU3NZ
VE9DMkFRZnZ0MmFHUWdqTHIKSEo4SUlVV0p2MzJUNjE5ZEgrTnF2dk4wSHJKYnhsYjhHTGNsUVBL
bUxKd0ZNbTQzN0hoc003SFBkSm90LzZxTVJ5bmF2WnVkajl0WQowSTdWOEVubjEvcjl6TTNNazYr
cE5PKzN6eklBMGQ0LzhRVjU3NEFiUjYySDVzcEtUb3kwWWFPY3hyT0JxU1g2M255UkdyS1IzMzZO
CjVuNFh1UFA1enk1RmQxd1FCRUVRQkdFeGFRNUF6SGZrY2VvdUcyREQ5VlEvL1UrZG9pQVJRT1pQ
QVFXV3BGR3h5elZqbmFOdHYyTHkKOENmeTBSODRDa0EyVmJzT1U3bDdtSXBiZ0kvSGlPaUlhd3A1
MlNsSlNOWXM2anE5Tkpaa1lUQ1pNQm1zTlBaRlR3T0grbG9wdEV1WQprcEpJU2pJZzVSekJHM044
TlIwM1laQWtjblptVFozZEQzaGJxWHY1ZGR4QTgrcy9wN0doZ2JxNkJycjgrZzRWVDVaa0lkbnRX
Q1VyCjFkNEk5RFZnbDZ6WXJSTDdHbnUwR3lBTUs2REwvUVlsT1hZa1NTS3JzSkt1d0hUK1FHY2Rk
a25DWkVvaXlXVEF2cTl1eGhuc3Z0WnEKN0pJQlUxSVNCa25DS2trYzZad3V3T3oxTVdQZnZZOEN3
R3Exa2d3a3BHemdQcXNESExYOHcwTnB1dkpQR2gzVFZiSVlDblU3clZqdApkcXlTblVaZmhKNjZu
VWlTSGJ0VklxZTZhOEg1ZXhvS2tTUTdkZDRRME1NK3E0Umt0WEtrMmFlalB2cUV2TlZJa29UVmFx
V3d6bnROClhHdi96TTFNN21BL3J6MlpOcEVzZ0J0WU5qWE1DWEhhZFJSTDJYTnNTQUJXMlhEYTRO
Zzc1M1RHQlVFUUJFRVFGcGVPbTlDTnBKaVQKQUVoTU5HRkt2Sm5KYy9HVEo1dURnVjRBS2g3M1VI
c2JjUGtsV2orS0JoUE15N0VBVU1PbVF6bVVuRGpPclY5MTRmbjd2T2dCclVaYwp1M3RyMk9kcFlT
OHVkbXhLWi8rRjdiUjF0T0FzZnBvdkxrMkFRRHRQck5uS2VadUwvcEVnd1dFUFR2SkpUeXJCQnhC
bzU4RTFXeWxmClhVYWJweGRQV3ozS1VSZXlQRUlFQ1BvLzRQUnZ6d0p3L213blp6bzdPWDI2RS8r
b3ZnSEl2ZC9iUzRIYmpXelp3UU4zSkVEcVBXUmEKWk53cnluamF0azVYR3pjbFFVMStMc0Z0UmNn
ZHA3anJ6QzRzeTU5bDhpUjE4R1BJZExydzlBN1NMN3NZS3QzQjYxTUhzSDJVYjgzbAp6bm9QcWhx
bVgzYXhGcGk2MXFOVkgxSjV5dW1nM0hGczRxQytoOE81TG9xZi8rYlVJZTdjK1JmQ3pQYkNNdGE2
M2NoNXoyQmJsVURxCmR3clppeHUzeGNrL09lNWNjUDdVKzNMSXc4MkYwVEN3bXVlT3RaQW55N3o4
M29ETyttZ3pydmtXSG8vTUhydE04NFdyTDZOcDdCOGQKekNtcnBxNUVOVHNQQWc3KzlzN0piOElN
OWNNSzQrU1ZId01yVnNQUTFHQk1LeTRJZ2lBSWdyQzRkRTVITndNdXRqdVhUMzkxU3pHUApmQ1Va
aU5ENlh5OEQwT3g5bTdXREFES3YvTUhEUTVrYndMeVZZOTkyOGkrLzNrWE41Um9PbkttSnJ2OU9H
YjE3aTBqVmltdjJ6VWhxCjJ0MnNYd0VPWnhzbmRtWUFrTEZ4Q3dEKzF0L2dBcktEdlRUODJ4RkN4
bVZjVkFBYStFRFpUL0RVSzdqSm8vdTFJcUxEZ1ZUZTZHN2kKcC84QkppQjV5NU1jM3JLUjh6VXV0
cGRVc0hQRC9HNGZOcWRtY0tDbGpQS3R0WGdEUmF6Q3l4NFphcnQzby9lZGRHTWprRjNyNFNjVApa
N2szdk8zaEEwTTZUV2YvbFEwWnlaQ1l5SWROKzBuZkpUTXhtb09wQTlnazBoeXc2N0Vmc25Udkpy
NzhwV1hZSzZxd3JZMG05NzgzCmQzMVdtV0hEdzd0aDF6WisyVmZFd3lOdmNaUTh1citXTXQzQk9m
TXZUSEphSmlWVkRseTVIcFJLTUlkOHZBWFUvL2hwMGlaZjVyaUEKL0FrcGQ3SFJBcGNBTUxJcTdX
Nitab1BKOC85NjZxUEptRUphV2dyaHRUYTQ1amFpdWZmUGZQUTA3bVBiQVRmT2ptRXk1bGc5Y2Vu
Ywo3V2pGQlVFUUJFRVFGa0xYWTNnTkJnQWJWWTkwMFBGNEN4M2Y2eVg0L0g3V0pRTGpNcTlja0NI
Unh2a3orVFFuMnJBQXJ2WVQrSUdRCjd6anBiemFSKy8wdzZqOEg4WHk3TE5ybytEc01CTFhqK29R
Wkd3TDdQZFpySStFeHdNTFhONjluZlZvYWFXdSt6TmJkcHpqVlVzVjYKTTRUSFI0RVZ4TjVoWVZ5
WHlmNml6T2tuRlNtampBQmpoT2ZvZzRLM3M1WDJybXZQaXlkditRRk9tOHkydzNWVS8yUWJaTmZ6
M1hWWApEMlJtWHg5ZzZTMHhQVXd3Y2V2azMvNlRyTjc4R011ZnFtSndKRWp3dDkzc2pTNDBtWjNN
dlUyNDZyL0wyaS9jQkpjR09KR2ZpK1duCkxicnFBMERLUGRSbVE5bXhSdDU4UFI5TDJWT3NTOUNi
ZjlyY2QxL012djBiSGptQWpRTTBkUHJwckNwRXpxNG5LelZoa2ZLSEdRTXUKWG96L2dBRmQ5Vm1R
dWZlUFBnb25TN0s0dzFGS3JUek16bzJ4MXc0bnJtakVmUFBoT1ZoeGswRm5YQkFFUVJBRVlYRnBE
a0FpUTYwYwovbjBOTU1UdjVMZDRQeUdOald0VG93Zm5WM3hVdnBLTEMyRGNTazFSbU1adjJKQUJP
TUFQNmh2NGNFd0JYR3c3K2l5TjNuT01MbGsyCmRaTGFzQVRDR25GTmtSQUJmOWxueGJZQUFDQUFT
VVJCVkQrRE1nejA5eEx3Ky9FSHBxZmZyRXk3RzVEcHU3eVNleDk4aUFjZjJNSnEKL3N5eFF3MWND
RUhhLzkvZS9VZFplZGYzb24vUENpQ1RabENDaVcyaVRkS29oN2lhbVRhcGx4eC9SR2Y4Y1JQcmti
U05SMjhDN1VHWApKRlZYZ05wTEpPc21WV2hsRWMwS1pQVjZJYTJTSm9CR2FHOG1OWXZjdG1HVWVD
eFJvU2NiRzZnR0F6V015QlIyTWhPWmdabXNmZitZCkFZWUVabThDZnEzNmVxMDFLMlIvOXZOOHY4
L24yWC9zOTM1K3ZldjZKSXZ6MGRzZlRIZTFMOVZkVzdQaWhxWTBOZDExOUE1UExhOUoKZTVKLy9i
ZWQ2ZXVyWnZ1ajYzTEx6SG5aMEgzMFYvYStMU3R6eWVWWDVvclc4M1BQOWhkK21aMmNQL3I4Nm1U
eDlabTFOT2xjY3MyTAp2aDZmY1BtQnZYazJ5ZDNUNTJUTlk5dlQzYjA5NnhiTnlkSzA1bmQrb3lW
RHZjOGxTUzYrNkRWcHlmNTgrKysva01WSm50MjdlL2pICjlvRXRtWFhGMWVrNk5EV3o1OC9QL0Z0
dnk5eTVTWjdZazRFRytqTnNZcTcrK0xKVWJwNmU5eTlPRnMyNC9Hajc2NDJmcEsvYWs1NXEKVDNx
ZTNaZktNMDhQLzd0NmJJL0c3Ri9MWmZuY3N1bVpjL201dWZ6bVNsWi82cjFIK25mcTR6Zm45UjNK
NHBVUHBidXZMN3NlKzNMdQo3VXIyN2RsN0V2MFp5MUNxUGQzcHFmWms5N1A3a21mMnBxZmFrKzZl
NnZBeG1qcjdwNzZCUEh6TFczTDFiWjJadTNwVDNqNWxmOVl0Cm1wZDdqbHhFUGpGdm03VWdsVGwv
bWczZEE2bHUrWEp1N0VvK2V0VWxEZFlCQUU2eldoMjlQMWhaeTZkeTVHLzYrc3JSNHNGS2JjYW8K
MnRyZCsyc2J2OUkrNnYxemE5OTVZdGt4eXcvL3RkYVdmZWZKNGZWL2YreDYzZmxWbHRlU3ZPQnZi
dTNKd2FQdjJiMXBaYTM5bUhwNwpiZUhxamJYZWtmcmV6YXRyMDBmWDIyZlgxbS9iZjh3NFQ2NWZj
c3dZc3hldXJ1M3VQMXJ2ZjNMMVNHMUdiZE94aXg2ZVJXMXVVc3ZDClI0NjdIU2RhdnJKOCtuRzJi
M3B0YmVYd20vYlhWczl0UFZxYlByczJkL3J3LzgvdDNGbXI5VmRxTTQ2My9MYmVJMlBVNjgrd25i
V0YKcmFsbHhzb1h2RjVuL0ZwdmJYbjdDOGRQTFpsZDJ6WnFIOVh0WCsrbTRUbk9XRjNyUDZadzZ1
UHYzN3k2MXZxaWVtckxOdmVlUkg5Two0TGo5SDE3SHB0NFQxWS9kUHk5bC9jczNqMTYrdDdaMlZJ
OW1yOXo4d3ViV3FRTUFuRDRGSGtRNGtPb3ovV2x1YVU3L2diNE1QVDh1CkxTMlRSejFrc0Y3OWRC
bEt0ZHFYY2MwdGFabDR2RXRmaHRKWDdVdkdOYWVsNVFUWGVRd05wRzhvYVo0NDhmZ1h6d3dOWkNB
VGM3elYKOTIxWmtVbVhyOCttM2dkT2ZINytHTXNmR2I4L2FXNTU4ZmdEZmRYMHB6bVRqelAzb1lH
QlpPTEVaS0F2ZmYxSnkrU1c0OHkvWG4vRwpOdGI0RGF1ei9RUFZuZ3kybkpPVzQ5UlBlZnlSM3A1
dzM1OWlmOFlldXBIOWMrcXFQZDBaR25kMnpwbDgvRzJzVndjQU9CMEtQZ245Cmw5T09CMi9QSjla
dVRlK3FWZWxLc3JEenlkejZ2c2J1ZmdVQUFMOW9CSkNmc3A2dEcvS1BXL2Rrd29RSnlhRkRPZnZT
ZDZYajBuUHEKTHdnQUFMK0FCQkFBQUtDWWhtN0RDd0FBY0RvSUlKdzJRd01ER1RnOXp4LzhtUmdh
R3NqUUtjei9WSmV2dS82ZmNuOS8ydlAveno0KwpBRkJHd1FBeWxJSCt2Z3c4UC9MdjUwKzJ6bjl1
ZmZuQ3RPWTBmMnpkTWMrdjZONXdUK2JOdXlVUDcycnNxUlkvZFVNbitoTC9YUDc2CnN1WmM5bjl2
ZVlrcnJyUDgwS2x1Ly9IN2UvcU1OZitoN05xeUlmZXN1Q3NyMWp5YzQrM0tvZXIyckZseFYxYmM4
M0M2ajlQZmV2VlQKN3o4QThQT2liZ0FaNkY2WGprKzNwZU9PanVHL3hSMjVadmt0ZWZDcG51RTNQ
TDhydDkvVmxyWTdPdEp4UjF2YUZzL0wxaGM4d2J6NgoxTHJNWER3K3piZFBTdk9mTjZYcDArUFR2
SFRGa1FmOTFhdi83UFZrVVZOVDd0bnhzL29TUGRiNEExazNyeTFOVFczcDZHakxOYmM4CmVKd3Zx
UFhtZjNxMnI2VTFhWC8xMmNmY1FuYjhyeVJMbHk1T1pWL0RqN1gvcWMwdlF6c3liM3h6L21iYmlU
OVpVMDV0aEJNdXYzM1YKQjlNMGM4MHBmYWFQMTkvVDdjWHpIOHFHUmUvT2haZS9JL2R1K2Rlc3Yv
N3FYTmc4TDhjOEszSmdhMmFkZlVtdXYvL2J1WC9XMVRuLwozWGVsSnlkUkgzTjhBT0FYVGQwQU1u
aWdPMTJwcE91NXJ1Ry9RMTNwL1BIaVRMLzNuWGw0MzFDUy91eW9WbEo1cml0ZHoxVlNPYlEwCmY3
bGx4OUVWUEw4am43ejMvVmwxS0dtZFBEZXpKNCs4UHI3QitrdHdvbE5WQnZyNjB0ZDM0bk04QnZv
R2N0enEwSjUwSmVrOThOTG4KMUlnVHptL004Y2ZsdDM5L1VSYTBWOUxWVlVubjRsdnp0UmYreEZ4
di9pZTVmY2Z2YjB1dXU2K1dEYmQySFBNRitaeHBIOHp5MWlUagpteHRiK1NuTXI5NyszYjdxRTFt
YXVYbm5KY2Q3RU10WithMXJMODIrbHp6SnNaZWYrcnMzSnF1dXo4b3QxWmU0L3VQMzk2aWhEUFQx
CkhmL3oyNUFUemI4LzM3MnRLOU5YYjh1R0ZTdnlRTyttdEdkcEhuemk2SGJzK3VwZlpsVm1wUElQ
OTJYRDdzNmthMDcrYm10ZncvV3gKeHdjQWZ0SFVEU0F0cjUyZFI5N1FucVE5blIvYW5kMGZlaVJ6
SnlSSkpkK3I5aVZuVE0yeUd6dVBXZWJ1VGYrVXcxOVBobjc4TDdrNwpTVElqSzIrOE15dHUycDls
WnlYNXljRU1OVkN2YTJCN2JtaHFTbFBiTlZtelpYc2VYSFJOeGpjM3AzbDhXeDRjT1Zka1lOZWpt
ZGZSCmxPWkprekpwMHZnMHpid3IyMGQ5L3psYWI4NzRwcWJNdk9HYXRNMjhKMzFKcXRzZnpab3Zm
Q2xkU1RaODZXL3k0THAxV2JObVhiYjIKbk1SWHZiNGRXVEh2bWpRMU5hVmozdTI1NS9aNWFXdHF5
cUlOM1hYblYzLzhjYm40cmUvTGxXM0o5Q1dyczdDOWt0dlhWWTRNWFcvNQp1dXR2cEwvYjcwbFRV
MVBhMnRveWI4MzJGMno4WURJbDJkcjE1U3lhMlpHbXBxWmNNMjlGdGxhSDE3OWozYncwTlhWa3pm
YUJKRHR5ClMxdFRtdHJhY3RkSWJ4cnBmNzM5TzZ3Nzk4N3FUT3ZDMzgvRkp6aUU4SXJYWHB0UGRy
eittTmNlWG5STm1qbzYwdGJVbG51MkR5VzcKMXFXanFTMGRiVTI1NWNFZGRaYy80cHhwV2Q2ZXpM
bnprWk0raFdycy9pYTdIcjBuSFUzajB6eHBVc1kzTmFXdHFTbDNiVG41WXkzSApuMzlMWnUzZG5m
dXVtem95bVdxNmtyejhTQXdheUxjNzcwN3Jrby9uMG5GSnptdlA4dmJrL205K3Y4RjZ2ZkVCZ0Y4
MERWd0RNakhuCnRFeEtra3lZMEp6bUNiK1N3NzlsSC80VnZMKzZNMG15N0FQYnN2clZTWjc3ZkI3
OThYQnhYTXZaYVUyU3JNcmxkOHpNb2dlK2tsZisKVG1lMi9mSHNURzZnWG45NkYrYVdiUnV6SUoy
NS92SkxjdXZUVjJmVDVvMVp2dkREZWRXWjQ1THFZL25naFZmbXFmYk83Tzd0VC8vKwpiVm1lT2Js
azBxSjBKMG4xc2J6bndpdXo5UHdsMmJSdFo3WnRXcHUrdXp0VHFmUm1LRWwvencvejdXODhrU1I1
Nm9rdGVYekxsbno3CjIxdlNjNkRSQU5LZFJaTmVteHNmZjBQV2I5eVl1Vk4vbEZrM0wwM21yczZI
MzNSZTNmazFOSDcxMGR5OE5MbnhJOWZseHZsejB6WG4KdnV3NHZHL3FMRjkzL2ZYNm0yVGloYiti
YmRzcXVibWprZzFQdi9nd3hjc21KYXZtekVyL08rYW5zdm1Sdk9IeEc5TjY5c2V5dFMrNQo0RzB6
TXp0ZGVmckFZSkx6OC9IN04yWjJwWkl2ZkhkUFkvT3J0MzlIREd6L1doWW51Zm45Ynp6aG5wcDYz
VzI1N3RLempubnR6WCs0CklITzd1bEpwdlQ3dmZ1MjQ1SUkzNWFyV1NycW1MTW1IMnkrdXUveFJr
L1BPajg1TlZxM0tFeWVaUU1idTc2NHN2WEpXWHJkMlcycTEKd2V5dWRPYWlKQ2M0bGplbUU4Mi81
Wnp6Y3ZpWTBZYmx0eWVabnQ5NjNlRlhCck52ZHpKbDR1RkRsdU16NWZ4azM4RTBXSzgvUGdEdwpD
NmJXZ01yNkdiVjhLc2YrZlc1aDdjbUR0VnF0Tmxqci9PdldXajZWMnZUL2QxbHQ3bWVHNjlQWFYw
YVdIcXh0Kzg3eTJvelB2V0Q1Cnp5eXA3V3lvM29qKzJzcjIxS1l2My9TaXl0Nk5TMnBKYWpNV0xL
c3RXN0trdG1UWjh0cUM2YWtscmJWTnZiWGFrMnRuMTVMWnRTZEgKciszSjliV0ZTOWJYK28rOHNx
MDJQYWt0ci9TL2FQMTFaN1p0WlMxSmJXUHYwZGMyTFV5dGRkbm1odWJYeVBqRDI5QmFXNzF4YzIz
agoyb1cxSkxVbG0vYU9la2U5K2Rlcm43aS9vMVdXdGRkYWwyeCt3YXU5dGVYdHFjMVl2ZTNvUzRQ
YmFqT1MycEpOKzJ1MVduOXRlV3RxClN6WWYzdGpoc2RxWGpWN1BpZWZYV1A5cXRiMlBMS3dsMDJ1
YlQzNFgxdlp2WEZKTFdtdVA3SzNWYW5zZnFTV3ByWDd5Slh3V0tzT2YKaGVXVjN2cHZQbzdqOTNk
L2JmbjAxSkxwdGJrTEZ0YVdMRnRXVzdac1phMnlmL0FsalRHV0p6c1hETTkvOC81UnJ3N3YzNlA3
cTcvVwpPZnZvNTd0K0hRRDRaZFBROWF6anh5ZEplMWIrd2VmU091NG55Y3QrUFcrNDZJSk1USkpE
bFh6eDZVb3lvVDFQUFQ0blQ1M1ZudFpEClhlbDg3SUgwWEhWcFdycS9ra3UrdWo2UGZId3c5MDBa
eXZiTmQrV1NyOTZjSFBwbTl2UW5yNnFPWGIrZ29Vc0hCbk53WDlMeHByWVgKVndZUEptbk5XNjU0
ZlM3SW9SeEtNdUdtUi9MT1Q3d2lyMjlKZm56b1FKTFhaUFF3RXkrK0tyZk9IL1ZDMzRIMEpqbVl3
V1I0cTQragpMOXUzL0s4OE8vN2lUTHYwdkJkVmZ6S1FIUDRadWJvL3ljc2JtMS85OGF0NWFOSGRh
WjB4Tzk5ZXRTSmZQL1BNekdoUGJ2N0xmOHhOCjA2NGJmbmU5K2RmZHZoUDN0MUZubmpXcXcrT2E4
OHJSNjA3eXpET2pHblFTODJ1b2YwbCsrTjNOaDRjNzhTNDhnY2x2L1VpV3Q5K2MKZDl5NUppdjdy
MDltck0xL3YvZ2tWNUlrWnc3L3VuOXc4SFRlYTNaeXJscXdQcDB6OW1mbkQ1N093TE43OHNCdGN6
Sm56NituOXBtTwowelJHWHg1ZU5ETlgzOWFaMVpYOXVlN1MwY2NtUjQ1b2pIcmxSOTlQcGx3MnZz
RTZBUERMcHU0cFdFUDdIczJkMzFxVlpGLyt1ZkpRCmZqQnVhaTQ3SEQ2ZTc4NktMODVLWjVJY2Fz
dXErWU41OE8zdEdiNEM0Ylo4Wk8yNi9PaGdYNUxPdk9QdWorWEI3ZC9QZ1ROZVBuTEsKVlRMK2pH
U3dUcjJ1b1lGVWUzWm5ieVhaczN0bnFqMDk2YWtlUGYvOTNLbHZURkxKcnVmT3padmY4NzY4NTkx
dnpmbjU5OXgveDdvOApQWkJNZmRmMVNSYm5vN2MvbU81cVg2cTd0bWJGRFUxcGFycnI2QjJMV2w2
VDlpVC8rbTg3MDlkWHpmWkgxK1dXbWZPeVlkVEYzbjFiClZ1YVN5Ni9NRmEzbjU1NVJ0d2lhT0hW
NmxyY25WNS9ia2R2dldaUGJiMmpMMVV1VGkxN1cyUHpxamQvOTJGY3lwNUxjK3FuUDVjNFYKSzdM
aXpqdno1Ly9Yd21UVjlmbnE5bXBqOHgrclhxZS95VkNxUGQzcHFmWms5N1A3a21mMnBxZmFrKzZl
NnZCSlFBTjc4MnlTdTZmUAp5WnJIdHFlN2UzdldMWnFUcFduTjcveEdTNUxtdkw0aldienlvWFQz
OVdYWFkxL092VjNKdmoxN2oxNHJNY2I4R3VwZmt0ZTlwU05KCmJ3WWIrRWk5Mk9UODBlZFhKNHV2
ejZ5bFNlZVNhMTdTbmFnR0R3eC9EWC9seTAvbWd2eDYvZDJTV1ZkY25hNURVek43L3Z6TXYvVzIK
ekoyYjVJazlwK2wydlFONStKYTM1T3JiT2pOMzlhYThmY3IrckZzMEwvY2N1WWg4WXQ0MmEwRXFj
LzQwRzdvSFV0M3k1ZHpZbFh6MApxa3NhckFNQXYzVHFIU0xwL2NIS1kwNk5PbnBxVmExV08xaXB6
UmhWVzd0N2YyM2pWOXBIdlg5dTdUdFBMSHZ4NlZ1ZmFxMHQrODd3ClNVKzkzeCs3WG5kK2xlVzFK
Qy80bTF0N2N0UVpLTHMzcmF5MUgxTnZyeTFjdmJGMitFU1l2WnRYMTZhUHJyZlBycTNmdHYrWWNa
NWMKditTWU1XWXZYRjNiUGVvc25QNG5WNC9VWnRRMkhidG9yVGE0dDdaKytjTGE3Qmt6YWd1WHI2
MnRuSHZzS1ViMTVuZkM4YXViUjgyNwp2YmFwdjFZYlBLWWZSL3RRYi80bnF0ZnRiMytsTnVORjla
SDU5TlpxbGVYVGoxT2JYbHRiT2Rxay9adFgxMXFQczQ1bG0zdnJ6cS9SCi9nMCt1WGI0MUxTTm8w
OU5PeG03YTNPVFdoWSs4aEtYcjlXMnJad3hmTHJmeVp3ZFZhZS94NjlQcjYzZDl0Sk84MnAwL09X
YlI2Ky8KdDdaMmJ1dlJmYlB5eGFmaGpWMEhBSDZaTk5WcXRkcHB5REZqR0VqMW1mNDB0elNuLzBC
ZmhwNGZsNWFXeVpsNFJxUDEwMlVvMVdwZgp4alczcEdYaThYNi9Ia3BmdFM4WjE1eVdsaE9jWGpN
MGtMNmhwSG5peE9QL0FqNDBrSUZNekhGWGYwUmZWblJNeXVldjJaekhiN3JzCkpPYlh3UGoxTkRE
L1UxcC9JK1AzSjgwdHgxbi9TTzJFdmE4N3Yzcjk2OHM5MTB6S3JGZXR6ZUNLYTA5NisvcTJyTWlr
eTlkblUrOEQKbVhhQ004WEcxcDFGVGVkbjNaSk5lWHordEpleWdoTWFHaGhJSms1TUJ2cUdlemk1
NWFmNnJKQVRxZlowWjJqYzJUbG44dkgzWWIwNgpBUERMb1VBQUllbkxQVE1uWlZhbFBhbDBKV2xO
NTg3SDhyNExmQkVyYVdESG1qUy85dnFzM1RtWWF5OW83Q3Y2amdkdnp5ZldiazN2CnFsWHBTckt3
ODhuYytyNkw2eTczUWoyUDNwSnpyM3dpbTNzZnlHVXZLY0FBQVB4aUVFQ0tHTXFPeC80cGorM1lu
d2xudnladm5QWmYKYzhIa244VnYxT3g2N09IcytkVzNaMXFENGE5bjY0Yjg0OVk5bVRCaFFuTG9V
TTYrOUYzcHVQU2NreDYzWjh2RDJmcnlONmZqWXVrRApBUGpsSm9BQUFBREZOUEFnUWdBQWdOTkRB
SUVHRFEwTVpPQjBQc0lEQU9DWFVNRlRzSVl5ME4rZlRHakp4RE9HTXZEOHVCZmM2YXBlCm5lcjJS
M1BmMnZWNWFuOS96cDc2M3pMM2hvNFRQYnJ2R0xzMnJNalN2OStWNXVia2duZmVrQnM2TGppcCtp
K1M3ZzByOHRtLzM1VmYKZStQMC9NbDEwMDdpYmxGOVdkRTJLVGRlc1RiOUs2NDkyV2NaQWdBd291
NFJrSUh1ZGVuNGRGczY3dWdZL2x2Y2tXdVczNUlIbitvWgpmc1B6dTNMN1hXMXB1Nk1qSFhlMHBX
M3h2R3p0UDNZZDFhZldaZWJpOFdtK2ZWS2EvN3dwVFo4ZW4rYWxLNDQ4Nks5ZW5XUm8xNE01Cis1
SXI4NFh2SldjM0o5L2I4djMwTmZoci9QaGZtWkpmdStoWDA3OXBjVDcvblQwblhSL0xqblh6MHRU
VWxvNk90alExTmFXcHFTMHoKNTkyVngzYWRuc2Znblc3alh6RWxUeTFkbkp1WFBIYlNuNitXMXFU
OTFXZi9GRzV4MjVORlRVMjVaOGQvenA0QkFKeE9kYjlMRFI3bwpUbGNxeVhPalh2eHhWenJ2ZlNq
clA3NDVWNzJpUHp1cWxaR25ueWRKSlgrNTVlTlo4ZWFSVzVVK3Z5T2Z2UGY5V1pXa2RmTGNYSkds
CnVidWFaSHdhcXpkc0tBTjkvUm5YOHRLZmdURFFONUJ4eDN0R1JjUDF2Z3ltT1MwdHgzL095Tmp6
cTFQdi8xR1NKZm5HZmZNYk91b3gKMm5uVHJzMzhhY24ybHoyUURjKyt1TEgxNm1NNSs3ZC9QOHZt
UHA0NVM4L1B5clczWmtMM2xsdy9aMDVXTGQyVG5ZT2Z5ZWk3M1E0TQpqUFJuN0FlbFpHaGdJRVBq
WHZnOGxmcjdkK3orRHp2bnNtdXpiUFgwZEM1NTJVbCtUbHB5M1gyMVhIZmlXYi8wejkvUW5uUWx1
ZVpBCmcyOC9ibi9xYTZRL0FBQS9iWFdQZ0xTOGRuWWVlVU43a3ZaMGZtaDNkbi9va2N5ZGtDU1Zm
Sy9hbDV3eE5jdHU3RHhtbWJzMy9WT3EKSS84ZSt2Ry81TzRreVl5c3ZQSE9yTGhwZjVhZGxlUW5C
elBVUUwwUnV4NjlKeDFONDlNOGFWTEdOeldscmFrcGQyMFovbjE3K0JmNgpqcXpaUHBCa1IyNXBh
MHBUVzF2dTJ0QjlaUG1CWFk5bVhrZFRtaWMxWjN4VFUyYmVjRTNhWnQ1ejVCZnl4dXVUTW1uUytE
VE52Q3ZiCit4cWJYLzM2UURiY2RVcys5aGYzSjNrNHQ5MXlTK2JkY0VQdWVuaEh3OXQzMklHRFkv
ZnhlUFdIRjEyVHBvNk90RFcxNVo3dFE4bXUKZGVsb2FrdEhXMU51ZVhCSEpsLzgxbnowaGc4a2VV
cytlTzIxdWU2bXo2UzNzakxKcHV3Wk9SSlczYkltSFUxTmFXNmVsRW5ONDlOeAp5NXIwSEduKzl0
elExSlNtdG11eVpzdjJQTGpvbW94dmJrN3orTFk4T0hJVXBWNy82dlYvb1B1eDNINURSNXFhbW5M
TnZFVlordGVkCnlaU3hlekhhd1BaNzB0VFVsTGEydHN4YnMvMUY5WHJ6RzB0MSs2Tlo4NFV2cFN2
SmhpLzlUUjVjdHk1cjFxekwxcDZoaHZwemNwL3YKNC9jSEFLQ2tCaTVDbjVoeldpWWxTU1pNYUU3
emhGOUo4MGpsOEFXNS9kV2RTWkpsSDlpVzFhOU84dHpuOCtpUGg0dmpXczVPYTVKawpWUzYvWTJZ
V1BmQ1Z2UEozT3JQdGoyZG5jZ1AxK25abDZaV3o4cnExMjFLckRXWjNwVE1YSlJrWWlTOFh2RzFt
WnFjclR4OFlUSEorClBuNy94c3l1VlBLRjc0NmNhbFI5TE8rNThNb3NQWDlKTm0zYm1XMmIxcWJ2
N3M1VUtyM0RhMmlnL3NFTHI4eFQ3WjNaM2R1Zi92M2IKc2p4emNzbWtSZWx1WUg3MTYrTnkzbTll
a2N0ZVB5bkorV203N0xLOCtXMXZ5MitlUDZteDdUdEZiLzdEQlpuYjFaVks2L1Y1OTJ2SApKUmU4
S1ZlMVZ0STFaVWsrM0Q1OGxLdC84R0JHZHVJbys0NzhxLzhueVZYTE83TnQ1OTdzcm5SbTMrTHI4
NlhEWDlBblhwaGJ0bTNNCmduVG0rc3N2eWExUFg1MU5temRtK2NJUDUxVm5qcXZmbjNyOXJ6Nlc5
NXgvUlc0K2NFMDJidDZjRDAxOU9rdTdra3hxdkFjVEwvemQKYk50V3ljMGRsV3g0K29XSEtlcnR2
N0gxOS93dzMvN0dFMG1TcDU3WWtzZTNiTW0zdjcwbFBRZUdHdXBQSTUvdnNUK2ZBQUJsTlhndQpS
a3VTemx5OS9PeWpMNTIxTUgvd0c1T1RET1hSLy9tRkpNbUc3ZitRaS9ZbVNTVmYvSmR0ZWQ5Vmx5
WXRWK2IrOXk3UFgzenR4cXg2CmJsVnVlM3pWOFBMZlhKS2RDK2JuZ25yMXVuT2JsS25Ua3h2Zi84
bWN1ZUR5L05xdnZqd2R5MWFtL2FMaEU1WEduZk9HWE5hYVBKc2sKbVpqenByNHgvN1U5K2Y3STBq
c2UrV0s2TWp0UDNqYy93MStuTDhpWG4xeWZ6LzV0MHR4QXZlZTdYMDlua2huOU83UHUvN2tyQXhO
ZgpubWY2a21SZGZ0aDNhODVyR1h0KzllYWZqTXZVanZmbHRlZnR6STIzdlN3ZnZQYllDNkRyYmQr
cGFybGdXbTdidUNSTHIxeWQ3ZFg1Ck9TL2JjM01sV2Yza1RUbjZUTDJYSlpVYjg1NXIxaWRQZGFh
cmtreGZ1RDV0aCtzVEp1Ukg2Mi9OSlRkV1JnV1Z3MS9RSithQ3FXL00KNjZjazA1ZHZ5Z00zVEV1
U1RMdnNyUTMxcDE3L2V6c1hweXNMc3Z1K20zSmVrbHkySXB1ZS9YNnVXSDBTVFpoNFRxWk9QU2VE
RjdVbgpMN3BNbzk3K0c5dDViNzB1ZDc3MXNqeTFxak5YTDFxV0d5NTk0ZVh0OWZvejl2NnYvL2s4
aVQ0QUFKd0dEUVdROGVPVHBEMHIvK0J6CmFSMzNrK1JsdjU0M1hIVEI4QmZoUTVWODhlbEtNcUU5
VHowK0owK2QxWjdXUTEzcGZPeUI5RngxYVZxNnY1Skx2cm8rajN4OE1QZE4KR2NyMnpYZmxrcS9l
bkJ6Nlp2YjBKNitxamwyL29IbnN1U1dUYzlXQzllbWNzVDg3Zi9CMEJwN2Rrd2R1bTVNNWUzNDl0
YzkwSkJuTQp3U1RQUERPUUhPZnFpY0ZEQjVLOEpxT0htWGp4VmJsMWZtUDEvWU1IazdUbUxWZThQ
aGZrVUE0bG1YRFRJM25uSjE2UjE3YzBNcjk2CjlXRkRnMGx5TUlQSkMrN0FOUGIyalZidjZvNFQx
U2UvOVNOWjNuNXozbkhubXF6c3Z6NlpzVGIvL2VLSm81WTdtR1JCRnQveDRieDgKOEk1TWV0WDVP
Vy95U0wzbjRaeC94ZnV6c0hOejl0NzNoclJrZHhaT2VtMk8vZWdONXVDK3BPTk5iY2NiZmN6K0RO
YnAvOU1IazZUNQptUDEzNXN2ck5PS2tOTGIveHRSM0lMMDUvdDRkTmxaLzZueSs2MzQrQVFES3Fu
c0sxdEMrUjNQbnQxWWwyWmQvcmp5VUg0eWJtc3NPCmg0L251N1BpaTdQU21TU0gyckpxL21BZWZI
djd5QVhwdCtVamE5ZmxSd2Y3a25UbUhYZC9MQTl1LzM0T25QSHlJeitDano4akdheFQKcjJ0Z1My
WmRjWFc2RGszTjdQbnpNLy9XMnpKM2JwSW45b3o4V04yYzEzY2tpMWMrbE82K3Z1eDY3TXU1dHl2
WnQyZHZCcEpNZmRmMQpTUmJubzdjL21PNXFYNnE3dG1iRkRVMXBhcm9yZlEzVXo1MzZ4aVNWN0hy
dTNMejVQZS9MZTk3OTFweWZmOC85ZDZ6TDB3TU56Sy91Ci9KTythalU3ZCs5SjhteDI5L1NrdTdz
N2ZVZCtpUjk3KzRhWDcwbFB0U2M5eis1TDVabW5oLzlkUGZwVGZyMTZNamwvOVBuVnllTHIKTTJ0
cDBybmttcVB4WVdoZ1pHN05lZVhaNStaVjU0OEtIMG1HZW9mdlhuRHhSYTlKUy9ibjIzLy9oU3hP
OHV6ZTNjUHpHeHBJdFdkMwo5bGFTUGJ0M3B0clRrNTdxNkFzNHh1NVB2ZjVmK0tacmt0eVdUNjdZ
a081cU5kc2ZYWkVaTjNZbDJadTlEZDEwYWlqVm51NzBWSHV5Cis5bDl5VE43MDFQdFNYZFBkZmdZ
VGdQN3I2NlcxNlE5eWIvKzI4NzA5Vld6L2RGMXVXWG12R3pvSHFyZm56cjd2KzduRXdDZ3RGb2QK
dlQ5WVdjdW5jdVJ2K3ZySzBlTEJTbTNHcU5yYTNmdHJHNy9TUHVyOWMydmZlV0xaTWNzUC83WFds
bjNueWVIMWYzL3NlbDM5bGRxTQpwSlpqL3FiWDFtN3JQZktXL1p0WDExcGY5SjdVbG0wZWZzL2V6
YXRyMDBmWDJtZlgxbS9iZjJUNWV2WGRtMWJXMm85WmQzdHQ0ZXFOCnRkNUc1bGQzL3IyMWxkTmZQ
UGZaYTQvMlorenQ2NjB0YjM5eExabGQyelpZYTZCK1pDdHJjNU5hRmo1eVRQc3J5NmNmdTF6Nzhs
cnYKTWUvWVgxczl0L1ZvZmZyczJ0enB3LzgvdDNObnJiZXkvRGhqejYwOWVYanNCdmJ2bVAydjFX
cmIxaTRjVldzOTh0NzJaWnRmNHVkcgplSXhOdlkzTnJ4RlBybDl5N1A1ZHVMcTJ1NzlXdnorMStw
L3ZldjBCQUNpcHdJTUlCMUo5cGovTkxjM3BQOUNYb2VmSHBhVmw4cWlICkROYXIxemMwTUpCTW5K
Z005S1d2UDJtWmZKeGJvUTRORE5kYVR2UUl1YUgwVmZ1U2NjMG5lRS85ZXJYYWwzSE5MUys2eld5
OStUVTAKLzNycWJ0K3A2ZHV5SXBNdVg1OU52UTlrMmtzNGRXZWdyNXIrTkdmeVM1aGZZLzA1Y2Y5
SEpwQnFmOUk4dWVXMFAwVHd0T3kvNFJXbApieWhwbm5qaVd6MlB1V3lkei9lWS9RRUFLS1RnazlE
NWViVGp3ZHZ6aWJWYjA3dHFWYnFTTE94OE1yZSs3K0tmOWJRQUFQZzVKWUF3CnBwNnRHL0tQVy9k
a3dvUUp5YUZET2Z2U2Q2WGowbk4rMXRNQ0FPRG5sQUFDQUFBVTA4Q0RDQUVBQUU0UEFRUUFBQ2hH
QUFFQUFJb1IKUUFBQWdHSUVFQUFBb0JnQkJBQUFLRVlBQVFBQWloRkFBQUNBWWdRUUFBQ2dHQUVF
QUFBb1JnQUJBQUNLRVVBQUFJQmlCQkFBQUtBWQpBUVFBQUNoR0FBRUFBSW9SUUFBQWdHSUVFQUFB
b0ppQ0FXUW9BLzE5R1hoKzVOL1BuLzRSQnZyN01uQm9hSGkwUXdQSHJmZjF2L2gxCkFBQ2dqSEgx
M3JEOTYvTnl5ZGMycEgzQ2xPekx2cEZYcHlTSDl1V2oxMzh0Ny96eFovUGFqUStsZmNLVVVVdnRT
OWVoamxUbTNwbEwKbTVQcVUrdHkwNWZmbjFXSFJyM2xyT1hwL2NRTjJWMW4vVGU4ZG5MZGpSaDZa
a3NXM3pzcnQxVXJTWkxXQ1VubFVIczJ6ZCtRYWMxSgpYL2ZEK2RPL3VUcDNqNHpmK3FvbFdYWDkv
Rng2NW80c1d2cjdXWGNvdWVLMzc4NktxNllscVdiTnZiT3laSGRucHB5L052ZS9NL25BClh5MUt6
aHJadmtQSnBNbFg1RVAvKzd5ODc2S1dQTGptZzdsMVYyK21URWoySGVwS3g1WGJjdWVicHg2WjI0
Ny9lY3VZL1JuL3JWUHYKTHdBQS9MeW9HMEFHKy84alNTVmRoMTVjdTMvN1UzbGpOaVdIamxlL0tB
ZVM1UGtkK2VTOTc4K3FKSzJUNSthS0xNM2QxU1RqRzF0LwovUUN5SzdjdHV6eUxSNzFTT1pRa2s0
Yi9wMzlMWnY3VjFla2NYZi94elduOXk0blorNG0zcE91NVNpcEpLbzk5TWZQZU5TMVRuM2swCjF6
ODE4dTdkM1JrNGtIU2xranczYWdVLzdrcm52UTlsL2NlL25oL3Q2aHdlYjJUK1U2b0hqcG5kczlX
eCszUG1xZllYQUFCK2p0UTUKQldzb1QrMWRsVXhZa20wZldwLzJKRGxyU2JaOTVKRk16L0JYL011
dVhwa2xaeVU1YTFsMno5K2RSOTY3TVp2ZXV6REpVOE5yK1BHLwo1TzRreVl5c3ZQSE9yTGhwZjVh
ZGxlUW5CelBVd1BycjZkNjhZamg4bkxVZ20rY01wdlpudmVsOFhXdVM0WXl6NDFzcmhzUEhoQVdw
Ci9FbC85bitrTTlPVGhHOXVNUUFBRExGSlJFRlU1TkNjL04yL1g1U1ZWODBkV2RQZCtmcS85MlhY
OW9kRy9yODFuUithbmRlOGRuWWUKZVVON2t2WjBmbWgzZG4vb2tjeWRrQ1NWZks5YXk0Yy9zVGRy
THhvZWI4RTdONmZ6NnN1T21kL1kvVG4xL2dJQXdNK1R1Z0hrMElFawpFODdOaGVkZG1QT1RaUHk1
dWZDODg1SWt2ZU9TbkhGMnpoMmY1TGx2NXd0Zi9YVGU4ZFVyOC9XaE4yZnQyNWZrTlJPU2NTMW5a
L2pyCithcGNmc2ZNTEhyZ0szbmw3M1JtMngvUHp1UkcxbC9IRDMvNFJKSms3bHR1eUdXdkdKZWtK
ZS83dlZWWjlvWnJNbVZDWHg3ZE5oeC8KbHZ6ZS81bExXeVptOG5udnk2SnBNNUlNSDJGNDFibHRS
OWExL2p0L204N3RkNC84WDJ0ZVBYbGlrb2s1cDJVNENrMlkwSnptQ2IrUwp3MmM5RFF3bDR5YWNr
Lzl5L3ZBV1huRGU2OUp5eGdzbU9HWi9UcjIvQUFEdzg2VE9WL3lKdWZaRHZkbWZsa3g4Zmt2Nmtp
UUhNNWlwCitmS2Y3TS9nbVpPVGtWZVRWYm50aVpHbHB2eDJyajE4NmxUTGxibi92Y3Z6RjErN01h
dWVXNVhiSGw4MS9QbzNsMlRuZ3ZrTnJIOHMKQS9uaHZ1SFRwYVpPT2Z2b3k4Mlg1cWIzWHpvOHQ1
RlRsMTcrc2hkdjZxUWtnem1ZSkpuK3F1bnBmR0pXT3RPYUpkTitOemMvdGlrLwpPWmhrUXBLMEpP
bk0xY3RIalhIV3d2ekJiNHpNYjNENFB3ZWZIem95cjYzLzZ4OXk0TnkzWnRwNWg4YzlmbjlPdWI4
QUFQQnpwUDVkCnNDYTBaUEtFSkdlTVQwdVM1R1VabjJSaXkrU1JYL3RITHVhWXZEcURmN1kzYTZl
dHptOC9kMSthUHQyUkxmM0pRUGRYY3NsWDEyZlcKL3hoTTdjLzZzKzI5UzRiZmYraWIyZFBmeVBy
SE1qSC81ZnlSb3huZmZXTFU2MFBaOWNNZHFSNXF5YSsvY3Zqb3hEZCtzUE5JN2FuOQp1NU1rTFMx
bkpnZWZUZEthRDczekU1bWRKR2ZOeTR6VzMwelNsU2YrWS9pT1dlUEhKMGw3VnY3QjVteit3TVpz
L3NPZDZmL0VyYmw0CjVBakUrSkVXdk95TWtXTWp6MzgvY3pxblovYTN2bGUzUDZmYVh3QUErSG5T
d0VsT0EzbjBrYy9tNzNadXpxb2txZDZiQmZjK25xbXQKYzNQRGIxMlE3dS8rVGU2c0pzbFhzdmlC
LzhpNUUxK1dIMVEyNVBBVkhJTUgrNUowNWgxM2Z5eWR2L2Z4dlBxTWw2YzFTU1hKK0RQcQpyNytl
UzYrWWxmYkhWcVhyOFNzeWMzQjVwcCtiL09OM2JzemR6eVVMUDdBL0M5NnhLUG4rOUt6NlJtdk83
RnVlaTN2dno4MVBkU1daCm5mbVhIc2h0SzI1T2tqeTAvU2U1NWVPNzgrZG45T2Vodi8xSWt1VCtE
Vi9PMWYvdDR0ejVyVlZKV3ZQUGxZZHkxdjkyWTY2OTZKd2oKdlhuc2tjOW04YmVHaityYy8vOHR5
TjRwWnlmOTMwdFhrdW5qeHRmdHo2bjJGd0FBZnA0MDFXcTEydGh2NmNzOXl5ZGwxbytQZlhYNgp0
TTE1NEtyTHN2V1JtV245eHFyakxEY2ptK2ZmbDlmdHZpdVRWczk1UWEwMXk5NzdkN25wOG92cnJy
OFJMN3pOYnBMTWVNUHFMUG45CjYzTGVHY08zQVo1MTcvdVAzZ25yckxuWitEOCttemNlZkNETmYv
WCs0ZGNtTE16T0JiZm1na05iTTNOeDYzQVl5SXhzK2ovZWtTdSsKTkd2VXZDcDU0S3BMai9ibXJr
bVpWVDMrdkdaTXEyVCsrTnZIN005bHphZlczOHZjaGhjQWdKOGpEUVNRVXpXUTZqUDlhVzVwVHYr
Qgp2Z3c5UHk0dExaTXpzZTdwVlNkcktOVm5xaG5LdUJPY3ZqV1E2ak45R2NxNFRIN0Y1RVlPL1FB
QUFLZFpnUUFDQUFBd3JQNUY2QUFBCkFLZUpBQUlBQUJRamdBQUFBTVVJSUFBQVFERUNDQUFBVUl3
QUFnQUFGQ09BQUFBQXhRZ2dBQUJBTVFJSUFBQlFqQUFDQUFBVUk0QUEKQUFERkNDQUFBRUF4QWdn
QUFGQ01BQUlBQUJRamdBQUFBTVVJSUFBQVFERUNDQUFBVUl3QUFnQUFGQ09BQUFBQXhRZ2dBQUJB
TVFJSQpBQUJRakFBQ0FBQVVJNEFBQUFERkNDQUFBRUF4QWdnQUFGQ01BQUlBQUJRamdBQUFBTVVJ
SUFBQVFERUNDQUFBVUl3QUFnQUFGQ09BCkFBQUF4UWdnQUFCQU1RSUlBQUJRakFBQ0FBQVVJNEFB
QUFERkNDQUFBRUF4QWdnQUFGQ01BQUlBQUJRamdBQUFBTVVJSUFBQVFERUMKQ0FBQVVJd0FBZ0FB
RkNPQUFBQUF4UWdnQUFCQU1RSUlBQUJRakFBQ0FBQVVJNEFBQUFERkNDQUFBRUF4QWdnQUFGQ01B
QUlBQUJRagpnQUFBQU1VSUlBQUFRREVDQ0FBQVVJd0FBZ0FBRkNPQUFBQUF4UWdnQUFCQU1RSUlB
QUJRakFBQ0FBQVVJNEFBQUFERkNDQUFBRUF4CkFnZ0FBRkNNQUFJQUFCUWpnQUFBQU1VSUlBQUFR
REVDQ0FBQVVJd0FBZ0FBRkNPQUFBQUF4UWdnQUFCQU1RSUlBQUJRakFBQ0FBQVUKSTRBQUFBREZD
Q0FBQUVBeEFnZ0FBRkNNQUFJQUFCUWpnQUFBQU1VSUlBQUFRREVDQ0FBQVVJd0FBZ0FBRkNPQUFB
QUF4UWdnQUFCQQpNUUlJQUFCUWpBQUNBQUFVSTRBQUFBREZDQ0FBQUVBeEFnZ0FBRkNNQUFJQUFC
UWpnQUFBQU1VSUlBQUFRREVDQ0FBQVVJd0FBZ0FBCkZDT0FBQUFBeFFnZ0FBQkFNUUlJQUFCUWpB
QUNBQUFVSTRBQUFBREZDQ0FBQUVBeEFnZ0FBRkNNQUFJQUFCUWpnQUFBQU1VSUlBQUEKUURFQ0NB
QUFVSXdBQWdBQUZDT0FBQUFBeFFnZ0FBQkFNUUlJQUFCUWpBQUNBQUFVSTRBQUFBREZDQ0FBQUVB
eEFnZ0FBRkNNQUFJQQpBQlFqZ0FBQUFNVUlJQUFBUURFQ0NBQUFVSXdBQWdBQUZDT0FBQUFBeFFn
Z0FBQkFNUUlJQUFCUWpBQUNBQUFVSTRBQUFBREZDQ0FBCkFFQXhBZ2dBQUZDTUFBSUFBQlFqZ0FB
QUFNVUlJQUFBUURFQ0NBQUFVSXdBQWdBQUZDT0FBQUFBeFFnZ0FBQkFNUUlJQUFCUWpBQUMKQUFB
VUk0QUFBQURGQ0NBQUFFQXhBZ2dBQUZDTUFBSUFBQlFqZ0FBQUFNVUlJQUFBUURFQ0NBQUFVSXdB
QWdBQUZDT0FBQUFBeFFnZwpBQUJBTVFJSUFBQlFqQUFDQUFBVUk0QUFBQURGQ0NBQUFFQXhBZ2dB
QUZDTUFBSUFBQlFqZ0FBQUFNVUlJQUFBUURFQ0NBQUFVSXdBCkFnQUFGQ09BQUFBQXhRZ2dBQUJB
TVFJSUFBQlFqQUFDQUFBVUk0QUFBQURGQ0NBQUFFQXhBZ2dBQUZDTUFBSUFBQlFqZ0FBQUFNVUkK
SUFBQVFERUNDQUFBVUl3QUFnQUFGQ09BQUFBQXhRZ2dBQUJBTVFJSUFBQlFqQUFDQUFBVUk0QUFB
QURGQ0NBQUFFQXhBZ2dBQUZDTQpBQUlBQUJRamdBQUFBTVVJSUFBQVFERUNDQUFBVUl3QUFnQUFG
Q09BQUFBQXhRZ2dBQUJBTVFJSUFBQlFqQUFDQUFBVUk0QUFBQURGCkNDQUFBRUF4QWdnQUFGQ01B
QUlBQUJRamdBQUFBTVVJSUFBQVFERUNDQUFBVUl3QUFnQUFGQ09BQUFBQXhRZ2dBQUJBTVFJSUFB
QlEKakFBQ0FBQVVJNEFBQUFERkNDQUFBRUF4QWdnQUFGQ01BQUlBQUJRamdBQUFBTVVJSUFBQVFE
RUNDQUFBVUl3QUFnQUFGQ09BQUFBQQp4UWdnQUFCQU1RSUlBQUJRakFBQ0FBQVVJNEFBQUFERkND
QUFBRUF4QWdnQUFGQ01BQUlBQUJRamdBQUFBTVVJSUFBQVFERUNDQUFBClVJd0FBZ0FBRkNPQUFB
QUF4UWdnQUFCQU1RSUlBQUJRakFBQ0FBQVVJNEFBQUFERkNDQUFBRUF4QWdnQUFGQ01BQUlBQUJR
amdBQUEKQU1VSUlBQUFRREVDQ0FBQVVJd0FBZ0FBRkNPQUFBQUF4UWdnQUFCQU1RSUlBQUJRakFB
Q0FBQVVJNEFBQUFERkNDQUFBRUF4QWdnQQpBRkNNQUFJQUFCUWpnQUFBQU1VSUlBQUFRREVDQ0FB
QVVJd0FBZ0FBRkNPQUFBQUF4UWdnQUFCQU1RSUlBQUJRakFBQ0FBQVVJNEFBCkFBREZDQ0FBQUVB
eEFnZ0FBRkNNQUFJQUFCUWpnQUFBQU1VSUlBQUFRREVDQ0FBQVVJd0FBZ0FBRkNPQUFBQUF4UWdn
QUFCQU1RSUkKQUFCUWpBQUNBQUFVSTRBQUFBREZDQ0FBQUVBeEFnZ0FBRkNNQUFJQUFCUWpnQUFB
QU1VSUlBQUFRREVDQ0FBQVVJd0FBZ0FBRkNPQQpBQUFBeFFnZ0FBQkFNUUlJQUFCUWpBQUNBQUFV
STRBQUFBREZDQ0FBQUVBeEFnZ0FBRkNNQUFJQUFCUWpnQUFBQU1VSUlBQUFRREVDCkNBQUFVSXdB
QWdBQUZDT0FBQUFBeFFnZ0FBQkFNUUlJQUFCUWpBQUNBQUFVSTRBQUFBREZDQ0FBQUVBeEFnZ0FB
RkNNQUFJQUFCUWoKZ0FBQUFNVUlJQUFBUURFQ0NBQUFVSXdBQWdBQUZDT0FBQUFBeFFnZ0FBQkFN
UUlJQUFCUWpBQUNBQUFVSTRBQUFBREZDQ0FBQUVBeApBZ2dBQUZDTUFBSUFBQlFqZ0FBQUFNVUlJ
QUFBUURFQ0NBQUFVSXdBQWdBQUZDT0FBQUFBeFFnZ0FBQkFNUUlJQUFCUWpBQUNBQUFVCkk0QUFB
QURGQ0NBQUFFQXhBZ2dBQUZDTUFBSUFBQlFqZ0FBQUFNVUlJQUFBUURFQ0NBQUFVSXdBQWdBQUZD
T0FBQUFBeFFnZ0FBQkEKTVFJSUFBQlFqQUFDQUFBVUk0QUFBQURGQ0NBQUFFQXhBZ2dBQUZDTUFB
SUFBQlFqZ0FBQUFNVUlJQUFBUURFQ0NBQUFVSXdBQWdBQQpGQ09BQUFBQXhRZ2dBQUJBTVFJSUFB
QlFqQUFDQUFBVUk0QUFBQURGQ0NBQUFFQXhBZ2dBQUZDTUFBSUFBQlFqZ0FBQUFNVUlJQUFBClFE
RUNDQUFBVUl3QUFnQUFGQ09BQUFBQXhRZ2dBQUJBTVFJSUFBQlFqQUFDQUFBVUk0QUFBQURGQ0NB
QUFFQXhBZ2dBQUZDTUFBSUEKQUJRamdBQUFBTVVJSUFBQVFERUNDQUFBVUl3QUFnQUFGQ09BQUFB
QXhRZ2dBQUJBTVFJSUFBQlFqQUFDQUFBVUk0QUFBQURGQ0NBQQpBRUF4QWdnQUFGQ01BQUlBQUJR
amdBQUFBTVVJSUFBQVFERUNDQUFBVUl3QUFnQUFGQ09BQUFBQXhRZ2dBQUJBTVFJSUFBQlFqQUFD
CkFBQVVJNEFBQUFERkNDQUFBRUF4L3o4RWJBc3ZmWkhzNEFBQUFBQkpSVTVFcmtKZ2dnPT0KCklu
ZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtbGVvcGFyZC9zdmcvaGl4aWUvZHluYW1pYy8w
MDUtZXhwZWN0ZWQucG5nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy1s
ZW9wYXJkL3N2Zy9oaXhpZS9keW5hbWljLzAwNS1leHBlY3RlZC5wbmcJKHJldmlzaW9uIDM0ODg3
KQkoZnJvbSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtbGVvcGFyZC9zdmcvaGl4aWUvZHluYW1p
Yy8wMDUtYnJva2VuLWV4cGVjdGVkLnBuZzozNDg4NykKKysrIExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy1sZW9wYXJkL3N2Zy9oaXhpZS9keW5hbWljLzAwNS1leHBlY3RlZC5wbmcJKHdvcmtpbmcg
Y29weSkKCkNhbm5vdCBkaXNwbGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46
bWltZS10eXBlID0gYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtCgpJbmRleDogTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjLWxlb3BhcmQvc3ZnL2hpeGllL2R5bmFtaWMvMDA1LWV4cGVjdGVkLnBuZwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09CkNhbm5vdCBkaXNwbGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpz
dm46bWltZS10eXBlID0gYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtCgppVkJPUncwS0dnb0FBQUFO
U1VoRVVnQUFBeUFBQUFKWUNBWUFBQUNhZG9Kd0FBQU1lVWxFUVZSNG5PM1p3UTJBTUF3RXdVRGow
TG5wCllxT0ltUXJ1WldubGE3MXJGc0FCNW5HdUFPQjA5KzRCQUFEQWZ3Z1FBQUFnSTBBQUFJQ01B
QUVBQURJQ0JBQUF5QWdRQUFBZ0kwQUEKQUlDTUFBRUFBRElDQkFBQXlBZ1FBQUFnSTBBQUFJQ01B
QUVBQURJQ0JBQUF5QWdRQUFBZ0kwQUFBSUNNQUFFQUFESUNCQUFBeUFnUQpBQUFnSTBBQUFJQ01B
QUVBQURJQ0JBQUF5QWdRQUFBZ0kwQUFBSUNNQUFFQUFESUNCQUFBeUFnUUFBQWdJMEFBQUlDTUFB
RUFBRElDCkJBQUF5QWdRQUFBZ0kwQUFBSUNNQUFFQUFESUNCQUFBeUFnUUFBQWdJMEFBQUlDTUFB
RUFBRElDQkFBQXlBZ1FBQUFnSTBBQUFJQ00KQUFFQUFESUNCQUFBeUFnUUFBQWdJMEFBQUlDTUFB
RUFBRElDQkFBQXlBZ1FBQUFnSTBBQUFJQ01BQUVBQURJQ0JBQUF5QWdRQUFBZwpJMEFBQUlDTUFB
RUFBRElDQkFBQXlBZ1FBQUFnSTBBQUFJQ01BQUVBQURJQ0JBQUF5QWdRQUFBZ0kwQUFBSUNNQUFF
QUFESUNCQUFBCnlBZ1FBQUFnSTBBQUFJQ01BQUVBQURJQ0JBQUF5QWdRQUFBZ0kwQUFBSUNNQUFF
QUFESUNCQUFBeUFnUUFBQWdJMEFBQUlDTUFBRUEKQURJQ0JBQUF5QWdRQUFBZ0kwQUFBSUNNQUFF
QUFESUNCQUFBeUFnUUFBQWdJMEFBQUlDTUFBRUFBRElDQkFBQXlBZ1FBQUFnSTBBQQpBSUNNQUFF
QUFESUNCQUFBeUFnUUFBQWdJMEFBQUlDTUFBRUFBRElDQkFBQXlBZ1FBQUFnSTBBQUFJQ01BQUVB
QURJQ0JBQUF5QWdRCkFBQWdJMEFBQUlDTUFBRUFBRElDQkFBQXlBZ1FBQUFnSTBBQUFJQ01BQUVB
QURJQ0JBQUF5QWdRQUFBZ0kwQUFBSUNNQUFFQUFESUMKQkFBQXlBZ1FBQUFnSTBBQUFJQ01BQUVB
QURJQ0JBQUF5QWdRQUFBZ0kwQUFBSUNNQUFFQUFESUNCQUFBeUFnUUFBQWdJMEFBQUlDTQpBQUVB
QURJQ0JBQUF5QWdRQUFBZ0kwQUFBSUNNQUFFQUFESUNCQUFBeUFnUUFBQWdJMEFBQUlDTUFBRUFB
RElDQkFBQXlBZ1FBQUFnCkkwQUFBSUNNQUFFQUFESUNCQUFBeUFnUUFBQWdJMEFBQUlDTUFBRUFB
RElDQkFBQXlBZ1FBQUFnSTBBQUFJQ01BQUVBQURJQ0JBQUEKeUFnUUFBQWdJMEFBQUlDTUFBRUFB
RElDQkFBQXlBZ1FBQUFnSTBBQUFJQ01BQUVBQURJQ0JBQUF5QWdRQUFBZ0kwQUFBSUNNQUFFQQpB
RElDQkFBQXlBZ1FBQUFnSTBBQUFJQ01BQUVBQURJQ0JBQUF5QWdRQUFBZ0kwQUFBSUNNQUFFQUFE
SUNCQUFBeUFnUUFBQWdJMEFBCkFJQ01BQUVBQURJQ0JBQUF5QWdRQUFBZ0kwQUFBSUNNQUFFQUFE
SUNCQUFBeUFnUUFBQWdJMEFBQUlDTUFBRUFBRElDQkFBQXlBZ1EKQUFBZ0kwQUFBSUNNQUFFQUFE
SUNCQUFBeUFnUUFBQWdJMEFBQUlDTUFBRUFBRElDQkFBQXlBZ1FBQUFnSTBBQUFJQ01BQUVBQURJ
QwpCQUFBeUFnUUFBQWdJMEFBQUlDTUFBRUFBRElDQkFBQXlBZ1FBQUFnSTBBQUFJQ01BQUVBQURJ
Q0JBQUF5QWdRQUFBZ0kwQUFBSUNNCkFBRUFBRElDQkFBQXlBZ1FBQUFnSTBBQUFJQ01BQUVBQURJ
Q0JBQUF5QWdRQUFBZ0kwQUFBSUNNQUFFQUFESUNCQUFBeUFnUUFBQWcKSTBBQUFJQ01BQUVBQURJ
Q0JBQUF5QWdRQUFBZ0kwQUFBSUNNQUFFQUFESUNCQUFBeUFnUUFBQWdJMEFBQUlDTUFBRUFBRElD
QkFBQQp5QWdRQUFBZ0kwQUFBSUNNQUFFQUFESUNCQUFBeUFnUUFBQWdJMEFBQUlDTUFBRUFBRElD
QkFBQXlBZ1FBQUFnSTBBQUFJQ01BQUVBCkFESUNCQUFBeUFnUUFBQWdJMEFBQUlDTUFBRUFBRElD
QkFBQXlBZ1FBQUFnSTBBQUFJQ01BQUVBQURJQ0JBQUF5QWdRQUFBZ0kwQUEKQUlDTUFBRUFBRElD
QkFBQXlBZ1FBQUFnSTBBQUFJQ01BQUVBQURJQ0JBQUF5QWdRQUFBZ0kwQUFBSUNNQUFFQUFESUNC
QUFBeUFnUQpBQUFnSTBBQUFJQ01BQUVBQURJQ0JBQUF5QWdRQUFBZ0kwQUFBSUNNQUFFQUFESUNC
QUFBeUFnUUFBQWdJMEFBQUlDTUFBRUFBRElDCkJBQUF5QWdRQUFBZ0kwQUFBSUNNQUFFQUFESUNC
QUFBeUFnUUFBQWdJMEFBQUlDTUFBRUFBRElDQkFBQXlBZ1FBQUFnSTBBQUFJQ00KQUFFQUFESUNC
QUFBeUFnUUFBQWdJMEFBQUlDTUFBRUFBRElDQkFBQXlBZ1FBQUFnSTBBQUFJQ01BQUVBQURJQ0JB
QUF5QWdRQUFBZwpJMEFBQUlDTUFBRUFBRElDQkFBQXlBZ1FBQUFnSTBBQUFJQ01BQUVBQURJQ0JB
QUF5QWdRQUFBZ0kwQUFBSUNNQUFFQUFESUNCQUFBCnlBZ1FBQUFnSTBBQUFJQ01BQUVBQURJQ0JB
QUF5QWdRQUFBZ0kwQUFBSUNNQUFFQUFESUNCQUFBeUFnUUFBQWdJMEFBQUlETU5UT3oKZXdRQUFQ
QVBQaUFBQUVCR2dBQUFBQmtCQWdBQVpBUUlBQUNRRVNBQUFFQkdnQUFBQUJrQkFnQUFaQVFJQUFD
UUVTQUFBRUJHZ0FBQQpBQmtCQWdBQVpBUUlBQUNRRVNBQUFFQkdnQUFBQUJrQkFnQUFaQVFJQUFD
UUVTQUFBRUJHZ0FBQUFCa0JBZ0FBWkFRSUFBQ1FFU0FBCkFFQkdnQUFBQUJrQkFnQUFaQVFJQUFD
UUVTQUFBRUJHZ0FBQUFCa0JBZ0FBWkFRSUFBQ1FFU0FBQUVCR2dBQUFBQmtCQWdBQVpBUUkKQUFD
UUVTQUFBRUJHZ0FBQUFCa0JBZ0FBWkFRSUFBQ1FFU0FBQUVCR2dBQUFBQmtCQWdBQVpBUUlBQUNR
RVNBQUFFQkdnQUFBQUJrQgpBZ0FBWkFRSUFBQ1FFU0FBQUVCR2dBQUFBQmtCQWdBQVpBUUlBQUNR
RVNBQUFFQkdnQUFBQUJrQkFnQUFaQVFJQUFDUUVTQUFBRUJHCmdBQUFBQmtCQWdBQVpBUUlBQUNR
RVNBQUFFQkdnQUFBQUJrQkFnQUFaQVFJQUFDUUVTQUFBRUJHZ0FBQUFCa0JBZ0FBWkFRSUFBQ1EK
RVNBQUFFQkdnQUFBQUJrQkFnQUFaQVFJQUFDUUVTQUFBRUJHZ0FBQUFCa0JBZ0FBWkFRSUFBQ1FF
U0FBQUVCR2dBQUFBQmtCQWdBQQpaQVFJQUFDUUVTQUFBRUJHZ0FBQUFCa0JBZ0FBWkFRSUFBQ1FF
U0FBQUVCR2dBQUFBQmtCQWdBQVpBUUlBQUNRRVNBQUFFQkdnQUFBCkFCa0JBZ0FBWkFRSUFBQ1FF
U0FBQUVCR2dBQUFBQmtCQWdBQVpBUUlBQUNRRVNBQUFFQkdnQUFBQUJrQkFnQUFaQVFJQUFDUUVT
QUEKQUVCR2dBQUFBQmtCQWdBQVpBUUlBQUNRRVNBQUFFQkdnQUFBQUJrQkFnQUFaQVFJQUFDUUVT
QUFBRUJHZ0FBQUFCa0JBZ0FBWkFRSQpBQUNRRVNBQUFFQkdnQUFBQUJrQkFnQUFaQVFJQUFDUUVT
QUFBRUJHZ0FBQUFCa0JBZ0FBWkFRSUFBQ1FFU0FBQUVCR2dBQUFBQmtCCkFnQUFaQVFJQUFDUUVT
QUFBRUJHZ0FBQUFCa0JBZ0FBWkFRSUFBQ1FFU0FBQUVCR2dBQUFBQmtCQWdBQVpBUUlBQUNRRVNB
QUFFQkcKZ0FBQUFCa0JBZ0FBWkFRSUFBQ1FFU0FBQUVCR2dBQUFBQmtCQWdBQVpBUUlBQUNRRVNB
QUFFQkdnQUFBQUJrQkFnQUFaQVFJQUFDUQpFU0FBQUVCR2dBQUFBQmtCQWdBQVpBUUlBQUNRRVNB
QUFFQkdnQUFBQUJrQkFnQUFaQVFJQUFDUUVTQUFBRUJHZ0FBQUFCa0JBZ0FBClpBUUlBQUNRRVNB
QUFFQkdnQUFBQUJrQkFnQUFaQVFJQUFDUUVTQUFBRUJHZ0FBQUFCa0JBZ0FBWkFRSUFBQ1FFU0FB
QUVCR2dBQUEKQUJrQkFnQUFaQVFJQUFDUUVTQUFBRUJHZ0FBQUFCa0JBZ0FBWkFRSUFBQ1FFU0FB
QUVCR2dBQUFBQmtCQWdBQVpBUUlBQUNRRVNBQQpBRUJHZ0FBQUFCa0JBZ0FBWkFRSUFBQ1FFU0FB
QUVCR2dBQUFBQmtCQWdBQVpBUUlBQUNRRVNBQUFFQkdnQUFBQUJrQkFnQUFaQVFJCkFBQ1FFU0FB
QUVCR2dBQUFBQmtCQWdBQVpBUUlBQUNRRVNBQUFFQkdnQUFBQUJrQkFnQUFaQVFJQUFDUUVTQUFB
RUJHZ0FBQUFCa0IKQWdBQVpBUUlBQUNRRVNBQUFFQkdnQUFBQUJrQkFnQUFaQVFJQUFDUUVTQUFB
RUJHZ0FBQUFCa0JBZ0FBWkFRSUFBQ1FFU0FBQUVCRwpnQUFBQUJrQkFnQUFaQVFJQUFDUUVTQUFB
RUJHZ0FBQUFCa0JBZ0FBWkFRSUFBQ1FFU0FBQUVCR2dBQUFBQmtCQWdBQVpBUUlBQUNRCkVTQUFB
RUJHZ0FBQUFCa0JBZ0FBWkFRSUFBQ1FFU0FBQUVCR2dBQUFBQmtCQWdBQVpBUUlBQUNRRVNBQUFF
QkdnQUFBQUJrQkFnQUEKWkFRSUFBQ1FFU0FBQUVCR2dBQUFBQmtCQWdBQVpBUUlBQUNRRVNBQUFF
QkdnQUFBQUJrQkFnQUFaQVFJQUFDUUVTQUFBRUJHZ0FBQQpBQmtCQWdBQVpBUUlBQUNRRVNBQUFF
QkdnQUFBQUJrQkFnQUFaQVFJQUFDUUVTQUFBRUJHZ0FBQUFCa0JBZ0FBWkFRSUFBQ1FFU0FBCkFF
QkdnQUFBQUJrQkFnQUFaQVFJQUFDUUVTQUFBRUJHZ0FBQUFCa0JBZ0FBWkFRSUFBQ1FFU0FBQUVC
R2dBQUFBQmtCQWdBQVpBUUkKQUFDUUVTQUFBRUJHZ0FBQUFCa0JBZ0FBWkFRSUFBQ1FFU0FBQUVC
R2dBQUFBQmtCQWdBQVpBUUlBQUNRRVNBQUFFQkdnQUFBQUJrQgpBZ0FBWkFRSUFBQ1FFU0FBQUVC
R2dBQUFBQmtCQWdBQVpBUUlBQUNRRVNBQUFFQkdnQUFBQUJrQkFnQUFaQVFJQUFDUUVTQUFBRUJH
CmdBQUFBQmtCQWdBQVpBUUlBQUNRRVNBQUFFQkdnQUFBQUJrQkFnQUFaQVFJQUFDUUVTQUFBRUJH
Z0FBQUFCa0JBZ0FBWkFRSUFBQ1EKRVNBQUFFQkdnQUFBQUJrQkFnQUFaQVFJQUFDUUVTQUFBRUJH
Z0FBQUFCa0JBZ0FBWkQ0TUNReW5NUitoVUFBQUFBQkpSVTVFcmtKZwpnZz09Cgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>22099</attachid>
            <date>2008-07-05 11:27:22 -0700</date>
            <delta_ts>2008-07-07 06:31:40 -0700</delta_ts>
            <desc>Updated patch v3 (w/o layout tests)</desc>
            <filename>FixSVGLivenessRevised.diff</filename>
            <type>text/plain</type>
            <size>161319</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9t
L0VsZW1lbnQuY3BwCShyZXZpc2lvbiAzNTAwNikKKysrIFdlYkNvcmUvZG9tL0VsZW1lbnQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC05OSw2ICs5OSwxMCBAQCBFbGVtZW50OjpFbGVtZW50KGNvbnN0
IFF1YWxpZmllZE5hbWUmIHFOCiAgICAgLCBtX3RhZ05hbWUocU5hbWUpCiAgICAgLCBtX2lzU3R5
bGVBdHRyaWJ1dGVWYWxpZCh0cnVlKQogICAgICwgbV9zeW5jaHJvbml6aW5nU3R5bGVBdHRyaWJ1
dGUoZmFsc2UpCisjaWYgRU5BQkxFKFNWRykKKyAgICAsIG1fYXJlU1ZHQXR0cmlidXRlc1ZhbGlk
KHRydWUpCisgICAgLCBtX3N5bmNocm9uaXppbmdTVkdBdHRyaWJ1dGVzKGZhbHNlKQorI2VuZGlm
CiAgICAgLCBtX3BhcnNpbmdDaGlsZHJlbkZpbmlzaGVkKHRydWUpCiB7CiB9CkBAIC0xOTMsNiAr
MTk3LDEyIEBAIE5hbWVkQXR0ck1hcCogRWxlbWVudDo6YXR0cmlidXRlcyhib29sIHIKIHsKICAg
ICBpZiAoIW1faXNTdHlsZUF0dHJpYnV0ZVZhbGlkKQogICAgICAgICB1cGRhdGVTdHlsZUF0dHJp
YnV0ZSgpOworCisjaWYgRU5BQkxFKFNWRykKKyAgICBpZiAoIW1fYXJlU1ZHQXR0cmlidXRlc1Zh
bGlkKQorICAgICAgICB1cGRhdGVBbmltYXRlZFNWR0F0dHJpYnV0ZSgwKTsKKyNlbmRpZgorCiAg
ICAgaWYgKCFyZWFkb25seSAmJiAhbmFtZWRBdHRyTWFwKQogICAgICAgICBjcmVhdGVBdHRyaWJ1
dGVNYXAoKTsKICAgICByZXR1cm4gbmFtZWRBdHRyTWFwLmdldCgpOwpAQCAtMjE4LDYgKzIyOCwx
MSBAQCBjb25zdCBBdG9taWNTdHJpbmcmIEVsZW1lbnQ6OmdldEF0dHJpYnV0CiAgICAgaWYgKG5h
bWUgPT0gc3R5bGVBdHRyICYmICFtX2lzU3R5bGVBdHRyaWJ1dGVWYWxpZCkKICAgICAgICAgdXBk
YXRlU3R5bGVBdHRyaWJ1dGUoKTsKIAorI2lmIEVOQUJMRShTVkcpCisgICAgaWYgKCFtX2FyZVNW
R0F0dHJpYnV0ZXNWYWxpZCkKKyAgICAgICAgdXBkYXRlQW5pbWF0ZWRTVkdBdHRyaWJ1dGUobmFt
ZS5sb2NhbE5hbWUoKS5pbXBsKCkpOworI2VuZGlmCisKICAgICBpZiAobmFtZWRBdHRyTWFwKQog
ICAgICAgICBpZiAoQXR0cmlidXRlKiBhID0gbmFtZWRBdHRyTWFwLT5nZXRBdHRyaWJ1dGVJdGVt
KG5hbWUpKQogICAgICAgICAgICAgcmV0dXJuIGEtPnZhbHVlKCk7CkBAIC00NjcsNyArNDgyLDEy
IEBAIGNvbnN0IEF0b21pY1N0cmluZyYgRWxlbWVudDo6Z2V0QXR0cmlidXQKICAgICBTdHJpbmcg
bG9jYWxOYW1lID0gc2hvdWxkSWdub3JlQXR0cmlidXRlQ2FzZSh0aGlzKSA/IG5hbWUubG93ZXIo
KSA6IG5hbWU7CiAgICAgaWYgKGxvY2FsTmFtZSA9PSBzdHlsZUF0dHIubG9jYWxOYW1lKCkgJiYg
IW1faXNTdHlsZUF0dHJpYnV0ZVZhbGlkKQogICAgICAgICB1cGRhdGVTdHlsZUF0dHJpYnV0ZSgp
OwotICAgIAorCisjaWYgRU5BQkxFKFNWRykKKyAgICBpZiAoIW1fYXJlU1ZHQXR0cmlidXRlc1Zh
bGlkKQorICAgICAgICB1cGRhdGVBbmltYXRlZFNWR0F0dHJpYnV0ZShuYW1lLmltcGwoKSk7Cisj
ZW5kaWYKKwogICAgIGlmIChuYW1lZEF0dHJNYXApCiAgICAgICAgIGlmIChBdHRyaWJ1dGUqIGEg
PSBuYW1lZEF0dHJNYXAtPmdldEF0dHJpYnV0ZUl0ZW0obG9jYWxOYW1lKSkKICAgICAgICAgICAg
IHJldHVybiBhLT52YWx1ZSgpOwpAQCAtNTc3LDYgKzU5NywxMiBAQCBib29sIEVsZW1lbnQ6Omhh
c0F0dHJpYnV0ZXMoKSBjb25zdAogewogICAgIGlmICghbV9pc1N0eWxlQXR0cmlidXRlVmFsaWQp
CiAgICAgICAgIHVwZGF0ZVN0eWxlQXR0cmlidXRlKCk7CisKKyNpZiBFTkFCTEUoU1ZHKQorICAg
IGlmICghbV9hcmVTVkdBdHRyaWJ1dGVzVmFsaWQpCisgICAgICAgIHVwZGF0ZUFuaW1hdGVkU1ZH
QXR0cmlidXRlKDApOworI2VuZGlmCisKICAgICByZXR1cm4gbmFtZWRBdHRyTWFwICYmIG5hbWVk
QXR0ck1hcC0+bGVuZ3RoKCkgPiAwOwogfQogCkluZGV4OiBXZWJDb3JlL2RvbS9FbGVtZW50LmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9kb20vRWxlbWVudC5oCShyZXZpc2lvbiAzNTAwNikKKysr
IFdlYkNvcmUvZG9tL0VsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMTU5LDcgKzE1OSw3IEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgaXNVUkxBdHRyaWJ1dGUoQXR0cmlidXRlKikgY29u
c3Q7CiAgICAgdmlydHVhbCBjb25zdCBRdWFsaWZpZWROYW1lJiBpbWFnZVNvdXJjZUF0dHJpYnV0
ZU5hbWUoKSBjb25zdDsKICAgICB2aXJ0dWFsIFN0cmluZyB0YXJnZXQoKSBjb25zdCB7IHJldHVy
biBTdHJpbmcoKTsgfQotICAgICAgICAKKwogICAgIHZpcnR1YWwgdm9pZCBmb2N1cyhib29sIHJl
c3RvcmVQcmV2aW91c1NlbGVjdGlvbiA9IHRydWUpOwogICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVG
b2N1c0FwcGVhcmFuY2UoYm9vbCByZXN0b3JlUHJldmlvdXNTZWxlY3Rpb24pOwogICAgIHZvaWQg
Ymx1cigpOwpAQCAtMjA1LDcgKzIwNSwxMSBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBj
cmVhdGVBdHRyaWJ1dGVNYXAoKSBjb25zdDsKIAogICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVTdHls
ZUF0dHJpYnV0ZSgpIGNvbnN0IHt9Ci0gICAgCisKKyNpZiBFTkFCTEUoU1ZHKQorICAgIHZpcnR1
YWwgdm9pZCB1cGRhdGVBbmltYXRlZFNWR0F0dHJpYnV0ZShTdHJpbmdJbXBsKiBuYW1lKSBjb25z
dCB7fQorI2VuZGlmCisKICAgICB2b2lkIHVwZGF0ZUZvY3VzQXBwZWFyYW5jZVNvb25BZnRlckF0
dGFjaCgpOwogICAgIHZvaWQgY2FuY2VsRm9jdXNBcHBlYXJhbmNlVXBkYXRlKCk7CiAKQEAgLTIy
MSw3ICsyMjUsMTMgQEAgcHJvdGVjdGVkOgogICAgIC8vIEVsZW1lbnQgYml0cy4KICAgICBtdXRh
YmxlIGJvb2wgbV9pc1N0eWxlQXR0cmlidXRlVmFsaWQgOiAxOwogICAgIG11dGFibGUgYm9vbCBt
X3N5bmNocm9uaXppbmdTdHlsZUF0dHJpYnV0ZSA6IDE7Ci0gICAgCisKKyNpZiBFTkFCTEUoU1ZH
KQorICAgIC8vIFRoZXNlIGJpdCBpcyBhcmUgdXNlZCBieSBTVkdFbGVtZW50IHN1YmNsYXNzZXMs
IGFuZCBpdCBsaXZlcyBoZXJlIGZvciB0aGUgc2FtZSByZWFzb24gYXMgYWJvdmUuCisgICAgbXV0
YWJsZSBib29sIG1fYXJlU1ZHQXR0cmlidXRlc1ZhbGlkIDogMTsKKyAgICBtdXRhYmxlIGJvb2wg
bV9zeW5jaHJvbml6aW5nU1ZHQXR0cmlidXRlcyA6IDE7CisjZW5kaWYKKwogcHJpdmF0ZToKICAg
ICBib29sIG1fcGFyc2luZ0NoaWxkcmVuRmluaXNoZWQgOiAxOwogfTsKSW5kZXg6IFdlYkNvcmUv
ZG9tL05hbWVkQXR0ck1hcC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL05hbWVkQXR0ck1h
cC5oCShyZXZpc2lvbiAzNTAwNikKKysrIFdlYkNvcmUvZG9tL05hbWVkQXR0ck1hcC5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC04OSwxMSArODksMTEgQEAgcHVibGljOgogICAgIAogICAgIGJvb2wgbWFw
c0VxdWl2YWxlbnQoY29uc3QgTmFtZWRBdHRyTWFwKiBvdGhlck1hcCkgY29uc3Q7CiAKLXByb3Rl
Y3RlZDoKICAgICAvLyBUaGVzZSBmdW5jdGlvbnMgYXJlIGludGVybmFsLCBhbmQgZG8gbm8gZXJy
b3IgY2hlY2tpbmcuCiAgICAgdm9pZCBhZGRBdHRyaWJ1dGUoUGFzc1JlZlB0cjxBdHRyaWJ1dGU+
KTsKICAgICB2b2lkIHJlbW92ZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lKTsK
IAorcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCBjbGVhckF0dHJpYnV0ZXMoKTsKIAogICAg
IHZvaWQgZGV0YWNoRnJvbUVsZW1lbnQoKTsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0FFbGVtZW50
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdBRWxlbWVudC5jcHAJKHJldmlzaW9u
IDM1MDA2KQorKysgV2ViQ29yZS9zdmcvU1ZHQUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC02NSw3ICs2NSw3IEBAIFN0cmluZyBTVkdBRWxlbWVudDo6dGl0bGUoKSBjb25zdAogICAgIHJl
dHVybiBnZXRBdHRyaWJ1dGUoWExpbmtOYW1lczo6dGl0bGVBdHRyKTsKIH0KIAotQU5JTUFURURf
UFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHQUVsZW1lbnQsIFN0cmluZywgU3RyaW5nLCBzdHJpbmcs
IFRhcmdldCwgdGFyZ2V0LCBTVkdOYW1lczo6dGFyZ2V0QXR0ciwgbV90YXJnZXQpCitBTklNQVRF
RF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdBRWxlbWVudCwgU3RyaW5nLCBUYXJnZXQsIHRhcmdl
dCwgU1ZHTmFtZXM6OnRhcmdldEF0dHIpCiAKIHZvaWQgU1ZHQUVsZW1lbnQ6OnBhcnNlTWFwcGVk
QXR0cmlidXRlKE1hcHBlZEF0dHJpYnV0ZSogYXR0cikKIHsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NW
R0FFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHQUVsZW1lbnQuaAkocmV2
aXNpb24gMzUwMDYpCisrKyBXZWJDb3JlL3N2Zy9TVkdBRWxlbWVudC5oCSh3b3JraW5nIGNvcHkp
CkBAIC02Nyw3ICs2Nyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgQU5JTUFURURf
UFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHVVJJUmVmZXJlbmNlLCBTdHJpbmcsIEhy
ZWYsIGhyZWYpCiAgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJT05T
KFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGJvb2wsIEV4dGVybmFsUmVzb3VyY2VzUmVx
dWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpCiAKLSAgICAgICAgQU5JTUFURURfUFJP
UEVSVFlfREVDTEFSQVRJT05TKFNWR0FFbGVtZW50LCBTdHJpbmcsIFN0cmluZywgVGFyZ2V0LCB0
YXJnZXQpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdBRWxlbWVu
dCwgU3RyaW5nLCBUYXJnZXQsIHRhcmdldCkKICAgICB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdBbmltYXRlZFRlbXBsYXRlLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRUZW1wbGF0ZS5oCShyZXZpc2lvbiAzNTAwNikKKysr
IFdlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkVGVtcGxhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtMjIs
MjIgKzIyLDE3IEBACiAjZGVmaW5lIFNWR0FuaW1hdGVkVGVtcGxhdGVfaAogCiAjaWYgRU5BQkxF
KFNWRykKLSNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgotI2luY2x1ZGUgIkF0b21pY1N0cmlu
Zy5oIgotI2luY2x1ZGUgIkF0dHJpYnV0ZS5oIgorI2luY2x1ZGUgIkZsb2F0UmVjdC5oIgorI2lu
Y2x1ZGUgIlNWR0FuZ2xlLmgiCisjaW5jbHVkZSAiU1ZHTGVuZ3RoLmgiCisjaW5jbHVkZSAiU1ZH
TGVuZ3RoTGlzdC5oIgorI2luY2x1ZGUgIlNWR051bWJlckxpc3QuaCIKKyNpbmNsdWRlICJTVkdQ
cmVzZXJ2ZUFzcGVjdFJhdGlvLmgiCisjaW5jbHVkZSAiU1ZHVHJhbnNmb3JtTGlzdC5oIgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLSAgICBjbGFzcyBGbG9hdFJlY3Q7Ci0gICAgY2xhc3MgU1ZH
QW5nbGU7CiAgICAgY2xhc3MgU1ZHRWxlbWVudDsKLSAgICBjbGFzcyBTVkdMZW5ndGg7Ci0gICAg
Y2xhc3MgU1ZHTGVuZ3RoTGlzdDsKLSAgICBjbGFzcyBTVkdOdW1iZXJMaXN0OwotICAgIGNsYXNz
IFNWR1ByZXNlcnZlQXNwZWN0UmF0aW87Ci0gICAgY2xhc3MgU1ZHVHJhbnNmb3JtTGlzdDsKLSAg
ICBjbGFzcyBTdHJpbmc7Ci0gICAgY2xhc3MgUXVhbGlmaWVkTmFtZTsKIAogICAgIHN0cnVjdCBT
VkdBbmltYXRlZFR5cGVXcmFwcGVyS2V5IHsgICAgICAgICAgICAKICAgICAgICAgLy8gRW1wdHkg
dmFsdWUKQEAgLTQ1LDE3ICs0MCwxOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgICAg
ICA6IGVsZW1lbnQoMCkKICAgICAgICAgICAgICwgYXR0cmlidXRlTmFtZSgwKQogICAgICAgICB7
IH0KLSAgICAgICAgCisKICAgICAgICAgLy8gRGVsZXRlZCB2YWx1ZQogICAgICAgICBTVkdBbmlt
YXRlZFR5cGVXcmFwcGVyS2V5KFdURjo6SGFzaFRhYmxlRGVsZXRlZFZhbHVlVHlwZSkKICAgICAg
ICAgICAgIDogZWxlbWVudChyZWludGVycHJldF9jYXN0PFNWR0VsZW1lbnQqPigtMSkpCiAgICAg
ICAgIHsKICAgICAgICAgfQorCiAgICAgICAgIGJvb2wgaXNIYXNoVGFibGVEZWxldGVkVmFsdWUo
KSBjb25zdAogICAgICAgICB7CiAgICAgICAgICAgICByZXR1cm4gZWxlbWVudCA9PSByZWludGVy
cHJldF9jYXN0PFNWR0VsZW1lbnQqPigtMSk7CiAgICAgICAgIH0KLSAgICAgICAgCisKICAgICAg
ICAgU1ZHQW5pbWF0ZWRUeXBlV3JhcHBlcktleShjb25zdCBTVkdFbGVtZW50KiBfZWxlbWVudCwg
Y29uc3QgQXRvbWljU3RyaW5nJiBfYXR0cmlidXRlTmFtZSkKICAgICAgICAgICAgIDogZWxlbWVu
dChfZWxlbWVudCkKICAgICAgICAgICAgICwgYXR0cmlidXRlTmFtZShfYXR0cmlidXRlTmFtZS5p
bXBsKCkpCkBAIC02MywxMiArNTksMTIgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAg
ICAgQVNTRVJUKGVsZW1lbnQpOwogICAgICAgICAgICAgQVNTRVJUKGF0dHJpYnV0ZU5hbWUpOwog
ICAgICAgICB9Ci0gICAgICAgIAorCiAgICAgICAgIGJvb2wgb3BlcmF0b3I9PShjb25zdCBTVkdB
bmltYXRlZFR5cGVXcmFwcGVyS2V5JiBvdGhlcikgY29uc3QKICAgICAgICAgewogICAgICAgICAg
ICAgcmV0dXJuIGVsZW1lbnQgPT0gb3RoZXIuZWxlbWVudCAmJiBhdHRyaWJ1dGVOYW1lID09IG90
aGVyLmF0dHJpYnV0ZU5hbWU7CiAgICAgICAgIH0KLSAgICAgICAgCisKICAgICAgICAgY29uc3Qg
U1ZHRWxlbWVudCogZWxlbWVudDsKICAgICAgICAgQXRvbWljU3RyaW5nSW1wbCogYXR0cmlidXRl
TmFtZTsKICAgICB9OwpAQCAtNzgsNyArNzQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAg
ICAgIHsKICAgICAgICAgICAgIHJldHVybiBTdHJpbmdJbXBsOjpjb21wdXRlSGFzaChyZWludGVy
cHJldF9jYXN0PGNvbnN0IFVDaGFyKj4oJmtleSksIHNpemVvZihTVkdBbmltYXRlZFR5cGVXcmFw
cGVyS2V5KSAvIHNpemVvZihVQ2hhcikpOwogICAgICAgICB9Ci0gICAgICAgICAgICAKKwogICAg
ICAgICBzdGF0aWMgYm9vbCBlcXVhbChjb25zdCBTVkdBbmltYXRlZFR5cGVXcmFwcGVyS2V5JiBh
LCBjb25zdCBTVkdBbmltYXRlZFR5cGVXcmFwcGVyS2V5JiBiKQogICAgICAgICB7CiAgICAgICAg
ICAgICByZXR1cm4gYSA9PSBiOwpAQCAtODYsMzAgKzgyLDMxIEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogICAgICAgICBzdGF0aWMgY29uc3QgYm9vbCBzYWZlVG9Db21wYXJlVG9FbXB0eU9yRGVs
ZXRlZCA9IHRydWU7CiAgICAgfTsKLSAgICAKKwogICAgIHN0cnVjdCBTVkdBbmltYXRlZFR5cGVX
cmFwcGVyS2V5SGFzaFRyYWl0cyA6IFdURjo6R2VuZXJpY0hhc2hUcmFpdHM8U1ZHQW5pbWF0ZWRU
eXBlV3JhcHBlcktleT4gewogICAgICAgICBzdGF0aWMgY29uc3QgYm9vbCBlbXB0eVZhbHVlSXNa
ZXJvID0gdHJ1ZTsKLSAgICAgICAgCisKICAgICAgICAgc3RhdGljIHZvaWQgY29uc3RydWN0RGVs
ZXRlZFZhbHVlKFNWR0FuaW1hdGVkVHlwZVdyYXBwZXJLZXkmIHNsb3QpCiAgICAgICAgIHsKICAg
ICAgICAgICAgIG5ldyAoJnNsb3QpIFNWR0FuaW1hdGVkVHlwZVdyYXBwZXJLZXkoV1RGOjpIYXNo
VGFibGVEZWxldGVkVmFsdWUpOwogICAgICAgICB9CisKICAgICAgICAgc3RhdGljIGJvb2wgaXNE
ZWxldGVkVmFsdWUoY29uc3QgU1ZHQW5pbWF0ZWRUeXBlV3JhcHBlcktleSYgdmFsdWUpCiAgICAg
ICAgIHsKICAgICAgICAgICAgIHJldHVybiB2YWx1ZS5pc0hhc2hUYWJsZURlbGV0ZWRWYWx1ZSgp
OwogICAgICAgICB9CiAgICAgfTsKLSAgICAKKyAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBCYXJl
VHlwZT4KICAgICBjbGFzcyBTVkdBbmltYXRlZFRlbXBsYXRlIDogcHVibGljIFJlZkNvdW50ZWQ8
U1ZHQW5pbWF0ZWRUZW1wbGF0ZTxCYXJlVHlwZT4gPiB7CiAgICAgcHVibGljOgogICAgICAgICB2
aXJ0dWFsIH5TVkdBbmltYXRlZFRlbXBsYXRlKCkgeyBmb3JnZXRXcmFwcGVyKHRoaXMpOyB9CiAK
ICAgICAgICAgdmlydHVhbCBCYXJlVHlwZSBiYXNlVmFsKCkgY29uc3QgPSAwOwotICAgICAgICB2
aXJ0dWFsIHZvaWQgc2V0QmFzZVZhbChCYXJlVHlwZSBuZXdCYXNlVmFsKSA9IDA7CisgICAgICAg
IHZpcnR1YWwgdm9pZCBzZXRCYXNlVmFsKEJhcmVUeXBlKSA9IDA7CiAKICAgICAgICAgdmlydHVh
bCBCYXJlVHlwZSBhbmltVmFsKCkgY29uc3QgPSAwOwotICAgICAgICB2aXJ0dWFsIHZvaWQgc2V0
QW5pbVZhbChCYXJlVHlwZSBuZXdBbmltVmFsKSA9IDA7CisgICAgICAgIHZpcnR1YWwgdm9pZCBz
ZXRBbmltVmFsKEJhcmVUeXBlKSA9IDA7CiAKICAgICAgICAgdHlwZWRlZiBIYXNoTWFwPFNWR0Fu
aW1hdGVkVHlwZVdyYXBwZXJLZXksIFNWR0FuaW1hdGVkVGVtcGxhdGU8QmFyZVR5cGU+KiwgU1ZH
QW5pbWF0ZWRUeXBlV3JhcHBlcktleUhhc2gsIFNWR0FuaW1hdGVkVHlwZVdyYXBwZXJLZXlIYXNo
VHJhaXRzID4gRWxlbWVudFRvV3JhcHBlck1hcDsKICAgICAgICAgdHlwZWRlZiB0eXBlbmFtZSBF
bGVtZW50VG9XcmFwcGVyTWFwOjpjb25zdF9pdGVyYXRvciBFbGVtZW50VG9XcmFwcGVyTWFwSXRl
cmF0b3I7CkBAIC0xMTksNyArMTE2LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAg
ICAgc3RhdGljIEVsZW1lbnRUb1dyYXBwZXJNYXAqIHNfd3JhcHBlckNhY2hlID0gbmV3IEVsZW1l
bnRUb1dyYXBwZXJNYXA7ICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgcmV0dXJuIHNfd3Jh
cHBlckNhY2hlOwogICAgICAgICB9Ci0gICAgICAgIAorCiAgICAgICAgIHN0YXRpYyB2b2lkIGZv
cmdldFdyYXBwZXIoU1ZHQW5pbWF0ZWRUZW1wbGF0ZTxCYXJlVHlwZT4qIHdyYXBwZXIpCiAgICAg
ICAgIHsKICAgICAgICAgICAgIEVsZW1lbnRUb1dyYXBwZXJNYXAqIGNhY2hlID0gd3JhcHBlckNh
Y2hlKCk7CkBAIC0xMzMsNyArMTMwLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAg
ICAgfQogICAgICAgICB9CiAKLSAgICAgICBjb25zdCBRdWFsaWZpZWROYW1lJiBhc3NvY2lhdGVk
QXR0cmlidXRlTmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fYXNzb2NpYXRlZEF0dHJpYnV0ZU5hbWU7
IH0KKyAgICAgICAgY29uc3QgUXVhbGlmaWVkTmFtZSYgYXNzb2NpYXRlZEF0dHJpYnV0ZU5hbWUo
KSBjb25zdCB7IHJldHVybiBtX2Fzc29jaWF0ZWRBdHRyaWJ1dGVOYW1lOyB9CiAKICAgICBwcm90
ZWN0ZWQ6CiAgICAgICAgIFNWR0FuaW1hdGVkVGVtcGxhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYg
YXR0cmlidXRlTmFtZSkKQEAgLTE0MiwyMSArMTM5LDc2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICAgICAgfQogCiAgICAgcHJpdmF0ZToKLSAgICAgICBjb25zdCBRdWFsaWZpZWROYW1lJiBt
X2Fzc29jaWF0ZWRBdHRyaWJ1dGVOYW1lOworICAgICAgICBjb25zdCBRdWFsaWZpZWROYW1lJiBt
X2Fzc29jaWF0ZWRBdHRyaWJ1dGVOYW1lOwogICAgIH07CiAKKyAgICB0eXBlZGVmIHZvaWQgKCpB
bmltYXRlZFByb3BlcnR5U3luY2hyb25pemVyKShjb25zdCBTVkdFbGVtZW50Kik7CisKICAgICB0
ZW1wbGF0ZSA8Y2xhc3MgVHlwZSwgY2xhc3MgU1ZHRWxlbWVudFN1YkNsYXNzPgotICAgIFBhc3NS
ZWZQdHI8VHlwZT4gbG9va3VwT3JDcmVhdGVXcmFwcGVyKGNvbnN0IFNWR0VsZW1lbnRTdWJDbGFz
cyogZWxlbWVudCwgY29uc3QgUXVhbGlmaWVkTmFtZSYgZG9tQXR0ck5hbWUsIGNvbnN0IEF0b21p
Y1N0cmluZyYgYXR0cklkZW50aWZpZXIpCisgICAgUGFzc1JlZlB0cjxUeXBlPiBsb29rdXBPckNy
ZWF0ZVdyYXBwZXIoY29uc3QgU1ZHRWxlbWVudFN1YkNsYXNzKiBlbGVtZW50LCBjb25zdCBRdWFs
aWZpZWROYW1lJiBkb21BdHRyTmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcmIGF0dHJJZGVudGlmaWVyLCBBbmltYXRlZFBy
b3BlcnR5U3luY2hyb25pemVyIHN5bmNocm9uaXplcikKICAgICB7CiAgICAgICAgIFNWR0FuaW1h
dGVkVHlwZVdyYXBwZXJLZXkga2V5KGVsZW1lbnQsIGF0dHJJZGVudGlmaWVyKTsKICAgICAgICAg
UmVmUHRyPFR5cGU+IHdyYXBwZXIgPSBzdGF0aWNfY2FzdDxUeXBlKj4oVHlwZTo6d3JhcHBlckNh
Y2hlKCktPmdldChrZXkpKTsKKwogICAgICAgICBpZiAoIXdyYXBwZXIpIHsKICAgICAgICAgICAg
IHdyYXBwZXIgPSBUeXBlOjpjcmVhdGUoZWxlbWVudCwgZG9tQXR0ck5hbWUpOworICAgICAgICAg
ICAgZWxlbWVudC0+YWRkU1ZHUHJvcGVydHlTeW5jaHJvbml6ZXIoZG9tQXR0ck5hbWUsIHN5bmNo
cm9uaXplcik7CiAgICAgICAgICAgICBUeXBlOjp3cmFwcGVyQ2FjaGUoKS0+c2V0KGtleSwgd3Jh
cHBlci5nZXQoKSk7CiAgICAgICAgIH0KKwogICAgICAgICByZXR1cm4gd3JhcHBlci5yZWxlYXNl
KCk7CiAgICAgfQogCisgICAgLy8gRGVmYXVsdCBpbXBsZW1lbnRhdGlvbiBmb3IgcG9pbnRlciB0
eXBlcworICAgIHRlbXBsYXRlPHR5cGVuYW1lIFR5cGU+CisgICAgc3RydWN0IFNWR0FuaW1hdGVk
VHlwZVZhbHVlIDogTm9uY29weWFibGUgeworICAgICAgICBzdGF0aWMgVHlwZSBudWxsKCkgeyBy
ZXR1cm4gMDsgfQorICAgICAgICBzdGF0aWMgQXRvbWljU3RyaW5nIHRvU3RyaW5nKFR5cGUgdHlw
ZSkgeyByZXR1cm4gdHlwZSA/IEF0b21pY1N0cmluZyh0eXBlLT52YWx1ZUFzU3RyaW5nKCkpIDog
bnVsbEF0b207IH0KKyAgICB9OworCisgICAgdGVtcGxhdGU8PgorICAgIHN0cnVjdCBTVkdBbmlt
YXRlZFR5cGVWYWx1ZTxib29sPiA6IE5vbmNvcHlhYmxlIHsKKyAgICAgICAgc3RhdGljIGJvb2wg
bnVsbCgpIHsgcmV0dXJuIGZhbHNlOyB9CisgICAgICAgIHN0YXRpYyBBdG9taWNTdHJpbmcgdG9T
dHJpbmcoYm9vbCB0eXBlKSB7IHJldHVybiB0eXBlID8gInRydWUiIDogImZhbHNlIjsgfQorICAg
IH07CisKKyAgICB0ZW1wbGF0ZTw+CisgICAgc3RydWN0IFNWR0FuaW1hdGVkVHlwZVZhbHVlPGlu
dD4gOiBOb25jb3B5YWJsZSB7CisgICAgICAgIHN0YXRpYyBpbnQgbnVsbCgpIHsgcmV0dXJuIDA7
IH0KKyAgICAgICAgc3RhdGljIEF0b21pY1N0cmluZyB0b1N0cmluZyhpbnQgdHlwZSkgeyByZXR1
cm4gU3RyaW5nOjpudW1iZXIodHlwZSk7IH0KKyAgICB9OworCisgICAgdGVtcGxhdGU8PgorICAg
IHN0cnVjdCBTVkdBbmltYXRlZFR5cGVWYWx1ZTxsb25nPiA6IE5vbmNvcHlhYmxlIHsKKyAgICAg
ICAgc3RhdGljIGxvbmcgbnVsbCgpIHsgcmV0dXJuIDBsOyB9CisgICAgICAgIHN0YXRpYyBBdG9t
aWNTdHJpbmcgdG9TdHJpbmcobG9uZyB0eXBlKSB7IHJldHVybiBTdHJpbmc6Om51bWJlcih0eXBl
KTsgfQorICAgIH07CisKKyAgICB0ZW1wbGF0ZTw+CisgICAgc3RydWN0IFNWR0FuaW1hdGVkVHlw
ZVZhbHVlPFNWR0xlbmd0aD4gOiBOb25jb3B5YWJsZSB7CisgICAgICAgIHN0YXRpYyBTVkdMZW5n
dGggbnVsbCgpIHsgcmV0dXJuIFNWR0xlbmd0aCgpOyB9CisgICAgICAgIHN0YXRpYyBBdG9taWNT
dHJpbmcgdG9TdHJpbmcoY29uc3QgU1ZHTGVuZ3RoJiB0eXBlKSB7IHJldHVybiB0eXBlLnZhbHVl
QXNTdHJpbmcoKTsgfQorICAgIH07CisKKyAgICB0ZW1wbGF0ZTw+CisgICAgc3RydWN0IFNWR0Fu
aW1hdGVkVHlwZVZhbHVlPGZsb2F0PiA6IE5vbmNvcHlhYmxlIHsKKyAgICAgICAgc3RhdGljIGZs
b2F0IG51bGwoKSB7IHJldHVybiAwLjBmOyB9CisgICAgICAgIHN0YXRpYyBBdG9taWNTdHJpbmcg
dG9TdHJpbmcoZmxvYXQgdHlwZSkgeyByZXR1cm4gU3RyaW5nOjpudW1iZXIodHlwZSk7IH0KKyAg
ICB9OworCisgICAgdGVtcGxhdGU8PgorICAgIHN0cnVjdCBTVkdBbmltYXRlZFR5cGVWYWx1ZTxG
bG9hdFJlY3Q+IDogTm9uY29weWFibGUgeworICAgICAgICBzdGF0aWMgRmxvYXRSZWN0IG51bGwo
KSB7IHJldHVybiBGbG9hdFJlY3QoKTsgfQorICAgICAgICBzdGF0aWMgQXRvbWljU3RyaW5nIHRv
U3RyaW5nKGNvbnN0IEZsb2F0UmVjdCYgdHlwZSkgeyByZXR1cm4gU3RyaW5nOjpmb3JtYXQoIiVm
ICVmICVmICVmIiwgdHlwZS54KCksIHR5cGUueSgpLCB0eXBlLndpZHRoKCksIHR5cGUuaGVpZ2h0
KCkpOyB9CisgICAgfTsKKworICAgIHRlbXBsYXRlPD4KKyAgICBzdHJ1Y3QgU1ZHQW5pbWF0ZWRU
eXBlVmFsdWU8U3RyaW5nPiA6IE5vbmNvcHlhYmxlIHsKKyAgICAgICAgc3RhdGljIFN0cmluZyBu
dWxsKCkgeyByZXR1cm4gU3RyaW5nKCk7IH0KKyAgICAgICAgc3RhdGljIEF0b21pY1N0cmluZyB0
b1N0cmluZyhjb25zdCBTdHJpbmcmIHR5cGUpIHsgcmV0dXJuIHR5cGU7IH0KKyAgICB9OworCiAg
ICAgLy8gQ29tbW9uIHR5cGUgZGVmaW5pdGlvbnMsIHRvIGVhc2UgSURMIGdlbmVyYXRpb24uCiAg
ICAgdHlwZWRlZiBTVkdBbmltYXRlZFRlbXBsYXRlPFNWR0FuZ2xlKj4gU1ZHQW5pbWF0ZWRBbmds
ZTsKICAgICB0eXBlZGVmIFNWR0FuaW1hdGVkVGVtcGxhdGU8Ym9vbD4gU1ZHQW5pbWF0ZWRCb29s
ZWFuOwpAQCAtMTcwLDYgKzIyMiw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICB0eXBlZGVm
IFNWR0FuaW1hdGVkVGVtcGxhdGU8RmxvYXRSZWN0PiBTVkdBbmltYXRlZFJlY3Q7CiAgICAgdHlw
ZWRlZiBTVkdBbmltYXRlZFRlbXBsYXRlPFN0cmluZz4gU1ZHQW5pbWF0ZWRTdHJpbmc7CiAgICAg
dHlwZWRlZiBTVkdBbmltYXRlZFRlbXBsYXRlPFNWR1RyYW5zZm9ybUxpc3QqPiBTVkdBbmltYXRl
ZFRyYW5zZm9ybUxpc3Q7CisKIH0KIAogI2VuZGlmIC8vIEVOQUJMRShTVkcpCkluZGV4OiBXZWJD
b3JlL3N2Zy9TVkdDaXJjbGVFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9T
VkdDaXJjbGVFbGVtZW50LmNwcAkocmV2aXNpb24gMzUwMDYpCisrKyBXZWJDb3JlL3N2Zy9TVkdD
aXJjbGVFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjcsNiArMjcsNyBAQAogCiAjaW5j
bHVkZSAiRmxvYXRQb2ludC5oIgogI2luY2x1ZGUgIlJlbmRlclBhdGguaCIKKyNpbmNsdWRlICJT
VkdMZW5ndGguaCIKICNpbmNsdWRlICJTVkdOYW1lcy5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CkBAIC0zNiw5ICszNyw5IEBAIFNWR0NpcmNsZUVsZW1lbnQ6OlNWR0NpcmNsZUVsZW1lbnQoY29u
c3QKICAgICAsIFNWR1Rlc3RzKCkKICAgICAsIFNWR0xhbmdTcGFjZSgpCiAgICAgLCBTVkdFeHRl
cm5hbFJlc291cmNlc1JlcXVpcmVkKCkKLSAgICAsIG1fY3goU1ZHTGVuZ3RoKHRoaXMsIExlbmd0
aE1vZGVXaWR0aCkpCi0gICAgLCBtX2N5KFNWR0xlbmd0aCh0aGlzLCBMZW5ndGhNb2RlSGVpZ2h0
KSkKLSAgICAsIG1fcihTVkdMZW5ndGgodGhpcywgTGVuZ3RoTW9kZU90aGVyKSkKKyAgICAsIG1f
Y3godGhpcywgTGVuZ3RoTW9kZVdpZHRoKQorICAgICwgbV9jeSh0aGlzLCBMZW5ndGhNb2RlSGVp
Z2h0KQorICAgICwgbV9yKHRoaXMsIExlbmd0aE1vZGVPdGhlcikKIHsKIH0KIApAQCAtNDYsOSAr
NDcsOSBAQCBTVkdDaXJjbGVFbGVtZW50Ojp+U1ZHQ2lyY2xlRWxlbWVudCgpCiB7CiB9CiAKLUFO
SU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0NpcmNsZUVsZW1lbnQsIFNWR0xlbmd0aCwg
TGVuZ3RoLCBsZW5ndGgsIEN4LCBjeCwgU1ZHTmFtZXM6OmN4QXR0ciwgbV9jeCkKLUFOSU1BVEVE
X1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0NpcmNsZUVsZW1lbnQsIFNWR0xlbmd0aCwgTGVuZ3Ro
LCBsZW5ndGgsIEN5LCBjeSwgU1ZHTmFtZXM6OmN5QXR0ciwgbV9jeSkKLUFOSU1BVEVEX1BST1BF
UlRZX0RFRklOSVRJT05TKFNWR0NpcmNsZUVsZW1lbnQsIFNWR0xlbmd0aCwgTGVuZ3RoLCBsZW5n
dGgsIFIsIHIsIFNWR05hbWVzOjpyQXR0ciwgbV9yKQorQU5JTUFURURfUFJPUEVSVFlfREVGSU5J
VElPTlMoU1ZHQ2lyY2xlRWxlbWVudCwgU1ZHTGVuZ3RoLCBDeCwgY3gsIFNWR05hbWVzOjpjeEF0
dHIpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdDaXJjbGVFbGVtZW50LCBTVkdM
ZW5ndGgsIEN5LCBjeSwgU1ZHTmFtZXM6OmN5QXR0cikKK0FOSU1BVEVEX1BST1BFUlRZX0RFRklO
SVRJT05TKFNWR0NpcmNsZUVsZW1lbnQsIFNWR0xlbmd0aCwgUiwgciwgU1ZHTmFtZXM6OnJBdHRy
KQogCiB2b2lkIFNWR0NpcmNsZUVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKE1hcHBlZEF0
dHJpYnV0ZSogYXR0cikKIHsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0NpcmNsZUVsZW1lbnQuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdDaXJjbGVFbGVtZW50LmgJKHJldmlzaW9uIDM1
MDA2KQorKysgV2ViQ29yZS9zdmcvU1ZHQ2lyY2xlRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBA
IC01Myw5ICs1Myw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBwcml2YXRlOgogICAgICAg
ICBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdFeHRlcm5hbFJlc291
cmNlc1JlcXVpcmVkLCBib29sLCBFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJl
c291cmNlc1JlcXVpcmVkKQogCi0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9O
UyhTVkdDaXJjbGVFbGVtZW50LCBTVkdMZW5ndGgsIFNWR0xlbmd0aCwgQ3gsIGN4KQotICAgICAg
ICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHQ2lyY2xlRWxlbWVudCwgU1ZHTGVu
Z3RoLCBTVkdMZW5ndGgsIEN5LCBjeSkKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFS
QVRJT05TKFNWR0NpcmNsZUVsZW1lbnQsIFNWR0xlbmd0aCwgU1ZHTGVuZ3RoLCBSLCByKQorICAg
ICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHQ2lyY2xlRWxlbWVudCwgU1ZH
TGVuZ3RoLCBDeCwgY3gpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhT
VkdDaXJjbGVFbGVtZW50LCBTVkdMZW5ndGgsIEN5LCBjeSkKKyAgICAgICAgQU5JTUFURURfUFJP
UEVSVFlfREVDTEFSQVRJT05TKFNWR0NpcmNsZUVsZW1lbnQsIFNWR0xlbmd0aCwgUiwgcikKICAg
ICB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdDbGlw
UGF0aEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0NsaXBQYXRoRWxl
bWVudC5jcHAJKHJldmlzaW9uIDM1MDA2KQorKysgV2ViQ29yZS9zdmcvU1ZHQ2xpcFBhdGhFbGVt
ZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDYsNyArNDYsNyBAQCBTVkdDbGlwUGF0aEVsZW1l
bnQ6On5TVkdDbGlwUGF0aEVsZW1lbnQoCiB7CiB9CiAKLUFOSU1BVEVEX1BST1BFUlRZX0RFRklO
SVRJT05TKFNWR0NsaXBQYXRoRWxlbWVudCwgaW50LCBFbnVtZXJhdGlvbiwgZW51bWVyYXRpb24s
IENsaXBQYXRoVW5pdHMsIGNsaXBQYXRoVW5pdHMsIFNWR05hbWVzOjpjbGlwUGF0aFVuaXRzQXR0
ciwgbV9jbGlwUGF0aFVuaXRzKQorQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHQ2xp
cFBhdGhFbGVtZW50LCBpbnQsIENsaXBQYXRoVW5pdHMsIGNsaXBQYXRoVW5pdHMsIFNWR05hbWVz
OjpjbGlwUGF0aFVuaXRzQXR0cikKIAogdm9pZCBTVkdDbGlwUGF0aEVsZW1lbnQ6OnBhcnNlTWFw
cGVkQXR0cmlidXRlKE1hcHBlZEF0dHJpYnV0ZSogYXR0cikKIHsKSW5kZXg6IFdlYkNvcmUvc3Zn
L1NWR0NsaXBQYXRoRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0NsaXBQ
YXRoRWxlbWVudC5oCShyZXZpc2lvbiAzNTAwNikKKysrIFdlYkNvcmUvc3ZnL1NWR0NsaXBQYXRo
RWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC01Niw3ICs1Niw3IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICBwcml2YXRlOgogICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RF
Q0xBUkFUSU9OUyhTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBib29sLCBFeHRlcm5hbFJl
c291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQogCi0gICAgICAgIEFO
SU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdDbGlwUGF0aEVsZW1lbnQsIGludCwgaW50
LCBDbGlwUGF0aFVuaXRzLCBjbGlwUGF0aFVuaXRzKQorICAgICAgICBBTklNQVRFRF9QUk9QRVJU
WV9ERUNMQVJBVElPTlMoU1ZHQ2xpcFBhdGhFbGVtZW50LCBpbnQsIENsaXBQYXRoVW5pdHMsIGNs
aXBQYXRoVW5pdHMpCiAKICAgICAgICAgUmVmUHRyPFNWR1Jlc291cmNlQ2xpcHBlcj4gbV9jbGlw
cGVyOwogICAgIH07CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdDb21wb25lbnRUcmFuc2ZlckZ1bmN0
aW9uRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHQ29tcG9uZW50VHJh
bnNmZXJGdW5jdGlvbkVsZW1lbnQuY3BwCShyZXZpc2lvbiAzNTAwNikKKysrIFdlYkNvcmUvc3Zn
L1NWR0NvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb25FbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNDcsMTMgKzQ3LDEzIEBAIFNWR0NvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb25FbGVtZW50Ojp+
U1YKIHsKIH0KIAotQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHQ29tcG9uZW50VHJh
bnNmZXJGdW5jdGlvbkVsZW1lbnQsIGludCwgRW51bWVyYXRpb24sIGVudW1lcmF0aW9uLCBUeXBl
LCB0eXBlLCBTVkdOYW1lczo6dHlwZUF0dHIsIG1fdHlwZSkKLUFOSU1BVEVEX1BST1BFUlRZX0RF
RklOSVRJT05TKFNWR0NvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb25FbGVtZW50LCBTVkdOdW1iZXJM
aXN0KiwgTnVtYmVyTGlzdCwgbnVtYmVyTGlzdCwgVGFibGVWYWx1ZXMsIHRhYmxlVmFsdWVzLCBT
VkdOYW1lczo6dGFibGVWYWx1ZXNBdHRyLCBtX3RhYmxlVmFsdWVzLmdldCgpKQotQU5JTUFURURf
UFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHQ29tcG9uZW50VHJhbnNmZXJGdW5jdGlvbkVsZW1lbnQs
IGZsb2F0LCBOdW1iZXIsIG51bWJlciwgU2xvcGUsIHNsb3BlLCBTVkdOYW1lczo6c2xvcGVBdHRy
LCBtX3Nsb3BlKQotQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHQ29tcG9uZW50VHJh
bnNmZXJGdW5jdGlvbkVsZW1lbnQsIGZsb2F0LCBOdW1iZXIsIG51bWJlciwgSW50ZXJjZXB0LCBp
bnRlcmNlcHQsIFNWR05hbWVzOjppbnRlcmNlcHRBdHRyLCBtX2ludGVyY2VwdCkKLUFOSU1BVEVE
X1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0NvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb25FbGVtZW50
LCBmbG9hdCwgTnVtYmVyLCBudW1iZXIsIEFtcGxpdHVkZSwgYW1wbGl0dWRlLCBTVkdOYW1lczo6
YW1wbGl0dWRlQXR0ciwgbV9hbXBsaXR1ZGUpCi1BTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9O
UyhTVkdDb21wb25lbnRUcmFuc2ZlckZ1bmN0aW9uRWxlbWVudCwgZmxvYXQsIE51bWJlciwgbnVt
YmVyLCBFeHBvbmVudCwgZXhwb25lbnQsIFNWR05hbWVzOjpleHBvbmVudEF0dHIsIG1fZXhwb25l
bnQpCi1BTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdDb21wb25lbnRUcmFuc2ZlckZ1
bmN0aW9uRWxlbWVudCwgZmxvYXQsIE51bWJlciwgbnVtYmVyLCBPZmZzZXQsIG9mZnNldCwgU1ZH
TmFtZXM6Om9mZnNldEF0dHIsIG1fb2Zmc2V0KQorQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElP
TlMoU1ZHQ29tcG9uZW50VHJhbnNmZXJGdW5jdGlvbkVsZW1lbnQsIGludCwgVHlwZSwgdHlwZSwg
U1ZHTmFtZXM6OnR5cGVBdHRyKQorQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlNfUkVGQ09V
TlRFRChTVkdDb21wb25lbnRUcmFuc2ZlckZ1bmN0aW9uRWxlbWVudCwgU1ZHTnVtYmVyTGlzdCwg
VGFibGVWYWx1ZXMsIHRhYmxlVmFsdWVzLCBTVkdOYW1lczo6dGFibGVWYWx1ZXNBdHRyKQorQU5J
TUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHQ29tcG9uZW50VHJhbnNmZXJGdW5jdGlvbkVs
ZW1lbnQsIGZsb2F0LCBTbG9wZSwgc2xvcGUsIFNWR05hbWVzOjpzbG9wZUF0dHIpCitBTklNQVRF
RF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdDb21wb25lbnRUcmFuc2ZlckZ1bmN0aW9uRWxlbWVu
dCwgZmxvYXQsIEludGVyY2VwdCwgaW50ZXJjZXB0LCBTVkdOYW1lczo6aW50ZXJjZXB0QXR0cikK
K0FOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0NvbXBvbmVudFRyYW5zZmVyRnVuY3Rp
b25FbGVtZW50LCBmbG9hdCwgQW1wbGl0dWRlLCBhbXBsaXR1ZGUsIFNWR05hbWVzOjphbXBsaXR1
ZGVBdHRyKQorQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHQ29tcG9uZW50VHJhbnNm
ZXJGdW5jdGlvbkVsZW1lbnQsIGZsb2F0LCBFeHBvbmVudCwgZXhwb25lbnQsIFNWR05hbWVzOjpl
eHBvbmVudEF0dHIpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdDb21wb25lbnRU
cmFuc2ZlckZ1bmN0aW9uRWxlbWVudCwgZmxvYXQsIE9mZnNldCwgb2Zmc2V0LCBTVkdOYW1lczo6
b2Zmc2V0QXR0cikKIAogdm9pZCBTVkdDb21wb25lbnRUcmFuc2ZlckZ1bmN0aW9uRWxlbWVudDo6
cGFyc2VNYXBwZWRBdHRyaWJ1dGUoTWFwcGVkQXR0cmlidXRlKiBhdHRyKQogewpJbmRleDogV2Vi
Q29yZS9zdmcvU1ZHQ29tcG9uZW50VHJhbnNmZXJGdW5jdGlvbkVsZW1lbnQuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL3N2Zy9TVkdDb21wb25lbnRUcmFuc2ZlckZ1bmN0aW9uRWxlbWVudC5oCShy
ZXZpc2lvbiAzNTAwNikKKysrIFdlYkNvcmUvc3ZnL1NWR0NvbXBvbmVudFRyYW5zZmVyRnVuY3Rp
b25FbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTQ0LDEzICs0NCwxNCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZQogICAgICAgICBDb21wb25lbnRUcmFuc2ZlckZ1bmN0aW9uIHRyYW5zZmVyRnVuY3Rp
b24oKSBjb25zdDsKIAogICAgIHByaXZhdGU6Ci0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RF
Q0xBUkFUSU9OUyhTVkdDb21wb25lbnRUcmFuc2ZlckZ1bmN0aW9uRWxlbWVudCwgaW50LCBpbnQs
IFR5cGUsIHR5cGUpCi0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdD
b21wb25lbnRUcmFuc2ZlckZ1bmN0aW9uRWxlbWVudCwgU1ZHTnVtYmVyTGlzdCosIFJlZlB0cjxT
VkdOdW1iZXJMaXN0PiwgVGFibGVWYWx1ZXMsIHRhYmxlVmFsdWVzKQotICAgICAgICBBTklNQVRF
RF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHQ29tcG9uZW50VHJhbnNmZXJGdW5jdGlvbkVsZW1l
bnQsIGZsb2F0LCBmbG9hdCwgU2xvcGUsIHNsb3BlKQotICAgICAgICBBTklNQVRFRF9QUk9QRVJU
WV9ERUNMQVJBVElPTlMoU1ZHQ29tcG9uZW50VHJhbnNmZXJGdW5jdGlvbkVsZW1lbnQsIGZsb2F0
LCBmbG9hdCwgSW50ZXJjZXB0LCBpbnRlcmNlcHQpCi0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZ
X0RFQ0xBUkFUSU9OUyhTVkdDb21wb25lbnRUcmFuc2ZlckZ1bmN0aW9uRWxlbWVudCwgZmxvYXQs
IGZsb2F0LCBBbXBsaXR1ZGUsIGFtcGxpdHVkZSkKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlf
REVDTEFSQVRJT05TKFNWR0NvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb25FbGVtZW50LCBmbG9hdCwg
ZmxvYXQsIEV4cG9uZW50LCBleHBvbmVudCkKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVD
TEFSQVRJT05TKFNWR0NvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb25FbGVtZW50LCBmbG9hdCwgZmxv
YXQsIE9mZnNldCwgb2Zmc2V0KQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9TVEFSVF9ERUNM
QVJBVElPTlMKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0NvbXBv
bmVudFRyYW5zZmVyRnVuY3Rpb25FbGVtZW50LCBpbnQsIFR5cGUsIHR5cGUpCisgICAgICAgIEFO
SU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OU19SRUZDT1VOVEVEKFNWR0NvbXBvbmVudFRyYW5z
ZmVyRnVuY3Rpb25FbGVtZW50LCBTVkdOdW1iZXJMaXN0LCBUYWJsZVZhbHVlcywgdGFibGVWYWx1
ZXMpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdDb21wb25lbnRU
cmFuc2ZlckZ1bmN0aW9uRWxlbWVudCwgZmxvYXQsIFNsb3BlLCBzbG9wZSkKKyAgICAgICAgQU5J
TUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0NvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb25F
bGVtZW50LCBmbG9hdCwgSW50ZXJjZXB0LCBpbnRlcmNlcHQpCisgICAgICAgIEFOSU1BVEVEX1BS
T1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdDb21wb25lbnRUcmFuc2ZlckZ1bmN0aW9uRWxlbWVudCwg
ZmxvYXQsIEFtcGxpdHVkZSwgYW1wbGl0dWRlKQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9E
RUNMQVJBVElPTlMoU1ZHQ29tcG9uZW50VHJhbnNmZXJGdW5jdGlvbkVsZW1lbnQsIGZsb2F0LCBF
eHBvbmVudCwgZXhwb25lbnQpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9O
UyhTVkdDb21wb25lbnRUcmFuc2ZlckZ1bmN0aW9uRWxlbWVudCwgZmxvYXQsIE9mZnNldCwgb2Zm
c2V0KQogICAgIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFdlYkNvcmUvc3Zn
L1NWR0N1cnNvckVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0N1cnNv
ckVsZW1lbnQuY3BwCShyZXZpc2lvbiAzNTAwNikKKysrIFdlYkNvcmUvc3ZnL1NWR0N1cnNvckVs
ZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw4ICszNiw4IEBAIFNWR0N1cnNvckVsZW1l
bnQ6OlNWR0N1cnNvckVsZW1lbnQoY29uc3QKICAgICAsIFNWR1Rlc3RzKCkKICAgICAsIFNWR0V4
dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQoKQogICAgICwgU1ZHVVJJUmVmZXJlbmNlKCkKLSAgICAs
IG1feCgwLCBMZW5ndGhNb2RlV2lkdGgpCi0gICAgLCBtX3koMCwgTGVuZ3RoTW9kZUhlaWdodCkK
KyAgICAsIG1feChzdGF0aWNfY2FzdDxTVkdTdHlsZWRFbGVtZW50Kj4oMCksIExlbmd0aE1vZGVX
aWR0aCkKKyAgICAsIG1feShzdGF0aWNfY2FzdDxTVkdTdHlsZWRFbGVtZW50Kj4oMCksIExlbmd0
aE1vZGVIZWlnaHQpCiB7CiB9CiAKQEAgLTQ1LDggKzQ1LDggQEAgU1ZHQ3Vyc29yRWxlbWVudDo6
flNWR0N1cnNvckVsZW1lbnQoKQogewogfQogCi1BTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9O
UyhTVkdDdXJzb3JFbGVtZW50LCBTVkdMZW5ndGgsIExlbmd0aCwgbGVuZ3RoLCBYLCB4LCBTVkdO
YW1lczo6eEF0dHIsIG1feCkKLUFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0N1cnNv
ckVsZW1lbnQsIFNWR0xlbmd0aCwgTGVuZ3RoLCBsZW5ndGgsIFksIHksIFNWR05hbWVzOjp5QXR0
ciwgbV95KQorQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHQ3Vyc29yRWxlbWVudCwg
U1ZHTGVuZ3RoLCBYLCB4LCBTVkdOYW1lczo6eEF0dHIpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJ
TklUSU9OUyhTVkdDdXJzb3JFbGVtZW50LCBTVkdMZW5ndGgsIFksIHksIFNWR05hbWVzOjp5QXR0
cikKIAogdm9pZCBTVkdDdXJzb3JFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShNYXBwZWRB
dHRyaWJ1dGUqIGF0dHIpCiB7CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdDdXJzb3JFbGVtZW50LmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHQ3Vyc29yRWxlbWVudC5oCShyZXZpc2lvbiAz
NTAwNikKKysrIFdlYkNvcmUvc3ZnL1NWR0N1cnNvckVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpA
QCAtNTcsOCArNTcsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIEFOSU1BVEVEX1BS
T1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJT05TKFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQs
IGJvb2wsIEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWly
ZWQpCiAgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJT05TKFNWR1VS
SVJlZmVyZW5jZSwgU3RyaW5nLCBIcmVmLCBocmVmKQogCi0gICAgICAgIEFOSU1BVEVEX1BST1BF
UlRZX0RFQ0xBUkFUSU9OUyhTVkdDdXJzb3JFbGVtZW50LCBTVkdMZW5ndGgsIFNWR0xlbmd0aCwg
WCwgeCkKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0N1cnNvckVs
ZW1lbnQsIFNWR0xlbmd0aCwgU1ZHTGVuZ3RoLCBZLCB5KQorICAgICAgICBBTklNQVRFRF9QUk9Q
RVJUWV9ERUNMQVJBVElPTlMoU1ZHQ3Vyc29yRWxlbWVudCwgU1ZHTGVuZ3RoLCBYLCB4KQorICAg
ICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHQ3Vyc29yRWxlbWVudCwgU1ZH
TGVuZ3RoLCBZLCB5KQogCiAgICAgICAgIEhhc2hTZXQ8U1ZHRWxlbWVudCo+IG1fY2xpZW50czsK
ICAgICB9OwpJbmRleDogV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnRFeHRlbnNpb25zLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnRFeHRlbnNpb25zLmgJKHJldmlzaW9uIDM1
MDA2KQorKysgV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnRFeHRlbnNpb25zLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTEsNiArMSw2IEBACiAvKgogICAgIENvcHlyaWdodCAoQykgMjAwNiBBcHBsZSBDb21w
dXRlciwgSW5jLgotICAgICAgICAgICAgICAgICAgMjAwNiBOaWtvbGFzIFppbW1lcm1hbm4gPHpp
bW1lcm1hbm5Aa2RlLm9yZz4KKyAgICAgICAgICAgICAgICAgIDIwMDYsIDIwMDggTmlrb2xhcyBa
aW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+CiAKICAgICBUaGlzIGZpbGUgaXMgcGFydCBv
ZiB0aGUgV2ViS2l0IHByb2plY3QKIApAQCAtMjQsMjkgKzI0LDIyIEBACiAjZGVmaW5lIFNWR0Rv
Y3VtZW50RXh0ZW5zaW9uc19oCiAKICNpZiBFTkFCTEUoU1ZHKQotCi0jaW5jbHVkZSA8bWVtb3J5
PgotI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KICNp
bmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogCi0jaW5jbHVkZSAiRmxvYXRSZWN0LmgiCiAjaW5jbHVk
ZSAiU3RyaW5nSGFzaC5oIgogI2luY2x1ZGUgIlN0cmluZ0ltcGwuaCIKLSNpbmNsdWRlICJBdG9t
aWNTdHJpbmcuaCIKKyNpbmNsdWRlICJTVkdBbmltYXRlZFRlbXBsYXRlLmgiCiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotY2xhc3MgQXRvbWljU3RyaW5nOwogY2xhc3MgRG9jdW1lbnQ7CiBjbGFz
cyBFdmVudExpc3RlbmVyOwogY2xhc3MgTm9kZTsKIGNsYXNzIFN0cmluZzsKLWNsYXNzIFNWR0Vs
ZW1lbnQ7CiBjbGFzcyBTVkdFbGVtZW50SW5zdGFuY2U7CiBjbGFzcyBTVkdTdHlsZWRFbGVtZW50
OwogY2xhc3MgU1ZHU1ZHRWxlbWVudDsKLWNsYXNzIFRpbWVTY2hlZHVsZXI7CiAKIGNsYXNzIFNW
R0RvY3VtZW50RXh0ZW5zaW9ucyB7CiBwdWJsaWM6CkBAIC0xMDMsNyArOTYsNyBAQCBwdWJsaWM6
CiAgICAgICAgIGlmIChwcm9wZXJ0eU1hcCkKICAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0eU1h
cC0+Z2V0KHByb3BlcnR5TmFtZS5pbXBsKCkpOwogCi0gICAgICAgIHJldHVybiAwOworICAgICAg
ICByZXR1cm4gU1ZHQW5pbWF0ZWRUeXBlVmFsdWU8VmFsdWVUeXBlPjo6bnVsbCgpOwogICAgIH0K
IAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFZhbHVlVHlwZT4KQEAgLTEzOSw1MiArMTMyLDcgQEAg
cHVibGljOgogICAgIH0KIH07CiAKLS8vIFNwZWNpYWwgaGFuZGxpbmcgZm9yIFdlYkNvcmU6OlN0
cmluZwotdGVtcGxhdGU8PgotaW5saW5lIFN0cmluZyBTVkdEb2N1bWVudEV4dGVuc2lvbnM6OmJh
c2VWYWx1ZTxTdHJpbmc+KGNvbnN0IFNWR0VsZW1lbnQqIGVsZW1lbnQsIGNvbnN0IEF0b21pY1N0
cmluZyYgcHJvcGVydHlOYW1lKSBjb25zdAotewotICAgIEhhc2hNYXA8U3RyaW5nSW1wbCosIFN0
cmluZz4qIHByb3BlcnR5TWFwID0gYmFzZVZhbHVlTWFwPFN0cmluZz4oKS0+Z2V0KGVsZW1lbnQp
OwotICAgIGlmIChwcm9wZXJ0eU1hcCkKLSAgICAgICAgcmV0dXJuIHByb3BlcnR5TWFwLT5nZXQo
cHJvcGVydHlOYW1lLmltcGwoKSk7Ci0KLSAgICByZXR1cm4gU3RyaW5nKCk7Ci19Ci0KLS8vIFNw
ZWNpYWwgaGFuZGxpbmcgZm9yIFdlYkNvcmU6OkZsb2F0UmVjdAotdGVtcGxhdGU8PgotaW5saW5l
IEZsb2F0UmVjdCBTVkdEb2N1bWVudEV4dGVuc2lvbnM6OmJhc2VWYWx1ZTxGbG9hdFJlY3Q+KGNv
bnN0IFNWR0VsZW1lbnQqIGVsZW1lbnQsIGNvbnN0IEF0b21pY1N0cmluZyYgcHJvcGVydHlOYW1l
KSBjb25zdAotewotICAgIEhhc2hNYXA8U3RyaW5nSW1wbCosIEZsb2F0UmVjdD4qIHByb3BlcnR5
TWFwID0gYmFzZVZhbHVlTWFwPEZsb2F0UmVjdD4oKS0+Z2V0KGVsZW1lbnQpOwotICAgIGlmIChw
cm9wZXJ0eU1hcCkKLSAgICAgICAgcmV0dXJuIHByb3BlcnR5TWFwLT5nZXQocHJvcGVydHlOYW1l
LmltcGwoKSk7Ci0KLSAgICByZXR1cm4gRmxvYXRSZWN0KCk7Ci19Ci0KLS8vIFNwZWNpYWwgaGFu
ZGxpbmcgZm9yIGJvb2xlYW5zCi10ZW1wbGF0ZTw+Ci1pbmxpbmUgYm9vbCBTVkdEb2N1bWVudEV4
dGVuc2lvbnM6OmJhc2VWYWx1ZTxib29sPihjb25zdCBTVkdFbGVtZW50KiBlbGVtZW50LCBjb25z
dCBBdG9taWNTdHJpbmcmIHByb3BlcnR5TmFtZSkgY29uc3QKLXsKLSAgICBIYXNoTWFwPFN0cmlu
Z0ltcGwqLCBib29sPiogcHJvcGVydHlNYXAgPSBiYXNlVmFsdWVNYXA8Ym9vbD4oKS0+Z2V0KGVs
ZW1lbnQpOwotICAgIGlmIChwcm9wZXJ0eU1hcCkKLSAgICAgICAgcmV0dXJuIHByb3BlcnR5TWFw
LT5nZXQocHJvcGVydHlOYW1lLmltcGwoKSk7Ci0KLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0KLS8v
IFNwZWNpYWwgaGFuZGxpbmcgZm9yIGRvdWJsZXMKLXRlbXBsYXRlPD4KLWlubGluZSBkb3VibGUg
U1ZHRG9jdW1lbnRFeHRlbnNpb25zOjpiYXNlVmFsdWU8ZG91YmxlPihjb25zdCBTVkdFbGVtZW50
KiBlbGVtZW50LCBjb25zdCBBdG9taWNTdHJpbmcmIHByb3BlcnR5TmFtZSkgY29uc3QKLXsKLSAg
ICBIYXNoTWFwPFN0cmluZ0ltcGwqLCBkb3VibGU+KiBwcm9wZXJ0eU1hcCA9IGJhc2VWYWx1ZU1h
cDxkb3VibGU+KCktPmdldChlbGVtZW50KTsKLSAgICBpZiAocHJvcGVydHlNYXApCi0gICAgICAg
IHJldHVybiBwcm9wZXJ0eU1hcC0+Z2V0KHByb3BlcnR5TmFtZS5pbXBsKCkpOwotCi0gICAgcmV0
dXJuIDAuMDsKLX0KLQogfQogCiAjZW5kaWYgLy8gRU5BQkxFKFNWRykKLQogI2VuZGlmCkluZGV4
OiBXZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9T
VkdFbGVtZW50LmNwcAkocmV2aXNpb24gMzUwMDYpCisrKyBXZWJDb3JlL3N2Zy9TVkdFbGVtZW50
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gICAgQ29weXJpZ2h0IChD
KSAyMDA0LCAyMDA1LCAyMDA2LCAyMDA3IE5pa29sYXMgWmltbWVybWFubiA8emltbWVybWFubkBr
ZGUub3JnPgorICAgIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiwgMjAwNywgMjAwOCBO
aWtvbGFzIFppbW1lcm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KICAgICAgICAgICAgICAgICAg
IDIwMDQsIDIwMDUsIDIwMDYsIDIwMDggUm9iIEJ1aXMgPGJ1aXNAa2RlLm9yZz4KICAgICBDb3B5
cmlnaHQgKEMpIDIwMDggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogCkBAIC0yNjks
NiArMjY5LDMwIEBAIHZvaWQgU1ZHRWxlbWVudDo6YXR0cmlidXRlQ2hhbmdlZChBdHRyaWIKICAg
ICBzdmdBdHRyaWJ1dGVDaGFuZ2VkKGF0dHItPm5hbWUoKSk7CiB9CiAKK3ZvaWQgU1ZHRWxlbWVu
dDo6dXBkYXRlQW5pbWF0ZWRTVkdBdHRyaWJ1dGUoU3RyaW5nSW1wbCogbmFtZSkgY29uc3QKK3sK
KyAgICBBU1NFUlQoIW1fYXJlU1ZHQXR0cmlidXRlc1ZhbGlkKTsKKworICAgIGlmIChtX3N5bmNo
cm9uaXppbmdTVkdBdHRyaWJ1dGVzKQorICAgICAgICByZXR1cm47CisKKyAgICBtX3N5bmNocm9u
aXppbmdTVkdBdHRyaWJ1dGVzID0gdHJ1ZTsKKworICAgIGlmIChuYW1lKQorICAgICAgICBpbnZv
a2VTVkdQcm9wZXJ0eVN5bmNocm9uaXplcihuYW1lKTsKKyAgICBlbHNlIHsKKyAgICAgICAgaW52
b2tlQWxsU1ZHUHJvcGVydHlTeW5jaHJvbml6ZXJzKCk7CisgICAgICAgIHNldFN5bmNocm9uaXpl
ZFNWR0F0dHJpYnV0ZXModHJ1ZSk7CisgICAgfQorCisgICAgbV9zeW5jaHJvbml6aW5nU1ZHQXR0
cmlidXRlcyA9IGZhbHNlOworfQorCit2b2lkIFNWR0VsZW1lbnQ6OnNldFN5bmNocm9uaXplZFNW
R0F0dHJpYnV0ZXMoYm9vbCB2YWx1ZSkgY29uc3QKK3sKKyAgICBtX2FyZVNWR0F0dHJpYnV0ZXNW
YWxpZCA9IHZhbHVlOworfQorCiB9CiAKICNlbmRpZiAvLyBFTkFCTEUoU1ZHKQpJbmRleDogV2Vi
Q29yZS9zdmcvU1ZHRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0VsZW1l
bnQuaAkocmV2aXNpb24gMzUwMDYpCisrKyBXZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmgJKHdvcmtp
bmcgY29weSkKQEAgLTMwLDExMSArMzAsMTc1IEBACiAjaW5jbHVkZSAiU1ZHQW5pbWF0ZWRUZW1w
bGF0ZS5oIgogI2luY2x1ZGUgIlNWR0RvY3VtZW50RXh0ZW5zaW9ucy5oIgogI2luY2x1ZGUgIlNW
R05hbWVzLmgiCisjaW5jbHVkZSAiU3luY2hyb25pemFibGVUeXBlV3JhcHBlci5oIgogCi0jZGVm
aW5lIEFOSU1BVEVEX1BST1BFUlRZX0VNUFRZX0RFQ0xBUkFUSU9OUyhCYXJlVHlwZSwgTnVsbFR5
cGUsIFVwcGVyUHJvcGVydHksIExvd2VyUHJvcGVydHkpIFwKKyNkZWZpbmUgQU5JTUFURURfUFJP
UEVSVFlfRU1QVFlfREVDTEFSQVRJT05TX0lOVEVSTkFMKERlY29yYXRlZFR5cGUsIE51bGxUeXBl
LCBVcHBlclByb3BlcnR5LCBMb3dlclByb3BlcnR5KSBcCiBwdWJsaWM6IFwKLSAgICB2aXJ0dWFs
IEJhcmVUeXBlIExvd2VyUHJvcGVydHkoKSBjb25zdCB7IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOyBy
ZXR1cm4gTnVsbFR5cGU7IH0gXAotICAgIHZpcnR1YWwgdm9pZCBzZXQjI1VwcGVyUHJvcGVydHko
QmFyZVR5cGUgbmV3VmFsdWUpIHsgQVNTRVJUX05PVF9SRUFDSEVEKCk7IH1cCi0gICAgdmlydHVh
bCBCYXJlVHlwZSBMb3dlclByb3BlcnR5IyNCYXNlVmFsdWUoKSBjb25zdCB7IEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOyByZXR1cm4gTnVsbFR5cGU7IH0gXAotICAgIHZpcnR1YWwgdm9pZCBzZXQjI1Vw
cGVyUHJvcGVydHkjI0Jhc2VWYWx1ZShCYXJlVHlwZSBuZXdWYWx1ZSkgeyBBU1NFUlRfTk9UX1JF
QUNIRUQoKTsgfSBcCisgICAgdmlydHVhbCBEZWNvcmF0ZWRUeXBlIExvd2VyUHJvcGVydHkoKSBj
b25zdCB7IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOyByZXR1cm4gTnVsbFR5cGU7IH0gXAorICAgIHZp
cnR1YWwgdm9pZCBzZXQjI1VwcGVyUHJvcGVydHkoRGVjb3JhdGVkVHlwZSkgeyBBU1NFUlRfTk9U
X1JFQUNIRUQoKTsgfSBcCisgICAgdmlydHVhbCBEZWNvcmF0ZWRUeXBlIExvd2VyUHJvcGVydHkj
I0Jhc2VWYWx1ZSgpIGNvbnN0IHsgQVNTRVJUX05PVF9SRUFDSEVEKCk7IHJldHVybiBOdWxsVHlw
ZTsgfSBcCisgICAgdmlydHVhbCB2b2lkIHNldCMjVXBwZXJQcm9wZXJ0eSMjQmFzZVZhbHVlKERl
Y29yYXRlZFR5cGUpIHsgQVNTRVJUX05PVF9SRUFDSEVEKCk7IH0gXAorICAgIHZpcnR1YWwgdm9p
ZCBzeW5jaHJvbml6ZSMjVXBwZXJQcm9wZXJ0eSgpIGNvbnN0IHsgQVNTRVJUX05PVF9SRUFDSEVE
KCk7IH0gXAorICAgIHZpcnR1YWwgQW5pbWF0ZWRQcm9wZXJ0eVN5bmNocm9uaXplciBzeW5jaHJv
bml6ZXJGb3IjI1VwcGVyUHJvcGVydHkoKSBjb25zdCB7IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOyBy
ZXR1cm4gQW5pbWF0ZWRQcm9wZXJ0eVN5bmNocm9uaXplcigpOyB9IFwKICAgICB2aXJ0dWFsIHZv
aWQgc3RhcnQjI1VwcGVyUHJvcGVydHkoKSBjb25zdCB7IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOyB9
IFwKICAgICB2aXJ0dWFsIHZvaWQgc3RvcCMjVXBwZXJQcm9wZXJ0eSgpIHsgQVNTRVJUX05PVF9S
RUFDSEVEKCk7IH0KIAotI2RlZmluZSBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFU
SU9OUyhGb3J3YXJkQ2xhc3MsIEJhcmVUeXBlLCBVcHBlclByb3BlcnR5LCBMb3dlclByb3BlcnR5
KSBcCisjZGVmaW5lIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJT05TX0lOVEVS
TkFMKEZvcndhcmRDbGFzcywgRGVjb3JhdGVkVHlwZSwgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9w
ZXJ0eSkgXAogcHVibGljOiBcCi0gICAgdmlydHVhbCBCYXJlVHlwZSBMb3dlclByb3BlcnR5KCkg
Y29uc3QgeyByZXR1cm4gRm9yd2FyZENsYXNzOjpMb3dlclByb3BlcnR5KCk7IH0gXAotICAgIHZp
cnR1YWwgdm9pZCBzZXQjI1VwcGVyUHJvcGVydHkoQmFyZVR5cGUgbmV3VmFsdWUpIHsgRm9yd2Fy
ZENsYXNzOjpzZXQjI1VwcGVyUHJvcGVydHkobmV3VmFsdWUpOyB9IFwKLSAgICB2aXJ0dWFsIEJh
cmVUeXBlIExvd2VyUHJvcGVydHkjI0Jhc2VWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIEZvcndhcmRD
bGFzczo6TG93ZXJQcm9wZXJ0eSMjQmFzZVZhbHVlKCk7IH0gXAotICAgIHZpcnR1YWwgdm9pZCBz
ZXQjI1VwcGVyUHJvcGVydHkjI0Jhc2VWYWx1ZShCYXJlVHlwZSBuZXdWYWx1ZSkgeyBGb3J3YXJk
Q2xhc3M6OnNldCMjVXBwZXJQcm9wZXJ0eSMjQmFzZVZhbHVlKG5ld1ZhbHVlKTsgfSBcCisgICAg
dmlydHVhbCBEZWNvcmF0ZWRUeXBlIExvd2VyUHJvcGVydHkoKSBjb25zdCB7IHJldHVybiBGb3J3
YXJkQ2xhc3M6Okxvd2VyUHJvcGVydHkoKTsgfSBcCisgICAgdmlydHVhbCB2b2lkIHNldCMjVXBw
ZXJQcm9wZXJ0eShEZWNvcmF0ZWRUeXBlIG5ld1ZhbHVlKSB7IEZvcndhcmRDbGFzczo6c2V0IyNV
cHBlclByb3BlcnR5KG5ld1ZhbHVlKTsgfSBcCisgICAgdmlydHVhbCBEZWNvcmF0ZWRUeXBlIExv
d2VyUHJvcGVydHkjI0Jhc2VWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIEZvcndhcmRDbGFzczo6TG93
ZXJQcm9wZXJ0eSMjQmFzZVZhbHVlKCk7IH0gXAorICAgIHZpcnR1YWwgdm9pZCBzZXQjI1VwcGVy
UHJvcGVydHkjI0Jhc2VWYWx1ZShEZWNvcmF0ZWRUeXBlIG5ld1ZhbHVlKSB7IEZvcndhcmRDbGFz
czo6c2V0IyNVcHBlclByb3BlcnR5IyNCYXNlVmFsdWUobmV3VmFsdWUpOyB9IFwKKyAgICB2aXJ0
dWFsIHZvaWQgc3luY2hyb25pemUjI1VwcGVyUHJvcGVydHkoKSBjb25zdCB7IEZvcndhcmRDbGFz
czo6c3luY2hyb25pemUjI1VwcGVyUHJvcGVydHkoKTsgfSBcCisgICAgdmlydHVhbCBBbmltYXRl
ZFByb3BlcnR5U3luY2hyb25pemVyIHN5bmNocm9uaXplckZvciMjVXBwZXJQcm9wZXJ0eSgpIGNv
bnN0IHsgcmV0dXJuIEZvcndhcmRDbGFzczo6c3luY2hyb25pemVyRm9yIyNVcHBlclByb3BlcnR5
KCk7IH0gXAogICAgIHZpcnR1YWwgdm9pZCBzdGFydCMjVXBwZXJQcm9wZXJ0eSgpIGNvbnN0IHsg
Rm9yd2FyZENsYXNzOjpzdGFydCMjVXBwZXJQcm9wZXJ0eSgpOyB9IFwKICAgICB2aXJ0dWFsIHZv
aWQgc3RvcCMjVXBwZXJQcm9wZXJ0eSgpIHsgRm9yd2FyZENsYXNzOjpzdG9wIyNVcHBlclByb3Bl
cnR5KCk7IH0KIAotI2RlZmluZSBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlNfSU5URVJO
QUwoQ2xhc3NUeXBlLCBDbGFzc1N0b3JhZ2VUeXBlLCBCYXJlVHlwZSwgU3RvcmFnZVR5cGUsIFVw
cGVyUHJvcGVydHksIExvd2VyUHJvcGVydHkpIFwKLWNsYXNzIFNWR0FuaW1hdGVkVGVtcGxhdGUj
I1VwcGVyUHJvcGVydHkgOiBwdWJsaWMgU1ZHQW5pbWF0ZWRUZW1wbGF0ZTxCYXJlVHlwZT4geyBc
CisjZGVmaW5lIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OU19JTlRFUk5BTChDbGFzc1R5
cGUsIERlY29yYXRlZFR5cGUsIFN0b3JhZ2VUeXBlLCBVcHBlclByb3BlcnR5LCBMb3dlclByb3Bl
cnR5KSBcCitjbGFzcyBTVkdBbmltYXRlZFRlbXBsYXRlIyNVcHBlclByb3BlcnR5IDogcHVibGlj
IFNWR0FuaW1hdGVkVGVtcGxhdGU8RGVjb3JhdGVkVHlwZT4geyBcCiBwdWJsaWM6IFwKICAgICBz
dGF0aWMgUGFzc1JlZlB0cjxTVkdBbmltYXRlZFRlbXBsYXRlIyNVcHBlclByb3BlcnR5PiBjcmVh
dGUoY29uc3QgQ2xhc3NUeXBlKiBlbGVtZW50LCBjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyaWJ1
dGVOYW1lKSBcCiAgICAgeyBcCiAgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgU1ZHQW5pbWF0
ZWRUZW1wbGF0ZSMjVXBwZXJQcm9wZXJ0eShlbGVtZW50LCBhdHRyaWJ1dGVOYW1lKSk7IFwKICAg
ICB9IFwKLSAgICB2aXJ0dWFsIEJhcmVUeXBlIGJhc2VWYWwoKSBjb25zdDsgXAotICAgIHZpcnR1
YWwgdm9pZCBzZXRCYXNlVmFsKEJhcmVUeXBlKTsgXAotICAgIHZpcnR1YWwgQmFyZVR5cGUgYW5p
bVZhbCgpIGNvbnN0OyBcCi0gICAgdmlydHVhbCB2b2lkIHNldEFuaW1WYWwoQmFyZVR5cGUpOyBc
CisgICAgdmlydHVhbCBEZWNvcmF0ZWRUeXBlIGJhc2VWYWwoKSBjb25zdDsgXAorICAgIHZpcnR1
YWwgdm9pZCBzZXRCYXNlVmFsKERlY29yYXRlZFR5cGUpOyBcCisgICAgdmlydHVhbCBEZWNvcmF0
ZWRUeXBlIGFuaW1WYWwoKSBjb25zdDsgXAorICAgIHZpcnR1YWwgdm9pZCBzZXRBbmltVmFsKERl
Y29yYXRlZFR5cGUpOyBcCiAgICAgXAogcHJpdmF0ZTogXAogICAgIFNWR0FuaW1hdGVkVGVtcGxh
dGUjI1VwcGVyUHJvcGVydHkoY29uc3QgQ2xhc3NUeXBlKiwgY29uc3QgUXVhbGlmaWVkTmFtZSYp
OyBcCi0gICAgQ2xhc3NTdG9yYWdlVHlwZSBtX2VsZW1lbnQ7IFwKKyAgICBSZWZQdHI8Q2xhc3NU
eXBlPiBtX2VsZW1lbnQ7IFwKIH07IFwKIHB1YmxpYzogXAotICAgIEJhcmVUeXBlIExvd2VyUHJv
cGVydHkoKSBjb25zdDsgXAotICAgIHZvaWQgc2V0IyNVcHBlclByb3BlcnR5KEJhcmVUeXBlKTsg
XAotICAgIEJhcmVUeXBlIExvd2VyUHJvcGVydHkjI0Jhc2VWYWx1ZSgpIGNvbnN0OyBcCi0gICAg
dm9pZCBzZXQjI1VwcGVyUHJvcGVydHkjI0Jhc2VWYWx1ZShCYXJlVHlwZSk7IFwKKyAgICBEZWNv
cmF0ZWRUeXBlIExvd2VyUHJvcGVydHkoKSBjb25zdDsgXAorICAgIHZvaWQgc2V0IyNVcHBlclBy
b3BlcnR5KERlY29yYXRlZFR5cGUpOyBcCisgICAgRGVjb3JhdGVkVHlwZSBMb3dlclByb3BlcnR5
IyNCYXNlVmFsdWUoKSBjb25zdDsgXAorICAgIHZvaWQgc2V0IyNVcHBlclByb3BlcnR5IyNCYXNl
VmFsdWUoRGVjb3JhdGVkVHlwZSk7IFwKICAgICBQYXNzUmVmUHRyPFNWR0FuaW1hdGVkVGVtcGxh
dGUjI1VwcGVyUHJvcGVydHk+IExvd2VyUHJvcGVydHkjI0FuaW1hdGVkKCkgY29uc3Q7IFwKKyAg
ICB2b2lkIHN5bmNocm9uaXplIyNVcHBlclByb3BlcnR5KCkgY29uc3Q7IFwKKyAgICBBbmltYXRl
ZFByb3BlcnR5U3luY2hyb25pemVyIHN5bmNocm9uaXplckZvciMjVXBwZXJQcm9wZXJ0eSgpIGNv
bnN0OyBcCiAgICAgdm9pZCBzdGFydCMjVXBwZXJQcm9wZXJ0eSgpIGNvbnN0OyBcCiAgICAgdm9p
ZCBzdG9wIyNVcHBlclByb3BlcnR5KCk7IFwKIFwKIHByaXZhdGU6IFwKLSAgICBTdG9yYWdlVHlw
ZSBtXyMjTG93ZXJQcm9wZXJ0eTsKKyAgICBtdXRhYmxlIFN5bmNocm9uaXphYmxlVHlwZVdyYXBw
ZXI8U3RvcmFnZVR5cGU+IG1fIyNMb3dlclByb3BlcnR5OworCisjZGVmaW5lIEFOSU1BVEVEX1BS
T1BFUlRZX1NUQVJUX0RFQ0xBUkFUSU9OUyBcCitwdWJsaWM6IFwKKyAgICB2aXJ0dWFsIHZvaWQg
aW52b2tlU1ZHUHJvcGVydHlTeW5jaHJvbml6ZXIoU3RyaW5nSW1wbCogc3RyaW5nSW1wbCkgY29u
c3QgXAorICAgIHsgXAorICAgICAgICBpZiAobV9zdmdQcm9wZXJ0eVVwZGF0ZU1hcC5jb250YWlu
cyhzdHJpbmdJbXBsKSkgeyBcCisgICAgICAgICAgICBBbmltYXRlZFByb3BlcnR5U3luY2hyb25p
emVyIHVwZGF0ZU1ldGhvZCA9IG1fc3ZnUHJvcGVydHlVcGRhdGVNYXAuZ2V0KHN0cmluZ0ltcGwp
OyBcCisgICAgICAgICAgICAoKnVwZGF0ZU1ldGhvZCkodGhpcyk7IFwKKyAgICAgICAgfSBcCisg
ICAgfSBcCitcCisgICAgdmlydHVhbCB2b2lkIGludm9rZUFsbFNWR1Byb3BlcnR5U3luY2hyb25p
emVycygpIGNvbnN0IFwKKyAgICB7IFwKKyAgICAgICAgSGFzaE1hcDxTdHJpbmdJbXBsKiwgQW5p
bWF0ZWRQcm9wZXJ0eVN5bmNocm9uaXplcj46OmNvbnN0X2l0ZXJhdG9yIGl0ID0gbV9zdmdQcm9w
ZXJ0eVVwZGF0ZU1hcC5iZWdpbigpOyBcCisgICAgICAgIGNvbnN0IEhhc2hNYXA8U3RyaW5nSW1w
bCosIEFuaW1hdGVkUHJvcGVydHlTeW5jaHJvbml6ZXI+Ojpjb25zdF9pdGVyYXRvciBlbmQgPSBt
X3N2Z1Byb3BlcnR5VXBkYXRlTWFwLmVuZCgpOyBcCisgICAgICAgIGZvciAoOyBpdCAhPSBlbmQ7
ICsraXQpIHsgXAorICAgICAgICAgICAgQW5pbWF0ZWRQcm9wZXJ0eVN5bmNocm9uaXplciB1cGRh
dGVNZXRob2QgPSBpdC0+c2Vjb25kOyBcCisgICAgICAgICAgICAoKnVwZGF0ZU1ldGhvZCkodGhp
cyk7IFwKKyAgICAgICAgfSBcCisgICAgfSBcCitcCisgICAgdmlydHVhbCB2b2lkIGFkZFNWR1By
b3BlcnR5U3luY2hyb25pemVyKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1lLCBBbmltYXRl
ZFByb3BlcnR5U3luY2hyb25pemVyIG1ldGhvZCkgY29uc3QgXAorICAgIHsgXAorICAgICAgICBt
X3N2Z1Byb3BlcnR5VXBkYXRlTWFwLnNldChhdHRyTmFtZS5sb2NhbE5hbWUoKS5pbXBsKCksIG1l
dGhvZCk7IFwKKyAgICB9IFwKK1wKK3ByaXZhdGU6IFwKKyAgICBtdXRhYmxlIEhhc2hNYXA8U3Ry
aW5nSW1wbCosIEFuaW1hdGVkUHJvcGVydHlTeW5jaHJvbml6ZXI+IG1fc3ZnUHJvcGVydHlVcGRh
dGVNYXA7CiAKLSNkZWZpbmUgQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlNfSU5URVJOQUwo
Q2xhc3NOYW1lLCBDbGFzc1R5cGUsIEJhcmVUeXBlLCBVcHBlckNsYXNzTmFtZSwgTG93ZXJDbGFz
c05hbWUsIFVwcGVyUHJvcGVydHksIExvd2VyUHJvcGVydHksIEF0dHJOYW1lLCBTdG9yYWdlR2V0
dGVyLCBDb250ZXh0RWxlbWVudCkgXAorI2RlZmluZSBBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklU
SU9OU19JTlRFUk5BTChDbGFzc05hbWUsIENsYXNzVHlwZSwgRGVjb3JhdGVkVHlwZSwgVXBwZXJQ
cm9wZXJ0eSwgTG93ZXJQcm9wZXJ0eSwgQXR0ck5hbWUsIEF0dHJJZGVudGlmaWVyLCBDb250ZXh0
RWxlbWVudCkgXAordm9pZCBzeW5jaHJvbml6ZSMjVXBwZXJQcm9wZXJ0eSMjQ2xhc3NOYW1lIyND
YWxsQmFjayhjb25zdCBTVkdFbGVtZW50KiBlbGVtZW50KSBcCit7IFwKKyAgICBzdGF0aWNfY2Fz
dDxjb25zdCBDbGFzc1R5cGUqPihlbGVtZW50KS0+c3luY2hyb25pemUjI1VwcGVyUHJvcGVydHko
KTsgXAorfSBcCiBDbGFzc05hbWU6OlNWR0FuaW1hdGVkVGVtcGxhdGUjI1VwcGVyUHJvcGVydHk6
OlNWR0FuaW1hdGVkVGVtcGxhdGUjI1VwcGVyUHJvcGVydHkoY29uc3QgQ2xhc3NUeXBlKiBlbGVt
ZW50LCBjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyaWJ1dGVOYW1lKSBcCi06IFNWR0FuaW1hdGVk
VGVtcGxhdGU8QmFyZVR5cGU+KGF0dHJpYnV0ZU5hbWUpLCBtX2VsZW1lbnQoY29uc3RfY2FzdDxD
bGFzc1R5cGUqPihlbGVtZW50KSkgeyB9IFwKKzogU1ZHQW5pbWF0ZWRUZW1wbGF0ZTxEZWNvcmF0
ZWRUeXBlPihhdHRyaWJ1dGVOYW1lKSwgbV9lbGVtZW50KGNvbnN0X2Nhc3Q8Q2xhc3NUeXBlKj4o
ZWxlbWVudCkpIHsgfSBcCiBcCi1CYXJlVHlwZSBDbGFzc05hbWU6OlNWR0FuaW1hdGVkVGVtcGxh
dGUjI1VwcGVyUHJvcGVydHk6OmJhc2VWYWwoKSBjb25zdCBcCitEZWNvcmF0ZWRUeXBlIENsYXNz
TmFtZTo6U1ZHQW5pbWF0ZWRUZW1wbGF0ZSMjVXBwZXJQcm9wZXJ0eTo6YmFzZVZhbCgpIGNvbnN0
IFwKIHsgXAogICAgIHJldHVybiBtX2VsZW1lbnQtPkxvd2VyUHJvcGVydHkjI0Jhc2VWYWx1ZSgp
OyBcCiB9IFwKLXZvaWQgQ2xhc3NOYW1lOjpTVkdBbmltYXRlZFRlbXBsYXRlIyNVcHBlclByb3Bl
cnR5OjpzZXRCYXNlVmFsKEJhcmVUeXBlIG5ld0Jhc2VWYWwpIFwKK3ZvaWQgQ2xhc3NOYW1lOjpT
VkdBbmltYXRlZFRlbXBsYXRlIyNVcHBlclByb3BlcnR5OjpzZXRCYXNlVmFsKERlY29yYXRlZFR5
cGUgbmV3QmFzZVZhbCkgXAogeyBcCiAgICAgbV9lbGVtZW50LT5zZXQjI1VwcGVyUHJvcGVydHkj
I0Jhc2VWYWx1ZShuZXdCYXNlVmFsKTsgXAogfSBcCi1CYXJlVHlwZSBDbGFzc05hbWU6OlNWR0Fu
aW1hdGVkVGVtcGxhdGUjI1VwcGVyUHJvcGVydHk6OmFuaW1WYWwoKSBjb25zdCBcCitEZWNvcmF0
ZWRUeXBlIENsYXNzTmFtZTo6U1ZHQW5pbWF0ZWRUZW1wbGF0ZSMjVXBwZXJQcm9wZXJ0eTo6YW5p
bVZhbCgpIGNvbnN0IFwKIHsgXAogICAgIHJldHVybiBtX2VsZW1lbnQtPkxvd2VyUHJvcGVydHko
KTsgXAogfSBcCi12b2lkIENsYXNzTmFtZTo6U1ZHQW5pbWF0ZWRUZW1wbGF0ZSMjVXBwZXJQcm9w
ZXJ0eTo6c2V0QW5pbVZhbChCYXJlVHlwZSBuZXdBbmltVmFsKSBcCit2b2lkIENsYXNzTmFtZTo6
U1ZHQW5pbWF0ZWRUZW1wbGF0ZSMjVXBwZXJQcm9wZXJ0eTo6c2V0QW5pbVZhbChEZWNvcmF0ZWRU
eXBlIG5ld0FuaW1WYWwpIFwKIHsgXAogICAgIG1fZWxlbWVudC0+c2V0IyNVcHBlclByb3BlcnR5
KG5ld0FuaW1WYWwpOyBcCiB9IFwKLUJhcmVUeXBlIENsYXNzTmFtZTo6TG93ZXJQcm9wZXJ0eSgp
IGNvbnN0IFwKK0RlY29yYXRlZFR5cGUgQ2xhc3NOYW1lOjpMb3dlclByb3BlcnR5KCkgY29uc3Qg
XAogeyBcCi0gICAgcmV0dXJuIFN0b3JhZ2VHZXR0ZXI7IFwKKyAgICByZXR1cm4gbV8jI0xvd2Vy
UHJvcGVydHk7IFwKIH0gXAotdm9pZCBDbGFzc05hbWU6OnNldCMjVXBwZXJQcm9wZXJ0eShCYXJl
VHlwZSBuZXdWYWx1ZSkgXAordm9pZCBDbGFzc05hbWU6OnNldCMjVXBwZXJQcm9wZXJ0eShEZWNv
cmF0ZWRUeXBlIG5ld1ZhbHVlKSBcCiB7IFwKICAgICBtXyMjTG93ZXJQcm9wZXJ0eSA9IG5ld1Zh
bHVlOyBcCisgICAgXAorICAgIGNvbnN0IFNWR0VsZW1lbnQqIGNvbnRleHQgPSBDb250ZXh0RWxl
bWVudDsgXAorICAgIEFTU0VSVChjb250ZXh0KTsgXAorICAgIGNvbnRleHQtPnNldFN5bmNocm9u
aXplZFNWR0F0dHJpYnV0ZXMoZmFsc2UpOyBcCiB9IFwKLUJhcmVUeXBlIENsYXNzTmFtZTo6TG93
ZXJQcm9wZXJ0eSMjQmFzZVZhbHVlKCkgY29uc3QgXAorRGVjb3JhdGVkVHlwZSBDbGFzc05hbWU6
Okxvd2VyUHJvcGVydHkjI0Jhc2VWYWx1ZSgpIGNvbnN0IFwKIHsgXAogICAgIGNvbnN0IFNWR0Vs
ZW1lbnQqIGNvbnRleHQgPSBDb250ZXh0RWxlbWVudDsgXAogICAgIEFTU0VSVChjb250ZXh0KTsg
XAogICAgIFNWR0RvY3VtZW50RXh0ZW5zaW9ucyogZXh0ZW5zaW9ucyA9IChjb250ZXh0LT5kb2N1
bWVudCgpID8gY29udGV4dC0+ZG9jdW1lbnQoKS0+YWNjZXNzU1ZHRXh0ZW5zaW9ucygpIDogMCk7
IFwKLSAgICBpZiAoZXh0ZW5zaW9ucyAmJiBleHRlbnNpb25zLT5oYXNCYXNlVmFsdWU8QmFyZVR5
cGU+KGNvbnRleHQsIEF0dHJOYW1lKSkgXAotICAgICAgICAgcmV0dXJuIGV4dGVuc2lvbnMtPmJh
c2VWYWx1ZTxCYXJlVHlwZT4oY29udGV4dCwgQXR0ck5hbWUpOyBcCisgICAgaWYgKGV4dGVuc2lv
bnMgJiYgZXh0ZW5zaW9ucy0+aGFzQmFzZVZhbHVlPERlY29yYXRlZFR5cGU+KGNvbnRleHQsIEF0
dHJJZGVudGlmaWVyKSkgXAorICAgICAgICAgcmV0dXJuIGV4dGVuc2lvbnMtPmJhc2VWYWx1ZTxE
ZWNvcmF0ZWRUeXBlPihjb250ZXh0LCBBdHRySWRlbnRpZmllcik7IFwKICAgICByZXR1cm4gTG93
ZXJQcm9wZXJ0eSgpOyBcCiB9IFwKLXZvaWQgQ2xhc3NOYW1lOjpzZXQjI1VwcGVyUHJvcGVydHkj
I0Jhc2VWYWx1ZShCYXJlVHlwZSBuZXdWYWx1ZSkgXAorXAordm9pZCBDbGFzc05hbWU6OnNldCMj
VXBwZXJQcm9wZXJ0eSMjQmFzZVZhbHVlKERlY29yYXRlZFR5cGUgbmV3VmFsdWUpIFwKIHsgXAog
ICAgIGNvbnN0IFNWR0VsZW1lbnQqIGNvbnRleHQgPSBDb250ZXh0RWxlbWVudDsgXAogICAgIEFT
U0VSVChjb250ZXh0KTsgXAogICAgIFNWR0RvY3VtZW50RXh0ZW5zaW9ucyogZXh0ZW5zaW9ucyA9
IChjb250ZXh0LT5kb2N1bWVudCgpID8gY29udGV4dC0+ZG9jdW1lbnQoKS0+YWNjZXNzU1ZHRXh0
ZW5zaW9ucygpIDogMCk7IFwKLSAgICBpZiAoZXh0ZW5zaW9ucyAmJiBleHRlbnNpb25zLT5oYXNC
YXNlVmFsdWU8QmFyZVR5cGU+KGNvbnRleHQsIEF0dHJOYW1lKSkgeyBcCi0gICAgICAgIGV4dGVu
c2lvbnMtPnNldEJhc2VWYWx1ZTxCYXJlVHlwZT4oY29udGV4dCwgQXR0ck5hbWUsIG5ld1ZhbHVl
KTsgXAorICAgIGlmIChleHRlbnNpb25zICYmIGV4dGVuc2lvbnMtPmhhc0Jhc2VWYWx1ZTxEZWNv
cmF0ZWRUeXBlPihjb250ZXh0LCBBdHRySWRlbnRpZmllcikpIHsgXAorICAgICAgICBleHRlbnNp
b25zLT5zZXRCYXNlVmFsdWU8RGVjb3JhdGVkVHlwZT4oY29udGV4dCwgQXR0cklkZW50aWZpZXIs
IG5ld1ZhbHVlKTsgXAogICAgICAgICByZXR1cm47IFwKICAgICB9IFwKICAgICAvKiBPbmx5IHVw
ZGF0ZSBzdG9yZWQgcHJvcGVydHksIGlmIG5vdCBhbmltYXRpbmcgKi8gXAogICAgIHNldCMjVXBw
ZXJQcm9wZXJ0eShuZXdWYWx1ZSk7IFwKIH0gXAogXAordm9pZCBDbGFzc05hbWU6OnN5bmNocm9u
aXplIyNVcHBlclByb3BlcnR5KCkgY29uc3QgXAoreyBcCisgICAgaWYgKCFtXyMjTG93ZXJQcm9w
ZXJ0eS5uZWVkc1N5bmNocm9uaXphdGlvbigpKSBcCisgICAgICAgIHJldHVybjsgXAorICAgIGNv
bnN0IFNWR0VsZW1lbnQqIGNvbnRleHQgPSBDb250ZXh0RWxlbWVudDsgXAorICAgIEFTU0VSVChj
b250ZXh0KTsgXAorICAgIFJlZlB0cjxDbGFzc05hbWU6OlNWR0FuaW1hdGVkVGVtcGxhdGUjI1Vw
cGVyUHJvcGVydHk+IGFuaW1hdGVkQ2xhc3MoTG93ZXJQcm9wZXJ0eSMjQW5pbWF0ZWQoKSk7IFwK
KyAgICBBU1NFUlQoYW5pbWF0ZWRDbGFzcyk7IFwKKyAgICBBdG9taWNTdHJpbmcgdmFsdWUoU1ZH
QW5pbWF0ZWRUeXBlVmFsdWU8RGVjb3JhdGVkVHlwZT46OnRvU3RyaW5nKGFuaW1hdGVkQ2xhc3Mt
PmJhc2VWYWwoKSkpOyBcCisgICAgTmFtZWRBdHRyTWFwKiBuYW1lZEF0dHJNYXAgPSBjb250ZXh0
LT5hdHRyaWJ1dGVzKGZhbHNlKTsgXAorICAgIEF0dHJpYnV0ZSogb2xkID0gbmFtZWRBdHRyTWFw
LT5nZXRBdHRyaWJ1dGVJdGVtKEF0dHJOYW1lKTsgXAorICAgIGlmIChvbGQgJiYgdmFsdWUuaXNO
dWxsKCkpIFwKKyAgICAgICAgbmFtZWRBdHRyTWFwLT5yZW1vdmVBdHRyaWJ1dGUob2xkLT5uYW1l
KCkpOyBcCisgICAgZWxzZSBpZiAoIW9sZCAmJiAhdmFsdWUuaXNOdWxsKCkpIFwKKyAgICAgICAg
bmFtZWRBdHRyTWFwLT5hZGRBdHRyaWJ1dGUoY29uc3RfY2FzdDxTVkdFbGVtZW50Kj4oY29udGV4
dCktPmNyZWF0ZUF0dHJpYnV0ZShRdWFsaWZpZWROYW1lKG51bGxBdG9tLCBBdHRySWRlbnRpZmll
ciwgbnVsbEF0b20pLCB2YWx1ZSkpOyBcCisgICAgZWxzZSBpZiAob2xkICYmICF2YWx1ZS5pc051
bGwoKSkgXAorICAgICAgICBvbGQtPnNldFZhbHVlKHZhbHVlKTsgXAorICAgIG1fIyNMb3dlclBy
b3BlcnR5LnNldFN5bmNocm9uaXplZCgpOyBcCit9IFwKK1wKIHZvaWQgQ2xhc3NOYW1lOjpzdGFy
dCMjVXBwZXJQcm9wZXJ0eSgpIGNvbnN0IFwKIHsgXAogICAgIGNvbnN0IFNWR0VsZW1lbnQqIGNv
bnRleHQgPSBDb250ZXh0RWxlbWVudDsgXAogICAgIEFTU0VSVChjb250ZXh0KTsgXAogICAgIFNW
R0RvY3VtZW50RXh0ZW5zaW9ucyogZXh0ZW5zaW9ucyA9IChjb250ZXh0LT5kb2N1bWVudCgpID8g
Y29udGV4dC0+ZG9jdW1lbnQoKS0+YWNjZXNzU1ZHRXh0ZW5zaW9ucygpIDogMCk7IFwKICAgICBp
ZiAoZXh0ZW5zaW9ucykgeyBcCi0gICAgICAgIEFTU0VSVCghZXh0ZW5zaW9ucy0+aGFzQmFzZVZh
bHVlPEJhcmVUeXBlPihjb250ZXh0LCBBdHRyTmFtZSkpOyBcCi0gICAgICAgIGV4dGVuc2lvbnMt
PnNldEJhc2VWYWx1ZTxCYXJlVHlwZT4oY29udGV4dCwgQXR0ck5hbWUsIExvd2VyUHJvcGVydHko
KSk7IFwKKyAgICAgICAgQVNTRVJUKCFleHRlbnNpb25zLT5oYXNCYXNlVmFsdWU8RGVjb3JhdGVk
VHlwZT4oY29udGV4dCwgQXR0cklkZW50aWZpZXIpKTsgXAorICAgICAgICBleHRlbnNpb25zLT5z
ZXRCYXNlVmFsdWU8RGVjb3JhdGVkVHlwZT4oY29udGV4dCwgQXR0cklkZW50aWZpZXIsIExvd2Vy
UHJvcGVydHkoKSk7IFwKICAgICB9IFwKIH0gXAogXApAQCAtMTQ0LDM3ICsyMDgsNjkgQEAgdm9p
ZCBDbGFzc05hbWU6OnN0b3AjI1VwcGVyUHJvcGVydHkoKSBcCiAgICAgQVNTRVJUKGNvbnRleHQp
OyBcCiAgICAgU1ZHRG9jdW1lbnRFeHRlbnNpb25zKiBleHRlbnNpb25zID0gKGNvbnRleHQtPmRv
Y3VtZW50KCkgPyBjb250ZXh0LT5kb2N1bWVudCgpLT5hY2Nlc3NTVkdFeHRlbnNpb25zKCkgOiAw
KTsgXAogICAgIGlmIChleHRlbnNpb25zKSB7IFwKLSAgICAgICAgQVNTRVJUKGV4dGVuc2lvbnMt
Pmhhc0Jhc2VWYWx1ZTxCYXJlVHlwZT4oY29udGV4dCwgQXR0ck5hbWUpKTsgXAotICAgICAgICBz
ZXQjI1VwcGVyUHJvcGVydHkoZXh0ZW5zaW9ucy0+YmFzZVZhbHVlPEJhcmVUeXBlPihjb250ZXh0
LCBBdHRyTmFtZSkpOyBcCi0gICAgICAgIGV4dGVuc2lvbnMtPnJlbW92ZUJhc2VWYWx1ZTxCYXJl
VHlwZT4oY29udGV4dCwgQXR0ck5hbWUpOyBcCisgICAgICAgIEFTU0VSVChleHRlbnNpb25zLT5o
YXNCYXNlVmFsdWU8RGVjb3JhdGVkVHlwZT4oY29udGV4dCwgQXR0cklkZW50aWZpZXIpKTsgXAor
ICAgICAgICBzZXQjI1VwcGVyUHJvcGVydHkoZXh0ZW5zaW9ucy0+YmFzZVZhbHVlPERlY29yYXRl
ZFR5cGU+KGNvbnRleHQsIEF0dHJJZGVudGlmaWVyKSk7IFwKKyAgICAgICAgZXh0ZW5zaW9ucy0+
cmVtb3ZlQmFzZVZhbHVlPERlY29yYXRlZFR5cGU+KGNvbnRleHQsIEF0dHJJZGVudGlmaWVyKTsg
XAogICAgIH0gXAotfQotCi0vLyBUaGVzZSBhcmUgdGhlIG1hY3JvcyB3aGljaCB3aWxsIGJlIHVz
ZWQgdG8gZGVjbGFyZS9pbXBsZW1lbnQgdGhlIHN2ZyBhbmltYXRlZCBwcm9wZXJ0aWVzLi4uCi0j
ZGVmaW5lIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OU19XSVRIX0NPTlRFWFQoQ2xhc3NO
YW1lLCBCYXJlVHlwZSwgU3RvcmFnZVR5cGUsIFVwcGVyUHJvcGVydHksIExvd2VyUHJvcGVydHkp
IFwKLUFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OU19JTlRFUk5BTChTVkdFbGVtZW50LCBS
ZWZQdHI8U1ZHRWxlbWVudD4sIEJhcmVUeXBlLCBTdG9yYWdlVHlwZSwgVXBwZXJQcm9wZXJ0eSwg
TG93ZXJQcm9wZXJ0eSkKLQotI2RlZmluZSBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMo
Q2xhc3NOYW1lLCBCYXJlVHlwZSwgU3RvcmFnZVR5cGUsIFVwcGVyUHJvcGVydHksIExvd2VyUHJv
cGVydHkpIFwKLUFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OU19JTlRFUk5BTChDbGFzc05h
bWUsIFJlZlB0cjxDbGFzc05hbWU+LCBCYXJlVHlwZSwgU3RvcmFnZVR5cGUsIFVwcGVyUHJvcGVy
dHksIExvd2VyUHJvcGVydHkpCi0KLSNkZWZpbmUgQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElP
TlNfV0lUSF9DT05URVhUKENsYXNzTmFtZSwgQmFyZVR5cGUsIFVwcGVyQ2xhc3NOYW1lLCBMb3dl
ckNsYXNzTmFtZSwgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9wZXJ0eSwgQXR0ck5hbWUsIFN0b3Jh
Z2VHZXR0ZXIpIFwKLUFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TX0lOVEVSTkFMKENsYXNz
TmFtZSwgU1ZHRWxlbWVudCwgQmFyZVR5cGUsIFVwcGVyQ2xhc3NOYW1lLCBMb3dlckNsYXNzTmFt
ZSwgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9wZXJ0eSwgQXR0ck5hbWUubG9jYWxOYW1lKCksIFN0
b3JhZ2VHZXR0ZXIsIGNvbnRleHRFbGVtZW50KCkpIFwKK30gXAorXAorQW5pbWF0ZWRQcm9wZXJ0
eVN5bmNocm9uaXplciBDbGFzc05hbWU6OnN5bmNocm9uaXplckZvciMjVXBwZXJQcm9wZXJ0eSgp
IGNvbnN0IFwKK3sgXAorICAgIHJldHVybiAmc3luY2hyb25pemUjI1VwcGVyUHJvcGVydHkjI0Ns
YXNzTmFtZSMjQ2FsbEJhY2s7IFwKK30gXAogUGFzc1JlZlB0cjxDbGFzc05hbWU6OlNWR0FuaW1h
dGVkVGVtcGxhdGUjI1VwcGVyUHJvcGVydHk+IENsYXNzTmFtZTo6TG93ZXJQcm9wZXJ0eSMjQW5p
bWF0ZWQoKSBjb25zdCBcCiB7IFwKLSAgICBjb25zdCBTVkdFbGVtZW50KiBjb250ZXh0ID0gY29u
dGV4dEVsZW1lbnQoKTsgXAorICAgIGNvbnN0IENsYXNzVHlwZSogY29udGV4dCA9IENvbnRleHRF
bGVtZW50OyBcCiAgICAgQVNTRVJUKGNvbnRleHQpOyBcCi0gICAgcmV0dXJuIGxvb2t1cE9yQ3Jl
YXRlV3JhcHBlcjxDbGFzc05hbWU6OlNWR0FuaW1hdGVkVGVtcGxhdGUjI1VwcGVyUHJvcGVydHks
IFNWR0VsZW1lbnQ+KGNvbnRleHQsIEF0dHJOYW1lLCBBdHRyTmFtZS5sb2NhbE5hbWUoKSk7IFwK
KyAgICByZXR1cm4gbG9va3VwT3JDcmVhdGVXcmFwcGVyPENsYXNzTmFtZTo6U1ZHQW5pbWF0ZWRU
ZW1wbGF0ZSMjVXBwZXJQcm9wZXJ0eSwgQ2xhc3NUeXBlPihjb250ZXh0LCBBdHRyTmFtZSwgQXR0
cklkZW50aWZpZXIsIHN5bmNocm9uaXplckZvciMjVXBwZXJQcm9wZXJ0eSgpKTsgXAogfQogCi0j
ZGVmaW5lIEFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TX1dJVEhfQ1VTVE9NX0lERU5USUZJ
RVIoQ2xhc3NOYW1lLCBCYXJlVHlwZSwgVXBwZXJDbGFzc05hbWUsIExvd2VyQ2xhc3NOYW1lLCBV
cHBlclByb3BlcnR5LCBMb3dlclByb3BlcnR5LCBBdHRyTmFtZSwgQXR0cklkZW50aWZpZXIsIFN0
b3JhZ2VHZXR0ZXIpIFwKLUFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TX0lOVEVSTkFMKENs
YXNzTmFtZSwgQ2xhc3NOYW1lLCBCYXJlVHlwZSwgVXBwZXJDbGFzc05hbWUsIExvd2VyQ2xhc3NO
YW1lLCBVcHBlclByb3BlcnR5LCBMb3dlclByb3BlcnR5LCBBdHRyTmFtZS5sb2NhbE5hbWUoKSwg
U3RvcmFnZUdldHRlciwgdGhpcykgXAotUGFzc1JlZlB0cjxDbGFzc05hbWU6OlNWR0FuaW1hdGVk
VGVtcGxhdGUjI1VwcGVyUHJvcGVydHk+IENsYXNzTmFtZTo6TG93ZXJQcm9wZXJ0eSMjQW5pbWF0
ZWQoKSBjb25zdCBcCi17IFwKLSAgICByZXR1cm4gbG9va3VwT3JDcmVhdGVXcmFwcGVyPENsYXNz
TmFtZTo6U1ZHQW5pbWF0ZWRUZW1wbGF0ZSMjVXBwZXJQcm9wZXJ0eSwgQ2xhc3NOYW1lPih0aGlz
LCBBdHRyTmFtZSwgQXR0cklkZW50aWZpZXIpOyBcCi19CisvLyBGb3J3YXJkIGRlY2xhcmF0aW9u
cywgdXNlZCBpbiBjbGFzc2VzIHRoYXQgaW5oZXJpdCBmcm9tIFNWR0VsZW1lbnQsIGFuZCBhbm90
aGVyIGJhc2UgY2xhc3MgaWUuIFNWR1VSSVJlZmVyZW5jZSAtIHdoaWNoIGRlY2xhcmVkIGl0J3Mg
cHJvcGVydGllcyB1c2luZyB0aGUgV0lUSF9DT05URVhUKC4uLikgbWFjcm9zKQorI2RlZmluZSBB
TklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhGb3J3YXJkQ2xhc3MsIEJhcmVU
eXBlLCBVcHBlclByb3BlcnR5LCBMb3dlclByb3BlcnR5KSBcCitBTklNQVRFRF9QUk9QRVJUWV9G
T1JXQVJEX0RFQ0xBUkFUSU9OU19JTlRFUk5BTChGb3J3YXJkQ2xhc3MsIEJhcmVUeXBlLCBVcHBl
clByb3BlcnR5LCBMb3dlclByb3BlcnR5KQorCisjZGVmaW5lIEFOSU1BVEVEX1BST1BFUlRZX0ZP
UldBUkRfREVDTEFSQVRJT05TX1JFRkNPVU5URUQoRm9yd2FyZENsYXNzLCBCYXJlVHlwZSwgVXBw
ZXJQcm9wZXJ0eSwgTG93ZXJQcm9wZXJ0eSkgXAorQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9E
RUNMQVJBVElPTlNfSU5URVJOQUwoRm9yd2FyZENsYXNzLCBCYXJlVHlwZSosIFVwcGVyUHJvcGVy
dHksIExvd2VyUHJvcGVydHkpCisKKyNkZWZpbmUgQU5JTUFURURfUFJPUEVSVFlfRU1QVFlfREVD
TEFSQVRJT05TKEJhcmVUeXBlLCBVcHBlclByb3BlcnR5LCBMb3dlclByb3BlcnR5KSBcCitBTklN
QVRFRF9QUk9QRVJUWV9FTVBUWV9ERUNMQVJBVElPTlNfSU5URVJOQUwoQmFyZVR5cGUsIEJhcmVU
eXBlKCksIFVwcGVyUHJvcGVydHksIExvd2VyUHJvcGVydHkpCiAKLSNkZWZpbmUgQU5JTUFURURf
UFJPUEVSVFlfREVGSU5JVElPTlMoQ2xhc3NOYW1lLCBCYXJlVHlwZSwgVXBwZXJDbGFzc05hbWUs
IExvd2VyQ2xhc3NOYW1lLCBVcHBlclByb3BlcnR5LCBMb3dlclByb3BlcnR5LCBBdHRyTmFtZSwg
U3RvcmFnZUdldHRlcikgXAotQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlNfV0lUSF9DVVNU
T01fSURFTlRJRklFUihDbGFzc05hbWUsIEJhcmVUeXBlLCBVcHBlckNsYXNzTmFtZSwgTG93ZXJD
bGFzc05hbWUsIFVwcGVyUHJvcGVydHksIExvd2VyUHJvcGVydHksIEF0dHJOYW1lLCBBdHRyTmFt
ZS5sb2NhbE5hbWUoKSwgU3RvcmFnZUdldHRlcikKKyNkZWZpbmUgQU5JTUFURURfUFJPUEVSVFlf
RU1QVFlfREVDTEFSQVRJT05TX1JFRkNPVU5URUQoQmFyZVR5cGUsIFVwcGVyUHJvcGVydHksIExv
d2VyUHJvcGVydHkpIFwKK0FOSU1BVEVEX1BST1BFUlRZX0VNUFRZX0RFQ0xBUkFUSU9OU19JTlRF
Uk5BTChCYXJlVHlwZSosIDAsIFVwcGVyUHJvcGVydHksIExvd2VyUHJvcGVydHkpCisKKy8vIE1h
Y3JvcyB1c2VkIGZvciBwcmltaXRpdmUgdHlwZXMgaW4gU1ZHRWxlbWVudCBkZXJpdmVkIGNsYXNz
ZXMKKyNkZWZpbmUgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKENsYXNzTmFtZSwgQmFy
ZVR5cGUsIFVwcGVyUHJvcGVydHksIExvd2VyUHJvcGVydHkpIFwKK0FOSU1BVEVEX1BST1BFUlRZ
X0RFQ0xBUkFUSU9OU19JTlRFUk5BTChDbGFzc05hbWUsIEJhcmVUeXBlLCBCYXJlVHlwZSwgVXBw
ZXJQcm9wZXJ0eSwgTG93ZXJQcm9wZXJ0eSkKKworI2RlZmluZSBBTklNQVRFRF9QUk9QRVJUWV9E
RUZJTklUSU9OUyhDbGFzc05hbWUsIEJhcmVUeXBlLCBVcHBlclByb3BlcnR5LCBMb3dlclByb3Bl
cnR5LCBBdHRyTmFtZSkgXAorQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlNfSU5URVJOQUwo
Q2xhc3NOYW1lLCBDbGFzc05hbWUsIEJhcmVUeXBlLCBVcHBlclByb3BlcnR5LCBMb3dlclByb3Bl
cnR5LCBBdHRyTmFtZSwgQXR0ck5hbWUubG9jYWxOYW1lKCksIHRoaXMpCisKKyNkZWZpbmUgQU5J
TUFURURfUFJPUEVSVFlfREVGSU5JVElPTlNfV0lUSF9DVVNUT01fSURFTlRJRklFUihDbGFzc05h
bWUsIEJhcmVUeXBlLCBVcHBlclByb3BlcnR5LCBMb3dlclByb3BlcnR5LCBBdHRyTmFtZSwgQXR0
cklkZW50aWZpZXIpIFwKK0FOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TX0lOVEVSTkFMKENs
YXNzTmFtZSwgQ2xhc3NOYW1lLCBCYXJlVHlwZSwgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9wZXJ0
eSwgQXR0ck5hbWUsIEF0dHJJZGVudGlmaWVyLCB0aGlzKQorCisvLyBNYWNyb3MgdXNlZCBmb3Ig
cmVmY291bnRlZCB0eXBlcyBpbiBTVkdFbGVtZW50IGRlcml2ZWQgY2xhc3NlcworI2RlZmluZSBB
TklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlNfUkVGQ09VTlRFRChDbGFzc05hbWUsIEJhcmVU
eXBlLCBVcHBlclByb3BlcnR5LCBMb3dlclByb3BlcnR5KSBcCitBTklNQVRFRF9QUk9QRVJUWV9E
RUNMQVJBVElPTlNfSU5URVJOQUwoQ2xhc3NOYW1lLCBCYXJlVHlwZSosIFJlZlB0cjxCYXJlVHlw
ZT4sIFVwcGVyUHJvcGVydHksIExvd2VyUHJvcGVydHkpCisKKyNkZWZpbmUgQU5JTUFURURfUFJP
UEVSVFlfREVGSU5JVElPTlNfUkVGQ09VTlRFRChDbGFzc05hbWUsIEJhcmVUeXBlLCBVcHBlclBy
b3BlcnR5LCBMb3dlclByb3BlcnR5LCBBdHRyTmFtZSkgXAorQU5JTUFURURfUFJPUEVSVFlfREVG
SU5JVElPTlNfSU5URVJOQUwoQ2xhc3NOYW1lLCBDbGFzc05hbWUsIEJhcmVUeXBlKiwgVXBwZXJQ
cm9wZXJ0eSwgTG93ZXJQcm9wZXJ0eSwgQXR0ck5hbWUsIEF0dHJOYW1lLmxvY2FsTmFtZSgpLCB0
aGlzKQorCisjZGVmaW5lIEFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TX1JFRkNPVU5URURf
V0lUSF9DVVNUT01fSURFTlRJRklFUihDbGFzc05hbWUsIEJhcmVUeXBlLCBVcHBlclByb3BlcnR5
LCBMb3dlclByb3BlcnR5LCBBdHRyTmFtZSwgQXR0cklkZW50aWZpZXIpIFwKK0FOSU1BVEVEX1BS
T1BFUlRZX0RFRklOSVRJT05TX0lOVEVSTkFMKENsYXNzTmFtZSwgQ2xhc3NOYW1lLCBCYXJlVHlw
ZSosIFVwcGVyUHJvcGVydHksIExvd2VyUHJvcGVydHksIEF0dHJOYW1lLCBBdHRySWRlbnRpZmll
ciwgdGhpcykKKworLy8gTWFjcm9zIHVzZWQgZm9yIHByaW1pdGl2ZSB0eXBlcyBpbiBub24tU1ZH
RWxlbWVudCBiYXNlIGNsYXNzZXMgKGllLiBTVkdVUklSZWZlcmVuY2UgYWN0cyBhcyBiYXNlIGNs
YXNzLCBnbHVlZCB1c2luZyBtdWx0aXBsZSBpbmhlcml0YW5jZSBpbiB0aGUgU1ZHKkVsZW1lbnQg
Y2xhc3NlcykKKyNkZWZpbmUgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TX1dJVEhfQ09O
VEVYVChDbGFzc05hbWUsIEJhcmVUeXBlLCBVcHBlclByb3BlcnR5LCBMb3dlclByb3BlcnR5KSBc
CitBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlNfSU5URVJOQUwoU1ZHRWxlbWVudCwgQmFy
ZVR5cGUsIEJhcmVUeXBlLCBVcHBlclByb3BlcnR5LCBMb3dlclByb3BlcnR5KQorCisjZGVmaW5l
IEFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TX1dJVEhfQ09OVEVYVChDbGFzc05hbWUsIEJh
cmVUeXBlLCBVcHBlclByb3BlcnR5LCBMb3dlclByb3BlcnR5LCBBdHRyTmFtZSkgXAorQU5JTUFU
RURfUFJPUEVSVFlfREVGSU5JVElPTlNfSU5URVJOQUwoQ2xhc3NOYW1lLCBTVkdFbGVtZW50LCBC
YXJlVHlwZSwgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9wZXJ0eSwgQXR0ck5hbWUsIEF0dHJOYW1l
LmxvY2FsTmFtZSgpLCBjb250ZXh0RWxlbWVudCgpKQorCisvLyBNYWNyb3MgdXNlZCBmb3IgcmVm
Y291bnRlZCB0eXBlcyBpbiBub24tU1ZHRWxlbWVudCBiYXNlIGNsYXNzZXMgKGllLiBzZWUgYWJv
dmUpCisjZGVmaW5lIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OU19SRUZDT1VOVEVEX1dJ
VEhfQ09OVEVYVChDbGFzc05hbWUsIEJhcmVUeXBlLCBVcHBlclByb3BlcnR5LCBMb3dlclByb3Bl
cnR5KSBcCitBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlNfSU5URVJOQUwoU1ZHRWxlbWVu
dCwgQmFyZVR5cGUqLCBSZWZQdHI8QmFyZVR5cGU+LCBVcHBlclByb3BlcnR5LCBMb3dlclByb3Bl
cnR5KQorCisjZGVmaW5lIEFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TX1JFRkNPVU5URURf
V0lUSF9DT05URVhUKENsYXNzTmFtZSwgQmFyZVR5cGUsIFVwcGVyUHJvcGVydHksIExvd2VyUHJv
cGVydHksIEF0dHJOYW1lKSBcCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OU19JTlRFUk5B
TChDbGFzc05hbWUsIFNWR0VsZW1lbnQsIEJhcmVUeXBlKiwgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQ
cm9wZXJ0eSwgQXR0ck5hbWUsIEF0dHJOYW1lLmxvY2FsTmFtZSgpLCBjb250ZXh0RWxlbWVudCgp
KQogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTIzMSwxNyArMzI3LDI0IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICAgICAgLy8gRm9yd2FyZGVkIHByb3BlcnRpZXMgKGRlY2xhcmVkL2Rl
ZmluZWQgYW55d2hlcmUgZWxzZSBpbiB0aGUgaW5oZXJpdGFuY2Ugc3RydWN0dXJlKQogCiAgICAg
ICAgIC8vIC0+IEZvciBTVkdVUklSZWZlcmVuY2UKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlf
RU1QVFlfREVDTEFSQVRJT05TKFN0cmluZywgU3RyaW5nKCksIEhyZWYsIGhyZWYpCisgICAgICAg
IEFOSU1BVEVEX1BST1BFUlRZX0VNUFRZX0RFQ0xBUkFUSU9OUyhTdHJpbmcsIEhyZWYsIGhyZWYp
CiAKICAgICAgICAgLy8gLT4gRm9yIFNWR0ZpdFRvVmlld0JveAotICAgICAgICBBTklNQVRFRF9Q
Uk9QRVJUWV9FTVBUWV9ERUNMQVJBVElPTlMoRmxvYXRSZWN0LCBGbG9hdFJlY3QoKSwgVmlld0Jv
eCwgdmlld0JveCkgICAgCi0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0VNUFRZX0RFQ0xBUkFU
SU9OUyhTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvKiwgMCwgUHJlc2VydmVBc3BlY3RSYXRpbywgcHJl
c2VydmVBc3BlY3RSYXRpbykKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfRU1QVFlfREVDTEFS
QVRJT05TKEZsb2F0UmVjdCwgVmlld0JveCwgdmlld0JveCkgICAgCisgICAgICAgIEFOSU1BVEVE
X1BST1BFUlRZX0VNUFRZX0RFQ0xBUkFUSU9OU19SRUZDT1VOVEVEKFNWR1ByZXNlcnZlQXNwZWN0
UmF0aW8sIFByZXNlcnZlQXNwZWN0UmF0aW8sIHByZXNlcnZlQXNwZWN0UmF0aW8pCiAKICAgICAg
ICAgLy8gLT4gRm9yIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQKLSAgICAgICAgQU5JTUFU
RURfUFJPUEVSVFlfRU1QVFlfREVDTEFSQVRJT05TKGJvb2wsIGZhbHNlLCBFeHRlcm5hbFJlc291
cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQorICAgICAgICBBTklNQVRF
RF9QUk9QRVJUWV9FTVBUWV9ERUNMQVJBVElPTlMoYm9vbCwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1
aXJlZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkKIAogICAgICAgICB2aXJ0dWFsIGJvb2wg
ZGlzcGF0Y2hFdmVudChQYXNzUmVmUHRyPEV2ZW50PiBlLCBFeGNlcHRpb25Db2RlJiBlYywgYm9v
bCB0ZW1wRXZlbnQgPSBmYWxzZSk7CiAKKyAgICAgICAgdmlydHVhbCB2b2lkIGludm9rZVNWR1By
b3BlcnR5U3luY2hyb25pemVyKFN0cmluZ0ltcGwqKSBjb25zdCB7IH0KKyAgICAgICAgdmlydHVh
bCB2b2lkIGludm9rZUFsbFNWR1Byb3BlcnR5U3luY2hyb25pemVycygpIGNvbnN0IHsgfQorICAg
ICAgICB2aXJ0dWFsIHZvaWQgYWRkU1ZHUHJvcGVydHlTeW5jaHJvbml6ZXIoY29uc3QgUXVhbGlm
aWVkTmFtZSYsIEFuaW1hdGVkUHJvcGVydHlTeW5jaHJvbml6ZXIpIGNvbnN0IHsgQVNTRVJUX05P
VF9SRUFDSEVEKCk7IH0KKworICAgICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlQW5pbWF0ZWRTVkdB
dHRyaWJ1dGUoU3RyaW5nSW1wbCopIGNvbnN0OworICAgICAgICB2aXJ0dWFsIHZvaWQgc2V0U3lu
Y2hyb25pemVkU1ZHQXR0cmlidXRlcyhib29sKSBjb25zdDsKKwogICAgIHByaXZhdGU6CiAgICAg
ICAgIHZvaWQgYWRkU1ZHRXZlbnRMaXN0ZW5lcihjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlw
ZSwgY29uc3QgQXR0cmlidXRlKik7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBoYXZlTG9hZGVkUmVx
dWlyZWRSZXNvdXJjZXMoKTsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0VsbGlwc2VFbGVtZW50LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdFbGxpcHNlRWxlbWVudC5jcHAJKHJldmlz
aW9uIDM1MDA2KQorKysgV2ViQ29yZS9zdmcvU1ZHRWxsaXBzZUVsZW1lbnQuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC00OCwxMCArNDgsMTAgQEAgU1ZHRWxsaXBzZUVsZW1lbnQ6On5TVkdFbGxpcHNl
RWxlbWVudCgpCiB7CiB9CiAKLUFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0VsbGlw
c2VFbGVtZW50LCBTVkdMZW5ndGgsIExlbmd0aCwgbGVuZ3RoLCBDeCwgY3gsIFNWR05hbWVzOjpj
eEF0dHIsIG1fY3gpCi1BTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdFbGxpcHNlRWxl
bWVudCwgU1ZHTGVuZ3RoLCBMZW5ndGgsIGxlbmd0aCwgQ3ksIGN5LCBTVkdOYW1lczo6Y3lBdHRy
LCBtX2N5KQotQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHRWxsaXBzZUVsZW1lbnQs
IFNWR0xlbmd0aCwgTGVuZ3RoLCBsZW5ndGgsIFJ4LCByeCwgU1ZHTmFtZXM6OnJ4QXR0ciwgbV9y
eCkKLUFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0VsbGlwc2VFbGVtZW50LCBTVkdM
ZW5ndGgsIExlbmd0aCwgbGVuZ3RoLCBSeSwgcnksIFNWR05hbWVzOjpyeUF0dHIsIG1fcnkpCitB
TklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdFbGxpcHNlRWxlbWVudCwgU1ZHTGVuZ3Ro
LCBDeCwgY3gsIFNWR05hbWVzOjpjeEF0dHIpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9O
UyhTVkdFbGxpcHNlRWxlbWVudCwgU1ZHTGVuZ3RoLCBDeSwgY3ksIFNWR05hbWVzOjpjeUF0dHIp
CitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdFbGxpcHNlRWxlbWVudCwgU1ZHTGVu
Z3RoLCBSeCwgcngsIFNWR05hbWVzOjpyeEF0dHIpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklU
SU9OUyhTVkdFbGxpcHNlRWxlbWVudCwgU1ZHTGVuZ3RoLCBSeSwgcnksIFNWR05hbWVzOjpyeUF0
dHIpCiAKIHZvaWQgU1ZHRWxsaXBzZUVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKE1hcHBl
ZEF0dHJpYnV0ZSogYXR0cikKIHsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0VsbGlwc2VFbGVtZW50
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHRWxsaXBzZUVsZW1lbnQuaAkocmV2aXNp
b24gMzUwMDYpCisrKyBXZWJDb3JlL3N2Zy9TVkdFbGxpcHNlRWxlbWVudC5oCSh3b3JraW5nIGNv
cHkpCkBAIC01MywxMCArNTMsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHByaXZhdGU6
CiAgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJT05TKFNWR0V4dGVy
bmFsUmVzb3VyY2VzUmVxdWlyZWQsIGJvb2wsIEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4
dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpCiAgCi0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RF
Q0xBUkFUSU9OUyhTVkdFbGxpcHNlRWxlbWVudCwgU1ZHTGVuZ3RoLCBTVkdMZW5ndGgsIEN4LCBj
eCkKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0VsbGlwc2VFbGVt
ZW50LCBTVkdMZW5ndGgsIFNWR0xlbmd0aCwgQ3ksIGN5KQotICAgICAgICBBTklNQVRFRF9QUk9Q
RVJUWV9ERUNMQVJBVElPTlMoU1ZHRWxsaXBzZUVsZW1lbnQsIFNWR0xlbmd0aCwgU1ZHTGVuZ3Ro
LCBSeCwgcngpCi0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdFbGxp
cHNlRWxlbWVudCwgU1ZHTGVuZ3RoLCBTVkdMZW5ndGgsIFJ5LCByeSkKKyAgICAgICAgQU5JTUFU
RURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0VsbGlwc2VFbGVtZW50LCBTVkdMZW5ndGgsIEN4
LCBjeCkKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0VsbGlwc2VF
bGVtZW50LCBTVkdMZW5ndGgsIEN5LCBjeSkKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVD
TEFSQVRJT05TKFNWR0VsbGlwc2VFbGVtZW50LCBTVkdMZW5ndGgsIFJ4LCByeCkKKyAgICAgICAg
QU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0VsbGlwc2VFbGVtZW50LCBTVkdMZW5n
dGgsIFJ5LCByeSkKICAgICB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBXZWJD
b3JlL3N2Zy9TVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3N2Zy9TVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLmNwcAkocmV2aXNpb24gMzUw
MDYpCisrKyBXZWJDb3JlL3N2Zy9TVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNDAsNyArNDAsNyBAQCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVk
Ojp+U1ZHRXh0ZXJuCiB7CiB9CiAKLUFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TX1dJVEhf
Q09OVEVYVChTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBib29sLCBCb29sZWFuLCBib29s
ZWFuLCBFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVk
LCBTVkdOYW1lczo6ZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZEF0dHIsIG1fZXh0ZXJuYWxSZXNv
dXJjZXNSZXF1aXJlZCkKK0FOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TX1dJVEhfQ09OVEVY
VChTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBib29sLCBFeHRlcm5hbFJlc291cmNlc1Jl
cXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBTVkdOYW1lczo6ZXh0ZXJuYWxSZXNv
dXJjZXNSZXF1aXJlZEF0dHIpCiAKIGJvb2wgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZDo6
cGFyc2VNYXBwZWRBdHRyaWJ1dGUoTWFwcGVkQXR0cmlidXRlKiBhdHRyKQogewpJbmRleDogV2Vi
Q29yZS9zdmcvU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvc3ZnL1NWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQuaAkocmV2aXNpb24gMzUwMDYp
CisrKyBXZWJDb3JlL3N2Zy9TVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTUzLDcgKzUzLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0
dWFsIGNvbnN0IFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgY29uc3QgPSAwOwogCiAgICAg
cHJpdmF0ZToKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TX1dJVEhfQ09O
VEVYVChTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBib29sLCBib29sLCBFeHRlcm5hbFJl
c291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQorICAgICAgICBBTklN
QVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlNfV0lUSF9DT05URVhUKFNWR0V4dGVybmFsUmVzb3Vy
Y2VzUmVxdWlyZWQsIGJvb2wsIEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVz
b3VyY2VzUmVxdWlyZWQpCiAgICAgfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDog
V2ViQ29yZS9zdmcvU1ZHRkVCbGVuZEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
c3ZnL1NWR0ZFQmxlbmRFbGVtZW50LmNwcAkocmV2aXNpb24gMzUwMDYpCisrKyBXZWJDb3JlL3N2
Zy9TVkdGRUJsZW5kRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQwLDkgKzQwLDkgQEAg
U1ZHRkVCbGVuZEVsZW1lbnQ6On5TVkdGRUJsZW5kRWxlbWVudCgpCiB7CiB9CiAKLUFOSU1BVEVE
X1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0ZFQmxlbmRFbGVtZW50LCBTdHJpbmcsIFN0cmluZywg
c3RyaW5nLCBJbjEsIGluMSwgU1ZHTmFtZXM6OmluQXR0ciwgbV9pbjEpCi1BTklNQVRFRF9QUk9Q
RVJUWV9ERUZJTklUSU9OUyhTVkdGRUJsZW5kRWxlbWVudCwgU3RyaW5nLCBTdHJpbmcsIHN0cmlu
ZywgSW4yLCBpbjIsIFNWR05hbWVzOjppbjJBdHRyLCBtX2luMikKLUFOSU1BVEVEX1BST1BFUlRZ
X0RFRklOSVRJT05TKFNWR0ZFQmxlbmRFbGVtZW50LCBpbnQsIEVudW1lcmF0aW9uLCBlbnVtZXJh
dGlvbiwgTW9kZSwgbW9kZSwgU1ZHTmFtZXM6Om1vZGVBdHRyLCBtX21vZGUpCitBTklNQVRFRF9Q
Uk9QRVJUWV9ERUZJTklUSU9OUyhTVkdGRUJsZW5kRWxlbWVudCwgU3RyaW5nLCBJbjEsIGluMSwg
U1ZHTmFtZXM6OmluQXR0cikKK0FOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0ZFQmxl
bmRFbGVtZW50LCBTdHJpbmcsIEluMiwgaW4yLCBTVkdOYW1lczo6aW4yQXR0cikKK0FOSU1BVEVE
X1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0ZFQmxlbmRFbGVtZW50LCBpbnQsIE1vZGUsIG1vZGUs
IFNWR05hbWVzOjptb2RlQXR0cikKIAogdm9pZCBTVkdGRUJsZW5kRWxlbWVudDo6cGFyc2VNYXBw
ZWRBdHRyaWJ1dGUoTWFwcGVkQXR0cmlidXRlKiBhdHRyKQogewpJbmRleDogV2ViQ29yZS9zdmcv
U1ZHRkVCbGVuZEVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdGRUJsZW5k
RWxlbWVudC5oCShyZXZpc2lvbiAzNTAwNikKKysrIFdlYkNvcmUvc3ZnL1NWR0ZFQmxlbmRFbGVt
ZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTQ0LDkgKzQ0LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUK
ICAgICAgICAgdmlydHVhbCBjb25zdCBTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCgpIGNvbnN0
IHsgcmV0dXJuIHRoaXM7IH0KIAogICAgIHByaXZhdGU6Ci0gICAgICAgIEFOSU1BVEVEX1BST1BF
UlRZX0RFQ0xBUkFUSU9OUyhTVkdGRUJsZW5kRWxlbWVudCwgU3RyaW5nLCBTdHJpbmcsIEluMSwg
aW4xKQotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRkVCbGVuZEVs
ZW1lbnQsIFN0cmluZywgU3RyaW5nLCBJbjIsIGluMikKLSAgICAgICAgQU5JTUFURURfUFJPUEVS
VFlfREVDTEFSQVRJT05TKFNWR0ZFQmxlbmRFbGVtZW50LCBpbnQsIGludCwgTW9kZSwgbW9kZSkK
KyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0ZFQmxlbmRFbGVtZW50
LCBTdHJpbmcsIEluMSwgaW4xKQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElP
TlMoU1ZHRkVCbGVuZEVsZW1lbnQsIFN0cmluZywgSW4yLCBpbjIpCisgICAgICAgIEFOSU1BVEVE
X1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdGRUJsZW5kRWxlbWVudCwgaW50LCBNb2RlLCBtb2Rl
KQogCiAgICAgICAgIG11dGFibGUgUmVmUHRyPEZFQmxlbmQ+IG1fZmlsdGVyRWZmZWN0OwogICAg
IH07CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdGRUNvbG9yTWF0cml4RWxlbWVudC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQuY3BwCShyZXZpc2lv
biAzNTAwNikKKysrIFdlYkNvcmUvc3ZnL1NWR0ZFQ29sb3JNYXRyaXhFbGVtZW50LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNDMsOSArNDMsOSBAQCBTVkdGRUNvbG9yTWF0cml4RWxlbWVudDo6flNW
R0ZFQ29sb3JNYXRyCiB7CiB9CiAKLUFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0ZF
Q29sb3JNYXRyaXhFbGVtZW50LCBTdHJpbmcsIFN0cmluZywgc3RyaW5nLCBJbjEsIGluMSwgU1ZH
TmFtZXM6OmluQXR0ciwgbV9pbjEpCi1BTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdG
RUNvbG9yTWF0cml4RWxlbWVudCwgaW50LCBFbnVtZXJhdGlvbiwgZW51bWVyYXRpb24sIFR5cGUs
IHR5cGUsIFNWR05hbWVzOjp0eXBlQXR0ciwgbV90eXBlKQotQU5JTUFURURfUFJPUEVSVFlfREVG
SU5JVElPTlMoU1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQsIFNWR051bWJlckxpc3QqLCBOdW1iZXJM
aXN0LCBudW1iZXJMaXN0LCBWYWx1ZXMsIHZhbHVlcywgU1ZHTmFtZXM6OnZhbHVlc0F0dHIsIG1f
dmFsdWVzLmdldCgpKQorQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHRkVDb2xvck1h
dHJpeEVsZW1lbnQsIHN0cmluZywgSW4xLCBpbjEsIFNWR05hbWVzOjppbkF0dHIpCitBTklNQVRF
RF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdGRUNvbG9yTWF0cml4RWxlbWVudCwgaW50LCBUeXBl
LCB0eXBlLCBTVkdOYW1lczo6dHlwZUF0dHIpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9O
U19SRUZDT1VOVEVEKFNWR0ZFQ29sb3JNYXRyaXhFbGVtZW50LCBTVkdOdW1iZXJMaXN0LCBWYWx1
ZXMsIHZhbHVlcywgU1ZHTmFtZXM6OnZhbHVlc0F0dHIpCiAKIHZvaWQgU1ZHRkVDb2xvck1hdHJp
eEVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKE1hcHBlZEF0dHJpYnV0ZSogYXR0cikKIHsK
SW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0ZFQ29sb3JNYXRyaXhFbGVtZW50LmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9zdmcvU1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQuaAkocmV2aXNpb24gMzUwMDYp
CisrKyBXZWJDb3JlL3N2Zy9TVkdGRUNvbG9yTWF0cml4RWxlbWVudC5oCSh3b3JraW5nIGNvcHkp
CkBAIC00Niw5ICs0Niw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlCiAgICAgICAgIHZpcnR1YWwgY29u
c3QgU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSBjb25zdCB7IHJldHVybiB0aGlzOyB9CiAK
ICAgICBwcml2YXRlOgotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZH
RkVDb2xvck1hdHJpeEVsZW1lbnQsIFN0cmluZywgU3RyaW5nLCBJbjEsIGluMSkKLSAgICAgICAg
QU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0ZFQ29sb3JNYXRyaXhFbGVtZW50LCBp
bnQsIGludCwgVHlwZSwgdHlwZSkKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJ
T05TKFNWR0ZFQ29sb3JNYXRyaXhFbGVtZW50LCBTVkdOdW1iZXJMaXN0KiwgUmVmUHRyPFNWR051
bWJlckxpc3Q+LCBWYWx1ZXMsIHZhbHVlcykKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVD
TEFSQVRJT05TKFNWR0ZFQ29sb3JNYXRyaXhFbGVtZW50LCBTdHJpbmcsIEluMSwgaW4xKQorICAg
ICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRkVDb2xvck1hdHJpeEVsZW1l
bnQsIGludCwgVHlwZSwgdHlwZSkKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJ
T05TX1JFRkNPVU5URUQoU1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQsIFNWR051bWJlckxpc3QsIFZh
bHVlcywgdmFsdWVzKQogCiAgICAgICAgIG11dGFibGUgUmVmUHRyPEZFQ29sb3JNYXRyaXg+IG1f
ZmlsdGVyRWZmZWN0OwogICAgIH07CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdGRUNvbXBvbmVudFRy
YW5zZmVyRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHRkVDb21wb25l
bnRUcmFuc2ZlckVsZW1lbnQuY3BwCShyZXZpc2lvbiAzNTAwNikKKysrIFdlYkNvcmUvc3ZnL1NW
R0ZFQ29tcG9uZW50VHJhbnNmZXJFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDYsNyAr
NDYsNyBAQCBTVkdGRUNvbXBvbmVudFRyYW5zZmVyRWxlbWVudDo6flNWR0ZFQ29tCiB7CiB9CiAK
LUFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0ZFQ29tcG9uZW50VHJhbnNmZXJFbGVt
ZW50LCBTdHJpbmcsIFN0cmluZywgc3RyaW5nLCBJbjEsIGluMSwgU1ZHTmFtZXM6OmluQXR0ciwg
bV9pbjEpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdGRUNvbXBvbmVudFRyYW5z
ZmVyRWxlbWVudCwgU3RyaW5nLCBJbjEsIGluMSwgU1ZHTmFtZXM6OmluQXR0cikKIAogdm9pZCBT
VkdGRUNvbXBvbmVudFRyYW5zZmVyRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoTWFwcGVk
QXR0cmlidXRlKiBhdHRyKQogewpJbmRleDogV2ViQ29yZS9zdmcvU1ZHRkVDb21wb25lbnRUcmFu
c2ZlckVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdGRUNvbXBvbmVudFRy
YW5zZmVyRWxlbWVudC5oCShyZXZpc2lvbiAzNTAwNikKKysrIFdlYkNvcmUvc3ZnL1NWR0ZFQ29t
cG9uZW50VHJhbnNmZXJFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTQ1LDcgKzQ1LDcgQEAg
bmFtZXNwYWNlIFdlYkNvcmUKICAgICAgICAgdmlydHVhbCBjb25zdCBTVkdFbGVtZW50KiBjb250
ZXh0RWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIHRoaXM7IH0KIAogICAgIHByaXZhdGU6Ci0gICAg
ICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdGRUNvbXBvbmVudFRyYW5zZmVy
RWxlbWVudCwgU3RyaW5nLCBTdHJpbmcsIEluMSwgaW4xKQorICAgICAgICBBTklNQVRFRF9QUk9Q
RVJUWV9ERUNMQVJBVElPTlMoU1ZHRkVDb21wb25lbnRUcmFuc2ZlckVsZW1lbnQsIFN0cmluZywg
SW4xLCBpbjEpCiAKICAgICAgICAgbXV0YWJsZSBSZWZQdHI8RkVDb21wb25lbnRUcmFuc2Zlcj4g
bV9maWx0ZXJFZmZlY3Q7CiAgICAgfTsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0ZFQ29tcG9zaXRl
RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHRkVDb21wb3NpdGVFbGVt
ZW50LmNwcAkocmV2aXNpb24gMzUwMDYpCisrKyBXZWJDb3JlL3N2Zy9TVkdGRUNvbXBvc2l0ZUVs
ZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NSwxMyArNDUsMTMgQEAgU1ZHRkVDb21wb3Np
dGVFbGVtZW50Ojp+U1ZHRkVDb21wb3NpdGVFbAogewogfQogCi1BTklNQVRFRF9QUk9QRVJUWV9E
RUZJTklUSU9OUyhTVkdGRUNvbXBvc2l0ZUVsZW1lbnQsIFN0cmluZywgU3RyaW5nLCBzdHJpbmcs
IEluMSwgaW4xLCBTVkdOYW1lczo6aW5BdHRyLCBtX2luMSkKLUFOSU1BVEVEX1BST1BFUlRZX0RF
RklOSVRJT05TKFNWR0ZFQ29tcG9zaXRlRWxlbWVudCwgU3RyaW5nLCBTdHJpbmcsIHN0cmluZywg
SW4yLCBpbjIsIFNWR05hbWVzOjppbjJBdHRyLCBtX2luMikKLUFOSU1BVEVEX1BST1BFUlRZX0RF
RklOSVRJT05TKFNWR0ZFQ29tcG9zaXRlRWxlbWVudCwgaW50LCBFbnVtZXJhdGlvbiwgZW51bWVy
YXRpb24sIF9vcGVyYXRvciwgX29wZXJhdG9yLCBTVkdOYW1lczo6b3BlcmF0b3JBdHRyLCBtX19v
cGVyYXRvcikKLUFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0ZFQ29tcG9zaXRlRWxl
bWVudCwgZmxvYXQsIE51bWJlciwgbnVtYmVyLCBLMSwgazEsIFNWR05hbWVzOjprMUF0dHIsIG1f
azEpCi1BTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdGRUNvbXBvc2l0ZUVsZW1lbnQs
IGZsb2F0LCBOdW1iZXIsIG51bWJlciwgSzIsIGsyLCBTVkdOYW1lczo6azJBdHRyLCBtX2syKQot
QU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHRkVDb21wb3NpdGVFbGVtZW50LCBmbG9h
dCwgTnVtYmVyLCBudW1iZXIsIEszLCBrMywgU1ZHTmFtZXM6OmszQXR0ciwgbV9rMykKLUFOSU1B
VEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0ZFQ29tcG9zaXRlRWxlbWVudCwgZmxvYXQsIE51
bWJlciwgbnVtYmVyLCBLNCwgazQsIFNWR05hbWVzOjprNEF0dHIsIG1fazQpCitBTklNQVRFRF9Q
Uk9QRVJUWV9ERUZJTklUSU9OUyhTVkdGRUNvbXBvc2l0ZUVsZW1lbnQsIFN0cmluZywgSW4xLCBp
bjEsIFNWR05hbWVzOjppbkF0dHIpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdG
RUNvbXBvc2l0ZUVsZW1lbnQsIFN0cmluZywgSW4yLCBpbjIsIFNWR05hbWVzOjppbjJBdHRyKQor
QU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHRkVDb21wb3NpdGVFbGVtZW50LCBpbnQs
IF9vcGVyYXRvciwgX29wZXJhdG9yLCBTVkdOYW1lczo6b3BlcmF0b3JBdHRyKQorQU5JTUFURURf
UFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHRkVDb21wb3NpdGVFbGVtZW50LCBmbG9hdCwgSzEsIGsx
LCBTVkdOYW1lczo6azFBdHRyKQorQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHRkVD
b21wb3NpdGVFbGVtZW50LCBmbG9hdCwgSzIsIGsyLCBTVkdOYW1lczo6azJBdHRyKQorQU5JTUFU
RURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHRkVDb21wb3NpdGVFbGVtZW50LCBmbG9hdCwgSzMs
IGszLCBTVkdOYW1lczo6azNBdHRyKQorQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZH
RkVDb21wb3NpdGVFbGVtZW50LCBmbG9hdCwgSzQsIGs0LCBTVkdOYW1lczo6azRBdHRyKQogCiB2
b2lkIFNWR0ZFQ29tcG9zaXRlRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoTWFwcGVkQXR0
cmlidXRlICphdHRyKQogewpJbmRleDogV2ViQ29yZS9zdmcvU1ZHRkVDb21wb3NpdGVFbGVtZW50
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHRkVDb21wb3NpdGVFbGVtZW50LmgJKHJl
dmlzaW9uIDM1MDA2KQorKysgV2ViQ29yZS9zdmcvU1ZHRkVDb21wb3NpdGVFbGVtZW50LmgJKHdv
cmtpbmcgY29weSkKQEAgLTQ1LDEzICs0NSwxMyBAQCBuYW1lc3BhY2UgV2ViQ29yZQogICAgICAg
ICB2aXJ0dWFsIGNvbnN0IFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgY29uc3QgeyByZXR1
cm4gdGhpczsgfQogCiAgICAgcHJpdmF0ZToKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVD
TEFSQVRJT05TKFNWR0ZFQ29tcG9zaXRlRWxlbWVudCwgU3RyaW5nLCBTdHJpbmcsIEluMSwgaW4x
KQotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRkVDb21wb3NpdGVF
bGVtZW50LCBTdHJpbmcsIFN0cmluZywgSW4yLCBpbjIpCi0gICAgICAgIEFOSU1BVEVEX1BST1BF
UlRZX0RFQ0xBUkFUSU9OUyhTVkdGRUNvbXBvc2l0ZUVsZW1lbnQsIGludCwgaW50LCBfb3BlcmF0
b3IsIF9vcGVyYXRvcikKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNW
R0ZFQ29tcG9zaXRlRWxlbWVudCwgZmxvYXQsIGZsb2F0LCBLMSwgazEpCi0gICAgICAgIEFOSU1B
VEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdGRUNvbXBvc2l0ZUVsZW1lbnQsIGZsb2F0LCBm
bG9hdCwgSzIsIGsyKQotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZH
RkVDb21wb3NpdGVFbGVtZW50LCBmbG9hdCwgZmxvYXQsIEszLCBrMykKLSAgICAgICAgQU5JTUFU
RURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0ZFQ29tcG9zaXRlRWxlbWVudCwgZmxvYXQsIGZs
b2F0LCBLNCwgazQpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdG
RUNvbXBvc2l0ZUVsZW1lbnQsIFN0cmluZywgSW4xLCBpbjEpCisgICAgICAgIEFOSU1BVEVEX1BS
T1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdGRUNvbXBvc2l0ZUVsZW1lbnQsIFN0cmluZywgSW4yLCBp
bjIpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdGRUNvbXBvc2l0
ZUVsZW1lbnQsIGludCwgX29wZXJhdG9yLCBfb3BlcmF0b3IpCisgICAgICAgIEFOSU1BVEVEX1BS
T1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdGRUNvbXBvc2l0ZUVsZW1lbnQsIGZsb2F0LCBLMSwgazEp
CisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdGRUNvbXBvc2l0ZUVs
ZW1lbnQsIGZsb2F0LCBLMiwgazIpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFU
SU9OUyhTVkdGRUNvbXBvc2l0ZUVsZW1lbnQsIGZsb2F0LCBLMywgazMpCisgICAgICAgIEFOSU1B
VEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdGRUNvbXBvc2l0ZUVsZW1lbnQsIGZsb2F0LCBL
NCwgazQpCiAKICAgICAgICAgbXV0YWJsZSBSZWZQdHI8RkVDb21wb3NpdGU+IG1fZmlsdGVyRWZm
ZWN0OwogICAgIH07CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdGRURpZmZ1c2VMaWdodGluZ0VsZW1l
bnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0ZFRGlmZnVzZUxpZ2h0aW5nRWxl
bWVudC5jcHAJKHJldmlzaW9uIDM1MDA2KQorKysgV2ViQ29yZS9zdmcvU1ZHRkVEaWZmdXNlTGln
aHRpbmdFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDgsMTEgKzQ4LDExIEBAIFNWR0ZF
RGlmZnVzZUxpZ2h0aW5nRWxlbWVudDo6flNWR0ZFRGlmZnUKIHsKIH0KIAotQU5JTUFURURfUFJP
UEVSVFlfREVGSU5JVElPTlMoU1ZHRkVEaWZmdXNlTGlnaHRpbmdFbGVtZW50LCBTdHJpbmcsIFN0
cmluZywgc3RyaW5nLCBJbjEsIGluMSwgU1ZHTmFtZXM6OmluQXR0ciwgbV9pbjEpCi1BTklNQVRF
RF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdGRURpZmZ1c2VMaWdodGluZ0VsZW1lbnQsIGZsb2F0
LCBOdW1iZXIsIG51bWJlciwgRGlmZnVzZUNvbnN0YW50LCBkaWZmdXNlQ29uc3RhbnQsIFNWR05h
bWVzOjpkaWZmdXNlQ29uc3RhbnRBdHRyLCBtX2RpZmZ1c2VDb25zdGFudCkKLUFOSU1BVEVEX1BS
T1BFUlRZX0RFRklOSVRJT05TKFNWR0ZFRGlmZnVzZUxpZ2h0aW5nRWxlbWVudCwgZmxvYXQsIE51
bWJlciwgbnVtYmVyLCBTdXJmYWNlU2NhbGUsIHN1cmZhY2VTY2FsZSwgU1ZHTmFtZXM6OnN1cmZh
Y2VTY2FsZUF0dHIsIG1fc3VyZmFjZVNjYWxlKQotQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElP
TlNfV0lUSF9DVVNUT01fSURFTlRJRklFUihTVkdGRURpZmZ1c2VMaWdodGluZ0VsZW1lbnQsIGZs
b2F0LCBOdW1iZXIsIG51bWJlciwgS2VybmVsVW5pdExlbmd0aFgsIGtlcm5lbFVuaXRMZW5ndGhY
LCBTVkdOYW1lczo6a2VybmVsVW5pdExlbmd0aEF0dHIsICJrZXJuZWxVbml0TGVuZ3RoWCIsIG1f
a2VybmVsVW5pdExlbmd0aFgpCi1BTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OU19XSVRIX0NV
U1RPTV9JREVOVElGSUVSKFNWR0ZFRGlmZnVzZUxpZ2h0aW5nRWxlbWVudCwgZmxvYXQsIE51bWJl
ciwgbnVtYmVyLCBLZXJuZWxVbml0TGVuZ3RoWSwga2VybmVsVW5pdExlbmd0aFksIFNWR05hbWVz
OjprZXJuZWxVbml0TGVuZ3RoQXR0ciwgImtlcm5lbFVuaXRMZW5ndGhZIiwgbV9rZXJuZWxVbml0
TGVuZ3RoWSkKK0FOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0ZFRGlmZnVzZUxpZ2h0
aW5nRWxlbWVudCwgc3RyaW5nLCBJbjEsIGluMSwgU1ZHTmFtZXM6OmluQXR0cikKK0FOSU1BVEVE
X1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0ZFRGlmZnVzZUxpZ2h0aW5nRWxlbWVudCwgZmxvYXQs
IERpZmZ1c2VDb25zdGFudCwgZGlmZnVzZUNvbnN0YW50LCBTVkdOYW1lczo6ZGlmZnVzZUNvbnN0
YW50QXR0cikKK0FOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0ZFRGlmZnVzZUxpZ2h0
aW5nRWxlbWVudCwgZmxvYXQsIFN1cmZhY2VTY2FsZSwgc3VyZmFjZVNjYWxlLCBTVkdOYW1lczo6
c3VyZmFjZVNjYWxlQXR0cikKK0FOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TX1dJVEhfQ1VT
VE9NX0lERU5USUZJRVIoU1ZHRkVEaWZmdXNlTGlnaHRpbmdFbGVtZW50LCBmbG9hdCwgS2VybmVs
VW5pdExlbmd0aFgsIGtlcm5lbFVuaXRMZW5ndGhYLCBTVkdOYW1lczo6a2VybmVsVW5pdExlbmd0
aEF0dHIsICJrZXJuZWxVbml0TGVuZ3RoWCIpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9O
U19XSVRIX0NVU1RPTV9JREVOVElGSUVSKFNWR0ZFRGlmZnVzZUxpZ2h0aW5nRWxlbWVudCwgZmxv
YXQsIEtlcm5lbFVuaXRMZW5ndGhZLCBrZXJuZWxVbml0TGVuZ3RoWSwgU1ZHTmFtZXM6Omtlcm5l
bFVuaXRMZW5ndGhBdHRyLCAia2VybmVsVW5pdExlbmd0aFkiKQogCiB2b2lkIFNWR0ZFRGlmZnVz
ZUxpZ2h0aW5nRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoTWFwcGVkQXR0cmlidXRlICph
dHRyKQogewpJbmRleDogV2ViQ29yZS9zdmcvU1ZHRkVEaWZmdXNlTGlnaHRpbmdFbGVtZW50LmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHRkVEaWZmdXNlTGlnaHRpbmdFbGVtZW50LmgJ
KHJldmlzaW9uIDM1MDA2KQorKysgV2ViQ29yZS9zdmcvU1ZHRkVEaWZmdXNlTGlnaHRpbmdFbGVt
ZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTQyLDExICs0MiwxMSBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgICAgIHZpcnR1YWwgY29uc3QgU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSBj
b25zdCB7IHJldHVybiB0aGlzOyB9CiAKICAgICBwcml2YXRlOgotICAgICAgICBBTklNQVRFRF9Q
Uk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRkVEaWZmdXNlTGlnaHRpbmdFbGVtZW50LCBTdHJpbmcs
IFN0cmluZywgSW4xLCBpbjEpCi0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9O
UyhTVkdGRURpZmZ1c2VMaWdodGluZ0VsZW1lbnQsIGZsb2F0LCBmbG9hdCwgRGlmZnVzZUNvbnN0
YW50LCBkaWZmdXNlQ29uc3RhbnQpCi0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFU
SU9OUyhTVkdGRURpZmZ1c2VMaWdodGluZ0VsZW1lbnQsIGZsb2F0LCBmbG9hdCwgU3VyZmFjZVNj
YWxlLCBzdXJmYWNlU2NhbGUpCi0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9O
UyhTVkdGRURpZmZ1c2VMaWdodGluZ0VsZW1lbnQsIGZsb2F0LCBmbG9hdCwgS2VybmVsVW5pdExl
bmd0aFgsIGtlcm5lbFVuaXRMZW5ndGhYKQotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNM
QVJBVElPTlMoU1ZHRkVEaWZmdXNlTGlnaHRpbmdFbGVtZW50LCBmbG9hdCwgZmxvYXQsIEtlcm5l
bFVuaXRMZW5ndGhZLCBrZXJuZWxVbml0TGVuZ3RoWSkKKyAgICAgICAgQU5JTUFURURfUFJPUEVS
VFlfREVDTEFSQVRJT05TKFNWR0ZFRGlmZnVzZUxpZ2h0aW5nRWxlbWVudCwgU3RyaW5nLCBJbjEs
IGluMSkKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0ZFRGlmZnVz
ZUxpZ2h0aW5nRWxlbWVudCwgZmxvYXQsIERpZmZ1c2VDb25zdGFudCwgZGlmZnVzZUNvbnN0YW50
KQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRkVEaWZmdXNlTGln
aHRpbmdFbGVtZW50LCBmbG9hdCwgU3VyZmFjZVNjYWxlLCBzdXJmYWNlU2NhbGUpCisgICAgICAg
IEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdGRURpZmZ1c2VMaWdodGluZ0VsZW1l
bnQsIGZsb2F0LCBLZXJuZWxVbml0TGVuZ3RoWCwga2VybmVsVW5pdExlbmd0aFgpCisgICAgICAg
IEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdGRURpZmZ1c2VMaWdodGluZ0VsZW1l
bnQsIGZsb2F0LCBLZXJuZWxVbml0TGVuZ3RoWSwga2VybmVsVW5pdExlbmd0aFkpCiAKICAgICAg
ICAgbXV0YWJsZSBSZWZQdHI8U1ZHRkVEaWZmdXNlTGlnaHRpbmc+IG1fZmlsdGVyRWZmZWN0Owog
ICAgICAgICAKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHRkVEaXNwbGFjZW1lbnRNYXBFbGVtZW50
LmNwcAkocmV2aXNpb24gMzUwMDYpCisrKyBXZWJDb3JlL3N2Zy9TVkdGRURpc3BsYWNlbWVudE1h
cEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MCwxMSArNDAsMTEgQEAgU1ZHRkVEaXNw
bGFjZW1lbnRNYXBFbGVtZW50Ojp+U1ZHRkVEaXNwbAogewogfQogCi1BTklNQVRFRF9QUk9QRVJU
WV9ERUZJTklUSU9OUyhTVkdGRURpc3BsYWNlbWVudE1hcEVsZW1lbnQsIFN0cmluZywgU3RyaW5n
LCBzdHJpbmcsIEluMSwgaW4xLCBTVkdOYW1lczo6aW5BdHRyLCBtX2luMSkKLUFOSU1BVEVEX1BS
T1BFUlRZX0RFRklOSVRJT05TKFNWR0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudCwgU3RyaW5nLCBT
dHJpbmcsIHN0cmluZywgSW4yLCBpbjIsIFNWR05hbWVzOjppbjJBdHRyLCBtX2luMikKLUFOSU1B
VEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudCwgaW50
LCBFbnVtZXJhdGlvbiwgZW51bWVyYXRpb24sIFhDaGFubmVsU2VsZWN0b3IsIHhDaGFubmVsU2Vs
ZWN0b3IsIFNWR05hbWVzOjp4Q2hhbm5lbFNlbGVjdG9yQXR0ciwgbV94Q2hhbm5lbFNlbGVjdG9y
KQotQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHRkVEaXNwbGFjZW1lbnRNYXBFbGVt
ZW50LCBpbnQsIEVudW1lcmF0aW9uLCBlbnVtZXJhdGlvbiwgWUNoYW5uZWxTZWxlY3RvciwgeUNo
YW5uZWxTZWxlY3RvciwgU1ZHTmFtZXM6OnlDaGFubmVsU2VsZWN0b3JBdHRyLCBtX3lDaGFubmVs
U2VsZWN0b3IpCi1BTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdGRURpc3BsYWNlbWVu
dE1hcEVsZW1lbnQsIGZsb2F0LCBOdW1iZXIsIG51bWJlciwgU2NhbGUsIHNjYWxlLCBTVkdOYW1l
czo6c2NhbGVBdHRyLCBtX3NjYWxlKQorQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZH
RkVEaXNwbGFjZW1lbnRNYXBFbGVtZW50LCBTdHJpbmcsIEluMSwgaW4xLCBTVkdOYW1lczo6aW5B
dHRyKQorQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHRkVEaXNwbGFjZW1lbnRNYXBF
bGVtZW50LCBTdHJpbmcsIEluMiwgaW4yLCBTVkdOYW1lczo6aW4yQXR0cikKK0FOSU1BVEVEX1BS
T1BFUlRZX0RFRklOSVRJT05TKFNWR0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudCwgaW50LCBYQ2hh
bm5lbFNlbGVjdG9yLCB4Q2hhbm5lbFNlbGVjdG9yLCBTVkdOYW1lczo6eENoYW5uZWxTZWxlY3Rv
ckF0dHIpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdGRURpc3BsYWNlbWVudE1h
cEVsZW1lbnQsIGludCwgWUNoYW5uZWxTZWxlY3RvciwgeUNoYW5uZWxTZWxlY3RvciwgU1ZHTmFt
ZXM6OnlDaGFubmVsU2VsZWN0b3JBdHRyKQorQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMo
U1ZHRkVEaXNwbGFjZW1lbnRNYXBFbGVtZW50LCBmbG9hdCwgU2NhbGUsIHNjYWxlLCBTVkdOYW1l
czo6c2NhbGVBdHRyKQogCiBTVkdDaGFubmVsU2VsZWN0b3JUeXBlIFNWR0ZFRGlzcGxhY2VtZW50
TWFwRWxlbWVudDo6c3RyaW5nVG9DaGFubmVsKGNvbnN0IFN0cmluZyYga2V5KQogewpJbmRleDog
V2ViQ29yZS9zdmcvU1ZHRkVEaXNwbGFjZW1lbnRNYXBFbGVtZW50LmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9zdmcvU1ZHRkVEaXNwbGFjZW1lbnRNYXBFbGVtZW50LmgJKHJldmlzaW9uIDM1MDA2
KQorKysgV2ViQ29yZS9zdmcvU1ZHRkVEaXNwbGFjZW1lbnRNYXBFbGVtZW50LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTQwLDExICs0MCwxMSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZp
cnR1YWwgY29uc3QgU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSBjb25zdCB7IHJldHVybiB0
aGlzOyB9CiAKICAgICBwcml2YXRlOgotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJB
VElPTlMoU1ZHRkVEaXNwbGFjZW1lbnRNYXBFbGVtZW50LCBTdHJpbmcsIFN0cmluZywgSW4xLCBp
bjEpCi0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdGRURpc3BsYWNl
bWVudE1hcEVsZW1lbnQsIFN0cmluZywgU3RyaW5nLCBJbjIsIGluMikKLSAgICAgICAgQU5JTUFU
RURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudCwgaW50
LCBpbnQsIFhDaGFubmVsU2VsZWN0b3IsIHhDaGFubmVsU2VsZWN0b3IpCi0gICAgICAgIEFOSU1B
VEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdGRURpc3BsYWNlbWVudE1hcEVsZW1lbnQsIGlu
dCwgaW50LCBZQ2hhbm5lbFNlbGVjdG9yLCB5Q2hhbm5lbFNlbGVjdG9yKQotICAgICAgICBBTklN
QVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRkVEaXNwbGFjZW1lbnRNYXBFbGVtZW50LCBm
bG9hdCwgZmxvYXQsIFNjYWxlLCBzY2FsZSkKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVD
TEFSQVRJT05TKFNWR0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudCwgU3RyaW5nLCBJbjEsIGluMSkK
KyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0ZFRGlzcGxhY2VtZW50
TWFwRWxlbWVudCwgU3RyaW5nLCBJbjIsIGluMikKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlf
REVDTEFSQVRJT05TKFNWR0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudCwgaW50LCBYQ2hhbm5lbFNl
bGVjdG9yLCB4Q2hhbm5lbFNlbGVjdG9yKQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNM
QVJBVElPTlMoU1ZHRkVEaXNwbGFjZW1lbnRNYXBFbGVtZW50LCBpbnQsIFlDaGFubmVsU2VsZWN0
b3IsIHlDaGFubmVsU2VsZWN0b3IpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFU
SU9OUyhTVkdGRURpc3BsYWNlbWVudE1hcEVsZW1lbnQsIGZsb2F0LCBTY2FsZSwgc2NhbGUpCiAK
ICAgICAgICAgbXV0YWJsZSBSZWZQdHI8U1ZHRkVEaXNwbGFjZW1lbnRNYXA+IG1fZmlsdGVyRWZm
ZWN0OwogICAgIH07CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdGRUdhdXNzaWFuQmx1ckVsZW1lbnQu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0ZFR2F1c3NpYW5CbHVyRWxlbWVudC5j
cHAJKHJldmlzaW9uIDM1MDA2KQorKysgV2ViQ29yZS9zdmcvU1ZHRkVHYXVzc2lhbkJsdXJFbGVt
ZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDMsOSArNDMsOSBAQCBTVkdGRUdhdXNzaWFuQmx1
ckVsZW1lbnQ6On5TVkdGRUdhdXNzaWFuCiB7CiB9CiAKLUFOSU1BVEVEX1BST1BFUlRZX0RFRklO
SVRJT05TKFNWR0ZFR2F1c3NpYW5CbHVyRWxlbWVudCwgU3RyaW5nLCBTdHJpbmcsIHN0cmluZywg
SW4xLCBpbjEsIFNWR05hbWVzOjppbkF0dHIsIG1faW4xKQotQU5JTUFURURfUFJPUEVSVFlfREVG
SU5JVElPTlNfV0lUSF9DVVNUT01fSURFTlRJRklFUihTVkdGRUdhdXNzaWFuQmx1ckVsZW1lbnQs
IGZsb2F0LCBOdW1iZXIsIG51bWJlciwgU3RkRGV2aWF0aW9uWCwgc3RkRGV2aWF0aW9uWCwgU1ZH
TmFtZXM6OnN0ZERldmlhdGlvbkF0dHIsICJzdGREZXZpYXRpb25YIiwgbV9zdGREZXZpYXRpb25Y
KQotQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlNfV0lUSF9DVVNUT01fSURFTlRJRklFUihT
VkdGRUdhdXNzaWFuQmx1ckVsZW1lbnQsIGZsb2F0LCBOdW1iZXIsIG51bWJlciwgU3RkRGV2aWF0
aW9uWSwgc3RkRGV2aWF0aW9uWSwgU1ZHTmFtZXM6OnN0ZERldmlhdGlvbkF0dHIsICJzdGREZXZp
YXRpb25ZIiwgbV9zdGREZXZpYXRpb25ZKQorQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMo
U1ZHRkVHYXVzc2lhbkJsdXJFbGVtZW50LCBTdHJpbmcsIEluMSwgaW4xLCBTVkdOYW1lczo6aW5B
dHRyKQorQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlNfV0lUSF9DVVNUT01fSURFTlRJRklF
UihTVkdGRUdhdXNzaWFuQmx1ckVsZW1lbnQsIGZsb2F0LCBTdGREZXZpYXRpb25YLCBzdGREZXZp
YXRpb25YLCBTVkdOYW1lczo6c3RkRGV2aWF0aW9uQXR0ciwgInN0ZERldmlhdGlvblgiKQorQU5J
TUFURURfUFJPUEVSVFlfREVGSU5JVElPTlNfV0lUSF9DVVNUT01fSURFTlRJRklFUihTVkdGRUdh
dXNzaWFuQmx1ckVsZW1lbnQsIGZsb2F0LCBTdGREZXZpYXRpb25ZLCBzdGREZXZpYXRpb25ZLCBT
VkdOYW1lczo6c3RkRGV2aWF0aW9uQXR0ciwgInN0ZERldmlhdGlvblkiKQogCiB2b2lkIFNWR0ZF
R2F1c3NpYW5CbHVyRWxlbWVudDo6c2V0U3RkRGV2aWF0aW9uKGZsb2F0IHN0ZERldmlhdGlvblgs
IGZsb2F0IHN0ZERldmlhdGlvblkpCiB7CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdGRUdhdXNzaWFu
Qmx1ckVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdGRUdhdXNzaWFuQmx1
ckVsZW1lbnQuaAkocmV2aXNpb24gMzUwMDYpCisrKyBXZWJDb3JlL3N2Zy9TVkdGRUdhdXNzaWFu
Qmx1ckVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNDUsOSArNDUsOSBAQCBuYW1lc3BhY2Ug
V2ViQ29yZQogICAgICAgICB2aXJ0dWFsIGNvbnN0IFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50
KCkgY29uc3QgeyByZXR1cm4gdGhpczsgfQogCiAgICAgcHJpdmF0ZToKLSAgICAgICAgQU5JTUFU
RURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0ZFR2F1c3NpYW5CbHVyRWxlbWVudCwgU3RyaW5n
LCBTdHJpbmcsIEluMSwgaW4xKQotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElP
TlMoU1ZHRkVHYXVzc2lhbkJsdXJFbGVtZW50LCBmbG9hdCwgZmxvYXQsIFN0ZERldmlhdGlvblgs
IHN0ZERldmlhdGlvblgpCi0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhT
VkdGRUdhdXNzaWFuQmx1ckVsZW1lbnQsIGZsb2F0LCBmbG9hdCwgU3RkRGV2aWF0aW9uWSwgc3Rk
RGV2aWF0aW9uWSkKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0ZF
R2F1c3NpYW5CbHVyRWxlbWVudCwgU3RyaW5nLCBJbjEsIGluMSkKKyAgICAgICAgQU5JTUFURURf
UFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0ZFR2F1c3NpYW5CbHVyRWxlbWVudCwgZmxvYXQsIFN0
ZERldmlhdGlvblgsIHN0ZERldmlhdGlvblgpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RF
Q0xBUkFUSU9OUyhTVkdGRUdhdXNzaWFuQmx1ckVsZW1lbnQsIGZsb2F0LCBTdGREZXZpYXRpb25Z
LCBzdGREZXZpYXRpb25ZKQogCiAgICAgICAgIG11dGFibGUgUmVmUHRyPFNWR0ZFR2F1c3NpYW5C
bHVyPiBtX2ZpbHRlckVmZmVjdDsKICAgICB9OwpJbmRleDogV2ViQ29yZS9zdmcvU1ZHRkVJbWFn
ZUVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0ZFSW1hZ2VFbGVtZW50
LmNwcAkocmV2aXNpb24gMzUwMDYpCisrKyBXZWJDb3JlL3N2Zy9TVkdGRUltYWdlRWxlbWVudC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTUzLDcgKzUzLDcgQEAgU1ZHRkVJbWFnZUVsZW1lbnQ6On5T
VkdGRUltYWdlRWxlbWVudCgpCiAgICAgICAgIG1fY2FjaGVkSW1hZ2UtPnJlbW92ZUNsaWVudCh0
aGlzKTsKIH0KIAotQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHRkVJbWFnZUVsZW1l
bnQsIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8qLCBQcmVzZXJ2ZUFzcGVjdFJhdGlvLCBwcmVzZXJ2
ZUFzcGVjdFJhdGlvLCBQcmVzZXJ2ZUFzcGVjdFJhdGlvLCBwcmVzZXJ2ZUFzcGVjdFJhdGlvLCBT
VkdOYW1lczo6cHJlc2VydmVBc3BlY3RSYXRpb0F0dHIsIG1fcHJlc2VydmVBc3BlY3RSYXRpby5n
ZXQoKSkKK0FOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TX1JFRkNPVU5URUQoU1ZHRkVJbWFn
ZUVsZW1lbnQsIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8sIFNWR05hbWVzOjpwcmVzZXJ2ZUFzcGVj
dFJhdGlvQXR0cikKIAogdm9pZCBTVkdGRUltYWdlRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1
dGUoTWFwcGVkQXR0cmlidXRlKiBhdHRyKQogewpJbmRleDogV2ViQ29yZS9zdmcvU1ZHRkVJbWFn
ZUVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdGRUltYWdlRWxlbWVudC5o
CShyZXZpc2lvbiAzNTAwNikKKysrIFdlYkNvcmUvc3ZnL1NWR0ZFSW1hZ2VFbGVtZW50LmgJKHdv
cmtpbmcgY29weSkKQEAgLTU4LDcgKzU4LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAg
ICBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdVUklSZWZlcmVuY2Us
IFN0cmluZywgSHJlZiwgaHJlZikKICAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9E
RUNMQVJBVElPTlMoU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgYm9vbCwgRXh0ZXJuYWxS
ZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkKICAKLSAgICAgICAg
QU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0ZFSW1hZ2VFbGVtZW50LCBTVkdQcmVz
ZXJ2ZUFzcGVjdFJhdGlvKiwgUmVmUHRyPFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8+LCBQcmVzZXJ2
ZUFzcGVjdFJhdGlvLCBwcmVzZXJ2ZUFzcGVjdFJhdGlvKQorICAgICAgICBBTklNQVRFRF9QUk9Q
RVJUWV9ERUNMQVJBVElPTlNfUkVGQ09VTlRFRChTVkdGRUltYWdlRWxlbWVudCwgU1ZHUHJlc2Vy
dmVBc3BlY3RSYXRpbywgUHJlc2VydmVBc3BlY3RSYXRpbywgcHJlc2VydmVBc3BlY3RSYXRpbykK
IAogICAgICAgICBDYWNoZWRJbWFnZSogbV9jYWNoZWRJbWFnZTsKICAgICAgICAgbXV0YWJsZSBS
ZWZQdHI8U1ZHRkVJbWFnZT4gbV9maWx0ZXJFZmZlY3Q7CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdG
RUxpZ2h0RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHRkVMaWdodEVs
ZW1lbnQuY3BwCShyZXZpc2lvbiAzNTAwNikKKysrIFdlYkNvcmUvc3ZnL1NWR0ZFTGlnaHRFbGVt
ZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDcsMTcgKzQ3LDE3IEBAIFNWR0ZFTGlnaHRFbGVt
ZW50Ojp+U1ZHRkVMaWdodEVsZW1lbnQoKQogewogfQogCi1BTklNQVRFRF9QUk9QRVJUWV9ERUZJ
TklUSU9OUyhTVkdGRUxpZ2h0RWxlbWVudCwgZmxvYXQsIE51bWJlciwgbnVtYmVyLCBBemltdXRo
LCBhemltdXRoLCBTVkdOYW1lczo6YXppbXV0aEF0dHIsIG1fYXppbXV0aCkKLUFOSU1BVEVEX1BS
T1BFUlRZX0RFRklOSVRJT05TKFNWR0ZFTGlnaHRFbGVtZW50LCBmbG9hdCwgTnVtYmVyLCBudW1i
ZXIsIEVsZXZhdGlvbiwgZWxldmF0aW9uLCBTVkdOYW1lczo6ZWxldmF0aW9uQXR0ciwgbV9lbGV2
YXRpb24pCi1BTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdGRUxpZ2h0RWxlbWVudCwg
ZmxvYXQsIE51bWJlciwgbnVtYmVyLCBYLCB4LCBTVkdOYW1lczo6eEF0dHIsIG1feCkKLUFOSU1B
VEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0ZFTGlnaHRFbGVtZW50LCBmbG9hdCwgTnVtYmVy
LCBudW1iZXIsIFksIHksIFNWR05hbWVzOjp5QXR0ciwgbV95KQotCi1BTklNQVRFRF9QUk9QRVJU
WV9ERUZJTklUSU9OUyhTVkdGRUxpZ2h0RWxlbWVudCwgZmxvYXQsIE51bWJlciwgbnVtYmVyLCBa
LCB6LCBTVkdOYW1lczo6ekF0dHIsIG1feikKLUFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05T
KFNWR0ZFTGlnaHRFbGVtZW50LCBmbG9hdCwgTnVtYmVyLCBudW1iZXIsIFBvaW50c0F0WCwgcG9p
bnRzQXRYLCBTVkdOYW1lczo6cG9pbnRzQXRYQXR0ciwgbV9wb2ludHNBdFgpCi1BTklNQVRFRF9Q
Uk9QRVJUWV9ERUZJTklUSU9OUyhTVkdGRUxpZ2h0RWxlbWVudCwgZmxvYXQsIE51bWJlciwgbnVt
YmVyLCBQb2ludHNBdFksIHBvaW50c0F0WSwgU1ZHTmFtZXM6OnBvaW50c0F0WUF0dHIsIG1fcG9p
bnRzQXRZKQotQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHRkVMaWdodEVsZW1lbnQs
IGZsb2F0LCBOdW1iZXIsIG51bWJlciwgUG9pbnRzQXRaLCBwb2ludHNBdFosIFNWR05hbWVzOjpw
b2ludHNBdFpBdHRyLCBtX3BvaW50c0F0WikKLUFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05T
KFNWR0ZFTGlnaHRFbGVtZW50LCBmbG9hdCwgTnVtYmVyLCBudW1iZXIsIFNwZWN1bGFyRXhwb25l
bnQsIHNwZWN1bGFyRXhwb25lbnQsIFNWR05hbWVzOjpzcGVjdWxhckV4cG9uZW50QXR0ciwgbV9z
cGVjdWxhckV4cG9uZW50KQotQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHRkVMaWdo
dEVsZW1lbnQsIGZsb2F0LCBOdW1iZXIsIG51bWJlciwgTGltaXRpbmdDb25lQW5nbGUsIGxpbWl0
aW5nQ29uZUFuZ2xlLCBTVkdOYW1lczo6bGltaXRpbmdDb25lQW5nbGVBdHRyLCBtX2xpbWl0aW5n
Q29uZUFuZ2xlKQorQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHRkVMaWdodEVsZW1l
bnQsIGZsb2F0LCBBemltdXRoLCBhemltdXRoLCBTVkdOYW1lczo6YXppbXV0aEF0dHIpCitBTklN
QVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdGRUxpZ2h0RWxlbWVudCwgZmxvYXQsIEVsZXZh
dGlvbiwgZWxldmF0aW9uLCBTVkdOYW1lczo6ZWxldmF0aW9uQXR0cikKK0FOSU1BVEVEX1BST1BF
UlRZX0RFRklOSVRJT05TKFNWR0ZFTGlnaHRFbGVtZW50LCBmbG9hdCwgWCwgeCwgU1ZHTmFtZXM6
OnhBdHRyKQorQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHRkVMaWdodEVsZW1lbnQs
IGZsb2F0LCBZLCB5LCBTVkdOYW1lczo6eUF0dHIpCisKK0FOSU1BVEVEX1BST1BFUlRZX0RFRklO
SVRJT05TKFNWR0ZFTGlnaHRFbGVtZW50LCBmbG9hdCwgWiwgeiwgU1ZHTmFtZXM6OnpBdHRyKQor
QU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHRkVMaWdodEVsZW1lbnQsIGZsb2F0LCBQ
b2ludHNBdFgsIHBvaW50c0F0WCwgU1ZHTmFtZXM6OnBvaW50c0F0WEF0dHIpCitBTklNQVRFRF9Q
Uk9QRVJUWV9ERUZJTklUSU9OUyhTVkdGRUxpZ2h0RWxlbWVudCwgZmxvYXQsIFBvaW50c0F0WSwg
cG9pbnRzQXRZLCBTVkdOYW1lczo6cG9pbnRzQXRZQXR0cikKK0FOSU1BVEVEX1BST1BFUlRZX0RF
RklOSVRJT05TKFNWR0ZFTGlnaHRFbGVtZW50LCBmbG9hdCwgUG9pbnRzQXRaLCBwb2ludHNBdFos
IFNWR05hbWVzOjpwb2ludHNBdFpBdHRyKQorQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMo
U1ZHRkVMaWdodEVsZW1lbnQsIGZsb2F0LCBTcGVjdWxhckV4cG9uZW50LCBzcGVjdWxhckV4cG9u
ZW50LCBTVkdOYW1lczo6c3BlY3VsYXJFeHBvbmVudEF0dHIpCitBTklNQVRFRF9QUk9QRVJUWV9E
RUZJTklUSU9OUyhTVkdGRUxpZ2h0RWxlbWVudCwgZmxvYXQsIExpbWl0aW5nQ29uZUFuZ2xlLCBs
aW1pdGluZ0NvbmVBbmdsZSwgU1ZHTmFtZXM6OmxpbWl0aW5nQ29uZUFuZ2xlQXR0cikKIAogdm9p
ZCBTVkdGRUxpZ2h0RWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoTWFwcGVkQXR0cmlidXRl
KiBhdHRyKQogewpJbmRleDogV2ViQ29yZS9zdmcvU1ZHRkVMaWdodEVsZW1lbnQuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdGRUxpZ2h0RWxlbWVudC5oCShyZXZpc2lvbiAzNTAwNikK
KysrIFdlYkNvcmUvc3ZnL1NWR0ZFTGlnaHRFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTQw
LDE2ICs0MCwxNyBAQCBuYW1lc3BhY2UgV2ViQ29yZQogICAgICAgICB2aXJ0dWFsIHZvaWQgcGFy
c2VNYXBwZWRBdHRyaWJ1dGUoTWFwcGVkQXR0cmlidXRlKik7CiAKICAgICBwcml2YXRlOgotICAg
ICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRkVMaWdodEVsZW1lbnQsIGZs
b2F0LCBmbG9hdCwgQXppbXV0aCwgYXppbXV0aCkKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlf
REVDTEFSQVRJT05TKFNWR0ZFTGlnaHRFbGVtZW50LCBmbG9hdCwgZmxvYXQsIEVsZXZhdGlvbiwg
ZWxldmF0aW9uKQotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRkVM
aWdodEVsZW1lbnQsIGZsb2F0LCBmbG9hdCwgWCwgeCkKLSAgICAgICAgQU5JTUFURURfUFJPUEVS
VFlfREVDTEFSQVRJT05TKFNWR0ZFTGlnaHRFbGVtZW50LCBmbG9hdCwgZmxvYXQsIFksIHkpCi0g
ICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdGRUxpZ2h0RWxlbWVudCwg
ZmxvYXQsIGZsb2F0LCBaLCB6KQotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElP
TlMoU1ZHRkVMaWdodEVsZW1lbnQsIGZsb2F0LCBmbG9hdCwgUG9pbnRzQXRYLCBwb2ludHNBdFgp
Ci0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdGRUxpZ2h0RWxlbWVu
dCwgZmxvYXQsIGZsb2F0LCBQb2ludHNBdFksIHBvaW50c0F0WSkKLSAgICAgICAgQU5JTUFURURf
UFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0ZFTGlnaHRFbGVtZW50LCBmbG9hdCwgZmxvYXQsIFBv
aW50c0F0WiwgcG9pbnRzQXRaKQotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElP
TlMoU1ZHRkVMaWdodEVsZW1lbnQsIGZsb2F0LCBmbG9hdCwgU3BlY3VsYXJFeHBvbmVudCwgc3Bl
Y3VsYXJFeHBvbmVudCkKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNW
R0ZFTGlnaHRFbGVtZW50LCBmbG9hdCwgZmxvYXQsIExpbWl0aW5nQ29uZUFuZ2xlLCBsaW1pdGlu
Z0NvbmVBbmdsZSkKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfU1RBUlRfREVDTEFSQVRJT05T
CisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdGRUxpZ2h0RWxlbWVu
dCwgZmxvYXQsIEF6aW11dGgsIGF6aW11dGgpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RF
Q0xBUkFUSU9OUyhTVkdGRUxpZ2h0RWxlbWVudCwgZmxvYXQsIEVsZXZhdGlvbiwgZWxldmF0aW9u
KQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRkVMaWdodEVsZW1l
bnQsIGZsb2F0LCBYLCB4KQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMo
U1ZHRkVMaWdodEVsZW1lbnQsIGZsb2F0LCBZLCB5KQorICAgICAgICBBTklNQVRFRF9QUk9QRVJU
WV9ERUNMQVJBVElPTlMoU1ZHRkVMaWdodEVsZW1lbnQsIGZsb2F0LCBaLCB6KQorICAgICAgICBB
TklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRkVMaWdodEVsZW1lbnQsIGZsb2F0LCBQ
b2ludHNBdFgsIHBvaW50c0F0WCkKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJ
T05TKFNWR0ZFTGlnaHRFbGVtZW50LCBmbG9hdCwgUG9pbnRzQXRZLCBwb2ludHNBdFkpCisgICAg
ICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdGRUxpZ2h0RWxlbWVudCwgZmxv
YXQsIFBvaW50c0F0WiwgcG9pbnRzQXRaKQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNM
QVJBVElPTlMoU1ZHRkVMaWdodEVsZW1lbnQsIGZsb2F0LCBTcGVjdWxhckV4cG9uZW50LCBzcGVj
dWxhckV4cG9uZW50KQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZH
RkVMaWdodEVsZW1lbnQsIGZsb2F0LCBMaW1pdGluZ0NvbmVBbmdsZSwgbGltaXRpbmdDb25lQW5n
bGUpCiAgICAgfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogV2ViQ29yZS9zdmcv
U1ZHRkVNZXJnZU5vZGVFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdG
RU1lcmdlTm9kZUVsZW1lbnQuY3BwCShyZXZpc2lvbiAzNTAwNikKKysrIFdlYkNvcmUvc3ZnL1NW
R0ZFTWVyZ2VOb2RlRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM2LDcgKzM2LDcgQEAg
U1ZHRkVNZXJnZU5vZGVFbGVtZW50Ojp+U1ZHRkVNZXJnZU5vZGVFbAogewogfQogCi1BTklNQVRF
RF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdGRU1lcmdlTm9kZUVsZW1lbnQsIFN0cmluZywgU3Ry
aW5nLCBzdHJpbmcsIEluMSwgaW4xLCBTVkdOYW1lczo6aW5BdHRyLCBtX2luMSkKK0FOSU1BVEVE
X1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0ZFTWVyZ2VOb2RlRWxlbWVudCwgU3RyaW5nLCBJbjEs
IGluMSwgU1ZHTmFtZXM6OmluQXR0cikKIAogdm9pZCBTVkdGRU1lcmdlTm9kZUVsZW1lbnQ6OnBh
cnNlTWFwcGVkQXR0cmlidXRlKE1hcHBlZEF0dHJpYnV0ZSogYXR0cikKIHsKSW5kZXg6IFdlYkNv
cmUvc3ZnL1NWR0ZFTWVyZ2VOb2RlRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3Zn
L1NWR0ZFTWVyZ2VOb2RlRWxlbWVudC5oCShyZXZpc2lvbiAzNTAwNikKKysrIFdlYkNvcmUvc3Zn
L1NWR0ZFTWVyZ2VOb2RlRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC00MCw3ICs0MCw4IEBA
IG5hbWVzcGFjZSBXZWJDb3JlCiAgICAgICAgIHZpcnR1YWwgY29uc3QgU1ZHRWxlbWVudCogY29u
dGV4dEVsZW1lbnQoKSBjb25zdCB7IHJldHVybiB0aGlzOyB9CiAKICAgICBwcml2YXRlOgotICAg
ICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRkVNZXJnZU5vZGVFbGVtZW50
LCBTdHJpbmcsIFN0cmluZywgSW4xLCBpbjEpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX1NU
QVJUX0RFQ0xBUkFUSU9OUworICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMo
U1ZHRkVNZXJnZU5vZGVFbGVtZW50LCBTdHJpbmcsIEluMSwgaW4xKQogICAgIH07CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0ZFT2Zmc2V0RWxlbWVudC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHRkVPZmZzZXRFbGVtZW50LmNwcAkocmV2
aXNpb24gMzUwMDYpCisrKyBXZWJDb3JlL3N2Zy9TVkdGRU9mZnNldEVsZW1lbnQuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC00Miw5ICs0Miw5IEBAIFNWR0ZFT2Zmc2V0RWxlbWVudDo6flNWR0ZFT2Zm
c2V0RWxlbWVudCgKIHsKIH0KIAotQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHRkVP
ZmZzZXRFbGVtZW50LCBTdHJpbmcsIFN0cmluZywgc3RyaW5nLCBJbjEsIGluMSwgU1ZHTmFtZXM6
OmluQXR0ciwgbV9pbjEpCi1BTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdGRU9mZnNl
dEVsZW1lbnQsIGZsb2F0LCBOdW1iZXIsIG51bWJlciwgRHgsIGR4LCBTVkdOYW1lczo6ZHhBdHRy
LCBtX2R4KQotQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHRkVPZmZzZXRFbGVtZW50
LCBmbG9hdCwgTnVtYmVyLCBudW1iZXIsIER5LCBkeSwgU1ZHTmFtZXM6OmR5QXR0ciwgbV9keSkK
K0FOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0ZFT2Zmc2V0RWxlbWVudCwgU3RyaW5n
LCBJbjEsIGluMSwgU1ZHTmFtZXM6OmluQXR0cikKK0FOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJ
T05TKFNWR0ZFT2Zmc2V0RWxlbWVudCwgZmxvYXQsIER4LCBkeCwgU1ZHTmFtZXM6OmR4QXR0cikK
K0FOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0ZFT2Zmc2V0RWxlbWVudCwgZmxvYXQs
IER5LCBkeSwgU1ZHTmFtZXM6OmR5QXR0cikKIAogdm9pZCBTVkdGRU9mZnNldEVsZW1lbnQ6OnBh
cnNlTWFwcGVkQXR0cmlidXRlKE1hcHBlZEF0dHJpYnV0ZSogYXR0cikKIHsKSW5kZXg6IFdlYkNv
cmUvc3ZnL1NWR0ZFT2Zmc2V0RWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NW
R0ZFT2Zmc2V0RWxlbWVudC5oCShyZXZpc2lvbiAzNTAwNikKKysrIFdlYkNvcmUvc3ZnL1NWR0ZF
T2Zmc2V0RWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC00Myw5ICs0Myw5IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlCiAgICAgICAgIHZpcnR1YWwgY29uc3QgU1ZHRWxlbWVudCogY29udGV4dEVsZW1l
bnQoKSBjb25zdCB7IHJldHVybiB0aGlzOyB9CiAKICAgICBwcml2YXRlOgotICAgICAgICBBTklN
QVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRkVPZmZzZXRFbGVtZW50LCBTdHJpbmcsIFN0
cmluZywgSW4xLCBpbjEpCi0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhT
VkdGRU9mZnNldEVsZW1lbnQsIGZsb2F0LCBmbG9hdCwgRHgsIGR4KQotICAgICAgICBBTklNQVRF
RF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRkVPZmZzZXRFbGVtZW50LCBmbG9hdCwgZmxvYXQs
IER5LCBkeSkKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0ZFT2Zm
c2V0RWxlbWVudCwgU3RyaW5nLCBJbjEsIGluMSkKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlf
REVDTEFSQVRJT05TKFNWR0ZFT2Zmc2V0RWxlbWVudCwgZmxvYXQsIER4LCBkeCkKKyAgICAgICAg
QU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0ZFT2Zmc2V0RWxlbWVudCwgZmxvYXQs
IER5LCBkeSkKIAogICAgICAgICBtdXRhYmxlIFJlZlB0cjxTVkdGRU9mZnNldD4gbV9maWx0ZXJF
ZmZlY3Q7CiAgICAgfTsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0ZFU3BlY3VsYXJMaWdodGluZ0Vs
ZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0ZFU3BlY3VsYXJMaWdodGlu
Z0VsZW1lbnQuY3BwCShyZXZpc2lvbiAzNTAwNikKKysrIFdlYkNvcmUvc3ZnL1NWR0ZFU3BlY3Vs
YXJMaWdodGluZ0VsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OCwxMiArNDgsMTIgQEAg
U1ZHRkVTcGVjdWxhckxpZ2h0aW5nRWxlbWVudDo6flNWR0ZFU3BlYwogewogfQogCi1BTklNQVRF
RF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdGRVNwZWN1bGFyTGlnaHRpbmdFbGVtZW50LCBTdHJp
bmcsIFN0cmluZywgc3RyaW5nLCBJbjEsIGluMSwgU1ZHTmFtZXM6OmluQXR0ciwgbV9pbjEpCi1B
TklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdGRVNwZWN1bGFyTGlnaHRpbmdFbGVtZW50
LCBmbG9hdCwgTnVtYmVyLCBudW1iZXIsIFNwZWN1bGFyQ29uc3RhbnQsIHNwZWN1bGFyQ29uc3Rh
bnQsIFNWR05hbWVzOjpzcGVjdWxhckNvbnN0YW50QXR0ciwgbV9zcGVjdWxhckNvbnN0YW50KQot
QU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHRkVTcGVjdWxhckxpZ2h0aW5nRWxlbWVu
dCwgZmxvYXQsIE51bWJlciwgbnVtYmVyLCBTcGVjdWxhckV4cG9uZW50LCBzcGVjdWxhckV4cG9u
ZW50LCBTVkdOYW1lczo6c3BlY3VsYXJFeHBvbmVudEF0dHIsIG1fc3BlY3VsYXJFeHBvbmVudCkK
LUFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0ZFU3BlY3VsYXJMaWdodGluZ0VsZW1l
bnQsIGZsb2F0LCBOdW1iZXIsIG51bWJlciwgU3VyZmFjZVNjYWxlLCBzdXJmYWNlU2NhbGUsIFNW
R05hbWVzOjpzdXJmYWNlU2NhbGVBdHRyLCBtX3N1cmZhY2VTY2FsZSkKLUFOSU1BVEVEX1BST1BF
UlRZX0RFRklOSVRJT05TX1dJVEhfQ1VTVE9NX0lERU5USUZJRVIoU1ZHRkVTcGVjdWxhckxpZ2h0
aW5nRWxlbWVudCwgZmxvYXQsIE51bWJlciwgbnVtYmVyLCBLZXJuZWxVbml0TGVuZ3RoWCwga2Vy
bmVsVW5pdExlbmd0aFgsIFNWR05hbWVzOjprZXJuZWxVbml0TGVuZ3RoQXR0ciwgImtlcm5lbFVu
aXRMZW5ndGhYIiwgbV9rZXJuZWxVbml0TGVuZ3RoWCkKLUFOSU1BVEVEX1BST1BFUlRZX0RFRklO
SVRJT05TX1dJVEhfQ1VTVE9NX0lERU5USUZJRVIoU1ZHRkVTcGVjdWxhckxpZ2h0aW5nRWxlbWVu
dCwgZmxvYXQsIE51bWJlciwgbnVtYmVyLCBLZXJuZWxVbml0TGVuZ3RoWSwga2VybmVsVW5pdExl
bmd0aFksIFNWR05hbWVzOjprZXJuZWxVbml0TGVuZ3RoQXR0ciwgImtlcm5lbFVuaXRMZW5ndGhZ
IiwgbV9rZXJuZWxVbml0TGVuZ3RoWSkKK0FOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNW
R0ZFU3BlY3VsYXJMaWdodGluZ0VsZW1lbnQsIFN0cmluZywgSW4xLCBpbjEsIFNWR05hbWVzOjpp
bikKK0FOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0ZFU3BlY3VsYXJMaWdodGluZ0Vs
ZW1lbnQsIGZsb2F0LCBTcGVjdWxhckNvbnN0YW50LCBzcGVjdWxhckNvbnN0YW50LCBTVkdOYW1l
czo6c3BlY3VsYXJDb25zdGFudCkKK0FOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0ZF
U3BlY3VsYXJMaWdodGluZ0VsZW1lbnQsIGZsb2F0LCBTcGVjdWxhckV4cG9uZW50LCBzcGVjdWxh
ckV4cG9uZW50LCBTVkdOYW1lczo6c3BlY3VsYXJFeHBvbmVudCkKK0FOSU1BVEVEX1BST1BFUlRZ
X0RFRklOSVRJT05TKFNWR0ZFU3BlY3VsYXJMaWdodGluZ0VsZW1lbnQsIGZsb2F0LCBTdXJmYWNl
U2NhbGUsIHN1cmZhY2VTY2FsZSwgU1ZHTmFtZXM6OnN1cmZhY2VTY2FsZSkKK0FOSU1BVEVEX1BS
T1BFUlRZX0RFRklOSVRJT05TX1dJVEhfQ1VTVE9NX0lERU5USUZJRVIoU1ZHRkVTcGVjdWxhckxp
Z2h0aW5nRWxlbWVudCwgZmxvYXQsIFNWR05hbWVzOjprZXJuZWxVbml0TGVuZ3RoQXR0ciwgImtl
cm5lbFVuaXRMZW5ndGhYIikKK0FOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TX1dJVEhfQ1VT
VE9NX0lERU5USUZJRVIoU1ZHRkVTcGVjdWxhckxpZ2h0aW5nRWxlbWVudCwgZmxvYXQsIFNWR05h
bWVzOjprZXJuZWxVbml0TGVuZ3RoQXR0ciwgImtlcm5lbFVuaXRMZW5ndGhZIikKIAogdm9pZCBT
VkdGRVNwZWN1bGFyTGlnaHRpbmdFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShNYXBwZWRB
dHRyaWJ1dGUqIGF0dHIpCiB7ICAgIApJbmRleDogV2ViQ29yZS9zdmcvU1ZHRkVTcGVjdWxhckxp
Z2h0aW5nRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0ZFU3BlY3VsYXJM
aWdodGluZ0VsZW1lbnQuaAkocmV2aXNpb24gMzUwMDYpCisrKyBXZWJDb3JlL3N2Zy9TVkdGRVNw
ZWN1bGFyTGlnaHRpbmdFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTQzLDEyICs0MywxMiBA
QCBuYW1lc3BhY2UgV2ViQ29yZQogICAgICAgICB2aXJ0dWFsIGNvbnN0IFNWR0VsZW1lbnQqIGNv
bnRleHRFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gdGhpczsgfQogCiAgICAgcHJpdmF0ZToKLSAg
ICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0ZFU3BlY3VsYXJMaWdodGlu
Z0VsZW1lbnQsIFN0cmluZywgU3RyaW5nLCBJbjEsIGluMSkKLSAgICAgICAgQU5JTUFURURfUFJP
UEVSVFlfREVDTEFSQVRJT05TKFNWR0ZFU3BlY3VsYXJMaWdodGluZ0VsZW1lbnQsIGZsb2F0LCBm
bG9hdCwgU3BlY3VsYXJDb25zdGFudCwgc3BlY3VsYXJDb25zdGFudCkKLSAgICAgICAgQU5JTUFU
RURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0ZFU3BlY3VsYXJMaWdodGluZ0VsZW1lbnQsIGZs
b2F0LCBmbG9hdCwgU3BlY3VsYXJFeHBvbmVudCwgc3BlY3VsYXJFeHBvbmVudCkKLSAgICAgICAg
QU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0ZFU3BlY3VsYXJMaWdodGluZ0VsZW1l
bnQsIGZsb2F0LCBmbG9hdCwgU3VyZmFjZVNjYWxlLCBzdXJmYWNlU2NhbGUpCi0gICAgICAgIEFO
SU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdGRVNwZWN1bGFyTGlnaHRpbmdFbGVtZW50
LCBmbG9hdCwgZmxvYXQsIEtlcm5lbFVuaXRMZW5ndGhYLCBrZXJuZWxVbml0TGVuZ3RoWCkKLSAg
ICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0ZFU3BlY3VsYXJMaWdodGlu
Z0VsZW1lbnQsIGZsb2F0LCBmbG9hdCwgS2VybmVsVW5pdExlbmd0aFksIGtlcm5lbFVuaXRMZW5n
dGhZKQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRkVTcGVjdWxh
ckxpZ2h0aW5nRWxlbWVudCwgU3RyaW5nLCBJbjEsIGluMSkKKyAgICAgICAgQU5JTUFURURfUFJP
UEVSVFlfREVDTEFSQVRJT05TKFNWR0ZFU3BlY3VsYXJMaWdodGluZ0VsZW1lbnQsIGZsb2F0LCBT
cGVjdWxhckNvbnN0YW50LCBzcGVjdWxhckNvbnN0YW50KQorICAgICAgICBBTklNQVRFRF9QUk9Q
RVJUWV9ERUNMQVJBVElPTlMoU1ZHRkVTcGVjdWxhckxpZ2h0aW5nRWxlbWVudCwgZmxvYXQsIFNw
ZWN1bGFyRXhwb25lbnQsIHNwZWN1bGFyRXhwb25lbnQpCisgICAgICAgIEFOSU1BVEVEX1BST1BF
UlRZX0RFQ0xBUkFUSU9OUyhTVkdGRVNwZWN1bGFyTGlnaHRpbmdFbGVtZW50LCBmbG9hdCwgU3Vy
ZmFjZVNjYWxlLCBzdXJmYWNlU2NhbGUpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xB
UkFUSU9OUyhTVkdGRVNwZWN1bGFyTGlnaHRpbmdFbGVtZW50LCBmbG9hdCwgS2VybmVsVW5pdExl
bmd0aFgsIGtlcm5lbFVuaXRMZW5ndGhYKQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNM
QVJBVElPTlMoU1ZHRkVTcGVjdWxhckxpZ2h0aW5nRWxlbWVudCwgZmxvYXQsIEtlcm5lbFVuaXRM
ZW5ndGhZLCBrZXJuZWxVbml0TGVuZ3RoWSkKIAogICAgICAgICBtdXRhYmxlIFJlZlB0cjxTVkdG
RVNwZWN1bGFyTGlnaHRpbmc+IG1fZmlsdGVyRWZmZWN0OwogICAgICAgICAKSW5kZXg6IFdlYkNv
cmUvc3ZnL1NWR0ZFVGlsZUVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NW
R0ZFVGlsZUVsZW1lbnQuY3BwCShyZXZpc2lvbiAzNTAwNikKKysrIFdlYkNvcmUvc3ZnL1NWR0ZF
VGlsZUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MSw3ICs0MSw3IEBAIFNWR0ZFVGls
ZUVsZW1lbnQ6On5TVkdGRVRpbGVFbGVtZW50KCkKIHsKIH0KIAotQU5JTUFURURfUFJPUEVSVFlf
REVGSU5JVElPTlMoU1ZHRkVUaWxlRWxlbWVudCwgU3RyaW5nLCBTdHJpbmcsIHN0cmluZywgSW4x
LCBpbjEsIFNWR05hbWVzOjppbkF0dHIsIG1faW4xKQorQU5JTUFURURfUFJPUEVSVFlfREVGSU5J
VElPTlMoU1ZHRkVUaWxlRWxlbWVudCwgU3RyaW5nLCBJbjEsIGluMSwgU1ZHTmFtZXM6OmluQXR0
cikKIAogdm9pZCBTVkdGRVRpbGVFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShNYXBwZWRB
dHRyaWJ1dGUqIGF0dHIpCiB7CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdGRVRpbGVFbGVtZW50LmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHRkVUaWxlRWxlbWVudC5oCShyZXZpc2lvbiAz
NTAwNikKKysrIFdlYkNvcmUvc3ZnL1NWR0ZFVGlsZUVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpA
QCAtNDIsNyArNDIsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZQogICAgICAgICB2aXJ0dWFsIGNvbnN0
IFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gdGhpczsgfQogCiAg
ICAgcHJpdmF0ZToKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0ZF
VGlsZUVsZW1lbnQsIFN0cmluZywgU3RyaW5nLCBJbjEsIGluMSkKKyAgICAgICAgQU5JTUFURURf
UFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0ZFVGlsZUVsZW1lbnQsIFN0cmluZywgSW4xLCBpbjEp
CiAKICAgICAgICAgbXV0YWJsZSBSZWZQdHI8U1ZHRkVUaWxlPiBtX2ZpbHRlckVmZmVjdDsKICAg
ICB9OwpJbmRleDogV2ViQ29yZS9zdmcvU1ZHRkVUdXJidWxlbmNlRWxlbWVudC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHRkVUdXJidWxlbmNlRWxlbWVudC5jcHAJKHJldmlzaW9u
IDM1MDA2KQorKysgV2ViQ29yZS9zdmcvU1ZHRkVUdXJidWxlbmNlRWxlbWVudC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTQ2LDEyICs0NiwxMiBAQCBTVkdGRVR1cmJ1bGVuY2VFbGVtZW50Ojp+U1ZH
RkVUdXJidWxlbmNlCiB7CiB9CiAKLUFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TX1dJVEhf
Q1VTVE9NX0lERU5USUZJRVIoU1ZHRkVUdXJidWxlbmNlRWxlbWVudCwgZmxvYXQsIE51bWJlciwg
bnVtYmVyLCBCYXNlRnJlcXVlbmN5WCwgYmFzZUZyZXF1ZW5jeVgsIFNWR05hbWVzOjpiYXNlRnJl
cXVlbmN5QXR0ciwgImJhc2VGcmVxdWVuY3lYIiwgbV9iYXNlRnJlcXVlbmN5WCkKLUFOSU1BVEVE
X1BST1BFUlRZX0RFRklOSVRJT05TX1dJVEhfQ1VTVE9NX0lERU5USUZJRVIoU1ZHRkVUdXJidWxl
bmNlRWxlbWVudCwgZmxvYXQsIE51bWJlciwgbnVtYmVyLCBCYXNlRnJlcXVlbmN5WSwgYmFzZUZy
ZXF1ZW5jeVksIFNWR05hbWVzOjpiYXNlRnJlcXVlbmN5QXR0ciwgImJhc2VGcmVxdWVuY3lZIiwg
bV9iYXNlRnJlcXVlbmN5WSkKLUFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0ZFVHVy
YnVsZW5jZUVsZW1lbnQsIGZsb2F0LCBOdW1iZXIsIG51bWJlciwgU2VlZCwgc2VlZCwgU1ZHTmFt
ZXM6OnNlZWRBdHRyLCBtX3NlZWQpCi1BTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdG
RVR1cmJ1bGVuY2VFbGVtZW50LCBsb25nLCBJbnRlZ2VyLCBpbnRlZ2VyLCBOdW1PY3RhdmVzLCBu
dW1PY3RhdmVzLCBTVkdOYW1lczo6bnVtT2N0YXZlc0F0dHIsIG1fbnVtT2N0YXZlcykKLUFOSU1B
VEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0ZFVHVyYnVsZW5jZUVsZW1lbnQsIGludCwgRW51
bWVyYXRpb24sIGVudW1lcmF0aW9uLCBTdGl0Y2hUaWxlcywgc3RpdGNoVGlsZXMsIFNWR05hbWVz
OjpzdGl0Y2hUaWxlc0F0dHIsIG1fc3RpdGNoVGlsZXMpCi1BTklNQVRFRF9QUk9QRVJUWV9ERUZJ
TklUSU9OUyhTVkdGRVR1cmJ1bGVuY2VFbGVtZW50LCBpbnQsIEVudW1lcmF0aW9uLCBlbnVtZXJh
dGlvbiwgVHlwZSwgdHlwZSwgU1ZHTmFtZXM6OnR5cGVBdHRyLCBtX3R5cGUpCitBTklNQVRFRF9Q
Uk9QRVJUWV9ERUZJTklUSU9OU19XSVRIX0NVU1RPTV9JREVOVElGSUVSKFNWR0ZFVHVyYnVsZW5j
ZUVsZW1lbnQsIGZsb2F0LCBCYXNlRnJlcXVlbmN5WCwgYmFzZUZyZXF1ZW5jeVgsIFNWR05hbWVz
OjpiYXNlRnJlcXVlbmN5QXR0ciwgImJhc2VGcmVxdWVuY3lYIikKK0FOSU1BVEVEX1BST1BFUlRZ
X0RFRklOSVRJT05TX1dJVEhfQ1VTVE9NX0lERU5USUZJRVIoU1ZHRkVUdXJidWxlbmNlRWxlbWVu
dCwgZmxvYXQsIEJhc2VGcmVxdWVuY3lZLCBiYXNlRnJlcXVlbmN5WSwgU1ZHTmFtZXM6OmJhc2VG
cmVxdWVuY3lBdHRyLCAiYmFzZUZyZXF1ZW5jeVkiKQorQU5JTUFURURfUFJPUEVSVFlfREVGSU5J
VElPTlMoU1ZHRkVUdXJidWxlbmNlRWxlbWVudCwgZmxvYXQsIFNlZWQsIHNlZWQsIFNWR05hbWVz
OjpzZWVkQXR0cikKK0FOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0ZFVHVyYnVsZW5j
ZUVsZW1lbnQsIGxvbmcsIE51bU9jdGF2ZXMsIG51bU9jdGF2ZXMsIFNWR05hbWVzOjpudW1PY3Rh
dmVzQXR0cikKK0FOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0ZFVHVyYnVsZW5jZUVs
ZW1lbnQsIGludCwgU3RpdGNoVGlsZXMsIHN0aXRjaFRpbGVzLCBTVkdOYW1lczo6c3RpdGNoVGls
ZXNBdHRyKQorQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHRkVUdXJidWxlbmNlRWxl
bWVudCwgaW50LCBUeXBlLCB0eXBlLCBTVkdOYW1lczo6dHlwZUF0dHIpCiAKIHZvaWQgU1ZHRkVU
dXJidWxlbmNlRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoTWFwcGVkQXR0cmlidXRlKiBh
dHRyKQogewpJbmRleDogV2ViQ29yZS9zdmcvU1ZHRkVUdXJidWxlbmNlRWxlbWVudC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0ZFVHVyYnVsZW5jZUVsZW1lbnQuaAkocmV2aXNpb24g
MzUwMDYpCisrKyBXZWJDb3JlL3N2Zy9TVkdGRVR1cmJ1bGVuY2VFbGVtZW50LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTQ4LDEyICs0OCwxMiBAQCBuYW1lc3BhY2UgV2ViQ29yZQogICAgICAgICB2aXJ0
dWFsIGNvbnN0IFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gdGhp
czsgfQogCiAgICAgcHJpdmF0ZToKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJ
T05TKFNWR0ZFVHVyYnVsZW5jZUVsZW1lbnQsIGZsb2F0LCBmbG9hdCwgQmFzZUZyZXF1ZW5jeVgs
IGJhc2VGcmVxdWVuY3lYKQotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMo
U1ZHRkVUdXJidWxlbmNlRWxlbWVudCwgZmxvYXQsIGZsb2F0LCBCYXNlRnJlcXVlbmN5WSwgYmFz
ZUZyZXF1ZW5jeVkpCi0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdG
RVR1cmJ1bGVuY2VFbGVtZW50LCBsb25nLCBsb25nLCBOdW1PY3RhdmVzLCBudW1PY3RhdmVzKQot
ICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRkVUdXJidWxlbmNlRWxl
bWVudCwgZmxvYXQsIGZsb2F0LCBTZWVkLCBzZWVkKQotICAgICAgICBBTklNQVRFRF9QUk9QRVJU
WV9ERUNMQVJBVElPTlMoU1ZHRkVUdXJidWxlbmNlRWxlbWVudCwgaW50LCBpbnQsIFN0aXRjaFRp
bGVzLCBzdGl0Y2hUaWxlcykKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05T
KFNWR0ZFVHVyYnVsZW5jZUVsZW1lbnQsIGludCwgaW50LCBUeXBlLCB0eXBlKQorICAgICAgICBB
TklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRkVUdXJidWxlbmNlRWxlbWVudCwgZmxv
YXQsIEJhc2VGcmVxdWVuY3lYLCBiYXNlRnJlcXVlbmN5WCkKKyAgICAgICAgQU5JTUFURURfUFJP
UEVSVFlfREVDTEFSQVRJT05TKFNWR0ZFVHVyYnVsZW5jZUVsZW1lbnQsIGZsb2F0LCBCYXNlRnJl
cXVlbmN5WSwgYmFzZUZyZXF1ZW5jeVkpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xB
UkFUSU9OUyhTVkdGRVR1cmJ1bGVuY2VFbGVtZW50LCBsb25nLCBOdW1PY3RhdmVzLCBudW1PY3Rh
dmVzKQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRkVUdXJidWxl
bmNlRWxlbWVudCwgZmxvYXQsIFNlZWQsIHNlZWQpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZ
X0RFQ0xBUkFUSU9OUyhTVkdGRVR1cmJ1bGVuY2VFbGVtZW50LCBpbnQsIFN0aXRjaFRpbGVzLCBz
dGl0Y2hUaWxlcykKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0ZF
VHVyYnVsZW5jZUVsZW1lbnQsIGludCwgVHlwZSwgdHlwZSkKIAogICAgICAgICBtdXRhYmxlIFJl
ZlB0cjxTVkdGRVR1cmJ1bGVuY2U+IG1fZmlsdGVyRWZmZWN0OwogICAgIH07CkluZGV4OiBXZWJD
b3JlL3N2Zy9TVkdGaWx0ZXJFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9T
VkdGaWx0ZXJFbGVtZW50LmNwcAkocmV2aXNpb24gMzUwMDYpCisrKyBXZWJDb3JlL3N2Zy9TVkdG
aWx0ZXJFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjIsMTQgKzYyLDE0IEBAIFNWR0Zp
bHRlckVsZW1lbnQ6On5TVkdGaWx0ZXJFbGVtZW50KCkKIHsKIH0KIAotQU5JTUFURURfUFJPUEVS
VFlfREVGSU5JVElPTlMoU1ZHRmlsdGVyRWxlbWVudCwgaW50LCBFbnVtZXJhdGlvbiwgZW51bWVy
YXRpb24sIEZpbHRlclVuaXRzLCBmaWx0ZXJVbml0cywgU1ZHTmFtZXM6OmZpbHRlclVuaXRzQXR0
ciwgbV9maWx0ZXJVbml0cykKLUFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0ZpbHRl
ckVsZW1lbnQsIGludCwgRW51bWVyYXRpb24sIGVudW1lcmF0aW9uLCBQcmltaXRpdmVVbml0cywg
cHJpbWl0aXZlVW5pdHMsIFNWR05hbWVzOjpwcmltaXRpdmVVbml0c0F0dHIsIG1fcHJpbWl0aXZl
VW5pdHMpCi1BTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdGaWx0ZXJFbGVtZW50LCBT
VkdMZW5ndGgsIExlbmd0aCwgbGVuZ3RoLCBYLCB4LCBTVkdOYW1lczo6eEF0dHIsIG1feCkKLUFO
SU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0ZpbHRlckVsZW1lbnQsIFNWR0xlbmd0aCwg
TGVuZ3RoLCBsZW5ndGgsIFksIHksIFNWR05hbWVzOjp5QXR0ciwgbV95KQotQU5JTUFURURfUFJP
UEVSVFlfREVGSU5JVElPTlMoU1ZHRmlsdGVyRWxlbWVudCwgU1ZHTGVuZ3RoLCBMZW5ndGgsIGxl
bmd0aCwgV2lkdGgsIHdpZHRoLCBTVkdOYW1lczo6d2lkdGhBdHRyLCBtX3dpZHRoKQotQU5JTUFU
RURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHRmlsdGVyRWxlbWVudCwgU1ZHTGVuZ3RoLCBMZW5n
dGgsIGxlbmd0aCwgSGVpZ2h0LCBoZWlnaHQsIFNWR05hbWVzOjpoZWlnaHRBdHRyLCBtX2hlaWdo
dCkKLUFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TX1dJVEhfQ1VTVE9NX0lERU5USUZJRVIo
U1ZHRmlsdGVyRWxlbWVudCwgbG9uZywgSW50ZWdlciwgaW50ZWdlciwgRmlsdGVyUmVzWCwgZmls
dGVyUmVzWCwgU1ZHTmFtZXM6OmZpbHRlclJlc0F0dHIsICJmaWx0ZXJSZXNYIiwgbV9maWx0ZXJS
ZXNYKQotQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlNfV0lUSF9DVVNUT01fSURFTlRJRklF
UihTVkdGaWx0ZXJFbGVtZW50LCBsb25nLCBJbnRlZ2VyLCBpbnRlZ2VyLCBGaWx0ZXJSZXNZLCBm
aWx0ZXJSZXNZLCBTVkdOYW1lczo6ZmlsdGVyUmVzQXR0ciwgImZpbHRlclJlc1kiLCBtX2ZpbHRl
clJlc1kpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdGaWx0ZXJFbGVtZW50LCBp
bnQsIEZpbHRlclVuaXRzLCBmaWx0ZXJVbml0cywgU1ZHTmFtZXM6OmZpbHRlclVuaXRzQXR0cikK
K0FOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0ZpbHRlckVsZW1lbnQsIGludCwgUHJp
bWl0aXZlVW5pdHMsIHByaW1pdGl2ZVVuaXRzLCBTVkdOYW1lczo6cHJpbWl0aXZlVW5pdHNBdHRy
KQorQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHRmlsdGVyRWxlbWVudCwgU1ZHTGVu
Z3RoLCBYLCB4LCBTVkdOYW1lczo6eEF0dHIpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9O
UyhTVkdGaWx0ZXJFbGVtZW50LCBTVkdMZW5ndGgsIFksIHksIFNWR05hbWVzOjp5QXR0cikKK0FO
SU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0ZpbHRlckVsZW1lbnQsIFNWR0xlbmd0aCwg
V2lkdGgsIHdpZHRoLCBTVkdOYW1lczo6d2lkdGhBdHRyKQorQU5JTUFURURfUFJPUEVSVFlfREVG
SU5JVElPTlMoU1ZHRmlsdGVyRWxlbWVudCwgU1ZHTGVuZ3RoLCBIZWlnaHQsIGhlaWdodCwgU1ZH
TmFtZXM6OmhlaWdodEF0dHIpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OU19XSVRIX0NV
U1RPTV9JREVOVElGSUVSKFNWR0ZpbHRlckVsZW1lbnQsIGxvbmcsIEZpbHRlclJlc1gsIGZpbHRl
clJlc1gsIFNWR05hbWVzOjpmaWx0ZXJSZXNBdHRyLCAiZmlsdGVyUmVzWCIpCitBTklNQVRFRF9Q
Uk9QRVJUWV9ERUZJTklUSU9OU19XSVRIX0NVU1RPTV9JREVOVElGSUVSKFNWR0ZpbHRlckVsZW1l
bnQsIGxvbmcsIEZpbHRlclJlc1ksIGZpbHRlclJlc1ksIFNWR05hbWVzOjpmaWx0ZXJSZXNBdHRy
LCAiZmlsdGVyUmVzWSIpCiAKIHZvaWQgU1ZHRmlsdGVyRWxlbWVudDo6c2V0RmlsdGVyUmVzKHVu
c2lnbmVkIGxvbmcsIHVuc2lnbmVkIGxvbmcpIGNvbnN0CiB7CkluZGV4OiBXZWJDb3JlL3N2Zy9T
VkdGaWx0ZXJFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHRmlsdGVyRWxl
bWVudC5oCShyZXZpc2lvbiAzNTAwNikKKysrIFdlYkNvcmUvc3ZnL1NWR0ZpbHRlckVsZW1lbnQu
aAkod29ya2luZyBjb3B5KQpAQCAtNTcsMTQgKzU3LDE0IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHVVJJUmVm
ZXJlbmNlLCBTdHJpbmcsIEhyZWYsIGhyZWYpCiAgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZP
UldBUkRfREVDTEFSQVRJT05TKFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGJvb2wsIEV4
dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpCiAgCi0g
ICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdGaWx0ZXJFbGVtZW50LCBp
bnQsIGludCwgRmlsdGVyVW5pdHMsIGZpbHRlclVuaXRzKQotICAgICAgICBBTklNQVRFRF9QUk9Q
RVJUWV9ERUNMQVJBVElPTlMoU1ZHRmlsdGVyRWxlbWVudCwgaW50LCBpbnQsIFByaW1pdGl2ZVVu
aXRzLCBwcmltaXRpdmVVbml0cykKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJ
T05TKFNWR0ZpbHRlckVsZW1lbnQsIFNWR0xlbmd0aCwgU1ZHTGVuZ3RoLCBYLCB4KQotICAgICAg
ICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRmlsdGVyRWxlbWVudCwgU1ZHTGVu
Z3RoLCBTVkdMZW5ndGgsIFksIHkpCi0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFU
SU9OUyhTVkdGaWx0ZXJFbGVtZW50LCBTVkdMZW5ndGgsIFNWR0xlbmd0aCwgV2lkdGgsIHdpZHRo
KQotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRmlsdGVyRWxlbWVu
dCwgU1ZHTGVuZ3RoLCBTVkdMZW5ndGgsIEhlaWdodCwgaGVpZ2h0KQotICAgICAgICBBTklNQVRF
RF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRmlsdGVyRWxlbWVudCwgbG9uZywgbG9uZywgRmls
dGVyUmVzWCwgZmlsdGVyUmVzWCkKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJ
T05TKFNWR0ZpbHRlckVsZW1lbnQsIGxvbmcsIGxvbmcsIEZpbHRlclJlc1ksIGZpbHRlclJlc1kp
CisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdGaWx0ZXJFbGVtZW50
LCBpbnQsIEZpbHRlclVuaXRzLCBmaWx0ZXJVbml0cykKKyAgICAgICAgQU5JTUFURURfUFJPUEVS
VFlfREVDTEFSQVRJT05TKFNWR0ZpbHRlckVsZW1lbnQsIGludCwgUHJpbWl0aXZlVW5pdHMsIHBy
aW1pdGl2ZVVuaXRzKQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZH
RmlsdGVyRWxlbWVudCwgU1ZHTGVuZ3RoLCBYLCB4KQorICAgICAgICBBTklNQVRFRF9QUk9QRVJU
WV9ERUNMQVJBVElPTlMoU1ZHRmlsdGVyRWxlbWVudCwgU1ZHTGVuZ3RoLCBZLCB5KQorICAgICAg
ICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRmlsdGVyRWxlbWVudCwgU1ZHTGVu
Z3RoLCBXaWR0aCwgd2lkdGgpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9O
UyhTVkdGaWx0ZXJFbGVtZW50LCBTVkdMZW5ndGgsIEhlaWdodCwgaGVpZ2h0KQorICAgICAgICBB
TklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRmlsdGVyRWxlbWVudCwgbG9uZywgRmls
dGVyUmVzWCwgZmlsdGVyUmVzWCkKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJ
T05TKFNWR0ZpbHRlckVsZW1lbnQsIGxvbmcsIEZpbHRlclJlc1ksIGZpbHRlclJlc1kpCiAKICAg
ICAgICAgUmVmUHRyPFNWR1Jlc291cmNlRmlsdGVyPiBtX2ZpbHRlcjsKICAgICB9OwpJbmRleDog
V2ViQ29yZS9zdmcvU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0
ZXMuY3BwCShyZXZpc2lvbiAzNTAwNikKKysrIFdlYkNvcmUvc3ZnL1NWR0ZpbHRlclByaW1pdGl2
ZVN0YW5kYXJkQXR0cmlidXRlcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU0LDExICs1NCwxMSBA
QCBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXM6On5TCiB7CiB9CiAKLUFOSU1B
VEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmli
dXRlcywgU1ZHTGVuZ3RoLCBMZW5ndGgsIGxlbmd0aCwgWCwgeCwgU1ZHTmFtZXM6OnhBdHRyLCBt
X3gpCi1BTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdGaWx0ZXJQcmltaXRpdmVTdGFu
ZGFyZEF0dHJpYnV0ZXMsIFNWR0xlbmd0aCwgTGVuZ3RoLCBsZW5ndGgsIFksIHksIFNWR05hbWVz
Ojp5QXR0ciwgbV95KQotQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHRmlsdGVyUHJp
bWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzLCBTVkdMZW5ndGgsIExlbmd0aCwgbGVuZ3RoLCBXaWR0
aCwgd2lkdGgsIFNWR05hbWVzOjp3aWR0aEF0dHIsIG1fd2lkdGgpCi1BTklNQVRFRF9QUk9QRVJU
WV9ERUZJTklUSU9OUyhTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMsIFNWR0xl
bmd0aCwgTGVuZ3RoLCBsZW5ndGgsIEhlaWdodCwgaGVpZ2h0LCBTVkdOYW1lczo6aGVpZ2h0QXR0
ciwgbV9oZWlnaHQpCi1BTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdGaWx0ZXJQcmlt
aXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMsIFN0cmluZywgU3RyaW5nLCBzdHJpbmcsIFJlc3VsdCwg
cmVzdWx0LCBTVkdOYW1lczo6cmVzdWx0QXR0ciwgbV9yZXN1bHQpCitBTklNQVRFRF9QUk9QRVJU
WV9ERUZJTklUSU9OUyhTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMsIFNWR0xl
bmd0aCwgWCwgeCwgU1ZHTmFtZXM6OnhBdHRyKQorQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElP
TlMoU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzLCBTVkdMZW5ndGgsIFksIHks
IFNWR05hbWVzOjp5QXR0cikKK0FOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0ZpbHRl
clByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcywgU1ZHTGVuZ3RoLCBXaWR0aCwgd2lkdGgsIFNW
R05hbWVzOjp3aWR0aEF0dHIpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdGaWx0
ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMsIFNWR0xlbmd0aCwgSGVpZ2h0LCBoZWlnaHQs
IFNWR05hbWVzOjpoZWlnaHRBdHRyKQorQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZH
RmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzLCBTdHJpbmcsIFJlc3VsdCwgcmVzdWx0
LCBTVkdOYW1lczo6cmVzdWx0QXR0cikKIAogdm9pZCBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFy
ZEF0dHJpYnV0ZXM6OnBhcnNlTWFwcGVkQXR0cmlidXRlKE1hcHBlZEF0dHJpYnV0ZSogYXR0cikK
IHsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRl
cy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJk
QXR0cmlidXRlcy5oCShyZXZpc2lvbiAzNTAwNikKKysrIFdlYkNvcmUvc3ZnL1NWR0ZpbHRlclBy
aW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcy5oCSh3b3JraW5nIGNvcHkpCkBAIC01MCwxMSArNTAs
MTEgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIGNvbnN0IFNWR0VsZW1l
bnQqIGNvbnRleHRFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gdGhpczsgfQogCiAgICAgcHJpdmF0
ZToKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0ZpbHRlclByaW1p
dGl2ZVN0YW5kYXJkQXR0cmlidXRlcywgU1ZHTGVuZ3RoLCBTVkdMZW5ndGgsIFgsIHgpCi0gICAg
ICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdGaWx0ZXJQcmltaXRpdmVTdGFu
ZGFyZEF0dHJpYnV0ZXMsIFNWR0xlbmd0aCwgU1ZHTGVuZ3RoLCBZLCB5KQotICAgICAgICBBTklN
QVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRy
aWJ1dGVzLCBTVkdMZW5ndGgsIFNWR0xlbmd0aCwgV2lkdGgsIHdpZHRoKQotICAgICAgICBBTklN
QVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRy
aWJ1dGVzLCBTVkdMZW5ndGgsIFNWR0xlbmd0aCwgSGVpZ2h0LCBoZWlnaHQpCi0gICAgICAgIEFO
SU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0
dHJpYnV0ZXMsIFN0cmluZywgU3RyaW5nLCBSZXN1bHQsIHJlc3VsdCkKKyAgICAgICAgQU5JTUFU
RURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmli
dXRlcywgU1ZHTGVuZ3RoLCBYLCB4KQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJB
VElPTlMoU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzLCBTVkdMZW5ndGgsIFks
IHkpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdGaWx0ZXJQcmlt
aXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMsIFNWR0xlbmd0aCwgV2lkdGgsIHdpZHRoKQorICAgICAg
ICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRh
cmRBdHRyaWJ1dGVzLCBTVkdMZW5ndGgsIEhlaWdodCwgaGVpZ2h0KQorICAgICAgICBBTklNQVRF
RF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1
dGVzLCBTdHJpbmcsIFJlc3VsdCwgcmVzdWx0KQogICAgIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0ZpdFRvVmlld0JveC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9zdmcvU1ZHRml0VG9WaWV3Qm94LmNwcAkocmV2aXNpb24gMzUwMDYpCisrKyBX
ZWJDb3JlL3N2Zy9TVkdGaXRUb1ZpZXdCb3guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NSw4ICs0
NSw4IEBAIFNWR0ZpdFRvVmlld0JveDo6flNWR0ZpdFRvVmlld0JveCgpCiB7CiB9CiAKLUFOSU1B
VEVEX1BST1BFUlRZX0RFRklOSVRJT05TX1dJVEhfQ09OVEVYVChTVkdGaXRUb1ZpZXdCb3gsIEZs
b2F0UmVjdCwgUmVjdCwgcmVjdCwgVmlld0JveCwgdmlld0JveCwgU1ZHTmFtZXM6OnZpZXdCb3hB
dHRyLCBtX3ZpZXdCb3gpCi1BTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OU19XSVRIX0NPTlRF
WFQoU1ZHRml0VG9WaWV3Qm94LCBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvKiwgUHJlc2VydmVBc3Bl
Y3RSYXRpbywgcHJlc2VydmVBc3BlY3RSYXRpbywgUHJlc2VydmVBc3BlY3RSYXRpbywgcHJlc2Vy
dmVBc3BlY3RSYXRpbywgU1ZHTmFtZXM6OnByZXNlcnZlQXNwZWN0UmF0aW9BdHRyLCBtX3ByZXNl
cnZlQXNwZWN0UmF0aW8uZ2V0KCkpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OU19XSVRI
X0NPTlRFWFQoU1ZHRml0VG9WaWV3Qm94LCBGbG9hdFJlY3QsIFZpZXdCb3gsIHZpZXdCb3gsIFNW
R05hbWVzOjp2aWV3Qm94QXR0cikKK0FOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TX1JFRkNP
VU5URURfV0lUSF9DT05URVhUKFNWR0ZpdFRvVmlld0JveCwgU1ZHUHJlc2VydmVBc3BlY3RSYXRp
bywgUHJlc2VydmVBc3BlY3RSYXRpbywgcHJlc2VydmVBc3BlY3RSYXRpbywgU1ZHTmFtZXM6OnBy
ZXNlcnZlQXNwZWN0UmF0aW9BdHRyKQogCiBib29sIFNWR0ZpdFRvVmlld0JveDo6cGFyc2VWaWV3
Qm94KGNvbnN0IFVDaGFyKiYgYywgY29uc3QgVUNoYXIqIGVuZCwgZmxvYXQmIHgsIGZsb2F0JiB5
LCBmbG9hdCYgdywgZmxvYXQmIGgsIGJvb2wgdmFsaWRhdGUpCiB7CkluZGV4OiBXZWJDb3JlL3N2
Zy9TVkdGaXRUb1ZpZXdCb3guaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdGaXRUb1Zp
ZXdCb3guaAkocmV2aXNpb24gMzUwMDYpCisrKyBXZWJDb3JlL3N2Zy9TVkdGaXRUb1ZpZXdCb3gu
aAkod29ya2luZyBjb3B5KQpAQCAtNDcsOCArNDcsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgICAgIHZpcnR1YWwgY29uc3QgU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSBjb25zdCA9
IDA7CiAKICAgICBwcml2YXRlOgotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElP
TlNfV0lUSF9DT05URVhUKFNWR0ZpdFRvVmlld0JveCwgRmxvYXRSZWN0LCBGbG9hdFJlY3QsIFZp
ZXdCb3gsIHZpZXdCb3gpCi0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OU19X
SVRIX0NPTlRFWFQoU1ZHRml0VG9WaWV3Qm94LCBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvKiwgUmVm
UHRyPFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8+LCBQcmVzZXJ2ZUFzcGVjdFJhdGlvLCBwcmVzZXJ2
ZUFzcGVjdFJhdGlvKQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlNfV0lU
SF9DT05URVhUKFNWR0ZpdFRvVmlld0JveCwgRmxvYXRSZWN0LCBWaWV3Qm94LCB2aWV3Qm94KQor
ICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlNfUkVGQ09VTlRFRF9XSVRIX0NP
TlRFWFQoU1ZHRml0VG9WaWV3Qm94LCBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLCBQcmVzZXJ2ZUFz
cGVjdFJhdGlvLCBwcmVzZXJ2ZUFzcGVjdFJhdGlvKQogICAgIH07CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdGb3JlaWduT2JqZWN0RWxlbWVudC5jcHAJKHJl
dmlzaW9uIDM1MDA2KQorKysgV2ViQ29yZS9zdmcvU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC01MCwxMCArNTAsMTAgQEAgU1ZHRm9yZWlnbk9iamVjdEVsZW1l
bnQ6On5TVkdGb3JlaWduT2JqZQogewogfQogCi1BTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9O
UyhTVkdGb3JlaWduT2JqZWN0RWxlbWVudCwgU1ZHTGVuZ3RoLCBMZW5ndGgsIGxlbmd0aCwgWCwg
eCwgU1ZHTmFtZXM6OnhBdHRyLCBtX3gpCi1BTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhT
VkdGb3JlaWduT2JqZWN0RWxlbWVudCwgU1ZHTGVuZ3RoLCBMZW5ndGgsIGxlbmd0aCwgWSwgeSwg
U1ZHTmFtZXM6OnlBdHRyLCBtX3kpCi1BTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdG
b3JlaWduT2JqZWN0RWxlbWVudCwgU1ZHTGVuZ3RoLCBMZW5ndGgsIGxlbmd0aCwgV2lkdGgsIHdp
ZHRoLCBTVkdOYW1lczo6d2lkdGhBdHRyLCBtX3dpZHRoKQotQU5JTUFURURfUFJPUEVSVFlfREVG
SU5JVElPTlMoU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQsIFNWR0xlbmd0aCwgTGVuZ3RoLCBsZW5n
dGgsIEhlaWdodCwgaGVpZ2h0LCBTVkdOYW1lczo6aGVpZ2h0QXR0ciwgbV9oZWlnaHQpCitBTklN
QVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdGb3JlaWduT2JqZWN0RWxlbWVudCwgU1ZHTGVu
Z3RoLCBYLCB4LCBTVkdOYW1lczo6eEF0dHIpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9O
UyhTVkdGb3JlaWduT2JqZWN0RWxlbWVudCwgU1ZHTGVuZ3RoLCBZLCB5LCBTVkdOYW1lczo6eUF0
dHIpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdGb3JlaWduT2JqZWN0RWxlbWVu
dCwgU1ZHTGVuZ3RoLCBXaWR0aCwgd2lkdGgsIFNWR05hbWVzOjp3aWR0aEF0dHIpCitBTklNQVRF
RF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdGb3JlaWduT2JqZWN0RWxlbWVudCwgU1ZHTGVuZ3Ro
LCBIZWlnaHQsIGhlaWdodCwgU1ZHTmFtZXM6OmhlaWdodEF0dHIpCiAKIHZvaWQgU1ZHRm9yZWln
bk9iamVjdEVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKE1hcHBlZEF0dHJpYnV0ZSogYXR0
cikKIHsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50LmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQuaAkocmV2aXNpb24g
MzUwMDYpCisrKyBXZWJDb3JlL3N2Zy9TVkdGb3JlaWduT2JqZWN0RWxlbWVudC5oCSh3b3JraW5n
IGNvcHkpCkBAIC01NSwxMCArNTUsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBB
TklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdFeHRlcm5hbFJlc291cmNl
c1JlcXVpcmVkLCBib29sLCBFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291
cmNlc1JlcXVpcmVkKSAKICAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJB
VElPTlMoU1ZHVVJJUmVmZXJlbmNlLCBTdHJpbmcsIEhyZWYsIGhyZWYpCiAKLSAgICAgICAgQU5J
TUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0ZvcmVpZ25PYmplY3RFbGVtZW50LCBTVkdM
ZW5ndGgsIFNWR0xlbmd0aCwgWCwgeCkKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFS
QVRJT05TKFNWR0ZvcmVpZ25PYmplY3RFbGVtZW50LCBTVkdMZW5ndGgsIFNWR0xlbmd0aCwgWSwg
eSkKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0ZvcmVpZ25PYmpl
Y3RFbGVtZW50LCBTVkdMZW5ndGgsIFNWR0xlbmd0aCwgV2lkdGgsIHdpZHRoKQotICAgICAgICBB
TklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQsIFNW
R0xlbmd0aCwgU1ZHTGVuZ3RoLCBIZWlnaHQsIGhlaWdodCkKKyAgICAgICAgQU5JTUFURURfUFJP
UEVSVFlfREVDTEFSQVRJT05TKFNWR0ZvcmVpZ25PYmplY3RFbGVtZW50LCBTVkdMZW5ndGgsIFgs
IHgpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdGb3JlaWduT2Jq
ZWN0RWxlbWVudCwgU1ZHTGVuZ3RoLCBZLCB5KQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9E
RUNMQVJBVElPTlMoU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQsIFNWR0xlbmd0aCwgV2lkdGgsIHdp
ZHRoKQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRm9yZWlnbk9i
amVjdEVsZW1lbnQsIFNWR0xlbmd0aCwgSGVpZ2h0LCBoZWlnaHQpCiAgICAgfTsKIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHR3JhZGllbnRFbGVtZW50LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdHcmFkaWVudEVsZW1lbnQuY3BwCShyZXZp
c2lvbiAzNTAwNikKKysrIFdlYkNvcmUvc3ZnL1NWR0dyYWRpZW50RWxlbWVudC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTUyLDkgKzUyLDkgQEAgU1ZHR3JhZGllbnRFbGVtZW50Ojp+U1ZHR3JhZGll
bnRFbGVtZW50KAogewogfQogCi1BTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdHcmFk
aWVudEVsZW1lbnQsIGludCwgRW51bWVyYXRpb24sIGVudW1lcmF0aW9uLCBHcmFkaWVudFVuaXRz
LCBncmFkaWVudFVuaXRzLCBTVkdOYW1lczo6Z3JhZGllbnRVbml0c0F0dHIsIG1fZ3JhZGllbnRV
bml0cykKLUFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0dyYWRpZW50RWxlbWVudCwg
U1ZHVHJhbnNmb3JtTGlzdCosIFRyYW5zZm9ybUxpc3QsIHRyYW5zZm9ybUxpc3QsIEdyYWRpZW50
VHJhbnNmb3JtLCBncmFkaWVudFRyYW5zZm9ybSwgU1ZHTmFtZXM6OmdyYWRpZW50VHJhbnNmb3Jt
QXR0ciwgbV9ncmFkaWVudFRyYW5zZm9ybS5nZXQoKSkKLUFOSU1BVEVEX1BST1BFUlRZX0RFRklO
SVRJT05TKFNWR0dyYWRpZW50RWxlbWVudCwgaW50LCBFbnVtZXJhdGlvbiwgZW51bWVyYXRpb24s
IFNwcmVhZE1ldGhvZCwgc3ByZWFkTWV0aG9kLCBTVkdOYW1lczo6c3ByZWFkTWV0aG9kQXR0ciwg
bV9zcHJlYWRNZXRob2QpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdHcmFkaWVu
dEVsZW1lbnQsIGludCwgR3JhZGllbnRVbml0cywgZ3JhZGllbnRVbml0cywgU1ZHTmFtZXM6Omdy
YWRpZW50VW5pdHNBdHRyKQorQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlNfUkVGQ09VTlRF
RChTVkdHcmFkaWVudEVsZW1lbnQsIFNWR1RyYW5zZm9ybUxpc3QsIEdyYWRpZW50VHJhbnNmb3Jt
LCBncmFkaWVudFRyYW5zZm9ybSwgU1ZHTmFtZXM6OmdyYWRpZW50VHJhbnNmb3JtQXR0cikKK0FO
SU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0dyYWRpZW50RWxlbWVudCwgaW50LCBTcHJl
YWRNZXRob2QsIHNwcmVhZE1ldGhvZCwgU1ZHTmFtZXM6OnNwcmVhZE1ldGhvZEF0dHIpCiAKIHZv
aWQgU1ZHR3JhZGllbnRFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShNYXBwZWRBdHRyaWJ1
dGUqIGF0dHIpCiB7CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdHcmFkaWVudEVsZW1lbnQuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdHcmFkaWVudEVsZW1lbnQuaAkocmV2aXNpb24gMzUw
MDYpCisrKyBXZWJDb3JlL3N2Zy9TVkdHcmFkaWVudEVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpA
QCAtNzEsOSArNzEsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIEFOSU1BVEVEX1BS
T1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJT05TKFNWR1VSSVJlZmVyZW5jZSwgU3RyaW5nLCBIcmVm
LCBocmVmKQogICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhT
VkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBib29sLCBFeHRlcm5hbFJlc291cmNlc1JlcXVp
cmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQogIAotICAgICAgICBBTklNQVRFRF9QUk9Q
RVJUWV9ERUNMQVJBVElPTlMoU1ZHR3JhZGllbnRFbGVtZW50LCBpbnQsIGludCwgU3ByZWFkTWV0
aG9kLCBzcHJlYWRNZXRob2QpCi0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9O
UyhTVkdHcmFkaWVudEVsZW1lbnQsIGludCwgaW50LCBHcmFkaWVudFVuaXRzLCBncmFkaWVudFVu
aXRzKQotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHR3JhZGllbnRF
bGVtZW50LCBTVkdUcmFuc2Zvcm1MaXN0KiwgUmVmUHRyPFNWR1RyYW5zZm9ybUxpc3Q+LCBHcmFk
aWVudFRyYW5zZm9ybSwgZ3JhZGllbnRUcmFuc2Zvcm0pCisgICAgICAgIEFOSU1BVEVEX1BST1BF
UlRZX0RFQ0xBUkFUSU9OUyhTVkdHcmFkaWVudEVsZW1lbnQsIGludCwgU3ByZWFkTWV0aG9kLCBz
cHJlYWRNZXRob2QpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdH
cmFkaWVudEVsZW1lbnQsIGludCwgR3JhZGllbnRVbml0cywgZ3JhZGllbnRVbml0cykKKyAgICAg
ICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TX1JFRkNPVU5URUQoU1ZHR3JhZGllbnRF
bGVtZW50LCBTVkdUcmFuc2Zvcm1MaXN0LCBHcmFkaWVudFRyYW5zZm9ybSwgZ3JhZGllbnRUcmFu
c2Zvcm0pCiAgICAgfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogV2ViQ29yZS9z
dmcvU1ZHSW1hZ2VFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdJbWFn
ZUVsZW1lbnQuY3BwCShyZXZpc2lvbiAzNTAwNikKKysrIFdlYkNvcmUvc3ZnL1NWR0ltYWdlRWxl
bWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU2LDExICs1NiwxMSBAQCBTVkdJbWFnZUVsZW1l
bnQ6On5TVkdJbWFnZUVsZW1lbnQoKQogewogfQogCi1BTklNQVRFRF9QUk9QRVJUWV9ERUZJTklU
SU9OUyhTVkdJbWFnZUVsZW1lbnQsIFNWR0xlbmd0aCwgTGVuZ3RoLCBsZW5ndGgsIFgsIHgsIFNW
R05hbWVzOjp4QXR0ciwgbV94KQotQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHSW1h
Z2VFbGVtZW50LCBTVkdMZW5ndGgsIExlbmd0aCwgbGVuZ3RoLCBZLCB5LCBTVkdOYW1lczo6eUF0
dHIsIG1feSkKLUFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0ltYWdlRWxlbWVudCwg
U1ZHTGVuZ3RoLCBMZW5ndGgsIGxlbmd0aCwgV2lkdGgsIHdpZHRoLCBTVkdOYW1lczo6d2lkdGhB
dHRyLCBtX3dpZHRoKQotQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHSW1hZ2VFbGVt
ZW50LCBTVkdMZW5ndGgsIExlbmd0aCwgbGVuZ3RoLCBIZWlnaHQsIGhlaWdodCwgU1ZHTmFtZXM6
OmhlaWdodEF0dHIsIG1faGVpZ2h0KQotQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZH
SW1hZ2VFbGVtZW50LCBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvKiwgUHJlc2VydmVBc3BlY3RSYXRp
bywgcHJlc2VydmVBc3BlY3RSYXRpbywgUHJlc2VydmVBc3BlY3RSYXRpbywgcHJlc2VydmVBc3Bl
Y3RSYXRpbywgU1ZHTmFtZXM6OnByZXNlcnZlQXNwZWN0UmF0aW9BdHRyLCBtX3ByZXNlcnZlQXNw
ZWN0UmF0aW8uZ2V0KCkpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdJbWFnZUVs
ZW1lbnQsIFNWR0xlbmd0aCwgWCwgeCwgU1ZHTmFtZXM6OnhBdHRyKQorQU5JTUFURURfUFJPUEVS
VFlfREVGSU5JVElPTlMoU1ZHSW1hZ2VFbGVtZW50LCBTVkdMZW5ndGgsIFksIHksIFNWR05hbWVz
Ojp5QXR0cikKK0FOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0ltYWdlRWxlbWVudCwg
U1ZHTGVuZ3RoLCBXaWR0aCwgd2lkdGgsIFNWR05hbWVzOjp3aWR0aEF0dHIpCitBTklNQVRFRF9Q
Uk9QRVJUWV9ERUZJTklUSU9OUyhTVkdJbWFnZUVsZW1lbnQsIFNWR0xlbmd0aCwgSGVpZ2h0LCBo
ZWlnaHQsIFNWR05hbWVzOjpoZWlnaHRBdHRyKQorQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElP
TlNfUkVGQ09VTlRFRChTVkdJbWFnZUVsZW1lbnQsIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8sIFBy
ZXNlcnZlQXNwZWN0UmF0aW8sIHByZXNlcnZlQXNwZWN0UmF0aW8sIFNWR05hbWVzOjpwcmVzZXJ2
ZUFzcGVjdFJhdGlvQXR0cikKIAogdm9pZCBTVkdJbWFnZUVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0
cmlidXRlKE1hcHBlZEF0dHJpYnV0ZSAqYXR0cikKIHsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0lt
YWdlRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0ltYWdlRWxlbWVudC5o
CShyZXZpc2lvbiAzNTAwNikKKysrIFdlYkNvcmUvc3ZnL1NWR0ltYWdlRWxlbWVudC5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC02OCwxMSArNjgsMTEgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAg
ICBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdFeHRlcm5hbFJlc291
cmNlc1JlcXVpcmVkLCBib29sLCBFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJl
c291cmNlc1JlcXVpcmVkKSAKICAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNM
QVJBVElPTlMoU1ZHVVJJUmVmZXJlbmNlLCBTdHJpbmcsIEhyZWYsIGhyZWYpCiAKLSAgICAgICAg
QU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0ltYWdlRWxlbWVudCwgU1ZHTGVuZ3Ro
LCBTVkdMZW5ndGgsIFgsIHgpCi0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9O
UyhTVkdJbWFnZUVsZW1lbnQsIFNWR0xlbmd0aCwgU1ZHTGVuZ3RoLCBZLCB5KQotICAgICAgICBB
TklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHSW1hZ2VFbGVtZW50LCBTVkdMZW5ndGgs
IFNWR0xlbmd0aCwgV2lkdGgsIHdpZHRoKQotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNM
QVJBVElPTlMoU1ZHSW1hZ2VFbGVtZW50LCBTVkdMZW5ndGgsIFNWR0xlbmd0aCwgSGVpZ2h0LCBo
ZWlnaHQpCi0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdJbWFnZUVs
ZW1lbnQsIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8qLCBSZWZQdHI8U1ZHUHJlc2VydmVBc3BlY3RS
YXRpbz4sIFByZXNlcnZlQXNwZWN0UmF0aW8sIHByZXNlcnZlQXNwZWN0UmF0aW8pCisgICAgICAg
IEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdJbWFnZUVsZW1lbnQsIFNWR0xlbmd0
aCwgWCwgeCkKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0ltYWdl
RWxlbWVudCwgU1ZHTGVuZ3RoLCBZLCB5KQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNM
QVJBVElPTlMoU1ZHSW1hZ2VFbGVtZW50LCBTVkdMZW5ndGgsIFdpZHRoLCB3aWR0aCkKKyAgICAg
ICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0ltYWdlRWxlbWVudCwgU1ZHTGVu
Z3RoLCBIZWlnaHQsIGhlaWdodCkKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJ
T05TX1JFRkNPVU5URUQoU1ZHSW1hZ2VFbGVtZW50LCBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLCBQ
cmVzZXJ2ZUFzcGVjdFJhdGlvLCBwcmVzZXJ2ZUFzcGVjdFJhdGlvKQogCiAgICAgICAgIFNWR0lt
YWdlTG9hZGVyIG1faW1hZ2VMb2FkZXI7CiAgICAgfTsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0xl
bmd0aExpc3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0xlbmd0aExpc3QuY3Bw
CShyZXZpc2lvbiAzNTAwNikKKysrIFdlYkNvcmUvc3ZnL1NWR0xlbmd0aExpc3QuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC01OSw2ICs1OSwyMiBAQCB2b2lkIFNWR0xlbmd0aExpc3Q6OnBhcnNlKGNv
bnN0IFN0cmluZyYgCiAgICAgfQogfQogCitTdHJpbmcgU1ZHTGVuZ3RoTGlzdDo6dmFsdWVBc1N0
cmluZygpIGNvbnN0Cit7CisgICAgU3RyaW5nIHJlc3VsdDsKKworICAgIEV4Y2VwdGlvbkNvZGUg
ZWMgPSAwOworICAgIGZvciAodW5zaWduZWQgaW50IGkgPSAwOyBpIDwgbnVtYmVyT2ZJdGVtcygp
OyArK2kpIHsKKyAgICAgICAgaWYgKGkgPiAwKQorICAgICAgICAgICAgcmVzdWx0ICs9ICIsICI7
CisKKyAgICAgICAgcmVzdWx0ICs9IGdldEl0ZW0oaSwgZWMpLnZhbHVlQXNTdHJpbmcoKTsKKyAg
ICAgICAgQVNTRVJUKGVjID09IDApOworICAgIH0KKworICAgIHJldHVybiByZXN1bHQ7Cit9CisK
IH0KIAogI2VuZGlmIC8vIEVOQUJMRShTVkcpCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdMZW5ndGhM
aXN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHTGVuZ3RoTGlzdC5oCShyZXZpc2lv
biAzNTAwNikKKysrIFdlYkNvcmUvc3ZnL1NWR0xlbmd0aExpc3QuaAkod29ya2luZyBjb3B5KQpA
QCAtMzUsNyArMzUsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgflNW
R0xlbmd0aExpc3QoKTsKIAogICAgICAgICB2b2lkIHBhcnNlKGNvbnN0IFN0cmluZyYgdmFsdWUs
IGNvbnN0IFNWR1N0eWxlZEVsZW1lbnQqIGNvbnRleHQsIFNWR0xlbmd0aE1vZGUgbW9kZSk7Ci0g
ICAgICAgIAorIAorICAgICAgICBTdHJpbmcgdmFsdWVBc1N0cmluZygpIGNvbnN0OworCiAgICAg
cHJpdmF0ZToKICAgICAgICAgU1ZHTGVuZ3RoTGlzdChjb25zdCBRdWFsaWZpZWROYW1lJik7CiAg
ICAgfTsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0xpbmVFbGVtZW50LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL3N2Zy9TVkdMaW5lRWxlbWVudC5jcHAJKHJldmlzaW9uIDM1MDA2KQorKysgV2Vi
Q29yZS9zdmcvU1ZHTGluZUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OCwxMCArNDgs
MTAgQEAgU1ZHTGluZUVsZW1lbnQ6On5TVkdMaW5lRWxlbWVudCgpCiB7CiB9CiAKLUFOSU1BVEVE
X1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0xpbmVFbGVtZW50LCBTVkdMZW5ndGgsIExlbmd0aCwg
bGVuZ3RoLCBYMSwgeDEsIFNWR05hbWVzOjp4MUF0dHIsIG1feDEpCi1BTklNQVRFRF9QUk9QRVJU
WV9ERUZJTklUSU9OUyhTVkdMaW5lRWxlbWVudCwgU1ZHTGVuZ3RoLCBMZW5ndGgsIGxlbmd0aCwg
WTEsIHkxLCBTVkdOYW1lczo6eTFBdHRyLCBtX3kxKQotQU5JTUFURURfUFJPUEVSVFlfREVGSU5J
VElPTlMoU1ZHTGluZUVsZW1lbnQsIFNWR0xlbmd0aCwgTGVuZ3RoLCBsZW5ndGgsIFgyLCB4Miwg
U1ZHTmFtZXM6OngyQXR0ciwgbV94MikKLUFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNW
R0xpbmVFbGVtZW50LCBTVkdMZW5ndGgsIExlbmd0aCwgbGVuZ3RoLCBZMiwgeTIsIFNWR05hbWVz
Ojp5MkF0dHIsIG1feTIpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdMaW5lRWxl
bWVudCwgU1ZHTGVuZ3RoLCBYMSwgeDEsIFNWR05hbWVzOjp4MUF0dHIpCitBTklNQVRFRF9QUk9Q
RVJUWV9ERUZJTklUSU9OUyhTVkdMaW5lRWxlbWVudCwgU1ZHTGVuZ3RoLCBZMSwgeTEsIFNWR05h
bWVzOjp5MUF0dHIpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdMaW5lRWxlbWVu
dCwgU1ZHTGVuZ3RoLCBYMiwgeDIsIFNWR05hbWVzOjp4MkF0dHIpCitBTklNQVRFRF9QUk9QRVJU
WV9ERUZJTklUSU9OUyhTVkdMaW5lRWxlbWVudCwgU1ZHTGVuZ3RoLCBZMiwgeTIsIFNWR05hbWVz
Ojp5MkF0dHIpCiAKIHZvaWQgU1ZHTGluZUVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKE1h
cHBlZEF0dHJpYnV0ZSogYXR0cikKIHsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0xpbmVFbGVtZW50
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHTGluZUVsZW1lbnQuaAkocmV2aXNpb24g
MzUwMDYpCisrKyBXZWJDb3JlL3N2Zy9TVkdMaW5lRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBA
IC01NywxMCArNTcsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHByaXZhdGU6CiAgICAg
ICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJT05TKFNWR0V4dGVybmFsUmVz
b3VyY2VzUmVxdWlyZWQsIGJvb2wsIEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFs
UmVzb3VyY2VzUmVxdWlyZWQpCiAgCi0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFU
SU9OUyhTVkdMaW5lRWxlbWVudCwgU1ZHTGVuZ3RoLCBTVkdMZW5ndGgsIFgxLCB4MSkKLSAgICAg
ICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0xpbmVFbGVtZW50LCBTVkdMZW5n
dGgsIFNWR0xlbmd0aCwgWTEsIHkxKQotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJB
VElPTlMoU1ZHTGluZUVsZW1lbnQsIFNWR0xlbmd0aCwgU1ZHTGVuZ3RoLCBYMiwgeDIpCi0gICAg
ICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdMaW5lRWxlbWVudCwgU1ZHTGVu
Z3RoLCBTVkdMZW5ndGgsIFkyLCB5MikKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFS
QVRJT05TKFNWR0xpbmVFbGVtZW50LCBTVkdMZW5ndGgsIFgxLCB4MSkKKyAgICAgICAgQU5JTUFU
RURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0xpbmVFbGVtZW50LCBTVkdMZW5ndGgsIFkxLCB5
MSkKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0xpbmVFbGVtZW50
LCBTVkdMZW5ndGgsIFgyLCB4MikKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJ
T05TKFNWR0xpbmVFbGVtZW50LCBTVkdMZW5ndGgsIFkyLCB5MikKICAgICB9OwogCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdMaW5lYXJHcmFkaWVudEVsZW1l
bnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0xpbmVhckdyYWRpZW50RWxlbWVu
dC5jcHAJKHJldmlzaW9uIDM1MDA2KQorKysgV2ViQ29yZS9zdmcvU1ZHTGluZWFyR3JhZGllbnRF
bGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTEsMTAgKzUxLDEwIEBAIFNWR0xpbmVhckdy
YWRpZW50RWxlbWVudDo6flNWR0xpbmVhckdyYWQKIHsKIH0KIAotQU5JTUFURURfUFJPUEVSVFlf
REVGSU5JVElPTlMoU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50LCBTVkdMZW5ndGgsIExlbmd0aCwg
bGVuZ3RoLCBYMSwgeDEsIFNWR05hbWVzOjp4MUF0dHIsIG1feDEpCi1BTklNQVRFRF9QUk9QRVJU
WV9ERUZJTklUSU9OUyhTVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQsIFNWR0xlbmd0aCwgTGVuZ3Ro
LCBsZW5ndGgsIFkxLCB5MSwgU1ZHTmFtZXM6OnkxQXR0ciwgbV95MSkKLUFOSU1BVEVEX1BST1BF
UlRZX0RFRklOSVRJT05TKFNWR0xpbmVhckdyYWRpZW50RWxlbWVudCwgU1ZHTGVuZ3RoLCBMZW5n
dGgsIGxlbmd0aCwgWDIsIHgyLCBTVkdOYW1lczo6eDJBdHRyLCBtX3gyKQotQU5JTUFURURfUFJP
UEVSVFlfREVGSU5JVElPTlMoU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50LCBTVkdMZW5ndGgsIExl
bmd0aCwgbGVuZ3RoLCBZMiwgeTIsIFNWR05hbWVzOjp5MkF0dHIsIG1feTIpCitBTklNQVRFRF9Q
Uk9QRVJUWV9ERUZJTklUSU9OUyhTVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQsIFNWR0xlbmd0aCwg
WDEsIHgxLCBTVkdOYW1lczo6eDFBdHRyKQorQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMo
U1ZHTGluZWFyR3JhZGllbnRFbGVtZW50LCBTVkdMZW5ndGgsIFkxLCB5MSwgU1ZHTmFtZXM6Onkx
QXR0cikKK0FOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0xpbmVhckdyYWRpZW50RWxl
bWVudCwgU1ZHTGVuZ3RoLCBYMiwgeDIsIFNWR05hbWVzOjp4MkF0dHIpCitBTklNQVRFRF9QUk9Q
RVJUWV9ERUZJTklUSU9OUyhTVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQsIFNWR0xlbmd0aCwgWTIs
IHkyLCBTVkdOYW1lczo6eTJBdHRyKQogCiB2b2lkIFNWR0xpbmVhckdyYWRpZW50RWxlbWVudDo6
cGFyc2VNYXBwZWRBdHRyaWJ1dGUoTWFwcGVkQXR0cmlidXRlKiBhdHRyKQogewpJbmRleDogV2Vi
Q29yZS9zdmcvU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9zdmcvU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50LmgJKHJldmlzaW9uIDM1MDA2KQorKysgV2Vi
Q29yZS9zdmcvU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTQ5
LDEwICs0OSwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgY29uc3Qg
U1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSBjb25zdCB7IHJldHVybiB0aGlzOyB9CiAKICAg
ICBwcml2YXRlOgotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHTGlu
ZWFyR3JhZGllbnRFbGVtZW50LCBTVkdMZW5ndGgsIFNWR0xlbmd0aCwgWDEsIHgxKQotICAgICAg
ICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50
LCBTVkdMZW5ndGgsIFNWR0xlbmd0aCwgWTEsIHkxKQotICAgICAgICBBTklNQVRFRF9QUk9QRVJU
WV9ERUNMQVJBVElPTlMoU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50LCBTVkdMZW5ndGgsIFNWR0xl
bmd0aCwgWDIsIHgyKQotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZH
TGluZWFyR3JhZGllbnRFbGVtZW50LCBTVkdMZW5ndGgsIFNWR0xlbmd0aCwgWTIsIHkyKQorICAg
ICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHTGluZWFyR3JhZGllbnRFbGVt
ZW50LCBTVkdMZW5ndGgsIFgxLCB4MSkKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFS
QVRJT05TKFNWR0xpbmVhckdyYWRpZW50RWxlbWVudCwgU1ZHTGVuZ3RoLCBZMSwgeTEpCisgICAg
ICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdMaW5lYXJHcmFkaWVudEVsZW1l
bnQsIFNWR0xlbmd0aCwgWDIsIHgyKQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJB
VElPTlMoU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50LCBTVkdMZW5ndGgsIFkyLCB5MikKICAgICB9
OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdNYXJrZXJF
bGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdNYXJrZXJFbGVtZW50LmNw
cAkocmV2aXNpb24gMzUwMDYpCisrKyBXZWJDb3JlL3N2Zy9TVkdNYXJrZXJFbGVtZW50LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNTYsMTMgKzU2LDEzIEBAIFNWR01hcmtlckVsZW1lbnQ6On5TVkdN
YXJrZXJFbGVtZW50KCkKIHsKIH0KIAotQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZH
TWFya2VyRWxlbWVudCwgU1ZHTGVuZ3RoLCBMZW5ndGgsIGxlbmd0aCwgUmVmWCwgcmVmWCwgU1ZH
TmFtZXM6OnJlZlhBdHRyLCBtX3JlZlgpCi1BTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhT
VkdNYXJrZXJFbGVtZW50LCBTVkdMZW5ndGgsIExlbmd0aCwgbGVuZ3RoLCBSZWZZLCByZWZZLCBT
VkdOYW1lczo6cmVmWUF0dHIsIG1fcmVmWSkKLUFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05T
KFNWR01hcmtlckVsZW1lbnQsIGludCwgRW51bWVyYXRpb24sIGVudW1lcmF0aW9uLCBNYXJrZXJV
bml0cywgbWFya2VyVW5pdHMsIFNWR05hbWVzOjptYXJrZXJVbml0c0F0dHIsIG1fbWFya2VyVW5p
dHMpCi1BTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdNYXJrZXJFbGVtZW50LCBTVkdM
ZW5ndGgsIExlbmd0aCwgbGVuZ3RoLCBNYXJrZXJXaWR0aCwgbWFya2VyV2lkdGgsIFNWR05hbWVz
OjptYXJrZXJXaWR0aEF0dHIsIG1fbWFya2VyV2lkdGgpCi1BTklNQVRFRF9QUk9QRVJUWV9ERUZJ
TklUSU9OUyhTVkdNYXJrZXJFbGVtZW50LCBTVkdMZW5ndGgsIExlbmd0aCwgbGVuZ3RoLCBNYXJr
ZXJIZWlnaHQsIG1hcmtlckhlaWdodCwgU1ZHTmFtZXM6Om1hcmtlckhlaWdodEF0dHIsIG1fbWFy
a2VySGVpZ2h0KQotQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlNfV0lUSF9DVVNUT01fSURF
TlRJRklFUihTVkdNYXJrZXJFbGVtZW50LCBpbnQsIEVudW1lcmF0aW9uLCBlbnVtZXJhdGlvbiwg
T3JpZW50VHlwZSwgb3JpZW50VHlwZSwgU1ZHTmFtZXM6Om9yaWVudEF0dHIsICJvcmllbnRUeXBl
IiwgbV9vcmllbnRUeXBlKQotQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlNfV0lUSF9DVVNU
T01fSURFTlRJRklFUihTVkdNYXJrZXJFbGVtZW50LCBTVkdBbmdsZSosIEFuZ2xlLCBhbmdsZSwg
T3JpZW50QW5nbGUsIG9yaWVudEFuZ2xlLCBTVkdOYW1lczo6b3JpZW50QXR0ciwgIm9yaWVudEFu
Z2xlIiwgbV9vcmllbnRBbmdsZS5nZXQoKSkKK0FOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05T
KFNWR01hcmtlckVsZW1lbnQsIFNWR0xlbmd0aCwgUmVmWCwgcmVmWCwgU1ZHTmFtZXM6OnJlZlhB
dHRyKQorQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHTWFya2VyRWxlbWVudCwgU1ZH
TGVuZ3RoLCBSZWZZLCByZWZZLCBTVkdOYW1lczo6cmVmWUF0dHIpCitBTklNQVRFRF9QUk9QRVJU
WV9ERUZJTklUSU9OUyhTVkdNYXJrZXJFbGVtZW50LCBpbnQsIE1hcmtlclVuaXRzLCBtYXJrZXJV
bml0cywgU1ZHTmFtZXM6Om1hcmtlclVuaXRzQXR0cikKK0FOSU1BVEVEX1BST1BFUlRZX0RFRklO
SVRJT05TKFNWR01hcmtlckVsZW1lbnQsIFNWR0xlbmd0aCwgTWFya2VyV2lkdGgsIG1hcmtlcldp
ZHRoLCBTVkdOYW1lczo6bWFya2VyV2lkdGhBdHRyKQorQU5JTUFURURfUFJPUEVSVFlfREVGSU5J
VElPTlMoU1ZHTWFya2VyRWxlbWVudCwgU1ZHTGVuZ3RoLCBNYXJrZXJIZWlnaHQsIG1hcmtlckhl
aWdodCwgU1ZHTmFtZXM6Om1hcmtlckhlaWdodEF0dHIpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJ
TklUSU9OU19XSVRIX0NVU1RPTV9JREVOVElGSUVSKFNWR01hcmtlckVsZW1lbnQsIGludCwgT3Jp
ZW50VHlwZSwgb3JpZW50VHlwZSwgU1ZHTmFtZXM6Om9yaWVudEF0dHIsICJvcmllbnRUeXBlIikK
K0FOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TX1JFRkNPVU5URURfV0lUSF9DVVNUT01fSURF
TlRJRklFUihTVkdNYXJrZXJFbGVtZW50LCBTVkdBbmdsZSwgT3JpZW50QW5nbGUsIG9yaWVudEFu
Z2xlLCBTVkdOYW1lczo6b3JpZW50QXR0ciwgIm9yaWVudEFuZ2xlIikKIAogdm9pZCBTVkdNYXJr
ZXJFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShNYXBwZWRBdHRyaWJ1dGUqIGF0dHIpCiB7
CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdNYXJrZXJFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9zdmcvU1ZHTWFya2VyRWxlbWVudC5oCShyZXZpc2lvbiAzNTAwNikKKysrIFdlYkNvcmUv
c3ZnL1NWR01hcmtlckVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMzQsNyArMzQsNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFzcyBEb2N1bWVudDsKICAgICBjbGFzcyBTVkdB
bmdsZTsKLSAgICAKKwogICAgIGNsYXNzIFNWR01hcmtlckVsZW1lbnQgOiBwdWJsaWMgU1ZHU3R5
bGVkRWxlbWVudCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVibGljIFNWR0xhbmdT
cGFjZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVibGljIFNWR0V4dGVybmFsUmVz
b3VyY2VzUmVxdWlyZWQsCkBAIC03MSwxNSArNzEsMTUgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgIHByaXZhdGU6CiAgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJ
T05TKFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGJvb2wsIEV4dGVybmFsUmVzb3VyY2Vz
UmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpIAogICAgICAgICBBTklNQVRFRF9Q
Uk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdGaXRUb1ZpZXdCb3gsIEZsb2F0UmVjdCwg
Vmlld0JveCwgdmlld0JveCkKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNM
QVJBVElPTlMoU1ZHRml0VG9WaWV3Qm94LCBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvKiwgUHJlc2Vy
dmVBc3BlY3RSYXRpbywgcHJlc2VydmVBc3BlY3RSYXRpbykKKyAgICAgICAgQU5JTUFURURfUFJP
UEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlNfUkVGQ09VTlRFRChTVkdGaXRUb1ZpZXdCb3gsIFNW
R1ByZXNlcnZlQXNwZWN0UmF0aW8sIFByZXNlcnZlQXNwZWN0UmF0aW8sIHByZXNlcnZlQXNwZWN0
UmF0aW8pCiAKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR01hcmtl
ckVsZW1lbnQsIFNWR0xlbmd0aCwgU1ZHTGVuZ3RoLCBSZWZYLCByZWZYKQotICAgICAgICBBTklN
QVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHTWFya2VyRWxlbWVudCwgU1ZHTGVuZ3RoLCBT
VkdMZW5ndGgsIFJlZlksIHJlZlkpCi0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFU
SU9OUyhTVkdNYXJrZXJFbGVtZW50LCBTVkdMZW5ndGgsIFNWR0xlbmd0aCwgTWFya2VyV2lkdGgs
IG1hcmtlcldpZHRoKQotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZH
TWFya2VyRWxlbWVudCwgU1ZHTGVuZ3RoLCBTVkdMZW5ndGgsIE1hcmtlckhlaWdodCwgbWFya2Vy
SGVpZ2h0KQotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHTWFya2Vy
RWxlbWVudCwgaW50LCBpbnQsIE1hcmtlclVuaXRzLCBtYXJrZXJVbml0cykKLSAgICAgICAgQU5J
TUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR01hcmtlckVsZW1lbnQsIGludCwgaW50LCBP
cmllbnRUeXBlLCBvcmllbnRUeXBlKQotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJB
VElPTlMoU1ZHTWFya2VyRWxlbWVudCwgU1ZHQW5nbGUqLCBSZWZQdHI8U1ZHQW5nbGU+LCBPcmll
bnRBbmdsZSwgb3JpZW50QW5nbGUpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFU
SU9OUyhTVkdNYXJrZXJFbGVtZW50LCBTVkdMZW5ndGgsIFJlZlgsIHJlZlgpCisgICAgICAgIEFO
SU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdNYXJrZXJFbGVtZW50LCBTVkdMZW5ndGgs
IFJlZlksIHJlZlkpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdN
YXJrZXJFbGVtZW50LCBTVkdMZW5ndGgsIE1hcmtlcldpZHRoLCBtYXJrZXJXaWR0aCkKKyAgICAg
ICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR01hcmtlckVsZW1lbnQsIFNWR0xl
bmd0aCwgTWFya2VySGVpZ2h0LCBtYXJrZXJIZWlnaHQpCisgICAgICAgIEFOSU1BVEVEX1BST1BF
UlRZX0RFQ0xBUkFUSU9OUyhTVkdNYXJrZXJFbGVtZW50LCBpbnQsIE1hcmtlclVuaXRzLCBtYXJr
ZXJVbml0cykKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR01hcmtl
ckVsZW1lbnQsIGludCwgT3JpZW50VHlwZSwgb3JpZW50VHlwZSkKKyAgICAgICAgQU5JTUFURURf
UFJPUEVSVFlfREVDTEFSQVRJT05TX1JFRkNPVU5URUQoU1ZHTWFya2VyRWxlbWVudCwgU1ZHQW5n
bGUsIE9yaWVudEFuZ2xlLCBvcmllbnRBbmdsZSkKIAogICAgICAgICBSZWZQdHI8U1ZHUmVzb3Vy
Y2VNYXJrZXI+IG1fbWFya2VyOwogICAgIH07CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdNYXNrRWxl
bWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHTWFza0VsZW1lbnQuY3BwCShy
ZXZpc2lvbiAzNTAwNikKKysrIFdlYkNvcmUvc3ZnL1NWR01hc2tFbGVtZW50LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNjgsMTIgKzY4LDEyIEBAIFNWR01hc2tFbGVtZW50Ojp+U1ZHTWFza0VsZW1l
bnQoKQogewogfQogCi1BTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdNYXNrRWxlbWVu
dCwgaW50LCBFbnVtZXJhdGlvbiwgZW51bWVyYXRpb24sIE1hc2tVbml0cywgbWFza1VuaXRzLCBT
VkdOYW1lczo6bWFza1VuaXRzQXR0ciwgbV9tYXNrVW5pdHMpCi1BTklNQVRFRF9QUk9QRVJUWV9E
RUZJTklUSU9OUyhTVkdNYXNrRWxlbWVudCwgaW50LCBFbnVtZXJhdGlvbiwgZW51bWVyYXRpb24s
IE1hc2tDb250ZW50VW5pdHMsIG1hc2tDb250ZW50VW5pdHMsIFNWR05hbWVzOjptYXNrQ29udGVu
dFVuaXRzQXR0ciwgbV9tYXNrQ29udGVudFVuaXRzKQotQU5JTUFURURfUFJPUEVSVFlfREVGSU5J
VElPTlMoU1ZHTWFza0VsZW1lbnQsIFNWR0xlbmd0aCwgTGVuZ3RoLCBsZW5ndGgsIFgsIHgsIFNW
R05hbWVzOjp4QXR0ciwgbV94KQotQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHTWFz
a0VsZW1lbnQsIFNWR0xlbmd0aCwgTGVuZ3RoLCBsZW5ndGgsIFksIHksIFNWR05hbWVzOjp5QXR0
ciwgbV95KQotQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHTWFza0VsZW1lbnQsIFNW
R0xlbmd0aCwgTGVuZ3RoLCBsZW5ndGgsIFdpZHRoLCB3aWR0aCwgU1ZHTmFtZXM6OndpZHRoQXR0
ciwgbV93aWR0aCkKLUFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR01hc2tFbGVtZW50
LCBTVkdMZW5ndGgsIExlbmd0aCwgbGVuZ3RoLCBIZWlnaHQsIGhlaWdodCwgU1ZHTmFtZXM6Omhl
aWdodEF0dHIsIG1faGVpZ2h0KQorQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHTWFz
a0VsZW1lbnQsIGludCwgTWFza1VuaXRzLCBtYXNrVW5pdHMsIFNWR05hbWVzOjptYXNrVW5pdHNB
dHRyKQorQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHTWFza0VsZW1lbnQsIGludCwg
TWFza0NvbnRlbnRVbml0cywgbWFza0NvbnRlbnRVbml0cywgU1ZHTmFtZXM6Om1hc2tDb250ZW50
VW5pdHNBdHRyKQorQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHTWFza0VsZW1lbnQs
IFNWR0xlbmd0aCwgWCwgeCwgU1ZHTmFtZXM6OnhBdHRyKQorQU5JTUFURURfUFJPUEVSVFlfREVG
SU5JVElPTlMoU1ZHTWFza0VsZW1lbnQsIFNWR0xlbmd0aCwgWSwgeSwgU1ZHTmFtZXM6OnlBdHRy
KQorQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHTWFza0VsZW1lbnQsIFNWR0xlbmd0
aCwgV2lkdGgsIHdpZHRoLCBTVkdOYW1lczo6d2lkdGhBdHRyKQorQU5JTUFURURfUFJPUEVSVFlf
REVGSU5JVElPTlMoU1ZHTWFza0VsZW1lbnQsIFNWR0xlbmd0aCwgSGVpZ2h0LCBoZWlnaHQsIFNW
R05hbWVzOjpoZWlnaHRBdHRyKQogCiB2b2lkIFNWR01hc2tFbGVtZW50OjpwYXJzZU1hcHBlZEF0
dHJpYnV0ZShNYXBwZWRBdHRyaWJ1dGUqIGF0dHIpCiB7CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdN
YXNrRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR01hc2tFbGVtZW50LmgJ
KHJldmlzaW9uIDM1MDA2KQorKysgV2ViQ29yZS9zdmcvU1ZHTWFza0VsZW1lbnQuaAkod29ya2lu
ZyBjb3B5KQpAQCAtNTcsMTMgKzU3LDEzIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAg
QU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHVVJJUmVmZXJlbmNlLCBT
dHJpbmcsIEhyZWYsIGhyZWYpCiAgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVD
TEFSQVRJT05TKFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGJvb2wsIEV4dGVybmFsUmVz
b3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpCiAgICAgICAgICAgICAK
LSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR01hc2tFbGVtZW50LCBp
bnQsIGludCwgTWFza1VuaXRzLCBtYXNrVW5pdHMpCi0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZ
X0RFQ0xBUkFUSU9OUyhTVkdNYXNrRWxlbWVudCwgaW50LCBpbnQsIE1hc2tDb250ZW50VW5pdHMs
IG1hc2tDb250ZW50VW5pdHMpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9O
UyhTVkdNYXNrRWxlbWVudCwgaW50LCBNYXNrVW5pdHMsIG1hc2tVbml0cykKKyAgICAgICAgQU5J
TUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR01hc2tFbGVtZW50LCBpbnQsIE1hc2tDb250
ZW50VW5pdHMsIG1hc2tDb250ZW50VW5pdHMpCiAgCi0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZ
X0RFQ0xBUkFUSU9OUyhTVkdNYXNrRWxlbWVudCwgU1ZHTGVuZ3RoLCBTVkdMZW5ndGgsIFgsIHgp
Ci0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdNYXNrRWxlbWVudCwg
U1ZHTGVuZ3RoLCBTVkdMZW5ndGgsIFksIHkpCi0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RF
Q0xBUkFUSU9OUyhTVkdNYXNrRWxlbWVudCwgU1ZHTGVuZ3RoLCBTVkdMZW5ndGgsIFdpZHRoLCB3
aWR0aCkKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR01hc2tFbGVt
ZW50LCBTVkdMZW5ndGgsIFNWR0xlbmd0aCwgSGVpZ2h0LCBoZWlnaHQpCisgICAgICAgIEFOSU1B
VEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdNYXNrRWxlbWVudCwgU1ZHTGVuZ3RoLCBYLCB4
KQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHTWFza0VsZW1lbnQs
IFNWR0xlbmd0aCwgWSwgeSkKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05T
KFNWR01hc2tFbGVtZW50LCBTVkdMZW5ndGgsIFdpZHRoLCB3aWR0aCkKKyAgICAgICAgQU5JTUFU
RURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR01hc2tFbGVtZW50LCBTVkdMZW5ndGgsIEhlaWdo
dCwgaGVpZ2h0KQogCiAgICAgICAgIHZpcnR1YWwgY29uc3QgU1ZHRWxlbWVudCogY29udGV4dEVs
ZW1lbnQoKSBjb25zdCB7IHJldHVybiB0aGlzOyB9CiAKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR051
bWJlckxpc3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR051bWJlckxpc3QuY3Bw
CShyZXZpc2lvbiAzNTAwNikKKysrIFdlYkNvcmUvc3ZnL1NWR051bWJlckxpc3QuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC00MSw5ICs0MSwxMSBAQCBTVkdOdW1iZXJMaXN0Ojp+U1ZHTnVtYmVyTGlz
dCgpCiB2b2lkIFNWR051bWJlckxpc3Q6OnBhcnNlKGNvbnN0IFN0cmluZyYgdmFsdWUpCiB7CiAg
ICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7Ci0KICAgICBmbG9hdCBudW1iZXIgPSAwLjBmOwotICAg
CisKKyAgICBjbGVhcihlYyk7CisgICAgQVNTRVJUKGVjID09IDApOworCiAgICAgY29uc3QgVUNo
YXIqIHB0ciA9IHZhbHVlLmNoYXJhY3RlcnMoKTsKICAgICBjb25zdCBVQ2hhciogZW5kID0gcHRy
ICsgdmFsdWUubGVuZ3RoKCk7CiAgICAgLy8gVGhlIHNwZWMgc3RyYW5nZWx5IGRvZXNuJ3QgYWxs
b3cgbGVhZGluZyB3aGl0ZXNwYWNlLiAgV2UgbWlnaHQgY2hvb3NlIHRvIHZpb2xhdGUgdGhhdCBp
bnRlbnRpb25hbGx5LiAoc2VjdGlvbiA0LjEpCkBAIC01NCw2ICs1NiwyMiBAQCB2b2lkIFNWR051
bWJlckxpc3Q6OnBhcnNlKGNvbnN0IFN0cmluZyYgCiAgICAgfQogfQogCitTdHJpbmcgU1ZHTnVt
YmVyTGlzdDo6dmFsdWVBc1N0cmluZygpIGNvbnN0Cit7CisgICAgU3RyaW5nIHJlc3VsdDsKKwor
ICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOworICAgIGZvciAodW5zaWduZWQgaW50IGkgPSAwOyBp
IDwgbnVtYmVyT2ZJdGVtcygpOyArK2kpIHsKKyAgICAgICAgaWYgKGkgPiAwKQorICAgICAgICAg
ICAgcmVzdWx0ICs9ICIsICI7CisKKyAgICAgICAgcmVzdWx0ICs9IFN0cmluZzo6bnVtYmVyKGdl
dEl0ZW0oaSwgZWMpKTsKKyAgICAgICAgQVNTRVJUKGVjID09IDApOworICAgIH0KKworICAgIHJl
dHVybiByZXN1bHQ7Cit9CisKIH0KIAogI2VuZGlmIC8vIEVOQUJMRShTVkcpCkluZGV4OiBXZWJD
b3JlL3N2Zy9TVkdOdW1iZXJMaXN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHTnVt
YmVyTGlzdC5oCShyZXZpc2lvbiAzNTAwNikKKysrIFdlYkNvcmUvc3ZnL1NWR051bWJlckxpc3Qu
aAkod29ya2luZyBjb3B5KQpAQCAtMzcsNyArMzcsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgICAgIHZpcnR1YWwgflNWR051bWJlckxpc3QoKTsKIAogICAgICAgICB2b2lkIHBhcnNlKGNv
bnN0IFN0cmluZyYgdmFsdWUpOwotICAgICAgICAKKyAKKyAgICAgICAgU3RyaW5nIHZhbHVlQXNT
dHJpbmcoKSBjb25zdDsKKwogICAgIHByaXZhdGU6CiAgICAgICAgIFNWR051bWJlckxpc3QoY29u
c3QgUXVhbGlmaWVkTmFtZSYpOwogICAgIH07CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdQYXRoRWxl
bWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHUGF0aEVsZW1lbnQuY3BwCShy
ZXZpc2lvbiAzNTAwNikKKysrIFdlYkNvcmUvc3ZnL1NWR1BhdGhFbGVtZW50LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNTYsNyArNTYsNyBAQCBTVkdQYXRoRWxlbWVudDo6flNWR1BhdGhFbGVtZW50
KCkKIHsKIH0KIAotQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHUGF0aEVsZW1lbnQs
IGZsb2F0LCBOdW1iZXIsIG51bWJlciwgUGF0aExlbmd0aCwgcGF0aExlbmd0aCwgU1ZHTmFtZXM6
OnBhdGhMZW5ndGhBdHRyLCBtX3BhdGhMZW5ndGgpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklU
SU9OUyhTVkdQYXRoRWxlbWVudCwgZmxvYXQsIFBhdGhMZW5ndGgsIHBhdGhMZW5ndGgsIFNWR05h
bWVzOjpwYXRoTGVuZ3RoQXR0cikKIAogZmxvYXQgU1ZHUGF0aEVsZW1lbnQ6OmdldFRvdGFsTGVu
Z3RoKCkKIHsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR1BhdGhFbGVtZW50LmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9zdmcvU1ZHUGF0aEVsZW1lbnQuaAkocmV2aXNpb24gMzUwMDYpCisrKyBXZWJD
b3JlL3N2Zy9TVkdQYXRoRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMDgsNyArMTA4LDcg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldB
UkRfREVDTEFSQVRJT05TKFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGJvb2wsIEV4dGVy
bmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpCiAgCi0gICAg
ICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdQYXRoRWxlbWVudCwgZmxvYXQs
IGZsb2F0LCBQYXRoTGVuZ3RoLCBwYXRoTGVuZ3RoKQorICAgICAgICBBTklNQVRFRF9QUk9QRVJU
WV9ERUNMQVJBVElPTlMoU1ZHUGF0aEVsZW1lbnQsIGZsb2F0LCBQYXRoTGVuZ3RoLCBwYXRoTGVu
Z3RoKQogICAgIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFdlYkNvcmUvc3Zn
L1NWR1BhdHRlcm5FbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdQYXR0
ZXJuRWxlbWVudC5jcHAJKHJldmlzaW9uIDM1MDA2KQorKysgV2ViQ29yZS9zdmcvU1ZHUGF0dGVy
bkVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03MSwxMyArNzEsMTMgQEAgU1ZHUGF0dGVy
bkVsZW1lbnQ6On5TVkdQYXR0ZXJuRWxlbWVudCgpCiB7CiB9CiAKLUFOSU1BVEVEX1BST1BFUlRZ
X0RFRklOSVRJT05TKFNWR1BhdHRlcm5FbGVtZW50LCBpbnQsIEVudW1lcmF0aW9uLCBlbnVtZXJh
dGlvbiwgUGF0dGVyblVuaXRzLCBwYXR0ZXJuVW5pdHMsIFNWR05hbWVzOjpwYXR0ZXJuVW5pdHNB
dHRyLCBtX3BhdHRlcm5Vbml0cykKLUFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR1Bh
dHRlcm5FbGVtZW50LCBpbnQsIEVudW1lcmF0aW9uLCBlbnVtZXJhdGlvbiwgUGF0dGVybkNvbnRl
bnRVbml0cywgcGF0dGVybkNvbnRlbnRVbml0cywgU1ZHTmFtZXM6OnBhdHRlcm5Db250ZW50VW5p
dHNBdHRyLCBtX3BhdHRlcm5Db250ZW50VW5pdHMpCi1BTklNQVRFRF9QUk9QRVJUWV9ERUZJTklU
SU9OUyhTVkdQYXR0ZXJuRWxlbWVudCwgU1ZHTGVuZ3RoLCBMZW5ndGgsIGxlbmd0aCwgWCwgeCwg
U1ZHTmFtZXM6OnhBdHRyLCBtX3gpCi1BTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdQ
YXR0ZXJuRWxlbWVudCwgU1ZHTGVuZ3RoLCBMZW5ndGgsIGxlbmd0aCwgWSwgeSwgU1ZHTmFtZXM6
OnlBdHRyLCBtX3kpCi1BTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdQYXR0ZXJuRWxl
bWVudCwgU1ZHTGVuZ3RoLCBMZW5ndGgsIGxlbmd0aCwgV2lkdGgsIHdpZHRoLCBTVkdOYW1lczo6
d2lkdGhBdHRyLCBtX3dpZHRoKQotQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHUGF0
dGVybkVsZW1lbnQsIFNWR0xlbmd0aCwgTGVuZ3RoLCBsZW5ndGgsIEhlaWdodCwgaGVpZ2h0LCBT
VkdOYW1lczo6aGVpZ2h0QXR0ciwgbV9oZWlnaHQpCi1BTklNQVRFRF9QUk9QRVJUWV9ERUZJTklU
SU9OUyhTVkdQYXR0ZXJuRWxlbWVudCwgU1ZHVHJhbnNmb3JtTGlzdCosIFRyYW5zZm9ybUxpc3Qs
IHRyYW5zZm9ybUxpc3QsIFBhdHRlcm5UcmFuc2Zvcm0sIHBhdHRlcm5UcmFuc2Zvcm0sIFNWR05h
bWVzOjpwYXR0ZXJuVHJhbnNmb3JtQXR0ciwgbV9wYXR0ZXJuVHJhbnNmb3JtLmdldCgpKQorQU5J
TUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHUGF0dGVybkVsZW1lbnQsIGludCwgUGF0dGVy
blVuaXRzLCBwYXR0ZXJuVW5pdHMsIFNWR05hbWVzOjpwYXR0ZXJuVW5pdHNBdHRyKQorQU5JTUFU
RURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHUGF0dGVybkVsZW1lbnQsIGludCwgUGF0dGVybkNv
bnRlbnRVbml0cywgcGF0dGVybkNvbnRlbnRVbml0cywgU1ZHTmFtZXM6OnBhdHRlcm5Db250ZW50
VW5pdHNBdHRyKQorQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHUGF0dGVybkVsZW1l
bnQsIFNWR0xlbmd0aCwgWCwgeCwgU1ZHTmFtZXM6OnhBdHRyKQorQU5JTUFURURfUFJPUEVSVFlf
REVGSU5JVElPTlMoU1ZHUGF0dGVybkVsZW1lbnQsIFNWR0xlbmd0aCwgWSwgeSwgU1ZHTmFtZXM6
OnlBdHRyKQorQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHUGF0dGVybkVsZW1lbnQs
IFNWR0xlbmd0aCwgV2lkdGgsIHdpZHRoLCBTVkdOYW1lczo6d2lkdGhBdHRyKQorQU5JTUFURURf
UFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHUGF0dGVybkVsZW1lbnQsIFNWR0xlbmd0aCwgSGVpZ2h0
LCBoZWlnaHQsIFNWR05hbWVzOjpoZWlnaHRBdHRyKQorQU5JTUFURURfUFJPUEVSVFlfREVGSU5J
VElPTlNfUkVGQ09VTlRFRChTVkdQYXR0ZXJuRWxlbWVudCwgU1ZHVHJhbnNmb3JtTGlzdCwgUGF0
dGVyblRyYW5zZm9ybSwgcGF0dGVyblRyYW5zZm9ybSwgU1ZHTmFtZXM6OnBhdHRlcm5UcmFuc2Zv
cm1BdHRyKQogCiB2b2lkIFNWR1BhdHRlcm5FbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShN
YXBwZWRBdHRyaWJ1dGUqIGF0dHIpCiB7CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdQYXR0ZXJuRWxl
bWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR1BhdHRlcm5FbGVtZW50LmgJKHJl
dmlzaW9uIDM1MDA2KQorKysgV2ViQ29yZS9zdmcvU1ZHUGF0dGVybkVsZW1lbnQuaAkod29ya2lu
ZyBjb3B5KQpAQCAtNjMsMTUgKzYzLDE1IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAg
QU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHVVJJUmVmZXJlbmNlLCBT
dHJpbmcsIEhyZWYsIGhyZWYpCiAgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVD
TEFSQVRJT05TKFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGJvb2wsIEV4dGVybmFsUmVz
b3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpCiAgICAgICAgIEFOSU1B
VEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJT05TKFNWR0ZpdFRvVmlld0JveCwgRmxvYXRS
ZWN0LCBWaWV3Qm94LCB2aWV3Qm94KQotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJE
X0RFQ0xBUkFUSU9OUyhTVkdGaXRUb1ZpZXdCb3gsIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8qLCBQ
cmVzZXJ2ZUFzcGVjdFJhdGlvLCBwcmVzZXJ2ZUFzcGVjdFJhdGlvKQorICAgICAgICBBTklNQVRF
RF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OU19SRUZDT1VOVEVEKFNWR0ZpdFRvVmlld0Jv
eCwgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbywgUHJlc2VydmVBc3BlY3RSYXRpbywgcHJlc2VydmVB
c3BlY3RSYXRpbykKIAotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZH
UGF0dGVybkVsZW1lbnQsIFNWR0xlbmd0aCwgU1ZHTGVuZ3RoLCBYLCB4KQotICAgICAgICBBTklN
QVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHUGF0dGVybkVsZW1lbnQsIFNWR0xlbmd0aCwg
U1ZHTGVuZ3RoLCBZLCB5KQotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMo
U1ZHUGF0dGVybkVsZW1lbnQsIFNWR0xlbmd0aCwgU1ZHTGVuZ3RoLCBXaWR0aCwgd2lkdGgpCi0g
ICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdQYXR0ZXJuRWxlbWVudCwg
U1ZHTGVuZ3RoLCBTVkdMZW5ndGgsIEhlaWdodCwgaGVpZ2h0KQotICAgICAgICBBTklNQVRFRF9Q
Uk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHUGF0dGVybkVsZW1lbnQsIGludCwgaW50LCBQYXR0ZXJu
VW5pdHMsIHBhdHRlcm5Vbml0cykKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJ
T05TKFNWR1BhdHRlcm5FbGVtZW50LCBpbnQsIGludCwgUGF0dGVybkNvbnRlbnRVbml0cywgcGF0
dGVybkNvbnRlbnRVbml0cykKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05T
KFNWR1BhdHRlcm5FbGVtZW50LCBTVkdUcmFuc2Zvcm1MaXN0KiwgUmVmUHRyPFNWR1RyYW5zZm9y
bUxpc3Q+LCBQYXR0ZXJuVHJhbnNmb3JtLCBwYXR0ZXJuVHJhbnNmb3JtKQorICAgICAgICBBTklN
QVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHUGF0dGVybkVsZW1lbnQsIFNWR0xlbmd0aCwg
WCwgeCkKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR1BhdHRlcm5F
bGVtZW50LCBTVkdMZW5ndGgsIFksIHkpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xB
UkFUSU9OUyhTVkdQYXR0ZXJuRWxlbWVudCwgU1ZHTGVuZ3RoLCBXaWR0aCwgd2lkdGgpCisgICAg
ICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdQYXR0ZXJuRWxlbWVudCwgU1ZH
TGVuZ3RoLCBIZWlnaHQsIGhlaWdodCkKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFS
QVRJT05TKFNWR1BhdHRlcm5FbGVtZW50LCBpbnQsIFBhdHRlcm5Vbml0cywgcGF0dGVyblVuaXRz
KQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHUGF0dGVybkVsZW1l
bnQsIGludCwgUGF0dGVybkNvbnRlbnRVbml0cywgcGF0dGVybkNvbnRlbnRVbml0cykKKyAgICAg
ICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TX1JFRkNPVU5URUQoU1ZHUGF0dGVybkVs
ZW1lbnQsIFNWR1RyYW5zZm9ybUxpc3QsIFBhdHRlcm5UcmFuc2Zvcm0sIHBhdHRlcm5UcmFuc2Zv
cm0pCiAKICAgICAgICAgbXV0YWJsZSBSZWZQdHI8U1ZHUGFpbnRTZXJ2ZXJQYXR0ZXJuPiBtX3Jl
c291cmNlOwogCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLmNwcAkocmV2
aXNpb24gMzUwMDYpCisrKyBXZWJDb3JlL3N2Zy9TVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMjAyLDYgKzIwMiw1OSBAQCBBZmZpbmVUcmFuc2Zvcm0gU1ZHUHJl
c2VydmVBc3BlY3RSYXRpbzo6CiAgICAgcmV0dXJuIHRlbXA7CiB9CiAKK1N0cmluZyBTVkdQcmVz
ZXJ2ZUFzcGVjdFJhdGlvOjp2YWx1ZUFzU3RyaW5nKCkgY29uc3QKK3sKKyAgICBTdHJpbmcgcmVz
dWx0OworCisgICAgc3dpdGNoICgoU1ZHUHJlc2VydmVBc3BlY3RSYXRpb1R5cGUpIGFsaWduKCkp
IHsKKyAgICBkZWZhdWx0OgorICAgIGNhc2UgU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fTk9ORToK
KyAgICAgICAgcmVzdWx0ID0gIm5vbmUiOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFNWR19Q
UkVTRVJWRUFTUEVDVFJBVElPX1hNSU5ZTUlOOgorICAgICAgICByZXN1bHQgPSAieE1pbllNaW4i
OworICAgICAgICBicmVhazsKKyAgICBjYXNlIFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNSURZ
TUlOOgorICAgICAgICByZXN1bHQgPSAieE1pZFlNaW4iOworICAgICAgICBicmVhazsKKyAgICBj
YXNlIFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNQVhZTUlOOgorICAgICAgICByZXN1bHQgPSAi
eE1heFlNaW4iOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFNWR19QUkVTRVJWRUFTUEVDVFJB
VElPX1hNSU5ZTUlEOgorICAgICAgICByZXN1bHQgPSAieE1pbllNaWQiOworICAgICAgICBicmVh
azsKKyAgICBjYXNlIFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNSURZTUlEOgorICAgICAgICBy
ZXN1bHQgPSAieE1pZFlNaWQiOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFNWR19QUkVTRVJW
RUFTUEVDVFJBVElPX1hNQVhZTUlEOgorICAgICAgICByZXN1bHQgPSAieE1heFlNaWQiOworICAg
ICAgICBicmVhazsKKyAgICBjYXNlIFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNSU5ZTUFYOgor
ICAgICAgICByZXN1bHQgPSAieE1pbllNYXgiOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFNW
R19QUkVTRVJWRUFTUEVDVFJBVElPX1hNSURZTUFYOgorICAgICAgICByZXN1bHQgPSAieE1pZFlN
YXgiOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hN
QVhZTUFYOgorICAgICAgICByZXN1bHQgPSAieE1heFlNYXgiOworICAgICAgICBicmVhazsKKyAg
ICB9OworCisgICAgc3dpdGNoICgoU1ZHTWVldE9yU2xpY2VUeXBlKSBtZWV0T3JTbGljZSgpKSB7
CisgICAgZGVmYXVsdDoKKyAgICBjYXNlIFNWR19NRUVUT1JTTElDRV9VTktOT1dOOgorICAgICAg
ICBicmVhazsKKyAgICBjYXNlIFNWR19NRUVUT1JTTElDRV9NRUVUOgorICAgICAgICByZXN1bHQg
Kz0gIiBtZWV0IjsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBTVkdfTUVFVE9SU0xJQ0VfU0xJ
Q0U6CisgICAgICAgIHJlc3VsdCArPSAiIHNsaWNlIjsKKyAgICAgICAgYnJlYWs7CisgICAgfTsK
KworICAgIHJldHVybiByZXN1bHQ7Cit9CisKIH0KIAogI2VuZGlmIC8vIEVOQUJMRShTVkcpCklu
ZGV4OiBXZWJDb3JlL3N2Zy9TVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9zdmcvU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5oCShyZXZpc2lvbiAzNTAwNikKKysr
IFdlYkNvcmUvc3ZnL1NWR1ByZXNlcnZlQXNwZWN0UmF0aW8uaAkod29ya2luZyBjb3B5KQpAQCAt
NzQsNiArNzQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgLy8gSGVscGVyCiAg
ICAgICAgIGJvb2wgcGFyc2VQcmVzZXJ2ZUFzcGVjdFJhdGlvKGNvbnN0IFVDaGFyKiYgY3VyclBh
cmFtLCBjb25zdCBVQ2hhciogZW5kLCBib29sIHZhbGlkYXRlID0gdHJ1ZSk7CisgICAgICAgIFN0
cmluZyB2YWx1ZUFzU3RyaW5nKCkgY29uc3Q7CiAKICAgICAgICAgY29uc3QgUXVhbGlmaWVkTmFt
ZSYgYXNzb2NpYXRlZEF0dHJpYnV0ZU5hbWUoKSBjb25zdCB7IHJldHVybiBTVkdOYW1lczo6cHJl
c2VydmVBc3BlY3RSYXRpb0F0dHI7IH0KIApJbmRleDogV2ViQ29yZS9zdmcvU1ZHUmFkaWFsR3Jh
ZGllbnRFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdSYWRpYWxHcmFk
aWVudEVsZW1lbnQuY3BwCShyZXZpc2lvbiAzNTAwNikKKysrIFdlYkNvcmUvc3ZnL1NWR1JhZGlh
bEdyYWRpZW50RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU3LDExICs1NywxMSBAQCBT
VkdSYWRpYWxHcmFkaWVudEVsZW1lbnQ6On5TVkdSYWRpYWxHcmFkCiB7CiB9CiAKLUFOSU1BVEVE
X1BST1BFUlRZX0RFRklOSVRJT05TKFNWR1JhZGlhbEdyYWRpZW50RWxlbWVudCwgU1ZHTGVuZ3Ro
LCBMZW5ndGgsIGxlbmd0aCwgQ3gsIGN4LCBTVkdOYW1lczo6Y3hBdHRyLCBtX2N4KQotQU5JTUFU
RURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50LCBTVkdMZW5n
dGgsIExlbmd0aCwgbGVuZ3RoLCBDeSwgY3ksIFNWR05hbWVzOjpjeUF0dHIsIG1fY3kpCi1BTklN
QVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQsIFNWR0xl
bmd0aCwgTGVuZ3RoLCBsZW5ndGgsIEZ4LCBmeCwgU1ZHTmFtZXM6OmZ4QXR0ciwgbV9meCkKLUFO
SU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR1JhZGlhbEdyYWRpZW50RWxlbWVudCwgU1ZH
TGVuZ3RoLCBMZW5ndGgsIGxlbmd0aCwgRnksIGZ5LCBTVkdOYW1lczo6ZnlBdHRyLCBtX2Z5KQot
QU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50LCBT
VkdMZW5ndGgsIExlbmd0aCwgbGVuZ3RoLCBSLCByLCBTVkdOYW1lczo6ckF0dHIsIG1fcikKK0FO
SU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR1JhZGlhbEdyYWRpZW50RWxlbWVudCwgU1ZH
TGVuZ3RoLCBDeCwgY3gsIFNWR05hbWVzOjpjeEF0dHIpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJ
TklUSU9OUyhTVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQsIFNWR0xlbmd0aCwgQ3ksIGN5LCBTVkdO
YW1lczo6Y3lBdHRyKQorQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHUmFkaWFsR3Jh
ZGllbnRFbGVtZW50LCBTVkdMZW5ndGgsIEZ4LCBmeCwgU1ZHTmFtZXM6OmZ4QXR0cikKK0FOSU1B
VEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR1JhZGlhbEdyYWRpZW50RWxlbWVudCwgU1ZHTGVu
Z3RoLCBGeSwgZnksIFNWR05hbWVzOjpmeUF0dHIpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklU
SU9OUyhTVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQsIFNWR0xlbmd0aCwgUiwgciwgU1ZHTmFtZXM6
OnJBdHRyKQogCiB2b2lkIFNWR1JhZGlhbEdyYWRpZW50RWxlbWVudDo6cGFyc2VNYXBwZWRBdHRy
aWJ1dGUoTWFwcGVkQXR0cmlidXRlKiBhdHRyKQogewpJbmRleDogV2ViQ29yZS9zdmcvU1ZHUmFk
aWFsR3JhZGllbnRFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHUmFkaWFs
R3JhZGllbnRFbGVtZW50LmgJKHJldmlzaW9uIDM1MDA2KQorKysgV2ViQ29yZS9zdmcvU1ZHUmFk
aWFsR3JhZGllbnRFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTQ5LDExICs0OSwxMSBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgY29uc3QgU1ZHRWxlbWVudCogY29u
dGV4dEVsZW1lbnQoKSBjb25zdCB7IHJldHVybiB0aGlzOyB9CiAKICAgICBwcml2YXRlOgotICAg
ICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHUmFkaWFsR3JhZGllbnRFbGVt
ZW50LCBTVkdMZW5ndGgsIFNWR0xlbmd0aCwgQ3gsIGN4KQotICAgICAgICBBTklNQVRFRF9QUk9Q
RVJUWV9ERUNMQVJBVElPTlMoU1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50LCBTVkdMZW5ndGgsIFNW
R0xlbmd0aCwgQ3ksIGN5KQotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMo
U1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50LCBTVkdMZW5ndGgsIFNWR0xlbmd0aCwgUiwgcikKLSAg
ICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR1JhZGlhbEdyYWRpZW50RWxl
bWVudCwgU1ZHTGVuZ3RoLCBTVkdMZW5ndGgsIEZ4LCBmeCkKLSAgICAgICAgQU5JTUFURURfUFJP
UEVSVFlfREVDTEFSQVRJT05TKFNWR1JhZGlhbEdyYWRpZW50RWxlbWVudCwgU1ZHTGVuZ3RoLCBT
VkdMZW5ndGgsIEZ5LCBmeSkKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05T
KFNWR1JhZGlhbEdyYWRpZW50RWxlbWVudCwgU1ZHTGVuZ3RoLCBDeCwgY3gpCisgICAgICAgIEFO
SU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQsIFNW
R0xlbmd0aCwgQ3ksIGN5KQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMo
U1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50LCBTVkdMZW5ndGgsIFIsIHIpCisgICAgICAgIEFOSU1B
VEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQsIFNWR0xl
bmd0aCwgRngsIGZ4KQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZH
UmFkaWFsR3JhZGllbnRFbGVtZW50LCBTVkdMZW5ndGgsIEZ5LCBmeSkKICAgICB9OwogCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdSZWN0RWxlbWVudC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHUmVjdEVsZW1lbnQuY3BwCShyZXZpc2lvbiAz
NTAwNikKKysrIFdlYkNvcmUvc3ZnL1NWR1JlY3RFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNDksMTIgKzQ5LDEyIEBAIFNWR1JlY3RFbGVtZW50Ojp+U1ZHUmVjdEVsZW1lbnQoKQogewog
fQogCi1BTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdSZWN0RWxlbWVudCwgU1ZHTGVu
Z3RoLCBMZW5ndGgsIGxlbmd0aCwgWCwgeCwgU1ZHTmFtZXM6OnhBdHRyLCBtX3gpCi1BTklNQVRF
RF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdSZWN0RWxlbWVudCwgU1ZHTGVuZ3RoLCBMZW5ndGgs
IGxlbmd0aCwgWSwgeSwgU1ZHTmFtZXM6OnlBdHRyLCBtX3kpCi1BTklNQVRFRF9QUk9QRVJUWV9E
RUZJTklUSU9OUyhTVkdSZWN0RWxlbWVudCwgU1ZHTGVuZ3RoLCBMZW5ndGgsIGxlbmd0aCwgV2lk
dGgsIHdpZHRoLCBTVkdOYW1lczo6d2lkdGhBdHRyLCBtX3dpZHRoKQotQU5JTUFURURfUFJPUEVS
VFlfREVGSU5JVElPTlMoU1ZHUmVjdEVsZW1lbnQsIFNWR0xlbmd0aCwgTGVuZ3RoLCBsZW5ndGgs
IEhlaWdodCwgaGVpZ2h0LCBTVkdOYW1lczo6aGVpZ2h0QXR0ciwgbV9oZWlnaHQpCi1BTklNQVRF
RF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdSZWN0RWxlbWVudCwgU1ZHTGVuZ3RoLCBMZW5ndGgs
IGxlbmd0aCwgUngsIHJ4LCBTVkdOYW1lczo6cnhBdHRyLCBtX3J4KQotQU5JTUFURURfUFJPUEVS
VFlfREVGSU5JVElPTlMoU1ZHUmVjdEVsZW1lbnQsIFNWR0xlbmd0aCwgTGVuZ3RoLCBsZW5ndGgs
IFJ5LCByeSwgU1ZHTmFtZXM6OnJ5QXR0ciwgbV9yeSkKK0FOSU1BVEVEX1BST1BFUlRZX0RFRklO
SVRJT05TKFNWR1JlY3RFbGVtZW50LCBTVkdMZW5ndGgsIFgsIHgsIFNWR05hbWVzOjp4QXR0cikK
K0FOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR1JlY3RFbGVtZW50LCBTVkdMZW5ndGgs
IFksIHksIFNWR05hbWVzOjp5QXR0cikKK0FOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNW
R1JlY3RFbGVtZW50LCBTVkdMZW5ndGgsIFdpZHRoLCB3aWR0aCwgU1ZHTmFtZXM6OndpZHRoQXR0
cikKK0FOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR1JlY3RFbGVtZW50LCBTVkdMZW5n
dGgsIEhlaWdodCwgaGVpZ2h0LCBTVkdOYW1lczo6aGVpZ2h0QXR0cikKK0FOSU1BVEVEX1BST1BF
UlRZX0RFRklOSVRJT05TKFNWR1JlY3RFbGVtZW50LCBTVkdMZW5ndGgsIFJ4LCByeCwgU1ZHTmFt
ZXM6OnJ4QXR0cikKK0FOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR1JlY3RFbGVtZW50
LCBTVkdMZW5ndGgsIFJ5LCByeSwgU1ZHTmFtZXM6OnJ5QXR0cikKIAogdm9pZCBTVkdSZWN0RWxl
bWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoTWFwcGVkQXR0cmlidXRlKiBhdHRyKQogewpJbmRl
eDogV2ViQ29yZS9zdmcvU1ZHUmVjdEVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2
Zy9TVkdSZWN0RWxlbWVudC5oCShyZXZpc2lvbiAzNTAwNikKKysrIFdlYkNvcmUvc3ZnL1NWR1Jl
Y3RFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTUzLDEyICs1MywxMiBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgcHJpdmF0ZToKICAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FS
RF9ERUNMQVJBVElPTlMoU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgYm9vbCwgRXh0ZXJu
YWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkKIAotICAgICAg
ICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHUmVjdEVsZW1lbnQsIFNWR0xlbmd0
aCwgU1ZHTGVuZ3RoLCBYLCB4KQotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElP
TlMoU1ZHUmVjdEVsZW1lbnQsIFNWR0xlbmd0aCwgU1ZHTGVuZ3RoLCBZLCB5KQotICAgICAgICBB
TklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHUmVjdEVsZW1lbnQsIFNWR0xlbmd0aCwg
U1ZHTGVuZ3RoLCBXaWR0aCwgd2lkdGgpCi0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xB
UkFUSU9OUyhTVkdSZWN0RWxlbWVudCwgU1ZHTGVuZ3RoLCBTVkdMZW5ndGgsIEhlaWdodCwgaGVp
Z2h0KQotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHUmVjdEVsZW1l
bnQsIFNWR0xlbmd0aCwgU1ZHTGVuZ3RoLCBSeCwgcngpCi0gICAgICAgIEFOSU1BVEVEX1BST1BF
UlRZX0RFQ0xBUkFUSU9OUyhTVkdSZWN0RWxlbWVudCwgU1ZHTGVuZ3RoLCBTVkdMZW5ndGgsIFJ5
LCByeSkKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR1JlY3RFbGVt
ZW50LCBTVkdMZW5ndGgsIFgsIHgpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFU
SU9OUyhTVkdSZWN0RWxlbWVudCwgU1ZHTGVuZ3RoLCBZLCB5KQorICAgICAgICBBTklNQVRFRF9Q
Uk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHUmVjdEVsZW1lbnQsIFNWR0xlbmd0aCwgV2lkdGgsIHdp
ZHRoKQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHUmVjdEVsZW1l
bnQsIFNWR0xlbmd0aCwgSGVpZ2h0LCBoZWlnaHQpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZ
X0RFQ0xBUkFUSU9OUyhTVkdSZWN0RWxlbWVudCwgU1ZHTGVuZ3RoLCBSeCwgcngpCisgICAgICAg
IEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdSZWN0RWxlbWVudCwgU1ZHTGVuZ3Ro
LCBSeSwgcnkpCiAgICAgfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogV2ViQ29y
ZS9zdmcvU1ZHU1ZHRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHU1ZH
RWxlbWVudC5jcHAJKHJldmlzaW9uIDM1MDA2KQorKysgV2ViQ29yZS9zdmcvU1ZHU1ZHRWxlbWVu
dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTg0LDEwICs4NCwxMCBAQCBTVkdTVkdFbGVtZW50Ojp+
U1ZHU1ZHRWxlbWVudCgpCiAgICAgZG9jdW1lbnQoKS0+YWNjZXNzU1ZHRXh0ZW5zaW9ucygpLT5y
ZW1vdmVUaW1lQ29udGFpbmVyKHRoaXMpOwogfQogCi1BTklNQVRFRF9QUk9QRVJUWV9ERUZJTklU
SU9OUyhTVkdTVkdFbGVtZW50LCBTVkdMZW5ndGgsIExlbmd0aCwgbGVuZ3RoLCBYLCB4LCBTVkdO
YW1lczo6eEF0dHIsIG1feCkKLUFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR1NWR0Vs
ZW1lbnQsIFNWR0xlbmd0aCwgTGVuZ3RoLCBsZW5ndGgsIFksIHksIFNWR05hbWVzOjp5QXR0ciwg
bV95KQotQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHU1ZHRWxlbWVudCwgU1ZHTGVu
Z3RoLCBMZW5ndGgsIGxlbmd0aCwgV2lkdGgsIHdpZHRoLCBTVkdOYW1lczo6d2lkdGhBdHRyLCBt
X3dpZHRoKQotQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHU1ZHRWxlbWVudCwgU1ZH
TGVuZ3RoLCBMZW5ndGgsIGxlbmd0aCwgSGVpZ2h0LCBoZWlnaHQsIFNWR05hbWVzOjpoZWlnaHRB
dHRyLCBtX2hlaWdodCkKK0FOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR1NWR0VsZW1l
bnQsIFNWR0xlbmd0aCwgWCwgeCwgU1ZHTmFtZXM6OnhBdHRyKQorQU5JTUFURURfUFJPUEVSVFlf
REVGSU5JVElPTlMoU1ZHU1ZHRWxlbWVudCwgU1ZHTGVuZ3RoLCBZLCB5LCBTVkdOYW1lczo6eUF0
dHIpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdTVkdFbGVtZW50LCBTVkdMZW5n
dGgsIFdpZHRoLCB3aWR0aCwgU1ZHTmFtZXM6OndpZHRoQXR0cikKK0FOSU1BVEVEX1BST1BFUlRZ
X0RFRklOSVRJT05TKFNWR1NWR0VsZW1lbnQsIFNWR0xlbmd0aCwgSGVpZ2h0LCBoZWlnaHQsIFNW
R05hbWVzOjpoZWlnaHRBdHRyKQogCiBjb25zdCBBdG9taWNTdHJpbmcmIFNWR1NWR0VsZW1lbnQ6
OmNvbnRlbnRTY3JpcHRUeXBlKCkgY29uc3QKIHsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR1NWR0Vs
ZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdTVkdFbGVtZW50LmgJKHJldmlz
aW9uIDM1MDA2KQorKysgV2ViQ29yZS9zdmcvU1ZHU1ZHRWxlbWVudC5oCSh3b3JraW5nIGNvcHkp
CkBAIC0xNDksMTIgKzE0OSwxMiBAQCBuYW1lc3BhY2UgV2ViQ29yZQogCiAgICAgICAgIEFOSU1B
VEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJT05TKFNWR0V4dGVybmFsUmVzb3VyY2VzUmVx
dWlyZWQsIGJvb2wsIEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2Vz
UmVxdWlyZWQpCiAgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJT05T
KFNWR0ZpdFRvVmlld0JveCwgRmxvYXRSZWN0LCBWaWV3Qm94LCB2aWV3Qm94KQotICAgICAgICBB
TklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdGaXRUb1ZpZXdCb3gsIFNW
R1ByZXNlcnZlQXNwZWN0UmF0aW8qLCBQcmVzZXJ2ZUFzcGVjdFJhdGlvLCBwcmVzZXJ2ZUFzcGVj
dFJhdGlvKQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OU19S
RUZDT1VOVEVEKFNWR0ZpdFRvVmlld0JveCwgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbywgUHJlc2Vy
dmVBc3BlY3RSYXRpbywgcHJlc2VydmVBc3BlY3RSYXRpbykKIAotICAgICAgICBBTklNQVRFRF9Q
Uk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHU1ZHRWxlbWVudCwgU1ZHTGVuZ3RoLCBTVkdMZW5ndGgs
IFgsIHgpCi0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdTVkdFbGVt
ZW50LCBTVkdMZW5ndGgsIFNWR0xlbmd0aCwgWSwgeSkKLSAgICAgICAgQU5JTUFURURfUFJPUEVS
VFlfREVDTEFSQVRJT05TKFNWR1NWR0VsZW1lbnQsIFNWR0xlbmd0aCwgU1ZHTGVuZ3RoLCBXaWR0
aCwgd2lkdGgpCi0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdTVkdF
bGVtZW50LCBTVkdMZW5ndGgsIFNWR0xlbmd0aCwgSGVpZ2h0LCBoZWlnaHQpCisgICAgICAgIEFO
SU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdTVkdFbGVtZW50LCBTVkdMZW5ndGgsIFgs
IHgpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdTVkdFbGVtZW50
LCBTVkdMZW5ndGgsIFksIHkpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9O
UyhTVkdTVkdFbGVtZW50LCBTVkdMZW5ndGgsIFdpZHRoLCB3aWR0aCkKKyAgICAgICAgQU5JTUFU
RURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR1NWR0VsZW1lbnQsIFNWR0xlbmd0aCwgSGVpZ2h0
LCBoZWlnaHQpCiAgICAgICAgIAogICAgICAgICB2aXJ0dWFsIHZvaWQgd2lsbFNhdmVUb0NhY2hl
KCk7CiAgICAgICAgIHZpcnR1YWwgdm9pZCB3aWxsUmVzdG9yZUZyb21DYWNoZSgpOwpJbmRleDog
V2ViQ29yZS9zdmcvU1ZHU2NyaXB0RWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3Zn
L1NWR1NjcmlwdEVsZW1lbnQuaAkocmV2aXNpb24gMzUwMDYpCisrKyBXZWJDb3JlL3N2Zy9TVkdT
Y3JpcHRFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTUxLDYgKzUxLDcgQEAgbmFtZXNwYWNl
IFdlYkNvcmUKICAgICAgICAgdmlydHVhbCBjb25zdCBTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVu
dCgpIGNvbnN0IHsgcmV0dXJuIHRoaXM7IH0KIAogICAgIHByaXZhdGU6CisgICAgICAgIEFOSU1B
VEVEX1BST1BFUlRZX1NUQVJUX0RFQ0xBUkFUSU9OUwogICAgICAgICBBTklNQVRFRF9QUk9QRVJU
WV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdVUklSZWZlcmVuY2UsIFN0cmluZywgSHJlZiwgaHJl
ZikKICAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHRXh0
ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgYm9vbCwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwg
ZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkKIApJbmRleDogV2ViQ29yZS9zdmcvU1ZHU3RvcEVs
ZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR1N0b3BFbGVtZW50LmNwcAko
cmV2aXNpb24gMzUwMDYpCisrKyBXZWJDb3JlL3N2Zy9TVkdTdG9wRWxlbWVudC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTQyLDcgKzQyLDcgQEAgU1ZHU3RvcEVsZW1lbnQ6On5TVkdTdG9wRWxlbWVu
dCgpCiB7CiB9CiAKLUFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR1N0b3BFbGVtZW50
LCBmbG9hdCwgTnVtYmVyLCBudW1iZXIsIE9mZnNldCwgb2Zmc2V0LCBTVkdOYW1lczo6b2Zmc2V0
QXR0ciwgbV9vZmZzZXQpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdTdG9wRWxl
bWVudCwgZmxvYXQsIE9mZnNldCwgb2Zmc2V0LCBTVkdOYW1lczo6b2Zmc2V0QXR0cikKIAogdm9p
ZCBTVkdTdG9wRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoTWFwcGVkQXR0cmlidXRlKiBh
dHRyKQogewpJbmRleDogV2ViQ29yZS9zdmcvU1ZHU3RvcEVsZW1lbnQuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL3N2Zy9TVkdTdG9wRWxlbWVudC5oCShyZXZpc2lvbiAzNTAwNikKKysrIFdlYkNv
cmUvc3ZnL1NWR1N0b3BFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTQwLDcgKzQwLDcgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIFJlbmRlck9iamVjdCogY3JlYXRl
UmVuZGVyZXIoUmVuZGVyQXJlbmEqLCBSZW5kZXJTdHlsZSopOwogCiAgICAgcHJpdmF0ZToKLSAg
ICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR1N0b3BFbGVtZW50LCBmbG9h
dCwgZmxvYXQsIE9mZnNldCwgb2Zmc2V0KQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNM
QVJBVElPTlMoU1ZHU3RvcEVsZW1lbnQsIGZsb2F0LCBPZmZzZXQsIG9mZnNldCkKICAgICB9Owog
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdTdHlsZWRFbGVt
ZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdTdHlsZWRFbGVtZW50LmNwcAko
cmV2aXNpb24gMzUwMDYpCisrKyBXZWJDb3JlL3N2Zy9TVkdTdHlsZWRFbGVtZW50LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNTQsNyArNTQsNyBAQCBTVkdTdHlsZWRFbGVtZW50Ojp+U1ZHU3R5bGVk
RWxlbWVudCgpCiAgICAgU1ZHUmVzb3VyY2U6OnJlbW92ZUNsaWVudCh0aGlzKTsKIH0KIAotQU5J
TUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHU3R5bGVkRWxlbWVudCwgU3RyaW5nLCBTdHJp
bmcsIHN0cmluZywgQ2xhc3NOYW1lLCBjbGFzc05hbWUsIEhUTUxOYW1lczo6Y2xhc3NBdHRyLCBt
X2NsYXNzTmFtZSkKK0FOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR1N0eWxlZEVsZW1l
bnQsIFN0cmluZywgQ2xhc3NOYW1lLCBjbGFzc05hbWUsIEhUTUxOYW1lczo6Y2xhc3NBdHRyKQog
CiBib29sIFNWR1N0eWxlZEVsZW1lbnQ6OnJlbmRlcmVySXNOZWVkZWQoUmVuZGVyU3R5bGUqIHN0
eWxlKQogewpJbmRleDogV2ViQ29yZS9zdmcvU1ZHU3R5bGVkRWxlbWVudC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvc3ZnL1NWR1N0eWxlZEVsZW1lbnQuaAkocmV2aXNpb24gMzUwMDYpCisrKyBX
ZWJDb3JlL3N2Zy9TVkdTdHlsZWRFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTcxLDcgKzcx
LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBzdGF0aWMgaW50IGNzc1Byb3BlcnR5
SWRGb3JTVkdBdHRyaWJ1dGVOYW1lKGNvbnN0IFF1YWxpZmllZE5hbWUmKTsKIAogICAgIHByaXZh
dGU6Ci0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdTdHlsZWRFbGVt
ZW50LCBTdHJpbmcsIFN0cmluZywgQ2xhc3NOYW1lLCBjbGFzc05hbWUpCisgICAgICAgIEFOSU1B
VEVEX1BST1BFUlRZX1NUQVJUX0RFQ0xBUkFUSU9OUworICAgICAgICBBTklNQVRFRF9QUk9QRVJU
WV9ERUNMQVJBVElPTlMoU1ZHU3R5bGVkRWxlbWVudCwgU3RyaW5nLCBDbGFzc05hbWUsIGNsYXNz
TmFtZSkKIAogICAgICAgICB2b2lkIHVwZGF0ZUVsZW1lbnRJbnN0YW5jZShTVkdEb2N1bWVudEV4
dGVuc2lvbnMqKSBjb25zdDsKICAgICB9OwpJbmRleDogV2ViQ29yZS9zdmcvU1ZHU3R5bGVkVHJh
bnNmb3JtYWJsZUVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR1N0eWxl
ZFRyYW5zZm9ybWFibGVFbGVtZW50LmNwcAkocmV2aXNpb24gMzUwMDYpCisrKyBXZWJDb3JlL3N2
Zy9TVkdTdHlsZWRUcmFuc2Zvcm1hYmxlRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ2
LDcgKzQ2LDcgQEAgU1ZHU3R5bGVkVHJhbnNmb3JtYWJsZUVsZW1lbnQ6On5TVkdTdHlsZQogewog
fQogCi1BTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdTdHlsZWRUcmFuc2Zvcm1hYmxl
RWxlbWVudCwgU1ZHVHJhbnNmb3JtTGlzdCosIFRyYW5zZm9ybUxpc3QsIHRyYW5zZm9ybUxpc3Qs
IFRyYW5zZm9ybSwgdHJhbnNmb3JtLCBTVkdOYW1lczo6dHJhbnNmb3JtQXR0ciwgbV90cmFuc2Zv
cm0uZ2V0KCkpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OU19SRUZDT1VOVEVEKFNWR1N0
eWxlZFRyYW5zZm9ybWFibGVFbGVtZW50LCBTVkdUcmFuc2Zvcm1MaXN0LCBUcmFuc2Zvcm0sIHRy
YW5zZm9ybSwgU1ZHTmFtZXM6OnRyYW5zZm9ybUF0dHIpCiAKIEFmZmluZVRyYW5zZm9ybSBTVkdT
dHlsZWRUcmFuc2Zvcm1hYmxlRWxlbWVudDo6Z2V0Q1RNKCkgY29uc3QKIHsKSW5kZXg6IFdlYkNv
cmUvc3ZnL1NWR1N0eWxlZFRyYW5zZm9ybWFibGVFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9zdmcvU1ZHU3R5bGVkVHJhbnNmb3JtYWJsZUVsZW1lbnQuaAkocmV2aXNpb24gMzUwMDYp
CisrKyBXZWJDb3JlL3N2Zy9TVkdTdHlsZWRUcmFuc2Zvcm1hYmxlRWxlbWVudC5oCSh3b3JraW5n
IGNvcHkpCkBAIC01OSw3ICs1OSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmly
dHVhbCBSZW5kZXJPYmplY3QqIGNyZWF0ZVJlbmRlcmVyKFJlbmRlckFyZW5hKiwgUmVuZGVyU3R5
bGUqKTsKIAogICAgIHByb3RlY3RlZDoKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFS
QVRJT05TKFNWR1N0eWxlZFRyYW5zZm9ybWFibGVFbGVtZW50LCBTVkdUcmFuc2Zvcm1MaXN0Kiwg
UmVmUHRyPFNWR1RyYW5zZm9ybUxpc3Q+LCBUcmFuc2Zvcm0sIHRyYW5zZm9ybSkKKyAgICAgICAg
QU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TX1JFRkNPVU5URUQoU1ZHU3R5bGVkVHJhbnNm
b3JtYWJsZUVsZW1lbnQsIFNWR1RyYW5zZm9ybUxpc3QsIFRyYW5zZm9ybSwgdHJhbnNmb3JtKQor
CiAgICAgcHJpdmF0ZToKICAgICAgICAgLy8gVXNlZCBieSA8YW5pbWF0ZU1vdGlvbj4KICAgICAg
ICAgT3duUHRyPEFmZmluZVRyYW5zZm9ybT4gbV9zdXBwbGVtZW50YWxUcmFuc2Zvcm07CkluZGV4
OiBXZWJDb3JlL3N2Zy9TVkdTeW1ib2xFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9z
dmcvU1ZHU3ltYm9sRWxlbWVudC5oCShyZXZpc2lvbiAzNTAwNikKKysrIFdlYkNvcmUvc3ZnL1NW
R1N5bWJvbEVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNTAsNyArNTAsNyBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZQogIAogICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFU
SU9OUyhTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBib29sLCBFeHRlcm5hbFJlc291cmNl
c1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKSAgICAgICAKICAgICAgICAgQU5J
TUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHRml0VG9WaWV3Qm94LCBGbG9h
dFJlY3QsIFZpZXdCb3gsIHZpZXdCb3gpCi0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldB
UkRfREVDTEFSQVRJT05TKFNWR0ZpdFRvVmlld0JveCwgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbyos
IFByZXNlcnZlQXNwZWN0UmF0aW8sIHByZXNlcnZlQXNwZWN0UmF0aW8pCisgICAgICAgIEFOSU1B
VEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJT05TX1JFRkNPVU5URUQoU1ZHRml0VG9WaWV3
Qm94LCBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLCBQcmVzZXJ2ZUFzcGVjdFJhdGlvLCBwcmVzZXJ2
ZUFzcGVjdFJhdGlvKQogICAgIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFdl
YkNvcmUvc3ZnL1NWR1RleHRDb250ZW50RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9zdmcvU1ZHVGV4dENvbnRlbnRFbGVtZW50LmNwcAkocmV2aXNpb24gMzUwMDYpCisrKyBXZWJD
b3JlL3N2Zy9TVkdUZXh0Q29udGVudEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NSw4
ICs1NSw4IEBAIFNWR1RleHRDb250ZW50RWxlbWVudDo6flNWR1RleHRDb250ZW50RWwKIHsKIH0K
IAotQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHVGV4dENvbnRlbnRFbGVtZW50LCBT
VkdMZW5ndGgsIExlbmd0aCwgbGVuZ3RoLCBUZXh0TGVuZ3RoLCB0ZXh0TGVuZ3RoLCBTVkdOYW1l
czo6dGV4dExlbmd0aEF0dHIsIG1fdGV4dExlbmd0aCkKLUFOSU1BVEVEX1BST1BFUlRZX0RFRklO
SVRJT05TKFNWR1RleHRDb250ZW50RWxlbWVudCwgaW50LCBFbnVtZXJhdGlvbiwgZW51bWVyYXRp
b24sIExlbmd0aEFkanVzdCwgbGVuZ3RoQWRqdXN0LCBTVkdOYW1lczo6bGVuZ3RoQWRqdXN0QXR0
ciwgbV9sZW5ndGhBZGp1c3QpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdUZXh0
Q29udGVudEVsZW1lbnQsIFNWR0xlbmd0aCwgVGV4dExlbmd0aCwgdGV4dExlbmd0aCwgU1ZHTmFt
ZXM6OnRleHRMZW5ndGhBdHRyKQorQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHVGV4
dENvbnRlbnRFbGVtZW50LCBpbnQsIExlbmd0aEFkanVzdCwgbGVuZ3RoQWRqdXN0LCBTVkdOYW1l
czo6bGVuZ3RoQWRqdXN0QXR0cikKIAogc3RhdGljIGlubGluZSBmbG9hdCBjdW11bGF0aXZlQ2hh
cmFjdGVyUmFuZ2VMZW5ndGgoY29uc3QgVmVjdG9yPFNWR0NoYXI+OjppdGVyYXRvciYgc3RhcnQs
IGNvbnN0IFZlY3RvcjxTVkdDaGFyPjo6aXRlcmF0b3ImIGVuZCwgU1ZHSW5saW5lVGV4dEJveCog
dGV4dEJveCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGludCBzdGFydE9mZnNldCwgbG9uZyBzdGFydFBvc2l0aW9uLCBsb25nIGxlbmd0aCwgYm9v
bCBpc1ZlcnRpY2FsVGV4dCwgbG9uZyYgYXRDaGFyYWN0ZXIpCkluZGV4OiBXZWJDb3JlL3N2Zy9T
VkdUZXh0Q29udGVudEVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdUZXh0
Q29udGVudEVsZW1lbnQuaAkocmV2aXNpb24gMzUwMDYpCisrKyBXZWJDb3JlL3N2Zy9TVkdUZXh0
Q29udGVudEVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNjYsOCArNjYsOCBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgcHJpdmF0ZToKICAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfRk9S
V0FSRF9ERUNMQVJBVElPTlMoU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgYm9vbCwgRXh0
ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkKIAotICAg
ICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHVGV4dENvbnRlbnRFbGVtZW50
LCBTVkdMZW5ndGgsIFNWR0xlbmd0aCwgVGV4dExlbmd0aCwgdGV4dExlbmd0aCkKLSAgICAgICAg
QU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR1RleHRDb250ZW50RWxlbWVudCwgaW50
LCBpbnQsIExlbmd0aEFkanVzdCwgbGVuZ3RoQWRqdXN0KQorICAgICAgICBBTklNQVRFRF9QUk9Q
RVJUWV9ERUNMQVJBVElPTlMoU1ZHVGV4dENvbnRlbnRFbGVtZW50LCBTVkdMZW5ndGgsIFRleHRM
ZW5ndGgsIHRleHRMZW5ndGgpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9O
UyhTVkdUZXh0Q29udGVudEVsZW1lbnQsIGludCwgTGVuZ3RoQWRqdXN0LCBsZW5ndGhBZGp1c3Qp
CiAgICAgfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogV2ViQ29yZS9zdmcvU1ZH
VGV4dEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR1RleHRFbGVtZW50
LmNwcAkocmV2aXNpb24gMzUwMDYpCisrKyBXZWJDb3JlL3N2Zy9TVkdUZXh0RWxlbWVudC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTQ2LDcgKzQ2LDcgQEAgU1ZHVGV4dEVsZW1lbnQ6On5TVkdUZXh0
RWxlbWVudCgpCiB7CiB9CiAKLUFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR1RleHRF
bGVtZW50LCBTVkdUcmFuc2Zvcm1MaXN0KiwgVHJhbnNmb3JtTGlzdCwgdHJhbnNmb3JtTGlzdCwg
VHJhbnNmb3JtLCB0cmFuc2Zvcm0sIFNWR05hbWVzOjp0cmFuc2Zvcm1BdHRyLCBtX3RyYW5zZm9y
bS5nZXQoKSkKK0FOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TX1JFRkNPVU5URUQoU1ZHVGV4
dEVsZW1lbnQsIFNWR1RyYW5zZm9ybUxpc3QsIFRyYW5zZm9ybSwgdHJhbnNmb3JtLCBTVkdOYW1l
czo6dHJhbnNmb3JtQXR0cikKIAogdm9pZCBTVkdUZXh0RWxlbWVudDo6cGFyc2VNYXBwZWRBdHRy
aWJ1dGUoTWFwcGVkQXR0cmlidXRlKiBhdHRyKQogewpJbmRleDogV2ViQ29yZS9zdmcvU1ZHVGV4
dEVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdUZXh0RWxlbWVudC5oCShy
ZXZpc2lvbiAzNTAwNikKKysrIFdlYkNvcmUvc3ZnL1NWR1RleHRFbGVtZW50LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTU1LDcgKzU1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0
dWFsIGNvbnN0IFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gdGhp
czsgfQogCiAgICAgcHJpdmF0ZToKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJ
T05TKFNWR1RleHRFbGVtZW50LCBTVkdUcmFuc2Zvcm1MaXN0KiwgUmVmUHRyPFNWR1RyYW5zZm9y
bUxpc3Q+LCBUcmFuc2Zvcm0sIHRyYW5zZm9ybSkKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlf
REVDTEFSQVRJT05TX1JFRkNPVU5URUQoU1ZHVGV4dEVsZW1lbnQsIFNWR1RyYW5zZm9ybUxpc3Qs
IFRyYW5zZm9ybSwgdHJhbnNmb3JtKQogICAgICAgIAogICAgICAgIC8vIFVzZWQgYnkgPGFuaW1h
dGVNb3Rpb24+CiAgICAgICAgT3duUHRyPEFmZmluZVRyYW5zZm9ybT4gbV9zdXBwbGVtZW50YWxU
cmFuc2Zvcm07CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdUZXh0UGF0aEVsZW1lbnQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR1RleHRQYXRoRWxlbWVudC5jcHAJKHJldmlzaW9uIDM1
MDA2KQorKysgV2ViQ29yZS9zdmcvU1ZHVGV4dFBhdGhFbGVtZW50LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNDgsOSArNDgsOSBAQCBTVkdUZXh0UGF0aEVsZW1lbnQ6On5TVkdUZXh0UGF0aEVsZW1l
bnQoCiB7CiB9CiAKLUFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR1RleHRQYXRoRWxl
bWVudCwgU1ZHTGVuZ3RoLCBMZW5ndGgsIGxlbmd0aCwgU3RhcnRPZmZzZXQsIHN0YXJ0T2Zmc2V0
LCBTVkdOYW1lczo6c3RhcnRPZmZzZXRBdHRyLCBtX3N0YXJ0T2Zmc2V0KQotQU5JTUFURURfUFJP
UEVSVFlfREVGSU5JVElPTlMoU1ZHVGV4dFBhdGhFbGVtZW50LCBpbnQsIEVudW1lcmF0aW9uLCBl
bnVtZXJhdGlvbiwgTWV0aG9kLCBtZXRob2QsIFNWR05hbWVzOjptZXRob2RBdHRyLCBtX21ldGhv
ZCkKLUFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR1RleHRQYXRoRWxlbWVudCwgaW50
LCBFbnVtZXJhdGlvbiwgZW51bWVyYXRpb24sIFNwYWNpbmcsIHNwYWNpbmcsIFNWR05hbWVzOjpz
cGFjaW5nQXR0ciwgbV9zcGFjaW5nKQorQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZH
VGV4dFBhdGhFbGVtZW50LCBTVkdMZW5ndGgsIFN0YXJ0T2Zmc2V0LCBzdGFydE9mZnNldCwgU1ZH
TmFtZXM6OnN0YXJ0T2Zmc2V0QXR0cikKK0FOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNW
R1RleHRQYXRoRWxlbWVudCwgaW50LCBNZXRob2QsIG1ldGhvZCwgU1ZHTmFtZXM6Om1ldGhvZEF0
dHIpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdUZXh0UGF0aEVsZW1lbnQsIGlu
dCwgU3BhY2luZywgc3BhY2luZywgU1ZHTmFtZXM6OnNwYWNpbmdBdHRyKQogCiB2b2lkIFNWR1Rl
eHRQYXRoRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoTWFwcGVkQXR0cmlidXRlKiBhdHRy
KQogewpJbmRleDogV2ViQ29yZS9zdmcvU1ZHVGV4dFBhdGhFbGVtZW50LmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9zdmcvU1ZHVGV4dFBhdGhFbGVtZW50LmgJKHJldmlzaW9uIDM1MDA2KQorKysg
V2ViQ29yZS9zdmcvU1ZHVGV4dFBhdGhFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTcyLDkg
KzcyLDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUKICAgICBwcml2YXRlOgogICAgICAgICBBTklNQVRF
RF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdVUklSZWZlcmVuY2UsIFN0cmluZywg
SHJlZiwgaHJlZikKIAotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZH
VGV4dFBhdGhFbGVtZW50LCBTVkdMZW5ndGgsIFNWR0xlbmd0aCwgU3RhcnRPZmZzZXQsIHN0YXJ0
T2Zmc2V0KQotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHVGV4dFBh
dGhFbGVtZW50LCBpbnQsIGludCwgTWV0aG9kLCBtZXRob2QpCi0gICAgICAgIEFOSU1BVEVEX1BS
T1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdUZXh0UGF0aEVsZW1lbnQsIGludCwgaW50LCBTcGFjaW5n
LCBzcGFjaW5nKQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHVGV4
dFBhdGhFbGVtZW50LCBTVkdMZW5ndGgsIFN0YXJ0T2Zmc2V0LCBzdGFydE9mZnNldCkKKyAgICAg
ICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR1RleHRQYXRoRWxlbWVudCwgaW50
LCBNZXRob2QsIG1ldGhvZCkKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05T
KFNWR1RleHRQYXRoRWxlbWVudCwgaW50LCBTcGFjaW5nLCBzcGFjaW5nKQogICAgIH07CiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR1RleHRQb3NpdGlvbmlu
Z0VsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR1RleHRQb3NpdGlvbmlu
Z0VsZW1lbnQuY3BwCShyZXZpc2lvbiAzNTAwNikKKysrIFdlYkNvcmUvc3ZnL1NWR1RleHRQb3Np
dGlvbmluZ0VsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NSwxMSArNDUsMTEgQEAgU1ZH
VGV4dFBvc2l0aW9uaW5nRWxlbWVudDo6flNWR1RleHRQb3NpdAogewogfQogCi1BTklNQVRFRF9Q
Uk9QRVJUWV9ERUZJTklUSU9OUyhTVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50LCBTVkdMZW5ndGhM
aXN0KiwgTGVuZ3RoTGlzdCwgbGVuZ3RoTGlzdCwgWCwgeCwgU1ZHTmFtZXM6OnhBdHRyLCBtX3gu
Z2V0KCkpCi1BTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdUZXh0UG9zaXRpb25pbmdF
bGVtZW50LCBTVkdMZW5ndGhMaXN0KiwgTGVuZ3RoTGlzdCwgbGVuZ3RoTGlzdCwgWSwgeSwgU1ZH
TmFtZXM6OnlBdHRyLCBtX3kuZ2V0KCkpCi1BTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhT
VkdUZXh0UG9zaXRpb25pbmdFbGVtZW50LCBTVkdMZW5ndGhMaXN0KiwgTGVuZ3RoTGlzdCwgbGVu
Z3RoTGlzdCwgRHgsIGR4LCBTVkdOYW1lczo6ZHhBdHRyLCBtX2R4LmdldCgpKQotQU5JTUFURURf
UFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHVGV4dFBvc2l0aW9uaW5nRWxlbWVudCwgU1ZHTGVuZ3Ro
TGlzdCosIExlbmd0aExpc3QsIGxlbmd0aExpc3QsIER5LCBkeSwgU1ZHTmFtZXM6OmR5QXR0ciwg
bV9keS5nZXQoKSkKLUFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR1RleHRQb3NpdGlv
bmluZ0VsZW1lbnQsIFNWR051bWJlckxpc3QqLCBOdW1iZXJMaXN0LCBudW1iZXJMaXN0LCBSb3Rh
dGUsIHJvdGF0ZSwgU1ZHTmFtZXM6OnJvdGF0ZUF0dHIsIG1fcm90YXRlLmdldCgpKQorQU5JTUFU
RURfUFJPUEVSVFlfREVGSU5JVElPTlNfUkVGQ09VTlRFRChTVkdUZXh0UG9zaXRpb25pbmdFbGVt
ZW50LCBTVkdMZW5ndGhMaXN0LCBYLCB4LCBTVkdOYW1lczo6eEF0dHIpCitBTklNQVRFRF9QUk9Q
RVJUWV9ERUZJTklUSU9OU19SRUZDT1VOVEVEKFNWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQsIFNW
R0xlbmd0aExpc3QsIFksIHksIFNWR05hbWVzOjp5QXR0cikKK0FOSU1BVEVEX1BST1BFUlRZX0RF
RklOSVRJT05TX1JFRkNPVU5URUQoU1ZHVGV4dFBvc2l0aW9uaW5nRWxlbWVudCwgU1ZHTGVuZ3Ro
TGlzdCwgRHgsIGR4LCBTVkdOYW1lczo6ZHhBdHRyKQorQU5JTUFURURfUFJPUEVSVFlfREVGSU5J
VElPTlNfUkVGQ09VTlRFRChTVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50LCBTVkdMZW5ndGhMaXN0
LCBEeSwgZHksIFNWR05hbWVzOjpkeUF0dHIpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9O
U19SRUZDT1VOVEVEKFNWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQsIFNWR051bWJlckxpc3QsIFJv
dGF0ZSwgcm90YXRlLCBTVkdOYW1lczo6cm90YXRlQXR0cikKIAogdm9pZCBTVkdUZXh0UG9zaXRp
b25pbmdFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShNYXBwZWRBdHRyaWJ1dGUqIGF0dHIp
CiB7CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50LmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHVGV4dFBvc2l0aW9uaW5nRWxlbWVudC5oCShyZXZpc2lv
biAzNTAwNikKKysrIFdlYkNvcmUvc3ZnL1NWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQuaAkod29y
a2luZyBjb3B5KQpAQCAtNDEsMTEgKzQxLDExIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAg
ICAgYm9vbCBpc0tub3duQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmKTsKIAogICAgIHBy
aXZhdGU6Ci0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdUZXh0UG9z
aXRpb25pbmdFbGVtZW50LCBTVkdMZW5ndGhMaXN0KiwgUmVmUHRyPFNWR0xlbmd0aExpc3Q+LCBY
LCB4KQotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHVGV4dFBvc2l0
aW9uaW5nRWxlbWVudCwgU1ZHTGVuZ3RoTGlzdCosIFJlZlB0cjxTVkdMZW5ndGhMaXN0PiwgWSwg
eSkKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR1RleHRQb3NpdGlv
bmluZ0VsZW1lbnQsIFNWR0xlbmd0aExpc3QqLCBSZWZQdHI8U1ZHTGVuZ3RoTGlzdD4sIER4LCBk
eCkKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR1RleHRQb3NpdGlv
bmluZ0VsZW1lbnQsIFNWR0xlbmd0aExpc3QqLCBSZWZQdHI8U1ZHTGVuZ3RoTGlzdD4sIER5LCBk
eSkKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR1RleHRQb3NpdGlv
bmluZ0VsZW1lbnQsIFNWR051bWJlckxpc3QqLCBSZWZQdHI8U1ZHTnVtYmVyTGlzdD4sIFJvdGF0
ZSwgcm90YXRlKQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlNfUkVGQ09V
TlRFRChTVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50LCBTVkdMZW5ndGhMaXN0LCBYLCB4KQorICAg
ICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlNfUkVGQ09VTlRFRChTVkdUZXh0UG9z
aXRpb25pbmdFbGVtZW50LCBTVkdMZW5ndGhMaXN0LCBZLCB5KQorICAgICAgICBBTklNQVRFRF9Q
Uk9QRVJUWV9ERUNMQVJBVElPTlNfUkVGQ09VTlRFRChTVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50
LCBTVkdMZW5ndGhMaXN0LCBEeCwgZHgpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xB
UkFUSU9OU19SRUZDT1VOVEVEKFNWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQsIFNWR0xlbmd0aExp
c3QsIER5LCBkeSkKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TX1JFRkNP
VU5URUQoU1ZHVGV4dFBvc2l0aW9uaW5nRWxlbWVudCwgU1ZHTnVtYmVyTGlzdCwgUm90YXRlLCBy
b3RhdGUpCiAgICAgfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogV2ViQ29yZS9z
dmcvU1ZHVHJhbnNmb3JtTGlzdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHVHJh
bnNmb3JtTGlzdC5jcHAJKHJldmlzaW9uIDM1MDA2KQorKysgV2ViQ29yZS9zdmcvU1ZHVHJhbnNm
b3JtTGlzdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTgyLDQgKzgyLDE2IEBAIFNWR1RyYW5zZm9y
bSBTVkdUcmFuc2Zvcm1MaXN0Ojpjb25jYXRlbmEKICAgICByZXR1cm4gdG90YWxUcmFuc2Zvcm0u
YWRkVG9TVkdUcmFuc2Zvcm0oU1ZHVHJhbnNmb3JtKCkpOwogfQogCitTdHJpbmcgU1ZHVHJhbnNm
b3JtTGlzdDo6dmFsdWVBc1N0cmluZygpIGNvbnN0Cit7CisgICAgLy8gVE9ETzogV2UgbWF5IHdh
bnQgdG8gYnVpbGQgYSByZWFsIHRyYW5zZm9ybSBzdHJpbmcsIGluc3RlYWQgb2YgY29uY2F0dGlu
ZyB0byBhIG1hdHJpeCguLi4pLgorICAgIFNWR1RyYW5zZm9ybSB0cmFuc2Zvcm0gPSBjb25jYXRl
bmF0ZSgpOworICAgIGlmICh0cmFuc2Zvcm0udHlwZSgpID09IFNWR1RyYW5zZm9ybTo6U1ZHX1RS
QU5TRk9STV9NQVRSSVgpIHsKKyAgICAgICAgQWZmaW5lVHJhbnNmb3JtIG1hdHJpeCA9IHRyYW5z
Zm9ybS5tYXRyaXgoKTsKKyAgICAgICAgcmV0dXJuIFN0cmluZzo6Zm9ybWF0KCJtYXRyaXgoJWYg
JWYgJWYgJWYgJWYgJWYpIiwgbWF0cml4LmEoKSwgbWF0cml4LmIoKSwgbWF0cml4LmMoKSwgbWF0
cml4LmQoKSwgbWF0cml4LmUoKSwgbWF0cml4LmYoKSk7CisgICAgfQorCisgICAgcmV0dXJuIFN0
cmluZygpOworfQorCiAjZW5kaWYgLy8gRU5BQkxFKFNWRykKSW5kZXg6IFdlYkNvcmUvc3ZnL1NW
R1RyYW5zZm9ybUxpc3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdUcmFuc2Zvcm1M
aXN0LmgJKHJldmlzaW9uIDM1MDA2KQorKysgV2ViQ29yZS9zdmcvU1ZHVHJhbnNmb3JtTGlzdC5o
CSh3b3JraW5nIGNvcHkpCkBAIC0zMCw2ICszMCw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAorICAgIGNsYXNzIFN0cmluZzsKKwogICAgIGNsYXNzIFNWR1RyYW5zZm9ybUxpc3QgOiBwdWJs
aWMgU1ZHUE9ETGlzdDxTVkdUcmFuc2Zvcm0+IHsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRp
YyBQYXNzUmVmUHRyPFNWR1RyYW5zZm9ybUxpc3Q+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1l
JiBhdHRyaWJ1dGVOYW1lKSB7IHJldHVybiBhZG9wdFJlZihuZXcgU1ZHVHJhbnNmb3JtTGlzdChh
dHRyaWJ1dGVOYW1lKSk7IH0KQEAgLTQxLDcgKzQzLDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgICAgICAvLyBJbnRlcm5hbCB1c2Ugb25seQogICAgICAgICBTVkdUcmFuc2Zvcm0gY29uY2F0
ZW5hdGUoKSBjb25zdDsKICAgICAgICAgU1ZHVHJhbnNmb3JtIGNvbmNhdGVuYXRlRm9yVHlwZShT
VkdUcmFuc2Zvcm06OlNWR1RyYW5zZm9ybVR5cGUpIGNvbnN0OwotICAgICAgICAKKyAKKyAgICAg
ICAgU3RyaW5nIHZhbHVlQXNTdHJpbmcoKSBjb25zdDsKKwogICAgIHByaXZhdGU6CiAgICAgICAg
IFNWR1RyYW5zZm9ybUxpc3QoY29uc3QgUXVhbGlmaWVkTmFtZSYpOwogICAgIH07CkluZGV4OiBX
ZWJDb3JlL3N2Zy9TVkdVUklSZWZlcmVuY2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3Zn
L1NWR1VSSVJlZmVyZW5jZS5jcHAJKHJldmlzaW9uIDM1MDA2KQorKysgV2ViQ29yZS9zdmcvU1ZH
VVJJUmVmZXJlbmNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzcsNyArMzcsNyBAQCBTVkdVUklS
ZWZlcmVuY2U6On5TVkdVUklSZWZlcmVuY2UoKQogewogfQogCi1BTklNQVRFRF9QUk9QRVJUWV9E
RUZJTklUSU9OU19XSVRIX0NPTlRFWFQoU1ZHVVJJUmVmZXJlbmNlLCBTdHJpbmcsIFN0cmluZywg
c3RyaW5nLCBIcmVmLCBocmVmLCBYTGlua05hbWVzOjpocmVmQXR0ciwgbV9ocmVmKQorQU5JTUFU
RURfUFJPUEVSVFlfREVGSU5JVElPTlNfV0lUSF9DT05URVhUKFNWR1VSSVJlZmVyZW5jZSwgU3Ry
aW5nLCBIcmVmLCBocmVmLCBYTGlua05hbWVzOjpocmVmQXR0cikKIAogYm9vbCBTVkdVUklSZWZl
cmVuY2U6OnBhcnNlTWFwcGVkQXR0cmlidXRlKE1hcHBlZEF0dHJpYnV0ZSogYXR0cikKIHsKSW5k
ZXg6IFdlYkNvcmUvc3ZnL1NWR1VSSVJlZmVyZW5jZS5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
c3ZnL1NWR1VSSVJlZmVyZW5jZS5oCShyZXZpc2lvbiAzNTAwNikKKysrIFdlYkNvcmUvc3ZnL1NW
R1VSSVJlZmVyZW5jZS5oCSh3b3JraW5nIGNvcHkpCkBAIC00NCw3ICs0NCw3IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVhbCBjb25zdCBTVkdFbGVtZW50KiBjb250ZXh0RWxl
bWVudCgpIGNvbnN0ID0gMDsKIAogICAgIHByaXZhdGU6Ci0gICAgICAgIEFOSU1BVEVEX1BST1BF
UlRZX0RFQ0xBUkFUSU9OU19XSVRIX0NPTlRFWFQoU1ZHVVJJUmVmZXJlbmNlLCBTdHJpbmcsIFN0
cmluZywgSHJlZiwgaHJlZikKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05T
X1dJVEhfQ09OVEVYVChTVkdVUklSZWZlcmVuY2UsIFN0cmluZywgSHJlZiwgaHJlZikKICAgICB9
OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdVc2VFbGVt
ZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdVc2VFbGVtZW50LmNwcAkocmV2
aXNpb24gMzUwMDYpCisrKyBXZWJDb3JlL3N2Zy9TVkdVc2VFbGVtZW50LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNjksMTAgKzY5LDEwIEBAIFNWR1VzZUVsZW1lbnQ6On5TVkdVc2VFbGVtZW50KCkK
IHsKIH0KIAotQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHVXNlRWxlbWVudCwgU1ZH
TGVuZ3RoLCBMZW5ndGgsIGxlbmd0aCwgWCwgeCwgU1ZHTmFtZXM6OnhBdHRyLCBtX3gpCi1BTklN
QVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdVc2VFbGVtZW50LCBTVkdMZW5ndGgsIExlbmd0
aCwgbGVuZ3RoLCBZLCB5LCBTVkdOYW1lczo6eUF0dHIsIG1feSkKLUFOSU1BVEVEX1BST1BFUlRZ
X0RFRklOSVRJT05TKFNWR1VzZUVsZW1lbnQsIFNWR0xlbmd0aCwgTGVuZ3RoLCBsZW5ndGgsIFdp
ZHRoLCB3aWR0aCwgU1ZHTmFtZXM6OndpZHRoQXR0ciwgbV93aWR0aCkKLUFOSU1BVEVEX1BST1BF
UlRZX0RFRklOSVRJT05TKFNWR1VzZUVsZW1lbnQsIFNWR0xlbmd0aCwgTGVuZ3RoLCBsZW5ndGgs
IEhlaWdodCwgaGVpZ2h0LCBTVkdOYW1lczo6aGVpZ2h0QXR0ciwgbV9oZWlnaHQpCitBTklNQVRF
RF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdVc2VFbGVtZW50LCBTVkdMZW5ndGgsIFgsIHgsIFNW
R05hbWVzOjp4QXR0cikKK0FOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR1VzZUVsZW1l
bnQsIFNWR0xlbmd0aCwgWSwgeSwgU1ZHTmFtZXM6OnlBdHRyKQorQU5JTUFURURfUFJPUEVSVFlf
REVGSU5JVElPTlMoU1ZHVXNlRWxlbWVudCwgU1ZHTGVuZ3RoLCBXaWR0aCwgd2lkdGgsIFNWR05h
bWVzOjp3aWR0aEF0dHIpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdVc2VFbGVt
ZW50LCBTVkdMZW5ndGgsIEhlaWdodCwgaGVpZ2h0LCBTVkdOYW1lczo6aGVpZ2h0QXR0cikKIAog
U1ZHRWxlbWVudEluc3RhbmNlKiBTVkdVc2VFbGVtZW50OjppbnN0YW5jZVJvb3QoKSBjb25zdAog
ewpJbmRleDogV2ViQ29yZS9zdmcvU1ZHVXNlRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvc3ZnL1NWR1VzZUVsZW1lbnQuaAkocmV2aXNpb24gMzUwMDYpCisrKyBXZWJDb3JlL3N2Zy9T
VkdVc2VFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTc0LDEwICs3NCwxMCBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJ
T05TKFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGJvb2wsIEV4dGVybmFsUmVzb3VyY2Vz
UmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpCiAgICAgICAgIEFOSU1BVEVEX1BS
T1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJT05TKFNWR1VSSVJlZmVyZW5jZSwgU3RyaW5nLCBIcmVm
LCBocmVmKQogCi0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdVc2VF
bGVtZW50LCBTVkdMZW5ndGgsIFNWR0xlbmd0aCwgWCwgeCkKLSAgICAgICAgQU5JTUFURURfUFJP
UEVSVFlfREVDTEFSQVRJT05TKFNWR1VzZUVsZW1lbnQsIFNWR0xlbmd0aCwgU1ZHTGVuZ3RoLCBZ
LCB5KQotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHVXNlRWxlbWVu
dCwgU1ZHTGVuZ3RoLCBTVkdMZW5ndGgsIFdpZHRoLCB3aWR0aCkKLSAgICAgICAgQU5JTUFURURf
UFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR1VzZUVsZW1lbnQsIFNWR0xlbmd0aCwgU1ZHTGVuZ3Ro
LCBIZWlnaHQsIGhlaWdodCkKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05T
KFNWR1VzZUVsZW1lbnQsIFNWR0xlbmd0aCwgWCwgeCkKKyAgICAgICAgQU5JTUFURURfUFJPUEVS
VFlfREVDTEFSQVRJT05TKFNWR1VzZUVsZW1lbnQsIFNWR0xlbmd0aCwgWSwgeSkKKyAgICAgICAg
QU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR1VzZUVsZW1lbnQsIFNWR0xlbmd0aCwg
V2lkdGgsIHdpZHRoKQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZH
VXNlRWxlbWVudCwgU1ZHTGVuZ3RoLCBIZWlnaHQsIGhlaWdodCkKIAogICAgIHByaXZhdGU6CiAg
ICAgICAgIGZyaWVuZCBjbGFzcyBTVkdFbGVtZW50OwpJbmRleDogV2ViQ29yZS9zdmcvU1ZHVmll
d0VsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdWaWV3RWxlbWVudC5oCShy
ZXZpc2lvbiAzNTAwNikKKysrIFdlYkNvcmUvc3ZnL1NWR1ZpZXdFbGVtZW50LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTU0LDcgKzU0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAgIEFO
SU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJT05TKFNWR0V4dGVybmFsUmVzb3VyY2Vz
UmVxdWlyZWQsIGJvb2wsIEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3Vy
Y2VzUmVxdWlyZWQpCiAgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJ
T05TKFNWR0ZpdFRvVmlld0JveCwgRmxvYXRSZWN0LCBWaWV3Qm94LCB2aWV3Qm94KQotICAgICAg
ICBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdGaXRUb1ZpZXdCb3gs
IFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8qLCBQcmVzZXJ2ZUFzcGVjdFJhdGlvLCBwcmVzZXJ2ZUFz
cGVjdFJhdGlvKQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9O
U19SRUZDT1VOVEVEKFNWR0ZpdFRvVmlld0JveCwgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbywgUHJl
c2VydmVBc3BlY3RSYXRpbywgcHJlc2VydmVBc3BlY3RSYXRpbykKICAgICB9OwogCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCkluZGV4OiBXZWJDb3JlL3N2Zy9TeW5jaHJvbml6YWJsZVR5cGVXcmFw
cGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU3luY2hyb25pemFibGVUeXBlV3JhcHBl
ci5oCShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS9zdmcvU3luY2hyb25pemFibGVUeXBlV3JhcHBl
ci5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE4MSBAQAorLyoKKyAgICBDb3B5cmlnaHQgKEMp
IDIwMDggTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+CisKKyAgICBUaGlz
IGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y
CisgICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMKKyAgICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uOyBlaXRoZXIKKyAgICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5
b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisKKyAgICBUaGlzIGxpYnJhcnkgaXMgZGlz
dHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAgICBidXQgV0lU
SE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgor
ICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4g
IFNlZSB0aGUgR05VCisgICAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl
IGRldGFpbHMuCisKKyAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBH
TlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgICAgYWxvbmcgd2l0aCB0aGlzIGxp
YnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAgICB0
aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZp
ZnRoIEZsb29yLAorICAgIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorKi8KKworI2lmbmRl
ZiBTeW5jaHJvbml6YWJsZVR5cGVXcmFwcGVyX2gKKyNkZWZpbmUgU3luY2hyb25pemFibGVUeXBl
V3JhcHBlcl9oCisKKyNpZiBFTkFCTEUoU1ZHKQorI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5o
PgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBTdG9yZWRU
eXBlPgorICAgIGNsYXNzIFN5bmNocm9uaXphYmxlVHlwZVdyYXBwZXJCYXNlIDogTm9uY29weWFi
bGUgeworICAgIHByb3RlY3RlZDoKKyAgICAgICAgU3luY2hyb25pemFibGVUeXBlV3JhcHBlckJh
c2UoKTsKKworICAgICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBBc3NpZ25hYmxlVHlwZT4KKyAgICAg
ICAgdm9pZCBhc3NpZ24oQXNzaWduYWJsZVR5cGUgdHlwZSk7CisKKyAgICAgICAgYm9vbCBuZWVk
c1N5bmNocm9uaXphdGlvbigpIGNvbnN0OworICAgICAgICB2b2lkIHNldFN5bmNocm9uaXplZCgp
OworCisgICAgcHJvdGVjdGVkOgorICAgICAgICBTdG9yZWRUeXBlIG1fdmFsdWU7CisgICAgICAg
IGJvb2wgbV9uZWVkc1N5bmNocm9uaXphdGlvbjsKKyAgICB9OworCisgICAgdGVtcGxhdGU8dHlw
ZW5hbWUgU3RvcmVkVHlwZT4KKyAgICBjbGFzcyBTeW5jaHJvbml6YWJsZVR5cGVXcmFwcGVyIDog
cHJpdmF0ZSBTeW5jaHJvbml6YWJsZVR5cGVXcmFwcGVyQmFzZTxTdG9yZWRUeXBlPiB7CisgICAg
cHVibGljOgorICAgICAgICB0eXBlZGVmIFN5bmNocm9uaXphYmxlVHlwZVdyYXBwZXJCYXNlPFN0
b3JlZFR5cGU+IEJhc2U7CisgICAgICAgIFN5bmNocm9uaXphYmxlVHlwZVdyYXBwZXIoKTsKKyAK
KyAgICAgICAgLy8gIkZvcndhcmRpbmcgY29uc3RydWN0b3JzIiBmb3IgcHJpbWl0aXZlIHR5cGUg
YXNzaWdubWVudCB3aXRoIG1vcmUgdGhhbiBvbmUgYXJndW1lbnQsIGZvciBleGFtcGUgU1ZHTGVu
Z3RoOgorICAgICAgICAvLyBVc2UgbV9zeW5jV3JhcHBlcihjb250ZXh0LCBMZW5ndGhNb2RlLCAu
LikgaW5zdGVhZCBvZiBtX3N5bmNXcmFwcGVyKFNWR0xlbmd0aChjb250ZXh0LCBMZW5ndGhNb2Rl
LCAuLikpKQorICAgICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUMT4gU3luY2hyb25pemFibGVUeXBl
V3JhcHBlcihjb25zdCBUMSYpOworICAgICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUMSwgdHlwZW5h
bWUgVDI+IFN5bmNocm9uaXphYmxlVHlwZVdyYXBwZXIoY29uc3QgVDEmLCBjb25zdCBUMiYpOwor
ICAgICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzPiBT
eW5jaHJvbml6YWJsZVR5cGVXcmFwcGVyKGNvbnN0IFQxJiwgY29uc3QgVDImLCBjb25zdCBUMyYp
OworCisgICAgICAgIFN5bmNocm9uaXphYmxlVHlwZVdyYXBwZXImIG9wZXJhdG9yPShjb25zdCBT
dG9yZWRUeXBlJik7CisgICAgICAgIG9wZXJhdG9yIFN0b3JlZFR5cGUoKSBjb25zdDsKKworICAg
ICAgICB1c2luZyBCYXNlOjpuZWVkc1N5bmNocm9uaXphdGlvbjsKKyAgICAgICAgdXNpbmcgQmFz
ZTo6c2V0U3luY2hyb25pemVkOworCisgICAgcHJpdmF0ZToKKyAgICAgICAgdXNpbmcgQmFzZTo6
bV92YWx1ZTsKKyAgICB9OworCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgU3RvcmVkUG9pbnRlclR5
cGU+CisgICAgY2xhc3MgU3luY2hyb25pemFibGVUeXBlV3JhcHBlcjxSZWZQdHI8U3RvcmVkUG9p
bnRlclR5cGU+ID4gOiBwcml2YXRlIFN5bmNocm9uaXphYmxlVHlwZVdyYXBwZXJCYXNlPFJlZlB0
cjxTdG9yZWRQb2ludGVyVHlwZT4gPiB7CisgICAgcHVibGljOgorICAgICAgICB0eXBlZGVmIFN5
bmNocm9uaXphYmxlVHlwZVdyYXBwZXJCYXNlPFJlZlB0cjxTdG9yZWRQb2ludGVyVHlwZT4gPiBC
YXNlOworICAgICAgICBTeW5jaHJvbml6YWJsZVR5cGVXcmFwcGVyKCk7CisgICAgICAgIFN5bmNo
cm9uaXphYmxlVHlwZVdyYXBwZXIoY29uc3QgUGFzc1JlZlB0cjxTdG9yZWRQb2ludGVyVHlwZT4m
KTsKKworICAgICAgICBTeW5jaHJvbml6YWJsZVR5cGVXcmFwcGVyJiBvcGVyYXRvcj0oU3RvcmVk
UG9pbnRlclR5cGUqKTsKKyAgICAgICAgb3BlcmF0b3IgU3RvcmVkUG9pbnRlclR5cGUqKCkgY29u
c3Q7CisKKyAgICAgICAgdXNpbmcgQmFzZTo6bmVlZHNTeW5jaHJvbml6YXRpb247CisgICAgICAg
IHVzaW5nIEJhc2U6OnNldFN5bmNocm9uaXplZDsKKworICAgIHByaXZhdGU6CisgICAgICAgIHVz
aW5nIEJhc2U6Om1fdmFsdWU7CisgICAgfTsKKworICAgIC8vIFN5bmNocm9uaXphYmxlVHlwZVdy
YXBwZXJCYXNlIGltcGxlbWVudGF0aW9uCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgU3RvcmVkVHlw
ZT4KKyAgICBpbmxpbmUgU3luY2hyb25pemFibGVUeXBlV3JhcHBlckJhc2U8U3RvcmVkVHlwZT46
OlN5bmNocm9uaXphYmxlVHlwZVdyYXBwZXJCYXNlKCkKKyAgICAgICAgOiBtX3ZhbHVlKCkKKyAg
ICAgICAgLCBtX25lZWRzU3luY2hyb25pemF0aW9uKGZhbHNlKQorICAgIHsKKyAgICB9CisKKyAg
ICB0ZW1wbGF0ZTx0eXBlbmFtZSBTdG9yZWRUeXBlPiB0ZW1wbGF0ZTx0eXBlbmFtZSBBc3NpZ25h
YmxlVHlwZT4KKyAgICBpbmxpbmUgdm9pZCBTeW5jaHJvbml6YWJsZVR5cGVXcmFwcGVyQmFzZTxT
dG9yZWRUeXBlPjo6YXNzaWduKEFzc2lnbmFibGVUeXBlIHR5cGUpCisgICAgeworICAgICAgICBt
X3ZhbHVlID0gdHlwZTsKKyAgICAgICAgbV9uZWVkc1N5bmNocm9uaXphdGlvbiA9IHRydWU7Cisg
ICAgfQorCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgU3RvcmVkVHlwZT4KKyAgICBpbmxpbmUgYm9v
bCBTeW5jaHJvbml6YWJsZVR5cGVXcmFwcGVyQmFzZTxTdG9yZWRUeXBlPjo6bmVlZHNTeW5jaHJv
bml6YXRpb24oKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIG1fbmVlZHNTeW5jaHJvbml6
YXRpb247CisgICAgfQorCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgU3RvcmVkVHlwZT4KKyAgICBp
bmxpbmUgdm9pZCBTeW5jaHJvbml6YWJsZVR5cGVXcmFwcGVyQmFzZTxTdG9yZWRUeXBlPjo6c2V0
U3luY2hyb25pemVkKCkKKyAgICB7CisgICAgICAgIG1fbmVlZHNTeW5jaHJvbml6YXRpb24gPSBm
YWxzZTsKKyAgICB9CisKKyAgICAvLyBTeW5jaHJvbml6YWJsZVR5cGVXcmFwcGVyIGltcGxlbWVu
dGF0aW9uIGZvciBwcmltaXRpdmUgdHlwZXMKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBTdG9yZWRU
eXBlPgorICAgIGlubGluZSBTeW5jaHJvbml6YWJsZVR5cGVXcmFwcGVyPFN0b3JlZFR5cGU+OjpT
eW5jaHJvbml6YWJsZVR5cGVXcmFwcGVyKCkKKyAgICAgICAgOiBCYXNlKCkKKyAgICB7CisgICAg
fQorCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgU3RvcmVkVHlwZT4gdGVtcGxhdGU8dHlwZW5hbWUg
VDE+CisgICAgaW5saW5lIFN5bmNocm9uaXphYmxlVHlwZVdyYXBwZXI8U3RvcmVkVHlwZT46OlN5
bmNocm9uaXphYmxlVHlwZVdyYXBwZXIoY29uc3QgVDEmIGFyZzEpCisgICAgICAgIDogQmFzZSgp
CisgICAgeworICAgICAgICBtX3ZhbHVlID0gU3RvcmVkVHlwZShhcmcxKTsKKyAgICB9CisKKyAg
ICB0ZW1wbGF0ZTx0eXBlbmFtZSBTdG9yZWRUeXBlPiB0ZW1wbGF0ZTx0eXBlbmFtZSBUMSwgdHlw
ZW5hbWUgVDI+CisgICAgaW5saW5lIFN5bmNocm9uaXphYmxlVHlwZVdyYXBwZXI8U3RvcmVkVHlw
ZT46OlN5bmNocm9uaXphYmxlVHlwZVdyYXBwZXIoY29uc3QgVDEmIGFyZzEsIGNvbnN0IFQyJiBh
cmcyKQorICAgICAgICA6IEJhc2UoKQorICAgIHsKKyAgICAgICAgbV92YWx1ZSA9IFN0b3JlZFR5
cGUoYXJnMSwgYXJnMik7CisgICAgfQorCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgU3RvcmVkVHlw
ZT4gdGVtcGxhdGU8dHlwZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMz4KKyAgICBp
bmxpbmUgU3luY2hyb25pemFibGVUeXBlV3JhcHBlcjxTdG9yZWRUeXBlPjo6U3luY2hyb25pemFi
bGVUeXBlV3JhcHBlcihjb25zdCBUMSYgYXJnMSwgY29uc3QgVDImIGFyZzIsIGNvbnN0IFQzJiBh
cmczKQorICAgICAgICA6IEJhc2UoKQorICAgIHsKKyAgICAgICAgbV92YWx1ZSA9IFN0b3JlZFR5
cGUoYXJnMSwgYXJnMiwgYXJnMyk7CisgICAgfQorCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgU3Rv
cmVkVHlwZT4KKyAgICBpbmxpbmUgU3luY2hyb25pemFibGVUeXBlV3JhcHBlcjxTdG9yZWRUeXBl
PiYgU3luY2hyb25pemFibGVUeXBlV3JhcHBlcjxTdG9yZWRUeXBlPjo6b3BlcmF0b3I9KGNvbnN0
IFN0b3JlZFR5cGUmIG90aGVyKQorICAgIHsKKyAgICAgICAgQmFzZTo6YXNzaWduKG90aGVyKTsK
KyAgICAgICAgcmV0dXJuICgqdGhpcyk7CisgICAgfQorCisgICAgdGVtcGxhdGU8dHlwZW5hbWUg
U3RvcmVkVHlwZT4KKyAgICBpbmxpbmUgU3luY2hyb25pemFibGVUeXBlV3JhcHBlcjxTdG9yZWRU
eXBlPjo6b3BlcmF0b3IgU3RvcmVkVHlwZSgpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4g
bV92YWx1ZTsKKyAgICB9CisKKyAgICAvLyBTeW5jaHJvbml6YWJsZVR5cGVXcmFwcGVyIGltcGxl
bWVudGF0aW9uIGZvciByZWZjb3VudGVkIHR5cGVzCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgU3Rv
cmVkUG9pbnRlclR5cGU+CisgICAgaW5saW5lIFN5bmNocm9uaXphYmxlVHlwZVdyYXBwZXI8UmVm
UHRyPFN0b3JlZFBvaW50ZXJUeXBlPiA+OjpTeW5jaHJvbml6YWJsZVR5cGVXcmFwcGVyKCkKKyAg
ICAgICAgOiBCYXNlKCkKKyAgICB7CisgICAgfQorCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgU3Rv
cmVkUG9pbnRlclR5cGU+CisgICAgaW5saW5lIFN5bmNocm9uaXphYmxlVHlwZVdyYXBwZXI8UmVm
UHRyPFN0b3JlZFBvaW50ZXJUeXBlPiA+OjpTeW5jaHJvbml6YWJsZVR5cGVXcmFwcGVyKGNvbnN0
IFBhc3NSZWZQdHI8U3RvcmVkUG9pbnRlclR5cGU+JiB0eXBlKQorICAgICAgICA6IEJhc2UoKQor
ICAgIHsKKyAgICAJbV92YWx1ZSA9IHR5cGU7CisgICAgfQorCisgICAgdGVtcGxhdGU8dHlwZW5h
bWUgU3RvcmVkUG9pbnRlclR5cGU+CisgICAgaW5saW5lIFN5bmNocm9uaXphYmxlVHlwZVdyYXBw
ZXI8UmVmUHRyPFN0b3JlZFBvaW50ZXJUeXBlPiA+JiBTeW5jaHJvbml6YWJsZVR5cGVXcmFwcGVy
PFJlZlB0cjxTdG9yZWRQb2ludGVyVHlwZT4gPjo6b3BlcmF0b3I9KFN0b3JlZFBvaW50ZXJUeXBl
KiBvdGhlcikKKyAgICB7CisgICAgICAgIEJhc2U6OmFzc2lnbihvdGhlcik7CisgICAgICAgIHJl
dHVybiAoKnRoaXMpOworICAgIH0KKworICAgIHRlbXBsYXRlPHR5cGVuYW1lIFN0b3JlZFBvaW50
ZXJUeXBlPgorICAgIGlubGluZSBTeW5jaHJvbml6YWJsZVR5cGVXcmFwcGVyPFJlZlB0cjxTdG9y
ZWRQb2ludGVyVHlwZT4gPjo6b3BlcmF0b3IgU3RvcmVkUG9pbnRlclR5cGUqKCkgY29uc3QKKyAg
ICB7CisgICAgICAgIHJldHVybiBtX3ZhbHVlLmdldCgpOworICAgIH0KKworfTsKKworI2VuZGlm
CisjZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>22128</attachid>
            <date>2008-07-07 06:31:40 -0700</date>
            <delta_ts>2008-07-07 07:05:59 -0700</delta_ts>
            <desc>Final patch (w/o layout tests, as nothing changed there)</desc>
            <filename>FixSVGLivenessRevised.diff</filename>
            <type>text/plain</type>
            <size>153880</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAzNTAzNCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTM5IEBACisyMDA4LTA3LTA3ICBOaWtvbGFzIFppbW1lcm1hbm4gIDx6aW1tZXJt
YW5uQGtkZS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgRml4ZXM6IGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3Nzc5
IChTVkcgMS4xIEVycmF0YSBkZW1hbmRzICJTVkcgSmF2YVNjcmlwdCBMaXZlbmVzcyIgc3VwcG9y
dCkKKworICAgICAgICBSZXZpc2VkIHZlcnNpb24gb2YgdGhlIHBhdGNoLCBub3QgdXNpbmcgcG9p
bnRlci10by1tZW1iZXIgZnVuY3Rpb24gY2FsbGJhY2tzIGFueW1vcmUgLSBhZnRlciBkaXNjdXNz
aW9uIHdpdGggQWRhbSBSb2Jlbi4KKyAgICAgICAgUmVtb3ZlIHVubmVjY2Vzc2FyeSBwYXJhbWV0
ZXJzIG9mIGFsbCBtYWNyb3MuCisKKyAgICAgICAgU1ZHIEVycmF0YSBzdGF0ZXM6ICJBbGwgU1ZH
IERPTSBvYmplY3RzIHRoYXQgZGlyZWN0bHkgY29ycmVzcG9uZCB0byBhbgorICAgICAgICBhdHRy
aWJ1dGUsIGUuZy4gdGhlIFNWR0FuaW1hdGVkTGVuZ3RoICdyeScgaW4gYW4gU1ZHUmVjdEVsZW1l
bnQsIGFyZSBsaXZlLiBUaGlzCisgICAgICAgIG1lYW5zIHRoYXQgYW55IGNoYW5nZXMgbWFkZSB0
byB0aGUgYXR0cmlidXRlIGFyZSBpbW1lZGlhdGVseSByZWZsZWN0ZWQgaW4gdGhlCisgICAgICAg
IGNvcnJlc3BvbmRpbmcgU1ZHIERPTSBvYmplY3QuIiAoc2VlIGxpbmtlZCBVUkwgb24gYnVnIHJl
cG9ydCkKKworICAgICAgICBVbnRpbCBub3cgb25seSBYTUwgLT4gU1ZHIERPTSBjaGFuZ2VzIHRv
b2sgYWZmZWN0LCBha2EuIGNoYW5naW5nIHRoZSAncngnIGF0dHJpYnV0ZSBvZiBhIDxyZWN0Pgor
ICAgICAgICBlbGVtZW50IHJlc3V0ZWQgaW4gY2hhbmdlcyB3aGVuIGFjY2Vzc2luZyAncngnIHRo
cm91Z2ggU1ZHIERPTSAocnguYmFzZVZhbC52YWx1ZSkuCisKKyAgICAgICAgQWRkIGEgbmV3IHN5
bmNocm9uaXphdGlvbiBsYXllciB0byBoYW5kbGUgU1ZHIERPTSAtPiBYTUwgY2hhbmdlcy4KKwor
ICAgICAgICBBZGRlZCB0ZXN0OiBzdmcvY3VzdG9tL3N2Zy14bWwtZG9tLXN5bmMuaHRtbAorICAg
ICAgICBGaXhlZCB0ZXN0OiBzdmcvaGl4aWUvZHluYW1pYy8wMDUtYnJva2VuLnhtbCAocmVuYW1l
ZCB0byAwMDUueG1sKQorCisgICAgICAgICogZG9tL0VsZW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6RWxlbWVudDo6RWxlbWVudCk6IEluaXRpYWxpemUgdGhlIHR3byBuZXcgYml0cy4KKyAg
ICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OmF0dHJpYnV0ZXMpOiBBZGQgaG9va3MgdG8gY2FsbCBp
bnRvIFNWRyBhdHRyaWJ1dGUgc3luY2hyb25pemF0aW9uIGNvZGUsIHdyYXBwZWQgaW4gRU5BQkxF
KFNWRykgYmxvY2tzLgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6Z2V0QXR0cmlidXRlKTog
RGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjpoYXNBdHRyaWJ1dGVzKTogRGl0dG8u
CisgICAgICAgICogZG9tL0VsZW1lbnQuaDogQWRkIHR3byBiaXRzOiBtX2FyZVNWR0F0dHJpYnV0
ZXNWYWxpZC9tX3N5bmNocm9uaXppbmdTVkdBdHRyaWJ1dGVzLCB0byB0cmFjayBzeW5jaHJvbml6
YXRpb24gc3RhdHVzLgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6dXBkYXRlQW5pbWF0ZWRT
VkdBdHRyaWJ1dGUpOiBOZXcgdmlydHVhbCBmdW5jdGlvbiwgaGFuZGxpbmcgdGhlIHN5bnJvbmlj
YXRpb24sIHNpbWlsYXIgdG8gdXBkYXRlU3R5bGVBdHRyaWJ1dGUuCisgICAgICAgICogZG9tL05h
bWVkQXR0ck1hcC5oOiBNYWtlIGFkZEF0dHJpYnV0ZS9yZW1vdmVBdHRyaWJ1dGUgcHJvdGVjdGVk
LCBmcm9tIHVzZSB3aXRoaW4gdGhlIEFOSU1BVEVEXyogbWFjcm9zLgorICAgICAgICAqIHN2Zy9T
VkdBRWxlbWVudC5jcHA6CisgICAgICAgICogc3ZnL1NWR0FFbGVtZW50Lmg6CisgICAgICAgICog
c3ZnL1NWR0FuaW1hdGVkVGVtcGxhdGUuaDoKKyAgICAgICAgKFdlYkNvcmU6Omxvb2t1cE9yQ3Jl
YXRlV3JhcHBlcik6IFRha2UgbmV3IEFuaW1hdGVkUHJvcGVydHlTeW5jaHJvbml6ZXIgY2FsbGJh
Y2sgYXMgcGFyYW1ldGVyLCBhbmQgYXNzb2NpYXRlIGl0IHdpdGggdGhlIHdyYXBwZXJzLgorICAg
ICAgICAqIHN2Zy9TVkdDaXJjbGVFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0Np
cmNsZUVsZW1lbnQ6OlNWR0NpcmNsZUVsZW1lbnQpOgorICAgICAgICAqIHN2Zy9TVkdDaXJjbGVF
bGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR0NsaXBQYXRoRWxlbWVudC5jcHA6CisgICAgICAg
ICogc3ZnL1NWR0NsaXBQYXRoRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdDb21wb25lbnRU
cmFuc2ZlckZ1bmN0aW9uRWxlbWVudC5jcHA6CisgICAgICAgICogc3ZnL1NWR0NvbXBvbmVudFRy
YW5zZmVyRnVuY3Rpb25FbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR0N1cnNvckVsZW1lbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQ3Vyc29yRWxlbWVudDo6U1ZHQ3Vyc29yRWxlbWVu
dCk6CisgICAgICAgICogc3ZnL1NWR0N1cnNvckVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZH
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdFbGVtZW50Ojp1cGRhdGVBbmltYXRl
ZFNWR0F0dHJpYnV0ZSk6IE92ZXJyaWRlIHZpcnR1YWwgZnVuY3Rpb24gZnJvbSBFbGVtZW50LCB0
byBoYW5kbGUgU1ZHPC0+WE1MIERPTSBzeW5jaHJvbml6YXRpb24uCisgICAgICAgIChXZWJDb3Jl
OjpTVkdFbGVtZW50OjpzZXRTeW5jaHJvbml6ZWRTVkdBdHRyaWJ1dGVzKToKKyAgICAgICAgKiBz
dmcvU1ZHRWxlbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRWxlbWVudDo6aW52b2tlU1ZH
UHJvcGVydHlTeW5jaHJvbml6ZXIpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRWxlbWVudDo6aW52
b2tlQWxsU1ZHUHJvcGVydHlTeW5jaHJvbml6ZXJzKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0Vs
ZW1lbnQ6OmFkZFNWR1Byb3BlcnR5U3luY2hyb25pemVyKToKKyAgICAgICAgKiBzdmcvU1ZHRWxs
aXBzZUVsZW1lbnQuY3BwOgorICAgICAgICAqIHN2Zy9TVkdFbGxpcHNlRWxlbWVudC5oOgorICAg
ICAgICAqIHN2Zy9TVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLmNwcDoKKyAgICAgICAgKiBz
dmcvU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5oOgorICAgICAgICAqIHN2Zy9TVkdGRUJs
ZW5kRWxlbWVudC5jcHA6CisgICAgICAgICogc3ZnL1NWR0ZFQmxlbmRFbGVtZW50Lmg6CisgICAg
ICAgICogc3ZnL1NWR0ZFQ29sb3JNYXRyaXhFbGVtZW50LmNwcDoKKyAgICAgICAgKiBzdmcvU1ZH
RkVDb2xvck1hdHJpeEVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHRkVDb21wb25lbnRUcmFu
c2ZlckVsZW1lbnQuY3BwOgorICAgICAgICAqIHN2Zy9TVkdGRUNvbXBvbmVudFRyYW5zZmVyRWxl
bWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdGRUNvbXBvc2l0ZUVsZW1lbnQuY3BwOgorICAgICAg
ICAqIHN2Zy9TVkdGRUNvbXBvc2l0ZUVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHRkVEaWZm
dXNlTGlnaHRpbmdFbGVtZW50LmNwcDoKKyAgICAgICAgKiBzdmcvU1ZHRkVEaWZmdXNlTGlnaHRp
bmdFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudC5j
cHA6CisgICAgICAgICogc3ZnL1NWR0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudC5oOgorICAgICAg
ICAqIHN2Zy9TVkdGRUdhdXNzaWFuQmx1ckVsZW1lbnQuY3BwOgorICAgICAgICAqIHN2Zy9TVkdG
RUdhdXNzaWFuQmx1ckVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHRkVJbWFnZUVsZW1lbnQu
Y3BwOgorICAgICAgICAqIHN2Zy9TVkdGRUltYWdlRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9T
VkdGRUxpZ2h0RWxlbWVudC5jcHA6CisgICAgICAgICogc3ZnL1NWR0ZFTGlnaHRFbGVtZW50Lmg6
CisgICAgICAgICogc3ZnL1NWR0ZFTWVyZ2VOb2RlRWxlbWVudC5jcHA6CisgICAgICAgICogc3Zn
L1NWR0ZFTWVyZ2VOb2RlRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdGRU9mZnNldEVsZW1l
bnQuY3BwOgorICAgICAgICAqIHN2Zy9TVkdGRU9mZnNldEVsZW1lbnQuaDoKKyAgICAgICAgKiBz
dmcvU1ZHRkVTcGVjdWxhckxpZ2h0aW5nRWxlbWVudC5jcHA6CisgICAgICAgICogc3ZnL1NWR0ZF
U3BlY3VsYXJMaWdodGluZ0VsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHRkVUaWxlRWxlbWVu
dC5jcHA6CisgICAgICAgICogc3ZnL1NWR0ZFVGlsZUVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcv
U1ZHRkVUdXJidWxlbmNlRWxlbWVudC5jcHA6CisgICAgICAgICogc3ZnL1NWR0ZFVHVyYnVsZW5j
ZUVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHRmlsdGVyRWxlbWVudC5jcHA6CisgICAgICAg
ICogc3ZnL1NWR0ZpbHRlckVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHRmlsdGVyUHJpbWl0
aXZlU3RhbmRhcmRBdHRyaWJ1dGVzLmNwcDoKKyAgICAgICAgKiBzdmcvU1ZHRmlsdGVyUHJpbWl0
aXZlU3RhbmRhcmRBdHRyaWJ1dGVzLmg6CisgICAgICAgICogc3ZnL1NWR0ZpdFRvVmlld0JveC5j
cHA6CisgICAgICAgICogc3ZnL1NWR0ZpdFRvVmlld0JveC5oOgorICAgICAgICAqIHN2Zy9TVkdG
b3JlaWduT2JqZWN0RWxlbWVudC5jcHA6CisgICAgICAgICogc3ZnL1NWR0ZvcmVpZ25PYmplY3RF
bGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR0dyYWRpZW50RWxlbWVudC5jcHA6CisgICAgICAg
ICogc3ZnL1NWR0dyYWRpZW50RWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdJbWFnZUVsZW1l
bnQuY3BwOgorICAgICAgICAqIHN2Zy9TVkdJbWFnZUVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcv
U1ZHTGluZUVsZW1lbnQuY3BwOgorICAgICAgICAqIHN2Zy9TVkdMaW5lRWxlbWVudC5oOgorICAg
ICAgICAqIHN2Zy9TVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQuY3BwOgorICAgICAgICAqIHN2Zy9T
VkdMaW5lYXJHcmFkaWVudEVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHTWFya2VyRWxlbWVu
dC5jcHA6CisgICAgICAgICogc3ZnL1NWR01hcmtlckVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcv
U1ZHTWFza0VsZW1lbnQuY3BwOgorICAgICAgICAqIHN2Zy9TVkdNYXNrRWxlbWVudC5oOgorICAg
ICAgICAqIHN2Zy9TVkdQYXRoRWxlbWVudC5jcHA6CisgICAgICAgICogc3ZnL1NWR1BhdGhFbGVt
ZW50Lmg6CisgICAgICAgICogc3ZnL1NWR1BhdHRlcm5FbGVtZW50LmNwcDoKKyAgICAgICAgKiBz
dmcvU1ZHUGF0dGVybkVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHUmFkaWFsR3JhZGllbnRF
bGVtZW50LmNwcDoKKyAgICAgICAgKiBzdmcvU1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50Lmg6Cisg
ICAgICAgICogc3ZnL1NWR1JlY3RFbGVtZW50LmNwcDoKKyAgICAgICAgKiBzdmcvU1ZHUmVjdEVs
ZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHU1ZHRWxlbWVudC5jcHA6CisgICAgICAgICogc3Zn
L1NWR1NWR0VsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHU2NyaXB0RWxlbWVudC5oOgorICAg
ICAgICAqIHN2Zy9TVkdTdG9wRWxlbWVudC5jcHA6CisgICAgICAgICogc3ZnL1NWR1N0b3BFbGVt
ZW50Lmg6CisgICAgICAgICogc3ZnL1NWR1N0eWxlZEVsZW1lbnQuY3BwOgorICAgICAgICAqIHN2
Zy9TVkdTdHlsZWRFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR1N0eWxlZFRyYW5zZm9ybWFi
bGVFbGVtZW50LmNwcDoKKyAgICAgICAgKiBzdmcvU1ZHU3R5bGVkVHJhbnNmb3JtYWJsZUVsZW1l
bnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHU3ltYm9sRWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9T
VkdUZXh0Q29udGVudEVsZW1lbnQuY3BwOgorICAgICAgICAqIHN2Zy9TVkdUZXh0Q29udGVudEVs
ZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHVGV4dEVsZW1lbnQuY3BwOgorICAgICAgICAqIHN2
Zy9TVkdUZXh0RWxlbWVudC5oOgorICAgICAgICAqIHN2Zy9TVkdUZXh0UGF0aEVsZW1lbnQuY3Bw
OgorICAgICAgICAqIHN2Zy9TVkdUZXh0UGF0aEVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZH
VGV4dFBvc2l0aW9uaW5nRWxlbWVudC5jcHA6CisgICAgICAgICogc3ZnL1NWR1RleHRQb3NpdGlv
bmluZ0VsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHVVJJUmVmZXJlbmNlLmNwcDoKKyAgICAg
ICAgKiBzdmcvU1ZHVVJJUmVmZXJlbmNlLmg6CisgICAgICAgICogc3ZnL1NWR1VzZUVsZW1lbnQu
Y3BwOgorICAgICAgICAqIHN2Zy9TVkdVc2VFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR1Zp
ZXdFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1N5bmNocm9uaXphYmxlVHlwZVdyYXBwZXIuaDog
QWRkZWQuCisKIDIwMDgtMDctMDcgIE5pa29sYXMgWmltbWVybWFubiAgPHppbW1lcm1hbm5Aa2Rl
Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBPbGl2ZXIuCkluZGV4OiBXZWJDb3JlL2RvbS9F
bGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9FbGVtZW50LmNwcAkocmV2aXNp
b24gMzUwMzMpCisrKyBXZWJDb3JlL2RvbS9FbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
OTksNiArOTksMTAgQEAgRWxlbWVudDo6RWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiBxTgog
ICAgICwgbV90YWdOYW1lKHFOYW1lKQogICAgICwgbV9pc1N0eWxlQXR0cmlidXRlVmFsaWQodHJ1
ZSkKICAgICAsIG1fc3luY2hyb25pemluZ1N0eWxlQXR0cmlidXRlKGZhbHNlKQorI2lmIEVOQUJM
RShTVkcpCisgICAgLCBtX2FyZVNWR0F0dHJpYnV0ZXNWYWxpZCh0cnVlKQorICAgICwgbV9zeW5j
aHJvbml6aW5nU1ZHQXR0cmlidXRlcyhmYWxzZSkKKyNlbmRpZgogICAgICwgbV9wYXJzaW5nQ2hp
bGRyZW5GaW5pc2hlZCh0cnVlKQogewogfQpAQCAtMTkzLDYgKzE5NywxMiBAQCBOYW1lZEF0dHJN
YXAqIEVsZW1lbnQ6OmF0dHJpYnV0ZXMoYm9vbCByCiB7CiAgICAgaWYgKCFtX2lzU3R5bGVBdHRy
aWJ1dGVWYWxpZCkKICAgICAgICAgdXBkYXRlU3R5bGVBdHRyaWJ1dGUoKTsKKworI2lmIEVOQUJM
RShTVkcpCisgICAgaWYgKCFtX2FyZVNWR0F0dHJpYnV0ZXNWYWxpZCkKKyAgICAgICAgdXBkYXRl
QW5pbWF0ZWRTVkdBdHRyaWJ1dGUoMCk7CisjZW5kaWYKKwogICAgIGlmICghcmVhZG9ubHkgJiYg
IW5hbWVkQXR0ck1hcCkKICAgICAgICAgY3JlYXRlQXR0cmlidXRlTWFwKCk7CiAgICAgcmV0dXJu
IG5hbWVkQXR0ck1hcC5nZXQoKTsKQEAgLTIxOCw2ICsyMjgsMTEgQEAgY29uc3QgQXRvbWljU3Ry
aW5nJiBFbGVtZW50OjpnZXRBdHRyaWJ1dAogICAgIGlmIChuYW1lID09IHN0eWxlQXR0ciAmJiAh
bV9pc1N0eWxlQXR0cmlidXRlVmFsaWQpCiAgICAgICAgIHVwZGF0ZVN0eWxlQXR0cmlidXRlKCk7
CiAKKyNpZiBFTkFCTEUoU1ZHKQorICAgIGlmICghbV9hcmVTVkdBdHRyaWJ1dGVzVmFsaWQpCisg
ICAgICAgIHVwZGF0ZUFuaW1hdGVkU1ZHQXR0cmlidXRlKG5hbWUubG9jYWxOYW1lKCkuaW1wbCgp
KTsKKyNlbmRpZgorCiAgICAgaWYgKG5hbWVkQXR0ck1hcCkKICAgICAgICAgaWYgKEF0dHJpYnV0
ZSogYSA9IG5hbWVkQXR0ck1hcC0+Z2V0QXR0cmlidXRlSXRlbShuYW1lKSkKICAgICAgICAgICAg
IHJldHVybiBhLT52YWx1ZSgpOwpAQCAtNDY3LDcgKzQ4MiwxMiBAQCBjb25zdCBBdG9taWNTdHJp
bmcmIEVsZW1lbnQ6OmdldEF0dHJpYnV0CiAgICAgU3RyaW5nIGxvY2FsTmFtZSA9IHNob3VsZEln
bm9yZUF0dHJpYnV0ZUNhc2UodGhpcykgPyBuYW1lLmxvd2VyKCkgOiBuYW1lOwogICAgIGlmIChs
b2NhbE5hbWUgPT0gc3R5bGVBdHRyLmxvY2FsTmFtZSgpICYmICFtX2lzU3R5bGVBdHRyaWJ1dGVW
YWxpZCkKICAgICAgICAgdXBkYXRlU3R5bGVBdHRyaWJ1dGUoKTsKLSAgICAKKworI2lmIEVOQUJM
RShTVkcpCisgICAgaWYgKCFtX2FyZVNWR0F0dHJpYnV0ZXNWYWxpZCkKKyAgICAgICAgdXBkYXRl
QW5pbWF0ZWRTVkdBdHRyaWJ1dGUobmFtZS5pbXBsKCkpOworI2VuZGlmCisKICAgICBpZiAobmFt
ZWRBdHRyTWFwKQogICAgICAgICBpZiAoQXR0cmlidXRlKiBhID0gbmFtZWRBdHRyTWFwLT5nZXRB
dHRyaWJ1dGVJdGVtKGxvY2FsTmFtZSkpCiAgICAgICAgICAgICByZXR1cm4gYS0+dmFsdWUoKTsK
QEAgLTU3Nyw2ICs1OTcsMTIgQEAgYm9vbCBFbGVtZW50OjpoYXNBdHRyaWJ1dGVzKCkgY29uc3QK
IHsKICAgICBpZiAoIW1faXNTdHlsZUF0dHJpYnV0ZVZhbGlkKQogICAgICAgICB1cGRhdGVTdHls
ZUF0dHJpYnV0ZSgpOworCisjaWYgRU5BQkxFKFNWRykKKyAgICBpZiAoIW1fYXJlU1ZHQXR0cmli
dXRlc1ZhbGlkKQorICAgICAgICB1cGRhdGVBbmltYXRlZFNWR0F0dHJpYnV0ZSgwKTsKKyNlbmRp
ZgorCiAgICAgcmV0dXJuIG5hbWVkQXR0ck1hcCAmJiBuYW1lZEF0dHJNYXAtPmxlbmd0aCgpID4g
MDsKIH0KIApJbmRleDogV2ViQ29yZS9kb20vRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvZG9tL0VsZW1lbnQuaAkocmV2aXNpb24gMzUwMzMpCisrKyBXZWJDb3JlL2RvbS9FbGVtZW50
LmgJKHdvcmtpbmcgY29weSkKQEAgLTE1OSw3ICsxNTksNyBAQCBwdWJsaWM6CiAgICAgdmlydHVh
bCBib29sIGlzVVJMQXR0cmlidXRlKEF0dHJpYnV0ZSopIGNvbnN0OwogICAgIHZpcnR1YWwgY29u
c3QgUXVhbGlmaWVkTmFtZSYgaW1hZ2VTb3VyY2VBdHRyaWJ1dGVOYW1lKCkgY29uc3Q7CiAgICAg
dmlydHVhbCBTdHJpbmcgdGFyZ2V0KCkgY29uc3QgeyByZXR1cm4gU3RyaW5nKCk7IH0KLSAgICAg
ICAgCisKICAgICB2aXJ0dWFsIHZvaWQgZm9jdXMoYm9vbCByZXN0b3JlUHJldmlvdXNTZWxlY3Rp
b24gPSB0cnVlKTsKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlRm9jdXNBcHBlYXJhbmNlKGJvb2wg
cmVzdG9yZVByZXZpb3VzU2VsZWN0aW9uKTsKICAgICB2b2lkIGJsdXIoKTsKQEAgLTIwNSw3ICsy
MDUsMTEgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgY3JlYXRlQXR0cmlidXRlTWFwKCkg
Y29uc3Q7CiAKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlU3R5bGVBdHRyaWJ1dGUoKSBjb25zdCB7
fQotICAgIAorCisjaWYgRU5BQkxFKFNWRykKKyAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlQW5pbWF0
ZWRTVkdBdHRyaWJ1dGUoU3RyaW5nSW1wbCogbmFtZSkgY29uc3Qge30KKyNlbmRpZgorCiAgICAg
dm9pZCB1cGRhdGVGb2N1c0FwcGVhcmFuY2VTb29uQWZ0ZXJBdHRhY2goKTsKICAgICB2b2lkIGNh
bmNlbEZvY3VzQXBwZWFyYW5jZVVwZGF0ZSgpOwogCkBAIC0yMjEsNyArMjI1LDEzIEBAIHByb3Rl
Y3RlZDoKICAgICAvLyBFbGVtZW50IGJpdHMuCiAgICAgbXV0YWJsZSBib29sIG1faXNTdHlsZUF0
dHJpYnV0ZVZhbGlkIDogMTsKICAgICBtdXRhYmxlIGJvb2wgbV9zeW5jaHJvbml6aW5nU3R5bGVB
dHRyaWJ1dGUgOiAxOwotICAgIAorCisjaWYgRU5BQkxFKFNWRykKKyAgICAvLyBUaGVzZSBiaXQg
aXMgYXJlIHVzZWQgYnkgU1ZHRWxlbWVudCBzdWJjbGFzc2VzLCBhbmQgaXQgbGl2ZXMgaGVyZSBm
b3IgdGhlIHNhbWUgcmVhc29uIGFzIGFib3ZlLgorICAgIG11dGFibGUgYm9vbCBtX2FyZVNWR0F0
dHJpYnV0ZXNWYWxpZCA6IDE7CisgICAgbXV0YWJsZSBib29sIG1fc3luY2hyb25pemluZ1NWR0F0
dHJpYnV0ZXMgOiAxOworI2VuZGlmCisKIHByaXZhdGU6CiAgICAgYm9vbCBtX3BhcnNpbmdDaGls
ZHJlbkZpbmlzaGVkIDogMTsKIH07CkluZGV4OiBXZWJDb3JlL2RvbS9OYW1lZEF0dHJNYXAuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9OYW1lZEF0dHJNYXAuaAkocmV2aXNpb24gMzUwMzMp
CisrKyBXZWJDb3JlL2RvbS9OYW1lZEF0dHJNYXAuaAkod29ya2luZyBjb3B5KQpAQCAtODksMTEg
Kzg5LDExIEBAIHB1YmxpYzoKICAgICAKICAgICBib29sIG1hcHNFcXVpdmFsZW50KGNvbnN0IE5h
bWVkQXR0ck1hcCogb3RoZXJNYXApIGNvbnN0OwogCi1wcm90ZWN0ZWQ6CiAgICAgLy8gVGhlc2Ug
ZnVuY3Rpb25zIGFyZSBpbnRlcm5hbCwgYW5kIGRvIG5vIGVycm9yIGNoZWNraW5nLgogICAgIHZv
aWQgYWRkQXR0cmlidXRlKFBhc3NSZWZQdHI8QXR0cmlidXRlPik7CiAgICAgdm9pZCByZW1vdmVB
dHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSk7CiAKK3Byb3RlY3RlZDoKICAgICB2
aXJ0dWFsIHZvaWQgY2xlYXJBdHRyaWJ1dGVzKCk7CiAKICAgICB2b2lkIGRldGFjaEZyb21FbGVt
ZW50KCk7CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdBRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9zdmcvU1ZHQUVsZW1lbnQuY3BwCShyZXZpc2lvbiAzNTAzMykKKysrIFdlYkNvcmUv
c3ZnL1NWR0FFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjUsNyArNjUsNyBAQCBTdHJp
bmcgU1ZHQUVsZW1lbnQ6OnRpdGxlKCkgY29uc3QKICAgICByZXR1cm4gZ2V0QXR0cmlidXRlKFhM
aW5rTmFtZXM6OnRpdGxlQXR0cik7CiB9CiAKLUFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05T
KFNWR0FFbGVtZW50LCBTdHJpbmcsIFN0cmluZywgc3RyaW5nLCBUYXJnZXQsIHRhcmdldCwgU1ZH
TmFtZXM6OnRhcmdldEF0dHIsIG1fdGFyZ2V0KQorQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElP
TlMoU1ZHQUVsZW1lbnQsIFN0cmluZywgVGFyZ2V0LCB0YXJnZXQsIFNWR05hbWVzOjp0YXJnZXRB
dHRyKQogCiB2b2lkIFNWR0FFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShNYXBwZWRBdHRy
aWJ1dGUqIGF0dHIpCiB7CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdBRWxlbWVudC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0FFbGVtZW50LmgJKHJldmlzaW9uIDM1MDMzKQorKysgV2Vi
Q29yZS9zdmcvU1ZHQUVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNjcsNyArNjcsNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVD
TEFSQVRJT05TKFNWR1VSSVJlZmVyZW5jZSwgU3RyaW5nLCBIcmVmLCBocmVmKQogICAgICAgICBB
TklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdFeHRlcm5hbFJlc291cmNl
c1JlcXVpcmVkLCBib29sLCBFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291
cmNlc1JlcXVpcmVkKQogCi0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhT
VkdBRWxlbWVudCwgU3RyaW5nLCBTdHJpbmcsIFRhcmdldCwgdGFyZ2V0KQorICAgICAgICBBTklN
QVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHQUVsZW1lbnQsIFN0cmluZywgVGFyZ2V0LCB0
YXJnZXQpCiAgICAgfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogV2ViQ29yZS9z
dmcvU1ZHQW5pbWF0ZWRUZW1wbGF0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0Fu
aW1hdGVkVGVtcGxhdGUuaAkocmV2aXNpb24gMzUwMzQpCisrKyBXZWJDb3JlL3N2Zy9TVkdBbmlt
YXRlZFRlbXBsYXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTE0NSwxNCArMTQ1LDE4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICAgICAgY29uc3QgUXVhbGlmaWVkTmFtZSYgbV9hc3NvY2lhdGVk
QXR0cmlidXRlTmFtZTsKICAgICB9OwogCisgICAgdHlwZWRlZiB2b2lkICgqQW5pbWF0ZWRQcm9w
ZXJ0eVN5bmNocm9uaXplcikoY29uc3QgU1ZHRWxlbWVudCopOworCiAgICAgdGVtcGxhdGUgPGNs
YXNzIFR5cGUsIGNsYXNzIFNWR0VsZW1lbnRTdWJDbGFzcz4KLSAgICBQYXNzUmVmUHRyPFR5cGU+
IGxvb2t1cE9yQ3JlYXRlV3JhcHBlcihjb25zdCBTVkdFbGVtZW50U3ViQ2xhc3MqIGVsZW1lbnQs
IGNvbnN0IFF1YWxpZmllZE5hbWUmIGRvbUF0dHJOYW1lLCBjb25zdCBBdG9taWNTdHJpbmcmIGF0
dHJJZGVudGlmaWVyKQorICAgIFBhc3NSZWZQdHI8VHlwZT4gbG9va3VwT3JDcmVhdGVXcmFwcGVy
KGNvbnN0IFNWR0VsZW1lbnRTdWJDbGFzcyogZWxlbWVudCwgY29uc3QgUXVhbGlmaWVkTmFtZSYg
ZG9tQXR0ck5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgQXRvbWljU3RyaW5nJiBhdHRySWRlbnRpZmllciwgQW5pbWF0ZWRQcm9wZXJ0eVN5bmNo
cm9uaXplciBzeW5jaHJvbml6ZXIpCiAgICAgewogICAgICAgICBTVkdBbmltYXRlZFR5cGVXcmFw
cGVyS2V5IGtleShlbGVtZW50LCBhdHRySWRlbnRpZmllcik7CiAgICAgICAgIFJlZlB0cjxUeXBl
PiB3cmFwcGVyID0gc3RhdGljX2Nhc3Q8VHlwZSo+KFR5cGU6OndyYXBwZXJDYWNoZSgpLT5nZXQo
a2V5KSk7CiAKICAgICAgICAgaWYgKCF3cmFwcGVyKSB7CiAgICAgICAgICAgICB3cmFwcGVyID0g
VHlwZTo6Y3JlYXRlKGVsZW1lbnQsIGRvbUF0dHJOYW1lKTsKKyAgICAgICAgICAgIGVsZW1lbnQt
PmFkZFNWR1Byb3BlcnR5U3luY2hyb25pemVyKGRvbUF0dHJOYW1lLCBzeW5jaHJvbml6ZXIpOwog
ICAgICAgICAgICAgVHlwZTo6d3JhcHBlckNhY2hlKCktPnNldChrZXksIHdyYXBwZXIuZ2V0KCkp
OwogICAgICAgICB9CiAKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0NpcmNsZUVsZW1lbnQuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0NpcmNsZUVsZW1lbnQuY3BwCShyZXZpc2lvbiAz
NTAzMykKKysrIFdlYkNvcmUvc3ZnL1NWR0NpcmNsZUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0yNyw2ICsyNyw3IEBACiAKICNpbmNsdWRlICJGbG9hdFBvaW50LmgiCiAjaW5jbHVkZSAi
UmVuZGVyUGF0aC5oIgorI2luY2x1ZGUgIlNWR0xlbmd0aC5oIgogI2luY2x1ZGUgIlNWR05hbWVz
LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTM2LDkgKzM3LDkgQEAgU1ZHQ2lyY2xlRWxl
bWVudDo6U1ZHQ2lyY2xlRWxlbWVudChjb25zdAogICAgICwgU1ZHVGVzdHMoKQogICAgICwgU1ZH
TGFuZ1NwYWNlKCkKICAgICAsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQoKQotICAgICwg
bV9jeChTVkdMZW5ndGgodGhpcywgTGVuZ3RoTW9kZVdpZHRoKSkKLSAgICAsIG1fY3koU1ZHTGVu
Z3RoKHRoaXMsIExlbmd0aE1vZGVIZWlnaHQpKQotICAgICwgbV9yKFNWR0xlbmd0aCh0aGlzLCBM
ZW5ndGhNb2RlT3RoZXIpKQorICAgICwgbV9jeCh0aGlzLCBMZW5ndGhNb2RlV2lkdGgpCisgICAg
LCBtX2N5KHRoaXMsIExlbmd0aE1vZGVIZWlnaHQpCisgICAgLCBtX3IodGhpcywgTGVuZ3RoTW9k
ZU90aGVyKQogewogfQogCkBAIC00Niw5ICs0Nyw5IEBAIFNWR0NpcmNsZUVsZW1lbnQ6On5TVkdD
aXJjbGVFbGVtZW50KCkKIHsKIH0KIAotQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZH
Q2lyY2xlRWxlbWVudCwgU1ZHTGVuZ3RoLCBMZW5ndGgsIGxlbmd0aCwgQ3gsIGN4LCBTVkdOYW1l
czo6Y3hBdHRyLCBtX2N4KQotQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHQ2lyY2xl
RWxlbWVudCwgU1ZHTGVuZ3RoLCBMZW5ndGgsIGxlbmd0aCwgQ3ksIGN5LCBTVkdOYW1lczo6Y3lB
dHRyLCBtX2N5KQotQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHQ2lyY2xlRWxlbWVu
dCwgU1ZHTGVuZ3RoLCBMZW5ndGgsIGxlbmd0aCwgUiwgciwgU1ZHTmFtZXM6OnJBdHRyLCBtX3Ip
CitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdDaXJjbGVFbGVtZW50LCBTVkdMZW5n
dGgsIEN4LCBjeCwgU1ZHTmFtZXM6OmN4QXR0cikKK0FOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJ
T05TKFNWR0NpcmNsZUVsZW1lbnQsIFNWR0xlbmd0aCwgQ3ksIGN5LCBTVkdOYW1lczo6Y3lBdHRy
KQorQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHQ2lyY2xlRWxlbWVudCwgU1ZHTGVu
Z3RoLCBSLCByLCBTVkdOYW1lczo6ckF0dHIpCiAKIHZvaWQgU1ZHQ2lyY2xlRWxlbWVudDo6cGFy
c2VNYXBwZWRBdHRyaWJ1dGUoTWFwcGVkQXR0cmlidXRlKiBhdHRyKQogewpJbmRleDogV2ViQ29y
ZS9zdmcvU1ZHQ2lyY2xlRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0Np
cmNsZUVsZW1lbnQuaAkocmV2aXNpb24gMzUwMzMpCisrKyBXZWJDb3JlL3N2Zy9TVkdDaXJjbGVF
bGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTUzLDkgKzUzLDkgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgIHByaXZhdGU6CiAgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVD
TEFSQVRJT05TKFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGJvb2wsIEV4dGVybmFsUmVz
b3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpCiAKLSAgICAgICAgQU5J
TUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0NpcmNsZUVsZW1lbnQsIFNWR0xlbmd0aCwg
U1ZHTGVuZ3RoLCBDeCwgY3gpCi0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9O
UyhTVkdDaXJjbGVFbGVtZW50LCBTVkdMZW5ndGgsIFNWR0xlbmd0aCwgQ3ksIGN5KQotICAgICAg
ICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHQ2lyY2xlRWxlbWVudCwgU1ZHTGVu
Z3RoLCBTVkdMZW5ndGgsIFIsIHIpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFU
SU9OUyhTVkdDaXJjbGVFbGVtZW50LCBTVkdMZW5ndGgsIEN4LCBjeCkKKyAgICAgICAgQU5JTUFU
RURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0NpcmNsZUVsZW1lbnQsIFNWR0xlbmd0aCwgQ3ks
IGN5KQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHQ2lyY2xlRWxl
bWVudCwgU1ZHTGVuZ3RoLCBSLCByKQogICAgIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
SW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0NsaXBQYXRoRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9zdmcvU1ZHQ2xpcFBhdGhFbGVtZW50LmNwcAkocmV2aXNpb24gMzUwMzMpCisrKyBX
ZWJDb3JlL3N2Zy9TVkdDbGlwUGF0aEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Niw3
ICs0Niw3IEBAIFNWR0NsaXBQYXRoRWxlbWVudDo6flNWR0NsaXBQYXRoRWxlbWVudCgKIHsKIH0K
IAotQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHQ2xpcFBhdGhFbGVtZW50LCBpbnQs
IEVudW1lcmF0aW9uLCBlbnVtZXJhdGlvbiwgQ2xpcFBhdGhVbml0cywgY2xpcFBhdGhVbml0cywg
U1ZHTmFtZXM6OmNsaXBQYXRoVW5pdHNBdHRyLCBtX2NsaXBQYXRoVW5pdHMpCitBTklNQVRFRF9Q
Uk9QRVJUWV9ERUZJTklUSU9OUyhTVkdDbGlwUGF0aEVsZW1lbnQsIGludCwgQ2xpcFBhdGhVbml0
cywgY2xpcFBhdGhVbml0cywgU1ZHTmFtZXM6OmNsaXBQYXRoVW5pdHNBdHRyKQogCiB2b2lkIFNW
R0NsaXBQYXRoRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoTWFwcGVkQXR0cmlidXRlKiBh
dHRyKQogewpJbmRleDogV2ViQ29yZS9zdmcvU1ZHQ2xpcFBhdGhFbGVtZW50LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9zdmcvU1ZHQ2xpcFBhdGhFbGVtZW50LmgJKHJldmlzaW9uIDM1MDMzKQor
KysgV2ViQ29yZS9zdmcvU1ZHQ2xpcFBhdGhFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTU2
LDcgKzU2LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHByaXZhdGU6CiAgICAgICAgIEFO
SU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJT05TKFNWR0V4dGVybmFsUmVzb3VyY2Vz
UmVxdWlyZWQsIGJvb2wsIEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3Vy
Y2VzUmVxdWlyZWQpCiAKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNW
R0NsaXBQYXRoRWxlbWVudCwgaW50LCBpbnQsIENsaXBQYXRoVW5pdHMsIGNsaXBQYXRoVW5pdHMp
CisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdDbGlwUGF0aEVsZW1l
bnQsIGludCwgQ2xpcFBhdGhVbml0cywgY2xpcFBhdGhVbml0cykKIAogICAgICAgICBSZWZQdHI8
U1ZHUmVzb3VyY2VDbGlwcGVyPiBtX2NsaXBwZXI7CiAgICAgfTsKSW5kZXg6IFdlYkNvcmUvc3Zn
L1NWR0NvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb25FbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3N2Zy9TVkdDb21wb25lbnRUcmFuc2ZlckZ1bmN0aW9uRWxlbWVudC5jcHAJKHJldmlz
aW9uIDM1MDMzKQorKysgV2ViQ29yZS9zdmcvU1ZHQ29tcG9uZW50VHJhbnNmZXJGdW5jdGlvbkVs
ZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NywxMyArNDcsMTMgQEAgU1ZHQ29tcG9uZW50
VHJhbnNmZXJGdW5jdGlvbkVsZW1lbnQ6On5TVgogewogfQogCi1BTklNQVRFRF9QUk9QRVJUWV9E
RUZJTklUSU9OUyhTVkdDb21wb25lbnRUcmFuc2ZlckZ1bmN0aW9uRWxlbWVudCwgaW50LCBFbnVt
ZXJhdGlvbiwgZW51bWVyYXRpb24sIFR5cGUsIHR5cGUsIFNWR05hbWVzOjp0eXBlQXR0ciwgbV90
eXBlKQotQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHQ29tcG9uZW50VHJhbnNmZXJG
dW5jdGlvbkVsZW1lbnQsIFNWR051bWJlckxpc3QqLCBOdW1iZXJMaXN0LCBudW1iZXJMaXN0LCBU
YWJsZVZhbHVlcywgdGFibGVWYWx1ZXMsIFNWR05hbWVzOjp0YWJsZVZhbHVlc0F0dHIsIG1fdGFi
bGVWYWx1ZXMuZ2V0KCkpCi1BTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdDb21wb25l
bnRUcmFuc2ZlckZ1bmN0aW9uRWxlbWVudCwgZmxvYXQsIE51bWJlciwgbnVtYmVyLCBTbG9wZSwg
c2xvcGUsIFNWR05hbWVzOjpzbG9wZUF0dHIsIG1fc2xvcGUpCi1BTklNQVRFRF9QUk9QRVJUWV9E
RUZJTklUSU9OUyhTVkdDb21wb25lbnRUcmFuc2ZlckZ1bmN0aW9uRWxlbWVudCwgZmxvYXQsIE51
bWJlciwgbnVtYmVyLCBJbnRlcmNlcHQsIGludGVyY2VwdCwgU1ZHTmFtZXM6OmludGVyY2VwdEF0
dHIsIG1faW50ZXJjZXB0KQotQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHQ29tcG9u
ZW50VHJhbnNmZXJGdW5jdGlvbkVsZW1lbnQsIGZsb2F0LCBOdW1iZXIsIG51bWJlciwgQW1wbGl0
dWRlLCBhbXBsaXR1ZGUsIFNWR05hbWVzOjphbXBsaXR1ZGVBdHRyLCBtX2FtcGxpdHVkZSkKLUFO
SU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0NvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb25F
bGVtZW50LCBmbG9hdCwgTnVtYmVyLCBudW1iZXIsIEV4cG9uZW50LCBleHBvbmVudCwgU1ZHTmFt
ZXM6OmV4cG9uZW50QXR0ciwgbV9leHBvbmVudCkKLUFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJ
T05TKFNWR0NvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb25FbGVtZW50LCBmbG9hdCwgTnVtYmVyLCBu
dW1iZXIsIE9mZnNldCwgb2Zmc2V0LCBTVkdOYW1lczo6b2Zmc2V0QXR0ciwgbV9vZmZzZXQpCitB
TklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdDb21wb25lbnRUcmFuc2ZlckZ1bmN0aW9u
RWxlbWVudCwgaW50LCBUeXBlLCB0eXBlLCBTVkdOYW1lczo6dHlwZUF0dHIpCitBTklNQVRFRF9Q
Uk9QRVJUWV9ERUZJTklUSU9OU19SRUZDT1VOVEVEKFNWR0NvbXBvbmVudFRyYW5zZmVyRnVuY3Rp
b25FbGVtZW50LCBTVkdOdW1iZXJMaXN0LCBUYWJsZVZhbHVlcywgdGFibGVWYWx1ZXMsIFNWR05h
bWVzOjp0YWJsZVZhbHVlc0F0dHIpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdD
b21wb25lbnRUcmFuc2ZlckZ1bmN0aW9uRWxlbWVudCwgZmxvYXQsIFNsb3BlLCBzbG9wZSwgU1ZH
TmFtZXM6OnNsb3BlQXR0cikKK0FOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0NvbXBv
bmVudFRyYW5zZmVyRnVuY3Rpb25FbGVtZW50LCBmbG9hdCwgSW50ZXJjZXB0LCBpbnRlcmNlcHQs
IFNWR05hbWVzOjppbnRlcmNlcHRBdHRyKQorQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMo
U1ZHQ29tcG9uZW50VHJhbnNmZXJGdW5jdGlvbkVsZW1lbnQsIGZsb2F0LCBBbXBsaXR1ZGUsIGFt
cGxpdHVkZSwgU1ZHTmFtZXM6OmFtcGxpdHVkZUF0dHIpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJ
TklUSU9OUyhTVkdDb21wb25lbnRUcmFuc2ZlckZ1bmN0aW9uRWxlbWVudCwgZmxvYXQsIEV4cG9u
ZW50LCBleHBvbmVudCwgU1ZHTmFtZXM6OmV4cG9uZW50QXR0cikKK0FOSU1BVEVEX1BST1BFUlRZ
X0RFRklOSVRJT05TKFNWR0NvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb25FbGVtZW50LCBmbG9hdCwg
T2Zmc2V0LCBvZmZzZXQsIFNWR05hbWVzOjpvZmZzZXRBdHRyKQogCiB2b2lkIFNWR0NvbXBvbmVu
dFRyYW5zZmVyRnVuY3Rpb25FbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShNYXBwZWRBdHRy
aWJ1dGUqIGF0dHIpCiB7CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdDb21wb25lbnRUcmFuc2ZlckZ1
bmN0aW9uRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0NvbXBvbmVudFRy
YW5zZmVyRnVuY3Rpb25FbGVtZW50LmgJKHJldmlzaW9uIDM1MDMzKQorKysgV2ViQ29yZS9zdmcv
U1ZHQ29tcG9uZW50VHJhbnNmZXJGdW5jdGlvbkVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAt
NDQsMTMgKzQ0LDE0IEBAIG5hbWVzcGFjZSBXZWJDb3JlCiAgICAgICAgIENvbXBvbmVudFRyYW5z
ZmVyRnVuY3Rpb24gdHJhbnNmZXJGdW5jdGlvbigpIGNvbnN0OwogCiAgICAgcHJpdmF0ZToKLSAg
ICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0NvbXBvbmVudFRyYW5zZmVy
RnVuY3Rpb25FbGVtZW50LCBpbnQsIGludCwgVHlwZSwgdHlwZSkKLSAgICAgICAgQU5JTUFURURf
UFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0NvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb25FbGVtZW50
LCBTVkdOdW1iZXJMaXN0KiwgUmVmUHRyPFNWR051bWJlckxpc3Q+LCBUYWJsZVZhbHVlcywgdGFi
bGVWYWx1ZXMpCi0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdDb21w
b25lbnRUcmFuc2ZlckZ1bmN0aW9uRWxlbWVudCwgZmxvYXQsIGZsb2F0LCBTbG9wZSwgc2xvcGUp
Ci0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdDb21wb25lbnRUcmFu
c2ZlckZ1bmN0aW9uRWxlbWVudCwgZmxvYXQsIGZsb2F0LCBJbnRlcmNlcHQsIGludGVyY2VwdCkK
LSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0NvbXBvbmVudFRyYW5z
ZmVyRnVuY3Rpb25FbGVtZW50LCBmbG9hdCwgZmxvYXQsIEFtcGxpdHVkZSwgYW1wbGl0dWRlKQot
ICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHQ29tcG9uZW50VHJhbnNm
ZXJGdW5jdGlvbkVsZW1lbnQsIGZsb2F0LCBmbG9hdCwgRXhwb25lbnQsIGV4cG9uZW50KQotICAg
ICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHQ29tcG9uZW50VHJhbnNmZXJG
dW5jdGlvbkVsZW1lbnQsIGZsb2F0LCBmbG9hdCwgT2Zmc2V0LCBvZmZzZXQpCisgICAgICAgIEFO
SU1BVEVEX1BST1BFUlRZX1NUQVJUX0RFQ0xBUkFUSU9OUworICAgICAgICBBTklNQVRFRF9QUk9Q
RVJUWV9ERUNMQVJBVElPTlMoU1ZHQ29tcG9uZW50VHJhbnNmZXJGdW5jdGlvbkVsZW1lbnQsIGlu
dCwgVHlwZSwgdHlwZSkKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TX1JF
RkNPVU5URUQoU1ZHQ29tcG9uZW50VHJhbnNmZXJGdW5jdGlvbkVsZW1lbnQsIFNWR051bWJlckxp
c3QsIFRhYmxlVmFsdWVzLCB0YWJsZVZhbHVlcykKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlf
REVDTEFSQVRJT05TKFNWR0NvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb25FbGVtZW50LCBmbG9hdCwg
U2xvcGUsIHNsb3BlKQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZH
Q29tcG9uZW50VHJhbnNmZXJGdW5jdGlvbkVsZW1lbnQsIGZsb2F0LCBJbnRlcmNlcHQsIGludGVy
Y2VwdCkKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0NvbXBvbmVu
dFRyYW5zZmVyRnVuY3Rpb25FbGVtZW50LCBmbG9hdCwgQW1wbGl0dWRlLCBhbXBsaXR1ZGUpCisg
ICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdDb21wb25lbnRUcmFuc2Zl
ckZ1bmN0aW9uRWxlbWVudCwgZmxvYXQsIEV4cG9uZW50LCBleHBvbmVudCkKKyAgICAgICAgQU5J
TUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0NvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb25F
bGVtZW50LCBmbG9hdCwgT2Zmc2V0LCBvZmZzZXQpCiAgICAgfTsKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHQ3Vyc29yRWxlbWVudC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9zdmcvU1ZHQ3Vyc29yRWxlbWVudC5jcHAJKHJldmlzaW9uIDM1MDMzKQor
KysgV2ViQ29yZS9zdmcvU1ZHQ3Vyc29yRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM2
LDggKzM2LDggQEAgU1ZHQ3Vyc29yRWxlbWVudDo6U1ZHQ3Vyc29yRWxlbWVudChjb25zdAogICAg
ICwgU1ZHVGVzdHMoKQogICAgICwgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCgpCiAgICAg
LCBTVkdVUklSZWZlcmVuY2UoKQotICAgICwgbV94KDAsIExlbmd0aE1vZGVXaWR0aCkKLSAgICAs
IG1feSgwLCBMZW5ndGhNb2RlSGVpZ2h0KQorICAgICwgbV94KHN0YXRpY19jYXN0PFNWR1N0eWxl
ZEVsZW1lbnQqPigwKSwgTGVuZ3RoTW9kZVdpZHRoKQorICAgICwgbV95KHN0YXRpY19jYXN0PFNW
R1N0eWxlZEVsZW1lbnQqPigwKSwgTGVuZ3RoTW9kZUhlaWdodCkKIHsKIH0KIApAQCAtNDUsOCAr
NDUsOCBAQCBTVkdDdXJzb3JFbGVtZW50Ojp+U1ZHQ3Vyc29yRWxlbWVudCgpCiB7CiB9CiAKLUFO
SU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0N1cnNvckVsZW1lbnQsIFNWR0xlbmd0aCwg
TGVuZ3RoLCBsZW5ndGgsIFgsIHgsIFNWR05hbWVzOjp4QXR0ciwgbV94KQotQU5JTUFURURfUFJP
UEVSVFlfREVGSU5JVElPTlMoU1ZHQ3Vyc29yRWxlbWVudCwgU1ZHTGVuZ3RoLCBMZW5ndGgsIGxl
bmd0aCwgWSwgeSwgU1ZHTmFtZXM6OnlBdHRyLCBtX3kpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJ
TklUSU9OUyhTVkdDdXJzb3JFbGVtZW50LCBTVkdMZW5ndGgsIFgsIHgsIFNWR05hbWVzOjp4QXR0
cikKK0FOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0N1cnNvckVsZW1lbnQsIFNWR0xl
bmd0aCwgWSwgeSwgU1ZHTmFtZXM6OnlBdHRyKQogCiB2b2lkIFNWR0N1cnNvckVsZW1lbnQ6OnBh
cnNlTWFwcGVkQXR0cmlidXRlKE1hcHBlZEF0dHJpYnV0ZSogYXR0cikKIHsKSW5kZXg6IFdlYkNv
cmUvc3ZnL1NWR0N1cnNvckVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdD
dXJzb3JFbGVtZW50LmgJKHJldmlzaW9uIDM1MDMzKQorKysgV2ViQ29yZS9zdmcvU1ZHQ3Vyc29y
RWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC01Nyw4ICs1Nyw4IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZH
RXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgYm9vbCwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJl
ZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkKICAgICAgICAgQU5JTUFURURfUFJPUEVSVFlf
Rk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHVVJJUmVmZXJlbmNlLCBTdHJpbmcsIEhyZWYsIGhyZWYp
CiAKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0N1cnNvckVsZW1l
bnQsIFNWR0xlbmd0aCwgU1ZHTGVuZ3RoLCBYLCB4KQotICAgICAgICBBTklNQVRFRF9QUk9QRVJU
WV9ERUNMQVJBVElPTlMoU1ZHQ3Vyc29yRWxlbWVudCwgU1ZHTGVuZ3RoLCBTVkdMZW5ndGgsIFks
IHkpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdDdXJzb3JFbGVt
ZW50LCBTVkdMZW5ndGgsIFgsIHgpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFU
SU9OUyhTVkdDdXJzb3JFbGVtZW50LCBTVkdMZW5ndGgsIFksIHkpCiAKICAgICAgICAgSGFzaFNl
dDxTVkdFbGVtZW50Kj4gbV9jbGllbnRzOwogICAgIH07CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdF
bGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmNwcAkocmV2
aXNpb24gMzUwMzMpCisrKyBXZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gICAgQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2
LCAyMDA3IE5pa29sYXMgWmltbWVybWFubiA8emltbWVybWFubkBrZGUub3JnPgorICAgIENvcHly
aWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiwgMjAwNywgMjAwOCBOaWtvbGFzIFppbW1lcm1hbm4g
PHppbW1lcm1hbm5Aa2RlLm9yZz4KICAgICAgICAgICAgICAgICAgIDIwMDQsIDIwMDUsIDIwMDYs
IDIwMDggUm9iIEJ1aXMgPGJ1aXNAa2RlLm9yZz4KICAgICBDb3B5cmlnaHQgKEMpIDIwMDggQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogCkBAIC0yNjksNiArMjY5LDMwIEBAIHZvaWQg
U1ZHRWxlbWVudDo6YXR0cmlidXRlQ2hhbmdlZChBdHRyaWIKICAgICBzdmdBdHRyaWJ1dGVDaGFu
Z2VkKGF0dHItPm5hbWUoKSk7CiB9CiAKK3ZvaWQgU1ZHRWxlbWVudDo6dXBkYXRlQW5pbWF0ZWRT
VkdBdHRyaWJ1dGUoU3RyaW5nSW1wbCogbmFtZSkgY29uc3QKK3sKKyAgICBBU1NFUlQoIW1fYXJl
U1ZHQXR0cmlidXRlc1ZhbGlkKTsKKworICAgIGlmIChtX3N5bmNocm9uaXppbmdTVkdBdHRyaWJ1
dGVzKQorICAgICAgICByZXR1cm47CisKKyAgICBtX3N5bmNocm9uaXppbmdTVkdBdHRyaWJ1dGVz
ID0gdHJ1ZTsKKworICAgIGlmIChuYW1lKQorICAgICAgICBpbnZva2VTVkdQcm9wZXJ0eVN5bmNo
cm9uaXplcihuYW1lKTsKKyAgICBlbHNlIHsKKyAgICAgICAgaW52b2tlQWxsU1ZHUHJvcGVydHlT
eW5jaHJvbml6ZXJzKCk7CisgICAgICAgIHNldFN5bmNocm9uaXplZFNWR0F0dHJpYnV0ZXModHJ1
ZSk7CisgICAgfQorCisgICAgbV9zeW5jaHJvbml6aW5nU1ZHQXR0cmlidXRlcyA9IGZhbHNlOwor
fQorCit2b2lkIFNWR0VsZW1lbnQ6OnNldFN5bmNocm9uaXplZFNWR0F0dHJpYnV0ZXMoYm9vbCB2
YWx1ZSkgY29uc3QKK3sKKyAgICBtX2FyZVNWR0F0dHJpYnV0ZXNWYWxpZCA9IHZhbHVlOworfQor
CiB9CiAKICNlbmRpZiAvLyBFTkFCTEUoU1ZHKQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHRWxlbWVu
dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuaAkocmV2aXNpb24gMzUw
MzMpCisrKyBXZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTMwLDEx
MSArMzAsMTc1IEBACiAjaW5jbHVkZSAiU1ZHQW5pbWF0ZWRUZW1wbGF0ZS5oIgogI2luY2x1ZGUg
IlNWR0RvY3VtZW50RXh0ZW5zaW9ucy5oIgogI2luY2x1ZGUgIlNWR05hbWVzLmgiCisjaW5jbHVk
ZSAiU3luY2hyb25pemFibGVUeXBlV3JhcHBlci5oIgogCi0jZGVmaW5lIEFOSU1BVEVEX1BST1BF
UlRZX0VNUFRZX0RFQ0xBUkFUSU9OUyhCYXJlVHlwZSwgTnVsbFR5cGUsIFVwcGVyUHJvcGVydHks
IExvd2VyUHJvcGVydHkpIFwKKyNkZWZpbmUgQU5JTUFURURfUFJPUEVSVFlfRU1QVFlfREVDTEFS
QVRJT05TX0lOVEVSTkFMKERlY29yYXRlZFR5cGUsIE51bGxUeXBlLCBVcHBlclByb3BlcnR5LCBM
b3dlclByb3BlcnR5KSBcCiBwdWJsaWM6IFwKLSAgICB2aXJ0dWFsIEJhcmVUeXBlIExvd2VyUHJv
cGVydHkoKSBjb25zdCB7IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOyByZXR1cm4gTnVsbFR5cGU7IH0g
XAotICAgIHZpcnR1YWwgdm9pZCBzZXQjI1VwcGVyUHJvcGVydHkoQmFyZVR5cGUgbmV3VmFsdWUp
IHsgQVNTRVJUX05PVF9SRUFDSEVEKCk7IH1cCi0gICAgdmlydHVhbCBCYXJlVHlwZSBMb3dlclBy
b3BlcnR5IyNCYXNlVmFsdWUoKSBjb25zdCB7IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOyByZXR1cm4g
TnVsbFR5cGU7IH0gXAotICAgIHZpcnR1YWwgdm9pZCBzZXQjI1VwcGVyUHJvcGVydHkjI0Jhc2VW
YWx1ZShCYXJlVHlwZSBuZXdWYWx1ZSkgeyBBU1NFUlRfTk9UX1JFQUNIRUQoKTsgfSBcCisgICAg
dmlydHVhbCBEZWNvcmF0ZWRUeXBlIExvd2VyUHJvcGVydHkoKSBjb25zdCB7IEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOyByZXR1cm4gTnVsbFR5cGU7IH0gXAorICAgIHZpcnR1YWwgdm9pZCBzZXQjI1Vw
cGVyUHJvcGVydHkoRGVjb3JhdGVkVHlwZSkgeyBBU1NFUlRfTk9UX1JFQUNIRUQoKTsgfSBcCisg
ICAgdmlydHVhbCBEZWNvcmF0ZWRUeXBlIExvd2VyUHJvcGVydHkjI0Jhc2VWYWx1ZSgpIGNvbnN0
IHsgQVNTRVJUX05PVF9SRUFDSEVEKCk7IHJldHVybiBOdWxsVHlwZTsgfSBcCisgICAgdmlydHVh
bCB2b2lkIHNldCMjVXBwZXJQcm9wZXJ0eSMjQmFzZVZhbHVlKERlY29yYXRlZFR5cGUpIHsgQVNT
RVJUX05PVF9SRUFDSEVEKCk7IH0gXAorICAgIHZpcnR1YWwgdm9pZCBzeW5jaHJvbml6ZSMjVXBw
ZXJQcm9wZXJ0eSgpIGNvbnN0IHsgQVNTRVJUX05PVF9SRUFDSEVEKCk7IH0gXAorICAgIHZpcnR1
YWwgQW5pbWF0ZWRQcm9wZXJ0eVN5bmNocm9uaXplciBzeW5jaHJvbml6ZXJGb3IjI1VwcGVyUHJv
cGVydHkoKSBjb25zdCB7IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOyByZXR1cm4gQW5pbWF0ZWRQcm9w
ZXJ0eVN5bmNocm9uaXplcigpOyB9IFwKICAgICB2aXJ0dWFsIHZvaWQgc3RhcnQjI1VwcGVyUHJv
cGVydHkoKSBjb25zdCB7IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOyB9IFwKICAgICB2aXJ0dWFsIHZv
aWQgc3RvcCMjVXBwZXJQcm9wZXJ0eSgpIHsgQVNTRVJUX05PVF9SRUFDSEVEKCk7IH0KIAotI2Rl
ZmluZSBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhGb3J3YXJkQ2xhc3Ms
IEJhcmVUeXBlLCBVcHBlclByb3BlcnR5LCBMb3dlclByb3BlcnR5KSBcCisjZGVmaW5lIEFOSU1B
VEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJT05TX0lOVEVSTkFMKEZvcndhcmRDbGFzcywg
RGVjb3JhdGVkVHlwZSwgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9wZXJ0eSkgXAogcHVibGljOiBc
Ci0gICAgdmlydHVhbCBCYXJlVHlwZSBMb3dlclByb3BlcnR5KCkgY29uc3QgeyByZXR1cm4gRm9y
d2FyZENsYXNzOjpMb3dlclByb3BlcnR5KCk7IH0gXAotICAgIHZpcnR1YWwgdm9pZCBzZXQjI1Vw
cGVyUHJvcGVydHkoQmFyZVR5cGUgbmV3VmFsdWUpIHsgRm9yd2FyZENsYXNzOjpzZXQjI1VwcGVy
UHJvcGVydHkobmV3VmFsdWUpOyB9IFwKLSAgICB2aXJ0dWFsIEJhcmVUeXBlIExvd2VyUHJvcGVy
dHkjI0Jhc2VWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIEZvcndhcmRDbGFzczo6TG93ZXJQcm9wZXJ0
eSMjQmFzZVZhbHVlKCk7IH0gXAotICAgIHZpcnR1YWwgdm9pZCBzZXQjI1VwcGVyUHJvcGVydHkj
I0Jhc2VWYWx1ZShCYXJlVHlwZSBuZXdWYWx1ZSkgeyBGb3J3YXJkQ2xhc3M6OnNldCMjVXBwZXJQ
cm9wZXJ0eSMjQmFzZVZhbHVlKG5ld1ZhbHVlKTsgfSBcCisgICAgdmlydHVhbCBEZWNvcmF0ZWRU
eXBlIExvd2VyUHJvcGVydHkoKSBjb25zdCB7IHJldHVybiBGb3J3YXJkQ2xhc3M6Okxvd2VyUHJv
cGVydHkoKTsgfSBcCisgICAgdmlydHVhbCB2b2lkIHNldCMjVXBwZXJQcm9wZXJ0eShEZWNvcmF0
ZWRUeXBlIG5ld1ZhbHVlKSB7IEZvcndhcmRDbGFzczo6c2V0IyNVcHBlclByb3BlcnR5KG5ld1Zh
bHVlKTsgfSBcCisgICAgdmlydHVhbCBEZWNvcmF0ZWRUeXBlIExvd2VyUHJvcGVydHkjI0Jhc2VW
YWx1ZSgpIGNvbnN0IHsgcmV0dXJuIEZvcndhcmRDbGFzczo6TG93ZXJQcm9wZXJ0eSMjQmFzZVZh
bHVlKCk7IH0gXAorICAgIHZpcnR1YWwgdm9pZCBzZXQjI1VwcGVyUHJvcGVydHkjI0Jhc2VWYWx1
ZShEZWNvcmF0ZWRUeXBlIG5ld1ZhbHVlKSB7IEZvcndhcmRDbGFzczo6c2V0IyNVcHBlclByb3Bl
cnR5IyNCYXNlVmFsdWUobmV3VmFsdWUpOyB9IFwKKyAgICB2aXJ0dWFsIHZvaWQgc3luY2hyb25p
emUjI1VwcGVyUHJvcGVydHkoKSBjb25zdCB7IEZvcndhcmRDbGFzczo6c3luY2hyb25pemUjI1Vw
cGVyUHJvcGVydHkoKTsgfSBcCisgICAgdmlydHVhbCBBbmltYXRlZFByb3BlcnR5U3luY2hyb25p
emVyIHN5bmNocm9uaXplckZvciMjVXBwZXJQcm9wZXJ0eSgpIGNvbnN0IHsgcmV0dXJuIEZvcndh
cmRDbGFzczo6c3luY2hyb25pemVyRm9yIyNVcHBlclByb3BlcnR5KCk7IH0gXAogICAgIHZpcnR1
YWwgdm9pZCBzdGFydCMjVXBwZXJQcm9wZXJ0eSgpIGNvbnN0IHsgRm9yd2FyZENsYXNzOjpzdGFy
dCMjVXBwZXJQcm9wZXJ0eSgpOyB9IFwKICAgICB2aXJ0dWFsIHZvaWQgc3RvcCMjVXBwZXJQcm9w
ZXJ0eSgpIHsgRm9yd2FyZENsYXNzOjpzdG9wIyNVcHBlclByb3BlcnR5KCk7IH0KIAotI2RlZmlu
ZSBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlNfSU5URVJOQUwoQ2xhc3NUeXBlLCBDbGFz
c1N0b3JhZ2VUeXBlLCBCYXJlVHlwZSwgU3RvcmFnZVR5cGUsIFVwcGVyUHJvcGVydHksIExvd2Vy
UHJvcGVydHkpIFwKLWNsYXNzIFNWR0FuaW1hdGVkVGVtcGxhdGUjI1VwcGVyUHJvcGVydHkgOiBw
dWJsaWMgU1ZHQW5pbWF0ZWRUZW1wbGF0ZTxCYXJlVHlwZT4geyBcCisjZGVmaW5lIEFOSU1BVEVE
X1BST1BFUlRZX0RFQ0xBUkFUSU9OU19JTlRFUk5BTChDbGFzc1R5cGUsIERlY29yYXRlZFR5cGUs
IFN0b3JhZ2VUeXBlLCBVcHBlclByb3BlcnR5LCBMb3dlclByb3BlcnR5KSBcCitjbGFzcyBTVkdB
bmltYXRlZFRlbXBsYXRlIyNVcHBlclByb3BlcnR5IDogcHVibGljIFNWR0FuaW1hdGVkVGVtcGxh
dGU8RGVjb3JhdGVkVHlwZT4geyBcCiBwdWJsaWM6IFwKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxT
VkdBbmltYXRlZFRlbXBsYXRlIyNVcHBlclByb3BlcnR5PiBjcmVhdGUoY29uc3QgQ2xhc3NUeXBl
KiBlbGVtZW50LCBjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyaWJ1dGVOYW1lKSBcCiAgICAgeyBc
CiAgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgU1ZHQW5pbWF0ZWRUZW1wbGF0ZSMjVXBwZXJQ
cm9wZXJ0eShlbGVtZW50LCBhdHRyaWJ1dGVOYW1lKSk7IFwKICAgICB9IFwKLSAgICB2aXJ0dWFs
IEJhcmVUeXBlIGJhc2VWYWwoKSBjb25zdDsgXAotICAgIHZpcnR1YWwgdm9pZCBzZXRCYXNlVmFs
KEJhcmVUeXBlKTsgXAotICAgIHZpcnR1YWwgQmFyZVR5cGUgYW5pbVZhbCgpIGNvbnN0OyBcCi0g
ICAgdmlydHVhbCB2b2lkIHNldEFuaW1WYWwoQmFyZVR5cGUpOyBcCisgICAgdmlydHVhbCBEZWNv
cmF0ZWRUeXBlIGJhc2VWYWwoKSBjb25zdDsgXAorICAgIHZpcnR1YWwgdm9pZCBzZXRCYXNlVmFs
KERlY29yYXRlZFR5cGUpOyBcCisgICAgdmlydHVhbCBEZWNvcmF0ZWRUeXBlIGFuaW1WYWwoKSBj
b25zdDsgXAorICAgIHZpcnR1YWwgdm9pZCBzZXRBbmltVmFsKERlY29yYXRlZFR5cGUpOyBcCiAg
ICAgXAogcHJpdmF0ZTogXAogICAgIFNWR0FuaW1hdGVkVGVtcGxhdGUjI1VwcGVyUHJvcGVydHko
Y29uc3QgQ2xhc3NUeXBlKiwgY29uc3QgUXVhbGlmaWVkTmFtZSYpOyBcCi0gICAgQ2xhc3NTdG9y
YWdlVHlwZSBtX2VsZW1lbnQ7IFwKKyAgICBSZWZQdHI8Q2xhc3NUeXBlPiBtX2VsZW1lbnQ7IFwK
IH07IFwKIHB1YmxpYzogXAotICAgIEJhcmVUeXBlIExvd2VyUHJvcGVydHkoKSBjb25zdDsgXAot
ICAgIHZvaWQgc2V0IyNVcHBlclByb3BlcnR5KEJhcmVUeXBlKTsgXAotICAgIEJhcmVUeXBlIExv
d2VyUHJvcGVydHkjI0Jhc2VWYWx1ZSgpIGNvbnN0OyBcCi0gICAgdm9pZCBzZXQjI1VwcGVyUHJv
cGVydHkjI0Jhc2VWYWx1ZShCYXJlVHlwZSk7IFwKKyAgICBEZWNvcmF0ZWRUeXBlIExvd2VyUHJv
cGVydHkoKSBjb25zdDsgXAorICAgIHZvaWQgc2V0IyNVcHBlclByb3BlcnR5KERlY29yYXRlZFR5
cGUpOyBcCisgICAgRGVjb3JhdGVkVHlwZSBMb3dlclByb3BlcnR5IyNCYXNlVmFsdWUoKSBjb25z
dDsgXAorICAgIHZvaWQgc2V0IyNVcHBlclByb3BlcnR5IyNCYXNlVmFsdWUoRGVjb3JhdGVkVHlw
ZSk7IFwKICAgICBQYXNzUmVmUHRyPFNWR0FuaW1hdGVkVGVtcGxhdGUjI1VwcGVyUHJvcGVydHk+
IExvd2VyUHJvcGVydHkjI0FuaW1hdGVkKCkgY29uc3Q7IFwKKyAgICB2b2lkIHN5bmNocm9uaXpl
IyNVcHBlclByb3BlcnR5KCkgY29uc3Q7IFwKKyAgICBBbmltYXRlZFByb3BlcnR5U3luY2hyb25p
emVyIHN5bmNocm9uaXplckZvciMjVXBwZXJQcm9wZXJ0eSgpIGNvbnN0OyBcCiAgICAgdm9pZCBz
dGFydCMjVXBwZXJQcm9wZXJ0eSgpIGNvbnN0OyBcCiAgICAgdm9pZCBzdG9wIyNVcHBlclByb3Bl
cnR5KCk7IFwKIFwKIHByaXZhdGU6IFwKLSAgICBTdG9yYWdlVHlwZSBtXyMjTG93ZXJQcm9wZXJ0
eTsKKyAgICBtdXRhYmxlIFN5bmNocm9uaXphYmxlVHlwZVdyYXBwZXI8U3RvcmFnZVR5cGU+IG1f
IyNMb3dlclByb3BlcnR5OworCisjZGVmaW5lIEFOSU1BVEVEX1BST1BFUlRZX1NUQVJUX0RFQ0xB
UkFUSU9OUyBcCitwdWJsaWM6IFwKKyAgICB2aXJ0dWFsIHZvaWQgaW52b2tlU1ZHUHJvcGVydHlT
eW5jaHJvbml6ZXIoU3RyaW5nSW1wbCogc3RyaW5nSW1wbCkgY29uc3QgXAorICAgIHsgXAorICAg
ICAgICBpZiAobV9zdmdQcm9wZXJ0eVVwZGF0ZU1hcC5jb250YWlucyhzdHJpbmdJbXBsKSkgeyBc
CisgICAgICAgICAgICBBbmltYXRlZFByb3BlcnR5U3luY2hyb25pemVyIHVwZGF0ZU1ldGhvZCA9
IG1fc3ZnUHJvcGVydHlVcGRhdGVNYXAuZ2V0KHN0cmluZ0ltcGwpOyBcCisgICAgICAgICAgICAo
KnVwZGF0ZU1ldGhvZCkodGhpcyk7IFwKKyAgICAgICAgfSBcCisgICAgfSBcCitcCisgICAgdmly
dHVhbCB2b2lkIGludm9rZUFsbFNWR1Byb3BlcnR5U3luY2hyb25pemVycygpIGNvbnN0IFwKKyAg
ICB7IFwKKyAgICAgICAgSGFzaE1hcDxTdHJpbmdJbXBsKiwgQW5pbWF0ZWRQcm9wZXJ0eVN5bmNo
cm9uaXplcj46OmNvbnN0X2l0ZXJhdG9yIGl0ID0gbV9zdmdQcm9wZXJ0eVVwZGF0ZU1hcC5iZWdp
bigpOyBcCisgICAgICAgIGNvbnN0IEhhc2hNYXA8U3RyaW5nSW1wbCosIEFuaW1hdGVkUHJvcGVy
dHlTeW5jaHJvbml6ZXI+Ojpjb25zdF9pdGVyYXRvciBlbmQgPSBtX3N2Z1Byb3BlcnR5VXBkYXRl
TWFwLmVuZCgpOyBcCisgICAgICAgIGZvciAoOyBpdCAhPSBlbmQ7ICsraXQpIHsgXAorICAgICAg
ICAgICAgQW5pbWF0ZWRQcm9wZXJ0eVN5bmNocm9uaXplciB1cGRhdGVNZXRob2QgPSBpdC0+c2Vj
b25kOyBcCisgICAgICAgICAgICAoKnVwZGF0ZU1ldGhvZCkodGhpcyk7IFwKKyAgICAgICAgfSBc
CisgICAgfSBcCitcCisgICAgdmlydHVhbCB2b2lkIGFkZFNWR1Byb3BlcnR5U3luY2hyb25pemVy
KGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1lLCBBbmltYXRlZFByb3BlcnR5U3luY2hyb25p
emVyIG1ldGhvZCkgY29uc3QgXAorICAgIHsgXAorICAgICAgICBtX3N2Z1Byb3BlcnR5VXBkYXRl
TWFwLnNldChhdHRyTmFtZS5sb2NhbE5hbWUoKS5pbXBsKCksIG1ldGhvZCk7IFwKKyAgICB9IFwK
K1wKK3ByaXZhdGU6IFwKKyAgICBtdXRhYmxlIEhhc2hNYXA8U3RyaW5nSW1wbCosIEFuaW1hdGVk
UHJvcGVydHlTeW5jaHJvbml6ZXI+IG1fc3ZnUHJvcGVydHlVcGRhdGVNYXA7CiAKLSNkZWZpbmUg
QU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlNfSU5URVJOQUwoQ2xhc3NOYW1lLCBDbGFzc1R5
cGUsIEJhcmVUeXBlLCBVcHBlckNsYXNzTmFtZSwgTG93ZXJDbGFzc05hbWUsIFVwcGVyUHJvcGVy
dHksIExvd2VyUHJvcGVydHksIEF0dHJOYW1lLCBTdG9yYWdlR2V0dGVyLCBDb250ZXh0RWxlbWVu
dCkgXAorI2RlZmluZSBBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OU19JTlRFUk5BTChDbGFz
c05hbWUsIENsYXNzVHlwZSwgRGVjb3JhdGVkVHlwZSwgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9w
ZXJ0eSwgQXR0ck5hbWUsIEF0dHJJZGVudGlmaWVyLCBDb250ZXh0RWxlbWVudCkgXAordm9pZCBz
eW5jaHJvbml6ZSMjVXBwZXJQcm9wZXJ0eSMjQ2xhc3NOYW1lIyNDYWxsQmFjayhjb25zdCBTVkdF
bGVtZW50KiBlbGVtZW50KSBcCit7IFwKKyAgICBzdGF0aWNfY2FzdDxjb25zdCBDbGFzc1R5cGUq
PihlbGVtZW50KS0+c3luY2hyb25pemUjI1VwcGVyUHJvcGVydHkoKTsgXAorfSBcCiBDbGFzc05h
bWU6OlNWR0FuaW1hdGVkVGVtcGxhdGUjI1VwcGVyUHJvcGVydHk6OlNWR0FuaW1hdGVkVGVtcGxh
dGUjI1VwcGVyUHJvcGVydHkoY29uc3QgQ2xhc3NUeXBlKiBlbGVtZW50LCBjb25zdCBRdWFsaWZp
ZWROYW1lJiBhdHRyaWJ1dGVOYW1lKSBcCi06IFNWR0FuaW1hdGVkVGVtcGxhdGU8QmFyZVR5cGU+
KGF0dHJpYnV0ZU5hbWUpLCBtX2VsZW1lbnQoY29uc3RfY2FzdDxDbGFzc1R5cGUqPihlbGVtZW50
KSkgeyB9IFwKKzogU1ZHQW5pbWF0ZWRUZW1wbGF0ZTxEZWNvcmF0ZWRUeXBlPihhdHRyaWJ1dGVO
YW1lKSwgbV9lbGVtZW50KGNvbnN0X2Nhc3Q8Q2xhc3NUeXBlKj4oZWxlbWVudCkpIHsgfSBcCiBc
Ci1CYXJlVHlwZSBDbGFzc05hbWU6OlNWR0FuaW1hdGVkVGVtcGxhdGUjI1VwcGVyUHJvcGVydHk6
OmJhc2VWYWwoKSBjb25zdCBcCitEZWNvcmF0ZWRUeXBlIENsYXNzTmFtZTo6U1ZHQW5pbWF0ZWRU
ZW1wbGF0ZSMjVXBwZXJQcm9wZXJ0eTo6YmFzZVZhbCgpIGNvbnN0IFwKIHsgXAogICAgIHJldHVy
biBtX2VsZW1lbnQtPkxvd2VyUHJvcGVydHkjI0Jhc2VWYWx1ZSgpOyBcCiB9IFwKLXZvaWQgQ2xh
c3NOYW1lOjpTVkdBbmltYXRlZFRlbXBsYXRlIyNVcHBlclByb3BlcnR5OjpzZXRCYXNlVmFsKEJh
cmVUeXBlIG5ld0Jhc2VWYWwpIFwKK3ZvaWQgQ2xhc3NOYW1lOjpTVkdBbmltYXRlZFRlbXBsYXRl
IyNVcHBlclByb3BlcnR5OjpzZXRCYXNlVmFsKERlY29yYXRlZFR5cGUgbmV3QmFzZVZhbCkgXAog
eyBcCiAgICAgbV9lbGVtZW50LT5zZXQjI1VwcGVyUHJvcGVydHkjI0Jhc2VWYWx1ZShuZXdCYXNl
VmFsKTsgXAogfSBcCi1CYXJlVHlwZSBDbGFzc05hbWU6OlNWR0FuaW1hdGVkVGVtcGxhdGUjI1Vw
cGVyUHJvcGVydHk6OmFuaW1WYWwoKSBjb25zdCBcCitEZWNvcmF0ZWRUeXBlIENsYXNzTmFtZTo6
U1ZHQW5pbWF0ZWRUZW1wbGF0ZSMjVXBwZXJQcm9wZXJ0eTo6YW5pbVZhbCgpIGNvbnN0IFwKIHsg
XAogICAgIHJldHVybiBtX2VsZW1lbnQtPkxvd2VyUHJvcGVydHkoKTsgXAogfSBcCi12b2lkIENs
YXNzTmFtZTo6U1ZHQW5pbWF0ZWRUZW1wbGF0ZSMjVXBwZXJQcm9wZXJ0eTo6c2V0QW5pbVZhbChC
YXJlVHlwZSBuZXdBbmltVmFsKSBcCit2b2lkIENsYXNzTmFtZTo6U1ZHQW5pbWF0ZWRUZW1wbGF0
ZSMjVXBwZXJQcm9wZXJ0eTo6c2V0QW5pbVZhbChEZWNvcmF0ZWRUeXBlIG5ld0FuaW1WYWwpIFwK
IHsgXAogICAgIG1fZWxlbWVudC0+c2V0IyNVcHBlclByb3BlcnR5KG5ld0FuaW1WYWwpOyBcCiB9
IFwKLUJhcmVUeXBlIENsYXNzTmFtZTo6TG93ZXJQcm9wZXJ0eSgpIGNvbnN0IFwKK0RlY29yYXRl
ZFR5cGUgQ2xhc3NOYW1lOjpMb3dlclByb3BlcnR5KCkgY29uc3QgXAogeyBcCi0gICAgcmV0dXJu
IFN0b3JhZ2VHZXR0ZXI7IFwKKyAgICByZXR1cm4gbV8jI0xvd2VyUHJvcGVydHk7IFwKIH0gXAot
dm9pZCBDbGFzc05hbWU6OnNldCMjVXBwZXJQcm9wZXJ0eShCYXJlVHlwZSBuZXdWYWx1ZSkgXAor
dm9pZCBDbGFzc05hbWU6OnNldCMjVXBwZXJQcm9wZXJ0eShEZWNvcmF0ZWRUeXBlIG5ld1ZhbHVl
KSBcCiB7IFwKICAgICBtXyMjTG93ZXJQcm9wZXJ0eSA9IG5ld1ZhbHVlOyBcCisgICAgXAorICAg
IGNvbnN0IFNWR0VsZW1lbnQqIGNvbnRleHQgPSBDb250ZXh0RWxlbWVudDsgXAorICAgIEFTU0VS
VChjb250ZXh0KTsgXAorICAgIGNvbnRleHQtPnNldFN5bmNocm9uaXplZFNWR0F0dHJpYnV0ZXMo
ZmFsc2UpOyBcCiB9IFwKLUJhcmVUeXBlIENsYXNzTmFtZTo6TG93ZXJQcm9wZXJ0eSMjQmFzZVZh
bHVlKCkgY29uc3QgXAorRGVjb3JhdGVkVHlwZSBDbGFzc05hbWU6Okxvd2VyUHJvcGVydHkjI0Jh
c2VWYWx1ZSgpIGNvbnN0IFwKIHsgXAogICAgIGNvbnN0IFNWR0VsZW1lbnQqIGNvbnRleHQgPSBD
b250ZXh0RWxlbWVudDsgXAogICAgIEFTU0VSVChjb250ZXh0KTsgXAogICAgIFNWR0RvY3VtZW50
RXh0ZW5zaW9ucyogZXh0ZW5zaW9ucyA9IChjb250ZXh0LT5kb2N1bWVudCgpID8gY29udGV4dC0+
ZG9jdW1lbnQoKS0+YWNjZXNzU1ZHRXh0ZW5zaW9ucygpIDogMCk7IFwKLSAgICBpZiAoZXh0ZW5z
aW9ucyAmJiBleHRlbnNpb25zLT5oYXNCYXNlVmFsdWU8QmFyZVR5cGU+KGNvbnRleHQsIEF0dHJO
YW1lKSkgXAotICAgICAgICAgcmV0dXJuIGV4dGVuc2lvbnMtPmJhc2VWYWx1ZTxCYXJlVHlwZT4o
Y29udGV4dCwgQXR0ck5hbWUpOyBcCisgICAgaWYgKGV4dGVuc2lvbnMgJiYgZXh0ZW5zaW9ucy0+
aGFzQmFzZVZhbHVlPERlY29yYXRlZFR5cGU+KGNvbnRleHQsIEF0dHJJZGVudGlmaWVyKSkgXAor
ICAgICAgICAgcmV0dXJuIGV4dGVuc2lvbnMtPmJhc2VWYWx1ZTxEZWNvcmF0ZWRUeXBlPihjb250
ZXh0LCBBdHRySWRlbnRpZmllcik7IFwKICAgICByZXR1cm4gTG93ZXJQcm9wZXJ0eSgpOyBcCiB9
IFwKLXZvaWQgQ2xhc3NOYW1lOjpzZXQjI1VwcGVyUHJvcGVydHkjI0Jhc2VWYWx1ZShCYXJlVHlw
ZSBuZXdWYWx1ZSkgXAorXAordm9pZCBDbGFzc05hbWU6OnNldCMjVXBwZXJQcm9wZXJ0eSMjQmFz
ZVZhbHVlKERlY29yYXRlZFR5cGUgbmV3VmFsdWUpIFwKIHsgXAogICAgIGNvbnN0IFNWR0VsZW1l
bnQqIGNvbnRleHQgPSBDb250ZXh0RWxlbWVudDsgXAogICAgIEFTU0VSVChjb250ZXh0KTsgXAog
ICAgIFNWR0RvY3VtZW50RXh0ZW5zaW9ucyogZXh0ZW5zaW9ucyA9IChjb250ZXh0LT5kb2N1bWVu
dCgpID8gY29udGV4dC0+ZG9jdW1lbnQoKS0+YWNjZXNzU1ZHRXh0ZW5zaW9ucygpIDogMCk7IFwK
LSAgICBpZiAoZXh0ZW5zaW9ucyAmJiBleHRlbnNpb25zLT5oYXNCYXNlVmFsdWU8QmFyZVR5cGU+
KGNvbnRleHQsIEF0dHJOYW1lKSkgeyBcCi0gICAgICAgIGV4dGVuc2lvbnMtPnNldEJhc2VWYWx1
ZTxCYXJlVHlwZT4oY29udGV4dCwgQXR0ck5hbWUsIG5ld1ZhbHVlKTsgXAorICAgIGlmIChleHRl
bnNpb25zICYmIGV4dGVuc2lvbnMtPmhhc0Jhc2VWYWx1ZTxEZWNvcmF0ZWRUeXBlPihjb250ZXh0
LCBBdHRySWRlbnRpZmllcikpIHsgXAorICAgICAgICBleHRlbnNpb25zLT5zZXRCYXNlVmFsdWU8
RGVjb3JhdGVkVHlwZT4oY29udGV4dCwgQXR0cklkZW50aWZpZXIsIG5ld1ZhbHVlKTsgXAogICAg
ICAgICByZXR1cm47IFwKICAgICB9IFwKICAgICAvKiBPbmx5IHVwZGF0ZSBzdG9yZWQgcHJvcGVy
dHksIGlmIG5vdCBhbmltYXRpbmcgKi8gXAogICAgIHNldCMjVXBwZXJQcm9wZXJ0eShuZXdWYWx1
ZSk7IFwKIH0gXAogXAordm9pZCBDbGFzc05hbWU6OnN5bmNocm9uaXplIyNVcHBlclByb3BlcnR5
KCkgY29uc3QgXAoreyBcCisgICAgaWYgKCFtXyMjTG93ZXJQcm9wZXJ0eS5uZWVkc1N5bmNocm9u
aXphdGlvbigpKSBcCisgICAgICAgIHJldHVybjsgXAorICAgIGNvbnN0IFNWR0VsZW1lbnQqIGNv
bnRleHQgPSBDb250ZXh0RWxlbWVudDsgXAorICAgIEFTU0VSVChjb250ZXh0KTsgXAorICAgIFJl
ZlB0cjxDbGFzc05hbWU6OlNWR0FuaW1hdGVkVGVtcGxhdGUjI1VwcGVyUHJvcGVydHk+IGFuaW1h
dGVkQ2xhc3MoTG93ZXJQcm9wZXJ0eSMjQW5pbWF0ZWQoKSk7IFwKKyAgICBBU1NFUlQoYW5pbWF0
ZWRDbGFzcyk7IFwKKyAgICBBdG9taWNTdHJpbmcgdmFsdWUoU1ZHQW5pbWF0ZWRUeXBlVmFsdWU8
RGVjb3JhdGVkVHlwZT46OnRvU3RyaW5nKGFuaW1hdGVkQ2xhc3MtPmJhc2VWYWwoKSkpOyBcCisg
ICAgTmFtZWRBdHRyTWFwKiBuYW1lZEF0dHJNYXAgPSBjb250ZXh0LT5hdHRyaWJ1dGVzKGZhbHNl
KTsgXAorICAgIEF0dHJpYnV0ZSogb2xkID0gbmFtZWRBdHRyTWFwLT5nZXRBdHRyaWJ1dGVJdGVt
KEF0dHJOYW1lKTsgXAorICAgIGlmIChvbGQgJiYgdmFsdWUuaXNOdWxsKCkpIFwKKyAgICAgICAg
bmFtZWRBdHRyTWFwLT5yZW1vdmVBdHRyaWJ1dGUob2xkLT5uYW1lKCkpOyBcCisgICAgZWxzZSBp
ZiAoIW9sZCAmJiAhdmFsdWUuaXNOdWxsKCkpIFwKKyAgICAgICAgbmFtZWRBdHRyTWFwLT5hZGRB
dHRyaWJ1dGUoY29uc3RfY2FzdDxTVkdFbGVtZW50Kj4oY29udGV4dCktPmNyZWF0ZUF0dHJpYnV0
ZShRdWFsaWZpZWROYW1lKG51bGxBdG9tLCBBdHRySWRlbnRpZmllciwgbnVsbEF0b20pLCB2YWx1
ZSkpOyBcCisgICAgZWxzZSBpZiAob2xkICYmICF2YWx1ZS5pc051bGwoKSkgXAorICAgICAgICBv
bGQtPnNldFZhbHVlKHZhbHVlKTsgXAorICAgIG1fIyNMb3dlclByb3BlcnR5LnNldFN5bmNocm9u
aXplZCgpOyBcCit9IFwKK1wKIHZvaWQgQ2xhc3NOYW1lOjpzdGFydCMjVXBwZXJQcm9wZXJ0eSgp
IGNvbnN0IFwKIHsgXAogICAgIGNvbnN0IFNWR0VsZW1lbnQqIGNvbnRleHQgPSBDb250ZXh0RWxl
bWVudDsgXAogICAgIEFTU0VSVChjb250ZXh0KTsgXAogICAgIFNWR0RvY3VtZW50RXh0ZW5zaW9u
cyogZXh0ZW5zaW9ucyA9IChjb250ZXh0LT5kb2N1bWVudCgpID8gY29udGV4dC0+ZG9jdW1lbnQo
KS0+YWNjZXNzU1ZHRXh0ZW5zaW9ucygpIDogMCk7IFwKICAgICBpZiAoZXh0ZW5zaW9ucykgeyBc
Ci0gICAgICAgIEFTU0VSVCghZXh0ZW5zaW9ucy0+aGFzQmFzZVZhbHVlPEJhcmVUeXBlPihjb250
ZXh0LCBBdHRyTmFtZSkpOyBcCi0gICAgICAgIGV4dGVuc2lvbnMtPnNldEJhc2VWYWx1ZTxCYXJl
VHlwZT4oY29udGV4dCwgQXR0ck5hbWUsIExvd2VyUHJvcGVydHkoKSk7IFwKKyAgICAgICAgQVNT
RVJUKCFleHRlbnNpb25zLT5oYXNCYXNlVmFsdWU8RGVjb3JhdGVkVHlwZT4oY29udGV4dCwgQXR0
cklkZW50aWZpZXIpKTsgXAorICAgICAgICBleHRlbnNpb25zLT5zZXRCYXNlVmFsdWU8RGVjb3Jh
dGVkVHlwZT4oY29udGV4dCwgQXR0cklkZW50aWZpZXIsIExvd2VyUHJvcGVydHkoKSk7IFwKICAg
ICB9IFwKIH0gXAogXApAQCAtMTQ0LDM3ICsyMDgsNjkgQEAgdm9pZCBDbGFzc05hbWU6OnN0b3Aj
I1VwcGVyUHJvcGVydHkoKSBcCiAgICAgQVNTRVJUKGNvbnRleHQpOyBcCiAgICAgU1ZHRG9jdW1l
bnRFeHRlbnNpb25zKiBleHRlbnNpb25zID0gKGNvbnRleHQtPmRvY3VtZW50KCkgPyBjb250ZXh0
LT5kb2N1bWVudCgpLT5hY2Nlc3NTVkdFeHRlbnNpb25zKCkgOiAwKTsgXAogICAgIGlmIChleHRl
bnNpb25zKSB7IFwKLSAgICAgICAgQVNTRVJUKGV4dGVuc2lvbnMtPmhhc0Jhc2VWYWx1ZTxCYXJl
VHlwZT4oY29udGV4dCwgQXR0ck5hbWUpKTsgXAotICAgICAgICBzZXQjI1VwcGVyUHJvcGVydHko
ZXh0ZW5zaW9ucy0+YmFzZVZhbHVlPEJhcmVUeXBlPihjb250ZXh0LCBBdHRyTmFtZSkpOyBcCi0g
ICAgICAgIGV4dGVuc2lvbnMtPnJlbW92ZUJhc2VWYWx1ZTxCYXJlVHlwZT4oY29udGV4dCwgQXR0
ck5hbWUpOyBcCisgICAgICAgIEFTU0VSVChleHRlbnNpb25zLT5oYXNCYXNlVmFsdWU8RGVjb3Jh
dGVkVHlwZT4oY29udGV4dCwgQXR0cklkZW50aWZpZXIpKTsgXAorICAgICAgICBzZXQjI1VwcGVy
UHJvcGVydHkoZXh0ZW5zaW9ucy0+YmFzZVZhbHVlPERlY29yYXRlZFR5cGU+KGNvbnRleHQsIEF0
dHJJZGVudGlmaWVyKSk7IFwKKyAgICAgICAgZXh0ZW5zaW9ucy0+cmVtb3ZlQmFzZVZhbHVlPERl
Y29yYXRlZFR5cGU+KGNvbnRleHQsIEF0dHJJZGVudGlmaWVyKTsgXAogICAgIH0gXAotfQotCi0v
LyBUaGVzZSBhcmUgdGhlIG1hY3JvcyB3aGljaCB3aWxsIGJlIHVzZWQgdG8gZGVjbGFyZS9pbXBs
ZW1lbnQgdGhlIHN2ZyBhbmltYXRlZCBwcm9wZXJ0aWVzLi4uCi0jZGVmaW5lIEFOSU1BVEVEX1BS
T1BFUlRZX0RFQ0xBUkFUSU9OU19XSVRIX0NPTlRFWFQoQ2xhc3NOYW1lLCBCYXJlVHlwZSwgU3Rv
cmFnZVR5cGUsIFVwcGVyUHJvcGVydHksIExvd2VyUHJvcGVydHkpIFwKLUFOSU1BVEVEX1BST1BF
UlRZX0RFQ0xBUkFUSU9OU19JTlRFUk5BTChTVkdFbGVtZW50LCBSZWZQdHI8U1ZHRWxlbWVudD4s
IEJhcmVUeXBlLCBTdG9yYWdlVHlwZSwgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9wZXJ0eSkKLQot
I2RlZmluZSBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoQ2xhc3NOYW1lLCBCYXJlVHlw
ZSwgU3RvcmFnZVR5cGUsIFVwcGVyUHJvcGVydHksIExvd2VyUHJvcGVydHkpIFwKLUFOSU1BVEVE
X1BST1BFUlRZX0RFQ0xBUkFUSU9OU19JTlRFUk5BTChDbGFzc05hbWUsIFJlZlB0cjxDbGFzc05h
bWU+LCBCYXJlVHlwZSwgU3RvcmFnZVR5cGUsIFVwcGVyUHJvcGVydHksIExvd2VyUHJvcGVydHkp
Ci0KLSNkZWZpbmUgQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlNfV0lUSF9DT05URVhUKENs
YXNzTmFtZSwgQmFyZVR5cGUsIFVwcGVyQ2xhc3NOYW1lLCBMb3dlckNsYXNzTmFtZSwgVXBwZXJQ
cm9wZXJ0eSwgTG93ZXJQcm9wZXJ0eSwgQXR0ck5hbWUsIFN0b3JhZ2VHZXR0ZXIpIFwKLUFOSU1B
VEVEX1BST1BFUlRZX0RFRklOSVRJT05TX0lOVEVSTkFMKENsYXNzTmFtZSwgU1ZHRWxlbWVudCwg
QmFyZVR5cGUsIFVwcGVyQ2xhc3NOYW1lLCBMb3dlckNsYXNzTmFtZSwgVXBwZXJQcm9wZXJ0eSwg
TG93ZXJQcm9wZXJ0eSwgQXR0ck5hbWUubG9jYWxOYW1lKCksIFN0b3JhZ2VHZXR0ZXIsIGNvbnRl
eHRFbGVtZW50KCkpIFwKK30gXAorXAorQW5pbWF0ZWRQcm9wZXJ0eVN5bmNocm9uaXplciBDbGFz
c05hbWU6OnN5bmNocm9uaXplckZvciMjVXBwZXJQcm9wZXJ0eSgpIGNvbnN0IFwKK3sgXAorICAg
IHJldHVybiAmc3luY2hyb25pemUjI1VwcGVyUHJvcGVydHkjI0NsYXNzTmFtZSMjQ2FsbEJhY2s7
IFwKK30gXAogUGFzc1JlZlB0cjxDbGFzc05hbWU6OlNWR0FuaW1hdGVkVGVtcGxhdGUjI1VwcGVy
UHJvcGVydHk+IENsYXNzTmFtZTo6TG93ZXJQcm9wZXJ0eSMjQW5pbWF0ZWQoKSBjb25zdCBcCiB7
IFwKLSAgICBjb25zdCBTVkdFbGVtZW50KiBjb250ZXh0ID0gY29udGV4dEVsZW1lbnQoKTsgXAor
ICAgIGNvbnN0IENsYXNzVHlwZSogY29udGV4dCA9IENvbnRleHRFbGVtZW50OyBcCiAgICAgQVNT
RVJUKGNvbnRleHQpOyBcCi0gICAgcmV0dXJuIGxvb2t1cE9yQ3JlYXRlV3JhcHBlcjxDbGFzc05h
bWU6OlNWR0FuaW1hdGVkVGVtcGxhdGUjI1VwcGVyUHJvcGVydHksIFNWR0VsZW1lbnQ+KGNvbnRl
eHQsIEF0dHJOYW1lLCBBdHRyTmFtZS5sb2NhbE5hbWUoKSk7IFwKKyAgICByZXR1cm4gbG9va3Vw
T3JDcmVhdGVXcmFwcGVyPENsYXNzTmFtZTo6U1ZHQW5pbWF0ZWRUZW1wbGF0ZSMjVXBwZXJQcm9w
ZXJ0eSwgQ2xhc3NUeXBlPihjb250ZXh0LCBBdHRyTmFtZSwgQXR0cklkZW50aWZpZXIsIHN5bmNo
cm9uaXplckZvciMjVXBwZXJQcm9wZXJ0eSgpKTsgXAogfQogCi0jZGVmaW5lIEFOSU1BVEVEX1BS
T1BFUlRZX0RFRklOSVRJT05TX1dJVEhfQ1VTVE9NX0lERU5USUZJRVIoQ2xhc3NOYW1lLCBCYXJl
VHlwZSwgVXBwZXJDbGFzc05hbWUsIExvd2VyQ2xhc3NOYW1lLCBVcHBlclByb3BlcnR5LCBMb3dl
clByb3BlcnR5LCBBdHRyTmFtZSwgQXR0cklkZW50aWZpZXIsIFN0b3JhZ2VHZXR0ZXIpIFwKLUFO
SU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TX0lOVEVSTkFMKENsYXNzTmFtZSwgQ2xhc3NOYW1l
LCBCYXJlVHlwZSwgVXBwZXJDbGFzc05hbWUsIExvd2VyQ2xhc3NOYW1lLCBVcHBlclByb3BlcnR5
LCBMb3dlclByb3BlcnR5LCBBdHRyTmFtZS5sb2NhbE5hbWUoKSwgU3RvcmFnZUdldHRlciwgdGhp
cykgXAotUGFzc1JlZlB0cjxDbGFzc05hbWU6OlNWR0FuaW1hdGVkVGVtcGxhdGUjI1VwcGVyUHJv
cGVydHk+IENsYXNzTmFtZTo6TG93ZXJQcm9wZXJ0eSMjQW5pbWF0ZWQoKSBjb25zdCBcCi17IFwK
LSAgICByZXR1cm4gbG9va3VwT3JDcmVhdGVXcmFwcGVyPENsYXNzTmFtZTo6U1ZHQW5pbWF0ZWRU
ZW1wbGF0ZSMjVXBwZXJQcm9wZXJ0eSwgQ2xhc3NOYW1lPih0aGlzLCBBdHRyTmFtZSwgQXR0cklk
ZW50aWZpZXIpOyBcCi19CisvLyBGb3J3YXJkIGRlY2xhcmF0aW9ucywgdXNlZCBpbiBjbGFzc2Vz
IHRoYXQgaW5oZXJpdCBmcm9tIFNWR0VsZW1lbnQsIGFuZCBhbm90aGVyIGJhc2UgY2xhc3MgaWUu
IFNWR1VSSVJlZmVyZW5jZSAtIHdoaWNoIGRlY2xhcmVkIGl0J3MgcHJvcGVydGllcyB1c2luZyB0
aGUgV0lUSF9DT05URVhUKC4uLikgbWFjcm9zKQorI2RlZmluZSBBTklNQVRFRF9QUk9QRVJUWV9G
T1JXQVJEX0RFQ0xBUkFUSU9OUyhGb3J3YXJkQ2xhc3MsIEJhcmVUeXBlLCBVcHBlclByb3BlcnR5
LCBMb3dlclByb3BlcnR5KSBcCitBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9O
U19JTlRFUk5BTChGb3J3YXJkQ2xhc3MsIEJhcmVUeXBlLCBVcHBlclByb3BlcnR5LCBMb3dlclBy
b3BlcnR5KQorCisjZGVmaW5lIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJT05T
X1JFRkNPVU5URUQoRm9yd2FyZENsYXNzLCBCYXJlVHlwZSwgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQ
cm9wZXJ0eSkgXAorQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlNfSU5URVJO
QUwoRm9yd2FyZENsYXNzLCBCYXJlVHlwZSosIFVwcGVyUHJvcGVydHksIExvd2VyUHJvcGVydHkp
CisKKyNkZWZpbmUgQU5JTUFURURfUFJPUEVSVFlfRU1QVFlfREVDTEFSQVRJT05TKEJhcmVUeXBl
LCBVcHBlclByb3BlcnR5LCBMb3dlclByb3BlcnR5KSBcCitBTklNQVRFRF9QUk9QRVJUWV9FTVBU
WV9ERUNMQVJBVElPTlNfSU5URVJOQUwoQmFyZVR5cGUsIEJhcmVUeXBlKCksIFVwcGVyUHJvcGVy
dHksIExvd2VyUHJvcGVydHkpCiAKLSNkZWZpbmUgQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElP
TlMoQ2xhc3NOYW1lLCBCYXJlVHlwZSwgVXBwZXJDbGFzc05hbWUsIExvd2VyQ2xhc3NOYW1lLCBV
cHBlclByb3BlcnR5LCBMb3dlclByb3BlcnR5LCBBdHRyTmFtZSwgU3RvcmFnZUdldHRlcikgXAot
QU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlNfV0lUSF9DVVNUT01fSURFTlRJRklFUihDbGFz
c05hbWUsIEJhcmVUeXBlLCBVcHBlckNsYXNzTmFtZSwgTG93ZXJDbGFzc05hbWUsIFVwcGVyUHJv
cGVydHksIExvd2VyUHJvcGVydHksIEF0dHJOYW1lLCBBdHRyTmFtZS5sb2NhbE5hbWUoKSwgU3Rv
cmFnZUdldHRlcikKKyNkZWZpbmUgQU5JTUFURURfUFJPUEVSVFlfRU1QVFlfREVDTEFSQVRJT05T
X1JFRkNPVU5URUQoQmFyZVR5cGUsIFVwcGVyUHJvcGVydHksIExvd2VyUHJvcGVydHkpIFwKK0FO
SU1BVEVEX1BST1BFUlRZX0VNUFRZX0RFQ0xBUkFUSU9OU19JTlRFUk5BTChCYXJlVHlwZSosIDAs
IFVwcGVyUHJvcGVydHksIExvd2VyUHJvcGVydHkpCisKKy8vIE1hY3JvcyB1c2VkIGZvciBwcmlt
aXRpdmUgdHlwZXMgaW4gU1ZHRWxlbWVudCBkZXJpdmVkIGNsYXNzZXMKKyNkZWZpbmUgQU5JTUFU
RURfUFJPUEVSVFlfREVDTEFSQVRJT05TKENsYXNzTmFtZSwgQmFyZVR5cGUsIFVwcGVyUHJvcGVy
dHksIExvd2VyUHJvcGVydHkpIFwKK0FOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OU19JTlRF
Uk5BTChDbGFzc05hbWUsIEJhcmVUeXBlLCBCYXJlVHlwZSwgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQ
cm9wZXJ0eSkKKworI2RlZmluZSBBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhDbGFzc05h
bWUsIEJhcmVUeXBlLCBVcHBlclByb3BlcnR5LCBMb3dlclByb3BlcnR5LCBBdHRyTmFtZSkgXAor
QU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlNfSU5URVJOQUwoQ2xhc3NOYW1lLCBDbGFzc05h
bWUsIEJhcmVUeXBlLCBVcHBlclByb3BlcnR5LCBMb3dlclByb3BlcnR5LCBBdHRyTmFtZSwgQXR0
ck5hbWUubG9jYWxOYW1lKCksIHRoaXMpCisKKyNkZWZpbmUgQU5JTUFURURfUFJPUEVSVFlfREVG
SU5JVElPTlNfV0lUSF9DVVNUT01fSURFTlRJRklFUihDbGFzc05hbWUsIEJhcmVUeXBlLCBVcHBl
clByb3BlcnR5LCBMb3dlclByb3BlcnR5LCBBdHRyTmFtZSwgQXR0cklkZW50aWZpZXIpIFwKK0FO
SU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TX0lOVEVSTkFMKENsYXNzTmFtZSwgQ2xhc3NOYW1l
LCBCYXJlVHlwZSwgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9wZXJ0eSwgQXR0ck5hbWUsIEF0dHJJ
ZGVudGlmaWVyLCB0aGlzKQorCisvLyBNYWNyb3MgdXNlZCBmb3IgcmVmY291bnRlZCB0eXBlcyBp
biBTVkdFbGVtZW50IGRlcml2ZWQgY2xhc3NlcworI2RlZmluZSBBTklNQVRFRF9QUk9QRVJUWV9E
RUNMQVJBVElPTlNfUkVGQ09VTlRFRChDbGFzc05hbWUsIEJhcmVUeXBlLCBVcHBlclByb3BlcnR5
LCBMb3dlclByb3BlcnR5KSBcCitBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlNfSU5URVJO
QUwoQ2xhc3NOYW1lLCBCYXJlVHlwZSosIFJlZlB0cjxCYXJlVHlwZT4sIFVwcGVyUHJvcGVydHks
IExvd2VyUHJvcGVydHkpCisKKyNkZWZpbmUgQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlNf
UkVGQ09VTlRFRChDbGFzc05hbWUsIEJhcmVUeXBlLCBVcHBlclByb3BlcnR5LCBMb3dlclByb3Bl
cnR5LCBBdHRyTmFtZSkgXAorQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlNfSU5URVJOQUwo
Q2xhc3NOYW1lLCBDbGFzc05hbWUsIEJhcmVUeXBlKiwgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9w
ZXJ0eSwgQXR0ck5hbWUsIEF0dHJOYW1lLmxvY2FsTmFtZSgpLCB0aGlzKQorCisjZGVmaW5lIEFO
SU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TX1JFRkNPVU5URURfV0lUSF9DVVNUT01fSURFTlRJ
RklFUihDbGFzc05hbWUsIEJhcmVUeXBlLCBVcHBlclByb3BlcnR5LCBMb3dlclByb3BlcnR5LCBB
dHRyTmFtZSwgQXR0cklkZW50aWZpZXIpIFwKK0FOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05T
X0lOVEVSTkFMKENsYXNzTmFtZSwgQ2xhc3NOYW1lLCBCYXJlVHlwZSosIFVwcGVyUHJvcGVydHks
IExvd2VyUHJvcGVydHksIEF0dHJOYW1lLCBBdHRySWRlbnRpZmllciwgdGhpcykKKworLy8gTWFj
cm9zIHVzZWQgZm9yIHByaW1pdGl2ZSB0eXBlcyBpbiBub24tU1ZHRWxlbWVudCBiYXNlIGNsYXNz
ZXMgKGllLiBTVkdVUklSZWZlcmVuY2UgYWN0cyBhcyBiYXNlIGNsYXNzLCBnbHVlZCB1c2luZyBt
dWx0aXBsZSBpbmhlcml0YW5jZSBpbiB0aGUgU1ZHKkVsZW1lbnQgY2xhc3NlcykKKyNkZWZpbmUg
QU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TX1dJVEhfQ09OVEVYVChDbGFzc05hbWUsIEJh
cmVUeXBlLCBVcHBlclByb3BlcnR5LCBMb3dlclByb3BlcnR5KSBcCitBTklNQVRFRF9QUk9QRVJU
WV9ERUNMQVJBVElPTlNfSU5URVJOQUwoU1ZHRWxlbWVudCwgQmFyZVR5cGUsIEJhcmVUeXBlLCBV
cHBlclByb3BlcnR5LCBMb3dlclByb3BlcnR5KQorCisjZGVmaW5lIEFOSU1BVEVEX1BST1BFUlRZ
X0RFRklOSVRJT05TX1dJVEhfQ09OVEVYVChDbGFzc05hbWUsIEJhcmVUeXBlLCBVcHBlclByb3Bl
cnR5LCBMb3dlclByb3BlcnR5LCBBdHRyTmFtZSkgXAorQU5JTUFURURfUFJPUEVSVFlfREVGSU5J
VElPTlNfSU5URVJOQUwoQ2xhc3NOYW1lLCBTVkdFbGVtZW50LCBCYXJlVHlwZSwgVXBwZXJQcm9w
ZXJ0eSwgTG93ZXJQcm9wZXJ0eSwgQXR0ck5hbWUsIEF0dHJOYW1lLmxvY2FsTmFtZSgpLCBjb250
ZXh0RWxlbWVudCgpKQorCisvLyBNYWNyb3MgdXNlZCBmb3IgcmVmY291bnRlZCB0eXBlcyBpbiBu
b24tU1ZHRWxlbWVudCBiYXNlIGNsYXNzZXMgKGllLiBzZWUgYWJvdmUpCisjZGVmaW5lIEFOSU1B
VEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OU19SRUZDT1VOVEVEX1dJVEhfQ09OVEVYVChDbGFzc05h
bWUsIEJhcmVUeXBlLCBVcHBlclByb3BlcnR5LCBMb3dlclByb3BlcnR5KSBcCitBTklNQVRFRF9Q
Uk9QRVJUWV9ERUNMQVJBVElPTlNfSU5URVJOQUwoU1ZHRWxlbWVudCwgQmFyZVR5cGUqLCBSZWZQ
dHI8QmFyZVR5cGU+LCBVcHBlclByb3BlcnR5LCBMb3dlclByb3BlcnR5KQorCisjZGVmaW5lIEFO
SU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TX1JFRkNPVU5URURfV0lUSF9DT05URVhUKENsYXNz
TmFtZSwgQmFyZVR5cGUsIFVwcGVyUHJvcGVydHksIExvd2VyUHJvcGVydHksIEF0dHJOYW1lKSBc
CitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OU19JTlRFUk5BTChDbGFzc05hbWUsIFNWR0Vs
ZW1lbnQsIEJhcmVUeXBlKiwgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9wZXJ0eSwgQXR0ck5hbWUs
IEF0dHJOYW1lLmxvY2FsTmFtZSgpLCBjb250ZXh0RWxlbWVudCgpKQogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKQEAgLTIzMSwxNyArMzI3LDI0IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAg
ICAgLy8gRm9yd2FyZGVkIHByb3BlcnRpZXMgKGRlY2xhcmVkL2RlZmluZWQgYW55d2hlcmUgZWxz
ZSBpbiB0aGUgaW5oZXJpdGFuY2Ugc3RydWN0dXJlKQogCiAgICAgICAgIC8vIC0+IEZvciBTVkdV
UklSZWZlcmVuY2UKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfRU1QVFlfREVDTEFSQVRJT05T
KFN0cmluZywgU3RyaW5nKCksIEhyZWYsIGhyZWYpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZ
X0VNUFRZX0RFQ0xBUkFUSU9OUyhTdHJpbmcsIEhyZWYsIGhyZWYpCiAKICAgICAgICAgLy8gLT4g
Rm9yIFNWR0ZpdFRvVmlld0JveAotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9FTVBUWV9ERUNM
QVJBVElPTlMoRmxvYXRSZWN0LCBGbG9hdFJlY3QoKSwgVmlld0JveCwgdmlld0JveCkgICAgCi0g
ICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0VNUFRZX0RFQ0xBUkFUSU9OUyhTVkdQcmVzZXJ2ZUFz
cGVjdFJhdGlvKiwgMCwgUHJlc2VydmVBc3BlY3RSYXRpbywgcHJlc2VydmVBc3BlY3RSYXRpbykK
KyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfRU1QVFlfREVDTEFSQVRJT05TKEZsb2F0UmVjdCwg
Vmlld0JveCwgdmlld0JveCkgICAgCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0VNUFRZX0RF
Q0xBUkFUSU9OU19SRUZDT1VOVEVEKFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8sIFByZXNlcnZlQXNw
ZWN0UmF0aW8sIHByZXNlcnZlQXNwZWN0UmF0aW8pCiAKICAgICAgICAgLy8gLT4gRm9yIFNWR0V4
dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfRU1QVFlf
REVDTEFSQVRJT05TKGJvb2wsIGZhbHNlLCBFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRl
cm5hbFJlc291cmNlc1JlcXVpcmVkKQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9FTVBUWV9E
RUNMQVJBVElPTlMoYm9vbCwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNv
dXJjZXNSZXF1aXJlZCkKIAogICAgICAgICB2aXJ0dWFsIGJvb2wgZGlzcGF0Y2hFdmVudChQYXNz
UmVmUHRyPEV2ZW50PiBlLCBFeGNlcHRpb25Db2RlJiBlYywgYm9vbCB0ZW1wRXZlbnQgPSBmYWxz
ZSk7CiAKKyAgICAgICAgdmlydHVhbCB2b2lkIGludm9rZVNWR1Byb3BlcnR5U3luY2hyb25pemVy
KFN0cmluZ0ltcGwqKSBjb25zdCB7IH0KKyAgICAgICAgdmlydHVhbCB2b2lkIGludm9rZUFsbFNW
R1Byb3BlcnR5U3luY2hyb25pemVycygpIGNvbnN0IHsgfQorICAgICAgICB2aXJ0dWFsIHZvaWQg
YWRkU1ZHUHJvcGVydHlTeW5jaHJvbml6ZXIoY29uc3QgUXVhbGlmaWVkTmFtZSYsIEFuaW1hdGVk
UHJvcGVydHlTeW5jaHJvbml6ZXIpIGNvbnN0IHsgQVNTRVJUX05PVF9SRUFDSEVEKCk7IH0KKwor
ICAgICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlQW5pbWF0ZWRTVkdBdHRyaWJ1dGUoU3RyaW5nSW1w
bCopIGNvbnN0OworICAgICAgICB2aXJ0dWFsIHZvaWQgc2V0U3luY2hyb25pemVkU1ZHQXR0cmli
dXRlcyhib29sKSBjb25zdDsKKwogICAgIHByaXZhdGU6CiAgICAgICAgIHZvaWQgYWRkU1ZHRXZl
bnRMaXN0ZW5lcihjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgY29uc3QgQXR0cmlidXRl
Kik7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBoYXZlTG9hZGVkUmVxdWlyZWRSZXNvdXJjZXMoKTsK
SW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0VsbGlwc2VFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3N2Zy9TVkdFbGxpcHNlRWxlbWVudC5jcHAJKHJldmlzaW9uIDM1MDMzKQorKysgV2Vi
Q29yZS9zdmcvU1ZHRWxsaXBzZUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OCwxMCAr
NDgsMTAgQEAgU1ZHRWxsaXBzZUVsZW1lbnQ6On5TVkdFbGxpcHNlRWxlbWVudCgpCiB7CiB9CiAK
LUFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0VsbGlwc2VFbGVtZW50LCBTVkdMZW5n
dGgsIExlbmd0aCwgbGVuZ3RoLCBDeCwgY3gsIFNWR05hbWVzOjpjeEF0dHIsIG1fY3gpCi1BTklN
QVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdFbGxpcHNlRWxlbWVudCwgU1ZHTGVuZ3RoLCBM
ZW5ndGgsIGxlbmd0aCwgQ3ksIGN5LCBTVkdOYW1lczo6Y3lBdHRyLCBtX2N5KQotQU5JTUFURURf
UFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHRWxsaXBzZUVsZW1lbnQsIFNWR0xlbmd0aCwgTGVuZ3Ro
LCBsZW5ndGgsIFJ4LCByeCwgU1ZHTmFtZXM6OnJ4QXR0ciwgbV9yeCkKLUFOSU1BVEVEX1BST1BF
UlRZX0RFRklOSVRJT05TKFNWR0VsbGlwc2VFbGVtZW50LCBTVkdMZW5ndGgsIExlbmd0aCwgbGVu
Z3RoLCBSeSwgcnksIFNWR05hbWVzOjpyeUF0dHIsIG1fcnkpCitBTklNQVRFRF9QUk9QRVJUWV9E
RUZJTklUSU9OUyhTVkdFbGxpcHNlRWxlbWVudCwgU1ZHTGVuZ3RoLCBDeCwgY3gsIFNWR05hbWVz
OjpjeEF0dHIpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdFbGxpcHNlRWxlbWVu
dCwgU1ZHTGVuZ3RoLCBDeSwgY3ksIFNWR05hbWVzOjpjeUF0dHIpCitBTklNQVRFRF9QUk9QRVJU
WV9ERUZJTklUSU9OUyhTVkdFbGxpcHNlRWxlbWVudCwgU1ZHTGVuZ3RoLCBSeCwgcngsIFNWR05h
bWVzOjpyeEF0dHIpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdFbGxpcHNlRWxl
bWVudCwgU1ZHTGVuZ3RoLCBSeSwgcnksIFNWR05hbWVzOjpyeUF0dHIpCiAKIHZvaWQgU1ZHRWxs
aXBzZUVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKE1hcHBlZEF0dHJpYnV0ZSogYXR0cikK
IHsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0VsbGlwc2VFbGVtZW50LmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9zdmcvU1ZHRWxsaXBzZUVsZW1lbnQuaAkocmV2aXNpb24gMzUwMzMpCisrKyBXZWJD
b3JlL3N2Zy9TVkdFbGxpcHNlRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC01MywxMCArNTMs
MTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHByaXZhdGU6CiAgICAgICAgIEFOSU1BVEVE
X1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJT05TKFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWly
ZWQsIGJvb2wsIEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVx
dWlyZWQpCiAgCi0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdFbGxp
cHNlRWxlbWVudCwgU1ZHTGVuZ3RoLCBTVkdMZW5ndGgsIEN4LCBjeCkKLSAgICAgICAgQU5JTUFU
RURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0VsbGlwc2VFbGVtZW50LCBTVkdMZW5ndGgsIFNW
R0xlbmd0aCwgQ3ksIGN5KQotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMo
U1ZHRWxsaXBzZUVsZW1lbnQsIFNWR0xlbmd0aCwgU1ZHTGVuZ3RoLCBSeCwgcngpCi0gICAgICAg
IEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdFbGxpcHNlRWxlbWVudCwgU1ZHTGVu
Z3RoLCBTVkdMZW5ndGgsIFJ5LCByeSkKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFS
QVRJT05TKFNWR0VsbGlwc2VFbGVtZW50LCBTVkdMZW5ndGgsIEN4LCBjeCkKKyAgICAgICAgQU5J
TUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0VsbGlwc2VFbGVtZW50LCBTVkdMZW5ndGgs
IEN5LCBjeSkKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0VsbGlw
c2VFbGVtZW50LCBTVkdMZW5ndGgsIFJ4LCByeCkKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlf
REVDTEFSQVRJT05TKFNWR0VsbGlwc2VFbGVtZW50LCBTVkdMZW5ndGgsIFJ5LCByeSkKICAgICB9
OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdFeHRlcm5h
bFJlc291cmNlc1JlcXVpcmVkLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdFeHRl
cm5hbFJlc291cmNlc1JlcXVpcmVkLmNwcAkocmV2aXNpb24gMzUwMzMpCisrKyBXZWJDb3JlL3N2
Zy9TVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDAs
NyArNDAsNyBAQCBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkOjp+U1ZHRXh0ZXJuCiB7CiB9
CiAKLUFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TX1dJVEhfQ09OVEVYVChTVkdFeHRlcm5h
bFJlc291cmNlc1JlcXVpcmVkLCBib29sLCBCb29sZWFuLCBib29sZWFuLCBFeHRlcm5hbFJlc291
cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBTVkdOYW1lczo6ZXh0ZXJu
YWxSZXNvdXJjZXNSZXF1aXJlZEF0dHIsIG1fZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkKK0FO
SU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TX1dJVEhfQ09OVEVYVChTVkdFeHRlcm5hbFJlc291
cmNlc1JlcXVpcmVkLCBib29sLCBFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJl
c291cmNlc1JlcXVpcmVkLCBTVkdOYW1lczo6ZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZEF0dHIp
CiAKIGJvb2wgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZDo6cGFyc2VNYXBwZWRBdHRyaWJ1
dGUoTWFwcGVkQXR0cmlidXRlKiBhdHRyKQogewpJbmRleDogV2ViQ29yZS9zdmcvU1ZHRXh0ZXJu
YWxSZXNvdXJjZXNSZXF1aXJlZC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0V4dGVy
bmFsUmVzb3VyY2VzUmVxdWlyZWQuaAkocmV2aXNpb24gMzUwMzMpCisrKyBXZWJDb3JlL3N2Zy9T
VkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLmgJKHdvcmtpbmcgY29weSkKQEAgLTUzLDcgKzUz
LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIGNvbnN0IFNWR0VsZW1l
bnQqIGNvbnRleHRFbGVtZW50KCkgY29uc3QgPSAwOwogCiAgICAgcHJpdmF0ZToKLSAgICAgICAg
QU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TX1dJVEhfQ09OVEVYVChTVkdFeHRlcm5hbFJl
c291cmNlc1JlcXVpcmVkLCBib29sLCBib29sLCBFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBl
eHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNM
QVJBVElPTlNfV0lUSF9DT05URVhUKFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGJvb2ws
IEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpCiAg
ICAgfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHRkVC
bGVuZEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0ZFQmxlbmRFbGVt
ZW50LmNwcAkocmV2aXNpb24gMzUwMzMpCisrKyBXZWJDb3JlL3N2Zy9TVkdGRUJsZW5kRWxlbWVu
dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQwLDkgKzQwLDkgQEAgU1ZHRkVCbGVuZEVsZW1lbnQ6
On5TVkdGRUJsZW5kRWxlbWVudCgpCiB7CiB9CiAKLUFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJ
T05TKFNWR0ZFQmxlbmRFbGVtZW50LCBTdHJpbmcsIFN0cmluZywgc3RyaW5nLCBJbjEsIGluMSwg
U1ZHTmFtZXM6OmluQXR0ciwgbV9pbjEpCi1BTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhT
VkdGRUJsZW5kRWxlbWVudCwgU3RyaW5nLCBTdHJpbmcsIHN0cmluZywgSW4yLCBpbjIsIFNWR05h
bWVzOjppbjJBdHRyLCBtX2luMikKLUFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0ZF
QmxlbmRFbGVtZW50LCBpbnQsIEVudW1lcmF0aW9uLCBlbnVtZXJhdGlvbiwgTW9kZSwgbW9kZSwg
U1ZHTmFtZXM6Om1vZGVBdHRyLCBtX21vZGUpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9O
UyhTVkdGRUJsZW5kRWxlbWVudCwgU3RyaW5nLCBJbjEsIGluMSwgU1ZHTmFtZXM6OmluQXR0cikK
K0FOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0ZFQmxlbmRFbGVtZW50LCBTdHJpbmcs
IEluMiwgaW4yLCBTVkdOYW1lczo6aW4yQXR0cikKK0FOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJ
T05TKFNWR0ZFQmxlbmRFbGVtZW50LCBpbnQsIE1vZGUsIG1vZGUsIFNWR05hbWVzOjptb2RlQXR0
cikKIAogdm9pZCBTVkdGRUJsZW5kRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoTWFwcGVk
QXR0cmlidXRlKiBhdHRyKQogewpJbmRleDogV2ViQ29yZS9zdmcvU1ZHRkVCbGVuZEVsZW1lbnQu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdGRUJsZW5kRWxlbWVudC5oCShyZXZpc2lv
biAzNTAzMykKKysrIFdlYkNvcmUvc3ZnL1NWR0ZFQmxlbmRFbGVtZW50LmgJKHdvcmtpbmcgY29w
eSkKQEAgLTQ0LDkgKzQ0LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUKICAgICAgICAgdmlydHVhbCBj
b25zdCBTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIHRoaXM7IH0K
IAogICAgIHByaXZhdGU6Ci0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhT
VkdGRUJsZW5kRWxlbWVudCwgU3RyaW5nLCBTdHJpbmcsIEluMSwgaW4xKQotICAgICAgICBBTklN
QVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRkVCbGVuZEVsZW1lbnQsIFN0cmluZywgU3Ry
aW5nLCBJbjIsIGluMikKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNW
R0ZFQmxlbmRFbGVtZW50LCBpbnQsIGludCwgTW9kZSwgbW9kZSkKKyAgICAgICAgQU5JTUFURURf
UFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0ZFQmxlbmRFbGVtZW50LCBTdHJpbmcsIEluMSwgaW4x
KQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRkVCbGVuZEVsZW1l
bnQsIFN0cmluZywgSW4yLCBpbjIpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFU
SU9OUyhTVkdGRUJsZW5kRWxlbWVudCwgaW50LCBNb2RlLCBtb2RlKQogCiAgICAgICAgIG11dGFi
bGUgUmVmUHRyPEZFQmxlbmQ+IG1fZmlsdGVyRWZmZWN0OwogICAgIH07CkluZGV4OiBXZWJDb3Jl
L3N2Zy9TVkdGRUNvbG9yTWF0cml4RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9z
dmcvU1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQuY3BwCShyZXZpc2lvbiAzNTAzMykKKysrIFdlYkNv
cmUvc3ZnL1NWR0ZFQ29sb3JNYXRyaXhFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDMs
OSArNDMsOSBAQCBTVkdGRUNvbG9yTWF0cml4RWxlbWVudDo6flNWR0ZFQ29sb3JNYXRyCiB7CiB9
CiAKLUFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0ZFQ29sb3JNYXRyaXhFbGVtZW50
LCBTdHJpbmcsIFN0cmluZywgc3RyaW5nLCBJbjEsIGluMSwgU1ZHTmFtZXM6OmluQXR0ciwgbV9p
bjEpCi1BTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdGRUNvbG9yTWF0cml4RWxlbWVu
dCwgaW50LCBFbnVtZXJhdGlvbiwgZW51bWVyYXRpb24sIFR5cGUsIHR5cGUsIFNWR05hbWVzOjp0
eXBlQXR0ciwgbV90eXBlKQotQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHRkVDb2xv
ck1hdHJpeEVsZW1lbnQsIFNWR051bWJlckxpc3QqLCBOdW1iZXJMaXN0LCBudW1iZXJMaXN0LCBW
YWx1ZXMsIHZhbHVlcywgU1ZHTmFtZXM6OnZhbHVlc0F0dHIsIG1fdmFsdWVzLmdldCgpKQorQU5J
TUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQsIHN0cmlu
ZywgSW4xLCBpbjEsIFNWR05hbWVzOjppbkF0dHIpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklU
SU9OUyhTVkdGRUNvbG9yTWF0cml4RWxlbWVudCwgaW50LCBUeXBlLCB0eXBlLCBTVkdOYW1lczo6
dHlwZUF0dHIpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OU19SRUZDT1VOVEVEKFNWR0ZF
Q29sb3JNYXRyaXhFbGVtZW50LCBTVkdOdW1iZXJMaXN0LCBWYWx1ZXMsIHZhbHVlcywgU1ZHTmFt
ZXM6OnZhbHVlc0F0dHIpCiAKIHZvaWQgU1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQ6OnBhcnNlTWFw
cGVkQXR0cmlidXRlKE1hcHBlZEF0dHJpYnV0ZSogYXR0cikKIHsKSW5kZXg6IFdlYkNvcmUvc3Zn
L1NWR0ZFQ29sb3JNYXRyaXhFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZH
RkVDb2xvck1hdHJpeEVsZW1lbnQuaAkocmV2aXNpb24gMzUwMzMpCisrKyBXZWJDb3JlL3N2Zy9T
VkdGRUNvbG9yTWF0cml4RWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC00Niw5ICs0Niw5IEBA
IG5hbWVzcGFjZSBXZWJDb3JlCiAgICAgICAgIHZpcnR1YWwgY29uc3QgU1ZHRWxlbWVudCogY29u
dGV4dEVsZW1lbnQoKSBjb25zdCB7IHJldHVybiB0aGlzOyB9CiAKICAgICBwcml2YXRlOgotICAg
ICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRkVDb2xvck1hdHJpeEVsZW1l
bnQsIFN0cmluZywgU3RyaW5nLCBJbjEsIGluMSkKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlf
REVDTEFSQVRJT05TKFNWR0ZFQ29sb3JNYXRyaXhFbGVtZW50LCBpbnQsIGludCwgVHlwZSwgdHlw
ZSkKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0ZFQ29sb3JNYXRy
aXhFbGVtZW50LCBTVkdOdW1iZXJMaXN0KiwgUmVmUHRyPFNWR051bWJlckxpc3Q+LCBWYWx1ZXMs
IHZhbHVlcykKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0ZFQ29s
b3JNYXRyaXhFbGVtZW50LCBTdHJpbmcsIEluMSwgaW4xKQorICAgICAgICBBTklNQVRFRF9QUk9Q
RVJUWV9ERUNMQVJBVElPTlMoU1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQsIGludCwgVHlwZSwgdHlw
ZSkKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TX1JFRkNPVU5URUQoU1ZH
RkVDb2xvck1hdHJpeEVsZW1lbnQsIFNWR051bWJlckxpc3QsIFZhbHVlcywgdmFsdWVzKQogCiAg
ICAgICAgIG11dGFibGUgUmVmUHRyPEZFQ29sb3JNYXRyaXg+IG1fZmlsdGVyRWZmZWN0OwogICAg
IH07CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdGRUNvbXBvbmVudFRyYW5zZmVyRWxlbWVudC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHRkVDb21wb25lbnRUcmFuc2ZlckVsZW1lbnQu
Y3BwCShyZXZpc2lvbiAzNTAzMykKKysrIFdlYkNvcmUvc3ZnL1NWR0ZFQ29tcG9uZW50VHJhbnNm
ZXJFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDYsNyArNDYsNyBAQCBTVkdGRUNvbXBv
bmVudFRyYW5zZmVyRWxlbWVudDo6flNWR0ZFQ29tCiB7CiB9CiAKLUFOSU1BVEVEX1BST1BFUlRZ
X0RFRklOSVRJT05TKFNWR0ZFQ29tcG9uZW50VHJhbnNmZXJFbGVtZW50LCBTdHJpbmcsIFN0cmlu
Zywgc3RyaW5nLCBJbjEsIGluMSwgU1ZHTmFtZXM6OmluQXR0ciwgbV9pbjEpCitBTklNQVRFRF9Q
Uk9QRVJUWV9ERUZJTklUSU9OUyhTVkdGRUNvbXBvbmVudFRyYW5zZmVyRWxlbWVudCwgU3RyaW5n
LCBJbjEsIGluMSwgU1ZHTmFtZXM6OmluQXR0cikKIAogdm9pZCBTVkdGRUNvbXBvbmVudFRyYW5z
ZmVyRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoTWFwcGVkQXR0cmlidXRlKiBhdHRyKQog
ewpJbmRleDogV2ViQ29yZS9zdmcvU1ZHRkVDb21wb25lbnRUcmFuc2ZlckVsZW1lbnQuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdGRUNvbXBvbmVudFRyYW5zZmVyRWxlbWVudC5oCShy
ZXZpc2lvbiAzNTAzMykKKysrIFdlYkNvcmUvc3ZnL1NWR0ZFQ29tcG9uZW50VHJhbnNmZXJFbGVt
ZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTQ1LDcgKzQ1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUK
ICAgICAgICAgdmlydHVhbCBjb25zdCBTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCgpIGNvbnN0
IHsgcmV0dXJuIHRoaXM7IH0KIAogICAgIHByaXZhdGU6Ci0gICAgICAgIEFOSU1BVEVEX1BST1BF
UlRZX0RFQ0xBUkFUSU9OUyhTVkdGRUNvbXBvbmVudFRyYW5zZmVyRWxlbWVudCwgU3RyaW5nLCBT
dHJpbmcsIEluMSwgaW4xKQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMo
U1ZHRkVDb21wb25lbnRUcmFuc2ZlckVsZW1lbnQsIFN0cmluZywgSW4xLCBpbjEpCiAKICAgICAg
ICAgbXV0YWJsZSBSZWZQdHI8RkVDb21wb25lbnRUcmFuc2Zlcj4gbV9maWx0ZXJFZmZlY3Q7CiAg
ICAgfTsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0ZFQ29tcG9zaXRlRWxlbWVudC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHRkVDb21wb3NpdGVFbGVtZW50LmNwcAkocmV2aXNpb24g
MzUwMzMpCisrKyBXZWJDb3JlL3N2Zy9TVkdGRUNvbXBvc2l0ZUVsZW1lbnQuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC00NSwxMyArNDUsMTMgQEAgU1ZHRkVDb21wb3NpdGVFbGVtZW50Ojp+U1ZHRkVD
b21wb3NpdGVFbAogewogfQogCi1BTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdGRUNv
bXBvc2l0ZUVsZW1lbnQsIFN0cmluZywgU3RyaW5nLCBzdHJpbmcsIEluMSwgaW4xLCBTVkdOYW1l
czo6aW5BdHRyLCBtX2luMSkKLUFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0ZFQ29t
cG9zaXRlRWxlbWVudCwgU3RyaW5nLCBTdHJpbmcsIHN0cmluZywgSW4yLCBpbjIsIFNWR05hbWVz
OjppbjJBdHRyLCBtX2luMikKLUFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0ZFQ29t
cG9zaXRlRWxlbWVudCwgaW50LCBFbnVtZXJhdGlvbiwgZW51bWVyYXRpb24sIF9vcGVyYXRvciwg
X29wZXJhdG9yLCBTVkdOYW1lczo6b3BlcmF0b3JBdHRyLCBtX19vcGVyYXRvcikKLUFOSU1BVEVE
X1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0ZFQ29tcG9zaXRlRWxlbWVudCwgZmxvYXQsIE51bWJl
ciwgbnVtYmVyLCBLMSwgazEsIFNWR05hbWVzOjprMUF0dHIsIG1fazEpCi1BTklNQVRFRF9QUk9Q
RVJUWV9ERUZJTklUSU9OUyhTVkdGRUNvbXBvc2l0ZUVsZW1lbnQsIGZsb2F0LCBOdW1iZXIsIG51
bWJlciwgSzIsIGsyLCBTVkdOYW1lczo6azJBdHRyLCBtX2syKQotQU5JTUFURURfUFJPUEVSVFlf
REVGSU5JVElPTlMoU1ZHRkVDb21wb3NpdGVFbGVtZW50LCBmbG9hdCwgTnVtYmVyLCBudW1iZXIs
IEszLCBrMywgU1ZHTmFtZXM6OmszQXR0ciwgbV9rMykKLUFOSU1BVEVEX1BST1BFUlRZX0RFRklO
SVRJT05TKFNWR0ZFQ29tcG9zaXRlRWxlbWVudCwgZmxvYXQsIE51bWJlciwgbnVtYmVyLCBLNCwg
azQsIFNWR05hbWVzOjprNEF0dHIsIG1fazQpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9O
UyhTVkdGRUNvbXBvc2l0ZUVsZW1lbnQsIFN0cmluZywgSW4xLCBpbjEsIFNWR05hbWVzOjppbkF0
dHIpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdGRUNvbXBvc2l0ZUVsZW1lbnQs
IFN0cmluZywgSW4yLCBpbjIsIFNWR05hbWVzOjppbjJBdHRyKQorQU5JTUFURURfUFJPUEVSVFlf
REVGSU5JVElPTlMoU1ZHRkVDb21wb3NpdGVFbGVtZW50LCBpbnQsIF9vcGVyYXRvciwgX29wZXJh
dG9yLCBTVkdOYW1lczo6b3BlcmF0b3JBdHRyKQorQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElP
TlMoU1ZHRkVDb21wb3NpdGVFbGVtZW50LCBmbG9hdCwgSzEsIGsxLCBTVkdOYW1lczo6azFBdHRy
KQorQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHRkVDb21wb3NpdGVFbGVtZW50LCBm
bG9hdCwgSzIsIGsyLCBTVkdOYW1lczo6azJBdHRyKQorQU5JTUFURURfUFJPUEVSVFlfREVGSU5J
VElPTlMoU1ZHRkVDb21wb3NpdGVFbGVtZW50LCBmbG9hdCwgSzMsIGszLCBTVkdOYW1lczo6azNB
dHRyKQorQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHRkVDb21wb3NpdGVFbGVtZW50
LCBmbG9hdCwgSzQsIGs0LCBTVkdOYW1lczo6azRBdHRyKQogCiB2b2lkIFNWR0ZFQ29tcG9zaXRl
RWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoTWFwcGVkQXR0cmlidXRlICphdHRyKQogewpJ
bmRleDogV2ViQ29yZS9zdmcvU1ZHRkVDb21wb3NpdGVFbGVtZW50LmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9zdmcvU1ZHRkVDb21wb3NpdGVFbGVtZW50LmgJKHJldmlzaW9uIDM1MDMzKQorKysg
V2ViQ29yZS9zdmcvU1ZHRkVDb21wb3NpdGVFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTQ1
LDEzICs0NSwxMyBAQCBuYW1lc3BhY2UgV2ViQ29yZQogICAgICAgICB2aXJ0dWFsIGNvbnN0IFNW
R0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gdGhpczsgfQogCiAgICAg
cHJpdmF0ZToKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0ZFQ29t
cG9zaXRlRWxlbWVudCwgU3RyaW5nLCBTdHJpbmcsIEluMSwgaW4xKQotICAgICAgICBBTklNQVRF
RF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRkVDb21wb3NpdGVFbGVtZW50LCBTdHJpbmcsIFN0
cmluZywgSW4yLCBpbjIpCi0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhT
VkdGRUNvbXBvc2l0ZUVsZW1lbnQsIGludCwgaW50LCBfb3BlcmF0b3IsIF9vcGVyYXRvcikKLSAg
ICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0ZFQ29tcG9zaXRlRWxlbWVu
dCwgZmxvYXQsIGZsb2F0LCBLMSwgazEpCi0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xB
UkFUSU9OUyhTVkdGRUNvbXBvc2l0ZUVsZW1lbnQsIGZsb2F0LCBmbG9hdCwgSzIsIGsyKQotICAg
ICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRkVDb21wb3NpdGVFbGVtZW50
LCBmbG9hdCwgZmxvYXQsIEszLCBrMykKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFS
QVRJT05TKFNWR0ZFQ29tcG9zaXRlRWxlbWVudCwgZmxvYXQsIGZsb2F0LCBLNCwgazQpCisgICAg
ICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdGRUNvbXBvc2l0ZUVsZW1lbnQs
IFN0cmluZywgSW4xLCBpbjEpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9O
UyhTVkdGRUNvbXBvc2l0ZUVsZW1lbnQsIFN0cmluZywgSW4yLCBpbjIpCisgICAgICAgIEFOSU1B
VEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdGRUNvbXBvc2l0ZUVsZW1lbnQsIGludCwgX29w
ZXJhdG9yLCBfb3BlcmF0b3IpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9O
UyhTVkdGRUNvbXBvc2l0ZUVsZW1lbnQsIGZsb2F0LCBLMSwgazEpCisgICAgICAgIEFOSU1BVEVE
X1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdGRUNvbXBvc2l0ZUVsZW1lbnQsIGZsb2F0LCBLMiwg
azIpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdGRUNvbXBvc2l0
ZUVsZW1lbnQsIGZsb2F0LCBLMywgazMpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xB
UkFUSU9OUyhTVkdGRUNvbXBvc2l0ZUVsZW1lbnQsIGZsb2F0LCBLNCwgazQpCiAKICAgICAgICAg
bXV0YWJsZSBSZWZQdHI8RkVDb21wb3NpdGU+IG1fZmlsdGVyRWZmZWN0OwogICAgIH07CkluZGV4
OiBXZWJDb3JlL3N2Zy9TVkdGRURpZmZ1c2VMaWdodGluZ0VsZW1lbnQuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvc3ZnL1NWR0ZFRGlmZnVzZUxpZ2h0aW5nRWxlbWVudC5jcHAJKHJldmlzaW9u
IDM1MDMzKQorKysgV2ViQ29yZS9zdmcvU1ZHRkVEaWZmdXNlTGlnaHRpbmdFbGVtZW50LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNDgsMTEgKzQ4LDExIEBAIFNWR0ZFRGlmZnVzZUxpZ2h0aW5nRWxl
bWVudDo6flNWR0ZFRGlmZnUKIHsKIH0KIAotQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMo
U1ZHRkVEaWZmdXNlTGlnaHRpbmdFbGVtZW50LCBTdHJpbmcsIFN0cmluZywgc3RyaW5nLCBJbjEs
IGluMSwgU1ZHTmFtZXM6OmluQXR0ciwgbV9pbjEpCi1BTklNQVRFRF9QUk9QRVJUWV9ERUZJTklU
SU9OUyhTVkdGRURpZmZ1c2VMaWdodGluZ0VsZW1lbnQsIGZsb2F0LCBOdW1iZXIsIG51bWJlciwg
RGlmZnVzZUNvbnN0YW50LCBkaWZmdXNlQ29uc3RhbnQsIFNWR05hbWVzOjpkaWZmdXNlQ29uc3Rh
bnRBdHRyLCBtX2RpZmZ1c2VDb25zdGFudCkKLUFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05T
KFNWR0ZFRGlmZnVzZUxpZ2h0aW5nRWxlbWVudCwgZmxvYXQsIE51bWJlciwgbnVtYmVyLCBTdXJm
YWNlU2NhbGUsIHN1cmZhY2VTY2FsZSwgU1ZHTmFtZXM6OnN1cmZhY2VTY2FsZUF0dHIsIG1fc3Vy
ZmFjZVNjYWxlKQotQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlNfV0lUSF9DVVNUT01fSURF
TlRJRklFUihTVkdGRURpZmZ1c2VMaWdodGluZ0VsZW1lbnQsIGZsb2F0LCBOdW1iZXIsIG51bWJl
ciwgS2VybmVsVW5pdExlbmd0aFgsIGtlcm5lbFVuaXRMZW5ndGhYLCBTVkdOYW1lczo6a2VybmVs
VW5pdExlbmd0aEF0dHIsICJrZXJuZWxVbml0TGVuZ3RoWCIsIG1fa2VybmVsVW5pdExlbmd0aFgp
Ci1BTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OU19XSVRIX0NVU1RPTV9JREVOVElGSUVSKFNW
R0ZFRGlmZnVzZUxpZ2h0aW5nRWxlbWVudCwgZmxvYXQsIE51bWJlciwgbnVtYmVyLCBLZXJuZWxV
bml0TGVuZ3RoWSwga2VybmVsVW5pdExlbmd0aFksIFNWR05hbWVzOjprZXJuZWxVbml0TGVuZ3Ro
QXR0ciwgImtlcm5lbFVuaXRMZW5ndGhZIiwgbV9rZXJuZWxVbml0TGVuZ3RoWSkKK0FOSU1BVEVE
X1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0ZFRGlmZnVzZUxpZ2h0aW5nRWxlbWVudCwgc3RyaW5n
LCBJbjEsIGluMSwgU1ZHTmFtZXM6OmluQXR0cikKK0FOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJ
T05TKFNWR0ZFRGlmZnVzZUxpZ2h0aW5nRWxlbWVudCwgZmxvYXQsIERpZmZ1c2VDb25zdGFudCwg
ZGlmZnVzZUNvbnN0YW50LCBTVkdOYW1lczo6ZGlmZnVzZUNvbnN0YW50QXR0cikKK0FOSU1BVEVE
X1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0ZFRGlmZnVzZUxpZ2h0aW5nRWxlbWVudCwgZmxvYXQs
IFN1cmZhY2VTY2FsZSwgc3VyZmFjZVNjYWxlLCBTVkdOYW1lczo6c3VyZmFjZVNjYWxlQXR0cikK
K0FOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TX1dJVEhfQ1VTVE9NX0lERU5USUZJRVIoU1ZH
RkVEaWZmdXNlTGlnaHRpbmdFbGVtZW50LCBmbG9hdCwgS2VybmVsVW5pdExlbmd0aFgsIGtlcm5l
bFVuaXRMZW5ndGhYLCBTVkdOYW1lczo6a2VybmVsVW5pdExlbmd0aEF0dHIsICJrZXJuZWxVbml0
TGVuZ3RoWCIpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OU19XSVRIX0NVU1RPTV9JREVO
VElGSUVSKFNWR0ZFRGlmZnVzZUxpZ2h0aW5nRWxlbWVudCwgZmxvYXQsIEtlcm5lbFVuaXRMZW5n
dGhZLCBrZXJuZWxVbml0TGVuZ3RoWSwgU1ZHTmFtZXM6Omtlcm5lbFVuaXRMZW5ndGhBdHRyLCAi
a2VybmVsVW5pdExlbmd0aFkiKQogCiB2b2lkIFNWR0ZFRGlmZnVzZUxpZ2h0aW5nRWxlbWVudDo6
cGFyc2VNYXBwZWRBdHRyaWJ1dGUoTWFwcGVkQXR0cmlidXRlICphdHRyKQogewpJbmRleDogV2Vi
Q29yZS9zdmcvU1ZHRkVEaWZmdXNlTGlnaHRpbmdFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9zdmcvU1ZHRkVEaWZmdXNlTGlnaHRpbmdFbGVtZW50LmgJKHJldmlzaW9uIDM1MDMzKQor
KysgV2ViQ29yZS9zdmcvU1ZHRkVEaWZmdXNlTGlnaHRpbmdFbGVtZW50LmgJKHdvcmtpbmcgY29w
eSkKQEAgLTQyLDExICs0MiwxMSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1
YWwgY29uc3QgU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSBjb25zdCB7IHJldHVybiB0aGlz
OyB9CiAKICAgICBwcml2YXRlOgotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElP
TlMoU1ZHRkVEaWZmdXNlTGlnaHRpbmdFbGVtZW50LCBTdHJpbmcsIFN0cmluZywgSW4xLCBpbjEp
Ci0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdGRURpZmZ1c2VMaWdo
dGluZ0VsZW1lbnQsIGZsb2F0LCBmbG9hdCwgRGlmZnVzZUNvbnN0YW50LCBkaWZmdXNlQ29uc3Rh
bnQpCi0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdGRURpZmZ1c2VM
aWdodGluZ0VsZW1lbnQsIGZsb2F0LCBmbG9hdCwgU3VyZmFjZVNjYWxlLCBzdXJmYWNlU2NhbGUp
Ci0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdGRURpZmZ1c2VMaWdo
dGluZ0VsZW1lbnQsIGZsb2F0LCBmbG9hdCwgS2VybmVsVW5pdExlbmd0aFgsIGtlcm5lbFVuaXRM
ZW5ndGhYKQotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRkVEaWZm
dXNlTGlnaHRpbmdFbGVtZW50LCBmbG9hdCwgZmxvYXQsIEtlcm5lbFVuaXRMZW5ndGhZLCBrZXJu
ZWxVbml0TGVuZ3RoWSkKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNW
R0ZFRGlmZnVzZUxpZ2h0aW5nRWxlbWVudCwgU3RyaW5nLCBJbjEsIGluMSkKKyAgICAgICAgQU5J
TUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0ZFRGlmZnVzZUxpZ2h0aW5nRWxlbWVudCwg
ZmxvYXQsIERpZmZ1c2VDb25zdGFudCwgZGlmZnVzZUNvbnN0YW50KQorICAgICAgICBBTklNQVRF
RF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRkVEaWZmdXNlTGlnaHRpbmdFbGVtZW50LCBmbG9h
dCwgU3VyZmFjZVNjYWxlLCBzdXJmYWNlU2NhbGUpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZ
X0RFQ0xBUkFUSU9OUyhTVkdGRURpZmZ1c2VMaWdodGluZ0VsZW1lbnQsIGZsb2F0LCBLZXJuZWxV
bml0TGVuZ3RoWCwga2VybmVsVW5pdExlbmd0aFgpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZ
X0RFQ0xBUkFUSU9OUyhTVkdGRURpZmZ1c2VMaWdodGluZ0VsZW1lbnQsIGZsb2F0LCBLZXJuZWxV
bml0TGVuZ3RoWSwga2VybmVsVW5pdExlbmd0aFkpCiAKICAgICAgICAgbXV0YWJsZSBSZWZQdHI8
U1ZHRkVEaWZmdXNlTGlnaHRpbmc+IG1fZmlsdGVyRWZmZWN0OwogICAgICAgICAKSW5kZXg6IFdl
YkNvcmUvc3ZnL1NWR0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9zdmcvU1ZHRkVEaXNwbGFjZW1lbnRNYXBFbGVtZW50LmNwcAkocmV2aXNpb24gMzUw
MzMpCisrKyBXZWJDb3JlL3N2Zy9TVkdGRURpc3BsYWNlbWVudE1hcEVsZW1lbnQuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC00MCwxMSArNDAsMTEgQEAgU1ZHRkVEaXNwbGFjZW1lbnRNYXBFbGVtZW50
Ojp+U1ZHRkVEaXNwbAogewogfQogCi1BTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdG
RURpc3BsYWNlbWVudE1hcEVsZW1lbnQsIFN0cmluZywgU3RyaW5nLCBzdHJpbmcsIEluMSwgaW4x
LCBTVkdOYW1lczo6aW5BdHRyLCBtX2luMSkKLUFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05T
KFNWR0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudCwgU3RyaW5nLCBTdHJpbmcsIHN0cmluZywgSW4y
LCBpbjIsIFNWR05hbWVzOjppbjJBdHRyLCBtX2luMikKLUFOSU1BVEVEX1BST1BFUlRZX0RFRklO
SVRJT05TKFNWR0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudCwgaW50LCBFbnVtZXJhdGlvbiwgZW51
bWVyYXRpb24sIFhDaGFubmVsU2VsZWN0b3IsIHhDaGFubmVsU2VsZWN0b3IsIFNWR05hbWVzOjp4
Q2hhbm5lbFNlbGVjdG9yQXR0ciwgbV94Q2hhbm5lbFNlbGVjdG9yKQotQU5JTUFURURfUFJPUEVS
VFlfREVGSU5JVElPTlMoU1ZHRkVEaXNwbGFjZW1lbnRNYXBFbGVtZW50LCBpbnQsIEVudW1lcmF0
aW9uLCBlbnVtZXJhdGlvbiwgWUNoYW5uZWxTZWxlY3RvciwgeUNoYW5uZWxTZWxlY3RvciwgU1ZH
TmFtZXM6OnlDaGFubmVsU2VsZWN0b3JBdHRyLCBtX3lDaGFubmVsU2VsZWN0b3IpCi1BTklNQVRF
RF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdGRURpc3BsYWNlbWVudE1hcEVsZW1lbnQsIGZsb2F0
LCBOdW1iZXIsIG51bWJlciwgU2NhbGUsIHNjYWxlLCBTVkdOYW1lczo6c2NhbGVBdHRyLCBtX3Nj
YWxlKQorQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHRkVEaXNwbGFjZW1lbnRNYXBF
bGVtZW50LCBTdHJpbmcsIEluMSwgaW4xLCBTVkdOYW1lczo6aW5BdHRyKQorQU5JTUFURURfUFJP
UEVSVFlfREVGSU5JVElPTlMoU1ZHRkVEaXNwbGFjZW1lbnRNYXBFbGVtZW50LCBTdHJpbmcsIElu
MiwgaW4yLCBTVkdOYW1lczo6aW4yQXR0cikKK0FOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05T
KFNWR0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudCwgaW50LCBYQ2hhbm5lbFNlbGVjdG9yLCB4Q2hh
bm5lbFNlbGVjdG9yLCBTVkdOYW1lczo6eENoYW5uZWxTZWxlY3RvckF0dHIpCitBTklNQVRFRF9Q
Uk9QRVJUWV9ERUZJTklUSU9OUyhTVkdGRURpc3BsYWNlbWVudE1hcEVsZW1lbnQsIGludCwgWUNo
YW5uZWxTZWxlY3RvciwgeUNoYW5uZWxTZWxlY3RvciwgU1ZHTmFtZXM6OnlDaGFubmVsU2VsZWN0
b3JBdHRyKQorQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHRkVEaXNwbGFjZW1lbnRN
YXBFbGVtZW50LCBmbG9hdCwgU2NhbGUsIHNjYWxlLCBTVkdOYW1lczo6c2NhbGVBdHRyKQogCiBT
VkdDaGFubmVsU2VsZWN0b3JUeXBlIFNWR0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudDo6c3RyaW5n
VG9DaGFubmVsKGNvbnN0IFN0cmluZyYga2V5KQogewpJbmRleDogV2ViQ29yZS9zdmcvU1ZHRkVE
aXNwbGFjZW1lbnRNYXBFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHRkVE
aXNwbGFjZW1lbnRNYXBFbGVtZW50LmgJKHJldmlzaW9uIDM1MDMzKQorKysgV2ViQ29yZS9zdmcv
U1ZHRkVEaXNwbGFjZW1lbnRNYXBFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTQwLDExICs0
MCwxMSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgY29uc3QgU1ZHRWxl
bWVudCogY29udGV4dEVsZW1lbnQoKSBjb25zdCB7IHJldHVybiB0aGlzOyB9CiAKICAgICBwcml2
YXRlOgotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRkVEaXNwbGFj
ZW1lbnRNYXBFbGVtZW50LCBTdHJpbmcsIFN0cmluZywgSW4xLCBpbjEpCi0gICAgICAgIEFOSU1B
VEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdGRURpc3BsYWNlbWVudE1hcEVsZW1lbnQsIFN0
cmluZywgU3RyaW5nLCBJbjIsIGluMikKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFS
QVRJT05TKFNWR0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudCwgaW50LCBpbnQsIFhDaGFubmVsU2Vs
ZWN0b3IsIHhDaGFubmVsU2VsZWN0b3IpCi0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xB
UkFUSU9OUyhTVkdGRURpc3BsYWNlbWVudE1hcEVsZW1lbnQsIGludCwgaW50LCBZQ2hhbm5lbFNl
bGVjdG9yLCB5Q2hhbm5lbFNlbGVjdG9yKQotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNM
QVJBVElPTlMoU1ZHRkVEaXNwbGFjZW1lbnRNYXBFbGVtZW50LCBmbG9hdCwgZmxvYXQsIFNjYWxl
LCBzY2FsZSkKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0ZFRGlz
cGxhY2VtZW50TWFwRWxlbWVudCwgU3RyaW5nLCBJbjEsIGluMSkKKyAgICAgICAgQU5JTUFURURf
UFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudCwgU3RyaW5n
LCBJbjIsIGluMikKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0ZF
RGlzcGxhY2VtZW50TWFwRWxlbWVudCwgaW50LCBYQ2hhbm5lbFNlbGVjdG9yLCB4Q2hhbm5lbFNl
bGVjdG9yKQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRkVEaXNw
bGFjZW1lbnRNYXBFbGVtZW50LCBpbnQsIFlDaGFubmVsU2VsZWN0b3IsIHlDaGFubmVsU2VsZWN0
b3IpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdGRURpc3BsYWNl
bWVudE1hcEVsZW1lbnQsIGZsb2F0LCBTY2FsZSwgc2NhbGUpCiAKICAgICAgICAgbXV0YWJsZSBS
ZWZQdHI8U1ZHRkVEaXNwbGFjZW1lbnRNYXA+IG1fZmlsdGVyRWZmZWN0OwogICAgIH07CkluZGV4
OiBXZWJDb3JlL3N2Zy9TVkdGRUdhdXNzaWFuQmx1ckVsZW1lbnQuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvc3ZnL1NWR0ZFR2F1c3NpYW5CbHVyRWxlbWVudC5jcHAJKHJldmlzaW9uIDM1MDMz
KQorKysgV2ViQ29yZS9zdmcvU1ZHRkVHYXVzc2lhbkJsdXJFbGVtZW50LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNDMsOSArNDMsOSBAQCBTVkdGRUdhdXNzaWFuQmx1ckVsZW1lbnQ6On5TVkdGRUdh
dXNzaWFuCiB7CiB9CiAKLUFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0ZFR2F1c3Np
YW5CbHVyRWxlbWVudCwgU3RyaW5nLCBTdHJpbmcsIHN0cmluZywgSW4xLCBpbjEsIFNWR05hbWVz
OjppbkF0dHIsIG1faW4xKQotQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlNfV0lUSF9DVVNU
T01fSURFTlRJRklFUihTVkdGRUdhdXNzaWFuQmx1ckVsZW1lbnQsIGZsb2F0LCBOdW1iZXIsIG51
bWJlciwgU3RkRGV2aWF0aW9uWCwgc3RkRGV2aWF0aW9uWCwgU1ZHTmFtZXM6OnN0ZERldmlhdGlv
bkF0dHIsICJzdGREZXZpYXRpb25YIiwgbV9zdGREZXZpYXRpb25YKQotQU5JTUFURURfUFJPUEVS
VFlfREVGSU5JVElPTlNfV0lUSF9DVVNUT01fSURFTlRJRklFUihTVkdGRUdhdXNzaWFuQmx1ckVs
ZW1lbnQsIGZsb2F0LCBOdW1iZXIsIG51bWJlciwgU3RkRGV2aWF0aW9uWSwgc3RkRGV2aWF0aW9u
WSwgU1ZHTmFtZXM6OnN0ZERldmlhdGlvbkF0dHIsICJzdGREZXZpYXRpb25ZIiwgbV9zdGREZXZp
YXRpb25ZKQorQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHRkVHYXVzc2lhbkJsdXJF
bGVtZW50LCBTdHJpbmcsIEluMSwgaW4xLCBTVkdOYW1lczo6aW5BdHRyKQorQU5JTUFURURfUFJP
UEVSVFlfREVGSU5JVElPTlNfV0lUSF9DVVNUT01fSURFTlRJRklFUihTVkdGRUdhdXNzaWFuQmx1
ckVsZW1lbnQsIGZsb2F0LCBTdGREZXZpYXRpb25YLCBzdGREZXZpYXRpb25YLCBTVkdOYW1lczo6
c3RkRGV2aWF0aW9uQXR0ciwgInN0ZERldmlhdGlvblgiKQorQU5JTUFURURfUFJPUEVSVFlfREVG
SU5JVElPTlNfV0lUSF9DVVNUT01fSURFTlRJRklFUihTVkdGRUdhdXNzaWFuQmx1ckVsZW1lbnQs
IGZsb2F0LCBTdGREZXZpYXRpb25ZLCBzdGREZXZpYXRpb25ZLCBTVkdOYW1lczo6c3RkRGV2aWF0
aW9uQXR0ciwgInN0ZERldmlhdGlvblkiKQogCiB2b2lkIFNWR0ZFR2F1c3NpYW5CbHVyRWxlbWVu
dDo6c2V0U3RkRGV2aWF0aW9uKGZsb2F0IHN0ZERldmlhdGlvblgsIGZsb2F0IHN0ZERldmlhdGlv
blkpCiB7CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdGRUdhdXNzaWFuQmx1ckVsZW1lbnQuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdGRUdhdXNzaWFuQmx1ckVsZW1lbnQuaAkocmV2aXNp
b24gMzUwMzMpCisrKyBXZWJDb3JlL3N2Zy9TVkdGRUdhdXNzaWFuQmx1ckVsZW1lbnQuaAkod29y
a2luZyBjb3B5KQpAQCAtNDUsOSArNDUsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZQogICAgICAgICB2
aXJ0dWFsIGNvbnN0IFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgY29uc3QgeyByZXR1cm4g
dGhpczsgfQogCiAgICAgcHJpdmF0ZToKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFS
QVRJT05TKFNWR0ZFR2F1c3NpYW5CbHVyRWxlbWVudCwgU3RyaW5nLCBTdHJpbmcsIEluMSwgaW4x
KQotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRkVHYXVzc2lhbkJs
dXJFbGVtZW50LCBmbG9hdCwgZmxvYXQsIFN0ZERldmlhdGlvblgsIHN0ZERldmlhdGlvblgpCi0g
ICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdGRUdhdXNzaWFuQmx1ckVs
ZW1lbnQsIGZsb2F0LCBmbG9hdCwgU3RkRGV2aWF0aW9uWSwgc3RkRGV2aWF0aW9uWSkKKyAgICAg
ICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0ZFR2F1c3NpYW5CbHVyRWxlbWVu
dCwgU3RyaW5nLCBJbjEsIGluMSkKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJ
T05TKFNWR0ZFR2F1c3NpYW5CbHVyRWxlbWVudCwgZmxvYXQsIFN0ZERldmlhdGlvblgsIHN0ZERl
dmlhdGlvblgpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdGRUdh
dXNzaWFuQmx1ckVsZW1lbnQsIGZsb2F0LCBTdGREZXZpYXRpb25ZLCBzdGREZXZpYXRpb25ZKQog
CiAgICAgICAgIG11dGFibGUgUmVmUHRyPFNWR0ZFR2F1c3NpYW5CbHVyPiBtX2ZpbHRlckVmZmVj
dDsKICAgICB9OwpJbmRleDogV2ViQ29yZS9zdmcvU1ZHRkVJbWFnZUVsZW1lbnQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0ZFSW1hZ2VFbGVtZW50LmNwcAkocmV2aXNpb24gMzUw
MzMpCisrKyBXZWJDb3JlL3N2Zy9TVkdGRUltYWdlRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTUzLDcgKzUzLDcgQEAgU1ZHRkVJbWFnZUVsZW1lbnQ6On5TVkdGRUltYWdlRWxlbWVudCgp
CiAgICAgICAgIG1fY2FjaGVkSW1hZ2UtPnJlbW92ZUNsaWVudCh0aGlzKTsKIH0KIAotQU5JTUFU
RURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHRkVJbWFnZUVsZW1lbnQsIFNWR1ByZXNlcnZlQXNw
ZWN0UmF0aW8qLCBQcmVzZXJ2ZUFzcGVjdFJhdGlvLCBwcmVzZXJ2ZUFzcGVjdFJhdGlvLCBQcmVz
ZXJ2ZUFzcGVjdFJhdGlvLCBwcmVzZXJ2ZUFzcGVjdFJhdGlvLCBTVkdOYW1lczo6cHJlc2VydmVB
c3BlY3RSYXRpb0F0dHIsIG1fcHJlc2VydmVBc3BlY3RSYXRpby5nZXQoKSkKK0FOSU1BVEVEX1BS
T1BFUlRZX0RFRklOSVRJT05TX1JFRkNPVU5URUQoU1ZHRkVJbWFnZUVsZW1lbnQsIFNWR1ByZXNl
cnZlQXNwZWN0UmF0aW8sIFNWR05hbWVzOjpwcmVzZXJ2ZUFzcGVjdFJhdGlvQXR0cikKIAogdm9p
ZCBTVkdGRUltYWdlRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoTWFwcGVkQXR0cmlidXRl
KiBhdHRyKQogewpJbmRleDogV2ViQ29yZS9zdmcvU1ZHRkVJbWFnZUVsZW1lbnQuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdGRUltYWdlRWxlbWVudC5oCShyZXZpc2lvbiAzNTAzMykK
KysrIFdlYkNvcmUvc3ZnL1NWR0ZFSW1hZ2VFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTU4
LDcgKzU4LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBBTklNQVRFRF9QUk9QRVJU
WV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdVUklSZWZlcmVuY2UsIFN0cmluZywgSHJlZiwgaHJl
ZikKICAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHRXh0
ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgYm9vbCwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwg
ZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkKICAKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlf
REVDTEFSQVRJT05TKFNWR0ZFSW1hZ2VFbGVtZW50LCBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvKiwg
UmVmUHRyPFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8+LCBQcmVzZXJ2ZUFzcGVjdFJhdGlvLCBwcmVz
ZXJ2ZUFzcGVjdFJhdGlvKQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlNf
UkVGQ09VTlRFRChTVkdGRUltYWdlRWxlbWVudCwgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbywgUHJl
c2VydmVBc3BlY3RSYXRpbywgcHJlc2VydmVBc3BlY3RSYXRpbykKIAogICAgICAgICBDYWNoZWRJ
bWFnZSogbV9jYWNoZWRJbWFnZTsKICAgICAgICAgbXV0YWJsZSBSZWZQdHI8U1ZHRkVJbWFnZT4g
bV9maWx0ZXJFZmZlY3Q7CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdGRUxpZ2h0RWxlbWVudC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHRkVMaWdodEVsZW1lbnQuY3BwCShyZXZpc2lv
biAzNTAzMykKKysrIFdlYkNvcmUvc3ZnL1NWR0ZFTGlnaHRFbGVtZW50LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNDcsMTcgKzQ3LDE3IEBAIFNWR0ZFTGlnaHRFbGVtZW50Ojp+U1ZHRkVMaWdodEVs
ZW1lbnQoKQogewogfQogCi1BTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdGRUxpZ2h0
RWxlbWVudCwgZmxvYXQsIE51bWJlciwgbnVtYmVyLCBBemltdXRoLCBhemltdXRoLCBTVkdOYW1l
czo6YXppbXV0aEF0dHIsIG1fYXppbXV0aCkKLUFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05T
KFNWR0ZFTGlnaHRFbGVtZW50LCBmbG9hdCwgTnVtYmVyLCBudW1iZXIsIEVsZXZhdGlvbiwgZWxl
dmF0aW9uLCBTVkdOYW1lczo6ZWxldmF0aW9uQXR0ciwgbV9lbGV2YXRpb24pCi1BTklNQVRFRF9Q
Uk9QRVJUWV9ERUZJTklUSU9OUyhTVkdGRUxpZ2h0RWxlbWVudCwgZmxvYXQsIE51bWJlciwgbnVt
YmVyLCBYLCB4LCBTVkdOYW1lczo6eEF0dHIsIG1feCkKLUFOSU1BVEVEX1BST1BFUlRZX0RFRklO
SVRJT05TKFNWR0ZFTGlnaHRFbGVtZW50LCBmbG9hdCwgTnVtYmVyLCBudW1iZXIsIFksIHksIFNW
R05hbWVzOjp5QXR0ciwgbV95KQotCi1BTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdG
RUxpZ2h0RWxlbWVudCwgZmxvYXQsIE51bWJlciwgbnVtYmVyLCBaLCB6LCBTVkdOYW1lczo6ekF0
dHIsIG1feikKLUFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0ZFTGlnaHRFbGVtZW50
LCBmbG9hdCwgTnVtYmVyLCBudW1iZXIsIFBvaW50c0F0WCwgcG9pbnRzQXRYLCBTVkdOYW1lczo6
cG9pbnRzQXRYQXR0ciwgbV9wb2ludHNBdFgpCi1BTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9O
UyhTVkdGRUxpZ2h0RWxlbWVudCwgZmxvYXQsIE51bWJlciwgbnVtYmVyLCBQb2ludHNBdFksIHBv
aW50c0F0WSwgU1ZHTmFtZXM6OnBvaW50c0F0WUF0dHIsIG1fcG9pbnRzQXRZKQotQU5JTUFURURf
UFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHRkVMaWdodEVsZW1lbnQsIGZsb2F0LCBOdW1iZXIsIG51
bWJlciwgUG9pbnRzQXRaLCBwb2ludHNBdFosIFNWR05hbWVzOjpwb2ludHNBdFpBdHRyLCBtX3Bv
aW50c0F0WikKLUFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0ZFTGlnaHRFbGVtZW50
LCBmbG9hdCwgTnVtYmVyLCBudW1iZXIsIFNwZWN1bGFyRXhwb25lbnQsIHNwZWN1bGFyRXhwb25l
bnQsIFNWR05hbWVzOjpzcGVjdWxhckV4cG9uZW50QXR0ciwgbV9zcGVjdWxhckV4cG9uZW50KQot
QU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHRkVMaWdodEVsZW1lbnQsIGZsb2F0LCBO
dW1iZXIsIG51bWJlciwgTGltaXRpbmdDb25lQW5nbGUsIGxpbWl0aW5nQ29uZUFuZ2xlLCBTVkdO
YW1lczo6bGltaXRpbmdDb25lQW5nbGVBdHRyLCBtX2xpbWl0aW5nQ29uZUFuZ2xlKQorQU5JTUFU
RURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHRkVMaWdodEVsZW1lbnQsIGZsb2F0LCBBemltdXRo
LCBhemltdXRoLCBTVkdOYW1lczo6YXppbXV0aEF0dHIpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJ
TklUSU9OUyhTVkdGRUxpZ2h0RWxlbWVudCwgZmxvYXQsIEVsZXZhdGlvbiwgZWxldmF0aW9uLCBT
VkdOYW1lczo6ZWxldmF0aW9uQXR0cikKK0FOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNW
R0ZFTGlnaHRFbGVtZW50LCBmbG9hdCwgWCwgeCwgU1ZHTmFtZXM6OnhBdHRyKQorQU5JTUFURURf
UFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHRkVMaWdodEVsZW1lbnQsIGZsb2F0LCBZLCB5LCBTVkdO
YW1lczo6eUF0dHIpCisKK0FOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0ZFTGlnaHRF
bGVtZW50LCBmbG9hdCwgWiwgeiwgU1ZHTmFtZXM6OnpBdHRyKQorQU5JTUFURURfUFJPUEVSVFlf
REVGSU5JVElPTlMoU1ZHRkVMaWdodEVsZW1lbnQsIGZsb2F0LCBQb2ludHNBdFgsIHBvaW50c0F0
WCwgU1ZHTmFtZXM6OnBvaW50c0F0WEF0dHIpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9O
UyhTVkdGRUxpZ2h0RWxlbWVudCwgZmxvYXQsIFBvaW50c0F0WSwgcG9pbnRzQXRZLCBTVkdOYW1l
czo6cG9pbnRzQXRZQXR0cikKK0FOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0ZFTGln
aHRFbGVtZW50LCBmbG9hdCwgUG9pbnRzQXRaLCBwb2ludHNBdFosIFNWR05hbWVzOjpwb2ludHNB
dFpBdHRyKQorQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHRkVMaWdodEVsZW1lbnQs
IGZsb2F0LCBTcGVjdWxhckV4cG9uZW50LCBzcGVjdWxhckV4cG9uZW50LCBTVkdOYW1lczo6c3Bl
Y3VsYXJFeHBvbmVudEF0dHIpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdGRUxp
Z2h0RWxlbWVudCwgZmxvYXQsIExpbWl0aW5nQ29uZUFuZ2xlLCBsaW1pdGluZ0NvbmVBbmdsZSwg
U1ZHTmFtZXM6OmxpbWl0aW5nQ29uZUFuZ2xlQXR0cikKIAogdm9pZCBTVkdGRUxpZ2h0RWxlbWVu
dDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoTWFwcGVkQXR0cmlidXRlKiBhdHRyKQogewpJbmRleDog
V2ViQ29yZS9zdmcvU1ZHRkVMaWdodEVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2
Zy9TVkdGRUxpZ2h0RWxlbWVudC5oCShyZXZpc2lvbiAzNTAzMykKKysrIFdlYkNvcmUvc3ZnL1NW
R0ZFTGlnaHRFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTQwLDE2ICs0MCwxNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZQogICAgICAgICB2aXJ0dWFsIHZvaWQgcGFyc2VNYXBwZWRBdHRyaWJ1dGUo
TWFwcGVkQXR0cmlidXRlKik7CiAKICAgICBwcml2YXRlOgotICAgICAgICBBTklNQVRFRF9QUk9Q
RVJUWV9ERUNMQVJBVElPTlMoU1ZHRkVMaWdodEVsZW1lbnQsIGZsb2F0LCBmbG9hdCwgQXppbXV0
aCwgYXppbXV0aCkKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0ZF
TGlnaHRFbGVtZW50LCBmbG9hdCwgZmxvYXQsIEVsZXZhdGlvbiwgZWxldmF0aW9uKQotICAgICAg
ICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRkVMaWdodEVsZW1lbnQsIGZsb2F0
LCBmbG9hdCwgWCwgeCkKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNW
R0ZFTGlnaHRFbGVtZW50LCBmbG9hdCwgZmxvYXQsIFksIHkpCi0gICAgICAgIEFOSU1BVEVEX1BS
T1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdGRUxpZ2h0RWxlbWVudCwgZmxvYXQsIGZsb2F0LCBaLCB6
KQotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRkVMaWdodEVsZW1l
bnQsIGZsb2F0LCBmbG9hdCwgUG9pbnRzQXRYLCBwb2ludHNBdFgpCi0gICAgICAgIEFOSU1BVEVE
X1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdGRUxpZ2h0RWxlbWVudCwgZmxvYXQsIGZsb2F0LCBQ
b2ludHNBdFksIHBvaW50c0F0WSkKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJ
T05TKFNWR0ZFTGlnaHRFbGVtZW50LCBmbG9hdCwgZmxvYXQsIFBvaW50c0F0WiwgcG9pbnRzQXRa
KQotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRkVMaWdodEVsZW1l
bnQsIGZsb2F0LCBmbG9hdCwgU3BlY3VsYXJFeHBvbmVudCwgc3BlY3VsYXJFeHBvbmVudCkKLSAg
ICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0ZFTGlnaHRFbGVtZW50LCBm
bG9hdCwgZmxvYXQsIExpbWl0aW5nQ29uZUFuZ2xlLCBsaW1pdGluZ0NvbmVBbmdsZSkKKyAgICAg
ICAgQU5JTUFURURfUFJPUEVSVFlfU1RBUlRfREVDTEFSQVRJT05TCisgICAgICAgIEFOSU1BVEVE
X1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdGRUxpZ2h0RWxlbWVudCwgZmxvYXQsIEF6aW11dGgs
IGF6aW11dGgpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdGRUxp
Z2h0RWxlbWVudCwgZmxvYXQsIEVsZXZhdGlvbiwgZWxldmF0aW9uKQorICAgICAgICBBTklNQVRF
RF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRkVMaWdodEVsZW1lbnQsIGZsb2F0LCBYLCB4KQor
ICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRkVMaWdodEVsZW1lbnQs
IGZsb2F0LCBZLCB5KQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZH
RkVMaWdodEVsZW1lbnQsIGZsb2F0LCBaLCB6KQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9E
RUNMQVJBVElPTlMoU1ZHRkVMaWdodEVsZW1lbnQsIGZsb2F0LCBQb2ludHNBdFgsIHBvaW50c0F0
WCkKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0ZFTGlnaHRFbGVt
ZW50LCBmbG9hdCwgUG9pbnRzQXRZLCBwb2ludHNBdFkpCisgICAgICAgIEFOSU1BVEVEX1BST1BF
UlRZX0RFQ0xBUkFUSU9OUyhTVkdGRUxpZ2h0RWxlbWVudCwgZmxvYXQsIFBvaW50c0F0WiwgcG9p
bnRzQXRaKQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRkVMaWdo
dEVsZW1lbnQsIGZsb2F0LCBTcGVjdWxhckV4cG9uZW50LCBzcGVjdWxhckV4cG9uZW50KQorICAg
ICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRkVMaWdodEVsZW1lbnQsIGZs
b2F0LCBMaW1pdGluZ0NvbmVBbmdsZSwgbGltaXRpbmdDb25lQW5nbGUpCiAgICAgfTsKIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHRkVNZXJnZU5vZGVFbGVt
ZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdGRU1lcmdlTm9kZUVsZW1lbnQu
Y3BwCShyZXZpc2lvbiAzNTAzMykKKysrIFdlYkNvcmUvc3ZnL1NWR0ZFTWVyZ2VOb2RlRWxlbWVu
dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM2LDcgKzM2LDcgQEAgU1ZHRkVNZXJnZU5vZGVFbGVt
ZW50Ojp+U1ZHRkVNZXJnZU5vZGVFbAogewogfQogCi1BTklNQVRFRF9QUk9QRVJUWV9ERUZJTklU
SU9OUyhTVkdGRU1lcmdlTm9kZUVsZW1lbnQsIFN0cmluZywgU3RyaW5nLCBzdHJpbmcsIEluMSwg
aW4xLCBTVkdOYW1lczo6aW5BdHRyLCBtX2luMSkKK0FOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJ
T05TKFNWR0ZFTWVyZ2VOb2RlRWxlbWVudCwgU3RyaW5nLCBJbjEsIGluMSwgU1ZHTmFtZXM6Omlu
QXR0cikKIAogdm9pZCBTVkdGRU1lcmdlTm9kZUVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRl
KE1hcHBlZEF0dHJpYnV0ZSogYXR0cikKIHsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0ZFTWVyZ2VO
b2RlRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0ZFTWVyZ2VOb2RlRWxl
bWVudC5oCShyZXZpc2lvbiAzNTAzMykKKysrIFdlYkNvcmUvc3ZnL1NWR0ZFTWVyZ2VOb2RlRWxl
bWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC00MCw3ICs0MCw4IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
CiAgICAgICAgIHZpcnR1YWwgY29uc3QgU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSBjb25z
dCB7IHJldHVybiB0aGlzOyB9CiAKICAgICBwcml2YXRlOgotICAgICAgICBBTklNQVRFRF9QUk9Q
RVJUWV9ERUNMQVJBVElPTlMoU1ZHRkVNZXJnZU5vZGVFbGVtZW50LCBTdHJpbmcsIFN0cmluZywg
SW4xLCBpbjEpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX1NUQVJUX0RFQ0xBUkFUSU9OUwor
ICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRkVNZXJnZU5vZGVFbGVt
ZW50LCBTdHJpbmcsIEluMSwgaW4xKQogICAgIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
SW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0ZFT2Zmc2V0RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9zdmcvU1ZHRkVPZmZzZXRFbGVtZW50LmNwcAkocmV2aXNpb24gMzUwMzMpCisrKyBX
ZWJDb3JlL3N2Zy9TVkdGRU9mZnNldEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Miw5
ICs0Miw5IEBAIFNWR0ZFT2Zmc2V0RWxlbWVudDo6flNWR0ZFT2Zmc2V0RWxlbWVudCgKIHsKIH0K
IAotQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHRkVPZmZzZXRFbGVtZW50LCBTdHJp
bmcsIFN0cmluZywgc3RyaW5nLCBJbjEsIGluMSwgU1ZHTmFtZXM6OmluQXR0ciwgbV9pbjEpCi1B
TklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdGRU9mZnNldEVsZW1lbnQsIGZsb2F0LCBO
dW1iZXIsIG51bWJlciwgRHgsIGR4LCBTVkdOYW1lczo6ZHhBdHRyLCBtX2R4KQotQU5JTUFURURf
UFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHRkVPZmZzZXRFbGVtZW50LCBmbG9hdCwgTnVtYmVyLCBu
dW1iZXIsIER5LCBkeSwgU1ZHTmFtZXM6OmR5QXR0ciwgbV9keSkKK0FOSU1BVEVEX1BST1BFUlRZ
X0RFRklOSVRJT05TKFNWR0ZFT2Zmc2V0RWxlbWVudCwgU3RyaW5nLCBJbjEsIGluMSwgU1ZHTmFt
ZXM6OmluQXR0cikKK0FOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0ZFT2Zmc2V0RWxl
bWVudCwgZmxvYXQsIER4LCBkeCwgU1ZHTmFtZXM6OmR4QXR0cikKK0FOSU1BVEVEX1BST1BFUlRZ
X0RFRklOSVRJT05TKFNWR0ZFT2Zmc2V0RWxlbWVudCwgZmxvYXQsIER5LCBkeSwgU1ZHTmFtZXM6
OmR5QXR0cikKIAogdm9pZCBTVkdGRU9mZnNldEVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRl
KE1hcHBlZEF0dHJpYnV0ZSogYXR0cikKIHsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0ZFT2Zmc2V0
RWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0ZFT2Zmc2V0RWxlbWVudC5o
CShyZXZpc2lvbiAzNTAzMykKKysrIFdlYkNvcmUvc3ZnL1NWR0ZFT2Zmc2V0RWxlbWVudC5oCSh3
b3JraW5nIGNvcHkpCkBAIC00Myw5ICs0Myw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlCiAgICAgICAg
IHZpcnR1YWwgY29uc3QgU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSBjb25zdCB7IHJldHVy
biB0aGlzOyB9CiAKICAgICBwcml2YXRlOgotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNM
QVJBVElPTlMoU1ZHRkVPZmZzZXRFbGVtZW50LCBTdHJpbmcsIFN0cmluZywgSW4xLCBpbjEpCi0g
ICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdGRU9mZnNldEVsZW1lbnQs
IGZsb2F0LCBmbG9hdCwgRHgsIGR4KQotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJB
VElPTlMoU1ZHRkVPZmZzZXRFbGVtZW50LCBmbG9hdCwgZmxvYXQsIER5LCBkeSkKKyAgICAgICAg
QU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0ZFT2Zmc2V0RWxlbWVudCwgU3RyaW5n
LCBJbjEsIGluMSkKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0ZF
T2Zmc2V0RWxlbWVudCwgZmxvYXQsIER4LCBkeCkKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlf
REVDTEFSQVRJT05TKFNWR0ZFT2Zmc2V0RWxlbWVudCwgZmxvYXQsIER5LCBkeSkKIAogICAgICAg
ICBtdXRhYmxlIFJlZlB0cjxTVkdGRU9mZnNldD4gbV9maWx0ZXJFZmZlY3Q7CiAgICAgfTsKSW5k
ZXg6IFdlYkNvcmUvc3ZnL1NWR0ZFU3BlY3VsYXJMaWdodGluZ0VsZW1lbnQuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0ZFU3BlY3VsYXJMaWdodGluZ0VsZW1lbnQuY3BwCShyZXZp
c2lvbiAzNTAzMykKKysrIFdlYkNvcmUvc3ZnL1NWR0ZFU3BlY3VsYXJMaWdodGluZ0VsZW1lbnQu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OCwxMiArNDgsMTIgQEAgU1ZHRkVTcGVjdWxhckxpZ2h0
aW5nRWxlbWVudDo6flNWR0ZFU3BlYwogewogfQogCi1BTklNQVRFRF9QUk9QRVJUWV9ERUZJTklU
SU9OUyhTVkdGRVNwZWN1bGFyTGlnaHRpbmdFbGVtZW50LCBTdHJpbmcsIFN0cmluZywgc3RyaW5n
LCBJbjEsIGluMSwgU1ZHTmFtZXM6OmluQXR0ciwgbV9pbjEpCi1BTklNQVRFRF9QUk9QRVJUWV9E
RUZJTklUSU9OUyhTVkdGRVNwZWN1bGFyTGlnaHRpbmdFbGVtZW50LCBmbG9hdCwgTnVtYmVyLCBu
dW1iZXIsIFNwZWN1bGFyQ29uc3RhbnQsIHNwZWN1bGFyQ29uc3RhbnQsIFNWR05hbWVzOjpzcGVj
dWxhckNvbnN0YW50QXR0ciwgbV9zcGVjdWxhckNvbnN0YW50KQotQU5JTUFURURfUFJPUEVSVFlf
REVGSU5JVElPTlMoU1ZHRkVTcGVjdWxhckxpZ2h0aW5nRWxlbWVudCwgZmxvYXQsIE51bWJlciwg
bnVtYmVyLCBTcGVjdWxhckV4cG9uZW50LCBzcGVjdWxhckV4cG9uZW50LCBTVkdOYW1lczo6c3Bl
Y3VsYXJFeHBvbmVudEF0dHIsIG1fc3BlY3VsYXJFeHBvbmVudCkKLUFOSU1BVEVEX1BST1BFUlRZ
X0RFRklOSVRJT05TKFNWR0ZFU3BlY3VsYXJMaWdodGluZ0VsZW1lbnQsIGZsb2F0LCBOdW1iZXIs
IG51bWJlciwgU3VyZmFjZVNjYWxlLCBzdXJmYWNlU2NhbGUsIFNWR05hbWVzOjpzdXJmYWNlU2Nh
bGVBdHRyLCBtX3N1cmZhY2VTY2FsZSkKLUFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TX1dJ
VEhfQ1VTVE9NX0lERU5USUZJRVIoU1ZHRkVTcGVjdWxhckxpZ2h0aW5nRWxlbWVudCwgZmxvYXQs
IE51bWJlciwgbnVtYmVyLCBLZXJuZWxVbml0TGVuZ3RoWCwga2VybmVsVW5pdExlbmd0aFgsIFNW
R05hbWVzOjprZXJuZWxVbml0TGVuZ3RoQXR0ciwgImtlcm5lbFVuaXRMZW5ndGhYIiwgbV9rZXJu
ZWxVbml0TGVuZ3RoWCkKLUFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TX1dJVEhfQ1VTVE9N
X0lERU5USUZJRVIoU1ZHRkVTcGVjdWxhckxpZ2h0aW5nRWxlbWVudCwgZmxvYXQsIE51bWJlciwg
bnVtYmVyLCBLZXJuZWxVbml0TGVuZ3RoWSwga2VybmVsVW5pdExlbmd0aFksIFNWR05hbWVzOjpr
ZXJuZWxVbml0TGVuZ3RoQXR0ciwgImtlcm5lbFVuaXRMZW5ndGhZIiwgbV9rZXJuZWxVbml0TGVu
Z3RoWSkKK0FOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0ZFU3BlY3VsYXJMaWdodGlu
Z0VsZW1lbnQsIFN0cmluZywgSW4xLCBpbjEsIFNWR05hbWVzOjppbikKK0FOSU1BVEVEX1BST1BF
UlRZX0RFRklOSVRJT05TKFNWR0ZFU3BlY3VsYXJMaWdodGluZ0VsZW1lbnQsIGZsb2F0LCBTcGVj
dWxhckNvbnN0YW50LCBzcGVjdWxhckNvbnN0YW50LCBTVkdOYW1lczo6c3BlY3VsYXJDb25zdGFu
dCkKK0FOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0ZFU3BlY3VsYXJMaWdodGluZ0Vs
ZW1lbnQsIGZsb2F0LCBTcGVjdWxhckV4cG9uZW50LCBzcGVjdWxhckV4cG9uZW50LCBTVkdOYW1l
czo6c3BlY3VsYXJFeHBvbmVudCkKK0FOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0ZF
U3BlY3VsYXJMaWdodGluZ0VsZW1lbnQsIGZsb2F0LCBTdXJmYWNlU2NhbGUsIHN1cmZhY2VTY2Fs
ZSwgU1ZHTmFtZXM6OnN1cmZhY2VTY2FsZSkKK0FOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05T
X1dJVEhfQ1VTVE9NX0lERU5USUZJRVIoU1ZHRkVTcGVjdWxhckxpZ2h0aW5nRWxlbWVudCwgZmxv
YXQsIFNWR05hbWVzOjprZXJuZWxVbml0TGVuZ3RoQXR0ciwgImtlcm5lbFVuaXRMZW5ndGhYIikK
K0FOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TX1dJVEhfQ1VTVE9NX0lERU5USUZJRVIoU1ZH
RkVTcGVjdWxhckxpZ2h0aW5nRWxlbWVudCwgZmxvYXQsIFNWR05hbWVzOjprZXJuZWxVbml0TGVu
Z3RoQXR0ciwgImtlcm5lbFVuaXRMZW5ndGhZIikKIAogdm9pZCBTVkdGRVNwZWN1bGFyTGlnaHRp
bmdFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShNYXBwZWRBdHRyaWJ1dGUqIGF0dHIpCiB7
ICAgIApJbmRleDogV2ViQ29yZS9zdmcvU1ZHRkVTcGVjdWxhckxpZ2h0aW5nRWxlbWVudC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0ZFU3BlY3VsYXJMaWdodGluZ0VsZW1lbnQuaAko
cmV2aXNpb24gMzUwMzMpCisrKyBXZWJDb3JlL3N2Zy9TVkdGRVNwZWN1bGFyTGlnaHRpbmdFbGVt
ZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTQzLDEyICs0MywxMiBAQCBuYW1lc3BhY2UgV2ViQ29y
ZQogICAgICAgICB2aXJ0dWFsIGNvbnN0IFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgY29u
c3QgeyByZXR1cm4gdGhpczsgfQogCiAgICAgcHJpdmF0ZToKLSAgICAgICAgQU5JTUFURURfUFJP
UEVSVFlfREVDTEFSQVRJT05TKFNWR0ZFU3BlY3VsYXJMaWdodGluZ0VsZW1lbnQsIFN0cmluZywg
U3RyaW5nLCBJbjEsIGluMSkKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05T
KFNWR0ZFU3BlY3VsYXJMaWdodGluZ0VsZW1lbnQsIGZsb2F0LCBmbG9hdCwgU3BlY3VsYXJDb25z
dGFudCwgc3BlY3VsYXJDb25zdGFudCkKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFS
QVRJT05TKFNWR0ZFU3BlY3VsYXJMaWdodGluZ0VsZW1lbnQsIGZsb2F0LCBmbG9hdCwgU3BlY3Vs
YXJFeHBvbmVudCwgc3BlY3VsYXJFeHBvbmVudCkKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlf
REVDTEFSQVRJT05TKFNWR0ZFU3BlY3VsYXJMaWdodGluZ0VsZW1lbnQsIGZsb2F0LCBmbG9hdCwg
U3VyZmFjZVNjYWxlLCBzdXJmYWNlU2NhbGUpCi0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RF
Q0xBUkFUSU9OUyhTVkdGRVNwZWN1bGFyTGlnaHRpbmdFbGVtZW50LCBmbG9hdCwgZmxvYXQsIEtl
cm5lbFVuaXRMZW5ndGhYLCBrZXJuZWxVbml0TGVuZ3RoWCkKLSAgICAgICAgQU5JTUFURURfUFJP
UEVSVFlfREVDTEFSQVRJT05TKFNWR0ZFU3BlY3VsYXJMaWdodGluZ0VsZW1lbnQsIGZsb2F0LCBm
bG9hdCwgS2VybmVsVW5pdExlbmd0aFksIGtlcm5lbFVuaXRMZW5ndGhZKQorICAgICAgICBBTklN
QVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRkVTcGVjdWxhckxpZ2h0aW5nRWxlbWVudCwg
U3RyaW5nLCBJbjEsIGluMSkKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05T
KFNWR0ZFU3BlY3VsYXJMaWdodGluZ0VsZW1lbnQsIGZsb2F0LCBTcGVjdWxhckNvbnN0YW50LCBz
cGVjdWxhckNvbnN0YW50KQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMo
U1ZHRkVTcGVjdWxhckxpZ2h0aW5nRWxlbWVudCwgZmxvYXQsIFNwZWN1bGFyRXhwb25lbnQsIHNw
ZWN1bGFyRXhwb25lbnQpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhT
VkdGRVNwZWN1bGFyTGlnaHRpbmdFbGVtZW50LCBmbG9hdCwgU3VyZmFjZVNjYWxlLCBzdXJmYWNl
U2NhbGUpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdGRVNwZWN1
bGFyTGlnaHRpbmdFbGVtZW50LCBmbG9hdCwgS2VybmVsVW5pdExlbmd0aFgsIGtlcm5lbFVuaXRM
ZW5ndGhYKQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRkVTcGVj
dWxhckxpZ2h0aW5nRWxlbWVudCwgZmxvYXQsIEtlcm5lbFVuaXRMZW5ndGhZLCBrZXJuZWxVbml0
TGVuZ3RoWSkKIAogICAgICAgICBtdXRhYmxlIFJlZlB0cjxTVkdGRVNwZWN1bGFyTGlnaHRpbmc+
IG1fZmlsdGVyRWZmZWN0OwogICAgICAgICAKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0ZFVGlsZUVs
ZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0ZFVGlsZUVsZW1lbnQuY3Bw
CShyZXZpc2lvbiAzNTAzMykKKysrIFdlYkNvcmUvc3ZnL1NWR0ZFVGlsZUVsZW1lbnQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC00MSw3ICs0MSw3IEBAIFNWR0ZFVGlsZUVsZW1lbnQ6On5TVkdGRVRp
bGVFbGVtZW50KCkKIHsKIH0KIAotQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHRkVU
aWxlRWxlbWVudCwgU3RyaW5nLCBTdHJpbmcsIHN0cmluZywgSW4xLCBpbjEsIFNWR05hbWVzOjpp
bkF0dHIsIG1faW4xKQorQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHRkVUaWxlRWxl
bWVudCwgU3RyaW5nLCBJbjEsIGluMSwgU1ZHTmFtZXM6OmluQXR0cikKIAogdm9pZCBTVkdGRVRp
bGVFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShNYXBwZWRBdHRyaWJ1dGUqIGF0dHIpCiB7
CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdGRVRpbGVFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9zdmcvU1ZHRkVUaWxlRWxlbWVudC5oCShyZXZpc2lvbiAzNTAzMykKKysrIFdlYkNvcmUv
c3ZnL1NWR0ZFVGlsZUVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNDIsNyArNDIsNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZQogICAgICAgICB2aXJ0dWFsIGNvbnN0IFNWR0VsZW1lbnQqIGNvbnRl
eHRFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gdGhpczsgfQogCiAgICAgcHJpdmF0ZToKLSAgICAg
ICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0ZFVGlsZUVsZW1lbnQsIFN0cmlu
ZywgU3RyaW5nLCBJbjEsIGluMSkKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJ
T05TKFNWR0ZFVGlsZUVsZW1lbnQsIFN0cmluZywgSW4xLCBpbjEpCiAKICAgICAgICAgbXV0YWJs
ZSBSZWZQdHI8U1ZHRkVUaWxlPiBtX2ZpbHRlckVmZmVjdDsKICAgICB9OwpJbmRleDogV2ViQ29y
ZS9zdmcvU1ZHRkVUdXJidWxlbmNlRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9z
dmcvU1ZHRkVUdXJidWxlbmNlRWxlbWVudC5jcHAJKHJldmlzaW9uIDM1MDMzKQorKysgV2ViQ29y
ZS9zdmcvU1ZHRkVUdXJidWxlbmNlRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ2LDEy
ICs0NiwxMiBAQCBTVkdGRVR1cmJ1bGVuY2VFbGVtZW50Ojp+U1ZHRkVUdXJidWxlbmNlCiB7CiB9
CiAKLUFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TX1dJVEhfQ1VTVE9NX0lERU5USUZJRVIo
U1ZHRkVUdXJidWxlbmNlRWxlbWVudCwgZmxvYXQsIE51bWJlciwgbnVtYmVyLCBCYXNlRnJlcXVl
bmN5WCwgYmFzZUZyZXF1ZW5jeVgsIFNWR05hbWVzOjpiYXNlRnJlcXVlbmN5QXR0ciwgImJhc2VG
cmVxdWVuY3lYIiwgbV9iYXNlRnJlcXVlbmN5WCkKLUFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJ
T05TX1dJVEhfQ1VTVE9NX0lERU5USUZJRVIoU1ZHRkVUdXJidWxlbmNlRWxlbWVudCwgZmxvYXQs
IE51bWJlciwgbnVtYmVyLCBCYXNlRnJlcXVlbmN5WSwgYmFzZUZyZXF1ZW5jeVksIFNWR05hbWVz
OjpiYXNlRnJlcXVlbmN5QXR0ciwgImJhc2VGcmVxdWVuY3lZIiwgbV9iYXNlRnJlcXVlbmN5WSkK
LUFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0ZFVHVyYnVsZW5jZUVsZW1lbnQsIGZs
b2F0LCBOdW1iZXIsIG51bWJlciwgU2VlZCwgc2VlZCwgU1ZHTmFtZXM6OnNlZWRBdHRyLCBtX3Nl
ZWQpCi1BTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdGRVR1cmJ1bGVuY2VFbGVtZW50
LCBsb25nLCBJbnRlZ2VyLCBpbnRlZ2VyLCBOdW1PY3RhdmVzLCBudW1PY3RhdmVzLCBTVkdOYW1l
czo6bnVtT2N0YXZlc0F0dHIsIG1fbnVtT2N0YXZlcykKLUFOSU1BVEVEX1BST1BFUlRZX0RFRklO
SVRJT05TKFNWR0ZFVHVyYnVsZW5jZUVsZW1lbnQsIGludCwgRW51bWVyYXRpb24sIGVudW1lcmF0
aW9uLCBTdGl0Y2hUaWxlcywgc3RpdGNoVGlsZXMsIFNWR05hbWVzOjpzdGl0Y2hUaWxlc0F0dHIs
IG1fc3RpdGNoVGlsZXMpCi1BTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdGRVR1cmJ1
bGVuY2VFbGVtZW50LCBpbnQsIEVudW1lcmF0aW9uLCBlbnVtZXJhdGlvbiwgVHlwZSwgdHlwZSwg
U1ZHTmFtZXM6OnR5cGVBdHRyLCBtX3R5cGUpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9O
U19XSVRIX0NVU1RPTV9JREVOVElGSUVSKFNWR0ZFVHVyYnVsZW5jZUVsZW1lbnQsIGZsb2F0LCBC
YXNlRnJlcXVlbmN5WCwgYmFzZUZyZXF1ZW5jeVgsIFNWR05hbWVzOjpiYXNlRnJlcXVlbmN5QXR0
ciwgImJhc2VGcmVxdWVuY3lYIikKK0FOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TX1dJVEhf
Q1VTVE9NX0lERU5USUZJRVIoU1ZHRkVUdXJidWxlbmNlRWxlbWVudCwgZmxvYXQsIEJhc2VGcmVx
dWVuY3lZLCBiYXNlRnJlcXVlbmN5WSwgU1ZHTmFtZXM6OmJhc2VGcmVxdWVuY3lBdHRyLCAiYmFz
ZUZyZXF1ZW5jeVkiKQorQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHRkVUdXJidWxl
bmNlRWxlbWVudCwgZmxvYXQsIFNlZWQsIHNlZWQsIFNWR05hbWVzOjpzZWVkQXR0cikKK0FOSU1B
VEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0ZFVHVyYnVsZW5jZUVsZW1lbnQsIGxvbmcsIE51
bU9jdGF2ZXMsIG51bU9jdGF2ZXMsIFNWR05hbWVzOjpudW1PY3RhdmVzQXR0cikKK0FOSU1BVEVE
X1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0ZFVHVyYnVsZW5jZUVsZW1lbnQsIGludCwgU3RpdGNo
VGlsZXMsIHN0aXRjaFRpbGVzLCBTVkdOYW1lczo6c3RpdGNoVGlsZXNBdHRyKQorQU5JTUFURURf
UFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHRkVUdXJidWxlbmNlRWxlbWVudCwgaW50LCBUeXBlLCB0
eXBlLCBTVkdOYW1lczo6dHlwZUF0dHIpCiAKIHZvaWQgU1ZHRkVUdXJidWxlbmNlRWxlbWVudDo6
cGFyc2VNYXBwZWRBdHRyaWJ1dGUoTWFwcGVkQXR0cmlidXRlKiBhdHRyKQogewpJbmRleDogV2Vi
Q29yZS9zdmcvU1ZHRkVUdXJidWxlbmNlRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
c3ZnL1NWR0ZFVHVyYnVsZW5jZUVsZW1lbnQuaAkocmV2aXNpb24gMzUwMzMpCisrKyBXZWJDb3Jl
L3N2Zy9TVkdGRVR1cmJ1bGVuY2VFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTQ4LDEyICs0
OCwxMiBAQCBuYW1lc3BhY2UgV2ViQ29yZQogICAgICAgICB2aXJ0dWFsIGNvbnN0IFNWR0VsZW1l
bnQqIGNvbnRleHRFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gdGhpczsgfQogCiAgICAgcHJpdmF0
ZToKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0ZFVHVyYnVsZW5j
ZUVsZW1lbnQsIGZsb2F0LCBmbG9hdCwgQmFzZUZyZXF1ZW5jeVgsIGJhc2VGcmVxdWVuY3lYKQot
ICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRkVUdXJidWxlbmNlRWxl
bWVudCwgZmxvYXQsIGZsb2F0LCBCYXNlRnJlcXVlbmN5WSwgYmFzZUZyZXF1ZW5jeVkpCi0gICAg
ICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdGRVR1cmJ1bGVuY2VFbGVtZW50
LCBsb25nLCBsb25nLCBOdW1PY3RhdmVzLCBudW1PY3RhdmVzKQotICAgICAgICBBTklNQVRFRF9Q
Uk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRkVUdXJidWxlbmNlRWxlbWVudCwgZmxvYXQsIGZsb2F0
LCBTZWVkLCBzZWVkKQotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZH
RkVUdXJidWxlbmNlRWxlbWVudCwgaW50LCBpbnQsIFN0aXRjaFRpbGVzLCBzdGl0Y2hUaWxlcykK
LSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0ZFVHVyYnVsZW5jZUVs
ZW1lbnQsIGludCwgaW50LCBUeXBlLCB0eXBlKQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9E
RUNMQVJBVElPTlMoU1ZHRkVUdXJidWxlbmNlRWxlbWVudCwgZmxvYXQsIEJhc2VGcmVxdWVuY3lY
LCBiYXNlRnJlcXVlbmN5WCkKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05T
KFNWR0ZFVHVyYnVsZW5jZUVsZW1lbnQsIGZsb2F0LCBCYXNlRnJlcXVlbmN5WSwgYmFzZUZyZXF1
ZW5jeVkpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdGRVR1cmJ1
bGVuY2VFbGVtZW50LCBsb25nLCBOdW1PY3RhdmVzLCBudW1PY3RhdmVzKQorICAgICAgICBBTklN
QVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRkVUdXJidWxlbmNlRWxlbWVudCwgZmxvYXQs
IFNlZWQsIHNlZWQpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdG
RVR1cmJ1bGVuY2VFbGVtZW50LCBpbnQsIFN0aXRjaFRpbGVzLCBzdGl0Y2hUaWxlcykKKyAgICAg
ICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0ZFVHVyYnVsZW5jZUVsZW1lbnQs
IGludCwgVHlwZSwgdHlwZSkKIAogICAgICAgICBtdXRhYmxlIFJlZlB0cjxTVkdGRVR1cmJ1bGVu
Y2U+IG1fZmlsdGVyRWZmZWN0OwogICAgIH07CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdGaWx0ZXJF
bGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdGaWx0ZXJFbGVtZW50LmNw
cAkocmV2aXNpb24gMzUwMzMpCisrKyBXZWJDb3JlL3N2Zy9TVkdGaWx0ZXJFbGVtZW50LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNjIsMTQgKzYyLDE0IEBAIFNWR0ZpbHRlckVsZW1lbnQ6On5TVkdG
aWx0ZXJFbGVtZW50KCkKIHsKIH0KIAotQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZH
RmlsdGVyRWxlbWVudCwgaW50LCBFbnVtZXJhdGlvbiwgZW51bWVyYXRpb24sIEZpbHRlclVuaXRz
LCBmaWx0ZXJVbml0cywgU1ZHTmFtZXM6OmZpbHRlclVuaXRzQXR0ciwgbV9maWx0ZXJVbml0cykK
LUFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0ZpbHRlckVsZW1lbnQsIGludCwgRW51
bWVyYXRpb24sIGVudW1lcmF0aW9uLCBQcmltaXRpdmVVbml0cywgcHJpbWl0aXZlVW5pdHMsIFNW
R05hbWVzOjpwcmltaXRpdmVVbml0c0F0dHIsIG1fcHJpbWl0aXZlVW5pdHMpCi1BTklNQVRFRF9Q
Uk9QRVJUWV9ERUZJTklUSU9OUyhTVkdGaWx0ZXJFbGVtZW50LCBTVkdMZW5ndGgsIExlbmd0aCwg
bGVuZ3RoLCBYLCB4LCBTVkdOYW1lczo6eEF0dHIsIG1feCkKLUFOSU1BVEVEX1BST1BFUlRZX0RF
RklOSVRJT05TKFNWR0ZpbHRlckVsZW1lbnQsIFNWR0xlbmd0aCwgTGVuZ3RoLCBsZW5ndGgsIFks
IHksIFNWR05hbWVzOjp5QXR0ciwgbV95KQotQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMo
U1ZHRmlsdGVyRWxlbWVudCwgU1ZHTGVuZ3RoLCBMZW5ndGgsIGxlbmd0aCwgV2lkdGgsIHdpZHRo
LCBTVkdOYW1lczo6d2lkdGhBdHRyLCBtX3dpZHRoKQotQU5JTUFURURfUFJPUEVSVFlfREVGSU5J
VElPTlMoU1ZHRmlsdGVyRWxlbWVudCwgU1ZHTGVuZ3RoLCBMZW5ndGgsIGxlbmd0aCwgSGVpZ2h0
LCBoZWlnaHQsIFNWR05hbWVzOjpoZWlnaHRBdHRyLCBtX2hlaWdodCkKLUFOSU1BVEVEX1BST1BF
UlRZX0RFRklOSVRJT05TX1dJVEhfQ1VTVE9NX0lERU5USUZJRVIoU1ZHRmlsdGVyRWxlbWVudCwg
bG9uZywgSW50ZWdlciwgaW50ZWdlciwgRmlsdGVyUmVzWCwgZmlsdGVyUmVzWCwgU1ZHTmFtZXM6
OmZpbHRlclJlc0F0dHIsICJmaWx0ZXJSZXNYIiwgbV9maWx0ZXJSZXNYKQotQU5JTUFURURfUFJP
UEVSVFlfREVGSU5JVElPTlNfV0lUSF9DVVNUT01fSURFTlRJRklFUihTVkdGaWx0ZXJFbGVtZW50
LCBsb25nLCBJbnRlZ2VyLCBpbnRlZ2VyLCBGaWx0ZXJSZXNZLCBmaWx0ZXJSZXNZLCBTVkdOYW1l
czo6ZmlsdGVyUmVzQXR0ciwgImZpbHRlclJlc1kiLCBtX2ZpbHRlclJlc1kpCitBTklNQVRFRF9Q
Uk9QRVJUWV9ERUZJTklUSU9OUyhTVkdGaWx0ZXJFbGVtZW50LCBpbnQsIEZpbHRlclVuaXRzLCBm
aWx0ZXJVbml0cywgU1ZHTmFtZXM6OmZpbHRlclVuaXRzQXR0cikKK0FOSU1BVEVEX1BST1BFUlRZ
X0RFRklOSVRJT05TKFNWR0ZpbHRlckVsZW1lbnQsIGludCwgUHJpbWl0aXZlVW5pdHMsIHByaW1p
dGl2ZVVuaXRzLCBTVkdOYW1lczo6cHJpbWl0aXZlVW5pdHNBdHRyKQorQU5JTUFURURfUFJPUEVS
VFlfREVGSU5JVElPTlMoU1ZHRmlsdGVyRWxlbWVudCwgU1ZHTGVuZ3RoLCBYLCB4LCBTVkdOYW1l
czo6eEF0dHIpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdGaWx0ZXJFbGVtZW50
LCBTVkdMZW5ndGgsIFksIHksIFNWR05hbWVzOjp5QXR0cikKK0FOSU1BVEVEX1BST1BFUlRZX0RF
RklOSVRJT05TKFNWR0ZpbHRlckVsZW1lbnQsIFNWR0xlbmd0aCwgV2lkdGgsIHdpZHRoLCBTVkdO
YW1lczo6d2lkdGhBdHRyKQorQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHRmlsdGVy
RWxlbWVudCwgU1ZHTGVuZ3RoLCBIZWlnaHQsIGhlaWdodCwgU1ZHTmFtZXM6OmhlaWdodEF0dHIp
CitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OU19XSVRIX0NVU1RPTV9JREVOVElGSUVSKFNW
R0ZpbHRlckVsZW1lbnQsIGxvbmcsIEZpbHRlclJlc1gsIGZpbHRlclJlc1gsIFNWR05hbWVzOjpm
aWx0ZXJSZXNBdHRyLCAiZmlsdGVyUmVzWCIpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9O
U19XSVRIX0NVU1RPTV9JREVOVElGSUVSKFNWR0ZpbHRlckVsZW1lbnQsIGxvbmcsIEZpbHRlclJl
c1ksIGZpbHRlclJlc1ksIFNWR05hbWVzOjpmaWx0ZXJSZXNBdHRyLCAiZmlsdGVyUmVzWSIpCiAK
IHZvaWQgU1ZHRmlsdGVyRWxlbWVudDo6c2V0RmlsdGVyUmVzKHVuc2lnbmVkIGxvbmcsIHVuc2ln
bmVkIGxvbmcpIGNvbnN0CiB7CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdGaWx0ZXJFbGVtZW50LmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHRmlsdGVyRWxlbWVudC5oCShyZXZpc2lvbiAz
NTAzMykKKysrIFdlYkNvcmUvc3ZnL1NWR0ZpbHRlckVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpA
QCAtNTcsMTQgKzU3LDE0IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgQU5JTUFURURf
UFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHVVJJUmVmZXJlbmNlLCBTdHJpbmcsIEhy
ZWYsIGhyZWYpCiAgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJT05T
KFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGJvb2wsIEV4dGVybmFsUmVzb3VyY2VzUmVx
dWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpCiAgCi0gICAgICAgIEFOSU1BVEVEX1BS
T1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdGaWx0ZXJFbGVtZW50LCBpbnQsIGludCwgRmlsdGVyVW5p
dHMsIGZpbHRlclVuaXRzKQotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMo
U1ZHRmlsdGVyRWxlbWVudCwgaW50LCBpbnQsIFByaW1pdGl2ZVVuaXRzLCBwcmltaXRpdmVVbml0
cykKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0ZpbHRlckVsZW1l
bnQsIFNWR0xlbmd0aCwgU1ZHTGVuZ3RoLCBYLCB4KQotICAgICAgICBBTklNQVRFRF9QUk9QRVJU
WV9ERUNMQVJBVElPTlMoU1ZHRmlsdGVyRWxlbWVudCwgU1ZHTGVuZ3RoLCBTVkdMZW5ndGgsIFks
IHkpCi0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdGaWx0ZXJFbGVt
ZW50LCBTVkdMZW5ndGgsIFNWR0xlbmd0aCwgV2lkdGgsIHdpZHRoKQotICAgICAgICBBTklNQVRF
RF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRmlsdGVyRWxlbWVudCwgU1ZHTGVuZ3RoLCBTVkdM
ZW5ndGgsIEhlaWdodCwgaGVpZ2h0KQotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJB
VElPTlMoU1ZHRmlsdGVyRWxlbWVudCwgbG9uZywgbG9uZywgRmlsdGVyUmVzWCwgZmlsdGVyUmVz
WCkKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0ZpbHRlckVsZW1l
bnQsIGxvbmcsIGxvbmcsIEZpbHRlclJlc1ksIGZpbHRlclJlc1kpCisgICAgICAgIEFOSU1BVEVE
X1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdGaWx0ZXJFbGVtZW50LCBpbnQsIEZpbHRlclVuaXRz
LCBmaWx0ZXJVbml0cykKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNW
R0ZpbHRlckVsZW1lbnQsIGludCwgUHJpbWl0aXZlVW5pdHMsIHByaW1pdGl2ZVVuaXRzKQorICAg
ICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRmlsdGVyRWxlbWVudCwgU1ZH
TGVuZ3RoLCBYLCB4KQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZH
RmlsdGVyRWxlbWVudCwgU1ZHTGVuZ3RoLCBZLCB5KQorICAgICAgICBBTklNQVRFRF9QUk9QRVJU
WV9ERUNMQVJBVElPTlMoU1ZHRmlsdGVyRWxlbWVudCwgU1ZHTGVuZ3RoLCBXaWR0aCwgd2lkdGgp
CisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdGaWx0ZXJFbGVtZW50
LCBTVkdMZW5ndGgsIEhlaWdodCwgaGVpZ2h0KQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9E
RUNMQVJBVElPTlMoU1ZHRmlsdGVyRWxlbWVudCwgbG9uZywgRmlsdGVyUmVzWCwgZmlsdGVyUmVz
WCkKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0ZpbHRlckVsZW1l
bnQsIGxvbmcsIEZpbHRlclJlc1ksIGZpbHRlclJlc1kpCiAKICAgICAgICAgUmVmUHRyPFNWR1Jl
c291cmNlRmlsdGVyPiBtX2ZpbHRlcjsKICAgICB9OwpJbmRleDogV2ViQ29yZS9zdmcvU1ZHRmls
dGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L3N2Zy9TVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMuY3BwCShyZXZpc2lvbiAz
NTAzMykKKysrIFdlYkNvcmUvc3ZnL1NWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRl
cy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU0LDExICs1NCwxMSBAQCBTVkdGaWx0ZXJQcmltaXRp
dmVTdGFuZGFyZEF0dHJpYnV0ZXM6On5TCiB7CiB9CiAKLUFOSU1BVEVEX1BST1BFUlRZX0RFRklO
SVRJT05TKFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcywgU1ZHTGVuZ3RoLCBM
ZW5ndGgsIGxlbmd0aCwgWCwgeCwgU1ZHTmFtZXM6OnhBdHRyLCBtX3gpCi1BTklNQVRFRF9QUk9Q
RVJUWV9ERUZJTklUSU9OUyhTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMsIFNW
R0xlbmd0aCwgTGVuZ3RoLCBsZW5ndGgsIFksIHksIFNWR05hbWVzOjp5QXR0ciwgbV95KQotQU5J
TUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRy
aWJ1dGVzLCBTVkdMZW5ndGgsIExlbmd0aCwgbGVuZ3RoLCBXaWR0aCwgd2lkdGgsIFNWR05hbWVz
Ojp3aWR0aEF0dHIsIG1fd2lkdGgpCi1BTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdG
aWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMsIFNWR0xlbmd0aCwgTGVuZ3RoLCBsZW5n
dGgsIEhlaWdodCwgaGVpZ2h0LCBTVkdOYW1lczo6aGVpZ2h0QXR0ciwgbV9oZWlnaHQpCi1BTklN
QVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJp
YnV0ZXMsIFN0cmluZywgU3RyaW5nLCBzdHJpbmcsIFJlc3VsdCwgcmVzdWx0LCBTVkdOYW1lczo6
cmVzdWx0QXR0ciwgbV9yZXN1bHQpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdG
aWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMsIFNWR0xlbmd0aCwgWCwgeCwgU1ZHTmFt
ZXM6OnhBdHRyKQorQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHRmlsdGVyUHJpbWl0
aXZlU3RhbmRhcmRBdHRyaWJ1dGVzLCBTVkdMZW5ndGgsIFksIHksIFNWR05hbWVzOjp5QXR0cikK
K0FOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJk
QXR0cmlidXRlcywgU1ZHTGVuZ3RoLCBXaWR0aCwgd2lkdGgsIFNWR05hbWVzOjp3aWR0aEF0dHIp
CitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFy
ZEF0dHJpYnV0ZXMsIFNWR0xlbmd0aCwgSGVpZ2h0LCBoZWlnaHQsIFNWR05hbWVzOjpoZWlnaHRB
dHRyKQorQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHRmlsdGVyUHJpbWl0aXZlU3Rh
bmRhcmRBdHRyaWJ1dGVzLCBTdHJpbmcsIFJlc3VsdCwgcmVzdWx0LCBTVkdOYW1lczo6cmVzdWx0
QXR0cikKIAogdm9pZCBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXM6OnBhcnNl
TWFwcGVkQXR0cmlidXRlKE1hcHBlZEF0dHJpYnV0ZSogYXR0cikKIHsKSW5kZXg6IFdlYkNvcmUv
c3ZnL1NWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcy5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvc3ZnL1NWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcy5oCShyZXZp
c2lvbiAzNTAzMykKKysrIFdlYkNvcmUvc3ZnL1NWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0
cmlidXRlcy5oCSh3b3JraW5nIGNvcHkpCkBAIC01MCwxMSArNTAsMTEgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgICAgICB2aXJ0dWFsIGNvbnN0IFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50
KCkgY29uc3QgeyByZXR1cm4gdGhpczsgfQogCiAgICAgcHJpdmF0ZToKLSAgICAgICAgQU5JTUFU
RURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmli
dXRlcywgU1ZHTGVuZ3RoLCBTVkdMZW5ndGgsIFgsIHgpCi0gICAgICAgIEFOSU1BVEVEX1BST1BF
UlRZX0RFQ0xBUkFUSU9OUyhTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMsIFNW
R0xlbmd0aCwgU1ZHTGVuZ3RoLCBZLCB5KQotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNM
QVJBVElPTlMoU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzLCBTVkdMZW5ndGgs
IFNWR0xlbmd0aCwgV2lkdGgsIHdpZHRoKQotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNM
QVJBVElPTlMoU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzLCBTVkdMZW5ndGgs
IFNWR0xlbmd0aCwgSGVpZ2h0LCBoZWlnaHQpCi0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RF
Q0xBUkFUSU9OUyhTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMsIFN0cmluZywg
U3RyaW5nLCBSZXN1bHQsIHJlc3VsdCkKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFS
QVRJT05TKFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcywgU1ZHTGVuZ3RoLCBY
LCB4KQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRmlsdGVyUHJp
bWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzLCBTVkdMZW5ndGgsIFksIHkpCisgICAgICAgIEFOSU1B
VEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJp
YnV0ZXMsIFNWR0xlbmd0aCwgV2lkdGgsIHdpZHRoKQorICAgICAgICBBTklNQVRFRF9QUk9QRVJU
WV9ERUNMQVJBVElPTlMoU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzLCBTVkdM
ZW5ndGgsIEhlaWdodCwgaGVpZ2h0KQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJB
VElPTlMoU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzLCBTdHJpbmcsIFJlc3Vs
dCwgcmVzdWx0KQogICAgIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFdlYkNv
cmUvc3ZnL1NWR0ZpdFRvVmlld0JveC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZH
Rml0VG9WaWV3Qm94LmNwcAkocmV2aXNpb24gMzUwMzMpCisrKyBXZWJDb3JlL3N2Zy9TVkdGaXRU
b1ZpZXdCb3guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NSw4ICs0NSw4IEBAIFNWR0ZpdFRvVmll
d0JveDo6flNWR0ZpdFRvVmlld0JveCgpCiB7CiB9CiAKLUFOSU1BVEVEX1BST1BFUlRZX0RFRklO
SVRJT05TX1dJVEhfQ09OVEVYVChTVkdGaXRUb1ZpZXdCb3gsIEZsb2F0UmVjdCwgUmVjdCwgcmVj
dCwgVmlld0JveCwgdmlld0JveCwgU1ZHTmFtZXM6OnZpZXdCb3hBdHRyLCBtX3ZpZXdCb3gpCi1B
TklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OU19XSVRIX0NPTlRFWFQoU1ZHRml0VG9WaWV3Qm94
LCBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvKiwgUHJlc2VydmVBc3BlY3RSYXRpbywgcHJlc2VydmVB
c3BlY3RSYXRpbywgUHJlc2VydmVBc3BlY3RSYXRpbywgcHJlc2VydmVBc3BlY3RSYXRpbywgU1ZH
TmFtZXM6OnByZXNlcnZlQXNwZWN0UmF0aW9BdHRyLCBtX3ByZXNlcnZlQXNwZWN0UmF0aW8uZ2V0
KCkpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OU19XSVRIX0NPTlRFWFQoU1ZHRml0VG9W
aWV3Qm94LCBGbG9hdFJlY3QsIFZpZXdCb3gsIHZpZXdCb3gsIFNWR05hbWVzOjp2aWV3Qm94QXR0
cikKK0FOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TX1JFRkNPVU5URURfV0lUSF9DT05URVhU
KFNWR0ZpdFRvVmlld0JveCwgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbywgUHJlc2VydmVBc3BlY3RS
YXRpbywgcHJlc2VydmVBc3BlY3RSYXRpbywgU1ZHTmFtZXM6OnByZXNlcnZlQXNwZWN0UmF0aW9B
dHRyKQogCiBib29sIFNWR0ZpdFRvVmlld0JveDo6cGFyc2VWaWV3Qm94KGNvbnN0IFVDaGFyKiYg
YywgY29uc3QgVUNoYXIqIGVuZCwgZmxvYXQmIHgsIGZsb2F0JiB5LCBmbG9hdCYgdywgZmxvYXQm
IGgsIGJvb2wgdmFsaWRhdGUpCiB7CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdGaXRUb1ZpZXdCb3gu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdGaXRUb1ZpZXdCb3guaAkocmV2aXNpb24g
MzUwMzMpCisrKyBXZWJDb3JlL3N2Zy9TVkdGaXRUb1ZpZXdCb3guaAkod29ya2luZyBjb3B5KQpA
QCAtNDcsOCArNDcsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgY29u
c3QgU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSBjb25zdCA9IDA7CiAKICAgICBwcml2YXRl
OgotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlNfV0lUSF9DT05URVhUKFNW
R0ZpdFRvVmlld0JveCwgRmxvYXRSZWN0LCBGbG9hdFJlY3QsIFZpZXdCb3gsIHZpZXdCb3gpCi0g
ICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OU19XSVRIX0NPTlRFWFQoU1ZHRml0
VG9WaWV3Qm94LCBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvKiwgUmVmUHRyPFNWR1ByZXNlcnZlQXNw
ZWN0UmF0aW8+LCBQcmVzZXJ2ZUFzcGVjdFJhdGlvLCBwcmVzZXJ2ZUFzcGVjdFJhdGlvKQorICAg
ICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlNfV0lUSF9DT05URVhUKFNWR0ZpdFRv
Vmlld0JveCwgRmxvYXRSZWN0LCBWaWV3Qm94LCB2aWV3Qm94KQorICAgICAgICBBTklNQVRFRF9Q
Uk9QRVJUWV9ERUNMQVJBVElPTlNfUkVGQ09VTlRFRF9XSVRIX0NPTlRFWFQoU1ZHRml0VG9WaWV3
Qm94LCBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLCBQcmVzZXJ2ZUFzcGVjdFJhdGlvLCBwcmVzZXJ2
ZUFzcGVjdFJhdGlvKQogICAgIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFdl
YkNvcmUvc3ZnL1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL3N2Zy9TVkdGb3JlaWduT2JqZWN0RWxlbWVudC5jcHAJKHJldmlzaW9uIDM1MDMzKQorKysg
V2ViQ29yZS9zdmcvU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC01MCwxMCArNTAsMTAgQEAgU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQ6On5TVkdGb3JlaWduT2Jq
ZQogewogfQogCi1BTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdGb3JlaWduT2JqZWN0
RWxlbWVudCwgU1ZHTGVuZ3RoLCBMZW5ndGgsIGxlbmd0aCwgWCwgeCwgU1ZHTmFtZXM6OnhBdHRy
LCBtX3gpCi1BTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdGb3JlaWduT2JqZWN0RWxl
bWVudCwgU1ZHTGVuZ3RoLCBMZW5ndGgsIGxlbmd0aCwgWSwgeSwgU1ZHTmFtZXM6OnlBdHRyLCBt
X3kpCi1BTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdGb3JlaWduT2JqZWN0RWxlbWVu
dCwgU1ZHTGVuZ3RoLCBMZW5ndGgsIGxlbmd0aCwgV2lkdGgsIHdpZHRoLCBTVkdOYW1lczo6d2lk
dGhBdHRyLCBtX3dpZHRoKQotQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHRm9yZWln
bk9iamVjdEVsZW1lbnQsIFNWR0xlbmd0aCwgTGVuZ3RoLCBsZW5ndGgsIEhlaWdodCwgaGVpZ2h0
LCBTVkdOYW1lczo6aGVpZ2h0QXR0ciwgbV9oZWlnaHQpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJ
TklUSU9OUyhTVkdGb3JlaWduT2JqZWN0RWxlbWVudCwgU1ZHTGVuZ3RoLCBYLCB4LCBTVkdOYW1l
czo6eEF0dHIpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdGb3JlaWduT2JqZWN0
RWxlbWVudCwgU1ZHTGVuZ3RoLCBZLCB5LCBTVkdOYW1lczo6eUF0dHIpCitBTklNQVRFRF9QUk9Q
RVJUWV9ERUZJTklUSU9OUyhTVkdGb3JlaWduT2JqZWN0RWxlbWVudCwgU1ZHTGVuZ3RoLCBXaWR0
aCwgd2lkdGgsIFNWR05hbWVzOjp3aWR0aEF0dHIpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklU
SU9OUyhTVkdGb3JlaWduT2JqZWN0RWxlbWVudCwgU1ZHTGVuZ3RoLCBIZWlnaHQsIGhlaWdodCwg
U1ZHTmFtZXM6OmhlaWdodEF0dHIpCiAKIHZvaWQgU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQ6OnBh
cnNlTWFwcGVkQXR0cmlidXRlKE1hcHBlZEF0dHJpYnV0ZSogYXR0cikKIHsKSW5kZXg6IFdlYkNv
cmUvc3ZnL1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9z
dmcvU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQuaAkocmV2aXNpb24gMzUwMzMpCisrKyBXZWJDb3Jl
L3N2Zy9TVkdGb3JlaWduT2JqZWN0RWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC01NSwxMCAr
NTUsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9G
T1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBib29sLCBF
eHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKSAKICAg
ICAgICAgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHVVJJUmVmZXJl
bmNlLCBTdHJpbmcsIEhyZWYsIGhyZWYpCiAKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVD
TEFSQVRJT05TKFNWR0ZvcmVpZ25PYmplY3RFbGVtZW50LCBTVkdMZW5ndGgsIFNWR0xlbmd0aCwg
WCwgeCkKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0ZvcmVpZ25P
YmplY3RFbGVtZW50LCBTVkdMZW5ndGgsIFNWR0xlbmd0aCwgWSwgeSkKLSAgICAgICAgQU5JTUFU
RURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0ZvcmVpZ25PYmplY3RFbGVtZW50LCBTVkdMZW5n
dGgsIFNWR0xlbmd0aCwgV2lkdGgsIHdpZHRoKQotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9E
RUNMQVJBVElPTlMoU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQsIFNWR0xlbmd0aCwgU1ZHTGVuZ3Ro
LCBIZWlnaHQsIGhlaWdodCkKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05T
KFNWR0ZvcmVpZ25PYmplY3RFbGVtZW50LCBTVkdMZW5ndGgsIFgsIHgpCisgICAgICAgIEFOSU1B
VEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdGb3JlaWduT2JqZWN0RWxlbWVudCwgU1ZHTGVu
Z3RoLCBZLCB5KQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRm9y
ZWlnbk9iamVjdEVsZW1lbnQsIFNWR0xlbmd0aCwgV2lkdGgsIHdpZHRoKQorICAgICAgICBBTklN
QVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQsIFNWR0xl
bmd0aCwgSGVpZ2h0LCBoZWlnaHQpCiAgICAgfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJ
bmRleDogV2ViQ29yZS9zdmcvU1ZHR3JhZGllbnRFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3N2Zy9TVkdHcmFkaWVudEVsZW1lbnQuY3BwCShyZXZpc2lvbiAzNTAzMykKKysrIFdl
YkNvcmUvc3ZnL1NWR0dyYWRpZW50RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUyLDkg
KzUyLDkgQEAgU1ZHR3JhZGllbnRFbGVtZW50Ojp+U1ZHR3JhZGllbnRFbGVtZW50KAogewogfQog
Ci1BTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdHcmFkaWVudEVsZW1lbnQsIGludCwg
RW51bWVyYXRpb24sIGVudW1lcmF0aW9uLCBHcmFkaWVudFVuaXRzLCBncmFkaWVudFVuaXRzLCBT
VkdOYW1lczo6Z3JhZGllbnRVbml0c0F0dHIsIG1fZ3JhZGllbnRVbml0cykKLUFOSU1BVEVEX1BS
T1BFUlRZX0RFRklOSVRJT05TKFNWR0dyYWRpZW50RWxlbWVudCwgU1ZHVHJhbnNmb3JtTGlzdCos
IFRyYW5zZm9ybUxpc3QsIHRyYW5zZm9ybUxpc3QsIEdyYWRpZW50VHJhbnNmb3JtLCBncmFkaWVu
dFRyYW5zZm9ybSwgU1ZHTmFtZXM6OmdyYWRpZW50VHJhbnNmb3JtQXR0ciwgbV9ncmFkaWVudFRy
YW5zZm9ybS5nZXQoKSkKLUFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0dyYWRpZW50
RWxlbWVudCwgaW50LCBFbnVtZXJhdGlvbiwgZW51bWVyYXRpb24sIFNwcmVhZE1ldGhvZCwgc3By
ZWFkTWV0aG9kLCBTVkdOYW1lczo6c3ByZWFkTWV0aG9kQXR0ciwgbV9zcHJlYWRNZXRob2QpCitB
TklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdHcmFkaWVudEVsZW1lbnQsIGludCwgR3Jh
ZGllbnRVbml0cywgZ3JhZGllbnRVbml0cywgU1ZHTmFtZXM6OmdyYWRpZW50VW5pdHNBdHRyKQor
QU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlNfUkVGQ09VTlRFRChTVkdHcmFkaWVudEVsZW1l
bnQsIFNWR1RyYW5zZm9ybUxpc3QsIEdyYWRpZW50VHJhbnNmb3JtLCBncmFkaWVudFRyYW5zZm9y
bSwgU1ZHTmFtZXM6OmdyYWRpZW50VHJhbnNmb3JtQXR0cikKK0FOSU1BVEVEX1BST1BFUlRZX0RF
RklOSVRJT05TKFNWR0dyYWRpZW50RWxlbWVudCwgaW50LCBTcHJlYWRNZXRob2QsIHNwcmVhZE1l
dGhvZCwgU1ZHTmFtZXM6OnNwcmVhZE1ldGhvZEF0dHIpCiAKIHZvaWQgU1ZHR3JhZGllbnRFbGVt
ZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShNYXBwZWRBdHRyaWJ1dGUqIGF0dHIpCiB7CkluZGV4
OiBXZWJDb3JlL3N2Zy9TVkdHcmFkaWVudEVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L3N2Zy9TVkdHcmFkaWVudEVsZW1lbnQuaAkocmV2aXNpb24gMzUwMzMpCisrKyBXZWJDb3JlL3N2
Zy9TVkdHcmFkaWVudEVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNzEsOSArNzEsOSBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVD
TEFSQVRJT05TKFNWR1VSSVJlZmVyZW5jZSwgU3RyaW5nLCBIcmVmLCBocmVmKQogICAgICAgICBB
TklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdFeHRlcm5hbFJlc291cmNl
c1JlcXVpcmVkLCBib29sLCBFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291
cmNlc1JlcXVpcmVkKQogIAotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMo
U1ZHR3JhZGllbnRFbGVtZW50LCBpbnQsIGludCwgU3ByZWFkTWV0aG9kLCBzcHJlYWRNZXRob2Qp
Ci0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdHcmFkaWVudEVsZW1l
bnQsIGludCwgaW50LCBHcmFkaWVudFVuaXRzLCBncmFkaWVudFVuaXRzKQotICAgICAgICBBTklN
QVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHR3JhZGllbnRFbGVtZW50LCBTVkdUcmFuc2Zv
cm1MaXN0KiwgUmVmUHRyPFNWR1RyYW5zZm9ybUxpc3Q+LCBHcmFkaWVudFRyYW5zZm9ybSwgZ3Jh
ZGllbnRUcmFuc2Zvcm0pCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhT
VkdHcmFkaWVudEVsZW1lbnQsIGludCwgU3ByZWFkTWV0aG9kLCBzcHJlYWRNZXRob2QpCisgICAg
ICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdHcmFkaWVudEVsZW1lbnQsIGlu
dCwgR3JhZGllbnRVbml0cywgZ3JhZGllbnRVbml0cykKKyAgICAgICAgQU5JTUFURURfUFJPUEVS
VFlfREVDTEFSQVRJT05TX1JFRkNPVU5URUQoU1ZHR3JhZGllbnRFbGVtZW50LCBTVkdUcmFuc2Zv
cm1MaXN0LCBHcmFkaWVudFRyYW5zZm9ybSwgZ3JhZGllbnRUcmFuc2Zvcm0pCiAgICAgfTsKIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHSW1hZ2VFbGVtZW50
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdJbWFnZUVsZW1lbnQuY3BwCShyZXZp
c2lvbiAzNTAzMykKKysrIFdlYkNvcmUvc3ZnL1NWR0ltYWdlRWxlbWVudC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTU2LDExICs1NiwxMSBAQCBTVkdJbWFnZUVsZW1lbnQ6On5TVkdJbWFnZUVsZW1l
bnQoKQogewogfQogCi1BTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdJbWFnZUVsZW1l
bnQsIFNWR0xlbmd0aCwgTGVuZ3RoLCBsZW5ndGgsIFgsIHgsIFNWR05hbWVzOjp4QXR0ciwgbV94
KQotQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHSW1hZ2VFbGVtZW50LCBTVkdMZW5n
dGgsIExlbmd0aCwgbGVuZ3RoLCBZLCB5LCBTVkdOYW1lczo6eUF0dHIsIG1feSkKLUFOSU1BVEVE
X1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0ltYWdlRWxlbWVudCwgU1ZHTGVuZ3RoLCBMZW5ndGgs
IGxlbmd0aCwgV2lkdGgsIHdpZHRoLCBTVkdOYW1lczo6d2lkdGhBdHRyLCBtX3dpZHRoKQotQU5J
TUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHSW1hZ2VFbGVtZW50LCBTVkdMZW5ndGgsIExl
bmd0aCwgbGVuZ3RoLCBIZWlnaHQsIGhlaWdodCwgU1ZHTmFtZXM6OmhlaWdodEF0dHIsIG1faGVp
Z2h0KQotQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHSW1hZ2VFbGVtZW50LCBTVkdQ
cmVzZXJ2ZUFzcGVjdFJhdGlvKiwgUHJlc2VydmVBc3BlY3RSYXRpbywgcHJlc2VydmVBc3BlY3RS
YXRpbywgUHJlc2VydmVBc3BlY3RSYXRpbywgcHJlc2VydmVBc3BlY3RSYXRpbywgU1ZHTmFtZXM6
OnByZXNlcnZlQXNwZWN0UmF0aW9BdHRyLCBtX3ByZXNlcnZlQXNwZWN0UmF0aW8uZ2V0KCkpCitB
TklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdJbWFnZUVsZW1lbnQsIFNWR0xlbmd0aCwg
WCwgeCwgU1ZHTmFtZXM6OnhBdHRyKQorQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZH
SW1hZ2VFbGVtZW50LCBTVkdMZW5ndGgsIFksIHksIFNWR05hbWVzOjp5QXR0cikKK0FOSU1BVEVE
X1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0ltYWdlRWxlbWVudCwgU1ZHTGVuZ3RoLCBXaWR0aCwg
d2lkdGgsIFNWR05hbWVzOjp3aWR0aEF0dHIpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9O
UyhTVkdJbWFnZUVsZW1lbnQsIFNWR0xlbmd0aCwgSGVpZ2h0LCBoZWlnaHQsIFNWR05hbWVzOjpo
ZWlnaHRBdHRyKQorQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlNfUkVGQ09VTlRFRChTVkdJ
bWFnZUVsZW1lbnQsIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8sIFByZXNlcnZlQXNwZWN0UmF0aW8s
IHByZXNlcnZlQXNwZWN0UmF0aW8sIFNWR05hbWVzOjpwcmVzZXJ2ZUFzcGVjdFJhdGlvQXR0cikK
IAogdm9pZCBTVkdJbWFnZUVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKE1hcHBlZEF0dHJp
YnV0ZSAqYXR0cikKIHsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0ltYWdlRWxlbWVudC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0ltYWdlRWxlbWVudC5oCShyZXZpc2lvbiAzNTAzMykK
KysrIFdlYkNvcmUvc3ZnL1NWR0ltYWdlRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC02OCwx
MSArNjgsMTEgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBBTklNQVRFRF9QUk9QRVJU
WV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBib29s
LCBFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKSAK
ICAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHVVJJUmVm
ZXJlbmNlLCBTdHJpbmcsIEhyZWYsIGhyZWYpCiAKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlf
REVDTEFSQVRJT05TKFNWR0ltYWdlRWxlbWVudCwgU1ZHTGVuZ3RoLCBTVkdMZW5ndGgsIFgsIHgp
Ci0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdJbWFnZUVsZW1lbnQs
IFNWR0xlbmd0aCwgU1ZHTGVuZ3RoLCBZLCB5KQotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9E
RUNMQVJBVElPTlMoU1ZHSW1hZ2VFbGVtZW50LCBTVkdMZW5ndGgsIFNWR0xlbmd0aCwgV2lkdGgs
IHdpZHRoKQotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHSW1hZ2VF
bGVtZW50LCBTVkdMZW5ndGgsIFNWR0xlbmd0aCwgSGVpZ2h0LCBoZWlnaHQpCi0gICAgICAgIEFO
SU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdJbWFnZUVsZW1lbnQsIFNWR1ByZXNlcnZl
QXNwZWN0UmF0aW8qLCBSZWZQdHI8U1ZHUHJlc2VydmVBc3BlY3RSYXRpbz4sIFByZXNlcnZlQXNw
ZWN0UmF0aW8sIHByZXNlcnZlQXNwZWN0UmF0aW8pCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZ
X0RFQ0xBUkFUSU9OUyhTVkdJbWFnZUVsZW1lbnQsIFNWR0xlbmd0aCwgWCwgeCkKKyAgICAgICAg
QU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0ltYWdlRWxlbWVudCwgU1ZHTGVuZ3Ro
LCBZLCB5KQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHSW1hZ2VF
bGVtZW50LCBTVkdMZW5ndGgsIFdpZHRoLCB3aWR0aCkKKyAgICAgICAgQU5JTUFURURfUFJPUEVS
VFlfREVDTEFSQVRJT05TKFNWR0ltYWdlRWxlbWVudCwgU1ZHTGVuZ3RoLCBIZWlnaHQsIGhlaWdo
dCkKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TX1JFRkNPVU5URUQoU1ZH
SW1hZ2VFbGVtZW50LCBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLCBQcmVzZXJ2ZUFzcGVjdFJhdGlv
LCBwcmVzZXJ2ZUFzcGVjdFJhdGlvKQogCiAgICAgICAgIFNWR0ltYWdlTG9hZGVyIG1faW1hZ2VM
b2FkZXI7CiAgICAgfTsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0xpbmVFbGVtZW50LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdMaW5lRWxlbWVudC5jcHAJKHJldmlzaW9uIDM1MDMz
KQorKysgV2ViQ29yZS9zdmcvU1ZHTGluZUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00
OCwxMCArNDgsMTAgQEAgU1ZHTGluZUVsZW1lbnQ6On5TVkdMaW5lRWxlbWVudCgpCiB7CiB9CiAK
LUFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0xpbmVFbGVtZW50LCBTVkdMZW5ndGgs
IExlbmd0aCwgbGVuZ3RoLCBYMSwgeDEsIFNWR05hbWVzOjp4MUF0dHIsIG1feDEpCi1BTklNQVRF
RF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdMaW5lRWxlbWVudCwgU1ZHTGVuZ3RoLCBMZW5ndGgs
IGxlbmd0aCwgWTEsIHkxLCBTVkdOYW1lczo6eTFBdHRyLCBtX3kxKQotQU5JTUFURURfUFJPUEVS
VFlfREVGSU5JVElPTlMoU1ZHTGluZUVsZW1lbnQsIFNWR0xlbmd0aCwgTGVuZ3RoLCBsZW5ndGgs
IFgyLCB4MiwgU1ZHTmFtZXM6OngyQXR0ciwgbV94MikKLUFOSU1BVEVEX1BST1BFUlRZX0RFRklO
SVRJT05TKFNWR0xpbmVFbGVtZW50LCBTVkdMZW5ndGgsIExlbmd0aCwgbGVuZ3RoLCBZMiwgeTIs
IFNWR05hbWVzOjp5MkF0dHIsIG1feTIpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhT
VkdMaW5lRWxlbWVudCwgU1ZHTGVuZ3RoLCBYMSwgeDEsIFNWR05hbWVzOjp4MUF0dHIpCitBTklN
QVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdMaW5lRWxlbWVudCwgU1ZHTGVuZ3RoLCBZMSwg
eTEsIFNWR05hbWVzOjp5MUF0dHIpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdM
aW5lRWxlbWVudCwgU1ZHTGVuZ3RoLCBYMiwgeDIsIFNWR05hbWVzOjp4MkF0dHIpCitBTklNQVRF
RF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdMaW5lRWxlbWVudCwgU1ZHTGVuZ3RoLCBZMiwgeTIs
IFNWR05hbWVzOjp5MkF0dHIpCiAKIHZvaWQgU1ZHTGluZUVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0
cmlidXRlKE1hcHBlZEF0dHJpYnV0ZSogYXR0cikKIHsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0xp
bmVFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHTGluZUVsZW1lbnQuaAko
cmV2aXNpb24gMzUwMzMpCisrKyBXZWJDb3JlL3N2Zy9TVkdMaW5lRWxlbWVudC5oCSh3b3JraW5n
IGNvcHkpCkBAIC01NywxMCArNTcsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHByaXZh
dGU6CiAgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJT05TKFNWR0V4
dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGJvb2wsIEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQs
IGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpCiAgCi0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZ
X0RFQ0xBUkFUSU9OUyhTVkdMaW5lRWxlbWVudCwgU1ZHTGVuZ3RoLCBTVkdMZW5ndGgsIFgxLCB4
MSkKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0xpbmVFbGVtZW50
LCBTVkdMZW5ndGgsIFNWR0xlbmd0aCwgWTEsIHkxKQotICAgICAgICBBTklNQVRFRF9QUk9QRVJU
WV9ERUNMQVJBVElPTlMoU1ZHTGluZUVsZW1lbnQsIFNWR0xlbmd0aCwgU1ZHTGVuZ3RoLCBYMiwg
eDIpCi0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdMaW5lRWxlbWVu
dCwgU1ZHTGVuZ3RoLCBTVkdMZW5ndGgsIFkyLCB5MikKKyAgICAgICAgQU5JTUFURURfUFJPUEVS
VFlfREVDTEFSQVRJT05TKFNWR0xpbmVFbGVtZW50LCBTVkdMZW5ndGgsIFgxLCB4MSkKKyAgICAg
ICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0xpbmVFbGVtZW50LCBTVkdMZW5n
dGgsIFkxLCB5MSkKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR0xp
bmVFbGVtZW50LCBTVkdMZW5ndGgsIFgyLCB4MikKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlf
REVDTEFSQVRJT05TKFNWR0xpbmVFbGVtZW50LCBTVkdMZW5ndGgsIFkyLCB5MikKICAgICB9Owog
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdMaW5lYXJHcmFk
aWVudEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0xpbmVhckdyYWRp
ZW50RWxlbWVudC5jcHAJKHJldmlzaW9uIDM1MDMzKQorKysgV2ViQ29yZS9zdmcvU1ZHTGluZWFy
R3JhZGllbnRFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTEsMTAgKzUxLDEwIEBAIFNW
R0xpbmVhckdyYWRpZW50RWxlbWVudDo6flNWR0xpbmVhckdyYWQKIHsKIH0KIAotQU5JTUFURURf
UFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50LCBTVkdMZW5ndGgs
IExlbmd0aCwgbGVuZ3RoLCBYMSwgeDEsIFNWR05hbWVzOjp4MUF0dHIsIG1feDEpCi1BTklNQVRF
RF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQsIFNWR0xlbmd0
aCwgTGVuZ3RoLCBsZW5ndGgsIFkxLCB5MSwgU1ZHTmFtZXM6OnkxQXR0ciwgbV95MSkKLUFOSU1B
VEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0xpbmVhckdyYWRpZW50RWxlbWVudCwgU1ZHTGVu
Z3RoLCBMZW5ndGgsIGxlbmd0aCwgWDIsIHgyLCBTVkdOYW1lczo6eDJBdHRyLCBtX3gyKQotQU5J
TUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50LCBTVkdM
ZW5ndGgsIExlbmd0aCwgbGVuZ3RoLCBZMiwgeTIsIFNWR05hbWVzOjp5MkF0dHIsIG1feTIpCitB
TklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQsIFNW
R0xlbmd0aCwgWDEsIHgxLCBTVkdOYW1lczo6eDFBdHRyKQorQU5JTUFURURfUFJPUEVSVFlfREVG
SU5JVElPTlMoU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50LCBTVkdMZW5ndGgsIFkxLCB5MSwgU1ZH
TmFtZXM6OnkxQXR0cikKK0FOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0xpbmVhckdy
YWRpZW50RWxlbWVudCwgU1ZHTGVuZ3RoLCBYMiwgeDIsIFNWR05hbWVzOjp4MkF0dHIpCitBTklN
QVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQsIFNWR0xl
bmd0aCwgWTIsIHkyLCBTVkdOYW1lczo6eTJBdHRyKQogCiB2b2lkIFNWR0xpbmVhckdyYWRpZW50
RWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoTWFwcGVkQXR0cmlidXRlKiBhdHRyKQogewpJ
bmRleDogV2ViQ29yZS9zdmcvU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50LmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9zdmcvU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50LmgJKHJldmlzaW9uIDM1MDMz
KQorKysgV2ViQ29yZS9zdmcvU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50LmgJKHdvcmtpbmcgY29w
eSkKQEAgLTQ5LDEwICs0OSwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1
YWwgY29uc3QgU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQoKSBjb25zdCB7IHJldHVybiB0aGlz
OyB9CiAKICAgICBwcml2YXRlOgotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElP
TlMoU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50LCBTVkdMZW5ndGgsIFNWR0xlbmd0aCwgWDEsIHgx
KQotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHTGluZWFyR3JhZGll
bnRFbGVtZW50LCBTVkdMZW5ndGgsIFNWR0xlbmd0aCwgWTEsIHkxKQotICAgICAgICBBTklNQVRF
RF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50LCBTVkdMZW5n
dGgsIFNWR0xlbmd0aCwgWDIsIHgyKQotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJB
VElPTlMoU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50LCBTVkdMZW5ndGgsIFNWR0xlbmd0aCwgWTIs
IHkyKQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHTGluZWFyR3Jh
ZGllbnRFbGVtZW50LCBTVkdMZW5ndGgsIFgxLCB4MSkKKyAgICAgICAgQU5JTUFURURfUFJPUEVS
VFlfREVDTEFSQVRJT05TKFNWR0xpbmVhckdyYWRpZW50RWxlbWVudCwgU1ZHTGVuZ3RoLCBZMSwg
eTEpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdMaW5lYXJHcmFk
aWVudEVsZW1lbnQsIFNWR0xlbmd0aCwgWDIsIHgyKQorICAgICAgICBBTklNQVRFRF9QUk9QRVJU
WV9ERUNMQVJBVElPTlMoU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50LCBTVkdMZW5ndGgsIFkyLCB5
MikKICAgICB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBXZWJDb3JlL3N2Zy9T
VkdNYXJrZXJFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdNYXJrZXJF
bGVtZW50LmNwcAkocmV2aXNpb24gMzUwMzMpCisrKyBXZWJDb3JlL3N2Zy9TVkdNYXJrZXJFbGVt
ZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTYsMTMgKzU2LDEzIEBAIFNWR01hcmtlckVsZW1l
bnQ6On5TVkdNYXJrZXJFbGVtZW50KCkKIHsKIH0KIAotQU5JTUFURURfUFJPUEVSVFlfREVGSU5J
VElPTlMoU1ZHTWFya2VyRWxlbWVudCwgU1ZHTGVuZ3RoLCBMZW5ndGgsIGxlbmd0aCwgUmVmWCwg
cmVmWCwgU1ZHTmFtZXM6OnJlZlhBdHRyLCBtX3JlZlgpCi1BTklNQVRFRF9QUk9QRVJUWV9ERUZJ
TklUSU9OUyhTVkdNYXJrZXJFbGVtZW50LCBTVkdMZW5ndGgsIExlbmd0aCwgbGVuZ3RoLCBSZWZZ
LCByZWZZLCBTVkdOYW1lczo6cmVmWUF0dHIsIG1fcmVmWSkKLUFOSU1BVEVEX1BST1BFUlRZX0RF
RklOSVRJT05TKFNWR01hcmtlckVsZW1lbnQsIGludCwgRW51bWVyYXRpb24sIGVudW1lcmF0aW9u
LCBNYXJrZXJVbml0cywgbWFya2VyVW5pdHMsIFNWR05hbWVzOjptYXJrZXJVbml0c0F0dHIsIG1f
bWFya2VyVW5pdHMpCi1BTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdNYXJrZXJFbGVt
ZW50LCBTVkdMZW5ndGgsIExlbmd0aCwgbGVuZ3RoLCBNYXJrZXJXaWR0aCwgbWFya2VyV2lkdGgs
IFNWR05hbWVzOjptYXJrZXJXaWR0aEF0dHIsIG1fbWFya2VyV2lkdGgpCi1BTklNQVRFRF9QUk9Q
RVJUWV9ERUZJTklUSU9OUyhTVkdNYXJrZXJFbGVtZW50LCBTVkdMZW5ndGgsIExlbmd0aCwgbGVu
Z3RoLCBNYXJrZXJIZWlnaHQsIG1hcmtlckhlaWdodCwgU1ZHTmFtZXM6Om1hcmtlckhlaWdodEF0
dHIsIG1fbWFya2VySGVpZ2h0KQotQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlNfV0lUSF9D
VVNUT01fSURFTlRJRklFUihTVkdNYXJrZXJFbGVtZW50LCBpbnQsIEVudW1lcmF0aW9uLCBlbnVt
ZXJhdGlvbiwgT3JpZW50VHlwZSwgb3JpZW50VHlwZSwgU1ZHTmFtZXM6Om9yaWVudEF0dHIsICJv
cmllbnRUeXBlIiwgbV9vcmllbnRUeXBlKQotQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlNf
V0lUSF9DVVNUT01fSURFTlRJRklFUihTVkdNYXJrZXJFbGVtZW50LCBTVkdBbmdsZSosIEFuZ2xl
LCBhbmdsZSwgT3JpZW50QW5nbGUsIG9yaWVudEFuZ2xlLCBTVkdOYW1lczo6b3JpZW50QXR0ciwg
Im9yaWVudEFuZ2xlIiwgbV9vcmllbnRBbmdsZS5nZXQoKSkKK0FOSU1BVEVEX1BST1BFUlRZX0RF
RklOSVRJT05TKFNWR01hcmtlckVsZW1lbnQsIFNWR0xlbmd0aCwgUmVmWCwgcmVmWCwgU1ZHTmFt
ZXM6OnJlZlhBdHRyKQorQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHTWFya2VyRWxl
bWVudCwgU1ZHTGVuZ3RoLCBSZWZZLCByZWZZLCBTVkdOYW1lczo6cmVmWUF0dHIpCitBTklNQVRF
RF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdNYXJrZXJFbGVtZW50LCBpbnQsIE1hcmtlclVuaXRz
LCBtYXJrZXJVbml0cywgU1ZHTmFtZXM6Om1hcmtlclVuaXRzQXR0cikKK0FOSU1BVEVEX1BST1BF
UlRZX0RFRklOSVRJT05TKFNWR01hcmtlckVsZW1lbnQsIFNWR0xlbmd0aCwgTWFya2VyV2lkdGgs
IG1hcmtlcldpZHRoLCBTVkdOYW1lczo6bWFya2VyV2lkdGhBdHRyKQorQU5JTUFURURfUFJPUEVS
VFlfREVGSU5JVElPTlMoU1ZHTWFya2VyRWxlbWVudCwgU1ZHTGVuZ3RoLCBNYXJrZXJIZWlnaHQs
IG1hcmtlckhlaWdodCwgU1ZHTmFtZXM6Om1hcmtlckhlaWdodEF0dHIpCitBTklNQVRFRF9QUk9Q
RVJUWV9ERUZJTklUSU9OU19XSVRIX0NVU1RPTV9JREVOVElGSUVSKFNWR01hcmtlckVsZW1lbnQs
IGludCwgT3JpZW50VHlwZSwgb3JpZW50VHlwZSwgU1ZHTmFtZXM6Om9yaWVudEF0dHIsICJvcmll
bnRUeXBlIikKK0FOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TX1JFRkNPVU5URURfV0lUSF9D
VVNUT01fSURFTlRJRklFUihTVkdNYXJrZXJFbGVtZW50LCBTVkdBbmdsZSwgT3JpZW50QW5nbGUs
IG9yaWVudEFuZ2xlLCBTVkdOYW1lczo6b3JpZW50QXR0ciwgIm9yaWVudEFuZ2xlIikKIAogdm9p
ZCBTVkdNYXJrZXJFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShNYXBwZWRBdHRyaWJ1dGUq
IGF0dHIpCiB7CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdNYXJrZXJFbGVtZW50LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9zdmcvU1ZHTWFya2VyRWxlbWVudC5oCShyZXZpc2lvbiAzNTAzMykKKysr
IFdlYkNvcmUvc3ZnL1NWR01hcmtlckVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMzQsNyAr
MzQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFzcyBEb2N1bWVudDsKICAgICBj
bGFzcyBTVkdBbmdsZTsKLSAgICAKKwogICAgIGNsYXNzIFNWR01hcmtlckVsZW1lbnQgOiBwdWJs
aWMgU1ZHU3R5bGVkRWxlbWVudCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVibGlj
IFNWR0xhbmdTcGFjZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVibGljIFNWR0V4
dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsCkBAIC03MSwxNSArNzEsMTUgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgIHByaXZhdGU6CiAgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRf
REVDTEFSQVRJT05TKFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGJvb2wsIEV4dGVybmFs
UmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpIAogICAgICAgICBB
TklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdGaXRUb1ZpZXdCb3gsIEZs
b2F0UmVjdCwgVmlld0JveCwgdmlld0JveCkKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfRk9S
V0FSRF9ERUNMQVJBVElPTlMoU1ZHRml0VG9WaWV3Qm94LCBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlv
KiwgUHJlc2VydmVBc3BlY3RSYXRpbywgcHJlc2VydmVBc3BlY3RSYXRpbykKKyAgICAgICAgQU5J
TUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlNfUkVGQ09VTlRFRChTVkdGaXRUb1Zp
ZXdCb3gsIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8sIFByZXNlcnZlQXNwZWN0UmF0aW8sIHByZXNl
cnZlQXNwZWN0UmF0aW8pCiAKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05T
KFNWR01hcmtlckVsZW1lbnQsIFNWR0xlbmd0aCwgU1ZHTGVuZ3RoLCBSZWZYLCByZWZYKQotICAg
ICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHTWFya2VyRWxlbWVudCwgU1ZH
TGVuZ3RoLCBTVkdMZW5ndGgsIFJlZlksIHJlZlkpCi0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZ
X0RFQ0xBUkFUSU9OUyhTVkdNYXJrZXJFbGVtZW50LCBTVkdMZW5ndGgsIFNWR0xlbmd0aCwgTWFy
a2VyV2lkdGgsIG1hcmtlcldpZHRoKQotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJB
VElPTlMoU1ZHTWFya2VyRWxlbWVudCwgU1ZHTGVuZ3RoLCBTVkdMZW5ndGgsIE1hcmtlckhlaWdo
dCwgbWFya2VySGVpZ2h0KQotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMo
U1ZHTWFya2VyRWxlbWVudCwgaW50LCBpbnQsIE1hcmtlclVuaXRzLCBtYXJrZXJVbml0cykKLSAg
ICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR01hcmtlckVsZW1lbnQsIGlu
dCwgaW50LCBPcmllbnRUeXBlLCBvcmllbnRUeXBlKQotICAgICAgICBBTklNQVRFRF9QUk9QRVJU
WV9ERUNMQVJBVElPTlMoU1ZHTWFya2VyRWxlbWVudCwgU1ZHQW5nbGUqLCBSZWZQdHI8U1ZHQW5n
bGU+LCBPcmllbnRBbmdsZSwgb3JpZW50QW5nbGUpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZ
X0RFQ0xBUkFUSU9OUyhTVkdNYXJrZXJFbGVtZW50LCBTVkdMZW5ndGgsIFJlZlgsIHJlZlgpCisg
ICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdNYXJrZXJFbGVtZW50LCBT
VkdMZW5ndGgsIFJlZlksIHJlZlkpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFU
SU9OUyhTVkdNYXJrZXJFbGVtZW50LCBTVkdMZW5ndGgsIE1hcmtlcldpZHRoLCBtYXJrZXJXaWR0
aCkKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR01hcmtlckVsZW1l
bnQsIFNWR0xlbmd0aCwgTWFya2VySGVpZ2h0LCBtYXJrZXJIZWlnaHQpCisgICAgICAgIEFOSU1B
VEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdNYXJrZXJFbGVtZW50LCBpbnQsIE1hcmtlclVu
aXRzLCBtYXJrZXJVbml0cykKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05T
KFNWR01hcmtlckVsZW1lbnQsIGludCwgT3JpZW50VHlwZSwgb3JpZW50VHlwZSkKKyAgICAgICAg
QU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TX1JFRkNPVU5URUQoU1ZHTWFya2VyRWxlbWVu
dCwgU1ZHQW5nbGUsIE9yaWVudEFuZ2xlLCBvcmllbnRBbmdsZSkKIAogICAgICAgICBSZWZQdHI8
U1ZHUmVzb3VyY2VNYXJrZXI+IG1fbWFya2VyOwogICAgIH07CkluZGV4OiBXZWJDb3JlL3N2Zy9T
VkdNYXNrRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHTWFza0VsZW1l
bnQuY3BwCShyZXZpc2lvbiAzNTAzMykKKysrIFdlYkNvcmUvc3ZnL1NWR01hc2tFbGVtZW50LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNjgsMTIgKzY4LDEyIEBAIFNWR01hc2tFbGVtZW50Ojp+U1ZH
TWFza0VsZW1lbnQoKQogewogfQogCi1BTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdN
YXNrRWxlbWVudCwgaW50LCBFbnVtZXJhdGlvbiwgZW51bWVyYXRpb24sIE1hc2tVbml0cywgbWFz
a1VuaXRzLCBTVkdOYW1lczo6bWFza1VuaXRzQXR0ciwgbV9tYXNrVW5pdHMpCi1BTklNQVRFRF9Q
Uk9QRVJUWV9ERUZJTklUSU9OUyhTVkdNYXNrRWxlbWVudCwgaW50LCBFbnVtZXJhdGlvbiwgZW51
bWVyYXRpb24sIE1hc2tDb250ZW50VW5pdHMsIG1hc2tDb250ZW50VW5pdHMsIFNWR05hbWVzOjpt
YXNrQ29udGVudFVuaXRzQXR0ciwgbV9tYXNrQ29udGVudFVuaXRzKQotQU5JTUFURURfUFJPUEVS
VFlfREVGSU5JVElPTlMoU1ZHTWFza0VsZW1lbnQsIFNWR0xlbmd0aCwgTGVuZ3RoLCBsZW5ndGgs
IFgsIHgsIFNWR05hbWVzOjp4QXR0ciwgbV94KQotQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElP
TlMoU1ZHTWFza0VsZW1lbnQsIFNWR0xlbmd0aCwgTGVuZ3RoLCBsZW5ndGgsIFksIHksIFNWR05h
bWVzOjp5QXR0ciwgbV95KQotQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHTWFza0Vs
ZW1lbnQsIFNWR0xlbmd0aCwgTGVuZ3RoLCBsZW5ndGgsIFdpZHRoLCB3aWR0aCwgU1ZHTmFtZXM6
OndpZHRoQXR0ciwgbV93aWR0aCkKLUFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR01h
c2tFbGVtZW50LCBTVkdMZW5ndGgsIExlbmd0aCwgbGVuZ3RoLCBIZWlnaHQsIGhlaWdodCwgU1ZH
TmFtZXM6OmhlaWdodEF0dHIsIG1faGVpZ2h0KQorQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElP
TlMoU1ZHTWFza0VsZW1lbnQsIGludCwgTWFza1VuaXRzLCBtYXNrVW5pdHMsIFNWR05hbWVzOjpt
YXNrVW5pdHNBdHRyKQorQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHTWFza0VsZW1l
bnQsIGludCwgTWFza0NvbnRlbnRVbml0cywgbWFza0NvbnRlbnRVbml0cywgU1ZHTmFtZXM6Om1h
c2tDb250ZW50VW5pdHNBdHRyKQorQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHTWFz
a0VsZW1lbnQsIFNWR0xlbmd0aCwgWCwgeCwgU1ZHTmFtZXM6OnhBdHRyKQorQU5JTUFURURfUFJP
UEVSVFlfREVGSU5JVElPTlMoU1ZHTWFza0VsZW1lbnQsIFNWR0xlbmd0aCwgWSwgeSwgU1ZHTmFt
ZXM6OnlBdHRyKQorQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHTWFza0VsZW1lbnQs
IFNWR0xlbmd0aCwgV2lkdGgsIHdpZHRoLCBTVkdOYW1lczo6d2lkdGhBdHRyKQorQU5JTUFURURf
UFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHTWFza0VsZW1lbnQsIFNWR0xlbmd0aCwgSGVpZ2h0LCBo
ZWlnaHQsIFNWR05hbWVzOjpoZWlnaHRBdHRyKQogCiB2b2lkIFNWR01hc2tFbGVtZW50OjpwYXJz
ZU1hcHBlZEF0dHJpYnV0ZShNYXBwZWRBdHRyaWJ1dGUqIGF0dHIpCiB7CkluZGV4OiBXZWJDb3Jl
L3N2Zy9TVkdNYXNrRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR01hc2tF
bGVtZW50LmgJKHJldmlzaW9uIDM1MDMzKQorKysgV2ViQ29yZS9zdmcvU1ZHTWFza0VsZW1lbnQu
aAkod29ya2luZyBjb3B5KQpAQCAtNTcsMTMgKzU3LDEzIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHVVJJUmVm
ZXJlbmNlLCBTdHJpbmcsIEhyZWYsIGhyZWYpCiAgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZP
UldBUkRfREVDTEFSQVRJT05TKFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGJvb2wsIEV4
dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpCiAgICAg
ICAgICAgICAKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR01hc2tF
bGVtZW50LCBpbnQsIGludCwgTWFza1VuaXRzLCBtYXNrVW5pdHMpCi0gICAgICAgIEFOSU1BVEVE
X1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdNYXNrRWxlbWVudCwgaW50LCBpbnQsIE1hc2tDb250
ZW50VW5pdHMsIG1hc2tDb250ZW50VW5pdHMpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RF
Q0xBUkFUSU9OUyhTVkdNYXNrRWxlbWVudCwgaW50LCBNYXNrVW5pdHMsIG1hc2tVbml0cykKKyAg
ICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR01hc2tFbGVtZW50LCBpbnQs
IE1hc2tDb250ZW50VW5pdHMsIG1hc2tDb250ZW50VW5pdHMpCiAgCi0gICAgICAgIEFOSU1BVEVE
X1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdNYXNrRWxlbWVudCwgU1ZHTGVuZ3RoLCBTVkdMZW5n
dGgsIFgsIHgpCi0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdNYXNr
RWxlbWVudCwgU1ZHTGVuZ3RoLCBTVkdMZW5ndGgsIFksIHkpCi0gICAgICAgIEFOSU1BVEVEX1BS
T1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdNYXNrRWxlbWVudCwgU1ZHTGVuZ3RoLCBTVkdMZW5ndGgs
IFdpZHRoLCB3aWR0aCkKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNW
R01hc2tFbGVtZW50LCBTVkdMZW5ndGgsIFNWR0xlbmd0aCwgSGVpZ2h0LCBoZWlnaHQpCisgICAg
ICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdNYXNrRWxlbWVudCwgU1ZHTGVu
Z3RoLCBYLCB4KQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHTWFz
a0VsZW1lbnQsIFNWR0xlbmd0aCwgWSwgeSkKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVD
TEFSQVRJT05TKFNWR01hc2tFbGVtZW50LCBTVkdMZW5ndGgsIFdpZHRoLCB3aWR0aCkKKyAgICAg
ICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR01hc2tFbGVtZW50LCBTVkdMZW5n
dGgsIEhlaWdodCwgaGVpZ2h0KQogCiAgICAgICAgIHZpcnR1YWwgY29uc3QgU1ZHRWxlbWVudCog
Y29udGV4dEVsZW1lbnQoKSBjb25zdCB7IHJldHVybiB0aGlzOyB9CiAKSW5kZXg6IFdlYkNvcmUv
c3ZnL1NWR1BhdGhFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdQYXRo
RWxlbWVudC5jcHAJKHJldmlzaW9uIDM1MDMzKQorKysgV2ViQ29yZS9zdmcvU1ZHUGF0aEVsZW1l
bnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Niw3ICs1Niw3IEBAIFNWR1BhdGhFbGVtZW50Ojp+
U1ZHUGF0aEVsZW1lbnQoKQogewogfQogCi1BTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhT
VkdQYXRoRWxlbWVudCwgZmxvYXQsIE51bWJlciwgbnVtYmVyLCBQYXRoTGVuZ3RoLCBwYXRoTGVu
Z3RoLCBTVkdOYW1lczo6cGF0aExlbmd0aEF0dHIsIG1fcGF0aExlbmd0aCkKK0FOSU1BVEVEX1BS
T1BFUlRZX0RFRklOSVRJT05TKFNWR1BhdGhFbGVtZW50LCBmbG9hdCwgUGF0aExlbmd0aCwgcGF0
aExlbmd0aCwgU1ZHTmFtZXM6OnBhdGhMZW5ndGhBdHRyKQogCiBmbG9hdCBTVkdQYXRoRWxlbWVu
dDo6Z2V0VG90YWxMZW5ndGgoKQogewpJbmRleDogV2ViQ29yZS9zdmcvU1ZHUGF0aEVsZW1lbnQu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdQYXRoRWxlbWVudC5oCShyZXZpc2lvbiAz
NTAzMykKKysrIFdlYkNvcmUvc3ZnL1NWR1BhdGhFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAg
LTEwOCw3ICsxMDgsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgQU5JTUFURURf
UFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJl
ZCwgYm9vbCwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1
aXJlZCkKICAKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR1BhdGhF
bGVtZW50LCBmbG9hdCwgZmxvYXQsIFBhdGhMZW5ndGgsIHBhdGhMZW5ndGgpCisgICAgICAgIEFO
SU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdQYXRoRWxlbWVudCwgZmxvYXQsIFBhdGhM
ZW5ndGgsIHBhdGhMZW5ndGgpCiAgICAgfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRl
eDogV2ViQ29yZS9zdmcvU1ZHUGF0dGVybkVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvc3ZnL1NWR1BhdHRlcm5FbGVtZW50LmNwcAkocmV2aXNpb24gMzUwMzMpCisrKyBXZWJDb3Jl
L3N2Zy9TVkdQYXR0ZXJuRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTcxLDEzICs3MSwx
MyBAQCBTVkdQYXR0ZXJuRWxlbWVudDo6flNWR1BhdHRlcm5FbGVtZW50KCkKIHsKIH0KIAotQU5J
TUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHUGF0dGVybkVsZW1lbnQsIGludCwgRW51bWVy
YXRpb24sIGVudW1lcmF0aW9uLCBQYXR0ZXJuVW5pdHMsIHBhdHRlcm5Vbml0cywgU1ZHTmFtZXM6
OnBhdHRlcm5Vbml0c0F0dHIsIG1fcGF0dGVyblVuaXRzKQotQU5JTUFURURfUFJPUEVSVFlfREVG
SU5JVElPTlMoU1ZHUGF0dGVybkVsZW1lbnQsIGludCwgRW51bWVyYXRpb24sIGVudW1lcmF0aW9u
LCBQYXR0ZXJuQ29udGVudFVuaXRzLCBwYXR0ZXJuQ29udGVudFVuaXRzLCBTVkdOYW1lczo6cGF0
dGVybkNvbnRlbnRVbml0c0F0dHIsIG1fcGF0dGVybkNvbnRlbnRVbml0cykKLUFOSU1BVEVEX1BS
T1BFUlRZX0RFRklOSVRJT05TKFNWR1BhdHRlcm5FbGVtZW50LCBTVkdMZW5ndGgsIExlbmd0aCwg
bGVuZ3RoLCBYLCB4LCBTVkdOYW1lczo6eEF0dHIsIG1feCkKLUFOSU1BVEVEX1BST1BFUlRZX0RF
RklOSVRJT05TKFNWR1BhdHRlcm5FbGVtZW50LCBTVkdMZW5ndGgsIExlbmd0aCwgbGVuZ3RoLCBZ
LCB5LCBTVkdOYW1lczo6eUF0dHIsIG1feSkKLUFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05T
KFNWR1BhdHRlcm5FbGVtZW50LCBTVkdMZW5ndGgsIExlbmd0aCwgbGVuZ3RoLCBXaWR0aCwgd2lk
dGgsIFNWR05hbWVzOjp3aWR0aEF0dHIsIG1fd2lkdGgpCi1BTklNQVRFRF9QUk9QRVJUWV9ERUZJ
TklUSU9OUyhTVkdQYXR0ZXJuRWxlbWVudCwgU1ZHTGVuZ3RoLCBMZW5ndGgsIGxlbmd0aCwgSGVp
Z2h0LCBoZWlnaHQsIFNWR05hbWVzOjpoZWlnaHRBdHRyLCBtX2hlaWdodCkKLUFOSU1BVEVEX1BS
T1BFUlRZX0RFRklOSVRJT05TKFNWR1BhdHRlcm5FbGVtZW50LCBTVkdUcmFuc2Zvcm1MaXN0Kiwg
VHJhbnNmb3JtTGlzdCwgdHJhbnNmb3JtTGlzdCwgUGF0dGVyblRyYW5zZm9ybSwgcGF0dGVyblRy
YW5zZm9ybSwgU1ZHTmFtZXM6OnBhdHRlcm5UcmFuc2Zvcm1BdHRyLCBtX3BhdHRlcm5UcmFuc2Zv
cm0uZ2V0KCkpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdQYXR0ZXJuRWxlbWVu
dCwgaW50LCBQYXR0ZXJuVW5pdHMsIHBhdHRlcm5Vbml0cywgU1ZHTmFtZXM6OnBhdHRlcm5Vbml0
c0F0dHIpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdQYXR0ZXJuRWxlbWVudCwg
aW50LCBQYXR0ZXJuQ29udGVudFVuaXRzLCBwYXR0ZXJuQ29udGVudFVuaXRzLCBTVkdOYW1lczo6
cGF0dGVybkNvbnRlbnRVbml0c0F0dHIpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhT
VkdQYXR0ZXJuRWxlbWVudCwgU1ZHTGVuZ3RoLCBYLCB4LCBTVkdOYW1lczo6eEF0dHIpCitBTklN
QVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdQYXR0ZXJuRWxlbWVudCwgU1ZHTGVuZ3RoLCBZ
LCB5LCBTVkdOYW1lczo6eUF0dHIpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdQ
YXR0ZXJuRWxlbWVudCwgU1ZHTGVuZ3RoLCBXaWR0aCwgd2lkdGgsIFNWR05hbWVzOjp3aWR0aEF0
dHIpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdQYXR0ZXJuRWxlbWVudCwgU1ZH
TGVuZ3RoLCBIZWlnaHQsIGhlaWdodCwgU1ZHTmFtZXM6OmhlaWdodEF0dHIpCitBTklNQVRFRF9Q
Uk9QRVJUWV9ERUZJTklUSU9OU19SRUZDT1VOVEVEKFNWR1BhdHRlcm5FbGVtZW50LCBTVkdUcmFu
c2Zvcm1MaXN0LCBQYXR0ZXJuVHJhbnNmb3JtLCBwYXR0ZXJuVHJhbnNmb3JtLCBTVkdOYW1lczo6
cGF0dGVyblRyYW5zZm9ybUF0dHIpCiAKIHZvaWQgU1ZHUGF0dGVybkVsZW1lbnQ6OnBhcnNlTWFw
cGVkQXR0cmlidXRlKE1hcHBlZEF0dHJpYnV0ZSogYXR0cikKIHsKSW5kZXg6IFdlYkNvcmUvc3Zn
L1NWR1BhdHRlcm5FbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHUGF0dGVy
bkVsZW1lbnQuaAkocmV2aXNpb24gMzUwMzMpCisrKyBXZWJDb3JlL3N2Zy9TVkdQYXR0ZXJuRWxl
bWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC02MywxNSArNjMsMTUgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdV
UklSZWZlcmVuY2UsIFN0cmluZywgSHJlZiwgaHJlZikKICAgICAgICAgQU5JTUFURURfUFJPUEVS
VFlfRk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgYm9v
bCwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkK
ICAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHRml0VG9W
aWV3Qm94LCBGbG9hdFJlY3QsIFZpZXdCb3gsIHZpZXdCb3gpCi0gICAgICAgIEFOSU1BVEVEX1BS
T1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJT05TKFNWR0ZpdFRvVmlld0JveCwgU1ZHUHJlc2VydmVB
c3BlY3RSYXRpbyosIFByZXNlcnZlQXNwZWN0UmF0aW8sIHByZXNlcnZlQXNwZWN0UmF0aW8pCisg
ICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJT05TX1JFRkNPVU5URUQo
U1ZHRml0VG9WaWV3Qm94LCBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLCBQcmVzZXJ2ZUFzcGVjdFJh
dGlvLCBwcmVzZXJ2ZUFzcGVjdFJhdGlvKQogCi0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RF
Q0xBUkFUSU9OUyhTVkdQYXR0ZXJuRWxlbWVudCwgU1ZHTGVuZ3RoLCBTVkdMZW5ndGgsIFgsIHgp
Ci0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdQYXR0ZXJuRWxlbWVu
dCwgU1ZHTGVuZ3RoLCBTVkdMZW5ndGgsIFksIHkpCi0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZ
X0RFQ0xBUkFUSU9OUyhTVkdQYXR0ZXJuRWxlbWVudCwgU1ZHTGVuZ3RoLCBTVkdMZW5ndGgsIFdp
ZHRoLCB3aWR0aCkKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR1Bh
dHRlcm5FbGVtZW50LCBTVkdMZW5ndGgsIFNWR0xlbmd0aCwgSGVpZ2h0LCBoZWlnaHQpCi0gICAg
ICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdQYXR0ZXJuRWxlbWVudCwgaW50
LCBpbnQsIFBhdHRlcm5Vbml0cywgcGF0dGVyblVuaXRzKQotICAgICAgICBBTklNQVRFRF9QUk9Q
RVJUWV9ERUNMQVJBVElPTlMoU1ZHUGF0dGVybkVsZW1lbnQsIGludCwgaW50LCBQYXR0ZXJuQ29u
dGVudFVuaXRzLCBwYXR0ZXJuQ29udGVudFVuaXRzKQotICAgICAgICBBTklNQVRFRF9QUk9QRVJU
WV9ERUNMQVJBVElPTlMoU1ZHUGF0dGVybkVsZW1lbnQsIFNWR1RyYW5zZm9ybUxpc3QqLCBSZWZQ
dHI8U1ZHVHJhbnNmb3JtTGlzdD4sIFBhdHRlcm5UcmFuc2Zvcm0sIHBhdHRlcm5UcmFuc2Zvcm0p
CisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdQYXR0ZXJuRWxlbWVu
dCwgU1ZHTGVuZ3RoLCBYLCB4KQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElP
TlMoU1ZHUGF0dGVybkVsZW1lbnQsIFNWR0xlbmd0aCwgWSwgeSkKKyAgICAgICAgQU5JTUFURURf
UFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR1BhdHRlcm5FbGVtZW50LCBTVkdMZW5ndGgsIFdpZHRo
LCB3aWR0aCkKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR1BhdHRl
cm5FbGVtZW50LCBTVkdMZW5ndGgsIEhlaWdodCwgaGVpZ2h0KQorICAgICAgICBBTklNQVRFRF9Q
Uk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHUGF0dGVybkVsZW1lbnQsIGludCwgUGF0dGVyblVuaXRz
LCBwYXR0ZXJuVW5pdHMpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhT
VkdQYXR0ZXJuRWxlbWVudCwgaW50LCBQYXR0ZXJuQ29udGVudFVuaXRzLCBwYXR0ZXJuQ29udGVu
dFVuaXRzKQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlNfUkVGQ09VTlRF
RChTVkdQYXR0ZXJuRWxlbWVudCwgU1ZHVHJhbnNmb3JtTGlzdCwgUGF0dGVyblRyYW5zZm9ybSwg
cGF0dGVyblRyYW5zZm9ybSkKIAogICAgICAgICBtdXRhYmxlIFJlZlB0cjxTVkdQYWludFNlcnZl
clBhdHRlcm4+IG1fcmVzb3VyY2U7CiAKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR1JhZGlhbEdyYWRp
ZW50RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHUmFkaWFsR3JhZGll
bnRFbGVtZW50LmNwcAkocmV2aXNpb24gMzUwMzMpCisrKyBXZWJDb3JlL3N2Zy9TVkdSYWRpYWxH
cmFkaWVudEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NywxMSArNTcsMTEgQEAgU1ZH
UmFkaWFsR3JhZGllbnRFbGVtZW50Ojp+U1ZHUmFkaWFsR3JhZAogewogfQogCi1BTklNQVRFRF9Q
Uk9QRVJUWV9ERUZJTklUSU9OUyhTVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQsIFNWR0xlbmd0aCwg
TGVuZ3RoLCBsZW5ndGgsIEN4LCBjeCwgU1ZHTmFtZXM6OmN4QXR0ciwgbV9jeCkKLUFOSU1BVEVE
X1BST1BFUlRZX0RFRklOSVRJT05TKFNWR1JhZGlhbEdyYWRpZW50RWxlbWVudCwgU1ZHTGVuZ3Ro
LCBMZW5ndGgsIGxlbmd0aCwgQ3ksIGN5LCBTVkdOYW1lczo6Y3lBdHRyLCBtX2N5KQotQU5JTUFU
RURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50LCBTVkdMZW5n
dGgsIExlbmd0aCwgbGVuZ3RoLCBGeCwgZngsIFNWR05hbWVzOjpmeEF0dHIsIG1fZngpCi1BTklN
QVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQsIFNWR0xl
bmd0aCwgTGVuZ3RoLCBsZW5ndGgsIEZ5LCBmeSwgU1ZHTmFtZXM6OmZ5QXR0ciwgbV9meSkKLUFO
SU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR1JhZGlhbEdyYWRpZW50RWxlbWVudCwgU1ZH
TGVuZ3RoLCBMZW5ndGgsIGxlbmd0aCwgUiwgciwgU1ZHTmFtZXM6OnJBdHRyLCBtX3IpCitBTklN
QVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQsIFNWR0xl
bmd0aCwgQ3gsIGN4LCBTVkdOYW1lczo6Y3hBdHRyKQorQU5JTUFURURfUFJPUEVSVFlfREVGSU5J
VElPTlMoU1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50LCBTVkdMZW5ndGgsIEN5LCBjeSwgU1ZHTmFt
ZXM6OmN5QXR0cikKK0FOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR1JhZGlhbEdyYWRp
ZW50RWxlbWVudCwgU1ZHTGVuZ3RoLCBGeCwgZngsIFNWR05hbWVzOjpmeEF0dHIpCitBTklNQVRF
RF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQsIFNWR0xlbmd0
aCwgRnksIGZ5LCBTVkdOYW1lczo6ZnlBdHRyKQorQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElP
TlMoU1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50LCBTVkdMZW5ndGgsIFIsIHIsIFNWR05hbWVzOjpy
QXR0cikKIAogdm9pZCBTVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmli
dXRlKE1hcHBlZEF0dHJpYnV0ZSogYXR0cikKIHsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR1JhZGlh
bEdyYWRpZW50RWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR1JhZGlhbEdy
YWRpZW50RWxlbWVudC5oCShyZXZpc2lvbiAzNTAzMykKKysrIFdlYkNvcmUvc3ZnL1NWR1JhZGlh
bEdyYWRpZW50RWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC00OSwxMSArNDksMTEgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIGNvbnN0IFNWR0VsZW1lbnQqIGNvbnRl
eHRFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gdGhpczsgfQogCiAgICAgcHJpdmF0ZToKLSAgICAg
ICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR1JhZGlhbEdyYWRpZW50RWxlbWVu
dCwgU1ZHTGVuZ3RoLCBTVkdMZW5ndGgsIEN4LCBjeCkKLSAgICAgICAgQU5JTUFURURfUFJPUEVS
VFlfREVDTEFSQVRJT05TKFNWR1JhZGlhbEdyYWRpZW50RWxlbWVudCwgU1ZHTGVuZ3RoLCBTVkdM
ZW5ndGgsIEN5LCBjeSkKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNW
R1JhZGlhbEdyYWRpZW50RWxlbWVudCwgU1ZHTGVuZ3RoLCBTVkdMZW5ndGgsIFIsIHIpCi0gICAg
ICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdSYWRpYWxHcmFkaWVudEVsZW1l
bnQsIFNWR0xlbmd0aCwgU1ZHTGVuZ3RoLCBGeCwgZngpCi0gICAgICAgIEFOSU1BVEVEX1BST1BF
UlRZX0RFQ0xBUkFUSU9OUyhTVkdSYWRpYWxHcmFkaWVudEVsZW1lbnQsIFNWR0xlbmd0aCwgU1ZH
TGVuZ3RoLCBGeSwgZnkpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhT
VkdSYWRpYWxHcmFkaWVudEVsZW1lbnQsIFNWR0xlbmd0aCwgQ3gsIGN4KQorICAgICAgICBBTklN
QVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50LCBTVkdM
ZW5ndGgsIEN5LCBjeSkKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNW
R1JhZGlhbEdyYWRpZW50RWxlbWVudCwgU1ZHTGVuZ3RoLCBSLCByKQorICAgICAgICBBTklNQVRF
RF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50LCBTVkdMZW5n
dGgsIEZ4LCBmeCkKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR1Jh
ZGlhbEdyYWRpZW50RWxlbWVudCwgU1ZHTGVuZ3RoLCBGeSwgZnkpCiAgICAgfTsKIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHUmVjdEVsZW1lbnQuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR1JlY3RFbGVtZW50LmNwcAkocmV2aXNpb24gMzUw
MzMpCisrKyBXZWJDb3JlL3N2Zy9TVkdSZWN0RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTQ5LDEyICs0OSwxMiBAQCBTVkdSZWN0RWxlbWVudDo6flNWR1JlY3RFbGVtZW50KCkKIHsKIH0K
IAotQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHUmVjdEVsZW1lbnQsIFNWR0xlbmd0
aCwgTGVuZ3RoLCBsZW5ndGgsIFgsIHgsIFNWR05hbWVzOjp4QXR0ciwgbV94KQotQU5JTUFURURf
UFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHUmVjdEVsZW1lbnQsIFNWR0xlbmd0aCwgTGVuZ3RoLCBs
ZW5ndGgsIFksIHksIFNWR05hbWVzOjp5QXR0ciwgbV95KQotQU5JTUFURURfUFJPUEVSVFlfREVG
SU5JVElPTlMoU1ZHUmVjdEVsZW1lbnQsIFNWR0xlbmd0aCwgTGVuZ3RoLCBsZW5ndGgsIFdpZHRo
LCB3aWR0aCwgU1ZHTmFtZXM6OndpZHRoQXR0ciwgbV93aWR0aCkKLUFOSU1BVEVEX1BST1BFUlRZ
X0RFRklOSVRJT05TKFNWR1JlY3RFbGVtZW50LCBTVkdMZW5ndGgsIExlbmd0aCwgbGVuZ3RoLCBI
ZWlnaHQsIGhlaWdodCwgU1ZHTmFtZXM6OmhlaWdodEF0dHIsIG1faGVpZ2h0KQotQU5JTUFURURf
UFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHUmVjdEVsZW1lbnQsIFNWR0xlbmd0aCwgTGVuZ3RoLCBs
ZW5ndGgsIFJ4LCByeCwgU1ZHTmFtZXM6OnJ4QXR0ciwgbV9yeCkKLUFOSU1BVEVEX1BST1BFUlRZ
X0RFRklOSVRJT05TKFNWR1JlY3RFbGVtZW50LCBTVkdMZW5ndGgsIExlbmd0aCwgbGVuZ3RoLCBS
eSwgcnksIFNWR05hbWVzOjpyeUF0dHIsIG1fcnkpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklU
SU9OUyhTVkdSZWN0RWxlbWVudCwgU1ZHTGVuZ3RoLCBYLCB4LCBTVkdOYW1lczo6eEF0dHIpCitB
TklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdSZWN0RWxlbWVudCwgU1ZHTGVuZ3RoLCBZ
LCB5LCBTVkdOYW1lczo6eUF0dHIpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdS
ZWN0RWxlbWVudCwgU1ZHTGVuZ3RoLCBXaWR0aCwgd2lkdGgsIFNWR05hbWVzOjp3aWR0aEF0dHIp
CitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdSZWN0RWxlbWVudCwgU1ZHTGVuZ3Ro
LCBIZWlnaHQsIGhlaWdodCwgU1ZHTmFtZXM6OmhlaWdodEF0dHIpCitBTklNQVRFRF9QUk9QRVJU
WV9ERUZJTklUSU9OUyhTVkdSZWN0RWxlbWVudCwgU1ZHTGVuZ3RoLCBSeCwgcngsIFNWR05hbWVz
OjpyeEF0dHIpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdSZWN0RWxlbWVudCwg
U1ZHTGVuZ3RoLCBSeSwgcnksIFNWR05hbWVzOjpyeUF0dHIpCiAKIHZvaWQgU1ZHUmVjdEVsZW1l
bnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKE1hcHBlZEF0dHJpYnV0ZSogYXR0cikKIHsKSW5kZXg6
IFdlYkNvcmUvc3ZnL1NWR1JlY3RFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcv
U1ZHUmVjdEVsZW1lbnQuaAkocmV2aXNpb24gMzUwMzMpCisrKyBXZWJDb3JlL3N2Zy9TVkdSZWN0
RWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC01MywxMiArNTMsMTIgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgIHByaXZhdGU6CiAgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRf
REVDTEFSQVRJT05TKFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGJvb2wsIEV4dGVybmFs
UmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpCiAKLSAgICAgICAg
QU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR1JlY3RFbGVtZW50LCBTVkdMZW5ndGgs
IFNWR0xlbmd0aCwgWCwgeCkKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05T
KFNWR1JlY3RFbGVtZW50LCBTVkdMZW5ndGgsIFNWR0xlbmd0aCwgWSwgeSkKLSAgICAgICAgQU5J
TUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR1JlY3RFbGVtZW50LCBTVkdMZW5ndGgsIFNW
R0xlbmd0aCwgV2lkdGgsIHdpZHRoKQotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJB
VElPTlMoU1ZHUmVjdEVsZW1lbnQsIFNWR0xlbmd0aCwgU1ZHTGVuZ3RoLCBIZWlnaHQsIGhlaWdo
dCkKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR1JlY3RFbGVtZW50
LCBTVkdMZW5ndGgsIFNWR0xlbmd0aCwgUngsIHJ4KQotICAgICAgICBBTklNQVRFRF9QUk9QRVJU
WV9ERUNMQVJBVElPTlMoU1ZHUmVjdEVsZW1lbnQsIFNWR0xlbmd0aCwgU1ZHTGVuZ3RoLCBSeSwg
cnkpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdSZWN0RWxlbWVu
dCwgU1ZHTGVuZ3RoLCBYLCB4KQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElP
TlMoU1ZHUmVjdEVsZW1lbnQsIFNWR0xlbmd0aCwgWSwgeSkKKyAgICAgICAgQU5JTUFURURfUFJP
UEVSVFlfREVDTEFSQVRJT05TKFNWR1JlY3RFbGVtZW50LCBTVkdMZW5ndGgsIFdpZHRoLCB3aWR0
aCkKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR1JlY3RFbGVtZW50
LCBTVkdMZW5ndGgsIEhlaWdodCwgaGVpZ2h0KQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9E
RUNMQVJBVElPTlMoU1ZHUmVjdEVsZW1lbnQsIFNWR0xlbmd0aCwgUngsIHJ4KQorICAgICAgICBB
TklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHUmVjdEVsZW1lbnQsIFNWR0xlbmd0aCwg
UnksIHJ5KQogICAgIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFdlYkNvcmUv
c3ZnL1NWR1NWR0VsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR1NWR0Vs
ZW1lbnQuY3BwCShyZXZpc2lvbiAzNTAzMykKKysrIFdlYkNvcmUvc3ZnL1NWR1NWR0VsZW1lbnQu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC04NCwxMCArODQsMTAgQEAgU1ZHU1ZHRWxlbWVudDo6flNW
R1NWR0VsZW1lbnQoKQogICAgIGRvY3VtZW50KCktPmFjY2Vzc1NWR0V4dGVuc2lvbnMoKS0+cmVt
b3ZlVGltZUNvbnRhaW5lcih0aGlzKTsKIH0KIAotQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElP
TlMoU1ZHU1ZHRWxlbWVudCwgU1ZHTGVuZ3RoLCBMZW5ndGgsIGxlbmd0aCwgWCwgeCwgU1ZHTmFt
ZXM6OnhBdHRyLCBtX3gpCi1BTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdTVkdFbGVt
ZW50LCBTVkdMZW5ndGgsIExlbmd0aCwgbGVuZ3RoLCBZLCB5LCBTVkdOYW1lczo6eUF0dHIsIG1f
eSkKLUFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR1NWR0VsZW1lbnQsIFNWR0xlbmd0
aCwgTGVuZ3RoLCBsZW5ndGgsIFdpZHRoLCB3aWR0aCwgU1ZHTmFtZXM6OndpZHRoQXR0ciwgbV93
aWR0aCkKLUFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR1NWR0VsZW1lbnQsIFNWR0xl
bmd0aCwgTGVuZ3RoLCBsZW5ndGgsIEhlaWdodCwgaGVpZ2h0LCBTVkdOYW1lczo6aGVpZ2h0QXR0
ciwgbV9oZWlnaHQpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdTVkdFbGVtZW50
LCBTVkdMZW5ndGgsIFgsIHgsIFNWR05hbWVzOjp4QXR0cikKK0FOSU1BVEVEX1BST1BFUlRZX0RF
RklOSVRJT05TKFNWR1NWR0VsZW1lbnQsIFNWR0xlbmd0aCwgWSwgeSwgU1ZHTmFtZXM6OnlBdHRy
KQorQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHU1ZHRWxlbWVudCwgU1ZHTGVuZ3Ro
LCBXaWR0aCwgd2lkdGgsIFNWR05hbWVzOjp3aWR0aEF0dHIpCitBTklNQVRFRF9QUk9QRVJUWV9E
RUZJTklUSU9OUyhTVkdTVkdFbGVtZW50LCBTVkdMZW5ndGgsIEhlaWdodCwgaGVpZ2h0LCBTVkdO
YW1lczo6aGVpZ2h0QXR0cikKIAogY29uc3QgQXRvbWljU3RyaW5nJiBTVkdTVkdFbGVtZW50Ojpj
b250ZW50U2NyaXB0VHlwZSgpIGNvbnN0CiB7CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdTVkdFbGVt
ZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHU1ZHRWxlbWVudC5oCShyZXZpc2lv
biAzNTAzMykKKysrIFdlYkNvcmUvc3ZnL1NWR1NWR0VsZW1lbnQuaAkod29ya2luZyBjb3B5KQpA
QCAtMTQ5LDEyICsxNDksMTIgQEAgbmFtZXNwYWNlIFdlYkNvcmUKIAogICAgICAgICBBTklNQVRF
RF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVp
cmVkLCBib29sLCBFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1Jl
cXVpcmVkKQogICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OUyhT
VkdGaXRUb1ZpZXdCb3gsIEZsb2F0UmVjdCwgVmlld0JveCwgdmlld0JveCkKLSAgICAgICAgQU5J
TUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHRml0VG9WaWV3Qm94LCBTVkdQ
cmVzZXJ2ZUFzcGVjdFJhdGlvKiwgUHJlc2VydmVBc3BlY3RSYXRpbywgcHJlc2VydmVBc3BlY3RS
YXRpbykKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlNfUkVG
Q09VTlRFRChTVkdGaXRUb1ZpZXdCb3gsIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8sIFByZXNlcnZl
QXNwZWN0UmF0aW8sIHByZXNlcnZlQXNwZWN0UmF0aW8pCiAKLSAgICAgICAgQU5JTUFURURfUFJP
UEVSVFlfREVDTEFSQVRJT05TKFNWR1NWR0VsZW1lbnQsIFNWR0xlbmd0aCwgU1ZHTGVuZ3RoLCBY
LCB4KQotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHU1ZHRWxlbWVu
dCwgU1ZHTGVuZ3RoLCBTVkdMZW5ndGgsIFksIHkpCi0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZ
X0RFQ0xBUkFUSU9OUyhTVkdTVkdFbGVtZW50LCBTVkdMZW5ndGgsIFNWR0xlbmd0aCwgV2lkdGgs
IHdpZHRoKQotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHU1ZHRWxl
bWVudCwgU1ZHTGVuZ3RoLCBTVkdMZW5ndGgsIEhlaWdodCwgaGVpZ2h0KQorICAgICAgICBBTklN
QVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHU1ZHRWxlbWVudCwgU1ZHTGVuZ3RoLCBYLCB4
KQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHU1ZHRWxlbWVudCwg
U1ZHTGVuZ3RoLCBZLCB5KQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMo
U1ZHU1ZHRWxlbWVudCwgU1ZHTGVuZ3RoLCBXaWR0aCwgd2lkdGgpCisgICAgICAgIEFOSU1BVEVE
X1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdTVkdFbGVtZW50LCBTVkdMZW5ndGgsIEhlaWdodCwg
aGVpZ2h0KQogICAgICAgICAKICAgICAgICAgdmlydHVhbCB2b2lkIHdpbGxTYXZlVG9DYWNoZSgp
OwogICAgICAgICB2aXJ0dWFsIHZvaWQgd2lsbFJlc3RvcmVGcm9tQ2FjaGUoKTsKSW5kZXg6IFdl
YkNvcmUvc3ZnL1NWR1NjcmlwdEVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9T
VkdTY3JpcHRFbGVtZW50LmgJKHJldmlzaW9uIDM1MDMzKQorKysgV2ViQ29yZS9zdmcvU1ZHU2Ny
aXB0RWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC01MSw2ICs1MSw3IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlCiAgICAgICAgIHZpcnR1YWwgY29uc3QgU1ZHRWxlbWVudCogY29udGV4dEVsZW1lbnQo
KSBjb25zdCB7IHJldHVybiB0aGlzOyB9CiAKICAgICBwcml2YXRlOgorICAgICAgICBBTklNQVRF
RF9QUk9QRVJUWV9TVEFSVF9ERUNMQVJBVElPTlMKICAgICAgICAgQU5JTUFURURfUFJPUEVSVFlf
Rk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHVVJJUmVmZXJlbmNlLCBTdHJpbmcsIEhyZWYsIGhyZWYp
CiAgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJT05TKFNWR0V4dGVy
bmFsUmVzb3VyY2VzUmVxdWlyZWQsIGJvb2wsIEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4
dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpCiAKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR1N0b3BFbGVt
ZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdTdG9wRWxlbWVudC5jcHAJKHJl
dmlzaW9uIDM1MDMzKQorKysgV2ViQ29yZS9zdmcvU1ZHU3RvcEVsZW1lbnQuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC00Miw3ICs0Miw3IEBAIFNWR1N0b3BFbGVtZW50Ojp+U1ZHU3RvcEVsZW1lbnQo
KQogewogfQogCi1BTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdTdG9wRWxlbWVudCwg
ZmxvYXQsIE51bWJlciwgbnVtYmVyLCBPZmZzZXQsIG9mZnNldCwgU1ZHTmFtZXM6Om9mZnNldEF0
dHIsIG1fb2Zmc2V0KQorQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHU3RvcEVsZW1l
bnQsIGZsb2F0LCBPZmZzZXQsIG9mZnNldCwgU1ZHTmFtZXM6Om9mZnNldEF0dHIpCiAKIHZvaWQg
U1ZHU3RvcEVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKE1hcHBlZEF0dHJpYnV0ZSogYXR0
cikKIHsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR1N0b3BFbGVtZW50LmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9zdmcvU1ZHU3RvcEVsZW1lbnQuaAkocmV2aXNpb24gMzUwMzMpCisrKyBXZWJDb3Jl
L3N2Zy9TVkdTdG9wRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC00MCw3ICs0MCw3IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVhbCBSZW5kZXJPYmplY3QqIGNyZWF0ZVJl
bmRlcmVyKFJlbmRlckFyZW5hKiwgUmVuZGVyU3R5bGUqKTsKIAogICAgIHByaXZhdGU6Ci0gICAg
ICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdTdG9wRWxlbWVudCwgZmxvYXQs
IGZsb2F0LCBPZmZzZXQsIG9mZnNldCkKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFS
QVRJT05TKFNWR1N0b3BFbGVtZW50LCBmbG9hdCwgT2Zmc2V0LCBvZmZzZXQpCiAgICAgfTsKIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHU3R5bGVkRWxlbWVu
dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHU3R5bGVkRWxlbWVudC5jcHAJKHJl
dmlzaW9uIDM1MDMzKQorKysgV2ViQ29yZS9zdmcvU1ZHU3R5bGVkRWxlbWVudC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTU0LDcgKzU0LDcgQEAgU1ZHU3R5bGVkRWxlbWVudDo6flNWR1N0eWxlZEVs
ZW1lbnQoKQogICAgIFNWR1Jlc291cmNlOjpyZW1vdmVDbGllbnQodGhpcyk7CiB9CiAKLUFOSU1B
VEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR1N0eWxlZEVsZW1lbnQsIFN0cmluZywgU3RyaW5n
LCBzdHJpbmcsIENsYXNzTmFtZSwgY2xhc3NOYW1lLCBIVE1MTmFtZXM6OmNsYXNzQXR0ciwgbV9j
bGFzc05hbWUpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdTdHlsZWRFbGVtZW50
LCBTdHJpbmcsIENsYXNzTmFtZSwgY2xhc3NOYW1lLCBIVE1MTmFtZXM6OmNsYXNzQXR0cikKIAog
Ym9vbCBTVkdTdHlsZWRFbGVtZW50OjpyZW5kZXJlcklzTmVlZGVkKFJlbmRlclN0eWxlKiBzdHls
ZSkKIHsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR1N0eWxlZEVsZW1lbnQuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL3N2Zy9TVkdTdHlsZWRFbGVtZW50LmgJKHJldmlzaW9uIDM1MDMzKQorKysgV2Vi
Q29yZS9zdmcvU1ZHU3R5bGVkRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC03MSw3ICs3MSw4
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgc3RhdGljIGludCBjc3NQcm9wZXJ0eUlk
Rm9yU1ZHQXR0cmlidXRlTmFtZShjb25zdCBRdWFsaWZpZWROYW1lJik7CiAKICAgICBwcml2YXRl
OgotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHU3R5bGVkRWxlbWVu
dCwgU3RyaW5nLCBTdHJpbmcsIENsYXNzTmFtZSwgY2xhc3NOYW1lKQorICAgICAgICBBTklNQVRF
RF9QUk9QRVJUWV9TVEFSVF9ERUNMQVJBVElPTlMKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlf
REVDTEFSQVRJT05TKFNWR1N0eWxlZEVsZW1lbnQsIFN0cmluZywgQ2xhc3NOYW1lLCBjbGFzc05h
bWUpCiAKICAgICAgICAgdm9pZCB1cGRhdGVFbGVtZW50SW5zdGFuY2UoU1ZHRG9jdW1lbnRFeHRl
bnNpb25zKikgY29uc3Q7CiAgICAgfTsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR1N0eWxlZFRyYW5z
Zm9ybWFibGVFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdTdHlsZWRU
cmFuc2Zvcm1hYmxlRWxlbWVudC5jcHAJKHJldmlzaW9uIDM1MDMzKQorKysgV2ViQ29yZS9zdmcv
U1ZHU3R5bGVkVHJhbnNmb3JtYWJsZUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Niw3
ICs0Niw3IEBAIFNWR1N0eWxlZFRyYW5zZm9ybWFibGVFbGVtZW50Ojp+U1ZHU3R5bGUKIHsKIH0K
IAotQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHU3R5bGVkVHJhbnNmb3JtYWJsZUVs
ZW1lbnQsIFNWR1RyYW5zZm9ybUxpc3QqLCBUcmFuc2Zvcm1MaXN0LCB0cmFuc2Zvcm1MaXN0LCBU
cmFuc2Zvcm0sIHRyYW5zZm9ybSwgU1ZHTmFtZXM6OnRyYW5zZm9ybUF0dHIsIG1fdHJhbnNmb3Jt
LmdldCgpKQorQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlNfUkVGQ09VTlRFRChTVkdTdHls
ZWRUcmFuc2Zvcm1hYmxlRWxlbWVudCwgU1ZHVHJhbnNmb3JtTGlzdCwgVHJhbnNmb3JtLCB0cmFu
c2Zvcm0sIFNWR05hbWVzOjp0cmFuc2Zvcm1BdHRyKQogCiBBZmZpbmVUcmFuc2Zvcm0gU1ZHU3R5
bGVkVHJhbnNmb3JtYWJsZUVsZW1lbnQ6OmdldENUTSgpIGNvbnN0CiB7CkluZGV4OiBXZWJDb3Jl
L3N2Zy9TVkdTdHlsZWRUcmFuc2Zvcm1hYmxlRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvc3ZnL1NWR1N0eWxlZFRyYW5zZm9ybWFibGVFbGVtZW50LmgJKHJldmlzaW9uIDM1MDMzKQor
KysgV2ViQ29yZS9zdmcvU1ZHU3R5bGVkVHJhbnNmb3JtYWJsZUVsZW1lbnQuaAkod29ya2luZyBj
b3B5KQpAQCAtNTksNyArNTksOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1
YWwgUmVuZGVyT2JqZWN0KiBjcmVhdGVSZW5kZXJlcihSZW5kZXJBcmVuYSosIFJlbmRlclN0eWxl
Kik7CiAKICAgICBwcm90ZWN0ZWQ6Ci0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFU
SU9OUyhTVkdTdHlsZWRUcmFuc2Zvcm1hYmxlRWxlbWVudCwgU1ZHVHJhbnNmb3JtTGlzdCosIFJl
ZlB0cjxTVkdUcmFuc2Zvcm1MaXN0PiwgVHJhbnNmb3JtLCB0cmFuc2Zvcm0pCisgICAgICAgIEFO
SU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OU19SRUZDT1VOVEVEKFNWR1N0eWxlZFRyYW5zZm9y
bWFibGVFbGVtZW50LCBTVkdUcmFuc2Zvcm1MaXN0LCBUcmFuc2Zvcm0sIHRyYW5zZm9ybSkKKwog
ICAgIHByaXZhdGU6CiAgICAgICAgIC8vIFVzZWQgYnkgPGFuaW1hdGVNb3Rpb24+CiAgICAgICAg
IE93blB0cjxBZmZpbmVUcmFuc2Zvcm0+IG1fc3VwcGxlbWVudGFsVHJhbnNmb3JtOwpJbmRleDog
V2ViQ29yZS9zdmcvU1ZHU3ltYm9sRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3Zn
L1NWR1N5bWJvbEVsZW1lbnQuaAkocmV2aXNpb24gMzUwMzMpCisrKyBXZWJDb3JlL3N2Zy9TVkdT
eW1ib2xFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTUwLDcgKzUwLDcgQEAgbmFtZXNwYWNl
IFdlYkNvcmUKICAKICAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElP
TlMoU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgYm9vbCwgRXh0ZXJuYWxSZXNvdXJjZXNS
ZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkgICAgICAgCiAgICAgICAgIEFOSU1B
VEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJT05TKFNWR0ZpdFRvVmlld0JveCwgRmxvYXRS
ZWN0LCBWaWV3Qm94LCB2aWV3Qm94KQotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9GT1JXQVJE
X0RFQ0xBUkFUSU9OUyhTVkdGaXRUb1ZpZXdCb3gsIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8qLCBQ
cmVzZXJ2ZUFzcGVjdFJhdGlvLCBwcmVzZXJ2ZUFzcGVjdFJhdGlvKQorICAgICAgICBBTklNQVRF
RF9QUk9QRVJUWV9GT1JXQVJEX0RFQ0xBUkFUSU9OU19SRUZDT1VOVEVEKFNWR0ZpdFRvVmlld0Jv
eCwgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbywgUHJlc2VydmVBc3BlY3RSYXRpbywgcHJlc2VydmVB
c3BlY3RSYXRpbykKICAgICB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBXZWJD
b3JlL3N2Zy9TVkdUZXh0Q29udGVudEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
c3ZnL1NWR1RleHRDb250ZW50RWxlbWVudC5jcHAJKHJldmlzaW9uIDM1MDMzKQorKysgV2ViQ29y
ZS9zdmcvU1ZHVGV4dENvbnRlbnRFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTUsOCAr
NTUsOCBAQCBTVkdUZXh0Q29udGVudEVsZW1lbnQ6On5TVkdUZXh0Q29udGVudEVsCiB7CiB9CiAK
LUFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR1RleHRDb250ZW50RWxlbWVudCwgU1ZH
TGVuZ3RoLCBMZW5ndGgsIGxlbmd0aCwgVGV4dExlbmd0aCwgdGV4dExlbmd0aCwgU1ZHTmFtZXM6
OnRleHRMZW5ndGhBdHRyLCBtX3RleHRMZW5ndGgpCi1BTklNQVRFRF9QUk9QRVJUWV9ERUZJTklU
SU9OUyhTVkdUZXh0Q29udGVudEVsZW1lbnQsIGludCwgRW51bWVyYXRpb24sIGVudW1lcmF0aW9u
LCBMZW5ndGhBZGp1c3QsIGxlbmd0aEFkanVzdCwgU1ZHTmFtZXM6Omxlbmd0aEFkanVzdEF0dHIs
IG1fbGVuZ3RoQWRqdXN0KQorQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHVGV4dENv
bnRlbnRFbGVtZW50LCBTVkdMZW5ndGgsIFRleHRMZW5ndGgsIHRleHRMZW5ndGgsIFNWR05hbWVz
Ojp0ZXh0TGVuZ3RoQXR0cikKK0FOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR1RleHRD
b250ZW50RWxlbWVudCwgaW50LCBMZW5ndGhBZGp1c3QsIGxlbmd0aEFkanVzdCwgU1ZHTmFtZXM6
Omxlbmd0aEFkanVzdEF0dHIpCiAKIHN0YXRpYyBpbmxpbmUgZmxvYXQgY3VtdWxhdGl2ZUNoYXJh
Y3RlclJhbmdlTGVuZ3RoKGNvbnN0IFZlY3RvcjxTVkdDaGFyPjo6aXRlcmF0b3ImIHN0YXJ0LCBj
b25zdCBWZWN0b3I8U1ZHQ2hhcj46Oml0ZXJhdG9yJiBlbmQsIFNWR0lubGluZVRleHRCb3gqIHRl
eHRCb3gsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgc3RhcnRPZmZzZXQsIGxvbmcgc3RhcnRQb3NpdGlvbiwgbG9uZyBsZW5ndGgsIGJvb2wg
aXNWZXJ0aWNhbFRleHQsIGxvbmcmIGF0Q2hhcmFjdGVyKQpJbmRleDogV2ViQ29yZS9zdmcvU1ZH
VGV4dENvbnRlbnRFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHVGV4dENv
bnRlbnRFbGVtZW50LmgJKHJldmlzaW9uIDM1MDMzKQorKysgV2ViQ29yZS9zdmcvU1ZHVGV4dENv
bnRlbnRFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTY2LDggKzY2LDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgIHByaXZhdGU6CiAgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldB
UkRfREVDTEFSQVRJT05TKFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGJvb2wsIEV4dGVy
bmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQpCiAKLSAgICAg
ICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR1RleHRDb250ZW50RWxlbWVudCwg
U1ZHTGVuZ3RoLCBTVkdMZW5ndGgsIFRleHRMZW5ndGgsIHRleHRMZW5ndGgpCi0gICAgICAgIEFO
SU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdUZXh0Q29udGVudEVsZW1lbnQsIGludCwg
aW50LCBMZW5ndGhBZGp1c3QsIGxlbmd0aEFkanVzdCkKKyAgICAgICAgQU5JTUFURURfUFJPUEVS
VFlfREVDTEFSQVRJT05TKFNWR1RleHRDb250ZW50RWxlbWVudCwgU1ZHTGVuZ3RoLCBUZXh0TGVu
Z3RoLCB0ZXh0TGVuZ3RoKQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMo
U1ZHVGV4dENvbnRlbnRFbGVtZW50LCBpbnQsIExlbmd0aEFkanVzdCwgbGVuZ3RoQWRqdXN0KQog
ICAgIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR1Rl
eHRFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdUZXh0RWxlbWVudC5j
cHAJKHJldmlzaW9uIDM1MDMzKQorKysgV2ViQ29yZS9zdmcvU1ZHVGV4dEVsZW1lbnQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC00Niw3ICs0Niw3IEBAIFNWR1RleHRFbGVtZW50Ojp+U1ZHVGV4dEVs
ZW1lbnQoKQogewogfQogCi1BTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdUZXh0RWxl
bWVudCwgU1ZHVHJhbnNmb3JtTGlzdCosIFRyYW5zZm9ybUxpc3QsIHRyYW5zZm9ybUxpc3QsIFRy
YW5zZm9ybSwgdHJhbnNmb3JtLCBTVkdOYW1lczo6dHJhbnNmb3JtQXR0ciwgbV90cmFuc2Zvcm0u
Z2V0KCkpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OU19SRUZDT1VOVEVEKFNWR1RleHRF
bGVtZW50LCBTVkdUcmFuc2Zvcm1MaXN0LCBUcmFuc2Zvcm0sIHRyYW5zZm9ybSwgU1ZHTmFtZXM6
OnRyYW5zZm9ybUF0dHIpCiAKIHZvaWQgU1ZHVGV4dEVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmli
dXRlKE1hcHBlZEF0dHJpYnV0ZSogYXR0cikKIHsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR1RleHRF
bGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHVGV4dEVsZW1lbnQuaAkocmV2
aXNpb24gMzUwMzMpCisrKyBXZWJDb3JlL3N2Zy9TVkdUZXh0RWxlbWVudC5oCSh3b3JraW5nIGNv
cHkpCkBAIC01NSw3ICs1NSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVh
bCBjb25zdCBTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIHRoaXM7
IH0KIAogICAgIHByaXZhdGU6Ci0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9O
UyhTVkdUZXh0RWxlbWVudCwgU1ZHVHJhbnNmb3JtTGlzdCosIFJlZlB0cjxTVkdUcmFuc2Zvcm1M
aXN0PiwgVHJhbnNmb3JtLCB0cmFuc2Zvcm0pCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RF
Q0xBUkFUSU9OU19SRUZDT1VOVEVEKFNWR1RleHRFbGVtZW50LCBTVkdUcmFuc2Zvcm1MaXN0LCBU
cmFuc2Zvcm0sIHRyYW5zZm9ybSkKICAgICAgICAKICAgICAgICAvLyBVc2VkIGJ5IDxhbmltYXRl
TW90aW9uPgogICAgICAgIE93blB0cjxBZmZpbmVUcmFuc2Zvcm0+IG1fc3VwcGxlbWVudGFsVHJh
bnNmb3JtOwpJbmRleDogV2ViQ29yZS9zdmcvU1ZHVGV4dFBhdGhFbGVtZW50LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdUZXh0UGF0aEVsZW1lbnQuY3BwCShyZXZpc2lvbiAzNTAz
MykKKysrIFdlYkNvcmUvc3ZnL1NWR1RleHRQYXRoRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTQ4LDkgKzQ4LDkgQEAgU1ZHVGV4dFBhdGhFbGVtZW50Ojp+U1ZHVGV4dFBhdGhFbGVtZW50
KAogewogfQogCi1BTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdUZXh0UGF0aEVsZW1l
bnQsIFNWR0xlbmd0aCwgTGVuZ3RoLCBsZW5ndGgsIFN0YXJ0T2Zmc2V0LCBzdGFydE9mZnNldCwg
U1ZHTmFtZXM6OnN0YXJ0T2Zmc2V0QXR0ciwgbV9zdGFydE9mZnNldCkKLUFOSU1BVEVEX1BST1BF
UlRZX0RFRklOSVRJT05TKFNWR1RleHRQYXRoRWxlbWVudCwgaW50LCBFbnVtZXJhdGlvbiwgZW51
bWVyYXRpb24sIE1ldGhvZCwgbWV0aG9kLCBTVkdOYW1lczo6bWV0aG9kQXR0ciwgbV9tZXRob2Qp
Ci1BTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdUZXh0UGF0aEVsZW1lbnQsIGludCwg
RW51bWVyYXRpb24sIGVudW1lcmF0aW9uLCBTcGFjaW5nLCBzcGFjaW5nLCBTVkdOYW1lczo6c3Bh
Y2luZ0F0dHIsIG1fc3BhY2luZykKK0FOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR1Rl
eHRQYXRoRWxlbWVudCwgU1ZHTGVuZ3RoLCBTdGFydE9mZnNldCwgc3RhcnRPZmZzZXQsIFNWR05h
bWVzOjpzdGFydE9mZnNldEF0dHIpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdU
ZXh0UGF0aEVsZW1lbnQsIGludCwgTWV0aG9kLCBtZXRob2QsIFNWR05hbWVzOjptZXRob2RBdHRy
KQorQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHVGV4dFBhdGhFbGVtZW50LCBpbnQs
IFNwYWNpbmcsIHNwYWNpbmcsIFNWR05hbWVzOjpzcGFjaW5nQXR0cikKIAogdm9pZCBTVkdUZXh0
UGF0aEVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKE1hcHBlZEF0dHJpYnV0ZSogYXR0cikK
IHsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR1RleHRQYXRoRWxlbWVudC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvc3ZnL1NWR1RleHRQYXRoRWxlbWVudC5oCShyZXZpc2lvbiAzNTAzMykKKysrIFdl
YkNvcmUvc3ZnL1NWR1RleHRQYXRoRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC03Miw5ICs3
Miw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlCiAgICAgcHJpdmF0ZToKICAgICAgICAgQU5JTUFURURf
UFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHVVJJUmVmZXJlbmNlLCBTdHJpbmcsIEhy
ZWYsIGhyZWYpCiAKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR1Rl
eHRQYXRoRWxlbWVudCwgU1ZHTGVuZ3RoLCBTVkdMZW5ndGgsIFN0YXJ0T2Zmc2V0LCBzdGFydE9m
ZnNldCkKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR1RleHRQYXRo
RWxlbWVudCwgaW50LCBpbnQsIE1ldGhvZCwgbWV0aG9kKQotICAgICAgICBBTklNQVRFRF9QUk9Q
RVJUWV9ERUNMQVJBVElPTlMoU1ZHVGV4dFBhdGhFbGVtZW50LCBpbnQsIGludCwgU3BhY2luZywg
c3BhY2luZykKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR1RleHRQ
YXRoRWxlbWVudCwgU1ZHTGVuZ3RoLCBTdGFydE9mZnNldCwgc3RhcnRPZmZzZXQpCisgICAgICAg
IEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdUZXh0UGF0aEVsZW1lbnQsIGludCwg
TWV0aG9kLCBtZXRob2QpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhT
VkdUZXh0UGF0aEVsZW1lbnQsIGludCwgU3BhY2luZywgc3BhY2luZykKICAgICB9OwogCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdUZXh0UG9zaXRpb25pbmdF
bGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdUZXh0UG9zaXRpb25pbmdF
bGVtZW50LmNwcAkocmV2aXNpb24gMzUwMzMpCisrKyBXZWJDb3JlL3N2Zy9TVkdUZXh0UG9zaXRp
b25pbmdFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDUsMTEgKzQ1LDExIEBAIFNWR1Rl
eHRQb3NpdGlvbmluZ0VsZW1lbnQ6On5TVkdUZXh0UG9zaXQKIHsKIH0KIAotQU5JTUFURURfUFJP
UEVSVFlfREVGSU5JVElPTlMoU1ZHVGV4dFBvc2l0aW9uaW5nRWxlbWVudCwgU1ZHTGVuZ3RoTGlz
dCosIExlbmd0aExpc3QsIGxlbmd0aExpc3QsIFgsIHgsIFNWR05hbWVzOjp4QXR0ciwgbV94Lmdl
dCgpKQotQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHVGV4dFBvc2l0aW9uaW5nRWxl
bWVudCwgU1ZHTGVuZ3RoTGlzdCosIExlbmd0aExpc3QsIGxlbmd0aExpc3QsIFksIHksIFNWR05h
bWVzOjp5QXR0ciwgbV95LmdldCgpKQotQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZH
VGV4dFBvc2l0aW9uaW5nRWxlbWVudCwgU1ZHTGVuZ3RoTGlzdCosIExlbmd0aExpc3QsIGxlbmd0
aExpc3QsIER4LCBkeCwgU1ZHTmFtZXM6OmR4QXR0ciwgbV9keC5nZXQoKSkKLUFOSU1BVEVEX1BS
T1BFUlRZX0RFRklOSVRJT05TKFNWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQsIFNWR0xlbmd0aExp
c3QqLCBMZW5ndGhMaXN0LCBsZW5ndGhMaXN0LCBEeSwgZHksIFNWR05hbWVzOjpkeUF0dHIsIG1f
ZHkuZ2V0KCkpCi1BTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdUZXh0UG9zaXRpb25p
bmdFbGVtZW50LCBTVkdOdW1iZXJMaXN0KiwgTnVtYmVyTGlzdCwgbnVtYmVyTGlzdCwgUm90YXRl
LCByb3RhdGUsIFNWR05hbWVzOjpyb3RhdGVBdHRyLCBtX3JvdGF0ZS5nZXQoKSkKK0FOSU1BVEVE
X1BST1BFUlRZX0RFRklOSVRJT05TX1JFRkNPVU5URUQoU1ZHVGV4dFBvc2l0aW9uaW5nRWxlbWVu
dCwgU1ZHTGVuZ3RoTGlzdCwgWCwgeCwgU1ZHTmFtZXM6OnhBdHRyKQorQU5JTUFURURfUFJPUEVS
VFlfREVGSU5JVElPTlNfUkVGQ09VTlRFRChTVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50LCBTVkdM
ZW5ndGhMaXN0LCBZLCB5LCBTVkdOYW1lczo6eUF0dHIpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJ
TklUSU9OU19SRUZDT1VOVEVEKFNWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQsIFNWR0xlbmd0aExp
c3QsIER4LCBkeCwgU1ZHTmFtZXM6OmR4QXR0cikKK0FOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJ
T05TX1JFRkNPVU5URUQoU1ZHVGV4dFBvc2l0aW9uaW5nRWxlbWVudCwgU1ZHTGVuZ3RoTGlzdCwg
RHksIGR5LCBTVkdOYW1lczo6ZHlBdHRyKQorQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlNf
UkVGQ09VTlRFRChTVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50LCBTVkdOdW1iZXJMaXN0LCBSb3Rh
dGUsIHJvdGF0ZSwgU1ZHTmFtZXM6OnJvdGF0ZUF0dHIpCiAKIHZvaWQgU1ZHVGV4dFBvc2l0aW9u
aW5nRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoTWFwcGVkQXR0cmlidXRlKiBhdHRyKQog
ewpJbmRleDogV2ViQ29yZS9zdmcvU1ZHVGV4dFBvc2l0aW9uaW5nRWxlbWVudC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQuaAkocmV2aXNpb24g
MzUwMzMpCisrKyBXZWJDb3JlL3N2Zy9TVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50LmgJKHdvcmtp
bmcgY29weSkKQEAgLTQxLDExICs0MSwxMSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAg
IGJvb2wgaXNLbm93bkF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJik7CiAKICAgICBwcml2
YXRlOgotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHVGV4dFBvc2l0
aW9uaW5nRWxlbWVudCwgU1ZHTGVuZ3RoTGlzdCosIFJlZlB0cjxTVkdMZW5ndGhMaXN0PiwgWCwg
eCkKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR1RleHRQb3NpdGlv
bmluZ0VsZW1lbnQsIFNWR0xlbmd0aExpc3QqLCBSZWZQdHI8U1ZHTGVuZ3RoTGlzdD4sIFksIHkp
Ci0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdUZXh0UG9zaXRpb25p
bmdFbGVtZW50LCBTVkdMZW5ndGhMaXN0KiwgUmVmUHRyPFNWR0xlbmd0aExpc3Q+LCBEeCwgZHgp
Ci0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdUZXh0UG9zaXRpb25p
bmdFbGVtZW50LCBTVkdMZW5ndGhMaXN0KiwgUmVmUHRyPFNWR0xlbmd0aExpc3Q+LCBEeSwgZHkp
Ci0gICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdUZXh0UG9zaXRpb25p
bmdFbGVtZW50LCBTVkdOdW1iZXJMaXN0KiwgUmVmUHRyPFNWR051bWJlckxpc3Q+LCBSb3RhdGUs
IHJvdGF0ZSkKKyAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TX1JFRkNPVU5U
RUQoU1ZHVGV4dFBvc2l0aW9uaW5nRWxlbWVudCwgU1ZHTGVuZ3RoTGlzdCwgWCwgeCkKKyAgICAg
ICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TX1JFRkNPVU5URUQoU1ZHVGV4dFBvc2l0
aW9uaW5nRWxlbWVudCwgU1ZHTGVuZ3RoTGlzdCwgWSwgeSkKKyAgICAgICAgQU5JTUFURURfUFJP
UEVSVFlfREVDTEFSQVRJT05TX1JFRkNPVU5URUQoU1ZHVGV4dFBvc2l0aW9uaW5nRWxlbWVudCwg
U1ZHTGVuZ3RoTGlzdCwgRHgsIGR4KQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJB
VElPTlNfUkVGQ09VTlRFRChTVkdUZXh0UG9zaXRpb25pbmdFbGVtZW50LCBTVkdMZW5ndGhMaXN0
LCBEeSwgZHkpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OU19SRUZDT1VO
VEVEKFNWR1RleHRQb3NpdGlvbmluZ0VsZW1lbnQsIFNWR051bWJlckxpc3QsIFJvdGF0ZSwgcm90
YXRlKQogICAgIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFdlYkNvcmUvc3Zn
L1NWR1VSSVJlZmVyZW5jZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHVVJJUmVm
ZXJlbmNlLmNwcAkocmV2aXNpb24gMzUwMzMpCisrKyBXZWJDb3JlL3N2Zy9TVkdVUklSZWZlcmVu
Y2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNyw3ICszNyw3IEBAIFNWR1VSSVJlZmVyZW5jZTo6
flNWR1VSSVJlZmVyZW5jZSgpCiB7CiB9CiAKLUFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05T
X1dJVEhfQ09OVEVYVChTVkdVUklSZWZlcmVuY2UsIFN0cmluZywgU3RyaW5nLCBzdHJpbmcsIEhy
ZWYsIGhyZWYsIFhMaW5rTmFtZXM6OmhyZWZBdHRyLCBtX2hyZWYpCitBTklNQVRFRF9QUk9QRVJU
WV9ERUZJTklUSU9OU19XSVRIX0NPTlRFWFQoU1ZHVVJJUmVmZXJlbmNlLCBTdHJpbmcsIEhyZWYs
IGhyZWYsIFhMaW5rTmFtZXM6OmhyZWZBdHRyKQogCiBib29sIFNWR1VSSVJlZmVyZW5jZTo6cGFy
c2VNYXBwZWRBdHRyaWJ1dGUoTWFwcGVkQXR0cmlidXRlKiBhdHRyKQogewpJbmRleDogV2ViQ29y
ZS9zdmcvU1ZHVVJJUmVmZXJlbmNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHVVJJ
UmVmZXJlbmNlLmgJKHJldmlzaW9uIDM1MDMzKQorKysgV2ViQ29yZS9zdmcvU1ZHVVJJUmVmZXJl
bmNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ0LDcgKzQ0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgICAgICB2aXJ0dWFsIGNvbnN0IFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgY29u
c3QgPSAwOwogCiAgICAgcHJpdmF0ZToKLSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFS
QVRJT05TX1dJVEhfQ09OVEVYVChTVkdVUklSZWZlcmVuY2UsIFN0cmluZywgU3RyaW5nLCBIcmVm
LCBocmVmKQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlNfV0lUSF9DT05U
RVhUKFNWR1VSSVJlZmVyZW5jZSwgU3RyaW5nLCBIcmVmLCBocmVmKQogICAgIH07CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR1VzZUVsZW1lbnQuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR1VzZUVsZW1lbnQuY3BwCShyZXZpc2lvbiAzNTAz
MykKKysrIFdlYkNvcmUvc3ZnL1NWR1VzZUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02
OSwxMCArNjksMTAgQEAgU1ZHVXNlRWxlbWVudDo6flNWR1VzZUVsZW1lbnQoKQogewogfQogCi1B
TklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdVc2VFbGVtZW50LCBTVkdMZW5ndGgsIExl
bmd0aCwgbGVuZ3RoLCBYLCB4LCBTVkdOYW1lczo6eEF0dHIsIG1feCkKLUFOSU1BVEVEX1BST1BF
UlRZX0RFRklOSVRJT05TKFNWR1VzZUVsZW1lbnQsIFNWR0xlbmd0aCwgTGVuZ3RoLCBsZW5ndGgs
IFksIHksIFNWR05hbWVzOjp5QXR0ciwgbV95KQotQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElP
TlMoU1ZHVXNlRWxlbWVudCwgU1ZHTGVuZ3RoLCBMZW5ndGgsIGxlbmd0aCwgV2lkdGgsIHdpZHRo
LCBTVkdOYW1lczo6d2lkdGhBdHRyLCBtX3dpZHRoKQotQU5JTUFURURfUFJPUEVSVFlfREVGSU5J
VElPTlMoU1ZHVXNlRWxlbWVudCwgU1ZHTGVuZ3RoLCBMZW5ndGgsIGxlbmd0aCwgSGVpZ2h0LCBo
ZWlnaHQsIFNWR05hbWVzOjpoZWlnaHRBdHRyLCBtX2hlaWdodCkKK0FOSU1BVEVEX1BST1BFUlRZ
X0RFRklOSVRJT05TKFNWR1VzZUVsZW1lbnQsIFNWR0xlbmd0aCwgWCwgeCwgU1ZHTmFtZXM6OnhB
dHRyKQorQU5JTUFURURfUFJPUEVSVFlfREVGSU5JVElPTlMoU1ZHVXNlRWxlbWVudCwgU1ZHTGVu
Z3RoLCBZLCB5LCBTVkdOYW1lczo6eUF0dHIpCitBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9O
UyhTVkdVc2VFbGVtZW50LCBTVkdMZW5ndGgsIFdpZHRoLCB3aWR0aCwgU1ZHTmFtZXM6OndpZHRo
QXR0cikKK0FOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR1VzZUVsZW1lbnQsIFNWR0xl
bmd0aCwgSGVpZ2h0LCBoZWlnaHQsIFNWR05hbWVzOjpoZWlnaHRBdHRyKQogCiBTVkdFbGVtZW50
SW5zdGFuY2UqIFNWR1VzZUVsZW1lbnQ6Omluc3RhbmNlUm9vdCgpIGNvbnN0CiB7CkluZGV4OiBX
ZWJDb3JlL3N2Zy9TVkdVc2VFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZH
VXNlRWxlbWVudC5oCShyZXZpc2lvbiAzNTAzMykKKysrIFdlYkNvcmUvc3ZnL1NWR1VzZUVsZW1l
bnQuaAkod29ya2luZyBjb3B5KQpAQCAtNzQsMTAgKzc0LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHRXh0
ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgYm9vbCwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwg
ZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkKICAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfRk9S
V0FSRF9ERUNMQVJBVElPTlMoU1ZHVVJJUmVmZXJlbmNlLCBTdHJpbmcsIEhyZWYsIGhyZWYpCiAK
LSAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfREVDTEFSQVRJT05TKFNWR1VzZUVsZW1lbnQsIFNW
R0xlbmd0aCwgU1ZHTGVuZ3RoLCBYLCB4KQotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNM
QVJBVElPTlMoU1ZHVXNlRWxlbWVudCwgU1ZHTGVuZ3RoLCBTVkdMZW5ndGgsIFksIHkpCi0gICAg
ICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdVc2VFbGVtZW50LCBTVkdMZW5n
dGgsIFNWR0xlbmd0aCwgV2lkdGgsIHdpZHRoKQotICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9E
RUNMQVJBVElPTlMoU1ZHVXNlRWxlbWVudCwgU1ZHTGVuZ3RoLCBTVkdMZW5ndGgsIEhlaWdodCwg
aGVpZ2h0KQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHVXNlRWxl
bWVudCwgU1ZHTGVuZ3RoLCBYLCB4KQorICAgICAgICBBTklNQVRFRF9QUk9QRVJUWV9ERUNMQVJB
VElPTlMoU1ZHVXNlRWxlbWVudCwgU1ZHTGVuZ3RoLCBZLCB5KQorICAgICAgICBBTklNQVRFRF9Q
Uk9QRVJUWV9ERUNMQVJBVElPTlMoU1ZHVXNlRWxlbWVudCwgU1ZHTGVuZ3RoLCBXaWR0aCwgd2lk
dGgpCisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0RFQ0xBUkFUSU9OUyhTVkdVc2VFbGVtZW50
LCBTVkdMZW5ndGgsIEhlaWdodCwgaGVpZ2h0KQogCiAgICAgcHJpdmF0ZToKICAgICAgICAgZnJp
ZW5kIGNsYXNzIFNWR0VsZW1lbnQ7CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdWaWV3RWxlbWVudC5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR1ZpZXdFbGVtZW50LmgJKHJldmlzaW9uIDM1
MDMzKQorKysgV2ViQ29yZS9zdmcvU1ZHVmlld0VsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAt
NTQsNyArNTQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgQU5JTUFURURfUFJP
UEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwg
Ym9vbCwgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJl
ZCkKICAgICAgICAgQU5JTUFURURfUFJPUEVSVFlfRk9SV0FSRF9ERUNMQVJBVElPTlMoU1ZHRml0
VG9WaWV3Qm94LCBGbG9hdFJlY3QsIFZpZXdCb3gsIHZpZXdCb3gpCi0gICAgICAgIEFOSU1BVEVE
X1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJT05TKFNWR0ZpdFRvVmlld0JveCwgU1ZHUHJlc2Vy
dmVBc3BlY3RSYXRpbyosIFByZXNlcnZlQXNwZWN0UmF0aW8sIHByZXNlcnZlQXNwZWN0UmF0aW8p
CisgICAgICAgIEFOSU1BVEVEX1BST1BFUlRZX0ZPUldBUkRfREVDTEFSQVRJT05TX1JFRkNPVU5U
RUQoU1ZHRml0VG9WaWV3Qm94LCBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLCBQcmVzZXJ2ZUFzcGVj
dFJhdGlvLCBwcmVzZXJ2ZUFzcGVjdFJhdGlvKQogICAgIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKSW5kZXg6IFdlYkNvcmUvc3ZnL1N5bmNocm9uaXphYmxlVHlwZVdyYXBwZXIuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TeW5jaHJvbml6YWJsZVR5cGVXcmFwcGVyLmgJKHJldmlz
aW9uIDApCisrKyBXZWJDb3JlL3N2Zy9TeW5jaHJvbml6YWJsZVR5cGVXcmFwcGVyLmgJKHJldmlz
aW9uIDApCkBAIC0wLDAgKzEsMTgxIEBACisvKgorICAgIENvcHlyaWdodCAoQykgMjAwOCBOaWtv
bGFzIFppbW1lcm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KKworICAgIFRoaXMgbGlicmFyeSBp
cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAgICBtb2Rp
ZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwor
ICAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247
IGVpdGhlcgorICAgIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9u
KSBhbnkgbGF0ZXIgdmVyc2lvbi4KKworICAgIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBp
biB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICAgIGJ1dCBXSVRIT1VUIEFOWSBX
QVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgICAgTUVSQ0hB
TlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBH
TlUKKyAgICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4K
KworICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5
IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAgICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2Vl
IHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICAgIHRoZSBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3Is
CisgICAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisqLworCisjaWZuZGVmIFN5bmNocm9u
aXphYmxlVHlwZVdyYXBwZXJfaAorI2RlZmluZSBTeW5jaHJvbml6YWJsZVR5cGVXcmFwcGVyX2gK
KworI2lmIEVOQUJMRShTVkcpCisjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CisKK25hbWVz
cGFjZSBXZWJDb3JlIHsKKworICAgIHRlbXBsYXRlPHR5cGVuYW1lIFN0b3JlZFR5cGU+CisgICAg
Y2xhc3MgU3luY2hyb25pemFibGVUeXBlV3JhcHBlckJhc2UgOiBOb25jb3B5YWJsZSB7CisgICAg
cHJvdGVjdGVkOgorICAgICAgICBTeW5jaHJvbml6YWJsZVR5cGVXcmFwcGVyQmFzZSgpOworCisg
ICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIEFzc2lnbmFibGVUeXBlPgorICAgICAgICB2b2lkIGFz
c2lnbihBc3NpZ25hYmxlVHlwZSB0eXBlKTsKKworICAgICAgICBib29sIG5lZWRzU3luY2hyb25p
emF0aW9uKCkgY29uc3Q7CisgICAgICAgIHZvaWQgc2V0U3luY2hyb25pemVkKCk7CisKKyAgICBw
cm90ZWN0ZWQ6CisgICAgICAgIFN0b3JlZFR5cGUgbV92YWx1ZTsKKyAgICAgICAgYm9vbCBtX25l
ZWRzU3luY2hyb25pemF0aW9uOworICAgIH07CisKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBTdG9y
ZWRUeXBlPgorICAgIGNsYXNzIFN5bmNocm9uaXphYmxlVHlwZVdyYXBwZXIgOiBwcml2YXRlIFN5
bmNocm9uaXphYmxlVHlwZVdyYXBwZXJCYXNlPFN0b3JlZFR5cGU+IHsKKyAgICBwdWJsaWM6Cisg
ICAgICAgIHR5cGVkZWYgU3luY2hyb25pemFibGVUeXBlV3JhcHBlckJhc2U8U3RvcmVkVHlwZT4g
QmFzZTsKKyAgICAgICAgU3luY2hyb25pemFibGVUeXBlV3JhcHBlcigpOworIAorICAgICAgICAv
LyAiRm9yd2FyZGluZyBjb25zdHJ1Y3RvcnMiIGZvciBwcmltaXRpdmUgdHlwZSBhc3NpZ25tZW50
IHdpdGggbW9yZSB0aGFuIG9uZSBhcmd1bWVudCwgZm9yIGV4YW1wZSBTVkdMZW5ndGg6CisgICAg
ICAgIC8vIFVzZSBtX3N5bmNXcmFwcGVyKGNvbnRleHQsIExlbmd0aE1vZGUsIC4uKSBpbnN0ZWFk
IG9mIG1fc3luY1dyYXBwZXIoU1ZHTGVuZ3RoKGNvbnRleHQsIExlbmd0aE1vZGUsIC4uKSkpCisg
ICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQxPiBTeW5jaHJvbml6YWJsZVR5cGVXcmFwcGVyKGNv
bnN0IFQxJik7CisgICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMj4gU3lu
Y2hyb25pemFibGVUeXBlV3JhcHBlcihjb25zdCBUMSYsIGNvbnN0IFQyJik7CisgICAgICAgIHRl
bXBsYXRlPHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDM+IFN5bmNocm9uaXph
YmxlVHlwZVdyYXBwZXIoY29uc3QgVDEmLCBjb25zdCBUMiYsIGNvbnN0IFQzJik7CisKKyAgICAg
ICAgU3luY2hyb25pemFibGVUeXBlV3JhcHBlciYgb3BlcmF0b3I9KGNvbnN0IFN0b3JlZFR5cGUm
KTsKKyAgICAgICAgb3BlcmF0b3IgU3RvcmVkVHlwZSgpIGNvbnN0OworCisgICAgICAgIHVzaW5n
IEJhc2U6Om5lZWRzU3luY2hyb25pemF0aW9uOworICAgICAgICB1c2luZyBCYXNlOjpzZXRTeW5j
aHJvbml6ZWQ7CisKKyAgICBwcml2YXRlOgorICAgICAgICB1c2luZyBCYXNlOjptX3ZhbHVlOwor
ICAgIH07CisKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBTdG9yZWRQb2ludGVyVHlwZT4KKyAgICBj
bGFzcyBTeW5jaHJvbml6YWJsZVR5cGVXcmFwcGVyPFJlZlB0cjxTdG9yZWRQb2ludGVyVHlwZT4g
PiA6IHByaXZhdGUgU3luY2hyb25pemFibGVUeXBlV3JhcHBlckJhc2U8UmVmUHRyPFN0b3JlZFBv
aW50ZXJUeXBlPiA+IHsKKyAgICBwdWJsaWM6CisgICAgICAgIHR5cGVkZWYgU3luY2hyb25pemFi
bGVUeXBlV3JhcHBlckJhc2U8UmVmUHRyPFN0b3JlZFBvaW50ZXJUeXBlPiA+IEJhc2U7CisgICAg
ICAgIFN5bmNocm9uaXphYmxlVHlwZVdyYXBwZXIoKTsKKyAgICAgICAgU3luY2hyb25pemFibGVU
eXBlV3JhcHBlcihjb25zdCBQYXNzUmVmUHRyPFN0b3JlZFBvaW50ZXJUeXBlPiYpOworCisgICAg
ICAgIFN5bmNocm9uaXphYmxlVHlwZVdyYXBwZXImIG9wZXJhdG9yPShTdG9yZWRQb2ludGVyVHlw
ZSopOworICAgICAgICBvcGVyYXRvciBTdG9yZWRQb2ludGVyVHlwZSooKSBjb25zdDsKKworICAg
ICAgICB1c2luZyBCYXNlOjpuZWVkc1N5bmNocm9uaXphdGlvbjsKKyAgICAgICAgdXNpbmcgQmFz
ZTo6c2V0U3luY2hyb25pemVkOworCisgICAgcHJpdmF0ZToKKyAgICAgICAgdXNpbmcgQmFzZTo6
bV92YWx1ZTsKKyAgICB9OworCisgICAgLy8gU3luY2hyb25pemFibGVUeXBlV3JhcHBlckJhc2Ug
aW1wbGVtZW50YXRpb24KKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBTdG9yZWRUeXBlPgorICAgIGlu
bGluZSBTeW5jaHJvbml6YWJsZVR5cGVXcmFwcGVyQmFzZTxTdG9yZWRUeXBlPjo6U3luY2hyb25p
emFibGVUeXBlV3JhcHBlckJhc2UoKQorICAgICAgICA6IG1fdmFsdWUoKQorICAgICAgICAsIG1f
bmVlZHNTeW5jaHJvbml6YXRpb24oZmFsc2UpCisgICAgeworICAgIH0KKworICAgIHRlbXBsYXRl
PHR5cGVuYW1lIFN0b3JlZFR5cGU+IHRlbXBsYXRlPHR5cGVuYW1lIEFzc2lnbmFibGVUeXBlPgor
ICAgIGlubGluZSB2b2lkIFN5bmNocm9uaXphYmxlVHlwZVdyYXBwZXJCYXNlPFN0b3JlZFR5cGU+
Ojphc3NpZ24oQXNzaWduYWJsZVR5cGUgdHlwZSkKKyAgICB7CisgICAgICAgIG1fdmFsdWUgPSB0
eXBlOworICAgICAgICBtX25lZWRzU3luY2hyb25pemF0aW9uID0gdHJ1ZTsKKyAgICB9CisKKyAg
ICB0ZW1wbGF0ZTx0eXBlbmFtZSBTdG9yZWRUeXBlPgorICAgIGlubGluZSBib29sIFN5bmNocm9u
aXphYmxlVHlwZVdyYXBwZXJCYXNlPFN0b3JlZFR5cGU+OjpuZWVkc1N5bmNocm9uaXphdGlvbigp
IGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gbV9uZWVkc1N5bmNocm9uaXphdGlvbjsKKyAg
ICB9CisKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBTdG9yZWRUeXBlPgorICAgIGlubGluZSB2b2lk
IFN5bmNocm9uaXphYmxlVHlwZVdyYXBwZXJCYXNlPFN0b3JlZFR5cGU+OjpzZXRTeW5jaHJvbml6
ZWQoKQorICAgIHsKKyAgICAgICAgbV9uZWVkc1N5bmNocm9uaXphdGlvbiA9IGZhbHNlOworICAg
IH0KKworICAgIC8vIFN5bmNocm9uaXphYmxlVHlwZVdyYXBwZXIgaW1wbGVtZW50YXRpb24gZm9y
IHByaW1pdGl2ZSB0eXBlcworICAgIHRlbXBsYXRlPHR5cGVuYW1lIFN0b3JlZFR5cGU+CisgICAg
aW5saW5lIFN5bmNocm9uaXphYmxlVHlwZVdyYXBwZXI8U3RvcmVkVHlwZT46OlN5bmNocm9uaXph
YmxlVHlwZVdyYXBwZXIoKQorICAgICAgICA6IEJhc2UoKQorICAgIHsKKyAgICB9CisKKyAgICB0
ZW1wbGF0ZTx0eXBlbmFtZSBTdG9yZWRUeXBlPiB0ZW1wbGF0ZTx0eXBlbmFtZSBUMT4KKyAgICBp
bmxpbmUgU3luY2hyb25pemFibGVUeXBlV3JhcHBlcjxTdG9yZWRUeXBlPjo6U3luY2hyb25pemFi
bGVUeXBlV3JhcHBlcihjb25zdCBUMSYgYXJnMSkKKyAgICAgICAgOiBCYXNlKCkKKyAgICB7Cisg
ICAgICAgIG1fdmFsdWUgPSBTdG9yZWRUeXBlKGFyZzEpOworICAgIH0KKworICAgIHRlbXBsYXRl
PHR5cGVuYW1lIFN0b3JlZFR5cGU+IHRlbXBsYXRlPHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMj4K
KyAgICBpbmxpbmUgU3luY2hyb25pemFibGVUeXBlV3JhcHBlcjxTdG9yZWRUeXBlPjo6U3luY2hy
b25pemFibGVUeXBlV3JhcHBlcihjb25zdCBUMSYgYXJnMSwgY29uc3QgVDImIGFyZzIpCisgICAg
ICAgIDogQmFzZSgpCisgICAgeworICAgICAgICBtX3ZhbHVlID0gU3RvcmVkVHlwZShhcmcxLCBh
cmcyKTsKKyAgICB9CisKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBTdG9yZWRUeXBlPiB0ZW1wbGF0
ZTx0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDIsIHR5cGVuYW1lIFQzPgorICAgIGlubGluZSBTeW5j
aHJvbml6YWJsZVR5cGVXcmFwcGVyPFN0b3JlZFR5cGU+OjpTeW5jaHJvbml6YWJsZVR5cGVXcmFw
cGVyKGNvbnN0IFQxJiBhcmcxLCBjb25zdCBUMiYgYXJnMiwgY29uc3QgVDMmIGFyZzMpCisgICAg
ICAgIDogQmFzZSgpCisgICAgeworICAgICAgICBtX3ZhbHVlID0gU3RvcmVkVHlwZShhcmcxLCBh
cmcyLCBhcmczKTsKKyAgICB9CisKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBTdG9yZWRUeXBlPgor
ICAgIGlubGluZSBTeW5jaHJvbml6YWJsZVR5cGVXcmFwcGVyPFN0b3JlZFR5cGU+JiBTeW5jaHJv
bml6YWJsZVR5cGVXcmFwcGVyPFN0b3JlZFR5cGU+OjpvcGVyYXRvcj0oY29uc3QgU3RvcmVkVHlw
ZSYgb3RoZXIpCisgICAgeworICAgICAgICBCYXNlOjphc3NpZ24ob3RoZXIpOworICAgICAgICBy
ZXR1cm4gKCp0aGlzKTsKKyAgICB9CisKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBTdG9yZWRUeXBl
PgorICAgIGlubGluZSBTeW5jaHJvbml6YWJsZVR5cGVXcmFwcGVyPFN0b3JlZFR5cGU+OjpvcGVy
YXRvciBTdG9yZWRUeXBlKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBtX3ZhbHVlOwor
ICAgIH0KKworICAgIC8vIFN5bmNocm9uaXphYmxlVHlwZVdyYXBwZXIgaW1wbGVtZW50YXRpb24g
Zm9yIHJlZmNvdW50ZWQgdHlwZXMKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBTdG9yZWRQb2ludGVy
VHlwZT4KKyAgICBpbmxpbmUgU3luY2hyb25pemFibGVUeXBlV3JhcHBlcjxSZWZQdHI8U3RvcmVk
UG9pbnRlclR5cGU+ID46OlN5bmNocm9uaXphYmxlVHlwZVdyYXBwZXIoKQorICAgICAgICA6IEJh
c2UoKQorICAgIHsKKyAgICB9CisKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBTdG9yZWRQb2ludGVy
VHlwZT4KKyAgICBpbmxpbmUgU3luY2hyb25pemFibGVUeXBlV3JhcHBlcjxSZWZQdHI8U3RvcmVk
UG9pbnRlclR5cGU+ID46OlN5bmNocm9uaXphYmxlVHlwZVdyYXBwZXIoY29uc3QgUGFzc1JlZlB0
cjxTdG9yZWRQb2ludGVyVHlwZT4mIHR5cGUpCisgICAgICAgIDogQmFzZSgpCisgICAgeworICAg
IAltX3ZhbHVlID0gdHlwZTsKKyAgICB9CisKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBTdG9yZWRQ
b2ludGVyVHlwZT4KKyAgICBpbmxpbmUgU3luY2hyb25pemFibGVUeXBlV3JhcHBlcjxSZWZQdHI8
U3RvcmVkUG9pbnRlclR5cGU+ID4mIFN5bmNocm9uaXphYmxlVHlwZVdyYXBwZXI8UmVmUHRyPFN0
b3JlZFBvaW50ZXJUeXBlPiA+OjpvcGVyYXRvcj0oU3RvcmVkUG9pbnRlclR5cGUqIG90aGVyKQor
ICAgIHsKKyAgICAgICAgQmFzZTo6YXNzaWduKG90aGVyKTsKKyAgICAgICAgcmV0dXJuICgqdGhp
cyk7CisgICAgfQorCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgU3RvcmVkUG9pbnRlclR5cGU+Cisg
ICAgaW5saW5lIFN5bmNocm9uaXphYmxlVHlwZVdyYXBwZXI8UmVmUHRyPFN0b3JlZFBvaW50ZXJU
eXBlPiA+OjpvcGVyYXRvciBTdG9yZWRQb2ludGVyVHlwZSooKSBjb25zdAorICAgIHsKKyAgICAg
ICAgcmV0dXJuIG1fdmFsdWUuZ2V0KCk7CisgICAgfQorCit9OworCisjZW5kaWYKKyNlbmRpZgpJ
bmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0No
YW5nZUxvZwkocmV2aXNpb24gMzUwMzQpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtp
bmcgY29weSkKQEAgLTEsMyArMSwyNiBAQAorMjAwOC0wNy0wNyAgTmlrb2xhcyBaaW1tZXJtYW5u
ICA8emltbWVybWFubkBrZGUub3JnPgorCisgICAgICAgIEZpeGVzOiBodHRwOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzc3OSAoU1ZHIDEuMSBFcnJhdGEgZGVtYW5kcyAiU1ZH
IEphdmFTY3JpcHQgTGl2ZW5lc3MiIHN1cHBvcnQpCisKKyAgICAgICAgUmV2aXNlZCB2ZXJzaW9u
IG9mIHRoZSBwYXRjaCwgbm90IHVzaW5nIHBvaW50ZXItdG8tbWVtYmVyIGZ1bmN0aW9uIGNhbGxi
YWNrcyBhbnltb3JlIC0gYWZ0ZXIgZGlzY3Vzc2lvbiB3aXRoIEFkYW0gUm9iZW4uCisKKyAgICAg
ICAgQWRkIG5ldyBsYXlvdXQgdGVzdCBjb3ZlcmluZyBTVkcgPC0+IFhNTCBzeW5jaHJvbmljYXRp
b24gKHN2Zy9jdXN0b20vc3ZnLXhtbC1kb20tc3luYy5odG1sKS4KKyAgICAgICAgUmVuYW1lIG9u
ZSBoaXhpZSB0ZXN0IHRoYXQgZ290IGZpeGVkOiAwMDUtYnJva2VuLnhtbCAtPiAwMDUueG1sCisK
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtbGVvcGFyZC9zdmcvY3VzdG9tL3N2Zy14bWwtZG9tLXN5
bmMtZXhwZWN0ZWQuY2hlY2tzdW06IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy1sZW9w
YXJkL3N2Zy9jdXN0b20vc3ZnLXhtbC1kb20tc3luYy1leHBlY3RlZC5wbmc6IEFkZGVkLgorICAg
ICAgICAqIHBsYXRmb3JtL21hYy1sZW9wYXJkL3N2Zy9oaXhpZS9keW5hbWljLzAwNS1icm9rZW4t
ZXhwZWN0ZWQuY2hlY2tzdW06IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjLWxlb3Bh
cmQvc3ZnL2hpeGllL2R5bmFtaWMvMDA1LWJyb2tlbi1leHBlY3RlZC5wbmc6IFJlbW92ZWQuCisg
ICAgICAgICogcGxhdGZvcm0vbWFjLWxlb3BhcmQvc3ZnL2hpeGllL2R5bmFtaWMvMDA1LWV4cGVj
dGVkLmNoZWNrc3VtOiBDb3BpZWQgZnJvbSBwbGF0Zm9ybS9tYWMtbGVvcGFyZC9zdmcvaGl4aWUv
ZHluYW1pYy8wMDUtYnJva2VuLWV4cGVjdGVkLmNoZWNrc3VtLgorICAgICAgICAqIHBsYXRmb3Jt
L21hYy1sZW9wYXJkL3N2Zy9oaXhpZS9keW5hbWljLzAwNS1leHBlY3RlZC5wbmc6IENvcGllZCBm
cm9tIHBsYXRmb3JtL21hYy1sZW9wYXJkL3N2Zy9oaXhpZS9keW5hbWljLzAwNS1icm9rZW4tZXhw
ZWN0ZWQucG5nLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcvaGl4aWUvZHluYW1pYy8wMDUt
YnJva2VuLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvc3Zn
L2hpeGllL2R5bmFtaWMvMDA1LWV4cGVjdGVkLnR4dDogQ29waWVkIGZyb20gcGxhdGZvcm0vbWFj
L3N2Zy9oaXhpZS9keW5hbWljLzAwNS1icm9rZW4tZXhwZWN0ZWQudHh0LgorICAgICAgICAqIHN2
Zy9jdXN0b20vcmVzb3VyY2VzL3N2Zy14bWwtZG9tLXN5bmMuanM6IEFkZGVkLgorICAgICAgICAq
IHN2Zy9jdXN0b20vc3ZnLXhtbC1kb20tc3luYy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHN2Zy9jdXN0b20vc3ZnLXhtbC1kb20tc3luYy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBz
dmcvaGl4aWUvZHluYW1pYy8wMDUtYnJva2VuLnhtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBzdmcv
aGl4aWUvZHluYW1pYy8wMDUueG1sOiBDb3BpZWQgZnJvbSBzdmcvaGl4aWUvZHluYW1pYy8wMDUt
YnJva2VuLnhtbC4KKwogMjAwOC0wNy0wNiAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IERhbiBCZXJuc3RlaW4uCg==
</data>
<flag name="review"
          id="9745"
          type_id="1"
          status="+"
          setter="koivisto"
    />
          </attachment>
      

    </bug>

</bugzilla>