<?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>82459</bug_id>
          
          <creation_ts>2012-03-28 06:16:03 -0700</creation_ts>
          <short_desc>Enable animVal support for SVGAnimatedEnumeration</short_desc>
          <delta_ts>2012-04-03 03:26:54 -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>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>12437</dependson>
    
    <dependson>82885</dependson>
          <blocked>41761</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Nikolas Zimmermann">zimmermann</reporter>
          <assigned_to name="Nikolas Zimmermann">zimmermann</assigned_to>
          <cc>bank</cc>
    
    <cc>krit</cc>
    
    <cc>ossy</cc>
    
    <cc>paroga</cc>
    
    <cc>rakuco</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>589906</commentid>
    <comment_count>0</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2012-03-28 06:16:03 -0700</bug_when>
    <thetext>Enable animVal support for SVGAnimatedEnumeration. This requires adding SVGAnimatedEnumerationAnimator, which is the _last_ missing animator.
This one is a bit trickier, as we need tests for every SVGAnimatedEnumeration object, that can get animated. I already took care of that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>589921</commentid>
    <comment_count>1</comment_count>
      <attachid>134286</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2012-03-28 07:00:38 -0700</bug_when>
    <thetext>Created attachment 134286
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>590136</commentid>
    <comment_count>2</comment_count>
      <attachid>134286</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2012-03-28 10:53:55 -0700</bug_when>
    <thetext>Comment on attachment 134286
Patch

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

&gt; Source/WebCore/ChangeLog:55
&gt; +        We need to map the &apos;orient&apos; attribute to a pair&lt;SVGAngle, unsigned short&gt; type, in order
&gt; +        to track both orientAngle &amp; orientType at the same type. Fortunately SVGAnimatedAngle
&gt; +        is only used in the SVG DOM for SVGMarkerElements orientAngle property. We can directly
&gt; +        switch SVGAnimatedAngleAnimator to the new pair&lt;SVGAngle, unsigned short&gt; type instead
&gt; +        of having to introduce a special SVGAnimatedAngleAndEnumerationAnimator.

This is not part of this bug.

But can you please send the specific handling to the www-svg mailing list? Because the pre-draft version of the the proposal from Microsoft to CSS animations of presentation attributes does not reflect the handling of &apos;orientType&apos; and &apos;orientAngle&apos; correctly. Maybe this is something that needs to change in SVG 2.0.

&gt; Source/WebCore/svg/SVGAnimatedAngle.cpp:130
&gt; +        // Animating from eg. auto to 90deg, or auto to 90deg.

You might want to use two different examples. I guess you meant 90deg to auto?

&gt; Source/WebCore/svg/SVGAnimatedTypeAnimator.h:147
&gt; +    template&lt;typename AnimValType1, typename AnimValType2&gt;

Don&apos;t we usually use A or B when we don&apos;t have other choices? I think 1 or 2 looks strange.

&gt; LayoutTests/svg/animations/script-tests/svgenum-animation-3.js:31
&gt; +    shouldBe(&quot;text.lengthAdjust.animVal&quot;, &quot;SVGTextContentElement.LENGTHADJUST_SPACINGANDGLYPHS&quot;);
&gt; +    shouldBe(&quot;text.lengthAdjust.baseVal&quot;, &quot;SVGTextContentElement.LENGTHADJUST_SPACING&quot;);

That surprises me. Shouldn&apos;t it be LENGTHADJUST_SPACINGANDGLYPHS? The duration is 4s, you animate from spacing to spacingAndGlyphs and have the attribute &apos;fill&apos; set to &apos;freeze&apos;. So baseVal should have the result of animVal after the animation, no?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>590344</commentid>
    <comment_count>3</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2012-03-28 13:25:35 -0700</bug_when>
    <thetext>(In reply to comment #2)

&gt; &gt; LayoutTests/svg/animations/script-tests/svgenum-animation-3.js:31
&gt; &gt; +    shouldBe(&quot;text.lengthAdjust.animVal&quot;, &quot;SVGTextContentElement.LENGTHADJUST_SPACINGANDGLYPHS&quot;);
&gt; &gt; +    shouldBe(&quot;text.lengthAdjust.baseVal&quot;, &quot;SVGTextContentElement.LENGTHADJUST_SPACING&quot;);
&gt; 
&gt; That surprises me. Shouldn&apos;t it be LENGTHADJUST_SPACINGANDGLYPHS? The duration is 4s, you animate from spacing to spacingAndGlyphs and have the attribute &apos;fill&apos; set to &apos;freeze&apos;. So baseVal should have the result of animVal after the animation, no?

This seems to be related to bug 82514. Would be great if this bug could be fixed so that we know that this patch does what we want it to.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>590973</commentid>
    <comment_count>4</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2012-03-29 02:29:51 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 134286 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=134286&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:55
&gt; &gt; +        We need to map the &apos;orient&apos; attribute to a pair&lt;SVGAngle, unsigned short&gt; type, in order
&gt; &gt; +        to track both orientAngle &amp; orientType at the same type. Fortunately SVGAnimatedAngle
&gt; &gt; +        is only used in the SVG DOM for SVGMarkerElements orientAngle property. We can directly
&gt; &gt; +        switch SVGAnimatedAngleAnimator to the new pair&lt;SVGAngle, unsigned short&gt; type instead
&gt; &gt; +        of having to introduce a special SVGAnimatedAngleAndEnumerationAnimator.
&gt; 
&gt; This is not part of this bug.
Sure it is :-) Half of this patch is about supporting the SVGAnimatedEnumeration orientType, which requires special treatment.

&gt; But can you please send the specific handling to the www-svg mailing list? Because the pre-draft version of the the proposal from Microsoft to CSS animations of presentation attributes does not reflect the handling of &apos;orientType&apos; and &apos;orientAngle&apos; correctly. Maybe this is something that needs to change in SVG 2.0.
We need to discuss this first, I didn&apos;t read their approach.
 
&gt; &gt; Source/WebCore/svg/SVGAnimatedAngle.cpp:130
&gt; &gt; +        // Animating from eg. auto to 90deg, or auto to 90deg.
&gt; 
&gt; You might want to use two different examples. I guess you meant 90deg to auto?
It doesn&apos;t matter, any-angle to auto, or auto to any-angle?

 &gt; Source/WebCore/svg/SVGAnimatedTypeAnimator.h:147
&gt; &gt; +    template&lt;typename AnimValType1, typename AnimValType2&gt;
&gt; 
&gt; Don&apos;t we usually use A or B when we don&apos;t have other choices? I think 1 or 2 looks strange.
That does&apos;t look any better, nor is it descriptive, what is A or B? Clearly here two AnimVAlTypes are meant, like SVGAnimatedBoolean, SVGAnimatedEnumeration etc.
 
&gt; &gt; LayoutTests/svg/animations/script-tests/svgenum-animation-3.js:31
&gt; &gt; +    shouldBe(&quot;text.lengthAdjust.animVal&quot;, &quot;SVGTextContentElement.LENGTHADJUST_SPACINGANDGLYPHS&quot;);
&gt; &gt; +    shouldBe(&quot;text.lengthAdjust.baseVal&quot;, &quot;SVGTextContentElement.LENGTHADJUST_SPACING&quot;);
&gt; 
&gt; That surprises me. Shouldn&apos;t it be LENGTHADJUST_SPACINGANDGLYPHS? The duration is 4s, you animate from spacing to spacingAndGlyphs and have the attribute &apos;fill&apos; set to &apos;freeze&apos;. So baseVal should have the result of animVal after the animation, no?
The baseVal never changes as result of the animation. The animVal remains frozen, the baseVal is not affected.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>591131</commentid>
    <comment_count>5</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2012-03-29 06:49:25 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (In reply to comment #2)
&gt; &gt; (From update of attachment 134286 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=134286&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebCore/ChangeLog:55
&gt; &gt; &gt; +        We need to map the &apos;orient&apos; attribute to a pair&lt;SVGAngle, unsigned short&gt; type, in order
&gt; &gt; &gt; +        to track both orientAngle &amp; orientType at the same type. Fortunately SVGAnimatedAngle
&gt; &gt; &gt; +        is only used in the SVG DOM for SVGMarkerElements orientAngle property. We can directly
&gt; &gt; &gt; +        switch SVGAnimatedAngleAnimator to the new pair&lt;SVGAngle, unsigned short&gt; type instead
&gt; &gt; &gt; +        of having to introduce a special SVGAnimatedAngleAndEnumerationAnimator.
&gt; &gt; 
&gt; &gt; This is not part of this bug.
&gt; Sure it is :-) Half of this patch is about supporting the SVGAnimatedEnumeration orientType, which requires special treatment.
Hehe, I was unclear. The requested discussion is not part of the bug. The orientType of course is.

&gt; 
&gt; &gt; But can you please send the specific handling to the www-svg mailing list? Because the pre-draft version of the the proposal from Microsoft to CSS animations of presentation attributes does not reflect the handling of &apos;orientType&apos; and &apos;orientAngle&apos; correctly. Maybe this is something that needs to change in SVG 2.0.
&gt; We need to discuss this first, I didn&apos;t read their approach.
That was the topic I asked you to put on www-svg and is unrelated to your patch :)

&gt; 
&gt; &gt; &gt; Source/WebCore/svg/SVGAnimatedAngle.cpp:130
&gt; &gt; &gt; +        // Animating from eg. auto to 90deg, or auto to 90deg.
&gt; &gt; 
&gt; &gt; You might want to use two different examples. I guess you meant 90deg to auto?
&gt; It doesn&apos;t matter, any-angle to auto, or auto to any-angle?
I know. But you should change your comment. Right now you have the examples: &quot;auto to 90deg, or auto to 90deg&quot;. Which should be different examples for the developer who reads your code.

&gt; 
&gt;  &gt; Source/WebCore/svg/SVGAnimatedTypeAnimator.h:147
&gt; &gt; &gt; +    template&lt;typename AnimValType1, typename AnimValType2&gt;
&gt; &gt; 
&gt; &gt; Don&apos;t we usually use A or B when we don&apos;t have other choices? I think 1 or 2 looks strange.
&gt; That does&apos;t look any better, nor is it descriptive, what is A or B? Clearly here two AnimVAlTypes are meant, like SVGAnimatedBoolean, SVGAnimatedEnumeration etc.
Also true. But you should follow similar examples in WebCore if there are any.

&gt; 
&gt; &gt; &gt; LayoutTests/svg/animations/script-tests/svgenum-animation-3.js:31
&gt; &gt; &gt; +    shouldBe(&quot;text.lengthAdjust.animVal&quot;, &quot;SVGTextContentElement.LENGTHADJUST_SPACINGANDGLYPHS&quot;);
&gt; &gt; &gt; +    shouldBe(&quot;text.lengthAdjust.baseVal&quot;, &quot;SVGTextContentElement.LENGTHADJUST_SPACING&quot;);
&gt; &gt; 
&gt; &gt; That surprises me. Shouldn&apos;t it be LENGTHADJUST_SPACINGANDGLYPHS? The duration is 4s, you animate from spacing to spacingAndGlyphs and have the attribute &apos;fill&apos; set to &apos;freeze&apos;. So baseVal should have the result of animVal after the animation, no?
&gt; The baseVal never changes as result of the animation. The animVal remains frozen, the baseVal is not affected.
Just checked it and you are right. Animations do not influence baseVal, even with fill=&quot;freeze&quot;. Which makes kind of sense but could also be useful the other way around. Nevertheless the example is correct.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>591135</commentid>
    <comment_count>6</comment_count>
      <attachid>134286</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2012-03-29 06:50:18 -0700</bug_when>
    <thetext>Comment on attachment 134286
Patch

r=me. But see suggestions from previous comment before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>593010</commentid>
    <comment_count>7</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2012-04-01 04:37:40 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; That was the topic I asked you to put on www-svg and is unrelated to your patch :)
Okay, we should have a chat about this on IRC before.

&gt; &gt; &gt; &gt; Source/WebCore/svg/SVGAnimatedAngle.cpp:130
&gt; &gt; &gt; &gt; +        // Animating from eg. auto to 90deg, or auto to 90deg.
&gt; &gt; &gt; 
&gt; &gt; &gt; You might want to use two different examples. I guess you meant 90deg to auto?
&gt; &gt; It doesn&apos;t matter, any-angle to auto, or auto to any-angle?
&gt; I know. But you should change your comment. Right now you have the examples: &quot;auto to 90deg, or auto to 90deg&quot;. Which should be different examples for the developer who reads your code.
LOL. I finally realized the two examples are the same ;-) I swear I read &quot;auto to 90deg, or 90deg to auto&quot; before! Will fix.

&gt; &gt; The baseVal never changes as result of the animation. The animVal remains frozen, the baseVal is not affected.
&gt; Just checked it and you are right. Animations do not influence baseVal, even with fill=&quot;freeze&quot;. Which makes kind of sense but could also be useful the other way around. Nevertheless the example is correct.
Phew :-)

I&apos;ll land this soon, thanks for the review!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>593016</commentid>
    <comment_count>8</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2012-04-01 05:09:41 -0700</bug_when>
    <thetext>Committed r112813: &lt;http://trac.webkit.org/changeset/112813&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>593241</commentid>
    <comment_count>9</comment_count>
    <who name="Balazs Ankes">bank</who>
    <bug_when>2012-04-02 01:10:56 -0700</bug_when>
    <thetext>There are some crash related this patch on Lion, QT WK2 and GTK.
Here are the crash logs: http://build.webkit.org/results/Lion%20Release%20(WebKit2%20Tests)/r112813%20(5981)/svg/animations/svgenum-animation-8-crash-log.txt
http://build.webkit.org/results/Lion%20Release%20(WebKit2%20Tests)/r112813%20(5981)/svg/animations/svgenum-animation-13-crash-log.txt</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>593247</commentid>
    <comment_count>10</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2012-04-02 01:25:35 -0700</bug_when>
    <thetext>Landed build fix for ENABLE(SVG) &amp;&amp; !ENABLE(FILTERS) in r112837:&lt;trac.webkit.org/changeset/112837&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>593337</commentid>
    <comment_count>11</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-04-02 04:22:00 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; There are some crash related this patch on Lion, QT WK2 and GTK.
&gt; Here are the crash logs: http://build.webkit.org/results/Lion%20Release%20(WebKit2%20Tests)/r112813%20(5981)/svg/animations/svgenum-animation-8-crash-log.txt
&gt; http://build.webkit.org/results/Lion%20Release%20(WebKit2%20Tests)/r112813%20(5981)/svg/animations/svgenum-animation-13-crash-log.txt

Reopen because it caused regression.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>593338</commentid>
    <comment_count>12</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-04-02 04:24:11 -0700</bug_when>
    <thetext>Could you check what happened?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>593383</commentid>
    <comment_count>13</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-04-02 05:17:52 -0700</bug_when>
    <thetext>It was rolled out because it caused regression - http://trac.webkit.org/changeset/112863</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>593544</commentid>
    <comment_count>14</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2012-04-02 09:48:14 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; Could you check what happened?
I can&apos;t reproduce this at all on my Lion machine :-(
Thanks for rolling it out! I&apos;ll investigate.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>593548</commentid>
    <comment_count>15</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2012-04-02 09:51:26 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; (In reply to comment #12)
&gt; &gt; Could you check what happened?
&gt; I can&apos;t reproduce this at all on my Lion machine :-(
Fortunately there is valgrind - trunk works very well with WebKit on Lion these days:
==53202== Invalid read of size 4
==53202==    at 0x462B5A1: WebCore::SVGComponentTransferFunctionElement::transferFunction() const (in /Users/nzimmermann/Coding/WebKit/WebKitBuild/Debug/WebCore.framework/Versions/A/WebCore)
==53202==    by 0x46645E5: WebCore::SVGFEComponentTransferElement::build(WebCore::SVGFilterBuilder*, WebCore::Filter*) (in /Users/nzimmermann/Coding/WebKit/WebKitBuild/Debug/WebCore.framework/Versions/A/WebCore)
==53202==    by 0x4391508: WebCore::RenderSVGResourceFilter::buildPrimitives(WebCore::SVGFilter*) (in /Users/nzimmermann/Coding/WebKit/WebKitBuild/Debug/WebCore.framework/Versions/A/WebCore)
==53202==    by 0x4391EDA: WebCore::RenderSVGResourceFilter::applyResource(WebCore::RenderObject*, WebCore::RenderStyle*, WebCore::GraphicsContext*&amp;, unsigned short) (in /Users/nzimmermann/Coding/WebKit/WebKitBuild/Debug/WebCore.framework/Versions/A/WebCore)
==53202==    by 0x4384B46: WebCore::SVGRenderingContext::prepareToRenderSVGContent(WebCore::RenderObject*, WebCore::PaintInfo&amp;, WebCore::SVGRenderingContext::NeedsGraphicsContextSave) (in /Users/nzimmermann/Coding/WebKit/WebKitBuild/Debug/WebCore.framework/Versions/A/WebCore)
==53202==    by 0x43F137B: WebCore::SVGRenderingContext::SVGRenderingContext(WebCore::RenderObject*, WebCore::PaintInfo&amp;, WebCore::SVGRenderingContext::NeedsGraphicsContextSave) (in /Users/nzimmermann/Coding/WebKit/WebKitBuild/Debug/WebCore.framework/Versions/A/WebCore)
==53202==    by 0x43C007A: WebCore::SVGRenderingContext::SVGRenderingContext(WebCore::RenderObject*, WebCore::PaintInfo&amp;, WebCore::SVGRenderingContext::NeedsGraphicsContextSave) (in /Users/nzimmermann/Coding/WebKit/WebKitBuild/Debug/WebCore.framework/Versions/A/WebCore)
==53202==    by 0x439E734: WebCore::RenderSVGShape::paint(WebCore::PaintInfo&amp;, WebCore::IntPoint const&amp;) (in /Users/nzimmermann/Coding/WebKit/WebKitBuild/Debug/WebCore.framework/Versions/A/WebCore)
==53202==    by 0x42626F3: WebCore::RenderBox::paint(WebCore::PaintInfo&amp;, WebCore::IntPoint const&amp;) (in /Users/nzimmermann/Coding/WebKit/WebKitBuild/Debug/WebCore.framework/Versions/A/WebCore)
==53202==    by 0x439BAE9: WebCore::RenderSVGRoot::paintReplaced(WebCore::PaintInfo&amp;, WebCore::IntPoint const&amp;) (in /Users/nzimmermann/Coding/WebKit/WebKitBuild/Debug/WebCore.framework/Versions/A/WebCore)
==53202==    by 0x4362D64: WebCore::RenderReplaced::paint(WebCore::PaintInfo&amp;, WebCore::IntPoint const&amp;) (in /Users/nzimmermann/Coding/WebKit/WebKitBuild/Debug/WebCore.framework/Versions/A/WebCore)
==53202==    by 0x391CF36: WebCore::InlineBox::paint(WebCore::PaintInfo&amp;, WebCore::IntPoint const&amp;, int, int) (in /Users/nzimmermann/Coding/WebKit/WebKitBuild/Debug/WebCore.framework/Versions/A/WebCore)
==53202==  Address 0x1012747b0 is 0 bytes inside a block of size 2 alloc&apos;d
==53202==    at 0xC743: malloc (vg_replace_malloc.c:266)
==53202==    by 0x499C1A: WTF::fastMalloc(unsigned long) (in /Users/nzimmermann/Coding/WebKit/WebKitBuild/Debug/JavaScriptCore.framework/Versions/A/JavaScriptCore)
==53202==    by 0x49055C3: WebCore::SVGAnimatedStaticPropertyTearOff&lt;unsigned short&gt;::ContentType* WebCore::SVGAnimatedTypeAnimator::constructFromBaseValue&lt;WebCore::SVGAnimatedStaticPropertyTearOff&lt;unsigned short&gt; &gt;(WTF::Vector&lt;WebCore::SVGAnimatedProperty*, 0ul&gt; const&amp;) (in /Users/nzimmermann/Coding/WebKit/WebKitBuild/Debug/WebCore.framework/Versions/A/WebCore)
==53202==    by 0x4904F7A: WebCore::SVGAnimatedEnumerationAnimator::startAnimValAnimation(WTF::Vector&lt;WebCore::SVGAnimatedProperty*, 0ul&gt; const&amp;) (in /Users/nzimmermann/Coding/WebKit/WebKitBuild/Debug/WebCore.framework/Versions/A/WebCore)
==53202==    by 0x4619209: WebCore::SVGAnimateElement::resetToBaseValue(WTF::String const&amp;) (in /Users/nzimmermann/Coding/WebKit/WebKitBuild/Debug/WebCore.framework/Versions/A/WebCore)
==53202==    by 0x456A016: WebCore::SMILTimeContainer::updateAnimations(WebCore::SMILTime) (in /Users/nzimmermann/Coding/WebKit/WebKitBuild/Debug/WebCore.framework/Versions/A/WebCore)
==53202==    by 0x4569B71: WebCore::SMILTimeContainer::begin() (in /Users/nzimmermann/Coding/WebKit/WebKitBuild/Debug/WebCore.framework/Versions/A/WebCore)
==53202==    by 0x463AC33: WebCore::SVGDocumentExtensions::startAnimations() (in /Users/nzimmermann/Coding/WebKit/WebKitBuild/Debug/WebCore.framework/Versions/A/WebCore)
==53202==    by 0x33FFE70: WebCore::Document::implicitClose() (in /Users/nzimmermann/Coding/WebKit/WebKitBuild/Debug/WebCore.framework/Versions/A/WebCore)
==53202==    by 0x36CDB3A: WebCore::FrameLoader::checkCallImplicitClose() (in /Users/nzimmermann/Coding/WebKit/WebKitBuild/Debug/WebCore.framework/Versions/A/WebCore)
==53202==    by 0x36CD924: WebCore::FrameLoader::checkCompleted() (in /Users/nzimmermann/Coding/WebKit/WebKitBuild/Debug/WebCore.framework/Versions/A/WebCore)
==53202==    by 0x36CC612: WebCore::FrameLoader::finishedParsing() (in /Users/nzimmermann/Coding/WebKit/WebKitBuild/Debug/WebCore.framework/Versions/A/WebCore)

That explains the flakiness and is pretty evil.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>594302</commentid>
    <comment_count>16</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2012-04-03 02:03:29 -0700</bug_when>
    <thetext>(In reply to comment #15)
&gt; (In reply to comment #14)
&gt; &gt; (In reply to comment #12)
&gt; &gt; &gt; Could you check what happened?
&gt; &gt; I can&apos;t reproduce this at all on my Lion machine :-(
&gt; Fortunately there is valgrind - trunk works very well with WebKit on Lion these days:
&gt; ==53202== Invalid read of size 4

Ok, it turns out the fix for this is actually simple: s/unsigned short/unsigned/. With that applied, the invalid read is gone. I hope this is enough to make it work everywhere. I assumed before that each enum size would fit in an unsigned short, though that&apos;s up to the compiler. Let&apos;s see.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>594323</commentid>
    <comment_count>17</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2012-04-03 02:44:13 -0700</bug_when>
    <thetext>Relanded in r113003 - closing this bug if the bots are happy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>594340</commentid>
    <comment_count>18</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2012-04-03 03:26:54 -0700</bug_when>
    <thetext>Landed chromium build fix in r113005 &amp; r113006. (signed vs. unsigned comparison issue)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>134286</attachid>
            <date>2012-03-28 07:00:38 -0700</date>
            <delta_ts>2012-04-02 04:23:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-82459-20120328160032.patch</filename>
            <type>text/plain</type>
            <size>213209</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEyMzkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDVjNjU0ZDgxYTlmNmVj
ZTgyNDk0ODExOTkyOWYzZDk2YzU3M2JlMy4uMWQ2ZTA1NmMxYjkwNGYyMmE3NTc5MTI5OTU4NDI4
ZTc3OTQyNzM3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwOSBAQAorMjAxMi0wMy0yOCAgTmlr
b2xhcyBaaW1tZXJtYW5uICA8bnppbW1lcm1hbm5AcmltLmNvbT4KKworICAgICAgICBFbmFibGUg
YW5pbVZhbCBzdXBwb3J0IGZvciBTVkdBbmltYXRlZEVudW1lcmF0aW9uCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MjQ1OQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEVuYWJsZSBhbmltVmFsIHN1cHBvcnQg
Zm9yIHRoZSBsYXN0IG1pc3NpbmcgU1ZHIERPTSBwcmltaXRpdmU6IFNWR0FuaW1hdGVkRW51bWVy
YXRpb24uCisgICAgICAgIEl0J3MgYSBiaXQgbW9yZSBpbnZvbHZlZCB0aGFuIHRoZSBvdGhlcnMg
YXMgd2UgaGF2ZSB0byBkaWZmZXJlbnRpYXRlIGJldHdlZW4gdGhlIHZhcmlvdXMKKyAgICAgICAg
ZW51bWVyYXRpb25zIHRvIHVzZSB0aGUgY29ycmVjdCBTVkdQcm9wZXJ0eVRyYWl0czxNeUVudW0+
Ojpmcm9tU3RyaW5nKCkgY29kZS1wYXRoLgorCisgICAgICAgIE9uZSBTVkdBbmltYXRlZEVudW1l
cmF0aW9uIHByb3BlcnR5IGluIHRoZSBTVkcgRE9NIGlzIHNwZWNpYWw6IFNWR0FuaW1hdGVkRW51
bWVyYXRpb24gb3JpZW50VHlwZQorICAgICAgICBmcm9tIFNWR01hcmtlckVsZW1lbnQuIFNWR01h
cmtlckVsZW1lbnQgZXhwb3NlcyBib3RoIHRoZSBvcmllbnRUeXBlIGFuZCBTVkdBbmltYXRlZEFu
Z2xlIG9yaWVudEFuZ2xlCisgICAgICAgIFNWRyBET00gcHJvcGVydGllcyBhbmQgYm90aCBnZXQg
bWFwcGVkIHRvIHRoZSBzYW1lIFNWR05hbWVzOjpvcmllbnRBdHRyICgib3JpZW50IiBYTUwgYXR0
cmlidXRlKS4KKyAgICAgICAgVGhhdCBtZWFucyB0aGF0IGFueSBhbmltYXRpb24gb2YgdGhlIG9y
aWVudEF0dHIgaGFzIHRvIHVwZGF0ZSBib3RoIG9yaWVudFR5cGUgJiBvcmllbnRBbmdsZS4KKwor
ICAgICAgICBUaGlzIGlzIGEgbm90IGEgbmV3IHJlcXVpcmVtZW50LCB3ZSBhbHJlYWR5IHN1cHBv
cnQgYXR0cmlidXRlcyBsaWtlICdzdGREZXZpYXRpb24nIGZyb20KKyAgICAgICAgU1ZHRkVHYXVz
c2lhbkJsdXJFbGVtZW50LCB3aGljaCBnZXQgbWFwcGVkIHRvIG11bHRpcGxlIFNWRyBET00gb2Jq
ZWN0czogU1ZHQW5pbWF0ZWRJbnRlZ2VyIHN0ZERldmlhdGlvblgvWS4KKyAgICAgICAgVGhlIGRp
ZmZlcmVuY2UgaXMgdGhhdCA8aW50ZWdlci1vcHRpb25hbC1pbnRlZ2VyPiBvciA8bnVtYmVyLW9w
dGlvbmFsLW51bWJlcj4gYW5pbWF0aW9ucyB1c2UgdGhlCisgICAgICAgIHNhbWUgdHlwZSBpbiB0
aGUgcGFpcjx4eHgsIHh4eD4gKGVnLiBib3RoIGludCwgb3IgYm90aCBmbG9hdCkuIFRoZSAnb3Jp
ZW50JyBhdHRyaWJ1dGUgbmVlZHMgdG8gYmUKKyAgICAgICAgbWFwcGVkIHRvIHBhaXI8eHh4LCB5
eXk+IHR5cGVzLiBHZW5lcmFsaXplIHRoZSB0ZW1wbGF0ZXMgaW4gU1ZHQW5pbWF0ZWRUeXBlQW5p
bWF0b3IgdG8gc3VwcG9ydCB0aGF0LgorCisgICAgICAgIEV4YW1wbGU6CisgICAgICAgIDxtYXJr
ZXIgaWQ9InNvbWVNYXJrZXJFbGVtZW50IiBvcmllbnQ9IjQ1ZGVnIi8+CisgICAgICAgIDxhbmlt
YXRlIGZpbGw9InJlbW92ZSIgYmVnaW49IjFzIiBkdXI9IjJzIiBmcm9tPSI5MGRlZyIgdG89ImF1
dG8iIGF0dHJpYnV0ZU5hbWU9Im9yaWVudCIgeGxpbms6aHJlZj0iI3NvbWVNYXJrZXJFbGVtZW50
Ii8+CisKKyAgICAgICAgYXQgMHM6IHNvbWVNYXJrZXJFbGVtZW50Lm9yaWVudFR5cGUuYW5pbVZh
bCA9IFNWR01hcmtlckVsZW1lbnQuU1ZHX01BUktFUl9PUklFTlRfQU5HTEUKKyAgICAgICAgICAg
ICAgIHNvbWVNYXJrZXJFbGVtZW50Lm9yaWVudEFuZ2xlLmFuaW1WYWwudmFsdWUgPSA0NQorCisg
ICAgICAgICAgICAgICBzb21lTWFya2VyRWxlbWVudC5vcmllbnRUeXBlLmJhc2VWYWwgPSBTVkdN
YXJrZXJFbGVtZW50LlNWR19NQVJLRVJfT1JJRU5UX0FOR0xFCisgICAgICAgICAgICAgICBzb21l
TWFya2VyRWxlbWVudC5vcmllbnRBbmdsZS5iYXNlVmFsLnZhbHVlID0gNDUKKworICAgICAgICBh
dCAxczogc29tZU1hcmtlckVsZW1lbnQub3JpZW50VHlwZS5hbmltVmFsID0gU1ZHTWFya2VyRWxl
bWVudC5TVkdfTUFSS0VSX09SSUVOVF9BTkdMRQorICAgICAgICAgICAgICAgc29tZU1hcmtlckVs
ZW1lbnQub3JpZW50QW5nbGUuYW5pbVZhbC52YWx1ZSA9IDkwCisKKyAgICAgICAgICAgICAgIHNv
bWVNYXJrZXJFbGVtZW50Lm9yaWVudFR5cGUuYmFzZVZhbCA9IFNWR01hcmtlckVsZW1lbnQuU1ZH
X01BUktFUl9PUklFTlRfQU5HTEUKKyAgICAgICAgICAgICAgIHNvbWVNYXJrZXJFbGVtZW50Lm9y
aWVudEFuZ2xlLmJhc2VWYWwudmFsdWUgPSA0NQorCisgICAgICAgIGF0IDJzOiBzb21lTWFya2Vy
RWxlbWVudC5vcmllbnRUeXBlLmFuaW1WYWwgPSBTVkdNYXJrZXJFbGVtZW50LlNWR19NQVJLRVJf
T1JJRU5UX0FVVE8KKyAgICAgICAgICAgICAgIHNvbWVNYXJrZXJFbGVtZW50Lm9yaWVudEFuZ2xl
LmFuaW1WYWwudmFsdWUgPSAwCisKKyAgICAgICAgICAgICAgIHNvbWVNYXJrZXJFbGVtZW50Lm9y
aWVudFR5cGUuYmFzZVZhbCA9IFNWR01hcmtlckVsZW1lbnQuU1ZHX01BUktFUl9PUklFTlRfQU5H
TEUKKyAgICAgICAgICAgICAgIHNvbWVNYXJrZXJFbGVtZW50Lm9yaWVudEFuZ2xlLmJhc2VWYWwu
dmFsdWUgPSA0NQorCisgICAgICAgICA+IDNzOiBzb21lTWFya2VyRWxlbWVudC5vcmllbnRUeXBl
LmFuaW1WYWwgPSBTVkdNYXJrZXJFbGVtZW50LlNWR19NQVJLRVJfT1JJRU5UX0FOR0xFCisgICAg
ICAgICAgICAgICBzb21lTWFya2VyRWxlbWVudC5vcmllbnRBbmdsZS5hbmltVmFsLnZhbHVlID0g
NDUKKworICAgICAgICAgICAgICAgc29tZU1hcmtlckVsZW1lbnQub3JpZW50VHlwZS5iYXNlVmFs
ID0gU1ZHTWFya2VyRWxlbWVudC5TVkdfTUFSS0VSX09SSUVOVF9BTkdMRQorICAgICAgICAgICAg
ICAgc29tZU1hcmtlckVsZW1lbnQub3JpZW50QW5nbGUuYmFzZVZhbC52YWx1ZSA9IDQ1CisKKyAg
ICAgICAgV2UgbmVlZCB0byBtYXAgdGhlICdvcmllbnQnIGF0dHJpYnV0ZSB0byBhIHBhaXI8U1ZH
QW5nbGUsIHVuc2lnbmVkIHNob3J0PiB0eXBlLCBpbiBvcmRlcgorICAgICAgICB0byB0cmFjayBi
b3RoIG9yaWVudEFuZ2xlICYgb3JpZW50VHlwZSBhdCB0aGUgc2FtZSB0eXBlLiBGb3J0dW5hdGVs
eSBTVkdBbmltYXRlZEFuZ2xlCisgICAgICAgIGlzIG9ubHkgdXNlZCBpbiB0aGUgU1ZHIERPTSBm
b3IgU1ZHTWFya2VyRWxlbWVudHMgb3JpZW50QW5nbGUgcHJvcGVydHkuIFdlIGNhbiBkaXJlY3Rs
eQorICAgICAgICBzd2l0Y2ggU1ZHQW5pbWF0ZWRBbmdsZUFuaW1hdG9yIHRvIHRoZSBuZXcgcGFp
cjxTVkdBbmdsZSwgdW5zaWduZWQgc2hvcnQ+IHR5cGUgaW5zdGVhZAorICAgICAgICBvZiBoYXZp
bmcgdG8gaW50cm9kdWNlIGEgc3BlY2lhbCBTVkdBbmltYXRlZEFuZ2xlQW5kRW51bWVyYXRpb25B
bmltYXRvci4KKworICAgICAgICBBZGRlZCB0ZXN0cyBmb3IgYWxsIFNWR0FuaW1hdGVkRW51bWVy
YXRpb24gcHJvcGVydGllcyBpbiB0aGUgU1ZHIERPTSwgaW5jbHVkaW5nIGFuIGV4dGVuc2l2ZSBz
ZXQgb2YgdGVzdHMKKyAgICAgICAgZm9yIHRoZSBzeW5jaHJvbml6YXRpb24gb2YgdGhlIG9yaWVu
dFR5cGUgLyBvcmllbnRBbmdsZSBwcm9wZXJ0aWVzLCB3aGVuIHRoZXkgZ2V0IGFuaW1hdGVkLgor
CisgICAgICAgIFRlc3RzOiBzdmcvYW5pbWF0aW9ucy9hbmltYXRlLW1hcmtlci1vcmllbnQtZnJv
bS1hbmdsZS10by1hbmdsZS5odG1sCisgICAgICAgICAgICAgICBzdmcvYW5pbWF0aW9ucy9hbmlt
YXRlLW1hcmtlci1vcmllbnQtZnJvbS1hbmdsZS10by1hdXRvLmh0bWwKKyAgICAgICAgICAgICAg
IHN2Zy9hbmltYXRpb25zL2FuaW1hdGUtbWFya2VyLW9yaWVudC10by1hbmdsZS5odG1sCisgICAg
ICAgICAgICAgICBzdmcvYW5pbWF0aW9ucy9zdmdlbnVtLWFuaW1hdGlvbi0xLmh0bWwKKyAgICAg
ICAgICAgICAgIHN2Zy9hbmltYXRpb25zL3N2Z2VudW0tYW5pbWF0aW9uLTEwLmh0bWwKKyAgICAg
ICAgICAgICAgIHN2Zy9hbmltYXRpb25zL3N2Z2VudW0tYW5pbWF0aW9uLTExLmh0bWwKKyAgICAg
ICAgICAgICAgIHN2Zy9hbmltYXRpb25zL3N2Z2VudW0tYW5pbWF0aW9uLTEyLmh0bWwKKyAgICAg
ICAgICAgICAgIHN2Zy9hbmltYXRpb25zL3N2Z2VudW0tYW5pbWF0aW9uLTEzLmh0bWwKKyAgICAg
ICAgICAgICAgIHN2Zy9hbmltYXRpb25zL3N2Z2VudW0tYW5pbWF0aW9uLTIuaHRtbAorICAgICAg
ICAgICAgICAgc3ZnL2FuaW1hdGlvbnMvc3ZnZW51bS1hbmltYXRpb24tMy5odG1sCisgICAgICAg
ICAgICAgICBzdmcvYW5pbWF0aW9ucy9zdmdlbnVtLWFuaW1hdGlvbi00Lmh0bWwKKyAgICAgICAg
ICAgICAgIHN2Zy9hbmltYXRpb25zL3N2Z2VudW0tYW5pbWF0aW9uLTUuaHRtbAorICAgICAgICAg
ICAgICAgc3ZnL2FuaW1hdGlvbnMvc3ZnZW51bS1hbmltYXRpb24tNi5odG1sCisgICAgICAgICAg
ICAgICBzdmcvYW5pbWF0aW9ucy9zdmdlbnVtLWFuaW1hdGlvbi03Lmh0bWwKKyAgICAgICAgICAg
ICAgIHN2Zy9hbmltYXRpb25zL3N2Z2VudW0tYW5pbWF0aW9uLTguaHRtbAorICAgICAgICAgICAg
ICAgc3ZnL2FuaW1hdGlvbnMvc3ZnZW51bS1hbmltYXRpb24tOS5odG1sCisKKyAgICAgICAgKiBD
TWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAq
IFRhcmdldC5wcmk6CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBzdmcvU1ZHQWxsSW5PbmUuY3Bw
OgorICAgICAgICAqIHN2Zy9TVkdBbmltYXRlRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpTVkdBbmltYXRlRWxlbWVudDo6ZGV0ZXJtaW5lQW5pbWF0ZWRQcm9wZXJ0eVR5cGUpOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZUVsZW1lbnQ6OmNhbGN1bGF0ZUFuaW1hdGVkVmFsdWUp
OgorICAgICAgICAoV2ViQ29yZTo6cHJvcGVydHlUeXBlc0FyZUNvbnNpc3RlbnQpOgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZUVsZW1lbnQ6OmFwcGx5UmVzdWx0c1RvVGFyZ2V0KToKKyAg
ICAgICAgKiBzdmcvU1ZHQW5pbWF0ZWRBbmdsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdB
bmltYXRlZEFuZ2xlQW5pbWF0b3I6OmNvbnN0cnVjdEZyb21TdHJpbmcpOgorICAgICAgICAoV2Vi
Q29yZTo6U1ZHQW5pbWF0ZWRBbmdsZUFuaW1hdG9yOjpzdGFydEFuaW1WYWxBbmltYXRpb24pOgor
ICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZWRBbmdsZUFuaW1hdG9yOjpzdG9wQW5pbVZhbEFu
aW1hdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRlZEFuZ2xlQW5pbWF0b3I6OnJl
c2V0QW5pbVZhbFRvQmFzZVZhbCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRlZEFuZ2xl
QW5pbWF0b3I6OmFuaW1WYWxXaWxsQ2hhbmdlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0FuaW1h
dGVkQW5nbGVBbmltYXRvcjo6YW5pbVZhbERpZENoYW5nZSk6CisgICAgICAgIChXZWJDb3JlOjpT
VkdBbmltYXRlZEFuZ2xlQW5pbWF0b3I6OmNhbGN1bGF0ZUZyb21BbmRCeVZhbHVlcyk6CisgICAg
ICAgIChXZWJDb3JlOjpTVkdBbmltYXRlZEFuZ2xlQW5pbWF0b3I6OmNhbGN1bGF0ZUFuaW1hdGVk
VmFsdWUpOgorICAgICAgICAqIHN2Zy9TVkdBbmltYXRlZEFuZ2xlLmg6CisgICAgICAgIChXZWJD
b3JlKToKKyAgICAgICAgKiBzdmcvU1ZHQW5pbWF0ZWRCb29sZWFuLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlNWR0FuaW1hdGVkQm9vbGVhbkFuaW1hdG9yOjpzdGFydEFuaW1WYWxBbmltYXRpb24p
OgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZWRCb29sZWFuQW5pbWF0b3I6OnN0b3BBbmlt
VmFsQW5pbWF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0FuaW1hdGVkQm9vbGVhbkFuaW1h
dG9yOjpyZXNldEFuaW1WYWxUb0Jhc2VWYWwpOgorICAgICAgICAqIHN2Zy9TVkdBbmltYXRlZEVu
dW1lcmF0aW9uLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNv
cmU6OmVudW1lcmF0aW9uVmFsdWVGb3JUYXJnZXRBdHRyaWJ1dGUpOgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHQW5pbWF0ZWRFbnVtZXJhdGlvbkFuaW1hdG9yOjpTVkdBbmltYXRlZEVudW1lcmF0aW9u
QW5pbWF0b3IpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZWRFbnVtZXJhdGlvbkFuaW1h
dG9yOjpjb25zdHJ1Y3RGcm9tU3RyaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0FuaW1hdGVk
RW51bWVyYXRpb25BbmltYXRvcjo6c3RhcnRBbmltVmFsQW5pbWF0aW9uKToKKyAgICAgICAgKFdl
YkNvcmU6OlNWR0FuaW1hdGVkRW51bWVyYXRpb25BbmltYXRvcjo6c3RvcEFuaW1WYWxBbmltYXRp
b24pOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZWRFbnVtZXJhdGlvbkFuaW1hdG9yOjpy
ZXNldEFuaW1WYWxUb0Jhc2VWYWwpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZWRFbnVt
ZXJhdGlvbkFuaW1hdG9yOjphbmltVmFsV2lsbENoYW5nZSk6CisgICAgICAgIChXZWJDb3JlOjpT
VkdBbmltYXRlZEVudW1lcmF0aW9uQW5pbWF0b3I6OmFuaW1WYWxEaWRDaGFuZ2UpOgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZWRFbnVtZXJhdGlvbkFuaW1hdG9yOjpjYWxjdWxhdGVGcm9t
QW5kVG9WYWx1ZXMpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZWRFbnVtZXJhdGlvbkFu
aW1hdG9yOjpjYWxjdWxhdGVGcm9tQW5kQnlWYWx1ZXMpOgorICAgICAgICAoV2ViQ29yZTo6U1ZH
QW5pbWF0ZWRFbnVtZXJhdGlvbkFuaW1hdG9yOjpjYWxjdWxhdGVBbmltYXRlZFZhbHVlKToKKyAg
ICAgICAgKFdlYkNvcmU6OlNWR0FuaW1hdGVkRW51bWVyYXRpb25BbmltYXRvcjo6Y2FsY3VsYXRl
RGlzdGFuY2UpOgorICAgICAgICAqIHN2Zy9TVkdBbmltYXRlZEVudW1lcmF0aW9uLmg6CisgICAg
ICAgIChTVkdBbmltYXRlZEVudW1lcmF0aW9uQW5pbWF0b3IpOgorICAgICAgICAoV2ViQ29yZTo6
U1ZHQW5pbWF0ZWRFbnVtZXJhdGlvbkFuaW1hdG9yOjp+U1ZHQW5pbWF0ZWRFbnVtZXJhdGlvbkFu
aW1hdG9yKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIHN2Zy9TVkdBbmltYXRlZElu
dGVnZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZWRJbnRlZ2VyQW5pbWF0b3I6
OnN0YXJ0QW5pbVZhbEFuaW1hdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRlZElu
dGVnZXJBbmltYXRvcjo6c3RvcEFuaW1WYWxBbmltYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6
U1ZHQW5pbWF0ZWRJbnRlZ2VyQW5pbWF0b3I6OnJlc2V0QW5pbVZhbFRvQmFzZVZhbCk6CisgICAg
ICAgICogc3ZnL1NWR0FuaW1hdGVkSW50ZWdlck9wdGlvbmFsSW50ZWdlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTVkdBbmltYXRlZEludGVnZXJPcHRpb25hbEludGVnZXJBbmltYXRvcjo6c3Rh
cnRBbmltVmFsQW5pbWF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0FuaW1hdGVkSW50ZWdl
ck9wdGlvbmFsSW50ZWdlckFuaW1hdG9yOjpzdG9wQW5pbVZhbEFuaW1hdGlvbik6CisgICAgICAg
IChXZWJDb3JlOjpTVkdBbmltYXRlZEludGVnZXJPcHRpb25hbEludGVnZXJBbmltYXRvcjo6cmVz
ZXRBbmltVmFsVG9CYXNlVmFsKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0FuaW1hdGVkSW50ZWdl
ck9wdGlvbmFsSW50ZWdlckFuaW1hdG9yOjphbmltVmFsV2lsbENoYW5nZSk6CisgICAgICAgIChX
ZWJDb3JlOjpTVkdBbmltYXRlZEludGVnZXJPcHRpb25hbEludGVnZXJBbmltYXRvcjo6YW5pbVZh
bERpZENoYW5nZSk6CisgICAgICAgICogc3ZnL1NWR0FuaW1hdGVkTGVuZ3RoLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlNWR0FuaW1hdGVkTGVuZ3RoQW5pbWF0b3I6OnN0YXJ0QW5pbVZhbEFuaW1h
dGlvbik6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRlZExlbmd0aEFuaW1hdG9yOjpzdG9w
QW5pbVZhbEFuaW1hdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRlZExlbmd0aEFu
aW1hdG9yOjpyZXNldEFuaW1WYWxUb0Jhc2VWYWwpOgorICAgICAgICAqIHN2Zy9TVkdBbmltYXRl
ZExlbmd0aExpc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZWRMZW5ndGhMaXN0
QW5pbWF0b3I6OnN0YXJ0QW5pbVZhbEFuaW1hdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpTVkdB
bmltYXRlZExlbmd0aExpc3RBbmltYXRvcjo6c3RvcEFuaW1WYWxBbmltYXRpb24pOgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZWRMZW5ndGhMaXN0QW5pbWF0b3I6OnJlc2V0QW5pbVZhbFRv
QmFzZVZhbCk6CisgICAgICAgICogc3ZnL1NWR0FuaW1hdGVkTnVtYmVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlNWR0FuaW1hdGVkTnVtYmVyQW5pbWF0b3I6OnN0YXJ0QW5pbVZhbEFuaW1hdGlv
bik6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRlZE51bWJlckFuaW1hdG9yOjpzdG9wQW5p
bVZhbEFuaW1hdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRlZE51bWJlckFuaW1h
dG9yOjpyZXNldEFuaW1WYWxUb0Jhc2VWYWwpOgorICAgICAgICAqIHN2Zy9TVkdBbmltYXRlZE51
bWJlckxpc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZWROdW1iZXJMaXN0QW5p
bWF0b3I6OnN0YXJ0QW5pbVZhbEFuaW1hdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmlt
YXRlZE51bWJlckxpc3RBbmltYXRvcjo6c3RvcEFuaW1WYWxBbmltYXRpb24pOgorICAgICAgICAo
V2ViQ29yZTo6U1ZHQW5pbWF0ZWROdW1iZXJMaXN0QW5pbWF0b3I6OnJlc2V0QW5pbVZhbFRvQmFz
ZVZhbCk6CisgICAgICAgICogc3ZnL1NWR0FuaW1hdGVkTnVtYmVyT3B0aW9uYWxOdW1iZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZWROdW1iZXJPcHRpb25hbE51bWJlckFuaW1h
dG9yOjpzdGFydEFuaW1WYWxBbmltYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0
ZWROdW1iZXJPcHRpb25hbE51bWJlckFuaW1hdG9yOjpzdG9wQW5pbVZhbEFuaW1hdGlvbik6Cisg
ICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRlZE51bWJlck9wdGlvbmFsTnVtYmVyQW5pbWF0b3I6
OnJlc2V0QW5pbVZhbFRvQmFzZVZhbCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRlZE51
bWJlck9wdGlvbmFsTnVtYmVyQW5pbWF0b3I6OmFuaW1WYWxXaWxsQ2hhbmdlKToKKyAgICAgICAg
KFdlYkNvcmU6OlNWR0FuaW1hdGVkTnVtYmVyT3B0aW9uYWxOdW1iZXJBbmltYXRvcjo6YW5pbVZh
bERpZENoYW5nZSk6CisgICAgICAgICogc3ZnL1NWR0FuaW1hdGVkUHJlc2VydmVBc3BlY3RSYXRp
by5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRlZFByZXNlcnZlQXNwZWN0UmF0aW9B
bmltYXRvcjo6c3RhcnRBbmltVmFsQW5pbWF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0Fu
aW1hdGVkUHJlc2VydmVBc3BlY3RSYXRpb0FuaW1hdG9yOjpzdG9wQW5pbVZhbEFuaW1hdGlvbik6
CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRlZFByZXNlcnZlQXNwZWN0UmF0aW9BbmltYXRv
cjo6cmVzZXRBbmltVmFsVG9CYXNlVmFsKToKKyAgICAgICAgKiBzdmcvU1ZHQW5pbWF0ZWRSZWN0
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0FuaW1hdGVkUmVjdEFuaW1hdG9yOjpzdGFydEFu
aW1WYWxBbmltYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZWRSZWN0QW5pbWF0
b3I6OnN0b3BBbmltVmFsQW5pbWF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0FuaW1hdGVk
UmVjdEFuaW1hdG9yOjpyZXNldEFuaW1WYWxUb0Jhc2VWYWwpOgorICAgICAgICAqIHN2Zy9TVkdB
bmltYXRlZFN0cmluZy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRlZFN0cmluZ0Fu
aW1hdG9yOjpzdGFydEFuaW1WYWxBbmltYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5p
bWF0ZWRTdHJpbmdBbmltYXRvcjo6c3RvcEFuaW1WYWxBbmltYXRpb24pOgorICAgICAgICAoV2Vi
Q29yZTo6U1ZHQW5pbWF0ZWRTdHJpbmdBbmltYXRvcjo6cmVzZXRBbmltVmFsVG9CYXNlVmFsKToK
KyAgICAgICAgKiBzdmcvU1ZHQW5pbWF0ZWRUcmFuc2Zvcm1MaXN0LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlNWR0FuaW1hdGVkVHJhbnNmb3JtTGlzdEFuaW1hdG9yOjpzdGFydEFuaW1WYWxBbmlt
YXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZWRUcmFuc2Zvcm1MaXN0QW5pbWF0
b3I6OnN0b3BBbmltVmFsQW5pbWF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0FuaW1hdGVk
VHJhbnNmb3JtTGlzdEFuaW1hdG9yOjpyZXNldEFuaW1WYWxUb0Jhc2VWYWwpOgorICAgICAgICAq
IHN2Zy9TVkdBbmltYXRlZFR5cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZWRU
eXBlOjp+U1ZHQW5pbWF0ZWRUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0FuaW1hdGVkVHlw
ZTo6Y3JlYXRlQW5nbGVBbmRFbnVtZXJhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmlt
YXRlZFR5cGU6OmNyZWF0ZUVudW1lcmF0aW9uKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZWRUeXBlOjphbmdsZUFuZEVudW1lcmF0aW9uKToKKyAgICAg
ICAgKFdlYkNvcmU6OlNWR0FuaW1hdGVkVHlwZTo6ZW51bWVyYXRpb24pOgorICAgICAgICAoV2Vi
Q29yZTo6U1ZHQW5pbWF0ZWRUeXBlOjp2YWx1ZUFzU3RyaW5nKToKKyAgICAgICAgKFdlYkNvcmU6
OlNWR0FuaW1hdGVkVHlwZTo6c2V0VmFsdWVBc1N0cmluZyk6CisgICAgICAgIChXZWJDb3JlOjpT
VkdBbmltYXRlZFR5cGU6OnN1cHBvcnRzQW5pbVZhbCk6CisgICAgICAgICogc3ZnL1NWR0FuaW1h
dGVkVHlwZS5oOgorICAgICAgICAoU1ZHQW5pbWF0ZWRUeXBlKToKKyAgICAgICAgKiBzdmcvU1ZH
QW5pbWF0ZWRUeXBlQW5pbWF0b3IuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0FuaW1hdGVkVHlw
ZUFuaW1hdG9yOjpmaW5kQW5pbWF0ZWRQcm9wZXJ0aWVzRm9yQXR0cmlidXRlTmFtZSk6CisgICAg
ICAgIChTVkdBbmltYXRlZFR5cGVBbmltYXRvcik6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmlt
YXRlZFR5cGVBbmltYXRvcjo6Y29uc3RydWN0RnJvbUJhc2VWYWx1ZSk6CisgICAgICAgIChXZWJD
b3JlOjpTVkdBbmltYXRlZFR5cGVBbmltYXRvcjo6cmVzZXRGcm9tQmFzZVZhbHVlKToKKyAgICAg
ICAgKFdlYkNvcmU6OlNWR0FuaW1hdGVkVHlwZUFuaW1hdG9yOjpzdG9wQW5pbVZhbEFuaW1hdGlv
bkZvclR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZWRUeXBlQW5pbWF0b3I6OmFu
aW1WYWxEaWRDaGFuZ2VGb3JUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0FuaW1hdGVkVHlw
ZUFuaW1hdG9yOjphbmltVmFsV2lsbENoYW5nZUZvclR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6
U1ZHQW5pbWF0ZWRUeXBlQW5pbWF0b3I6OmNvbnN0cnVjdEZyb21CYXNlVmFsdWVzKToKKyAgICAg
ICAgKFdlYkNvcmU6OlNWR0FuaW1hdGVkVHlwZUFuaW1hdG9yOjpyZXNldEZyb21CYXNlVmFsdWVz
KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0FuaW1hdGVkVHlwZUFuaW1hdG9yOjpzdG9wQW5pbVZh
bEFuaW1hdGlvbkZvclR5cGVzKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0FuaW1hdGVkVHlwZUFu
aW1hdG9yOjphbmltVmFsRGlkQ2hhbmdlRm9yVHlwZXMpOgorICAgICAgICAoV2ViQ29yZTo6U1ZH
QW5pbWF0ZWRUeXBlQW5pbWF0b3I6OmFuaW1WYWxXaWxsQ2hhbmdlRm9yVHlwZXMpOgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZWRUeXBlQW5pbWF0b3I6OmNhc3RBbmltYXRlZFByb3BlcnR5
VG9BY3R1YWxUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0FuaW1hdGVkVHlwZUFuaW1hdG9y
OjpleGVjdXRlQWN0aW9uKToKKyAgICAgICAgKiBzdmcvU1ZHQW5pbWF0b3JGYWN0b3J5Lmg6Cisg
ICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZSk6CisgICAgICAgICog
c3ZnL1NWR01hcmtlckVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICog
c3ZnL3Byb3BlcnRpZXMvU1ZHQW5pbWF0ZWRMaXN0UHJvcGVydHlUZWFyT2ZmLmg6CisgICAgICAg
IChTVkdBbmltYXRlZExpc3RQcm9wZXJ0eVRlYXJPZmYpOgorICAgICAgICAqIHN2Zy9wcm9wZXJ0
aWVzL1NWR0FuaW1hdGVkUHJvcGVydHlUZWFyT2ZmLmg6CisgICAgICAgIChTVkdBbmltYXRlZFBy
b3BlcnR5VGVhck9mZik6CisgICAgICAgICogc3ZnL3Byb3BlcnRpZXMvU1ZHQW5pbWF0ZWRTdGF0
aWNQcm9wZXJ0eVRlYXJPZmYuaDoKKyAgICAgICAgKFNWR0FuaW1hdGVkU3RhdGljUHJvcGVydHlU
ZWFyT2ZmKToKKwogMjAxMi0wMy0yNyAgTmlrb2xhcyBaaW1tZXJtYW5uICA8bnppbW1lcm1hbm5A
cmltLmNvbT4KIAogICAgICAgICBFbmFibGUgYW5pbVZhbCBzdXBwb3J0IGZvciBTVkdBbmltYXRl
ZFByZXNlcnZlQXNwZWN0UmF0aW8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlz
dHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggZGI4MTY2M2UzNDYy
OWU4NjFkODBhMzRiMjE3NDlmMDgyOGNhOTk3ZC4uYjM5YWVlMTg2ZjhiY2JlZTU4YmNhMzVkMDFh
MzFiOWE5NWNhZjhkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQK
KysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTE3NjUsNiArMTc2NSw3IEBA
IElGIChFTkFCTEVfU1ZHKQogICAgICAgICBzdmcvU1ZHQW5pbWF0ZWRBbmdsZS5jcHAKICAgICAg
ICAgc3ZnL1NWR0FuaW1hdGVkQm9vbGVhbi5jcHAKICAgICAgICAgc3ZnL1NWR0FuaW1hdGVkQ29s
b3IuY3BwCisgICAgICAgIHN2Zy9TVkdBbmltYXRlZEVudW1lcmF0aW9uLmNwcAogICAgICAgICBz
dmcvU1ZHQW5pbWF0ZWRJbnRlZ2VyLmNwcAogICAgICAgICBzdmcvU1ZHQW5pbWF0ZWRJbnRlZ2Vy
T3B0aW9uYWxJbnRlZ2VyLmNwcAogICAgICAgICBzdmcvU1ZHQW5pbWF0ZWRMZW5ndGguY3BwCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dl
YkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQppbmRleCAxMmNkMTIwYmVjMjdkMTRkOTdhM2QzYjg2
MGY4MGZkZTM1ZDI5NjM4Li5jN2MyODYxMzJhYmVjMWMzNTE4ODhhOTFlOGZkMjZiZjk0YmVmZDU0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTQxMjYsNiArNDEyNiw3IEBAIHdl
YmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkQm9vbGVh
bi5oIFwKIAlTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRDb2xvci5jcHAgXAogCVNvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZENvbG9yLmggXAorCVNvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdBbmltYXRlZEVudW1lcmF0aW9uLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1h
dGVkRW51bWVyYXRpb24uaCBcCiAJU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkSW50ZWdl
ci5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZEludGVnZXIuaCBcCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0
LnByaQppbmRleCA1MTNkYzk4NDQzOTY5YTUwNjk1ZmFjZTY2NjJmODdlOTMyMDJhOTJkLi4xNjRi
OGMxZjExMWVjODg1NjE4YTQzZWVmYTY0M2M5M2JjOWJlZGFkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9UYXJnZXQucHJpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKQEAgLTM1
MDcsNiArMzUwNyw3IEBAIGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9TVkc9MSkgewogICAgICAg
ICAgICAgICAgICAgc3ZnL1NWR0FuaW1hdGVkQW5nbGUuY3BwIFwKICAgICAgICAgICAgICAgICAg
IHN2Zy9TVkdBbmltYXRlZEJvb2xlYW4uY3BwIFwKICAgICAgICAgICAgICAgICAgIHN2Zy9TVkdB
bmltYXRlZENvbG9yLmNwcCBcCisgICAgICAgICAgICAgICAgICBzdmcvU1ZHQW5pbWF0ZWRFbnVt
ZXJhdGlvbi5jcHAgXAogICAgICAgICAgICAgICAgICAgc3ZnL1NWR0FuaW1hdGVkSW50ZWdlci5j
cHAgXAogICAgICAgICAgICAgICAgICAgc3ZnL1NWR0FuaW1hdGVkSW50ZWdlck9wdGlvbmFsSW50
ZWdlci5jcHAgXAogICAgICAgICAgICAgICAgICAgc3ZnL1NWR0FuaW1hdGVkTGVuZ3RoLmNwcCBc
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmd5cGkKaW5kZXggZGZlMDA4YjNmYTU5NzExMTkyMmU2ODgyZDcwYzMyYzIwMGE5
YTg5Zi4uZDhlZDM0M2FmODkxNzBiMmNiNmQzM2ZjYzZjZWU5MGZjYmZmNjgzYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUuZ3lwaQpAQCAtNTg0MSw2ICs1ODQxLDcgQEAKICAgICAgICAgICAgICdzdmcvU1ZHQW5pbWF0
ZWRBbmdsZS5jcHAnLAogICAgICAgICAgICAgJ3N2Zy9TVkdBbmltYXRlZEJvb2xlYW4uY3BwJywK
ICAgICAgICAgICAgICdzdmcvU1ZHQW5pbWF0ZWRDb2xvci5jcHAnLAorICAgICAgICAgICAgJ3N2
Zy9TVkdBbmltYXRlZEVudW1lcmF0aW9uLmNwcCcsCiAgICAgICAgICAgICAnc3ZnL1NWR0FuaW1h
dGVkSW50ZWdlci5jcHAnLAogICAgICAgICAgICAgJ3N2Zy9TVkdBbmltYXRlZEludGVnZXJPcHRp
b25hbEludGVnZXIuY3BwJywKICAgICAgICAgICAgICdzdmcvU1ZHQW5pbWF0ZWRMZW5ndGguY3Bw
JywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agppbmRleCA0YjBkNWVmNGVhNmQ2ZmQyZmZjYjZmZjY1OTIzMWVlOWEwOTYzYTM5Li42YjlkYzM4
YzBjYzRiZjhhNTM3NDk1Zjk2NTA3ZTBjZGVhYTYwNWI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xNzkyLDYgKzE3OTIsNyBA
QAogCQk3MTM0NDk2RTE0Njk0MUIzMDA3MjAzMTIgLyogU1ZHTGVuZ3RoQ29udGV4dC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzEzNDQ5NkMxNDY5NDFC
MzAwNzIwMzEyIC8qIFNWR0xlbmd0aENvbnRleHQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3MTUzN0EwMTE0NkJEOUQ3MDA4QkQ2MTUgLyogU1ZH
UGF0aERhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDcxNTM3OUZGMTQ2QkQ5RDYwMDhCRDYxNSAvKiBTVkdQYXRoRGF0YS5oICovOyB9OwogCQk3MTU3
RjA2MjE1MEI2NTY0MDA2RUFBQkQgLyogU1ZHQW5pbWF0ZWRUcmFuc2Zvcm1MaXN0LmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDcxNTdGMDYxMTUwQjY1
NjQwMDZFQUFCRCAvKiBTVkdBbmltYXRlZFRyYW5zZm9ybUxpc3QuY3BwICovOyB9OworCQk3MUEx
N0YyRDE1MjFGNTlBMDBDOUQxNzkgLyogU1ZHQW5pbWF0ZWRFbnVtZXJhdGlvbi5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3MUExN0YyQzE1MjFGNTlB
MDBDOUQxNzkgLyogU1ZHQW5pbWF0ZWRFbnVtZXJhdGlvbi5jcHAgKi87IH07CiAJCTcxRTYyM0Qw
MTUxRjcyQTYwMDM2RTJGNCAvKiBTVkdBbmltYXRlZEludGVnZXJPcHRpb25hbEludGVnZXIuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzFFNjIzQ0Ux
NTFGNzJBNjAwMzZFMkY0IC8qIFNWR0FuaW1hdGVkSW50ZWdlck9wdGlvbmFsSW50ZWdlci5jcHAg
Ki87IH07CiAJCTcxRTYyM0QxMTUxRjcyQTYwMDM2RTJGNCAvKiBTVkdBbmltYXRlZEludGVnZXJP
cHRpb25hbEludGVnZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDcxRTYyM0NGMTUxRjcyQTYwMDM2RTJGNCAvKiBTVkdBbmltYXRlZEludGVnZXJPcHRp
b25hbEludGVnZXIuaCAqLzsgfTsKIAkJNzFGQjk2N0IxMzgzRDY0NjAwQUM4QTRDIC8qIFNWR0Fu
aW1hdGVkRW51bWVyYXRpb25Qcm9wZXJ0eVRlYXJPZmYuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDcxRkI5NjdBMTM4M0Q2NDYwMEFDOEE0QyAvKiBTVkdB
bmltYXRlZEVudW1lcmF0aW9uUHJvcGVydHlUZWFyT2ZmLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTg3NTgsNiArODc1OSw3IEBACiAJCTcxNTM3
OUZFMTQ2QkQ5RDYwMDhCRDYxNSAvKiBTVkdQYXRoRGF0YS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBTVkdQYXRoRGF0YS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTcxNTM3OUZGMTQ2QkQ5RDYwMDhCRDYxNSAvKiBTVkdQYXRoRGF0YS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTVkdQYXRoRGF0YS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk3MTU3RjA2MTE1MEI2NTY0MDA2RUFBQkQgLyogU1ZHQW5pbWF0ZWRU
cmFuc2Zvcm1MaXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNW
R0FuaW1hdGVkVHJhbnNmb3JtTGlzdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTcxQTE3RjJDMTUyMUY1OUEwMEM5RDE3OSAvKiBTVkdBbmltYXRlZEVudW1lcmF0aW9uLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNWR0FuaW1hdGVkRW51bWVyYXRp
b24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3MUU2MjNDRTE1MUY3MkE2MDAz
NkUyRjQgLyogU1ZHQW5pbWF0ZWRJbnRlZ2VyT3B0aW9uYWxJbnRlZ2VyLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNWR0FuaW1hdGVkSW50ZWdlck9wdGlvbmFsSW50
ZWdlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTcxRTYyM0NGMTUxRjcyQTYw
MDM2RTJGNCAvKiBTVkdBbmltYXRlZEludGVnZXJPcHRpb25hbEludGVnZXIuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHQW5pbWF0ZWRJbnRlZ2VyT3B0aW9uYWxJbnRlZ2Vy
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTcxRkI5NjdBMTM4M0Q2NDYwMEFDOEE0
QyAvKiBTVkdBbmltYXRlZEVudW1lcmF0aW9uUHJvcGVydHlUZWFyT2ZmLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNWR0FuaW1hdGVkRW51bWVyYXRpb25Qcm9wZXJ0eVRlYXJP
ZmYuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE4NTk2LDYgKzE4NTk4LDcgQEAK
IAkJCQlCMjIyNzdFNzBEMDBCRjFGMDA3MUI3ODIgLyogU1ZHQW5pbWF0ZWRCb29sZWFuLmlkbCAq
LywKIAkJCQk0M0E2MjVGNzEzQjMzMDQwMDBBQzk0QjggLyogU1ZHQW5pbWF0ZWRDb2xvci5jcHAg
Ki8sCiAJCQkJNDNBNjI1RjYxM0IzMzA0MDAwQUM5NEI4IC8qIFNWR0FuaW1hdGVkQ29sb3IuaCAq
LywKKwkJCQk3MUExN0YyQzE1MjFGNTlBMDBDOUQxNzkgLyogU1ZHQW5pbWF0ZWRFbnVtZXJhdGlv
bi5jcHAgKi8sCiAJCQkJMDhENDZDRTIxMjdBRDVGQzAwODk2OTRCIC8qIFNWR0FuaW1hdGVkRW51
bWVyYXRpb24uaCAqLywKIAkJCQlCMjIyNzdFODBEMDBCRjFGMDA3MUI3ODIgLyogU1ZHQW5pbWF0
ZWRFbnVtZXJhdGlvbi5pZGwgKi8sCiAJCQkJNDNGNkZEOTUxM0JDRDBCMTAwMjI0MDUyIC8qIFNW
R0FuaW1hdGVkSW50ZWdlci5jcHAgKi8sCkBAIC0yNzYyNCw2ICsyNzYyNyw3IEBACiAJCQkJOTc3
RTJFMEUxMkYwRkM5QzAwQzEzMzc5IC8qIFhTU0F1ZGl0b3IuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJRkQ1MzczNTIxMzdCNjUxODAwMDA4RENFIC8qIFplcm9Qb2xlLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTcxRTYyM0QwMTUxRjcyQTYwMDM2RTJGNCAvKiBTVkdBbmltYXRlZEludGVnZXJPcHRp
b25hbEludGVnZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNzFBMTdGMkQxNTIxRjU5QTAwQzlE
MTc5IC8qIFNWR0FuaW1hdGVkRW51bWVyYXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwog
CQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQWxsSW5PbmUuY3BwIGIvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0FsbEluT25lLmNwcAppbmRleCBiOGQyZmM5M2MwZDYwZTU2NDQ4ZmU4M2EyMDliZWJh
OWJkMjJmZDczLi4xNmM1MzUxNjg2ZmMxN2FmM2I1ZjU3MGFkM2EwMTdkZTg1NGZlYTA5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQWxsSW5PbmUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdBbGxJbk9uZS5jcHAKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNsdWRlICJT
VkdBbmltYXRlZEFuZ2xlLmNwcCIKICNpbmNsdWRlICJTVkdBbmltYXRlZEJvb2xlYW4uY3BwIgog
I2luY2x1ZGUgIlNWR0FuaW1hdGVkQ29sb3IuY3BwIgorI2luY2x1ZGUgIlNWR0FuaW1hdGVkRW51
bWVyYXRpb24uY3BwIgogI2luY2x1ZGUgIlNWR0FuaW1hdGVkSW50ZWdlci5jcHAiCiAjaW5jbHVk
ZSAiU1ZHQW5pbWF0ZWRJbnRlZ2VyT3B0aW9uYWxJbnRlZ2VyLmNwcCIKICNpbmNsdWRlICJTVkdB
bmltYXRlZExlbmd0aC5jcHAiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5p
bWF0ZUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVFbGVtZW50LmNw
cAppbmRleCAwOGQzNTc5YjdkZGIyYjNiNTRmMDc4ZTU3MjIzMjA4NzgyM2ZlY2M1Li4yNDdjNjE2
YTgxMGE1NjcwMTdkMTVhN2RmNTYwNGRjYzA5ZDM0Y2FmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHQW5pbWF0ZUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdBbmltYXRlRWxlbWVudC5jcHAKQEAgLTExOSwxOSArMTE5LDI2IEBAIEFuaW1hdGVkUHJvcGVy
dHlUeXBlIFNWR0FuaW1hdGVFbGVtZW50OjpkZXRlcm1pbmVBbmltYXRlZFByb3BlcnR5VHlwZShT
VkdFbGVtZW50CiAgICAgaWYgKHByb3BlcnR5VHlwZXMuaXNFbXB0eSgpKQogICAgICAgICByZXR1
cm4gQW5pbWF0ZWRVbmtub3duOwogCisgICAgQVNTRVJUKHByb3BlcnR5VHlwZXMuc2l6ZSgpIDw9
IDIpOwogICAgIEFuaW1hdGVkUHJvcGVydHlUeXBlIHR5cGUgPSBwcm9wZXJ0eVR5cGVzWzBdOwog
ICAgIGlmIChoYXNUYWdOYW1lKFNWR05hbWVzOjphbmltYXRlQ29sb3JUYWcpICYmIHR5cGUgIT0g
QW5pbWF0ZWRDb2xvcikKICAgICAgICAgcmV0dXJuIEFuaW1hdGVkVW5rbm93bjsKIAotICAgIC8v
IEZJWE1FOiBBbmltYXRvciBmb3IgQW5pbWF0ZWRFbnVtZXJhdGlvbiBtaXNzaW5nLiBGYWxsaW5n
IGJhY2sgdG8gU3RyaW5nIGFuaW1hdGlvbi4KLSAgICBpZiAodHlwZSA9PSBBbmltYXRlZEVudW1l
cmF0aW9uKQotICAgICAgICByZXR1cm4gQW5pbWF0ZWRTdHJpbmc7Ci0KICAgICAvLyBBbmltYXRp
b25zIG9mIHRyYW5zZm9ybSBsaXN0cyBhcmUgbm90IGFsbG93ZWQgZm9yIDxhbmltYXRlPiBvciA8
c2V0PgogICAgIC8vIGh0dHA6Ly93d3cudzMub3JnL1RSL1NWRy9hbmltYXRlLmh0bWwjQW5pbWF0
aW9uQXR0cmlidXRlc0FuZFByb3BlcnRpZXMKICAgICBpZiAodHlwZSA9PSBBbmltYXRlZFRyYW5z
Zm9ybUxpc3QgJiYgIWhhc1RhZ05hbWUoU1ZHTmFtZXM6OmFuaW1hdGVUcmFuc2Zvcm1UYWcpKQog
ICAgICAgICByZXR1cm4gQW5pbWF0ZWRVbmtub3duOwogCisgICAgLy8gRm9ydHVuYXRlbHkgdGhl
cmUncyBqdXN0IG9uZSBzcGVjaWFsIGNhc2UgbmVlZGVkIGhlcmU6IFNWR01hcmtlckVsZW1lbnRz
IG9yaWVudEF0dHIsIHdoaWNoCisgICAgLy8gY29ycmVzcG9uZHMgdG8gU1ZHQW5pbWF0ZWRBbmds
ZSBvcmllbnRBbmdsZSBhbmQgU1ZHQW5pbWF0ZWRFbnVtZXJhdGlvbiBvcmllbnRUeXBlLiBXZSBo
YXZlIHRvCisgICAgLy8gZmlndXJlIG91dCB3aG9zZSB2YWx1ZSB0byBjaGFuZ2UgaGVyZS4KKyAg
ICBpZiAodGFyZ2V0RWxlbWVudC0+aGFzVGFnTmFtZShTVkdOYW1lczo6bWFya2VyVGFnKSAmJiB0
eXBlID09IEFuaW1hdGVkQW5nbGUpIHsKKyAgICAgICAgQVNTRVJUKHByb3BlcnR5VHlwZXMuc2l6
ZSgpID09IDIpOworICAgICAgICBBU1NFUlQocHJvcGVydHlUeXBlc1swXSA9PSBBbmltYXRlZEFu
Z2xlKTsKKyAgICAgICAgQVNTRVJUKHByb3BlcnR5VHlwZXNbMV0gPT0gQW5pbWF0ZWRFbnVtZXJh
dGlvbik7CisgICAgfSBlbHNlIGlmIChwcm9wZXJ0eVR5cGVzLnNpemUoKSA9PSAyKQorICAgICAg
ICBBU1NFUlQocHJvcGVydHlUeXBlc1swXSA9PSBwcm9wZXJ0eVR5cGVzWzFdKTsKKwogICAgIHJl
dHVybiB0eXBlOwogfQogCkBAIC0xNjQsNyArMTcxLDYgQEAgdm9pZCBTVkdBbmltYXRlRWxlbWVu
dDo6Y2FsY3VsYXRlQW5pbWF0ZWRWYWx1ZShmbG9hdCBwZXJjZW50YWdlLCB1bnNpZ25lZCByZXBl
YXQKICAgICBBU1NFUlQobV9hbmltYXRlZFByb3BlcnR5VHlwZSA9PSBkZXRlcm1pbmVBbmltYXRl
ZFByb3BlcnR5VHlwZSh0YXJnZXRFbGVtZW50KSk7CiAKICAgICBBU1NFUlQocGVyY2VudGFnZSA+
PSAwICYmIHBlcmNlbnRhZ2UgPD0gMSk7Ci0gICAgQVNTRVJUKG1fYW5pbWF0ZWRQcm9wZXJ0eVR5
cGUgIT0gQW5pbWF0ZWRFbnVtZXJhdGlvbik7CiAgICAgQVNTRVJUKG1fYW5pbWF0ZWRQcm9wZXJ0
eVR5cGUgIT0gQW5pbWF0ZWRUcmFuc2Zvcm1MaXN0IHx8IGhhc1RhZ05hbWUoU1ZHTmFtZXM6OmFu
aW1hdGVUcmFuc2Zvcm1UYWcpKTsKICAgICBBU1NFUlQobV9hbmltYXRlZFByb3BlcnR5VHlwZSAh
PSBBbmltYXRlZFVua25vd24pOwogICAgIEFTU0VSVChtX2FuaW1hdG9yKTsKQEAgLTE5Miw3ICsx
OTgsOCBAQCB2b2lkIFNWR0FuaW1hdGVFbGVtZW50OjpjYWxjdWxhdGVBbmltYXRlZFZhbHVlKGZs
b2F0IHBlcmNlbnRhZ2UsIHVuc2lnbmVkIHJlcGVhdAogICAgIC8vIGlmIGFmdGVyIGNhbGN1bGF0
ZUFuaW1hdGVkVmFsdWUoKSByYW4gdGhlIGNhY2hlZCBwb2ludGVycyBpbiB0aGUgbGlzdCBwcm9w
ZXJ5IHRlYXIKICAgICAvLyBvZmZzIHdvdWxkIHBvaW50IG5vd2hlcmUsIGFuZCB3ZSBjb3VsZG4n
dCBjcmVhdGUgY29waWVzIG9mIHRob3NlIHZhbHVlcyBhbnltb3JlLAogICAgIC8vIHdoaWxlIGRl
dGFjaGluZy4gVGhpcyBpcyBjb3ZlcmVkIGJ5IGFzc2VydGlvbnMsIG1vdmluZyB0aGlzIGRvd24g
d291bGQgZmlyZSB0aGVtLgotICAgIG1fYW5pbWF0b3ItPmFuaW1WYWxXaWxsQ2hhbmdlKG1fYW5p
bWF0ZWRQcm9wZXJ0aWVzKTsKKyAgICBpZiAoIW1fYW5pbWF0ZWRQcm9wZXJ0aWVzLmlzRW1wdHko
KSkKKyAgICAgICAgbV9hbmltYXRvci0+YW5pbVZhbFdpbGxDaGFuZ2UobV9hbmltYXRlZFByb3Bl
cnRpZXMpOwogICAgIG1fYW5pbWF0b3ItPmNhbGN1bGF0ZUFuaW1hdGVkVmFsdWUocGVyY2VudGFn
ZSwgcmVwZWF0LCBtX2Zyb21UeXBlLCBtX3RvVHlwZSwgcmVzdWx0QW5pbWF0aW9uRWxlbWVudC0+
bV9hbmltYXRlZFR5cGUpOwogfQogCkBAIC0yMjQsOCArMjMxLDEyIEBAIGJvb2wgU1ZHQW5pbWF0
ZUVsZW1lbnQ6OmNhbGN1bGF0ZUZyb21BbmRCeVZhbHVlcyhjb25zdCBTdHJpbmcmIGZyb21TdHJp
bmcsIGNvbnN0CiBzdGF0aWMgaW5saW5lIGJvb2wgcHJvcGVydHlUeXBlc0FyZUNvbnNpc3RlbnQo
QW5pbWF0ZWRQcm9wZXJ0eVR5cGUgZXhwZWN0ZWRQcm9wZXJ0eVR5cGUsIGNvbnN0IFZlY3RvcjxT
VkdBbmltYXRlZFByb3BlcnR5Kj4mIHByb3BlcnRpZXMpCiB7CiAgICAgZm9yIChzaXplX3QgaSA9
IDA7IGkgPCBwcm9wZXJ0aWVzLnNpemUoKTsgKytpKSB7Ci0gICAgICAgIGlmIChleHBlY3RlZFBy
b3BlcnR5VHlwZSAhPSBwcm9wZXJ0aWVzW2ldLT5hbmltYXRlZFByb3BlcnR5VHlwZSgpKQorICAg
ICAgICBpZiAoZXhwZWN0ZWRQcm9wZXJ0eVR5cGUgIT0gcHJvcGVydGllc1tpXS0+YW5pbWF0ZWRQ
cm9wZXJ0eVR5cGUoKSkgeworICAgICAgICAgICAgLy8gVGhpcyBpcyB0aGUgb25seSBhbGxvd2Vk
IGluY29uc2lzdGVuY3kuIFNWR0FuaW1hdGVkQW5nbGVBbmltYXRvciBoYW5kbGVzIGJvdGggU1ZH
QW5pbWF0ZWRBbmdsZSAmIFNWR0FuaW1hdGVkRW51bWVyYXRpb24gZm9yIG1hcmtlcnMgb3JpZW50
IGF0dHJpYnV0ZS4KKyAgICAgICAgICAgIGlmIChleHBlY3RlZFByb3BlcnR5VHlwZSA9PSBBbmlt
YXRlZEFuZ2xlICYmIHByb3BlcnRpZXNbaV0tPmFuaW1hdGVkUHJvcGVydHlUeXBlKCkgPT0gQW5p
bWF0ZWRFbnVtZXJhdGlvbikKKyAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfQogICAgIH0KICAgICByZXR1cm4gdHJ1ZTsKIH0K
QEAgLTI2NSw3ICsyNzYsNiBAQCB2b2lkIFNWR0FuaW1hdGVFbGVtZW50OjpyZXNldFRvQmFzZVZh
bHVlKGNvbnN0IFN0cmluZyYgYmFzZVN0cmluZykKIAogdm9pZCBTVkdBbmltYXRlRWxlbWVudDo6
YXBwbHlSZXN1bHRzVG9UYXJnZXQoKQogewotICAgIEFTU0VSVChtX2FuaW1hdGVkUHJvcGVydHlU
eXBlICE9IEFuaW1hdGVkRW51bWVyYXRpb24pOwogICAgIEFTU0VSVChtX2FuaW1hdGVkUHJvcGVy
dHlUeXBlICE9IEFuaW1hdGVkVHJhbnNmb3JtTGlzdCB8fCBoYXNUYWdOYW1lKFNWR05hbWVzOjph
bmltYXRlVHJhbnNmb3JtVGFnKSk7CiAgICAgQVNTRVJUKG1fYW5pbWF0ZWRQcm9wZXJ0eVR5cGUg
IT0gQW5pbWF0ZWRVbmtub3duKTsKICAgICBBU1NFUlQobV9hbmltYXRlZFR5cGUpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkQW5nbGUuY3BwIGIvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0FuaW1hdGVkQW5nbGUuY3BwCmluZGV4IGU5NjFjZGI3NzgzMGRhZGU0Njll
ODhhYjViOWIwNzdiZjc5YzcxOTguLmU5ZWIwNDAxMjY5NTBjOTQ1MzIzY2U3NjU4ODBjMzE2ZjQ3
ODNiMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZEFuZ2xlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRBbmdsZS5jcHAKQEAgLTEsNSAr
MSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZCAy
MDExLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSBSZXNlYXJjaCBJbiBN
b3Rpb24gTGltaXRlZCAyMDExLCAyMDEyLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFRo
aXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv
b3IKICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljCkBAIC0yMyw2ICsyMyw3IEBACiAjaW5jbHVkZSAiU1ZHQW5pbWF0ZWRBbmdsZS5o
IgogCiAjaW5jbHVkZSAiU1ZHQW5pbWF0ZUVsZW1lbnQuaCIKKyNpbmNsdWRlICJTVkdNYXJrZXJF
bGVtZW50LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDAsMzQgKzQxLDQyIEBAIHN0
YXRpYyBpbmxpbmUgU1ZHQW5nbGUmIHNoYXJlZFNWR0FuZ2xlKGNvbnN0IFN0cmluZyYgdmFsdWVB
c1N0cmluZykKIAogUGFzc093blB0cjxTVkdBbmltYXRlZFR5cGU+IFNWR0FuaW1hdGVkQW5nbGVB
bmltYXRvcjo6Y29uc3RydWN0RnJvbVN0cmluZyhjb25zdCBTdHJpbmcmIHN0cmluZykKIHsKLSAg
ICBPd25QdHI8U1ZHQW5pbWF0ZWRUeXBlPiBhbmltYXRlZFR5cGUgPSBTVkdBbmltYXRlZFR5cGU6
OmNyZWF0ZUFuZ2xlKG5ldyBTVkdBbmdsZSk7Ci0gICAgYW5pbWF0ZWRUeXBlLT5hbmdsZSgpLnNl
dFZhbHVlQXNTdHJpbmcoc3RyaW5nLCBBU1NFUlRfTk9fRVhDRVBUSU9OKTsKKyAgICBPd25QdHI8
U1ZHQW5pbWF0ZWRUeXBlPiBhbmltYXRlZFR5cGUgPSBTVkdBbmltYXRlZFR5cGU6OmNyZWF0ZUFu
Z2xlQW5kRW51bWVyYXRpb24obmV3IHBhaXI8U1ZHQW5nbGUsIHVuc2lnbmVkIHNob3J0Pik7Cisg
ICAgcGFpcjxTVkdBbmdsZSwgdW5zaWduZWQgc2hvcnQ+JiBhbmltYXRlZFBhaXIgPSBhbmltYXRl
ZFR5cGUtPmFuZ2xlQW5kRW51bWVyYXRpb24oKTsKKworICAgIFNWR0FuZ2xlIGFuZ2xlOworICAg
IFNWR01hcmtlck9yaWVudFR5cGUgb3JpZW50VHlwZSA9IFNWR1Byb3BlcnR5VHJhaXRzPFNWR01h
cmtlck9yaWVudFR5cGU+Ojpmcm9tU3RyaW5nKHN0cmluZywgIGFuZ2xlKTsKKyAgICBpZiAob3Jp
ZW50VHlwZSA+IDApCisgICAgICAgIGFuaW1hdGVkUGFpci5zZWNvbmQgPSBvcmllbnRUeXBlOwor
ICAgIGlmIChvcmllbnRUeXBlID09IFNWR01hcmtlck9yaWVudEFuZ2xlKQorICAgICAgICBhbmlt
YXRlZFBhaXIuZmlyc3QgPSBhbmdsZTsKKwogICAgIHJldHVybiBhbmltYXRlZFR5cGUucmVsZWFz
ZSgpOwogfQogCiBQYXNzT3duUHRyPFNWR0FuaW1hdGVkVHlwZT4gU1ZHQW5pbWF0ZWRBbmdsZUFu
aW1hdG9yOjpzdGFydEFuaW1WYWxBbmltYXRpb24oY29uc3QgVmVjdG9yPFNWR0FuaW1hdGVkUHJv
cGVydHkqPiYgcHJvcGVydGllcykKIHsKLSAgICByZXR1cm4gU1ZHQW5pbWF0ZWRUeXBlOjpjcmVh
dGVBbmdsZShjb25zdHJ1Y3RGcm9tT25lQmFzZVZhbHVlPFNWR0FuZ2xlLCBTVkdBbmltYXRlZEFu
Z2xlPihwcm9wZXJ0aWVzKSk7CisgICAgcmV0dXJuIFNWR0FuaW1hdGVkVHlwZTo6Y3JlYXRlQW5n
bGVBbmRFbnVtZXJhdGlvbihjb25zdHJ1Y3RGcm9tQmFzZVZhbHVlczxTVkdBbmltYXRlZEFuZ2xl
LCBTVkdBbmltYXRlZEVudW1lcmF0aW9uPihwcm9wZXJ0aWVzKSk7CiB9CiAKIHZvaWQgU1ZHQW5p
bWF0ZWRBbmdsZUFuaW1hdG9yOjpzdG9wQW5pbVZhbEFuaW1hdGlvbihjb25zdCBWZWN0b3I8U1ZH
QW5pbWF0ZWRQcm9wZXJ0eSo+JiBwcm9wZXJ0aWVzKQogewotICAgIFNWR0FuaW1hdGVkVHlwZUFu
aW1hdG9yOjpzdG9wQW5pbVZhbEFuaW1hdGlvbkZvclR5cGU8U1ZHQW5pbWF0ZWRBbmdsZT4ocHJv
cGVydGllcyk7CisgICAgc3RvcEFuaW1WYWxBbmltYXRpb25Gb3JUeXBlczxTVkdBbmltYXRlZEFu
Z2xlLCBTVkdBbmltYXRlZEVudW1lcmF0aW9uPihwcm9wZXJ0aWVzKTsKIH0KIAogdm9pZCBTVkdB
bmltYXRlZEFuZ2xlQW5pbWF0b3I6OnJlc2V0QW5pbVZhbFRvQmFzZVZhbChjb25zdCBWZWN0b3I8
U1ZHQW5pbWF0ZWRQcm9wZXJ0eSo+JiBwcm9wZXJ0aWVzLCBTVkdBbmltYXRlZFR5cGUqIHR5cGUp
CiB7Ci0gICAgcmVzZXRGcm9tT25lQmFzZVZhbHVlPFNWR0FuZ2xlLCBTVkdBbmltYXRlZEFuZ2xl
Pihwcm9wZXJ0aWVzLCB0eXBlLCAmU1ZHQW5pbWF0ZWRUeXBlOjphbmdsZSk7CisgICAgcmVzZXRG
cm9tQmFzZVZhbHVlczxTVkdBbmltYXRlZEFuZ2xlLCBTVkdBbmltYXRlZEVudW1lcmF0aW9uPihw
cm9wZXJ0aWVzLCB0eXBlLCAmU1ZHQW5pbWF0ZWRUeXBlOjphbmdsZUFuZEVudW1lcmF0aW9uKTsK
IH0KIAogdm9pZCBTVkdBbmltYXRlZEFuZ2xlQW5pbWF0b3I6OmFuaW1WYWxXaWxsQ2hhbmdlKGNv
bnN0IFZlY3RvcjxTVkdBbmltYXRlZFByb3BlcnR5Kj4mIHByb3BlcnRpZXMpCiB7Ci0gICAgYW5p
bVZhbFdpbGxDaGFuZ2VGb3JUeXBlPFNWR0FuaW1hdGVkQW5nbGU+KHByb3BlcnRpZXMpOworICAg
IGFuaW1WYWxXaWxsQ2hhbmdlRm9yVHlwZXM8U1ZHQW5pbWF0ZWRBbmdsZSwgU1ZHQW5pbWF0ZWRF
bnVtZXJhdGlvbj4ocHJvcGVydGllcyk7CiB9CiAKIHZvaWQgU1ZHQW5pbWF0ZWRBbmdsZUFuaW1h
dG9yOjphbmltVmFsRGlkQ2hhbmdlKGNvbnN0IFZlY3RvcjxTVkdBbmltYXRlZFByb3BlcnR5Kj4m
IHByb3BlcnRpZXMpCiB7Ci0gICAgYW5pbVZhbERpZENoYW5nZUZvclR5cGU8U1ZHQW5pbWF0ZWRB
bmdsZT4ocHJvcGVydGllcyk7CisgICAgYW5pbVZhbERpZENoYW5nZUZvclR5cGVzPFNWR0FuaW1h
dGVkQW5nbGUsIFNWR0FuaW1hdGVkRW51bWVyYXRpb24+KHByb3BlcnRpZXMpOwogfQogCiB2b2lk
IFNWR0FuaW1hdGVkQW5nbGVBbmltYXRvcjo6Y2FsY3VsYXRlRnJvbUFuZFRvVmFsdWVzKE93blB0
cjxTVkdBbmltYXRlZFR5cGU+JiBmcm9tLCBPd25QdHI8U1ZHQW5pbWF0ZWRUeXBlPiYgdG8sIGNv
bnN0IFN0cmluZyYgZnJvbVN0cmluZywgY29uc3QgU3RyaW5nJiB0b1N0cmluZykKQEAgLTkwLDkg
Kzk5LDE0IEBAIHZvaWQgU1ZHQW5pbWF0ZWRBbmdsZUFuaW1hdG9yOjpjYWxjdWxhdGVGcm9tQW5k
QnlWYWx1ZXMoT3duUHRyPFNWR0FuaW1hdGVkVHlwZT4mCiAgICAgCiAgICAgZnJvbSA9IGNvbnN0
cnVjdEZyb21TdHJpbmcoZnJvbVN0cmluZyk7CiAgICAgdG8gPSBjb25zdHJ1Y3RGcm9tU3RyaW5n
KGJ5U3RyaW5nKTsKLSAgICAKLSAgICBTVkdBbmdsZSYgZnJvbUFuZ2xlID0gZnJvbS0+YW5nbGUo
KTsKLSAgICBTVkdBbmdsZSYgdG9BbmdsZSA9IHRvLT5hbmdsZSgpOworCisgICAgcGFpcjxTVkdB
bmdsZSwgdW5zaWduZWQgc2hvcnQ+JiBmcm9tQW5nbGVBbmRFbnVtZXJhdGlvbiA9IGZyb20tPmFu
Z2xlQW5kRW51bWVyYXRpb24oKTsKKyAgICBwYWlyPFNWR0FuZ2xlLCB1bnNpZ25lZCBzaG9ydD4m
IHRvQW5nbGVBbmRFbnVtZXJhdGlvbiA9IHRvLT5hbmdsZUFuZEVudW1lcmF0aW9uKCk7CisgICAg
Ly8gT25seSByZXNwZWN0IGJ5IGFuaW1hdGlvbnMsIGlmIGZyb20gYW5kIGJ5IGFyZSBib3RoIHNw
ZWNpZmllZCBpbiBhbmdsZXMgKGFuZCBub3QgZWcuICdhdXRvJykuCisgICAgaWYgKGZyb21Bbmds
ZUFuZEVudW1lcmF0aW9uLnNlY29uZCAhPSB0b0FuZ2xlQW5kRW51bWVyYXRpb24uc2Vjb25kIHx8
IGZyb21BbmdsZUFuZEVudW1lcmF0aW9uLnNlY29uZCAhPSBTVkdNYXJrZXJPcmllbnRBbmdsZSkK
KyAgICAgICAgcmV0dXJuOworICAgIFNWR0FuZ2xlJiBmcm9tQW5nbGUgPSBmcm9tQW5nbGVBbmRF
bnVtZXJhdGlvbi5maXJzdDsKKyAgICBTVkdBbmdsZSYgdG9BbmdsZSA9IHRvQW5nbGVBbmRFbnVt
ZXJhdGlvbi5maXJzdDsKICAgICB0b0FuZ2xlLnNldFZhbHVlKHRvQW5nbGUudmFsdWUoKSArIGZy
b21BbmdsZS52YWx1ZSgpKTsKIH0KIApAQCAtMTA0LDE1ICsxMTgsNTYgQEAgdm9pZCBTVkdBbmlt
YXRlZEFuZ2xlQW5pbWF0b3I6OmNhbGN1bGF0ZUFuaW1hdGVkVmFsdWUoZmxvYXQgcGVyY2VudGFn
ZSwgdW5zaWduZWQKICAgICBTVkdBbmltYXRlRWxlbWVudCogYW5pbWF0aW9uRWxlbWVudCA9IHN0
YXRpY19jYXN0PFNWR0FuaW1hdGVFbGVtZW50Kj4obV9hbmltYXRpb25FbGVtZW50KTsKICAgICAK
ICAgICBBbmltYXRpb25Nb2RlIGFuaW1hdGlvbk1vZGUgPSBhbmltYXRpb25FbGVtZW50LT5hbmlt
YXRpb25Nb2RlKCk7CisKICAgICAvLyBUbyBhbmltYXRpb24gdXNlcyBjb250cmlidXRpb25zIGZy
b20gdGhlIGxvd2VyIHByaW9yaXR5IGFuaW1hdGlvbnMgYXMgdGhlIGJhc2UgdmFsdWUuCi0gICAg
Ly8gRklYTUU6IEF2b2lkIHN0cmluZyBwYXJzaW5nLgorICAgIHBhaXI8U1ZHQW5nbGUsIHVuc2ln
bmVkIHNob3J0PiYgYW5pbWF0ZWRBbmdsZUFuZEVudW1lcmF0aW9uID0gYW5pbWF0ZWQtPmFuZ2xl
QW5kRW51bWVyYXRpb24oKTsKKyAgICBwYWlyPFNWR0FuZ2xlLCB1bnNpZ25lZCBzaG9ydD4mIGZy
b21BbmdsZUFuZEVudW1lcmF0aW9uID0gZnJvbS0+YW5nbGVBbmRFbnVtZXJhdGlvbigpOwogICAg
IGlmIChhbmltYXRpb25Nb2RlID09IFRvQW5pbWF0aW9uKQotICAgICAgICBmcm9tID0gY29uc3Ry
dWN0RnJvbVN0cmluZyhhbmltYXRlZC0+YW5nbGUoKS52YWx1ZUFzU3RyaW5nKCkpOwotICAgIAor
ICAgICAgICBmcm9tQW5nbGVBbmRFbnVtZXJhdGlvbi5maXJzdCA9IGFuaW1hdGVkQW5nbGVBbmRF
bnVtZXJhdGlvbi5maXJzdDsKKworICAgIHBhaXI8U1ZHQW5nbGUsIHVuc2lnbmVkIHNob3J0PiYg
dG9BbmdsZUFuZEVudW1lcmF0aW9uID0gdG8tPmFuZ2xlQW5kRW51bWVyYXRpb24oKTsKKyAgICBp
ZiAoZnJvbUFuZ2xlQW5kRW51bWVyYXRpb24uc2Vjb25kICE9IHRvQW5nbGVBbmRFbnVtZXJhdGlv
bi5zZWNvbmQpIHsKKyAgICAgICAgLy8gQW5pbWF0aW5nIGZyb20gZWcuIGF1dG8gdG8gOTBkZWcs
IG9yIGF1dG8gdG8gOTBkZWcuCisgICAgICAgIGlmIChmcm9tQW5nbGVBbmRFbnVtZXJhdGlvbi5z
ZWNvbmQgPT0gU1ZHTWFya2VyT3JpZW50QW5nbGUpIHsKKyAgICAgICAgICAgIC8vIEFuaW1hdGlu
ZyBmcm9tIGFuIGFuZ2xlIHZhbHVlIHRvIGVnLiAnYXV0bycgLSB0aGlzIGRpc2FibGVkIGFkZGl0
aXZlIGFzICdhdXRvJyBpcyBhIGtleXdvcmQuLgorICAgICAgICAgICAgaWYgKHRvQW5nbGVBbmRF
bnVtZXJhdGlvbi5zZWNvbmQgPT0gU1ZHTWFya2VyT3JpZW50QXV0bykgeworICAgICAgICAgICAg
ICAgIGlmIChwZXJjZW50YWdlIDwgMC41ZikgeworICAgICAgICAgICAgICAgICAgICBhbmltYXRl
ZEFuZ2xlQW5kRW51bWVyYXRpb24uZmlyc3QgPSBmcm9tQW5nbGVBbmRFbnVtZXJhdGlvbi5maXJz
dDsKKyAgICAgICAgICAgICAgICAgICAgYW5pbWF0ZWRBbmdsZUFuZEVudW1lcmF0aW9uLnNlY29u
ZCA9IFNWR01hcmtlck9yaWVudEFuZ2xlOworICAgICAgICAgICAgICAgICAgICByZXR1cm47Cisg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGFuaW1hdGVkQW5nbGVBbmRFbnVtZXJh
dGlvbi5maXJzdC5zZXRWYWx1ZSgwKTsKKyAgICAgICAgICAgICAgICBhbmltYXRlZEFuZ2xlQW5k
RW51bWVyYXRpb24uc2Vjb25kID0gU1ZHTWFya2VyT3JpZW50QXV0bzsKKyAgICAgICAgICAgICAg
ICByZXR1cm47CisgICAgICAgICAgICB9CisgICAgICAgICAgICBhbmltYXRlZEFuZ2xlQW5kRW51
bWVyYXRpb24uZmlyc3Quc2V0VmFsdWUoMCk7CisgICAgICAgICAgICBhbmltYXRlZEFuZ2xlQW5k
RW51bWVyYXRpb24uc2Vjb25kID0gU1ZHTWFya2VyT3JpZW50VW5rbm93bjsKKyAgICAgICAgICAg
IHJldHVybjsKKyAgICAgICAgfQorICAgIH0KKworICAgIC8vIEZyb20gJ2F1dG8nIHRvICdhdXRv
Jy4KKyAgICBpZiAoZnJvbUFuZ2xlQW5kRW51bWVyYXRpb24uc2Vjb25kID09IFNWR01hcmtlck9y
aWVudEF1dG8pIHsKKyAgICAgICAgYW5pbWF0ZWRBbmdsZUFuZEVudW1lcmF0aW9uLmZpcnN0LnNl
dFZhbHVlKDApOworICAgICAgICBhbmltYXRlZEFuZ2xlQW5kRW51bWVyYXRpb24uc2Vjb25kID0g
U1ZHTWFya2VyT3JpZW50QXV0bzsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIC8vIElm
IHRoZSBlbnVtZXJhdGlvbiB2YWx1ZSBpcyBub3QgYW5nbGUgb3IgYXV0bywgaXRzIHVua25vd24u
CisgICAgaWYgKGZyb21BbmdsZUFuZEVudW1lcmF0aW9uLnNlY29uZCAhPSBTVkdNYXJrZXJPcmll
bnRBbmdsZSkgeworICAgICAgICBhbmltYXRlZEFuZ2xlQW5kRW51bWVyYXRpb24uZmlyc3Quc2V0
VmFsdWUoMCk7CisgICAgICAgIGFuaW1hdGVkQW5nbGVBbmRFbnVtZXJhdGlvbi5zZWNvbmQgPSBT
VkdNYXJrZXJPcmllbnRVbmtub3duOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgLy8g
UmVndWxhciBmcm9tIGFuZ2xlIHRvIGFuZ2xlIGFuaW1hdGlvbiwgd2l0aCBhbGwgZmVhdHVyZXMg
bGlrZSBhZGRpdGl2ZSBldGMuCisgICAgYW5pbWF0ZWRBbmdsZUFuZEVudW1lcmF0aW9uLnNlY29u
ZCA9IFNWR01hcmtlck9yaWVudEFuZ2xlOworCiAgICAgLy8gUmVwbGFjZSAnaW5oZXJpdCcgYnkg
dGhlaXIgY29tcHV0ZWQgcHJvcGVydHkgdmFsdWVzLgogICAgIGZsb2F0IG51bWJlcjsKLSAgICBm
bG9hdCBmcm9tQW5nbGUgPSBmcm9tLT5hbmdsZSgpLnZhbHVlKCk7Ci0gICAgZmxvYXQgdG9Bbmds
ZSA9IHRvLT5hbmdsZSgpLnZhbHVlKCk7CisKKyAgICBmbG9hdCBmcm9tQW5nbGUgPSBmcm9tQW5n
bGVBbmRFbnVtZXJhdGlvbi5maXJzdC52YWx1ZSgpOworICAgIGZsb2F0IHRvQW5nbGUgPSB0b0Fu
Z2xlQW5kRW51bWVyYXRpb24uZmlyc3QudmFsdWUoKTsKICAgICAKICAgICBpZiAoYW5pbWF0aW9u
RWxlbWVudC0+ZnJvbVByb3BlcnR5VmFsdWVUeXBlKCkgPT0gSW5oZXJpdFZhbHVlKSB7CiAgICAg
ICAgIFN0cmluZyBmcm9tQW5nbGVTdHJpbmc7CkBAIC0xMzMsNyArMTg4LDcgQEAgdm9pZCBTVkdB
bmltYXRlZEFuZ2xlQW5pbWF0b3I6OmNhbGN1bGF0ZUFuaW1hdGVkVmFsdWUoZmxvYXQgcGVyY2Vu
dGFnZSwgdW5zaWduZWQKICAgICAvLyBGSVhNRTogVGhpcyBpcyBub3QgY29ycmVjdCBmb3IgdmFs
dWVzIGFuaW1hdGlvbi4KICAgICBpZiAoYW5pbWF0aW9uRWxlbWVudC0+aXNBY2N1bXVsYXRlZCgp
ICYmIHJlcGVhdENvdW50KQogICAgICAgICBudW1iZXIgKz0gdG9BbmdsZSAqIHJlcGVhdENvdW50
OwotICAgIFNWR0FuZ2xlJiBhbmltYXRlZFNWR0FuZ2xlID0gYW5pbWF0ZWQtPmFuZ2xlKCk7Cisg
ICAgU1ZHQW5nbGUmIGFuaW1hdGVkU1ZHQW5nbGUgPSBhbmltYXRlZEFuZ2xlQW5kRW51bWVyYXRp
b24uZmlyc3Q7CiAgICAgaWYgKGFuaW1hdGlvbkVsZW1lbnQtPmlzQWRkaXRpdmUoKSAmJiBhbmlt
YXRpb25Nb2RlICE9IFRvQW5pbWF0aW9uKSB7CiAgICAgICAgIGZsb2F0IGFuaW1hdGVkU1ZHQW5n
bGVWYWx1ZSA9IGFuaW1hdGVkU1ZHQW5nbGUudmFsdWUoKTsKICAgICAgICAgYW5pbWF0ZWRTVkdB
bmdsZVZhbHVlICs9IG51bWJlcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdB
bmltYXRlZEFuZ2xlLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRBbmdsZS5oCmlu
ZGV4IGYyMmE5NzUxN2ViYWEwMGUyY2QwN2NlNjQzNzU2ZWZkZmYxMmJjZmQuLjI3MGM1ZTQzMDkx
ODg0MzAwYmRjZDA0Mzc1ZDE1YjI3NjA1ZTVhNmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdBbmltYXRlZEFuZ2xlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1h
dGVkQW5nbGUuaApAQCAtMjksMTEgKzI5LDEyIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogdHlw
ZWRlZiBTVkdBbmltYXRlZFByb3BlcnR5VGVhck9mZjxTVkdBbmdsZT4gU1ZHQW5pbWF0ZWRBbmds
ZTsKIAotLy8gSGVscGVyIG1hY3JvcyB0byBkZWNsYXJlL2RlZmluZSBhIFNWR0FuaW1hdGVkQW5n
bGUgb2JqZWN0CisvLyBIZWxwZXIgbWFjcm9zIHRvIGRlY2xhcmUvZGVmaW5lIGEgU1ZHQW5pbWF0
ZWRBbmdsZSBvYmplY3QuIFNWR0FuaW1hdGVkQW5nbGUgaXMgb25seSB1c2VkIGluIHRoZSBTVkcg
RE9NIGZvciBTVkdNYXJrZXJFbGVtZW50LgogI2RlZmluZSBERUNMQVJFX0FOSU1BVEVEX0FOR0xF
KFVwcGVyUHJvcGVydHksIExvd2VyUHJvcGVydHkpIFwKIERFQ0xBUkVfQU5JTUFURURfUFJPUEVS
VFkoU1ZHQW5pbWF0ZWRBbmdsZSwgU1ZHQW5nbGUsIFVwcGVyUHJvcGVydHksIExvd2VyUHJvcGVy
dHkpCiAKLSNkZWZpbmUgREVGSU5FX0FOSU1BVEVEX0FOR0xFX01VTFRJUExFX1dSQVBQRVJTKE93
bmVyVHlwZSwgRE9NQXR0cmlidXRlLCBTVkdET01BdHRyaWJ1dGVJZGVudGlmaWVyLCBVcHBlclBy
b3BlcnR5LCBMb3dlclByb3BlcnR5KSBcCisvLyBPbmx5IHVzZWQgZm9yIFNWR01hcmtlckVsZW1l
bnRzIG9yaWVudEF0dHIsIHdoaWNoIG1hcHMgdG8gU1ZHQW5pbWF0ZWRBbmdsZSBvcmllbnRBbmds
ZSBhbmQgU1ZHQW5pbWF0ZWRFbnVtZXJhdGlvbiBvcmllbnRUeXBlLgorI2RlZmluZSBERUZJTkVf
QU5JTUFURURfQU5HTEVfQU5EX0VOVU1FUkFUSU9OKE93bmVyVHlwZSwgRE9NQXR0cmlidXRlLCBT
VkdET01BdHRyaWJ1dGVJZGVudGlmaWVyLCBVcHBlclByb3BlcnR5LCBMb3dlclByb3BlcnR5KSBc
CiBERUZJTkVfQU5JTUFURURfUFJPUEVSVFkoQW5pbWF0ZWRBbmdsZSwgT3duZXJUeXBlLCBET01B
dHRyaWJ1dGUsIFNWR0RPTUF0dHJpYnV0ZUlkZW50aWZpZXIsIFVwcGVyUHJvcGVydHksIExvd2Vy
UHJvcGVydHkpCiAKIGNsYXNzIFNWR0FuaW1hdGlvbkVsZW1lbnQ7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRCb29sZWFuLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdBbmltYXRlZEJvb2xlYW4uY3BwCmluZGV4IGU0MTExNTZmYTNmNTcwYjZhNmM4MjcyNmYx
MTg5YmI0OTY1Y2RjZWYuLjE2OGU0YjA3NzgzNWI4NGYwNzcyMGRhMTIxOGJiZmNjNGU0NDI5NGUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZEJvb2xlYW4uY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZEJvb2xlYW4uY3BwCkBAIC00MSwxNyAr
NDEsMTcgQEAgUGFzc093blB0cjxTVkdBbmltYXRlZFR5cGU+IFNWR0FuaW1hdGVkQm9vbGVhbkFu
aW1hdG9yOjpjb25zdHJ1Y3RGcm9tU3RyaW5nKGNvbnMKIAogUGFzc093blB0cjxTVkdBbmltYXRl
ZFR5cGU+IFNWR0FuaW1hdGVkQm9vbGVhbkFuaW1hdG9yOjpzdGFydEFuaW1WYWxBbmltYXRpb24o
Y29uc3QgVmVjdG9yPFNWR0FuaW1hdGVkUHJvcGVydHkqPiYgcHJvcGVydGllcykKIHsKLSAgICBy
ZXR1cm4gU1ZHQW5pbWF0ZWRUeXBlOjpjcmVhdGVCb29sZWFuKGNvbnN0cnVjdEZyb21PbmVCYXNl
VmFsdWU8Ym9vbCwgU1ZHQW5pbWF0ZWRCb29sZWFuPihwcm9wZXJ0aWVzKSk7CisgICAgcmV0dXJu
IFNWR0FuaW1hdGVkVHlwZTo6Y3JlYXRlQm9vbGVhbihjb25zdHJ1Y3RGcm9tQmFzZVZhbHVlPFNW
R0FuaW1hdGVkQm9vbGVhbj4ocHJvcGVydGllcykpOwogfQogCiB2b2lkIFNWR0FuaW1hdGVkQm9v
bGVhbkFuaW1hdG9yOjpzdG9wQW5pbVZhbEFuaW1hdGlvbihjb25zdCBWZWN0b3I8U1ZHQW5pbWF0
ZWRQcm9wZXJ0eSo+JiBwcm9wZXJ0aWVzKQogewotICAgIFNWR0FuaW1hdGVkVHlwZUFuaW1hdG9y
OjpzdG9wQW5pbVZhbEFuaW1hdGlvbkZvclR5cGU8U1ZHQW5pbWF0ZWRCb29sZWFuPihwcm9wZXJ0
aWVzKTsKKyAgICBzdG9wQW5pbVZhbEFuaW1hdGlvbkZvclR5cGU8U1ZHQW5pbWF0ZWRCb29sZWFu
Pihwcm9wZXJ0aWVzKTsKIH0KIAogdm9pZCBTVkdBbmltYXRlZEJvb2xlYW5BbmltYXRvcjo6cmVz
ZXRBbmltVmFsVG9CYXNlVmFsKGNvbnN0IFZlY3RvcjxTVkdBbmltYXRlZFByb3BlcnR5Kj4mIHBy
b3BlcnRpZXMsIFNWR0FuaW1hdGVkVHlwZSogdHlwZSkKIHsKLSAgICByZXNldEZyb21PbmVCYXNl
VmFsdWU8Ym9vbCwgU1ZHQW5pbWF0ZWRCb29sZWFuPihwcm9wZXJ0aWVzLCB0eXBlLCAmU1ZHQW5p
bWF0ZWRUeXBlOjpib29sZWFuKTsKKyAgICByZXNldEZyb21CYXNlVmFsdWU8U1ZHQW5pbWF0ZWRC
b29sZWFuPihwcm9wZXJ0aWVzLCB0eXBlLCAmU1ZHQW5pbWF0ZWRUeXBlOjpib29sZWFuKTsKIH0K
IAogdm9pZCBTVkdBbmltYXRlZEJvb2xlYW5BbmltYXRvcjo6YW5pbVZhbFdpbGxDaGFuZ2UoY29u
c3QgVmVjdG9yPFNWR0FuaW1hdGVkUHJvcGVydHkqPiYgcHJvcGVydGllcykKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZEVudW1lcmF0aW9uLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdBbmltYXRlZEVudW1lcmF0aW9uLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMDFjMTI5
ZGY3NTlhZWJjN2UwNjY4OTgxNTJkNDgwYjk5NGM1NzU1Ci0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkRW51bWVyYXRpb24uY3BwCkBAIC0wLDAgKzEsMTgx
IEBACisvKgorICogQ29weXJpZ2h0IChDKSBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZCAyMDEy
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3
YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0
aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFz
IHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZl
cnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVy
c2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhh
dCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91
dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3Vs
ZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMg
TGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5H
LkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s
IEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAy
MTEwLTEzMDEsIFVTQS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUo
U1ZHKQorI2luY2x1ZGUgIlNWR0FuaW1hdGVkRW51bWVyYXRpb24uaCIKKworI2luY2x1ZGUgIlNW
R0FuaW1hdGlvbkVsZW1lbnQuaCIKKyNpbmNsdWRlICJTVkdDb21wb25lbnRUcmFuc2ZlckZ1bmN0
aW9uRWxlbWVudC5oIgorI2luY2x1ZGUgIlNWR0ZFQmxlbmRFbGVtZW50LmgiCisjaW5jbHVkZSAi
U1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQuaCIKKyNpbmNsdWRlICJTVkdGRUNvbXBvc2l0ZUVsZW1l
bnQuaCIKKyNpbmNsdWRlICJTVkdGRUNvbnZvbHZlTWF0cml4RWxlbWVudC5oIgorI2luY2x1ZGUg
IlNWR0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudC5oIgorI2luY2x1ZGUgIlNWR0ZFTW9ycGhvbG9n
eUVsZW1lbnQuaCIKKyNpbmNsdWRlICJTVkdGRVR1cmJ1bGVuY2VFbGVtZW50LmgiCisjaW5jbHVk
ZSAiU1ZHR3JhZGllbnRFbGVtZW50LmgiCisjaW5jbHVkZSAiU1ZHTWFya2VyRWxlbWVudC5oIgor
I2luY2x1ZGUgIlNWR05hbWVzLmgiCisjaW5jbHVkZSAiU1ZHVGV4dENvbnRlbnRFbGVtZW50Lmgi
CisjaW5jbHVkZSAiU1ZHVGV4dFBhdGhFbGVtZW50LmgiCisjaW5jbHVkZSAiU1ZHVW5pdFR5cGVz
LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RhdGljIGlubGluZSB1bnNpZ25lZCBzaG9y
dCBlbnVtZXJhdGlvblZhbHVlRm9yVGFyZ2V0QXR0cmlidXRlKFNWR0VsZW1lbnQqIHRhcmdldEVs
ZW1lbnQsIGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1lLCBjb25zdCBTdHJpbmcmIHZhbHVl
KQoreworICAgIEFTU0VSVCh0YXJnZXRFbGVtZW50KTsKKyAgICBpZiAoYXR0ck5hbWUgPT0gU1ZH
TmFtZXM6OmNsaXBQYXRoVW5pdHNBdHRyCisgICAgICAgIHx8IGF0dHJOYW1lID09IFNWR05hbWVz
OjpmaWx0ZXJVbml0c0F0dHIKKyAgICAgICAgfHwgYXR0ck5hbWUgPT0gU1ZHTmFtZXM6OmdyYWRp
ZW50VW5pdHNBdHRyCisgICAgICAgIHx8IGF0dHJOYW1lID09IFNWR05hbWVzOjptYXNrQ29udGVu
dFVuaXRzQXR0cgorICAgICAgICB8fCBhdHRyTmFtZSA9PSBTVkdOYW1lczo6bWFza1VuaXRzQXR0
cgorICAgICAgICB8fCBhdHRyTmFtZSA9PSBTVkdOYW1lczo6cGF0dGVybkNvbnRlbnRVbml0c0F0
dHIKKyAgICAgICAgfHwgYXR0ck5hbWUgPT0gU1ZHTmFtZXM6OnBhdHRlcm5Vbml0c0F0dHIKKyAg
ICAgICAgfHwgYXR0ck5hbWUgPT0gU1ZHTmFtZXM6OnByaW1pdGl2ZVVuaXRzQXR0cikKKyAgICAg
ICAgcmV0dXJuIFNWR1Byb3BlcnR5VHJhaXRzPFNWR1VuaXRUeXBlczo6U1ZHVW5pdFR5cGU+Ojpm
cm9tU3RyaW5nKHZhbHVlKTsKKworICAgIGlmIChhdHRyTmFtZSA9PSBTVkdOYW1lczo6ZWRnZU1v
ZGVBdHRyKQorICAgICAgICByZXR1cm4gU1ZHUHJvcGVydHlUcmFpdHM8RWRnZU1vZGVUeXBlPjo6
ZnJvbVN0cmluZyh2YWx1ZSk7CisgICAgaWYgKGF0dHJOYW1lID09IFNWR05hbWVzOjpsZW5ndGhB
ZGp1c3RBdHRyKQorICAgICAgICByZXR1cm4gU1ZHUHJvcGVydHlUcmFpdHM8U1ZHTGVuZ3RoQWRq
dXN0VHlwZT46OmZyb21TdHJpbmcodmFsdWUpOworCisgICAgaWYgKGF0dHJOYW1lID09IFNWR05h
bWVzOjpvcGVyYXRvckF0dHIpIHsKKyAgICAgICAgaWYgKHRhcmdldEVsZW1lbnQtPmhhc1RhZ05h
bWUoU1ZHTmFtZXM6OmZlQ29tcG9zaXRlVGFnKSkKKyAgICAgICAgICAgIHJldHVybiBTVkdQcm9w
ZXJ0eVRyYWl0czxDb21wb3NpdGVPcGVyYXRpb25UeXBlPjo6ZnJvbVN0cmluZyh2YWx1ZSk7Cisg
ICAgICAgIEFTU0VSVCh0YXJnZXRFbGVtZW50LT5oYXNUYWdOYW1lKFNWR05hbWVzOjpmZU1vcnBo
b2xvZ3lUYWcpKTsKKyAgICAgICAgcmV0dXJuIFNWR1Byb3BlcnR5VHJhaXRzPE1vcnBob2xvZ3lP
cGVyYXRvclR5cGU+Ojpmcm9tU3RyaW5nKHZhbHVlKTsKKyAgICB9CisKKyAgICBpZiAoYXR0ck5h
bWUgPT0gU1ZHTmFtZXM6OnR5cGVBdHRyKSB7CisgICAgICAgIGlmICh0YXJnZXRFbGVtZW50LT5o
YXNUYWdOYW1lKFNWR05hbWVzOjpmZUNvbG9yTWF0cml4VGFnKSkKKyAgICAgICAgICAgIHJldHVy
biBTVkdQcm9wZXJ0eVRyYWl0czxDb2xvck1hdHJpeFR5cGU+Ojpmcm9tU3RyaW5nKHZhbHVlKTsK
KyAgICAgICAgaWYgKHRhcmdldEVsZW1lbnQtPmhhc1RhZ05hbWUoU1ZHTmFtZXM6OmZlVHVyYnVs
ZW5jZVRhZykpCisgICAgICAgICAgICByZXR1cm4gU1ZHUHJvcGVydHlUcmFpdHM8VHVyYnVsZW5j
ZVR5cGU+Ojpmcm9tU3RyaW5nKHZhbHVlKTsKKworICAgICAgICBBU1NFUlQodGFyZ2V0RWxlbWVu
dC0+aGFzVGFnTmFtZShTVkdOYW1lczo6ZmVGdW5jQVRhZykKKyAgICAgICAgICAgICAgIHx8IHRh
cmdldEVsZW1lbnQtPmhhc1RhZ05hbWUoU1ZHTmFtZXM6OmZlRnVuY0JUYWcpCisgICAgICAgICAg
ICAgICB8fCB0YXJnZXRFbGVtZW50LT5oYXNUYWdOYW1lKFNWR05hbWVzOjpmZUZ1bmNHVGFnKQor
ICAgICAgICAgICAgICAgfHwgdGFyZ2V0RWxlbWVudC0+aGFzVGFnTmFtZShTVkdOYW1lczo6ZmVG
dW5jUlRhZykpOworICAgICAgICByZXR1cm4gU1ZHUHJvcGVydHlUcmFpdHM8Q29tcG9uZW50VHJh
bnNmZXJUeXBlPjo6ZnJvbVN0cmluZyh2YWx1ZSk7CisgICAgfQorCisgICAgaWYgKGF0dHJOYW1l
ID09IFNWR05hbWVzOjptYXJrZXJVbml0c0F0dHIpCisgICAgICAgIHJldHVybiBTVkdQcm9wZXJ0
eVRyYWl0czxTVkdNYXJrZXJVbml0c1R5cGU+Ojpmcm9tU3RyaW5nKHZhbHVlKTsKKyAgICBpZiAo
YXR0ck5hbWUgPT0gU1ZHTmFtZXM6Om1ldGhvZEF0dHIpCisgICAgICAgIHJldHVybiBTVkdQcm9w
ZXJ0eVRyYWl0czxTVkdUZXh0UGF0aE1ldGhvZFR5cGU+Ojpmcm9tU3RyaW5nKHZhbHVlKTsKKyAg
ICBpZiAoYXR0ck5hbWUgPT0gU1ZHTmFtZXM6Om1vZGVBdHRyKQorICAgICAgICByZXR1cm4gU1ZH
UHJvcGVydHlUcmFpdHM8QmxlbmRNb2RlVHlwZT46OmZyb21TdHJpbmcodmFsdWUpOworICAgIGlm
IChhdHRyTmFtZSA9PSBTVkdOYW1lczo6c3BhY2luZ0F0dHIpCisgICAgICAgIHJldHVybiBTVkdQ
cm9wZXJ0eVRyYWl0czxTVkdUZXh0UGF0aFNwYWNpbmdUeXBlPjo6ZnJvbVN0cmluZyh2YWx1ZSk7
CisgICAgaWYgKGF0dHJOYW1lID09IFNWR05hbWVzOjpzcHJlYWRNZXRob2RBdHRyKQorICAgICAg
ICByZXR1cm4gU1ZHUHJvcGVydHlUcmFpdHM8U1ZHU3ByZWFkTWV0aG9kVHlwZT46OmZyb21TdHJp
bmcodmFsdWUpOworICAgIGlmIChhdHRyTmFtZSA9PSBTVkdOYW1lczo6c3RpdGNoVGlsZXNBdHRy
KQorICAgICAgICByZXR1cm4gU1ZHUHJvcGVydHlUcmFpdHM8U1ZHU3RpdGNoT3B0aW9ucz46OmZy
b21TdHJpbmcodmFsdWUpOworICAgIGlmIChhdHRyTmFtZSA9PSBTVkdOYW1lczo6eENoYW5uZWxT
ZWxlY3RvckF0dHIpCisgICAgICAgIHJldHVybiBTVkdQcm9wZXJ0eVRyYWl0czxDaGFubmVsU2Vs
ZWN0b3JUeXBlPjo6ZnJvbVN0cmluZyh2YWx1ZSk7CisgICAgaWYgKGF0dHJOYW1lID09IFNWR05h
bWVzOjp5Q2hhbm5lbFNlbGVjdG9yQXR0cikKKyAgICAgICAgcmV0dXJuIFNWR1Byb3BlcnR5VHJh
aXRzPENoYW5uZWxTZWxlY3RvclR5cGU+Ojpmcm9tU3RyaW5nKHZhbHVlKTsKKworICAgIEFTU0VS
VF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiAwOworfQorCitTVkdBbmltYXRlZEVudW1lcmF0
aW9uQW5pbWF0b3I6OlNWR0FuaW1hdGVkRW51bWVyYXRpb25BbmltYXRvcihTVkdBbmltYXRpb25F
bGVtZW50KiBhbmltYXRpb25FbGVtZW50LCBTVkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCkKKyAg
ICA6IFNWR0FuaW1hdGVkVHlwZUFuaW1hdG9yKEFuaW1hdGVkRW51bWVyYXRpb24sIGFuaW1hdGlv
bkVsZW1lbnQsIGNvbnRleHRFbGVtZW50KQoreworfQorCitQYXNzT3duUHRyPFNWR0FuaW1hdGVk
VHlwZT4gU1ZHQW5pbWF0ZWRFbnVtZXJhdGlvbkFuaW1hdG9yOjpjb25zdHJ1Y3RGcm9tU3RyaW5n
KGNvbnN0IFN0cmluZyYgc3RyaW5nKQoreworICAgIEFTU0VSVChtX2FuaW1hdGlvbkVsZW1lbnQp
OworICAgIE93blB0cjxTVkdBbmltYXRlZFR5cGU+IGFuaW1hdGVkVHlwZSA9IFNWR0FuaW1hdGVk
VHlwZTo6Y3JlYXRlRW51bWVyYXRpb24obmV3IHVuc2lnbmVkIHNob3J0KTsKKyAgICBhbmltYXRl
ZFR5cGUtPmVudW1lcmF0aW9uKCkgPSBlbnVtZXJhdGlvblZhbHVlRm9yVGFyZ2V0QXR0cmlidXRl
KG1fYW5pbWF0aW9uRWxlbWVudC0+dGFyZ2V0RWxlbWVudCgpLCBtX2FuaW1hdGlvbkVsZW1lbnQt
PmF0dHJpYnV0ZU5hbWUoKSwgc3RyaW5nKTsKKyAgICByZXR1cm4gYW5pbWF0ZWRUeXBlLnJlbGVh
c2UoKTsKK30KKworUGFzc093blB0cjxTVkdBbmltYXRlZFR5cGU+IFNWR0FuaW1hdGVkRW51bWVy
YXRpb25BbmltYXRvcjo6c3RhcnRBbmltVmFsQW5pbWF0aW9uKGNvbnN0IFZlY3RvcjxTVkdBbmlt
YXRlZFByb3BlcnR5Kj4mIHByb3BlcnRpZXMpCit7CisgICAgcmV0dXJuIFNWR0FuaW1hdGVkVHlw
ZTo6Y3JlYXRlRW51bWVyYXRpb24oY29uc3RydWN0RnJvbUJhc2VWYWx1ZTxTVkdBbmltYXRlZEVu
dW1lcmF0aW9uPihwcm9wZXJ0aWVzKSk7Cit9CisKK3ZvaWQgU1ZHQW5pbWF0ZWRFbnVtZXJhdGlv
bkFuaW1hdG9yOjpzdG9wQW5pbVZhbEFuaW1hdGlvbihjb25zdCBWZWN0b3I8U1ZHQW5pbWF0ZWRQ
cm9wZXJ0eSo+JiBwcm9wZXJ0aWVzKQoreworICAgIHN0b3BBbmltVmFsQW5pbWF0aW9uRm9yVHlw
ZTxTVkdBbmltYXRlZEVudW1lcmF0aW9uPihwcm9wZXJ0aWVzKTsKK30KKwordm9pZCBTVkdBbmlt
YXRlZEVudW1lcmF0aW9uQW5pbWF0b3I6OnJlc2V0QW5pbVZhbFRvQmFzZVZhbChjb25zdCBWZWN0
b3I8U1ZHQW5pbWF0ZWRQcm9wZXJ0eSo+JiBwcm9wZXJ0aWVzLCBTVkdBbmltYXRlZFR5cGUqIHR5
cGUpCit7CisgICAgcmVzZXRGcm9tQmFzZVZhbHVlPFNWR0FuaW1hdGVkRW51bWVyYXRpb24+KHBy
b3BlcnRpZXMsIHR5cGUsICZTVkdBbmltYXRlZFR5cGU6OmVudW1lcmF0aW9uKTsKK30KKwordm9p
ZCBTVkdBbmltYXRlZEVudW1lcmF0aW9uQW5pbWF0b3I6OmFuaW1WYWxXaWxsQ2hhbmdlKGNvbnN0
IFZlY3RvcjxTVkdBbmltYXRlZFByb3BlcnR5Kj4mIHByb3BlcnRpZXMpCit7CisgICAgYW5pbVZh
bFdpbGxDaGFuZ2VGb3JUeXBlPFNWR0FuaW1hdGVkRW51bWVyYXRpb24+KHByb3BlcnRpZXMpOwor
fQorCit2b2lkIFNWR0FuaW1hdGVkRW51bWVyYXRpb25BbmltYXRvcjo6YW5pbVZhbERpZENoYW5n
ZShjb25zdCBWZWN0b3I8U1ZHQW5pbWF0ZWRQcm9wZXJ0eSo+JiBwcm9wZXJ0aWVzKQoreworICAg
IGFuaW1WYWxEaWRDaGFuZ2VGb3JUeXBlPFNWR0FuaW1hdGVkRW51bWVyYXRpb24+KHByb3BlcnRp
ZXMpOworfQorCit2b2lkIFNWR0FuaW1hdGVkRW51bWVyYXRpb25BbmltYXRvcjo6Y2FsY3VsYXRl
RnJvbUFuZFRvVmFsdWVzKE93blB0cjxTVkdBbmltYXRlZFR5cGU+JiBmcm9tLCBPd25QdHI8U1ZH
QW5pbWF0ZWRUeXBlPiYgdG8sIGNvbnN0IFN0cmluZyYgZnJvbVN0cmluZywgY29uc3QgU3RyaW5n
JiB0b1N0cmluZykKK3sKKyAgICBBU1NFUlQobV9jb250ZXh0RWxlbWVudCk7CisgICAgQVNTRVJU
KG1fYW5pbWF0aW9uRWxlbWVudCk7CisKKyAgICBmcm9tID0gY29uc3RydWN0RnJvbVN0cmluZyhm
cm9tU3RyaW5nKTsKKyAgICB0byA9IGNvbnN0cnVjdEZyb21TdHJpbmcodG9TdHJpbmcpOworfQor
Cit2b2lkIFNWR0FuaW1hdGVkRW51bWVyYXRpb25BbmltYXRvcjo6Y2FsY3VsYXRlRnJvbUFuZEJ5
VmFsdWVzKE93blB0cjxTVkdBbmltYXRlZFR5cGU+JiBmcm9tLCBPd25QdHI8U1ZHQW5pbWF0ZWRU
eXBlPiYgdG8sIGNvbnN0IFN0cmluZyYgZnJvbVN0cmluZywgY29uc3QgU3RyaW5nJiBieVN0cmlu
ZykKK3sKKyAgICBBU1NFUlQobV9jb250ZXh0RWxlbWVudCk7CisgICAgQVNTRVJUKG1fYW5pbWF0
aW9uRWxlbWVudCk7CisgICAgCisgICAgLy8gTm90IHNwZWNpZmllZCB3aGF0IHRvIGRvIG9uICdi
eSctYW5pbWF0aW9ucyB3aXRoIGVudW1zLiBGYWxsYmFjayB0byAndG8nLWFuaW1hdGlvbiByaWdo
dCBub3cuIAorICAgIGZyb20gPSBjb25zdHJ1Y3RGcm9tU3RyaW5nKGZyb21TdHJpbmcpOworICAg
IHRvID0gY29uc3RydWN0RnJvbVN0cmluZyhieVN0cmluZyk7Cit9CisKK3ZvaWQgU1ZHQW5pbWF0
ZWRFbnVtZXJhdGlvbkFuaW1hdG9yOjpjYWxjdWxhdGVBbmltYXRlZFZhbHVlKGZsb2F0IHBlcmNl
bnRhZ2UsIHVuc2lnbmVkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIE93blB0cjxTVkdBbmltYXRlZFR5cGU+JiBmcm9tLCBPd25QdHI8U1ZH
QW5pbWF0ZWRUeXBlPiYgdG8sIE93blB0cjxTVkdBbmltYXRlZFR5cGU+JiBhbmltYXRlZCkKK3sK
KyAgICBBU1NFUlQobV9hbmltYXRpb25FbGVtZW50KTsKKyAgICBBU1NFUlQobV9jb250ZXh0RWxl
bWVudCk7CisKKyAgICBBbmltYXRpb25Nb2RlIGFuaW1hdGlvbk1vZGUgPSBtX2FuaW1hdGlvbkVs
ZW1lbnQtPmFuaW1hdGlvbk1vZGUoKTsKKyAgICB1bnNpZ25lZCBzaG9ydCYgYW5pbWF0ZUVudW1l
cmF0aW9uID0gYW5pbWF0ZWQtPmVudW1lcmF0aW9uKCk7CisgICAgaWYgKChhbmltYXRpb25Nb2Rl
ID09IEZyb21Ub0FuaW1hdGlvbiAmJiBwZXJjZW50YWdlID4gMC41KSB8fCBhbmltYXRpb25Nb2Rl
ID09IFRvQW5pbWF0aW9uIHx8IHBlcmNlbnRhZ2UgPT0gMSkKKyAgICAgICAgYW5pbWF0ZUVudW1l
cmF0aW9uID0gdG8tPmVudW1lcmF0aW9uKCk7CisgICAgZWxzZQorICAgICAgICBhbmltYXRlRW51
bWVyYXRpb24gPSBmcm9tLT5lbnVtZXJhdGlvbigpOworfQorCitmbG9hdCBTVkdBbmltYXRlZEVu
dW1lcmF0aW9uQW5pbWF0b3I6OmNhbGN1bGF0ZURpc3RhbmNlKGNvbnN0IFN0cmluZyYsIGNvbnN0
IFN0cmluZyYpCit7CisgICAgLy8gTm8gcGFjZWQgYW5pbWF0aW9ucyBmb3IgZW51bWVyYXRpb25z
LgorICAgIHJldHVybiAtMTsKK30KKworfQorCisjZW5kaWYgLy8gRU5BQkxFKFNWRykKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZEVudW1lcmF0aW9uLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRFbnVtZXJhdGlvbi5oCmluZGV4IDg2M2M4N2ZiYmFm
NmMxYTUxOWQ1ZWRkOTg3NmVlMzAxZjk5YjU0MzIuLjRiZWQzNGZkNmNmY2JmZjVhMmQ0NDM2MDdj
MzEzMDJhZTA0NTgzNmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRl
ZEVudW1lcmF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkRW51bWVy
YXRpb24uaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIFJlc2VhcmNoIElu
IE1vdGlvbiBMaW1pdGVkIDIwMTAuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQg
KEMpIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkIDIwMTAsIDIwMTIuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk
aXN0cmlidXRlIGl0IGFuZC9vcgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg
R05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTIzLDYgKzIzLDcgQEAKICNpZiBFTkFCTEUo
U1ZHKQogI2luY2x1ZGUgIlNWR0FuaW1hdGVkRW51bWVyYXRpb25Qcm9wZXJ0eVRlYXJPZmYuaCIK
ICNpbmNsdWRlICJTVkdBbmltYXRlZFByb3BlcnR5TWFjcm9zLmgiCisjaW5jbHVkZSAiU1ZHQW5p
bWF0ZWRUeXBlQW5pbWF0b3IuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zNSw2ICsz
NiwyNSBAQCBERUNMQVJFX0FOSU1BVEVEX1BST1BFUlRZKFNWR0FuaW1hdGVkRW51bWVyYXRpb25Q
cm9wZXJ0eVRlYXJPZmY8RW51bVR5cGU+LCBFbnVtVAogI2RlZmluZSBERUZJTkVfQU5JTUFURURf
RU5VTUVSQVRJT04oT3duZXJUeXBlLCBET01BdHRyaWJ1dGUsIFVwcGVyUHJvcGVydHksIExvd2Vy
UHJvcGVydHksIEVudW1UeXBlKSBcCiBERUZJTkVfQU5JTUFURURfUFJPUEVSVFkoQW5pbWF0ZWRF
bnVtZXJhdGlvbiwgT3duZXJUeXBlLCBET01BdHRyaWJ1dGUsIERPTUF0dHJpYnV0ZS5sb2NhbE5h
bWUoKSwgVXBwZXJQcm9wZXJ0eSwgTG93ZXJQcm9wZXJ0eSkKIAorY2xhc3MgU1ZHQW5pbWF0ZWRF
bnVtZXJhdGlvbkFuaW1hdG9yIDogcHVibGljIFNWR0FuaW1hdGVkVHlwZUFuaW1hdG9yIHsKK3B1
YmxpYzoKKyAgICBTVkdBbmltYXRlZEVudW1lcmF0aW9uQW5pbWF0b3IoU1ZHQW5pbWF0aW9uRWxl
bWVudCosIFNWR0VsZW1lbnQqKTsKKyAgICB2aXJ0dWFsIH5TVkdBbmltYXRlZEVudW1lcmF0aW9u
QW5pbWF0b3IoKSB7IH0KKworICAgIHZpcnR1YWwgUGFzc093blB0cjxTVkdBbmltYXRlZFR5cGU+
IGNvbnN0cnVjdEZyb21TdHJpbmcoY29uc3QgU3RyaW5nJik7CisgICAgdmlydHVhbCBQYXNzT3du
UHRyPFNWR0FuaW1hdGVkVHlwZT4gc3RhcnRBbmltVmFsQW5pbWF0aW9uKGNvbnN0IFZlY3RvcjxT
VkdBbmltYXRlZFByb3BlcnR5Kj4mKTsKKyAgICB2aXJ0dWFsIHZvaWQgc3RvcEFuaW1WYWxBbmlt
YXRpb24oY29uc3QgVmVjdG9yPFNWR0FuaW1hdGVkUHJvcGVydHkqPiYpOworICAgIHZpcnR1YWwg
dm9pZCByZXNldEFuaW1WYWxUb0Jhc2VWYWwoY29uc3QgVmVjdG9yPFNWR0FuaW1hdGVkUHJvcGVy
dHkqPiYsIFNWR0FuaW1hdGVkVHlwZSopOworICAgIHZpcnR1YWwgdm9pZCBhbmltVmFsV2lsbENo
YW5nZShjb25zdCBWZWN0b3I8U1ZHQW5pbWF0ZWRQcm9wZXJ0eSo+Jik7CisgICAgdmlydHVhbCB2
b2lkIGFuaW1WYWxEaWRDaGFuZ2UoY29uc3QgVmVjdG9yPFNWR0FuaW1hdGVkUHJvcGVydHkqPiYp
OworCisgICAgdmlydHVhbCB2b2lkIGNhbGN1bGF0ZUZyb21BbmRUb1ZhbHVlcyhPd25QdHI8U1ZH
QW5pbWF0ZWRUeXBlPiYgZnJvbVZhbHVlLCBPd25QdHI8U1ZHQW5pbWF0ZWRUeXBlPiYgdG9WYWx1
ZSwgY29uc3QgU3RyaW5nJiBmcm9tU3RyaW5nLCBjb25zdCBTdHJpbmcmIHRvU3RyaW5nKTsKKyAg
ICB2aXJ0dWFsIHZvaWQgY2FsY3VsYXRlRnJvbUFuZEJ5VmFsdWVzKE93blB0cjxTVkdBbmltYXRl
ZFR5cGU+JiBmcm9tVmFsdWUsIE93blB0cjxTVkdBbmltYXRlZFR5cGU+JiB0b1ZhbHVlLCBjb25z
dCBTdHJpbmcmIGZyb21TdHJpbmcsIGNvbnN0IFN0cmluZyYgYnlTdHJpbmcpOworICAgIHZpcnR1
YWwgdm9pZCBjYWxjdWxhdGVBbmltYXRlZFZhbHVlKGZsb2F0IHBlcmNlbnRhZ2UsIHVuc2lnbmVk
IHJlcGVhdENvdW50LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE93
blB0cjxTVkdBbmltYXRlZFR5cGU+JiBmcm9tVmFsdWUsIE93blB0cjxTVkdBbmltYXRlZFR5cGU+
JiB0b1ZhbHVlLCBPd25QdHI8U1ZHQW5pbWF0ZWRUeXBlPiYgYW5pbWF0ZWRWYWx1ZSk7CisgICAg
dmlydHVhbCBmbG9hdCBjYWxjdWxhdGVEaXN0YW5jZShjb25zdCBTdHJpbmcmIGZyb21TdHJpbmcs
IGNvbnN0IFN0cmluZyYgdG9TdHJpbmcpOworfTsKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQog
CiAjZW5kaWYgLy8gRU5BQkxFKFNWRykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdBbmltYXRlZEludGVnZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkSW50
ZWdlci5jcHAKaW5kZXggZjkyZWI3YjA5MzM3Yjg0MzMxZTM5YTg0M2VmNjk5NWIyNzFmNjVjYS4u
MTkxYmM3MzdmNzc2ZTUyYzhjYTA4NmE3NTQ0YjYwOWZkY2JjYmIyNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkSW50ZWdlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0FuaW1hdGVkSW50ZWdlci5jcHAKQEAgLTQyLDE3ICs0MiwxNyBAQCBQYXNzT3du
UHRyPFNWR0FuaW1hdGVkVHlwZT4gU1ZHQW5pbWF0ZWRJbnRlZ2VyQW5pbWF0b3I6OmNvbnN0cnVj
dEZyb21TdHJpbmcoY29ucwogCiBQYXNzT3duUHRyPFNWR0FuaW1hdGVkVHlwZT4gU1ZHQW5pbWF0
ZWRJbnRlZ2VyQW5pbWF0b3I6OnN0YXJ0QW5pbVZhbEFuaW1hdGlvbihjb25zdCBWZWN0b3I8U1ZH
QW5pbWF0ZWRQcm9wZXJ0eSo+JiBwcm9wZXJ0aWVzKQogewotICAgIHJldHVybiBTVkdBbmltYXRl
ZFR5cGU6OmNyZWF0ZUludGVnZXIoY29uc3RydWN0RnJvbU9uZUJhc2VWYWx1ZTxpbnQsIFNWR0Fu
aW1hdGVkSW50ZWdlcj4ocHJvcGVydGllcykpOworICAgIHJldHVybiBTVkdBbmltYXRlZFR5cGU6
OmNyZWF0ZUludGVnZXIoY29uc3RydWN0RnJvbUJhc2VWYWx1ZTxTVkdBbmltYXRlZEludGVnZXI+
KHByb3BlcnRpZXMpKTsKIH0KIAogdm9pZCBTVkdBbmltYXRlZEludGVnZXJBbmltYXRvcjo6c3Rv
cEFuaW1WYWxBbmltYXRpb24oY29uc3QgVmVjdG9yPFNWR0FuaW1hdGVkUHJvcGVydHkqPiYgcHJv
cGVydGllcykKIHsKLSAgICBTVkdBbmltYXRlZFR5cGVBbmltYXRvcjo6c3RvcEFuaW1WYWxBbmlt
YXRpb25Gb3JUeXBlPFNWR0FuaW1hdGVkSW50ZWdlcj4ocHJvcGVydGllcyk7CisgICAgc3RvcEFu
aW1WYWxBbmltYXRpb25Gb3JUeXBlPFNWR0FuaW1hdGVkSW50ZWdlcj4ocHJvcGVydGllcyk7CiB9
CiAKIHZvaWQgU1ZHQW5pbWF0ZWRJbnRlZ2VyQW5pbWF0b3I6OnJlc2V0QW5pbVZhbFRvQmFzZVZh
bChjb25zdCBWZWN0b3I8U1ZHQW5pbWF0ZWRQcm9wZXJ0eSo+JiBwcm9wZXJ0aWVzLCBTVkdBbmlt
YXRlZFR5cGUqIHR5cGUpCiB7Ci0gICAgcmVzZXRGcm9tT25lQmFzZVZhbHVlPGludCwgU1ZHQW5p
bWF0ZWRJbnRlZ2VyPihwcm9wZXJ0aWVzLCB0eXBlLCAmU1ZHQW5pbWF0ZWRUeXBlOjppbnRlZ2Vy
KTsKKyAgICByZXNldEZyb21CYXNlVmFsdWU8U1ZHQW5pbWF0ZWRJbnRlZ2VyPihwcm9wZXJ0aWVz
LCB0eXBlLCAmU1ZHQW5pbWF0ZWRUeXBlOjppbnRlZ2VyKTsKIH0KIAogdm9pZCBTVkdBbmltYXRl
ZEludGVnZXJBbmltYXRvcjo6YW5pbVZhbFdpbGxDaGFuZ2UoY29uc3QgVmVjdG9yPFNWR0FuaW1h
dGVkUHJvcGVydHkqPiYgcHJvcGVydGllcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdBbmltYXRlZEludGVnZXJPcHRpb25hbEludGVnZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0FuaW1hdGVkSW50ZWdlck9wdGlvbmFsSW50ZWdlci5jcHAKaW5kZXggOTMxZDgyNGI4
ZjJmYTgzNWZjMWQ0ZmYxNDNiYjk4MGJkZTQzNzQwMC4uMGQzNzVhNTQxY2Q2ZWJiMDdlYWEzYjdk
Y2Y3ZmYxMGI0MmIzYjgwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1h
dGVkSW50ZWdlck9wdGlvbmFsSW50ZWdlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0FuaW1hdGVkSW50ZWdlck9wdGlvbmFsSW50ZWdlci5jcHAKQEAgLTUxLDI3ICs1MSwyNyBAQCBQ
YXNzT3duUHRyPFNWR0FuaW1hdGVkVHlwZT4gU1ZHQW5pbWF0ZWRJbnRlZ2VyT3B0aW9uYWxJbnRl
Z2VyQW5pbWF0b3I6OmNvbnN0cnVjdAogCiBQYXNzT3duUHRyPFNWR0FuaW1hdGVkVHlwZT4gU1ZH
QW5pbWF0ZWRJbnRlZ2VyT3B0aW9uYWxJbnRlZ2VyQW5pbWF0b3I6OnN0YXJ0QW5pbVZhbEFuaW1h
dGlvbihjb25zdCBWZWN0b3I8U1ZHQW5pbWF0ZWRQcm9wZXJ0eSo+JiBwcm9wZXJ0aWVzKQogewot
ICAgIHJldHVybiBTVkdBbmltYXRlZFR5cGU6OmNyZWF0ZUludGVnZXJPcHRpb25hbEludGVnZXIo
Y29uc3RydWN0RnJvbVR3b0Jhc2VWYWx1ZXM8cGFpcjxpbnQsIGludD4sIGludCwgU1ZHQW5pbWF0
ZWRJbnRlZ2VyPihwcm9wZXJ0aWVzKSk7CisgICAgcmV0dXJuIFNWR0FuaW1hdGVkVHlwZTo6Y3Jl
YXRlSW50ZWdlck9wdGlvbmFsSW50ZWdlcihjb25zdHJ1Y3RGcm9tQmFzZVZhbHVlczxTVkdBbmlt
YXRlZEludGVnZXIsIFNWR0FuaW1hdGVkSW50ZWdlcj4ocHJvcGVydGllcykpOwogfQogCiB2b2lk
IFNWR0FuaW1hdGVkSW50ZWdlck9wdGlvbmFsSW50ZWdlckFuaW1hdG9yOjpzdG9wQW5pbVZhbEFu
aW1hdGlvbihjb25zdCBWZWN0b3I8U1ZHQW5pbWF0ZWRQcm9wZXJ0eSo+JiBwcm9wZXJ0aWVzKQog
ewotICAgIFNWR0FuaW1hdGVkVHlwZUFuaW1hdG9yOjpzdG9wQW5pbVZhbEFuaW1hdGlvbkZvclR5
cGU8U1ZHQW5pbWF0ZWRJbnRlZ2VyPihwcm9wZXJ0aWVzKTsKKyAgICBzdG9wQW5pbVZhbEFuaW1h
dGlvbkZvclR5cGVzPFNWR0FuaW1hdGVkSW50ZWdlciwgU1ZHQW5pbWF0ZWRJbnRlZ2VyPihwcm9w
ZXJ0aWVzKTsKIH0KIAogdm9pZCBTVkdBbmltYXRlZEludGVnZXJPcHRpb25hbEludGVnZXJBbmlt
YXRvcjo6cmVzZXRBbmltVmFsVG9CYXNlVmFsKGNvbnN0IFZlY3RvcjxTVkdBbmltYXRlZFByb3Bl
cnR5Kj4mIHByb3BlcnRpZXMsIFNWR0FuaW1hdGVkVHlwZSogdHlwZSkKIHsKLSAgICByZXNldEZy
b21Ud29CYXNlVmFsdWVzPHBhaXI8aW50LCBpbnQ+LCBpbnQsIFNWR0FuaW1hdGVkSW50ZWdlcj4o
cHJvcGVydGllcywgdHlwZSwgJlNWR0FuaW1hdGVkVHlwZTo6aW50ZWdlck9wdGlvbmFsSW50ZWdl
cik7CisgICAgcmVzZXRGcm9tQmFzZVZhbHVlczxTVkdBbmltYXRlZEludGVnZXIsIFNWR0FuaW1h
dGVkSW50ZWdlcj4ocHJvcGVydGllcywgdHlwZSwgJlNWR0FuaW1hdGVkVHlwZTo6aW50ZWdlck9w
dGlvbmFsSW50ZWdlcik7CiB9CiAKIHZvaWQgU1ZHQW5pbWF0ZWRJbnRlZ2VyT3B0aW9uYWxJbnRl
Z2VyQW5pbWF0b3I6OmFuaW1WYWxXaWxsQ2hhbmdlKGNvbnN0IFZlY3RvcjxTVkdBbmltYXRlZFBy
b3BlcnR5Kj4mIHByb3BlcnRpZXMpCiB7Ci0gICAgYW5pbVZhbFdpbGxDaGFuZ2VGb3JUeXBlPFNW
R0FuaW1hdGVkSW50ZWdlcj4ocHJvcGVydGllcyk7CisgICAgYW5pbVZhbFdpbGxDaGFuZ2VGb3JU
eXBlczxTVkdBbmltYXRlZEludGVnZXIsIFNWR0FuaW1hdGVkSW50ZWdlcj4ocHJvcGVydGllcyk7
CiB9CiAKIHZvaWQgU1ZHQW5pbWF0ZWRJbnRlZ2VyT3B0aW9uYWxJbnRlZ2VyQW5pbWF0b3I6OmFu
aW1WYWxEaWRDaGFuZ2UoY29uc3QgVmVjdG9yPFNWR0FuaW1hdGVkUHJvcGVydHkqPiYgcHJvcGVy
dGllcykKIHsKLSAgICBhbmltVmFsRGlkQ2hhbmdlRm9yVHlwZTxTVkdBbmltYXRlZEludGVnZXI+
KHByb3BlcnRpZXMpOworICAgIGFuaW1WYWxEaWRDaGFuZ2VGb3JUeXBlczxTVkdBbmltYXRlZElu
dGVnZXIsIFNWR0FuaW1hdGVkSW50ZWdlcj4ocHJvcGVydGllcyk7CiB9CiAKIHZvaWQgU1ZHQW5p
bWF0ZWRJbnRlZ2VyT3B0aW9uYWxJbnRlZ2VyQW5pbWF0b3I6OmNhbGN1bGF0ZUZyb21BbmRUb1Zh
bHVlcyhPd25QdHI8U1ZHQW5pbWF0ZWRUeXBlPiYgZnJvbSwgT3duUHRyPFNWR0FuaW1hdGVkVHlw
ZT4mIHRvLCBjb25zdCBTdHJpbmcmIGZyb21TdHJpbmcsIGNvbnN0IFN0cmluZyYgdG9TdHJpbmcp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRMZW5ndGguY3BwIGIv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkTGVuZ3RoLmNwcAppbmRleCAxZDlmZjQyZTU3
MDA1NzRkNjMzMTVhZDhlYjZjMzAxZTcxY2VlZDRlLi43OWFjNDEwZDE3OTI2OTBlNTNmMzMxOGU5
MzViNjc0MWFkMDI5YjY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0
ZWRMZW5ndGguY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZExlbmd0aC5j
cHAKQEAgLTQ5LDE3ICs0OSwxNyBAQCBQYXNzT3duUHRyPFNWR0FuaW1hdGVkVHlwZT4gU1ZHQW5p
bWF0ZWRMZW5ndGhBbmltYXRvcjo6Y29uc3RydWN0RnJvbVN0cmluZyhjb25zdAogCiBQYXNzT3du
UHRyPFNWR0FuaW1hdGVkVHlwZT4gU1ZHQW5pbWF0ZWRMZW5ndGhBbmltYXRvcjo6c3RhcnRBbmlt
VmFsQW5pbWF0aW9uKGNvbnN0IFZlY3RvcjxTVkdBbmltYXRlZFByb3BlcnR5Kj4mIHByb3BlcnRp
ZXMpCiB7Ci0gICAgcmV0dXJuIFNWR0FuaW1hdGVkVHlwZTo6Y3JlYXRlTGVuZ3RoKGNvbnN0cnVj
dEZyb21PbmVCYXNlVmFsdWU8U1ZHTGVuZ3RoLCBTVkdBbmltYXRlZExlbmd0aD4ocHJvcGVydGll
cykpOworICAgIHJldHVybiBTVkdBbmltYXRlZFR5cGU6OmNyZWF0ZUxlbmd0aChjb25zdHJ1Y3RG
cm9tQmFzZVZhbHVlPFNWR0FuaW1hdGVkTGVuZ3RoPihwcm9wZXJ0aWVzKSk7CiB9CiAKIHZvaWQg
U1ZHQW5pbWF0ZWRMZW5ndGhBbmltYXRvcjo6c3RvcEFuaW1WYWxBbmltYXRpb24oY29uc3QgVmVj
dG9yPFNWR0FuaW1hdGVkUHJvcGVydHkqPiYgcHJvcGVydGllcykKIHsKLSAgICBTVkdBbmltYXRl
ZFR5cGVBbmltYXRvcjo6c3RvcEFuaW1WYWxBbmltYXRpb25Gb3JUeXBlPFNWR0FuaW1hdGVkTGVu
Z3RoPihwcm9wZXJ0aWVzKTsKKyAgICBzdG9wQW5pbVZhbEFuaW1hdGlvbkZvclR5cGU8U1ZHQW5p
bWF0ZWRMZW5ndGg+KHByb3BlcnRpZXMpOwogfQogCiB2b2lkIFNWR0FuaW1hdGVkTGVuZ3RoQW5p
bWF0b3I6OnJlc2V0QW5pbVZhbFRvQmFzZVZhbChjb25zdCBWZWN0b3I8U1ZHQW5pbWF0ZWRQcm9w
ZXJ0eSo+JiBwcm9wZXJ0aWVzLCBTVkdBbmltYXRlZFR5cGUqIHR5cGUpCiB7Ci0gICAgcmVzZXRG
cm9tT25lQmFzZVZhbHVlPFNWR0xlbmd0aCwgU1ZHQW5pbWF0ZWRMZW5ndGg+KHByb3BlcnRpZXMs
IHR5cGUsICZTVkdBbmltYXRlZFR5cGU6Omxlbmd0aCk7CisgICAgcmVzZXRGcm9tQmFzZVZhbHVl
PFNWR0FuaW1hdGVkTGVuZ3RoPihwcm9wZXJ0aWVzLCB0eXBlLCAmU1ZHQW5pbWF0ZWRUeXBlOjps
ZW5ndGgpOwogfQogCiB2b2lkIFNWR0FuaW1hdGVkTGVuZ3RoQW5pbWF0b3I6OmFuaW1WYWxXaWxs
Q2hhbmdlKGNvbnN0IFZlY3RvcjxTVkdBbmltYXRlZFByb3BlcnR5Kj4mIHByb3BlcnRpZXMpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRMZW5ndGhMaXN0LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZExlbmd0aExpc3QuY3BwCmluZGV4IDNiYTU4
ODA4ZmI5MjM1OGJkYWVmYWQ5NzZjOTVjZDQwZDRmMGQ0NmEuLmU5Y2FlNGJiNTc5OTNlZjEzY2Uw
Mjg1YzI0MGU2ODZmMjAxYTdiMDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdB
bmltYXRlZExlbmd0aExpc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRl
ZExlbmd0aExpc3QuY3BwCkBAIC00MiwxNyArNDIsMTcgQEAgUGFzc093blB0cjxTVkdBbmltYXRl
ZFR5cGU+IFNWR0FuaW1hdGVkTGVuZ3RoTGlzdEFuaW1hdG9yOjpjb25zdHJ1Y3RGcm9tU3RyaW5n
KGMKIAogUGFzc093blB0cjxTVkdBbmltYXRlZFR5cGU+IFNWR0FuaW1hdGVkTGVuZ3RoTGlzdEFu
aW1hdG9yOjpzdGFydEFuaW1WYWxBbmltYXRpb24oY29uc3QgVmVjdG9yPFNWR0FuaW1hdGVkUHJv
cGVydHkqPiYgcHJvcGVydGllcykKIHsKLSAgICByZXR1cm4gU1ZHQW5pbWF0ZWRUeXBlOjpjcmVh
dGVMZW5ndGhMaXN0KGNvbnN0cnVjdEZyb21PbmVCYXNlVmFsdWU8U1ZHTGVuZ3RoTGlzdCwgU1ZH
QW5pbWF0ZWRMZW5ndGhMaXN0Pihwcm9wZXJ0aWVzKSk7CisgICAgcmV0dXJuIFNWR0FuaW1hdGVk
VHlwZTo6Y3JlYXRlTGVuZ3RoTGlzdChjb25zdHJ1Y3RGcm9tQmFzZVZhbHVlPFNWR0FuaW1hdGVk
TGVuZ3RoTGlzdD4ocHJvcGVydGllcykpOwogfQogCiB2b2lkIFNWR0FuaW1hdGVkTGVuZ3RoTGlz
dEFuaW1hdG9yOjpzdG9wQW5pbVZhbEFuaW1hdGlvbihjb25zdCBWZWN0b3I8U1ZHQW5pbWF0ZWRQ
cm9wZXJ0eSo+JiBwcm9wZXJ0aWVzKQogewotICAgIFNWR0FuaW1hdGVkVHlwZUFuaW1hdG9yOjpz
dG9wQW5pbVZhbEFuaW1hdGlvbkZvclR5cGU8U1ZHQW5pbWF0ZWRMZW5ndGhMaXN0Pihwcm9wZXJ0
aWVzKTsKKyAgICBzdG9wQW5pbVZhbEFuaW1hdGlvbkZvclR5cGU8U1ZHQW5pbWF0ZWRMZW5ndGhM
aXN0Pihwcm9wZXJ0aWVzKTsKIH0KIAogdm9pZCBTVkdBbmltYXRlZExlbmd0aExpc3RBbmltYXRv
cjo6cmVzZXRBbmltVmFsVG9CYXNlVmFsKGNvbnN0IFZlY3RvcjxTVkdBbmltYXRlZFByb3BlcnR5
Kj4mIHByb3BlcnRpZXMsIFNWR0FuaW1hdGVkVHlwZSogdHlwZSkKIHsKLSAgICByZXNldEZyb21P
bmVCYXNlVmFsdWU8U1ZHTGVuZ3RoTGlzdCwgU1ZHQW5pbWF0ZWRMZW5ndGhMaXN0Pihwcm9wZXJ0
aWVzLCB0eXBlLCAmU1ZHQW5pbWF0ZWRUeXBlOjpsZW5ndGhMaXN0KTsKKyAgICByZXNldEZyb21C
YXNlVmFsdWU8U1ZHQW5pbWF0ZWRMZW5ndGhMaXN0Pihwcm9wZXJ0aWVzLCB0eXBlLCAmU1ZHQW5p
bWF0ZWRUeXBlOjpsZW5ndGhMaXN0KTsKIH0KIAogdm9pZCBTVkdBbmltYXRlZExlbmd0aExpc3RB
bmltYXRvcjo6YW5pbVZhbFdpbGxDaGFuZ2UoY29uc3QgVmVjdG9yPFNWR0FuaW1hdGVkUHJvcGVy
dHkqPiYgcHJvcGVydGllcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmlt
YXRlZE51bWJlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWROdW1iZXIuY3Bw
CmluZGV4IGIwNjA5NjQ4NDRkMzdlZDhjZDRmOWZiZjk0YTgwMDI2ZmI0ZDkyN2MuLjVkYWFkNmYz
MzJiNzFjNTc5YzFiODA2OWM5NGM5ZGExOTM1Y2M1YTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdBbmltYXRlZE51bWJlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0FuaW1hdGVkTnVtYmVyLmNwcApAQCAtNDUsMTcgKzQ1LDE3IEBAIFBhc3NPd25QdHI8U1ZHQW5p
bWF0ZWRUeXBlPiBTVkdBbmltYXRlZE51bWJlckFuaW1hdG9yOjpjb25zdHJ1Y3RGcm9tU3RyaW5n
KGNvbnN0CiAKIFBhc3NPd25QdHI8U1ZHQW5pbWF0ZWRUeXBlPiBTVkdBbmltYXRlZE51bWJlckFu
aW1hdG9yOjpzdGFydEFuaW1WYWxBbmltYXRpb24oY29uc3QgVmVjdG9yPFNWR0FuaW1hdGVkUHJv
cGVydHkqPiYgcHJvcGVydGllcykKIHsKLSAgICByZXR1cm4gU1ZHQW5pbWF0ZWRUeXBlOjpjcmVh
dGVOdW1iZXIoY29uc3RydWN0RnJvbU9uZUJhc2VWYWx1ZTxmbG9hdCwgU1ZHQW5pbWF0ZWROdW1i
ZXI+KHByb3BlcnRpZXMpKTsKKyAgICByZXR1cm4gU1ZHQW5pbWF0ZWRUeXBlOjpjcmVhdGVOdW1i
ZXIoY29uc3RydWN0RnJvbUJhc2VWYWx1ZTxTVkdBbmltYXRlZE51bWJlcj4ocHJvcGVydGllcykp
OwogfQogCiB2b2lkIFNWR0FuaW1hdGVkTnVtYmVyQW5pbWF0b3I6OnN0b3BBbmltVmFsQW5pbWF0
aW9uKGNvbnN0IFZlY3RvcjxTVkdBbmltYXRlZFByb3BlcnR5Kj4mIHByb3BlcnRpZXMpCiB7Ci0g
ICAgU1ZHQW5pbWF0ZWRUeXBlQW5pbWF0b3I6OnN0b3BBbmltVmFsQW5pbWF0aW9uRm9yVHlwZTxT
VkdBbmltYXRlZE51bWJlcj4ocHJvcGVydGllcyk7CisgICAgc3RvcEFuaW1WYWxBbmltYXRpb25G
b3JUeXBlPFNWR0FuaW1hdGVkTnVtYmVyPihwcm9wZXJ0aWVzKTsKIH0KIAogdm9pZCBTVkdBbmlt
YXRlZE51bWJlckFuaW1hdG9yOjpyZXNldEFuaW1WYWxUb0Jhc2VWYWwoY29uc3QgVmVjdG9yPFNW
R0FuaW1hdGVkUHJvcGVydHkqPiYgcHJvcGVydGllcywgU1ZHQW5pbWF0ZWRUeXBlKiB0eXBlKQog
ewotICAgIHJlc2V0RnJvbU9uZUJhc2VWYWx1ZTxmbG9hdCwgU1ZHQW5pbWF0ZWROdW1iZXI+KHBy
b3BlcnRpZXMsIHR5cGUsICZTVkdBbmltYXRlZFR5cGU6Om51bWJlcik7CisgICAgcmVzZXRGcm9t
QmFzZVZhbHVlPFNWR0FuaW1hdGVkTnVtYmVyPihwcm9wZXJ0aWVzLCB0eXBlLCAmU1ZHQW5pbWF0
ZWRUeXBlOjpudW1iZXIpOwogfQogCiB2b2lkIFNWR0FuaW1hdGVkTnVtYmVyQW5pbWF0b3I6OmFu
aW1WYWxXaWxsQ2hhbmdlKGNvbnN0IFZlY3RvcjxTVkdBbmltYXRlZFByb3BlcnR5Kj4mIHByb3Bl
cnRpZXMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWROdW1iZXJM
aXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZE51bWJlckxpc3QuY3BwCmlu
ZGV4IDgyMzAxN2VhYjY5YjJjMTg3YjVlNzdjZTYxZTkwZGZkYzdlMzBhOGEuLjI1N2EwOWZlNTI2
ODNmZmY0NjVlYjg1NmNkMWRmODhkZmYxMjhmZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdBbmltYXRlZE51bWJlckxpc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdBbmltYXRlZE51bWJlckxpc3QuY3BwCkBAIC00MSwxNyArNDEsMTcgQEAgUGFzc093blB0cjxT
VkdBbmltYXRlZFR5cGU+IFNWR0FuaW1hdGVkTnVtYmVyTGlzdEFuaW1hdG9yOjpjb25zdHJ1Y3RG
cm9tU3RyaW5nKGMKIAogUGFzc093blB0cjxTVkdBbmltYXRlZFR5cGU+IFNWR0FuaW1hdGVkTnVt
YmVyTGlzdEFuaW1hdG9yOjpzdGFydEFuaW1WYWxBbmltYXRpb24oY29uc3QgVmVjdG9yPFNWR0Fu
aW1hdGVkUHJvcGVydHkqPiYgcHJvcGVydGllcykKIHsKLSAgICByZXR1cm4gU1ZHQW5pbWF0ZWRU
eXBlOjpjcmVhdGVOdW1iZXJMaXN0KGNvbnN0cnVjdEZyb21PbmVCYXNlVmFsdWU8U1ZHTnVtYmVy
TGlzdCwgU1ZHQW5pbWF0ZWROdW1iZXJMaXN0Pihwcm9wZXJ0aWVzKSk7CisgICAgcmV0dXJuIFNW
R0FuaW1hdGVkVHlwZTo6Y3JlYXRlTnVtYmVyTGlzdChjb25zdHJ1Y3RGcm9tQmFzZVZhbHVlPFNW
R0FuaW1hdGVkTnVtYmVyTGlzdD4ocHJvcGVydGllcykpOwogfQogCiB2b2lkIFNWR0FuaW1hdGVk
TnVtYmVyTGlzdEFuaW1hdG9yOjpzdG9wQW5pbVZhbEFuaW1hdGlvbihjb25zdCBWZWN0b3I8U1ZH
QW5pbWF0ZWRQcm9wZXJ0eSo+JiBwcm9wZXJ0aWVzKQogewotICAgIFNWR0FuaW1hdGVkVHlwZUFu
aW1hdG9yOjpzdG9wQW5pbVZhbEFuaW1hdGlvbkZvclR5cGU8U1ZHQW5pbWF0ZWROdW1iZXJMaXN0
Pihwcm9wZXJ0aWVzKTsKKyAgICBzdG9wQW5pbVZhbEFuaW1hdGlvbkZvclR5cGU8U1ZHQW5pbWF0
ZWROdW1iZXJMaXN0Pihwcm9wZXJ0aWVzKTsKIH0KIAogdm9pZCBTVkdBbmltYXRlZE51bWJlckxp
c3RBbmltYXRvcjo6cmVzZXRBbmltVmFsVG9CYXNlVmFsKGNvbnN0IFZlY3RvcjxTVkdBbmltYXRl
ZFByb3BlcnR5Kj4mIHByb3BlcnRpZXMsIFNWR0FuaW1hdGVkVHlwZSogdHlwZSkKIHsKLSAgICBy
ZXNldEZyb21PbmVCYXNlVmFsdWU8U1ZHTnVtYmVyTGlzdCwgU1ZHQW5pbWF0ZWROdW1iZXJMaXN0
Pihwcm9wZXJ0aWVzLCB0eXBlLCAmU1ZHQW5pbWF0ZWRUeXBlOjpudW1iZXJMaXN0KTsKKyAgICBy
ZXNldEZyb21CYXNlVmFsdWU8U1ZHQW5pbWF0ZWROdW1iZXJMaXN0Pihwcm9wZXJ0aWVzLCB0eXBl
LCAmU1ZHQW5pbWF0ZWRUeXBlOjpudW1iZXJMaXN0KTsKIH0KIAogdm9pZCBTVkdBbmltYXRlZE51
bWJlckxpc3RBbmltYXRvcjo6YW5pbVZhbFdpbGxDaGFuZ2UoY29uc3QgVmVjdG9yPFNWR0FuaW1h
dGVkUHJvcGVydHkqPiYgcHJvcGVydGllcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdBbmltYXRlZE51bWJlck9wdGlvbmFsTnVtYmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdBbmltYXRlZE51bWJlck9wdGlvbmFsTnVtYmVyLmNwcAppbmRleCAxNDc3M2Q0MDQ2MzFi
NGE3N2UxMDYwYjQ1OGNkZDlmODI1MWFlOGQwLi5jNDZjNzkxYjM4ZDNlMmZlZjU3ZjkwMGRiODk1
ZDUwMjE0MmQ0ZTcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRO
dW1iZXJPcHRpb25hbE51bWJlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1h
dGVkTnVtYmVyT3B0aW9uYWxOdW1iZXIuY3BwCkBAIC00OCwyNyArNDgsMjcgQEAgUGFzc093blB0
cjxTVkdBbmltYXRlZFR5cGU+IFNWR0FuaW1hdGVkTnVtYmVyT3B0aW9uYWxOdW1iZXJBbmltYXRv
cjo6Y29uc3RydWN0RnIKIAogUGFzc093blB0cjxTVkdBbmltYXRlZFR5cGU+IFNWR0FuaW1hdGVk
TnVtYmVyT3B0aW9uYWxOdW1iZXJBbmltYXRvcjo6c3RhcnRBbmltVmFsQW5pbWF0aW9uKGNvbnN0
IFZlY3RvcjxTVkdBbmltYXRlZFByb3BlcnR5Kj4mIHByb3BlcnRpZXMpCiB7Ci0gICAgcmV0dXJu
IFNWR0FuaW1hdGVkVHlwZTo6Y3JlYXRlTnVtYmVyT3B0aW9uYWxOdW1iZXIoY29uc3RydWN0RnJv
bVR3b0Jhc2VWYWx1ZXM8cGFpcjxmbG9hdCwgZmxvYXQ+LCBmbG9hdCwgU1ZHQW5pbWF0ZWROdW1i
ZXI+KHByb3BlcnRpZXMpKTsKKyAgICByZXR1cm4gU1ZHQW5pbWF0ZWRUeXBlOjpjcmVhdGVOdW1i
ZXJPcHRpb25hbE51bWJlcihjb25zdHJ1Y3RGcm9tQmFzZVZhbHVlczxTVkdBbmltYXRlZE51bWJl
ciwgU1ZHQW5pbWF0ZWROdW1iZXI+KHByb3BlcnRpZXMpKTsKIH0KIAogdm9pZCBTVkdBbmltYXRl
ZE51bWJlck9wdGlvbmFsTnVtYmVyQW5pbWF0b3I6OnN0b3BBbmltVmFsQW5pbWF0aW9uKGNvbnN0
IFZlY3RvcjxTVkdBbmltYXRlZFByb3BlcnR5Kj4mIHByb3BlcnRpZXMpCiB7Ci0gICAgU1ZHQW5p
bWF0ZWRUeXBlQW5pbWF0b3I6OnN0b3BBbmltVmFsQW5pbWF0aW9uRm9yVHlwZTxTVkdBbmltYXRl
ZE51bWJlcj4ocHJvcGVydGllcyk7CisgICAgc3RvcEFuaW1WYWxBbmltYXRpb25Gb3JUeXBlczxT
VkdBbmltYXRlZE51bWJlciwgU1ZHQW5pbWF0ZWROdW1iZXI+KHByb3BlcnRpZXMpOwogfQogCiB2
b2lkIFNWR0FuaW1hdGVkTnVtYmVyT3B0aW9uYWxOdW1iZXJBbmltYXRvcjo6cmVzZXRBbmltVmFs
VG9CYXNlVmFsKGNvbnN0IFZlY3RvcjxTVkdBbmltYXRlZFByb3BlcnR5Kj4mIHByb3BlcnRpZXMs
IFNWR0FuaW1hdGVkVHlwZSogdHlwZSkKIHsKLSAgICByZXNldEZyb21Ud29CYXNlVmFsdWVzPHBh
aXI8ZmxvYXQsIGZsb2F0PiwgZmxvYXQsIFNWR0FuaW1hdGVkTnVtYmVyPihwcm9wZXJ0aWVzLCB0
eXBlLCAmU1ZHQW5pbWF0ZWRUeXBlOjpudW1iZXJPcHRpb25hbE51bWJlcik7CisgICAgcmVzZXRG
cm9tQmFzZVZhbHVlczxTVkdBbmltYXRlZE51bWJlciwgU1ZHQW5pbWF0ZWROdW1iZXI+KHByb3Bl
cnRpZXMsIHR5cGUsICZTVkdBbmltYXRlZFR5cGU6Om51bWJlck9wdGlvbmFsTnVtYmVyKTsKIH0K
IAogdm9pZCBTVkdBbmltYXRlZE51bWJlck9wdGlvbmFsTnVtYmVyQW5pbWF0b3I6OmFuaW1WYWxX
aWxsQ2hhbmdlKGNvbnN0IFZlY3RvcjxTVkdBbmltYXRlZFByb3BlcnR5Kj4mIHByb3BlcnRpZXMp
CiB7Ci0gICAgYW5pbVZhbFdpbGxDaGFuZ2VGb3JUeXBlPFNWR0FuaW1hdGVkTnVtYmVyPihwcm9w
ZXJ0aWVzKTsKKyAgICBhbmltVmFsV2lsbENoYW5nZUZvclR5cGVzPFNWR0FuaW1hdGVkTnVtYmVy
LCBTVkdBbmltYXRlZE51bWJlcj4ocHJvcGVydGllcyk7CiB9CiAKIHZvaWQgU1ZHQW5pbWF0ZWRO
dW1iZXJPcHRpb25hbE51bWJlckFuaW1hdG9yOjphbmltVmFsRGlkQ2hhbmdlKGNvbnN0IFZlY3Rv
cjxTVkdBbmltYXRlZFByb3BlcnR5Kj4mIHByb3BlcnRpZXMpCiB7Ci0gICAgYW5pbVZhbERpZENo
YW5nZUZvclR5cGU8U1ZHQW5pbWF0ZWROdW1iZXI+KHByb3BlcnRpZXMpOworICAgIGFuaW1WYWxE
aWRDaGFuZ2VGb3JUeXBlczxTVkdBbmltYXRlZE51bWJlciwgU1ZHQW5pbWF0ZWROdW1iZXI+KHBy
b3BlcnRpZXMpOwogfQogCiB2b2lkIFNWR0FuaW1hdGVkTnVtYmVyT3B0aW9uYWxOdW1iZXJBbmlt
YXRvcjo6Y2FsY3VsYXRlRnJvbUFuZFRvVmFsdWVzKE93blB0cjxTVkdBbmltYXRlZFR5cGU+JiBm
cm9tLCBPd25QdHI8U1ZHQW5pbWF0ZWRUeXBlPiYgdG8sIGNvbnN0IFN0cmluZyYgZnJvbVN0cmlu
ZywgY29uc3QgU3RyaW5nJiB0b1N0cmluZykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdBbmltYXRlZFByZXNlcnZlQXNwZWN0UmF0aW8uY3BwIGIvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0FuaW1hdGVkUHJlc2VydmVBc3BlY3RSYXRpby5jcHAKaW5kZXggYTYyODgxYzViOTg3YWZj
NDFmNTk4MjVlOWM2M2ViNGJlZTdkYzgwMS4uOTA3N2M3OTg0NTVhZGQ0NWJjMTJmY2VhNjFkNTIx
ZThlODZkZTFiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkUHJl
c2VydmVBc3BlY3RSYXRpby5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVk
UHJlc2VydmVBc3BlY3RSYXRpby5jcHAKQEAgLTQwLDE3ICs0MCwxNyBAQCBQYXNzT3duUHRyPFNW
R0FuaW1hdGVkVHlwZT4gU1ZHQW5pbWF0ZWRQcmVzZXJ2ZUFzcGVjdFJhdGlvQW5pbWF0b3I6OmNv
bnN0cnVjdEZybwogCiBQYXNzT3duUHRyPFNWR0FuaW1hdGVkVHlwZT4gU1ZHQW5pbWF0ZWRQcmVz
ZXJ2ZUFzcGVjdFJhdGlvQW5pbWF0b3I6OnN0YXJ0QW5pbVZhbEFuaW1hdGlvbihjb25zdCBWZWN0
b3I8U1ZHQW5pbWF0ZWRQcm9wZXJ0eSo+JiBwcm9wZXJ0aWVzKQogewotICAgIHJldHVybiBTVkdB
bmltYXRlZFR5cGU6OmNyZWF0ZVByZXNlcnZlQXNwZWN0UmF0aW8oY29uc3RydWN0RnJvbU9uZUJh
c2VWYWx1ZTxTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLCBTVkdBbmltYXRlZFByZXNlcnZlQXNwZWN0
UmF0aW8+KHByb3BlcnRpZXMpKTsKKyAgICByZXR1cm4gU1ZHQW5pbWF0ZWRUeXBlOjpjcmVhdGVQ
cmVzZXJ2ZUFzcGVjdFJhdGlvKGNvbnN0cnVjdEZyb21CYXNlVmFsdWU8U1ZHQW5pbWF0ZWRQcmVz
ZXJ2ZUFzcGVjdFJhdGlvPihwcm9wZXJ0aWVzKSk7CiB9CiAKIHZvaWQgU1ZHQW5pbWF0ZWRQcmVz
ZXJ2ZUFzcGVjdFJhdGlvQW5pbWF0b3I6OnN0b3BBbmltVmFsQW5pbWF0aW9uKGNvbnN0IFZlY3Rv
cjxTVkdBbmltYXRlZFByb3BlcnR5Kj4mIHByb3BlcnRpZXMpCiB7Ci0gICAgU1ZHQW5pbWF0ZWRU
eXBlQW5pbWF0b3I6OnN0b3BBbmltVmFsQW5pbWF0aW9uRm9yVHlwZTxTVkdBbmltYXRlZFByZXNl
cnZlQXNwZWN0UmF0aW8+KHByb3BlcnRpZXMpOworICAgIHN0b3BBbmltVmFsQW5pbWF0aW9uRm9y
VHlwZTxTVkdBbmltYXRlZFByZXNlcnZlQXNwZWN0UmF0aW8+KHByb3BlcnRpZXMpOwogfQogCiB2
b2lkIFNWR0FuaW1hdGVkUHJlc2VydmVBc3BlY3RSYXRpb0FuaW1hdG9yOjpyZXNldEFuaW1WYWxU
b0Jhc2VWYWwoY29uc3QgVmVjdG9yPFNWR0FuaW1hdGVkUHJvcGVydHkqPiYgcHJvcGVydGllcywg
U1ZHQW5pbWF0ZWRUeXBlKiB0eXBlKQogewotICAgIHJlc2V0RnJvbU9uZUJhc2VWYWx1ZTxTVkdQ
cmVzZXJ2ZUFzcGVjdFJhdGlvLCBTVkdBbmltYXRlZFByZXNlcnZlQXNwZWN0UmF0aW8+KHByb3Bl
cnRpZXMsIHR5cGUsICZTVkdBbmltYXRlZFR5cGU6OnByZXNlcnZlQXNwZWN0UmF0aW8pOworICAg
IHJlc2V0RnJvbUJhc2VWYWx1ZTxTVkdBbmltYXRlZFByZXNlcnZlQXNwZWN0UmF0aW8+KHByb3Bl
cnRpZXMsIHR5cGUsICZTVkdBbmltYXRlZFR5cGU6OnByZXNlcnZlQXNwZWN0UmF0aW8pOwogfQog
CiB2b2lkIFNWR0FuaW1hdGVkUHJlc2VydmVBc3BlY3RSYXRpb0FuaW1hdG9yOjphbmltVmFsV2ls
bENoYW5nZShjb25zdCBWZWN0b3I8U1ZHQW5pbWF0ZWRQcm9wZXJ0eSo+JiBwcm9wZXJ0aWVzKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkUmVjdC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRSZWN0LmNwcAppbmRleCBiZjcxNjA4NGVlMWFmOWE0
MWI1ODdhZDIzYWU5NGU4NDdhMGM4OGQ1Li4yMGE1OTZjNzk5NGZjYjBiOThlNTdmYTk2ZTg3Njc0
ODI1OTlmZjhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRSZWN0
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRSZWN0LmNwcApAQCAtNDEs
MTcgKzQxLDE3IEBAIFBhc3NPd25QdHI8U1ZHQW5pbWF0ZWRUeXBlPiBTVkdBbmltYXRlZFJlY3RB
bmltYXRvcjo6Y29uc3RydWN0RnJvbVN0cmluZyhjb25zdCBTCiAKIFBhc3NPd25QdHI8U1ZHQW5p
bWF0ZWRUeXBlPiBTVkdBbmltYXRlZFJlY3RBbmltYXRvcjo6c3RhcnRBbmltVmFsQW5pbWF0aW9u
KGNvbnN0IFZlY3RvcjxTVkdBbmltYXRlZFByb3BlcnR5Kj4mIHByb3BlcnRpZXMpCiB7Ci0gICAg
cmV0dXJuIFNWR0FuaW1hdGVkVHlwZTo6Y3JlYXRlUmVjdChjb25zdHJ1Y3RGcm9tT25lQmFzZVZh
bHVlPEZsb2F0UmVjdCwgU1ZHQW5pbWF0ZWRSZWN0Pihwcm9wZXJ0aWVzKSk7CisgICAgcmV0dXJu
IFNWR0FuaW1hdGVkVHlwZTo6Y3JlYXRlUmVjdChjb25zdHJ1Y3RGcm9tQmFzZVZhbHVlPFNWR0Fu
aW1hdGVkUmVjdD4ocHJvcGVydGllcykpOwogfQogCiB2b2lkIFNWR0FuaW1hdGVkUmVjdEFuaW1h
dG9yOjpzdG9wQW5pbVZhbEFuaW1hdGlvbihjb25zdCBWZWN0b3I8U1ZHQW5pbWF0ZWRQcm9wZXJ0
eSo+JiBwcm9wZXJ0aWVzKQogewotICAgIFNWR0FuaW1hdGVkVHlwZUFuaW1hdG9yOjpzdG9wQW5p
bVZhbEFuaW1hdGlvbkZvclR5cGU8U1ZHQW5pbWF0ZWRSZWN0Pihwcm9wZXJ0aWVzKTsKKyAgICBz
dG9wQW5pbVZhbEFuaW1hdGlvbkZvclR5cGU8U1ZHQW5pbWF0ZWRSZWN0Pihwcm9wZXJ0aWVzKTsK
IH0KIAogdm9pZCBTVkdBbmltYXRlZFJlY3RBbmltYXRvcjo6cmVzZXRBbmltVmFsVG9CYXNlVmFs
KGNvbnN0IFZlY3RvcjxTVkdBbmltYXRlZFByb3BlcnR5Kj4mIHByb3BlcnRpZXMsIFNWR0FuaW1h
dGVkVHlwZSogdHlwZSkKIHsKLSAgICByZXNldEZyb21PbmVCYXNlVmFsdWU8RmxvYXRSZWN0LCBT
VkdBbmltYXRlZFJlY3Q+KHByb3BlcnRpZXMsIHR5cGUsICZTVkdBbmltYXRlZFR5cGU6OnJlY3Qp
OworICAgIHJlc2V0RnJvbUJhc2VWYWx1ZTxTVkdBbmltYXRlZFJlY3Q+KHByb3BlcnRpZXMsIHR5
cGUsICZTVkdBbmltYXRlZFR5cGU6OnJlY3QpOwogfQogCiB2b2lkIFNWR0FuaW1hdGVkUmVjdEFu
aW1hdG9yOjphbmltVmFsV2lsbENoYW5nZShjb25zdCBWZWN0b3I8U1ZHQW5pbWF0ZWRQcm9wZXJ0
eSo+JiBwcm9wZXJ0aWVzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1h
dGVkU3RyaW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZFN0cmluZy5jcHAK
aW5kZXggMTU2YWUwZDgzNjRjMzI2ODBjNWNjYWQ0ZWExNWNhNTg2NjY0MmQxNS4uZjkxMzc3MWQy
YjIwMTU1NDhkNmUzMGU3OTc3ODc5NmZlM2RmMjAwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0FuaW1hdGVkU3RyaW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
QW5pbWF0ZWRTdHJpbmcuY3BwCkBAIC00MCwxNyArNDAsMTcgQEAgUGFzc093blB0cjxTVkdBbmlt
YXRlZFR5cGU+IFNWR0FuaW1hdGVkU3RyaW5nQW5pbWF0b3I6OmNvbnN0cnVjdEZyb21TdHJpbmco
Y29uc3QKIAogUGFzc093blB0cjxTVkdBbmltYXRlZFR5cGU+IFNWR0FuaW1hdGVkU3RyaW5nQW5p
bWF0b3I6OnN0YXJ0QW5pbVZhbEFuaW1hdGlvbihjb25zdCBWZWN0b3I8U1ZHQW5pbWF0ZWRQcm9w
ZXJ0eSo+JiBwcm9wZXJ0aWVzKQogewotICAgIHJldHVybiBTVkdBbmltYXRlZFR5cGU6OmNyZWF0
ZVN0cmluZyhjb25zdHJ1Y3RGcm9tT25lQmFzZVZhbHVlPFN0cmluZywgU1ZHQW5pbWF0ZWRTdHJp
bmc+KHByb3BlcnRpZXMpKTsKKyAgICByZXR1cm4gU1ZHQW5pbWF0ZWRUeXBlOjpjcmVhdGVTdHJp
bmcoY29uc3RydWN0RnJvbUJhc2VWYWx1ZTxTVkdBbmltYXRlZFN0cmluZz4ocHJvcGVydGllcykp
OwogfQogCiB2b2lkIFNWR0FuaW1hdGVkU3RyaW5nQW5pbWF0b3I6OnN0b3BBbmltVmFsQW5pbWF0
aW9uKGNvbnN0IFZlY3RvcjxTVkdBbmltYXRlZFByb3BlcnR5Kj4mIHByb3BlcnRpZXMpCiB7Ci0g
ICAgU1ZHQW5pbWF0ZWRUeXBlQW5pbWF0b3I6OnN0b3BBbmltVmFsQW5pbWF0aW9uRm9yVHlwZTxT
VkdBbmltYXRlZFN0cmluZz4ocHJvcGVydGllcyk7CisgICAgc3RvcEFuaW1WYWxBbmltYXRpb25G
b3JUeXBlPFNWR0FuaW1hdGVkU3RyaW5nPihwcm9wZXJ0aWVzKTsKIH0KIAogdm9pZCBTVkdBbmlt
YXRlZFN0cmluZ0FuaW1hdG9yOjpyZXNldEFuaW1WYWxUb0Jhc2VWYWwoY29uc3QgVmVjdG9yPFNW
R0FuaW1hdGVkUHJvcGVydHkqPiYgcHJvcGVydGllcywgU1ZHQW5pbWF0ZWRUeXBlKiB0eXBlKQog
ewotICAgIHJlc2V0RnJvbU9uZUJhc2VWYWx1ZTxTdHJpbmcsIFNWR0FuaW1hdGVkU3RyaW5nPihw
cm9wZXJ0aWVzLCB0eXBlLCAmU1ZHQW5pbWF0ZWRUeXBlOjpzdHJpbmcpOworICAgIHJlc2V0RnJv
bUJhc2VWYWx1ZTxTVkdBbmltYXRlZFN0cmluZz4ocHJvcGVydGllcywgdHlwZSwgJlNWR0FuaW1h
dGVkVHlwZTo6c3RyaW5nKTsKIH0KIAogdm9pZCBTVkdBbmltYXRlZFN0cmluZ0FuaW1hdG9yOjph
bmltVmFsV2lsbENoYW5nZShjb25zdCBWZWN0b3I8U1ZHQW5pbWF0ZWRQcm9wZXJ0eSo+JiBwcm9w
ZXJ0aWVzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkVHJhbnNm
b3JtTGlzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRUcmFuc2Zvcm1MaXN0
LmNwcAppbmRleCA1ZDJiZjdlNzViMmQyOWRkZDk0OGE0ZDc4ZjdkOGYzY2M0MDY4ZTM2Li5hOGFi
ZGU3ZjZkMTY2NWYzMDU2YWMwYmY5ZWY3MDdkM2RhYWRiNmI0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRUcmFuc2Zvcm1MaXN0LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHQW5pbWF0ZWRUcmFuc2Zvcm1MaXN0LmNwcApAQCAtNTAsMTIgKzUwLDEyIEBA
IFBhc3NPd25QdHI8U1ZHQW5pbWF0ZWRUeXBlPiBTVkdBbmltYXRlZFRyYW5zZm9ybUxpc3RBbmlt
YXRvcjo6Y29uc3RydWN0RnJvbVN0cmluCiAKIFBhc3NPd25QdHI8U1ZHQW5pbWF0ZWRUeXBlPiBT
VkdBbmltYXRlZFRyYW5zZm9ybUxpc3RBbmltYXRvcjo6c3RhcnRBbmltVmFsQW5pbWF0aW9uKGNv
bnN0IFZlY3RvcjxTVkdBbmltYXRlZFByb3BlcnR5Kj4mIHByb3BlcnRpZXMpCiB7Ci0gICAgcmV0
dXJuIFNWR0FuaW1hdGVkVHlwZTo6Y3JlYXRlVHJhbnNmb3JtTGlzdChjb25zdHJ1Y3RGcm9tT25l
QmFzZVZhbHVlPFNWR1RyYW5zZm9ybUxpc3QsIFNWR0FuaW1hdGVkVHJhbnNmb3JtTGlzdD4ocHJv
cGVydGllcykpOworICAgIHJldHVybiBTVkdBbmltYXRlZFR5cGU6OmNyZWF0ZVRyYW5zZm9ybUxp
c3QoY29uc3RydWN0RnJvbUJhc2VWYWx1ZTxTVkdBbmltYXRlZFRyYW5zZm9ybUxpc3Q+KHByb3Bl
cnRpZXMpKTsKIH0KIAogdm9pZCBTVkdBbmltYXRlZFRyYW5zZm9ybUxpc3RBbmltYXRvcjo6c3Rv
cEFuaW1WYWxBbmltYXRpb24oY29uc3QgVmVjdG9yPFNWR0FuaW1hdGVkUHJvcGVydHkqPiYgcHJv
cGVydGllcykKIHsKLSAgICBTVkdBbmltYXRlZFR5cGVBbmltYXRvcjo6c3RvcEFuaW1WYWxBbmlt
YXRpb25Gb3JUeXBlPFNWR0FuaW1hdGVkVHJhbnNmb3JtTGlzdD4ocHJvcGVydGllcyk7CisgICAg
c3RvcEFuaW1WYWxBbmltYXRpb25Gb3JUeXBlPFNWR0FuaW1hdGVkVHJhbnNmb3JtTGlzdD4ocHJv
cGVydGllcyk7CiB9CiAKIGlubGluZSBQYXNzT3duUHRyPFNWR0FuaW1hdGVkVHlwZT4gU1ZHQW5p
bWF0ZWRUcmFuc2Zvcm1MaXN0QW5pbWF0b3I6OmNvbnN0cnVjdEZyb21TdHJpbmcoU1ZHQW5pbWF0
ZVRyYW5zZm9ybUVsZW1lbnQqIGFuaW1hdGVUcmFuc2Zvcm1FbGVtZW50LCBjb25zdCBTdHJpbmcm
IHN0cmluZykKQEAgLTY2LDcgKzY2LDcgQEAgaW5saW5lIFBhc3NPd25QdHI8U1ZHQW5pbWF0ZWRU
eXBlPiBTVkdBbmltYXRlZFRyYW5zZm9ybUxpc3RBbmltYXRvcjo6Y29uc3RydWN0RnIKIAogdm9p
ZCBTVkdBbmltYXRlZFRyYW5zZm9ybUxpc3RBbmltYXRvcjo6cmVzZXRBbmltVmFsVG9CYXNlVmFs
KGNvbnN0IFZlY3RvcjxTVkdBbmltYXRlZFByb3BlcnR5Kj4mIHByb3BlcnRpZXMsIFNWR0FuaW1h
dGVkVHlwZSogdHlwZSkKIHsKLSAgICByZXNldEZyb21PbmVCYXNlVmFsdWU8U1ZHVHJhbnNmb3Jt
TGlzdCwgU1ZHQW5pbWF0ZWRUcmFuc2Zvcm1MaXN0Pihwcm9wZXJ0aWVzLCB0eXBlLCAmU1ZHQW5p
bWF0ZWRUeXBlOjp0cmFuc2Zvcm1MaXN0KTsKKyAgICByZXNldEZyb21CYXNlVmFsdWU8U1ZHQW5p
bWF0ZWRUcmFuc2Zvcm1MaXN0Pihwcm9wZXJ0aWVzLCB0eXBlLCAmU1ZHQW5pbWF0ZWRUeXBlOjp0
cmFuc2Zvcm1MaXN0KTsKIH0KIAogdm9pZCBTVkdBbmltYXRlZFRyYW5zZm9ybUxpc3RBbmltYXRv
cjo6YW5pbVZhbFdpbGxDaGFuZ2UoY29uc3QgVmVjdG9yPFNWR0FuaW1hdGVkUHJvcGVydHkqPiYg
cHJvcGVydGllcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZFR5
cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkVHlwZS5jcHAKaW5kZXggMTJm
MDY4MDAxNTAyZDcyOWJhMTc5MWM5MDNlMGZhYTE3NmQ5ZmJkYS4uNDI0M2UyMmZmMGQwMDJmMWVj
MDJiNGQ0ZTU5MjY3Y2M5Zjc1MDY0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0FuaW1hdGVkVHlwZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkVHlw
ZS5jcHAKQEAgLTM0LDggKzM0LDYgQEAKICNpbmNsdWRlICJTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlv
LmgiCiAjaW5jbHVkZSAiU1ZHVHJhbnNmb3JtTGlzdC5oIgogCi11c2luZyBuYW1lc3BhY2Ugc3Rk
OwotCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFNWR0FuaW1hdGVkVHlwZTo6U1ZHQW5pbWF0ZWRU
eXBlKEFuaW1hdGVkUHJvcGVydHlUeXBlIHR5cGUpCkBAIC00Nyw3ICs0NSw3IEBAIFNWR0FuaW1h
dGVkVHlwZTo6flNWR0FuaW1hdGVkVHlwZSgpCiB7CiAgICAgc3dpdGNoIChtX3R5cGUpIHsKICAg
ICBjYXNlIEFuaW1hdGVkQW5nbGU6Ci0gICAgICAgIGRlbGV0ZSBtX2RhdGEuYW5nbGU7CisgICAg
ICAgIGRlbGV0ZSBtX2RhdGEuYW5nbGVBbmRFbnVtZXJhdGlvbjsKICAgICAgICAgYnJlYWs7CiAg
ICAgY2FzZSBBbmltYXRlZEJvb2xlYW46CiAgICAgICAgIGRlbGV0ZSBtX2RhdGEuYm9vbGVhbjsK
QEAgLTU2LDggKzU0LDcgQEAgU1ZHQW5pbWF0ZWRUeXBlOjp+U1ZHQW5pbWF0ZWRUeXBlKCkKICAg
ICAgICAgZGVsZXRlIG1fZGF0YS5jb2xvcjsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBBbmlt
YXRlZEVudW1lcmF0aW9uOgotICAgICAgICAvLyBGSVhNRTogQW5pbWF0ZWRFbnVtZXJhdGlvbiBp
cyBsZWZ0IHRvZG8uCi0gICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICBkZWxl
dGUgbV9kYXRhLmVudW1lcmF0aW9uOwogICAgICAgICBicmVhazsKICAgICBjYXNlIEFuaW1hdGVk
SW50ZWdlcjoKICAgICAgICAgZGVsZXRlIG1fZGF0YS5pbnRlZ2VyOwpAQCAtMTA0LDExICsxMDEs
MTEgQEAgU1ZHQW5pbWF0ZWRUeXBlOjp+U1ZHQW5pbWF0ZWRUeXBlKCkKICAgICB9CiB9CiAKLVBh
c3NPd25QdHI8U1ZHQW5pbWF0ZWRUeXBlPiBTVkdBbmltYXRlZFR5cGU6OmNyZWF0ZUFuZ2xlKFNW
R0FuZ2xlKiBhbmdsZSkKK1Bhc3NPd25QdHI8U1ZHQW5pbWF0ZWRUeXBlPiBTVkdBbmltYXRlZFR5
cGU6OmNyZWF0ZUFuZ2xlQW5kRW51bWVyYXRpb24oc3RkOjpwYWlyPFNWR0FuZ2xlLCB1bnNpZ25l
ZCBzaG9ydD4qIGFuZ2xlQW5kRW51bWVyYXRpb24pCiB7Ci0gICAgQVNTRVJUKGFuZ2xlKTsKKyAg
ICBBU1NFUlQoYW5nbGVBbmRFbnVtZXJhdGlvbik7CiAgICAgT3duUHRyPFNWR0FuaW1hdGVkVHlw
ZT4gYW5pbWF0ZWRUeXBlID0gYWRvcHRQdHIobmV3IFNWR0FuaW1hdGVkVHlwZShBbmltYXRlZEFu
Z2xlKSk7Ci0gICAgYW5pbWF0ZWRUeXBlLT5tX2RhdGEuYW5nbGUgPSBhbmdsZTsKKyAgICBhbmlt
YXRlZFR5cGUtPm1fZGF0YS5hbmdsZUFuZEVudW1lcmF0aW9uID0gYW5nbGVBbmRFbnVtZXJhdGlv
bjsKICAgICByZXR1cm4gYW5pbWF0ZWRUeXBlLnJlbGVhc2UoKTsKIH0KIApAQCAtMTI4LDYgKzEy
NSwxNCBAQCBQYXNzT3duUHRyPFNWR0FuaW1hdGVkVHlwZT4gU1ZHQW5pbWF0ZWRUeXBlOjpjcmVh
dGVDb2xvcihDb2xvciogY29sb3IpCiAgICAgcmV0dXJuIGFuaW1hdGVkVHlwZS5yZWxlYXNlKCk7
CiB9CiAKK1Bhc3NPd25QdHI8U1ZHQW5pbWF0ZWRUeXBlPiBTVkdBbmltYXRlZFR5cGU6OmNyZWF0
ZUVudW1lcmF0aW9uKHVuc2lnbmVkIHNob3J0KiBlbnVtZXJhdGlvbikKK3sKKyAgICBBU1NFUlQo
ZW51bWVyYXRpb24pOworICAgIE93blB0cjxTVkdBbmltYXRlZFR5cGU+IGFuaW1hdGVkVHlwZSA9
IGFkb3B0UHRyKG5ldyBTVkdBbmltYXRlZFR5cGUoQW5pbWF0ZWRFbnVtZXJhdGlvbikpOworICAg
IGFuaW1hdGVkVHlwZS0+bV9kYXRhLmVudW1lcmF0aW9uID0gZW51bWVyYXRpb247CisgICAgcmV0
dXJuIGFuaW1hdGVkVHlwZS5yZWxlYXNlKCk7Cit9CisKIFBhc3NPd25QdHI8U1ZHQW5pbWF0ZWRU
eXBlPiBTVkdBbmltYXRlZFR5cGU6OmNyZWF0ZUludGVnZXIoaW50KiBpbnRlZ2VyKQogewogICAg
IEFTU0VSVChpbnRlZ2VyKTsKQEAgLTIzMiwxMCArMjM3LDEwIEBAIFBhc3NPd25QdHI8U1ZHQW5p
bWF0ZWRUeXBlPiBTVkdBbmltYXRlZFR5cGU6OmNyZWF0ZVRyYW5zZm9ybUxpc3QoU1ZHVHJhbnNm
b3JtTGlzCiAgICAgcmV0dXJuIGFuaW1hdGVkVHlwZS5yZWxlYXNlKCk7CiB9CiAKLVNWR0FuZ2xl
JiBTVkdBbmltYXRlZFR5cGU6OmFuZ2xlKCkKK3N0ZDo6cGFpcjxTVkdBbmdsZSwgdW5zaWduZWQg
c2hvcnQ+JiBTVkdBbmltYXRlZFR5cGU6OmFuZ2xlQW5kRW51bWVyYXRpb24oKQogewogICAgIEFT
U0VSVChtX3R5cGUgPT0gQW5pbWF0ZWRBbmdsZSk7Ci0gICAgcmV0dXJuICptX2RhdGEuYW5nbGU7
CisgICAgcmV0dXJuICptX2RhdGEuYW5nbGVBbmRFbnVtZXJhdGlvbjsKIH0KIAogYm9vbCYgU1ZH
QW5pbWF0ZWRUeXBlOjpib29sZWFuKCkKQEAgLTI1MCw2ICsyNTUsMTIgQEAgQ29sb3ImIFNWR0Fu
aW1hdGVkVHlwZTo6Y29sb3IoKQogICAgIHJldHVybiAqbV9kYXRhLmNvbG9yOwogfQogCit1bnNp
Z25lZCBzaG9ydCYgU1ZHQW5pbWF0ZWRUeXBlOjplbnVtZXJhdGlvbigpCit7CisgICAgQVNTRVJU
KG1fdHlwZSA9PSBBbmltYXRlZEVudW1lcmF0aW9uKTsKKyAgICByZXR1cm4gKm1fZGF0YS5lbnVt
ZXJhdGlvbjsKK30KKwogaW50JiBTVkdBbmltYXRlZFR5cGU6OmludGVnZXIoKQogewogICAgIEFT
U0VSVChtX3R5cGUgPT0gQW5pbWF0ZWRJbnRlZ2VyKTsKQEAgLTMzMSwyNSArMzQyLDkgQEAgU1ZH
VHJhbnNmb3JtTGlzdCYgU1ZHQW5pbWF0ZWRUeXBlOjp0cmFuc2Zvcm1MaXN0KCkKIFN0cmluZyBT
VkdBbmltYXRlZFR5cGU6OnZhbHVlQXNTdHJpbmcoKQogewogICAgIHN3aXRjaCAobV90eXBlKSB7
Ci0gICAgY2FzZSBBbmltYXRlZEFuZ2xlOgotICAgICAgICBBU1NFUlQobV9kYXRhLmFuZ2xlKTsK
LSAgICAgICAgcmV0dXJuIG1fZGF0YS5hbmdsZS0+dmFsdWVBc1N0cmluZygpOwotICAgIGNhc2Ug
QW5pbWF0ZWRCb29sZWFuOgotICAgICAgICBBU1NFUlQobV9kYXRhLmJvb2xlYW4pOwotICAgICAg
ICByZXR1cm4gKm1fZGF0YS5ib29sZWFuID8gInRydWUiIDogImZhbHNlIjsKICAgICBjYXNlIEFu
aW1hdGVkQ29sb3I6CiAgICAgICAgIEFTU0VSVChtX2RhdGEuY29sb3IpOwogICAgICAgICByZXR1
cm4gbV9kYXRhLmNvbG9yLT5zZXJpYWxpemVkKCk7Ci0gICAgY2FzZSBBbmltYXRlZEVudW1lcmF0
aW9uOgotICAgICAgICAvLyBGSVhNRTogQW5pbWF0ZWRFbnVtZXJhdGlvbiBpcyBsZWZ0IHRvZG8u
Ci0gICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICBicmVhazsKLSAgICBjYXNl
IEFuaW1hdGVkSW50ZWdlcjoKLSAgICAgICAgQVNTRVJUKG1fZGF0YS5pbnRlZ2VyKTsKLSAgICAg
ICAgcmV0dXJuIFN0cmluZzo6bnVtYmVyKCptX2RhdGEuaW50ZWdlcik7Ci0gICAgY2FzZSBBbmlt
YXRlZEludGVnZXJPcHRpb25hbEludGVnZXI6Ci0gICAgICAgIEFTU0VSVChtX2RhdGEuaW50ZWdl
ck9wdGlvbmFsSW50ZWdlcik7Ci0gICAgICAgIHJldHVybiBTdHJpbmc6Om51bWJlcihtX2RhdGEu
aW50ZWdlck9wdGlvbmFsSW50ZWdlci0+Zmlyc3QpICsgJyAnICsgU3RyaW5nOjpudW1iZXIobV9k
YXRhLmludGVnZXJPcHRpb25hbEludGVnZXItPnNlY29uZCk7CiAgICAgY2FzZSBBbmltYXRlZExl
bmd0aDoKICAgICAgICAgQVNTRVJUKG1fZGF0YS5sZW5ndGgpOwogICAgICAgICByZXR1cm4gbV9k
YXRhLmxlbmd0aC0+dmFsdWVBc1N0cmluZygpOwpAQCAtMzU5LDEyICszNTQsNiBAQCBTdHJpbmcg
U1ZHQW5pbWF0ZWRUeXBlOjp2YWx1ZUFzU3RyaW5nKCkKICAgICBjYXNlIEFuaW1hdGVkTnVtYmVy
OgogICAgICAgICBBU1NFUlQobV9kYXRhLm51bWJlcik7CiAgICAgICAgIHJldHVybiBTdHJpbmc6
Om51bWJlcigqbV9kYXRhLm51bWJlcik7Ci0gICAgY2FzZSBBbmltYXRlZE51bWJlckxpc3Q6Ci0g
ICAgICAgIEFTU0VSVChtX2RhdGEubnVtYmVyTGlzdCk7Ci0gICAgICAgIHJldHVybiBtX2RhdGEu
bnVtYmVyTGlzdC0+dmFsdWVBc1N0cmluZygpOwotICAgIGNhc2UgQW5pbWF0ZWROdW1iZXJPcHRp
b25hbE51bWJlcjoKLSAgICAgICAgQVNTRVJUKG1fZGF0YS5udW1iZXJPcHRpb25hbE51bWJlcik7
Ci0gICAgICAgIHJldHVybiBTdHJpbmc6Om51bWJlcihtX2RhdGEubnVtYmVyT3B0aW9uYWxOdW1i
ZXItPmZpcnN0KSArICcgJyArIFN0cmluZzo6bnVtYmVyKG1fZGF0YS5udW1iZXJPcHRpb25hbE51
bWJlci0+c2Vjb25kKTsKICAgICBjYXNlIEFuaW1hdGVkUGF0aDogewogICAgICAgICBBU1NFUlQo
bV9kYXRhLnBhdGgpOwogICAgICAgICBTdHJpbmcgcmVzdWx0OwpAQCAtMzc0LDkgKzM2Myw2IEBA
IFN0cmluZyBTVkdBbmltYXRlZFR5cGU6OnZhbHVlQXNTdHJpbmcoKQogICAgIGNhc2UgQW5pbWF0
ZWRQb2ludHM6CiAgICAgICAgIEFTU0VSVChtX2RhdGEucG9pbnRMaXN0KTsKICAgICAgICAgcmV0
dXJuIG1fZGF0YS5wb2ludExpc3QtPnZhbHVlQXNTdHJpbmcoKTsKLSAgICBjYXNlIEFuaW1hdGVk
UHJlc2VydmVBc3BlY3RSYXRpbzoKLSAgICAgICAgQVNTRVJUKG1fZGF0YS5wcmVzZXJ2ZUFzcGVj
dFJhdGlvKTsKLSAgICAgICAgcmV0dXJuIG1fZGF0YS5wcmVzZXJ2ZUFzcGVjdFJhdGlvLT52YWx1
ZUFzU3RyaW5nKCk7CiAgICAgY2FzZSBBbmltYXRlZFJlY3Q6CiAgICAgICAgIEFTU0VSVChtX2Rh
dGEucmVjdCk7CiAgICAgICAgIHJldHVybiBTdHJpbmc6Om51bWJlcihtX2RhdGEucmVjdC0+eCgp
KSArICcgJyArIFN0cmluZzo6bnVtYmVyKG1fZGF0YS5yZWN0LT55KCkpICsgJyAnCkBAIC0zODQs
MTAgKzM3MCwyMCBAQCBTdHJpbmcgU1ZHQW5pbWF0ZWRUeXBlOjp2YWx1ZUFzU3RyaW5nKCkKICAg
ICBjYXNlIEFuaW1hdGVkU3RyaW5nOgogICAgICAgICBBU1NFUlQobV9kYXRhLnN0cmluZyk7CiAg
ICAgICAgIHJldHVybiAqbV9kYXRhLnN0cmluZzsKLSAgICAgY2FzZSBBbmltYXRlZFRyYW5zZm9y
bUxpc3Q6Ci0gICAgICAgIEFTU0VSVChtX2RhdGEudHJhbnNmb3JtTGlzdCk7Ci0gICAgICAgIHJl
dHVybiBtX2RhdGEudHJhbnNmb3JtTGlzdC0+dmFsdWVBc1N0cmluZygpOworCisgICAgLy8gVGhl
c2UgdHlwZXMgZG9uJ3QgYXBwZWFyIGluIHRoZSB0YWJsZSBpbiBTVkdTdHlsZWRFbGVtZW50Ojpj
c3NQcm9wZXJ0eVRvVHlwZU1hcCgpIGFuZCB0aHVzIGRvbid0IG5lZWQgdmFsdWVBc1N0cmluZygp
IHN1cHBvcnQuCisgICAgY2FzZSBBbmltYXRlZEFuZ2xlOgorICAgIGNhc2UgQW5pbWF0ZWRCb29s
ZWFuOgorICAgIGNhc2UgQW5pbWF0ZWRFbnVtZXJhdGlvbjoKKyAgICBjYXNlIEFuaW1hdGVkSW50
ZWdlcjoKKyAgICBjYXNlIEFuaW1hdGVkSW50ZWdlck9wdGlvbmFsSW50ZWdlcjoKKyAgICBjYXNl
IEFuaW1hdGVkTnVtYmVyTGlzdDoKKyAgICBjYXNlIEFuaW1hdGVkTnVtYmVyT3B0aW9uYWxOdW1i
ZXI6CisgICAgY2FzZSBBbmltYXRlZFByZXNlcnZlQXNwZWN0UmF0aW86CisgICAgY2FzZSBBbmlt
YXRlZFRyYW5zZm9ybUxpc3Q6CiAgICAgY2FzZSBBbmltYXRlZFVua25vd246CisgICAgICAgIC8v
IE9ubHkgU1ZHIERPTSBhbmltYXRpb25zIHVzZSB0aGVzZSBwcm9wZXJ0eSB0eXBlcyAtIHRoYXQg
bWVhbnMgdmFsdWVBc1N0cmluZygpIGlzIG5ldmVyIHVzZWQgZm9yIHRob3NlLgorICAgICAgICBB
U1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQogICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOwpAQCAtNDAyLDEwICszOTgsNiBAQCBib29sIFNWR0FuaW1hdGVkVHlwZTo6
c2V0VmFsdWVBc1N0cmluZyhjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyTmFtZSwgY29uc3QgU3Ry
aQogICAgICAgICBBU1NFUlQobV9kYXRhLmNvbG9yKTsKICAgICAgICAgKm1fZGF0YS5jb2xvciA9
IHZhbHVlLmlzRW1wdHkoKSA/IENvbG9yKCkgOiBTVkdDb2xvcjo6Y29sb3JGcm9tUkdCQ29sb3JT
dHJpbmcodmFsdWUpOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIEFuaW1hdGVkRW51bWVyYXRp
b246Ci0gICAgICAgIC8vIEZJWE1FOiBBbmltYXRlZEVudW1lcmF0aW9uIGlzIGxlZnQgdG9kby4K
LSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgIGJyZWFrOwogICAgIGNhc2Ug
QW5pbWF0ZWRMZW5ndGg6CiAgICAgICAgIEFTU0VSVChtX2RhdGEubGVuZ3RoKTsKICAgICAgICAg
bV9kYXRhLmxlbmd0aC0+c2V0VmFsdWVBc1N0cmluZyh2YWx1ZSwgU1ZHTGVuZ3RoOjpsZW5ndGhN
b2RlRm9yQW5pbWF0ZWRMZW5ndGhBdHRyaWJ1dGUoYXR0ck5hbWUpLCBlYyk7CkBAIC00NDMsNiAr
NDM1LDcgQEAgYm9vbCBTVkdBbmltYXRlZFR5cGU6OnNldFZhbHVlQXNTdHJpbmcoY29uc3QgUXVh
bGlmaWVkTmFtZSYgYXR0ck5hbWUsIGNvbnN0IFN0cmkKICAgICAvLyBUaGVzZSB0eXBlcyBkb24n
dCBhcHBlYXIgaW4gdGhlIHRhYmxlIGluIFNWR1N0eWxlZEVsZW1lbnQ6OmNzc1Byb3BlcnR5VG9U
eXBlTWFwKCkgYW5kIHRodXMgZG9uJ3QgbmVlZCBzZXRWYWx1ZUFzU3RyaW5nKCkgc3VwcG9ydC4g
CiAgICAgY2FzZSBBbmltYXRlZEFuZ2xlOgogICAgIGNhc2UgQW5pbWF0ZWRCb29sZWFuOgorICAg
IGNhc2UgQW5pbWF0ZWRFbnVtZXJhdGlvbjoKICAgICBjYXNlIEFuaW1hdGVkSW50ZWdlcjoKICAg
ICBjYXNlIEFuaW1hdGVkSW50ZWdlck9wdGlvbmFsSW50ZWdlcjoKICAgICBjYXNlIEFuaW1hdGVk
TnVtYmVyTGlzdDoKQEAgLTQ1NywxNyArNDUwLDEyIEBAIGJvb2wgU1ZHQW5pbWF0ZWRUeXBlOjpz
ZXRWYWx1ZUFzU3RyaW5nKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJOYW1lLCBjb25zdCBTdHJp
CiAgICAgcmV0dXJuICFlYzsKIH0KIAotdm9pZCBTVkdBbmltYXRlZFR5cGU6OnNldFByZXNlcnZl
QXNwZWN0UmF0aW9CYXNlVmFsdWUoY29uc3QgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbyYgcHJlc2Vy
dmVBc3BlY3RSYXRpbykKLXsKLSAgICBBU1NFUlQobV90eXBlID09IEFuaW1hdGVkUHJlc2VydmVB
c3BlY3RSYXRpbyk7Ci0gICAgKm1fZGF0YS5wcmVzZXJ2ZUFzcGVjdFJhdGlvID0gcHJlc2VydmVB
c3BlY3RSYXRpbzsKLX0KLQogYm9vbCBTVkdBbmltYXRlZFR5cGU6OnN1cHBvcnRzQW5pbVZhbChB
bmltYXRlZFByb3BlcnR5VHlwZSB0eXBlKQogewogICAgIHN3aXRjaCAodHlwZSkgewogICAgIGNh
c2UgQW5pbWF0ZWRBbmdsZToKICAgICBjYXNlIEFuaW1hdGVkQm9vbGVhbjoKKyAgICBjYXNlIEFu
aW1hdGVkRW51bWVyYXRpb246CiAgICAgY2FzZSBBbmltYXRlZEludGVnZXI6CiAgICAgY2FzZSBB
bmltYXRlZEludGVnZXJPcHRpb25hbEludGVnZXI6CiAgICAgY2FzZSBBbmltYXRlZExlbmd0aDoK
QEAgLTQ4Niw3ICs0NzQsNiBAQCBib29sIFNWR0FuaW1hdGVkVHlwZTo6c3VwcG9ydHNBbmltVmFs
KEFuaW1hdGVkUHJvcGVydHlUeXBlIHR5cGUpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAg
IC8vIEZJWE1FOiBIYW5kbGUgdGhlIHJlbWFpbmluZyB0eXBlcyBpbiBhbmltVmFsIGNvbmNlcHQu
Ci0gICAgY2FzZSBBbmltYXRlZEVudW1lcmF0aW9uOgogICAgIGNhc2UgQW5pbWF0ZWRQYXRoOgog
ICAgIGNhc2UgQW5pbWF0ZWRQb2ludHM6CiAgICAgY2FzZSBBbmltYXRlZFVua25vd246CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRUeXBlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHQW5pbWF0ZWRUeXBlLmgKaW5kZXggNDYzNzlkMzAyNWIwMmM4MGE1OGE4MDg1
MzdiZTdkMTFiMDA5YWYwZS4uNjI0OTIwMDdiMjZjYTgzZTY5OWJlZjllNmQ5MTQzYzg3YzQ1MjFl
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkVHlwZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZFR5cGUuaApAQCAtNDEsOSArNDEsMTAgQEAg
Y2xhc3MgU1ZHQW5pbWF0ZWRUeXBlIHsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5TVkdBbmltYXRl
ZFR5cGUoKTsKIAotICAgIHN0YXRpYyBQYXNzT3duUHRyPFNWR0FuaW1hdGVkVHlwZT4gY3JlYXRl
QW5nbGUoU1ZHQW5nbGUqKTsKKyAgICBzdGF0aWMgUGFzc093blB0cjxTVkdBbmltYXRlZFR5cGU+
IGNyZWF0ZUFuZ2xlQW5kRW51bWVyYXRpb24oc3RkOjpwYWlyPFNWR0FuZ2xlLCB1bnNpZ25lZCBz
aG9ydD4qKTsKICAgICBzdGF0aWMgUGFzc093blB0cjxTVkdBbmltYXRlZFR5cGU+IGNyZWF0ZUJv
b2xlYW4oYm9vbCopOwogICAgIHN0YXRpYyBQYXNzT3duUHRyPFNWR0FuaW1hdGVkVHlwZT4gY3Jl
YXRlQ29sb3IoQ29sb3IqKTsKKyAgICBzdGF0aWMgUGFzc093blB0cjxTVkdBbmltYXRlZFR5cGU+
IGNyZWF0ZUVudW1lcmF0aW9uKHVuc2lnbmVkIHNob3J0Kik7CiAgICAgc3RhdGljIFBhc3NPd25Q
dHI8U1ZHQW5pbWF0ZWRUeXBlPiBjcmVhdGVJbnRlZ2VyKGludCopOwogICAgIHN0YXRpYyBQYXNz
T3duUHRyPFNWR0FuaW1hdGVkVHlwZT4gY3JlYXRlSW50ZWdlck9wdGlvbmFsSW50ZWdlcihzdGQ6
OnBhaXI8aW50LCBpbnQ+Kik7CiAgICAgc3RhdGljIFBhc3NPd25QdHI8U1ZHQW5pbWF0ZWRUeXBl
PiBjcmVhdGVMZW5ndGgoU1ZHTGVuZ3RoKik7CkBAIC02MSw5ICs2MiwxMCBAQCBwdWJsaWM6CiAK
ICAgICBBbmltYXRlZFByb3BlcnR5VHlwZSB0eXBlKCkgY29uc3QgeyByZXR1cm4gbV90eXBlOyB9
CiAKLSAgICBTVkdBbmdsZSYgYW5nbGUoKTsKKyAgICBzdGQ6OnBhaXI8U1ZHQW5nbGUsIHVuc2ln
bmVkIHNob3J0PiYgYW5nbGVBbmRFbnVtZXJhdGlvbigpOwogICAgIGJvb2wmIGJvb2xlYW4oKTsK
ICAgICBDb2xvciYgY29sb3IoKTsKKyAgICB1bnNpZ25lZCBzaG9ydCYgZW51bWVyYXRpb24oKTsK
ICAgICBpbnQmIGludGVnZXIoKTsKICAgICBzdGQ6OnBhaXI8aW50LCBpbnQ+JiBpbnRlZ2VyT3B0
aW9uYWxJbnRlZ2VyKCk7CiAgICAgU1ZHTGVuZ3RoJiBsZW5ndGgoKTsKQEAgLTgxLDkgKzgzLDYg
QEAgcHVibGljOgogICAgIFN0cmluZyB2YWx1ZUFzU3RyaW5nKCk7CiAgICAgYm9vbCBzZXRWYWx1
ZUFzU3RyaW5nKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBTdHJpbmcmKTsKICAgICAKLSAg
ICAvLyBVc2VkIGZvciBwYXJzaW5nIGEgU3RyaW5nIHRvIGEgU1ZHUHJlc2VydmVBc3BlY3RSYXRp
byBvYmplY3QuCi0gICAgdm9pZCBzZXRQcmVzZXJ2ZUFzcGVjdFJhdGlvQmFzZVZhbHVlKGNvbnN0
IFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8mKTsKLQogcHJpdmF0ZToKICAgICBTVkdBbmltYXRlZFR5
cGUoQW5pbWF0ZWRQcm9wZXJ0eVR5cGUpOwogCkBAIC05NSw5ICs5NCwxMCBAQCBwcml2YXRlOgog
ICAgICAgICB7CiAgICAgICAgIH0KIAotICAgICAgICBTVkdBbmdsZSogYW5nbGU7CisgICAgICAg
IHN0ZDo6cGFpcjxTVkdBbmdsZSwgdW5zaWduZWQgc2hvcnQ+KiBhbmdsZUFuZEVudW1lcmF0aW9u
OwogICAgICAgICBib29sKiBib29sZWFuOwogICAgICAgICBDb2xvciogY29sb3I7CisgICAgICAg
IHVuc2lnbmVkIHNob3J0KiBlbnVtZXJhdGlvbjsKICAgICAgICAgaW50KiBpbnRlZ2VyOwogICAg
ICAgICBzdGQ6OnBhaXI8aW50LCBpbnQ+KiBpbnRlZ2VyT3B0aW9uYWxJbnRlZ2VyOwogICAgICAg
ICBTVkdMZW5ndGgqIGxlbmd0aDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdB
bmltYXRlZFR5cGVBbmltYXRvci5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkVHlw
ZUFuaW1hdG9yLmgKaW5kZXggNDdlNzdjMmIzMTQyYTQ2M2U4OWY5NTkyMTg3MmZiMGViNmUzY2Fi
Yy4uYTFlZTY5NmM4MWU4OThjZTIxY2MxYWQwMjUwNTJlYjI4ZmI5NmJjYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkVHlwZUFuaW1hdG9yLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkVHlwZUFuaW1hdG9yLmgKQEAgLTY5LDggKzY5LDEyIEBA
IHB1YmxpYzoKICAgICAgICAgc2l6ZV90IHByb3BlcnRpZXNTaXplID0gcHJvcGVydGllcy5zaXpl
KCk7CiAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgcHJvcGVydGllc1NpemU7ICsraSkg
ewogICAgICAgICAgICAgU1ZHQW5pbWF0ZWRQcm9wZXJ0eSogcHJvcGVydHkgPSBwcm9wZXJ0aWVz
W2ldLmdldCgpOwotICAgICAgICAgICAgaWYgKHByb3BlcnR5LT5hbmltYXRlZFByb3BlcnR5VHlw
ZSgpID09IG1fdHlwZSkKLSAgICAgICAgICAgICAgICByZXN1bHQuYXBwZW5kKHByb3BlcnR5KTsK
KyAgICAgICAgICAgIGlmIChwcm9wZXJ0eS0+YW5pbWF0ZWRQcm9wZXJ0eVR5cGUoKSAhPSBtX3R5
cGUpIHsKKyAgICAgICAgICAgICAgICBBU1NFUlQobV90eXBlID09IEFuaW1hdGVkQW5nbGUpOwor
ICAgICAgICAgICAgICAgIEFTU0VSVChwcm9wZXJ0eS0+YW5pbWF0ZWRQcm9wZXJ0eVR5cGUoKSA9
PSBBbmltYXRlZEVudW1lcmF0aW9uKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgcmVz
dWx0LmFwcGVuZChwcm9wZXJ0eSk7CiAgICAgICAgIH0KIAogICAgICAgICByZXR1cm4gcmVzdWx0
OwpAQCAtODQsMTIwICs4OCw5NiBAQCBwcm90ZWN0ZWQ6CiAgICAgewogICAgIH0KIAotICAgIHRl
bXBsYXRlPHR5cGVuYW1lIEFuaW1hdGVkVHlwZSwgdHlwZW5hbWUgQW5pbVZhbFR5cGU+Ci0gICAg
dm9pZCBzdGFydEFuaW1hdGlvbihjb25zdCBWZWN0b3I8U1ZHQW5pbWF0ZWRQcm9wZXJ0eSo+JiBw
cm9wZXJ0aWVzLCB1bnNpZ25lZCB3aGljaFByb3BlcnR5LCBBbmltYXRlZFR5cGUqIHR5cGUpCisg
ICAgLy8gSGVscGVycyBmb3IgYW5pbWF0b3JzIHRoYXQgb3BlcmF0ZSBvbiBzaW5nbGUgdHlwZXMs
IGVnLiBqdXN0IG9uZSBTVkdBbmltYXRlZEludGVnZXIuCisgICAgdGVtcGxhdGU8dHlwZW5hbWUg
QW5pbVZhbFR5cGU+CisgICAgdHlwZW5hbWUgQW5pbVZhbFR5cGU6OkNvbnRlbnRUeXBlKiBjb25z
dHJ1Y3RGcm9tQmFzZVZhbHVlKGNvbnN0IFZlY3RvcjxTVkdBbmltYXRlZFByb3BlcnR5Kj4mIHBy
b3BlcnRpZXMpCiAgICAgewotICAgICAgICBBU1NFUlQod2hpY2hQcm9wZXJ0eSA8IHByb3BlcnRp
ZXMuc2l6ZSgpKTsKLSAgICAgICAgQW5pbVZhbFR5cGUqIHByb3BlcnR5ID0gY2FzdEFuaW1hdGVk
UHJvcGVydHlUb0FjdHVhbFR5cGU8QW5pbVZhbFR5cGU+KHByb3BlcnRpZXNbd2hpY2hQcm9wZXJ0
eV0pOworICAgICAgICBBU1NFUlQocHJvcGVydGllcy5zaXplKCkgPT0gMSk7CisgICAgICAgIGNv
bnN0IHR5cGVuYW1lIEFuaW1WYWxUeXBlOjpDb250ZW50VHlwZSYgYW5pbWF0ZWRUeXBlID0gY2Fz
dEFuaW1hdGVkUHJvcGVydHlUb0FjdHVhbFR5cGU8QW5pbVZhbFR5cGU+KHByb3BlcnRpZXNbMF0p
LT5jdXJyZW50QmFzZVZhbHVlKCk7CiAKLSAgICAgICAgVmVjdG9yPEFuaW1WYWxUeXBlKj4gcmVz
dWx0OwotICAgICAgICByZXN1bHQuYXBwZW5kKHByb3BlcnR5KTsKLSAgICAgICAgY29sbGVjdEFu
aW1hdGVkUHJvcGVydGllc0Zyb21JbnN0YW5jZXMocmVzdWx0LCB3aGljaFByb3BlcnR5LCBwcm9w
ZXJ0eS0+Y29udGV4dEVsZW1lbnQoKSwgcHJvcGVydHktPmF0dHJpYnV0ZU5hbWUoKSk7CisgICAg
ICAgIHR5cGVuYW1lIEFuaW1WYWxUeXBlOjpDb250ZW50VHlwZSogY29weSA9IG5ldyB0eXBlbmFt
ZSBBbmltVmFsVHlwZTo6Q29udGVudFR5cGUoYW5pbWF0ZWRUeXBlKTsKKyAgICAgICAgZXhlY3V0
ZUFjdGlvbjxBbmltVmFsVHlwZT4oU3RhcnRBbmltYXRpb25BY3Rpb24sIHByb3BlcnRpZXMsIDAs
IGNvcHkpOworICAgICAgICByZXR1cm4gY29weTsKKyAgICB9CiAKLSAgICAgICAgc2l6ZV90IHJl
c3VsdFNpemUgPSByZXN1bHQuc2l6ZSgpOwotICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8
IHJlc3VsdFNpemU7ICsraSkKLSAgICAgICAgICAgIHJlc3VsdFtpXS0+YW5pbWF0aW9uU3RhcnRl
ZCh0eXBlKTsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBBbmltVmFsVHlwZT4KKyAgICB2b2lkIHJl
c2V0RnJvbUJhc2VWYWx1ZShjb25zdCBWZWN0b3I8U1ZHQW5pbWF0ZWRQcm9wZXJ0eSo+JiBwcm9w
ZXJ0aWVzLCBTVkdBbmltYXRlZFR5cGUqIHR5cGUsIHR5cGVuYW1lIEFuaW1WYWxUeXBlOjpDb250
ZW50VHlwZSYgKFNWR0FuaW1hdGVkVHlwZTo6KmdldHRlcikoKSkKKyAgICB7CisgICAgICAgIEFT
U0VSVChwcm9wZXJ0aWVzLnNpemUoKSA9PSAxKTsKKyAgICAgICAgQVNTRVJUKHR5cGUpOworICAg
ICAgICBBU1NFUlQodHlwZS0+dHlwZSgpID09IG1fdHlwZSk7CisgICAgICAgICh0eXBlLT4qZ2V0
dGVyKSgpID0gY2FzdEFuaW1hdGVkUHJvcGVydHlUb0FjdHVhbFR5cGU8QW5pbVZhbFR5cGU+KHBy
b3BlcnRpZXNbMF0pLT5jdXJyZW50QmFzZVZhbHVlKCk7CiAgICAgfQogCiAgICAgdGVtcGxhdGU8
dHlwZW5hbWUgQW5pbVZhbFR5cGU+CiAgICAgdm9pZCBzdG9wQW5pbVZhbEFuaW1hdGlvbkZvclR5
cGUoY29uc3QgVmVjdG9yPFNWR0FuaW1hdGVkUHJvcGVydHkqPiYgcHJvcGVydGllcykKICAgICB7
Ci0gICAgICAgIFZlY3RvcjxBbmltVmFsVHlwZSo+IHJlc3VsdDsKLSAgICAgICAgc2l6ZV90IHBy
b3BlcnRpZXNTaXplID0gcHJvcGVydGllcy5zaXplKCk7Ci0gICAgICAgIGZvciAoc2l6ZV90IHdo
aWNoUHJvcGVydHkgPSAwOyB3aGljaFByb3BlcnR5IDwgcHJvcGVydGllc1NpemU7ICsrd2hpY2hQ
cm9wZXJ0eSkgewotICAgICAgICAgICAgQW5pbVZhbFR5cGUqIHByb3BlcnR5ID0gY2FzdEFuaW1h
dGVkUHJvcGVydHlUb0FjdHVhbFR5cGU8QW5pbVZhbFR5cGU+KHByb3BlcnRpZXNbd2hpY2hQcm9w
ZXJ0eV0pOwotICAgICAgICAgICAgU1ZHRWxlbWVudEluc3RhbmNlOjpJbnN0YW5jZVVwZGF0ZUJs
b2NrZXIgYmxvY2tlcihwcm9wZXJ0eS0+Y29udGV4dEVsZW1lbnQoKSk7Ci0KLSAgICAgICAgICAg
IHJlc3VsdC5hcHBlbmQocHJvcGVydHkpOwotICAgICAgICAgICAgY29sbGVjdEFuaW1hdGVkUHJv
cGVydGllc0Zyb21JbnN0YW5jZXMocmVzdWx0LCB3aGljaFByb3BlcnR5LCBwcm9wZXJ0eS0+Y29u
dGV4dEVsZW1lbnQoKSwgcHJvcGVydHktPmF0dHJpYnV0ZU5hbWUoKSk7Ci0KLSAgICAgICAgICAg
IHNpemVfdCByZXN1bHRTaXplID0gcmVzdWx0LnNpemUoKTsKLSAgICAgICAgICAgIGZvciAoc2l6
ZV90IGkgPSAwOyBpIDwgcmVzdWx0U2l6ZTsgKytpKQotICAgICAgICAgICAgICAgIHJlc3VsdFtp
XS0+YW5pbWF0aW9uRW5kZWQoKTsKLSAgICAgICAgICAgIHJlc3VsdC5jbGVhcigpOwotICAgICAg
ICB9CisgICAgICAgIEFTU0VSVChwcm9wZXJ0aWVzLnNpemUoKSA9PSAxKTsKKyAgICAgICAgZXhl
Y3V0ZUFjdGlvbjxBbmltVmFsVHlwZT4oU3RvcEFuaW1hdGlvbkFjdGlvbiwgcHJvcGVydGllcywg
MCk7CiAgICAgfQogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgQW5pbVZhbFR5cGU+CiAgICAgdm9p
ZCBhbmltVmFsRGlkQ2hhbmdlRm9yVHlwZShjb25zdCBWZWN0b3I8U1ZHQW5pbWF0ZWRQcm9wZXJ0
eSo+JiBwcm9wZXJ0aWVzKQogICAgIHsKLSAgICAgICAgVmVjdG9yPEFuaW1WYWxUeXBlKj4gcmVz
dWx0OwotICAgICAgICBzaXplX3QgcHJvcGVydGllc1NpemUgPSBwcm9wZXJ0aWVzLnNpemUoKTsK
LSAgICAgICAgZm9yIChzaXplX3Qgd2hpY2hQcm9wZXJ0eSA9IDA7IHdoaWNoUHJvcGVydHkgPCBw
cm9wZXJ0aWVzU2l6ZTsgKyt3aGljaFByb3BlcnR5KSB7Ci0gICAgICAgICAgICBBbmltVmFsVHlw
ZSogcHJvcGVydHkgPSBjYXN0QW5pbWF0ZWRQcm9wZXJ0eVRvQWN0dWFsVHlwZTxBbmltVmFsVHlw
ZT4ocHJvcGVydGllc1t3aGljaFByb3BlcnR5XSk7Ci0gICAgICAgICAgICBTVkdFbGVtZW50SW5z
dGFuY2U6Okluc3RhbmNlVXBkYXRlQmxvY2tlciBibG9ja2VyKHByb3BlcnR5LT5jb250ZXh0RWxl
bWVudCgpKTsKLQotICAgICAgICAgICAgcmVzdWx0LmFwcGVuZChwcm9wZXJ0eSk7Ci0gICAgICAg
ICAgICBjb2xsZWN0QW5pbWF0ZWRQcm9wZXJ0aWVzRnJvbUluc3RhbmNlcyhyZXN1bHQsIHdoaWNo
UHJvcGVydHksIHByb3BlcnR5LT5jb250ZXh0RWxlbWVudCgpLCBwcm9wZXJ0eS0+YXR0cmlidXRl
TmFtZSgpKTsKLQotICAgICAgICAgICAgc2l6ZV90IHJlc3VsdFNpemUgPSByZXN1bHQuc2l6ZSgp
OwotICAgICAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCByZXN1bHRTaXplOyArK2kpCi0g
ICAgICAgICAgICAgICAgcmVzdWx0W2ldLT5hbmltVmFsRGlkQ2hhbmdlKCk7Ci0gICAgICAgICAg
ICByZXN1bHQuY2xlYXIoKTsKLSAgICAgICAgfQorICAgICAgICBBU1NFUlQocHJvcGVydGllcy5z
aXplKCkgPT0gMSk7CisgICAgICAgIGV4ZWN1dGVBY3Rpb248QW5pbVZhbFR5cGU+KEFuaW1WYWxE
aWRDaGFuZ2VBY3Rpb24sIHByb3BlcnRpZXMsIDApOwogICAgIH0KIAogICAgIHRlbXBsYXRlPHR5
cGVuYW1lIEFuaW1WYWxUeXBlPgogICAgIHZvaWQgYW5pbVZhbFdpbGxDaGFuZ2VGb3JUeXBlKGNv
bnN0IFZlY3RvcjxTVkdBbmltYXRlZFByb3BlcnR5Kj4mIHByb3BlcnRpZXMpCiAgICAgewotICAg
ICAgICBWZWN0b3I8QW5pbVZhbFR5cGUqPiByZXN1bHQ7Ci0gICAgICAgIHNpemVfdCBwcm9wZXJ0
aWVzU2l6ZSA9IHByb3BlcnRpZXMuc2l6ZSgpOwotICAgICAgICBmb3IgKHNpemVfdCB3aGljaFBy
b3BlcnR5ID0gMDsgd2hpY2hQcm9wZXJ0eSA8IHByb3BlcnRpZXNTaXplOyArK3doaWNoUHJvcGVy
dHkpIHsKLSAgICAgICAgICAgIEFuaW1WYWxUeXBlKiBwcm9wZXJ0eSA9IGNhc3RBbmltYXRlZFBy
b3BlcnR5VG9BY3R1YWxUeXBlPEFuaW1WYWxUeXBlPihwcm9wZXJ0aWVzW3doaWNoUHJvcGVydHld
KTsKLQotICAgICAgICAgICAgcmVzdWx0LmFwcGVuZChwcm9wZXJ0eSk7Ci0gICAgICAgICAgICBj
b2xsZWN0QW5pbWF0ZWRQcm9wZXJ0aWVzRnJvbUluc3RhbmNlcyhyZXN1bHQsIHdoaWNoUHJvcGVy
dHksIHByb3BlcnR5LT5jb250ZXh0RWxlbWVudCgpLCBwcm9wZXJ0eS0+YXR0cmlidXRlTmFtZSgp
KTsKLQotICAgICAgICAgICAgc2l6ZV90IHJlc3VsdFNpemUgPSByZXN1bHQuc2l6ZSgpOwotICAg
ICAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCByZXN1bHRTaXplOyArK2kpCi0gICAgICAg
ICAgICAgICAgcmVzdWx0W2ldLT5hbmltVmFsV2lsbENoYW5nZSgpOwotICAgICAgICAgICAgcmVz
dWx0LmNsZWFyKCk7Ci0gICAgICAgIH0KKyAgICAgICAgQVNTRVJUKHByb3BlcnRpZXMuc2l6ZSgp
ID09IDEpOworICAgICAgICBleGVjdXRlQWN0aW9uPEFuaW1WYWxUeXBlPihBbmltVmFsV2lsbENo
YW5nZUFjdGlvbiwgcHJvcGVydGllcywgMCk7CiAgICAgfQogCi0gICAgdGVtcGxhdGU8dHlwZW5h
bWUgQW5pbWF0ZWRUeXBlLCB0eXBlbmFtZSBBbmltVmFsVHlwZT4KLSAgICBBbmltYXRlZFR5cGUq
IGNvbnN0cnVjdEZyb21PbmVCYXNlVmFsdWUoY29uc3QgVmVjdG9yPFNWR0FuaW1hdGVkUHJvcGVy
dHkqPiYgcHJvcGVydGllcykKKyAgICAvLyBIZWxwZXJzIGZvciBhbmltYXRvcnMgdGhhdCBvcGVy
YXRlIG9uIHBhaXIgdHlwZXMsIGVnLiBhIHBhaXIgb2YgU1ZHQW5pbWF0ZWRJbnRlZ2Vycy4KKyAg
ICB0ZW1wbGF0ZTx0eXBlbmFtZSBBbmltVmFsVHlwZTEsIHR5cGVuYW1lIEFuaW1WYWxUeXBlMj4K
KyAgICBwYWlyPHR5cGVuYW1lIEFuaW1WYWxUeXBlMTo6Q29udGVudFR5cGUsIHR5cGVuYW1lIEFu
aW1WYWxUeXBlMjo6Q29udGVudFR5cGU+KiBjb25zdHJ1Y3RGcm9tQmFzZVZhbHVlcyhjb25zdCBW
ZWN0b3I8U1ZHQW5pbWF0ZWRQcm9wZXJ0eSo+JiBwcm9wZXJ0aWVzKQogICAgIHsKLSAgICAgICAg
QVNTRVJUKHByb3BlcnRpZXMuc2l6ZSgpID09IDEpOwotICAgICAgICBjb25zdCBBbmltYXRlZFR5
cGUmIGFuaW1hdGVkVHlwZSA9IGNhc3RBbmltYXRlZFByb3BlcnR5VG9BY3R1YWxUeXBlPEFuaW1W
YWxUeXBlPihwcm9wZXJ0aWVzWzBdKS0+Y3VycmVudEJhc2VWYWx1ZSgpOworICAgICAgICBBU1NF
UlQocHJvcGVydGllcy5zaXplKCkgPT0gMik7CisgICAgICAgIGNvbnN0IHR5cGVuYW1lIEFuaW1W
YWxUeXBlMTo6Q29udGVudFR5cGUmIGZpcnN0VHlwZSA9IGNhc3RBbmltYXRlZFByb3BlcnR5VG9B
Y3R1YWxUeXBlPEFuaW1WYWxUeXBlMT4ocHJvcGVydGllc1swXSktPmN1cnJlbnRCYXNlVmFsdWUo
KTsKKyAgICAgICAgY29uc3QgdHlwZW5hbWUgQW5pbVZhbFR5cGUyOjpDb250ZW50VHlwZSYgc2Vj
b25kVHlwZSA9IGNhc3RBbmltYXRlZFByb3BlcnR5VG9BY3R1YWxUeXBlPEFuaW1WYWxUeXBlMj4o
cHJvcGVydGllc1sxXSktPmN1cnJlbnRCYXNlVmFsdWUoKTsKIAotICAgICAgICBBbmltYXRlZFR5
cGUqIGNvcHkgPSBuZXcgQW5pbWF0ZWRUeXBlKGFuaW1hdGVkVHlwZSk7Ci0gICAgICAgIHN0YXJ0
QW5pbWF0aW9uPEFuaW1hdGVkVHlwZSwgQW5pbVZhbFR5cGU+KHByb3BlcnRpZXMsIDAsIGNvcHkp
OworICAgICAgICBwYWlyPHR5cGVuYW1lIEFuaW1WYWxUeXBlMTo6Q29udGVudFR5cGUsIHR5cGVu
YW1lIEFuaW1WYWxUeXBlMjo6Q29udGVudFR5cGU+KiBjb3B5ID0gbmV3IHBhaXI8dHlwZW5hbWUg
QW5pbVZhbFR5cGUxOjpDb250ZW50VHlwZSwgdHlwZW5hbWUgQW5pbVZhbFR5cGUyOjpDb250ZW50
VHlwZT4oZmlyc3RUeXBlLCBzZWNvbmRUeXBlKTsKKyAgICAgICAgZXhlY3V0ZUFjdGlvbjxBbmlt
VmFsVHlwZTE+KFN0YXJ0QW5pbWF0aW9uQWN0aW9uLCBwcm9wZXJ0aWVzLCAwLCAmY29weS0+Zmly
c3QpOworICAgICAgICBleGVjdXRlQWN0aW9uPEFuaW1WYWxUeXBlMj4oU3RhcnRBbmltYXRpb25B
Y3Rpb24sIHByb3BlcnRpZXMsIDEsICZjb3B5LT5zZWNvbmQpOwogICAgICAgICByZXR1cm4gY29w
eTsKICAgICB9CiAKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBBbmltYXRlZFR5cGUsIHR5cGVuYW1l
IEFuaW1WYWxUeXBlPgotICAgIHZvaWQgcmVzZXRGcm9tT25lQmFzZVZhbHVlKGNvbnN0IFZlY3Rv
cjxTVkdBbmltYXRlZFByb3BlcnR5Kj4mIHByb3BlcnRpZXMsIFNWR0FuaW1hdGVkVHlwZSogdHlw
ZSwgQW5pbWF0ZWRUeXBlJiAoU1ZHQW5pbWF0ZWRUeXBlOjoqZ2V0dGVyKSgpKQorICAgIHRlbXBs
YXRlPHR5cGVuYW1lIEFuaW1WYWxUeXBlMSwgdHlwZW5hbWUgQW5pbVZhbFR5cGUyPgorICAgIHZv
aWQgcmVzZXRGcm9tQmFzZVZhbHVlcyhjb25zdCBWZWN0b3I8U1ZHQW5pbWF0ZWRQcm9wZXJ0eSo+
JiBwcm9wZXJ0aWVzLCBTVkdBbmltYXRlZFR5cGUqIHR5cGUsIHBhaXI8dHlwZW5hbWUgQW5pbVZh
bFR5cGUxOjpDb250ZW50VHlwZSwgdHlwZW5hbWUgQW5pbVZhbFR5cGUyOjpDb250ZW50VHlwZT4m
IChTVkdBbmltYXRlZFR5cGU6OipnZXR0ZXIpKCkpCiAgICAgeworICAgICAgICBBU1NFUlQocHJv
cGVydGllcy5zaXplKCkgPT0gMik7CiAgICAgICAgIEFTU0VSVCh0eXBlKTsKICAgICAgICAgQVNT
RVJUKHR5cGUtPnR5cGUoKSA9PSBtX3R5cGUpOwotICAgICAgICBBU1NFUlQocHJvcGVydGllcy5z
aXplKCkgPT0gMSk7Ci0gICAgICAgICh0eXBlLT4qZ2V0dGVyKSgpID0gY2FzdEFuaW1hdGVkUHJv
cGVydHlUb0FjdHVhbFR5cGU8QW5pbVZhbFR5cGU+KHByb3BlcnRpZXNbMF0pLT5jdXJyZW50QmFz
ZVZhbHVlKCk7CisKKyAgICAgICAgcGFpcjx0eXBlbmFtZSBBbmltVmFsVHlwZTE6OkNvbnRlbnRU
eXBlLCB0eXBlbmFtZSBBbmltVmFsVHlwZTI6OkNvbnRlbnRUeXBlPiYgYW5pbWF0ZWRUeXBlVmFs
dWUgPSAodHlwZS0+KmdldHRlcikoKTsKKyAgICAgICAgYW5pbWF0ZWRUeXBlVmFsdWUuZmlyc3Qg
PSBjYXN0QW5pbWF0ZWRQcm9wZXJ0eVRvQWN0dWFsVHlwZTxBbmltVmFsVHlwZTE+KHByb3BlcnRp
ZXNbMF0pLT5jdXJyZW50QmFzZVZhbHVlKCk7CisgICAgICAgIGFuaW1hdGVkVHlwZVZhbHVlLnNl
Y29uZCA9IGNhc3RBbmltYXRlZFByb3BlcnR5VG9BY3R1YWxUeXBlPEFuaW1WYWxUeXBlMj4ocHJv
cGVydGllc1sxXSktPmN1cnJlbnRCYXNlVmFsdWUoKTsKICAgICB9CiAKLSAgICB0ZW1wbGF0ZTx0
eXBlbmFtZSBBbmltYXRlZFR5cGUsIHR5cGVuYW1lIENvbnRlbnRUeXBlLCB0eXBlbmFtZSBDb250
ZW50QW5pbVZhbFR5cGU+Ci0gICAgQW5pbWF0ZWRUeXBlKiBjb25zdHJ1Y3RGcm9tVHdvQmFzZVZh
bHVlcyhjb25zdCBWZWN0b3I8U1ZHQW5pbWF0ZWRQcm9wZXJ0eSo+JiBwcm9wZXJ0aWVzKQorICAg
IHRlbXBsYXRlPHR5cGVuYW1lIEFuaW1WYWxUeXBlMSwgdHlwZW5hbWUgQW5pbVZhbFR5cGUyPgor
ICAgIHZvaWQgc3RvcEFuaW1WYWxBbmltYXRpb25Gb3JUeXBlcyhjb25zdCBWZWN0b3I8U1ZHQW5p
bWF0ZWRQcm9wZXJ0eSo+JiBwcm9wZXJ0aWVzKQogICAgIHsKICAgICAgICAgQVNTRVJUKHByb3Bl
cnRpZXMuc2l6ZSgpID09IDIpOwotICAgICAgICBjb25zdCBDb250ZW50VHlwZSYgZmlyc3RUeXBl
ID0gY2FzdEFuaW1hdGVkUHJvcGVydHlUb0FjdHVhbFR5cGU8Q29udGVudEFuaW1WYWxUeXBlPihw
cm9wZXJ0aWVzWzBdKS0+Y3VycmVudEJhc2VWYWx1ZSgpOwotICAgICAgICBjb25zdCBDb250ZW50
VHlwZSYgc2Vjb25kVHlwZSA9IGNhc3RBbmltYXRlZFByb3BlcnR5VG9BY3R1YWxUeXBlPENvbnRl
bnRBbmltVmFsVHlwZT4ocHJvcGVydGllc1sxXSktPmN1cnJlbnRCYXNlVmFsdWUoKTsKLQotICAg
ICAgICBBbmltYXRlZFR5cGUqIGNvcHkgPSBuZXcgQW5pbWF0ZWRUeXBlKGZpcnN0VHlwZSwgc2Vj
b25kVHlwZSk7Ci0gICAgICAgIHN0YXJ0QW5pbWF0aW9uPENvbnRlbnRUeXBlLCBDb250ZW50QW5p
bVZhbFR5cGU+KHByb3BlcnRpZXMsIDAsICZjb3B5LT5maXJzdCk7Ci0gICAgICAgIHN0YXJ0QW5p
bWF0aW9uPENvbnRlbnRUeXBlLCBDb250ZW50QW5pbVZhbFR5cGU+KHByb3BlcnRpZXMsIDEsICZj
b3B5LT5zZWNvbmQpOwotICAgICAgICByZXR1cm4gY29weTsKKyAgICAgICAgZXhlY3V0ZUFjdGlv
bjxBbmltVmFsVHlwZTE+KFN0b3BBbmltYXRpb25BY3Rpb24sIHByb3BlcnRpZXMsIDApOworICAg
ICAgICBleGVjdXRlQWN0aW9uPEFuaW1WYWxUeXBlMj4oU3RvcEFuaW1hdGlvbkFjdGlvbiwgcHJv
cGVydGllcywgMSk7CiAgICAgfQogCi0gICAgdGVtcGxhdGU8dHlwZW5hbWUgQW5pbWF0ZWRUeXBl
LCB0eXBlbmFtZSBDb250ZW50VHlwZSwgdHlwZW5hbWUgQ29udGVudEFuaW1WYWxUeXBlPgotICAg
IHZvaWQgcmVzZXRGcm9tVHdvQmFzZVZhbHVlcyhjb25zdCBWZWN0b3I8U1ZHQW5pbWF0ZWRQcm9w
ZXJ0eSo+JiBwcm9wZXJ0aWVzLCBTVkdBbmltYXRlZFR5cGUqIHR5cGUsIEFuaW1hdGVkVHlwZSYg
KFNWR0FuaW1hdGVkVHlwZTo6KmdldHRlcikoKSkKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBBbmlt
VmFsVHlwZTEsIHR5cGVuYW1lIEFuaW1WYWxUeXBlMj4KKyAgICB2b2lkIGFuaW1WYWxEaWRDaGFu
Z2VGb3JUeXBlcyhjb25zdCBWZWN0b3I8U1ZHQW5pbWF0ZWRQcm9wZXJ0eSo+JiBwcm9wZXJ0aWVz
KQogICAgIHsKLSAgICAgICAgQVNTRVJUKHR5cGUpOwotICAgICAgICBBU1NFUlQodHlwZS0+dHlw
ZSgpID09IG1fdHlwZSk7CiAgICAgICAgIEFTU0VSVChwcm9wZXJ0aWVzLnNpemUoKSA9PSAyKTsK
KyAgICAgICAgZXhlY3V0ZUFjdGlvbjxBbmltVmFsVHlwZTE+KEFuaW1WYWxEaWRDaGFuZ2VBY3Rp
b24sIHByb3BlcnRpZXMsIDApOworICAgICAgICBleGVjdXRlQWN0aW9uPEFuaW1WYWxUeXBlMj4o
QW5pbVZhbERpZENoYW5nZUFjdGlvbiwgcHJvcGVydGllcywgMSk7CisgICAgfQogCi0gICAgICAg
IEFuaW1hdGVkVHlwZSYgYW5pbWF0ZWRUeXBlVmFsdWUgPSAodHlwZS0+KmdldHRlcikoKTsKLSAg
ICAgICAgYW5pbWF0ZWRUeXBlVmFsdWUuZmlyc3QgPSBjYXN0QW5pbWF0ZWRQcm9wZXJ0eVRvQWN0
dWFsVHlwZTxDb250ZW50QW5pbVZhbFR5cGU+KHByb3BlcnRpZXNbMF0pLT5jdXJyZW50QmFzZVZh
bHVlKCk7Ci0gICAgICAgIGFuaW1hdGVkVHlwZVZhbHVlLnNlY29uZCA9IGNhc3RBbmltYXRlZFBy
b3BlcnR5VG9BY3R1YWxUeXBlPENvbnRlbnRBbmltVmFsVHlwZT4ocHJvcGVydGllc1sxXSktPmN1
cnJlbnRCYXNlVmFsdWUoKTsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBBbmltVmFsVHlwZTEsIHR5
cGVuYW1lIEFuaW1WYWxUeXBlMj4KKyAgICB2b2lkIGFuaW1WYWxXaWxsQ2hhbmdlRm9yVHlwZXMo
Y29uc3QgVmVjdG9yPFNWR0FuaW1hdGVkUHJvcGVydHkqPiYgcHJvcGVydGllcykKKyAgICB7Cisg
ICAgICAgIEFTU0VSVChwcm9wZXJ0aWVzLnNpemUoKSA9PSAyKTsKKyAgICAgICAgZXhlY3V0ZUFj
dGlvbjxBbmltVmFsVHlwZTE+KEFuaW1WYWxXaWxsQ2hhbmdlQWN0aW9uLCBwcm9wZXJ0aWVzLCAw
KTsKKyAgICAgICAgZXhlY3V0ZUFjdGlvbjxBbmltVmFsVHlwZTI+KEFuaW1WYWxXaWxsQ2hhbmdl
QWN0aW9uLCBwcm9wZXJ0aWVzLCAxKTsKICAgICB9CiAKICAgICBBbmltYXRlZFByb3BlcnR5VHlw
ZSBtX3R5cGU7CkBAIC0yMTAsNyArMTkwLDExIEBAIHByaXZhdGU6CiAgICAgewogICAgICAgICBB
U1NFUlQocHJvcGVydHkpOwogICAgICAgICBBU1NFUlQocHJvcGVydHktPmNvbnRleHRFbGVtZW50
KCkpOwotICAgICAgICBBU1NFUlQocHJvcGVydHktPmFuaW1hdGVkUHJvcGVydHlUeXBlKCkgPT0g
bV90eXBlKTsKKyAgICAgICAgLy8gV2UgY2FuJ3QgYXNzZXJ0IHByb3BlcnR5LT5hbmltYXRlZFBy
b3BlcnR5VHlwZSgpID09IG1fdHlwZSwgYXMgdGhlcmUncyBhbiBleGNlcHRpb24gZm9yIFNWR01h
cmtlckVsZW1lbnRzIG9yaWVudCBhdHRyaWJ1dGUuCisgICAgICAgIGlmIChwcm9wZXJ0eS0+YW5p
bWF0ZWRQcm9wZXJ0eVR5cGUoKSAhPSBtX3R5cGUpIHsKKyAgICAgICAgICAgIEFTU0VSVChtX3R5
cGUgPT0gQW5pbWF0ZWRBbmdsZSk7CisgICAgICAgICAgICBBU1NFUlQocHJvcGVydHktPmFuaW1h
dGVkUHJvcGVydHlUeXBlKCkgPT0gQW5pbWF0ZWRFbnVtZXJhdGlvbik7CisgICAgICAgIH0KICAg
ICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PEFuaW1WYWxUeXBlKj4ocHJvcGVydHkpOwogICAgIH0K
IApAQCAtMjMyLDYgKzIxNiw0NyBAQCBwcml2YXRlOgogICAgICAgICAgICAgcmVzdWx0LmFwcGVu
ZChjYXN0QW5pbWF0ZWRQcm9wZXJ0eVRvQWN0dWFsVHlwZTxBbmltVmFsVHlwZT4ocHJvcGVydGll
c0luc3RhbmNlW3doaWNoUHJvcGVydHldKSk7CiAgICAgICAgIH0KICAgICB9CisKKyAgICBlbnVt
IEFuaW1hdGlvbkFjdGlvbiB7CisgICAgICAgIFN0YXJ0QW5pbWF0aW9uQWN0aW9uLAorICAgICAg
ICBTdG9wQW5pbWF0aW9uQWN0aW9uLAorICAgICAgICBBbmltVmFsV2lsbENoYW5nZUFjdGlvbiwK
KyAgICAgICAgQW5pbVZhbERpZENoYW5nZUFjdGlvbgorICAgIH07CisKKyAgICB0ZW1wbGF0ZTx0
eXBlbmFtZSBBbmltVmFsVHlwZT4KKyAgICB2b2lkIGV4ZWN1dGVBY3Rpb24oQW5pbWF0aW9uQWN0
aW9uIGFjdGlvbiwgY29uc3QgVmVjdG9yPFNWR0FuaW1hdGVkUHJvcGVydHkqPiYgcHJvcGVydGll
cywgdW5zaWduZWQgd2hpY2hQcm9wZXJ0eSwgdHlwZW5hbWUgQW5pbVZhbFR5cGU6OkNvbnRlbnRU
eXBlKiB0eXBlID0gMCkKKyAgICB7CisgICAgICAgIEFTU0VSVCh3aGljaFByb3BlcnR5IDwgcHJv
cGVydGllcy5zaXplKCkpOworICAgICAgICBBbmltVmFsVHlwZSogcHJvcGVydHkgPSBjYXN0QW5p
bWF0ZWRQcm9wZXJ0eVRvQWN0dWFsVHlwZTxBbmltVmFsVHlwZT4ocHJvcGVydGllc1t3aGljaFBy
b3BlcnR5XSk7CisgICAgICAgIFNWR0VsZW1lbnRJbnN0YW5jZTo6SW5zdGFuY2VVcGRhdGVCbG9j
a2VyIGJsb2NrZXIocHJvcGVydHktPmNvbnRleHRFbGVtZW50KCkpOworCisgICAgICAgIFZlY3Rv
cjxBbmltVmFsVHlwZSo+IHJlc3VsdDsKKyAgICAgICAgcmVzdWx0LmFwcGVuZChwcm9wZXJ0eSk7
CisgICAgICAgIGNvbGxlY3RBbmltYXRlZFByb3BlcnRpZXNGcm9tSW5zdGFuY2VzKHJlc3VsdCwg
d2hpY2hQcm9wZXJ0eSwgcHJvcGVydHktPmNvbnRleHRFbGVtZW50KCksIHByb3BlcnR5LT5hdHRy
aWJ1dGVOYW1lKCkpOworCisgICAgICAgIHNpemVfdCByZXN1bHRTaXplID0gcmVzdWx0LnNpemUo
KTsKKyAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCByZXN1bHRTaXplOyArK2kpIHsKKyAg
ICAgICAgICAgIHN3aXRjaCAoYWN0aW9uKSB7CisgICAgICAgICAgICBjYXNlIFN0YXJ0QW5pbWF0
aW9uQWN0aW9uOgorICAgICAgICAgICAgICAgIEFTU0VSVCh0eXBlKTsKKyAgICAgICAgICAgICAg
ICByZXN1bHRbaV0tPmFuaW1hdGlvblN0YXJ0ZWQodHlwZSk7CisgICAgICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgICAgICBjYXNlIFN0b3BBbmltYXRpb25BY3Rpb246CisgICAgICAgICAgICAg
ICAgQVNTRVJUKCF0eXBlKTsKKyAgICAgICAgICAgICAgICByZXN1bHRbaV0tPmFuaW1hdGlvbkVu
ZGVkKCk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlIEFuaW1WYWxX
aWxsQ2hhbmdlQWN0aW9uOgorICAgICAgICAgICAgICAgIEFTU0VSVCghdHlwZSk7CisgICAgICAg
ICAgICAgICAgcmVzdWx0W2ldLT5hbmltVmFsV2lsbENoYW5nZSgpOworICAgICAgICAgICAgICAg
IGJyZWFrOworICAgICAgICAgICAgY2FzZSBBbmltVmFsRGlkQ2hhbmdlQWN0aW9uOgorICAgICAg
ICAgICAgICAgIEFTU0VSVCghdHlwZSk7CisgICAgICAgICAgICAgICAgcmVzdWx0W2ldLT5hbmlt
VmFsRGlkQ2hhbmdlKCk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9Cisg
ICAgICAgIH0KKyAgICB9CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0b3JGYWN0b3J5LmggYi9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHQW5pbWF0b3JGYWN0b3J5LmgKaW5kZXggOTVjMzczMmFmMjYxMGM1ZGViNjBiZGYw
ZTAzNDgzZTQ0Yzg4YTBiOS4uZmQ5MDY0YzQzN2Q2NTkzOTlkYjJlNDUyNmM3ZDVjYWEzNjc5Zjk3
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdG9yRmFjdG9yeS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRvckZhY3RvcnkuaApAQCAtMSw1ICsxLDUg
QEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkIDIwMTEu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIFJlc2VhcmNoIEluIE1vdGlv
biBMaW1pdGVkIDIwMTEsIDIwMTIuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogVGhpcyBs
aWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgog
ICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQ
dWJsaWMKQEAgLTI0LDYgKzI0LDcgQEAKICNpbmNsdWRlICJTVkdBbmltYXRlZEFuZ2xlLmgiCiAj
aW5jbHVkZSAiU1ZHQW5pbWF0ZWRCb29sZWFuLmgiCiAjaW5jbHVkZSAiU1ZHQW5pbWF0ZWRDb2xv
ci5oIgorI2luY2x1ZGUgIlNWR0FuaW1hdGVkRW51bWVyYXRpb24uaCIKICNpbmNsdWRlICJTVkdB
bmltYXRlZEludGVnZXIuaCIKICNpbmNsdWRlICJTVkdBbmltYXRlZEludGVnZXJPcHRpb25hbElu
dGVnZXIuaCIKICNpbmNsdWRlICJTVkdBbmltYXRlZExlbmd0aC5oIgpAQCAtNTYsNiArNTcsOCBA
QCBwdWJsaWM6CiAgICAgICAgICAgICByZXR1cm4gYWRvcHRQdHIobmV3IFNWR0FuaW1hdGVkQm9v
bGVhbkFuaW1hdG9yKGFuaW1hdGlvbkVsZW1lbnQsIGNvbnRleHRFbGVtZW50KSk7CiAgICAgICAg
IGNhc2UgQW5pbWF0ZWRDb2xvcjoKICAgICAgICAgICAgIHJldHVybiBhZG9wdFB0cihuZXcgU1ZH
QW5pbWF0ZWRDb2xvckFuaW1hdG9yKGFuaW1hdGlvbkVsZW1lbnQsIGNvbnRleHRFbGVtZW50KSk7
CisgICAgICAgIGNhc2UgQW5pbWF0ZWRFbnVtZXJhdGlvbjoKKyAgICAgICAgICAgIHJldHVybiBh
ZG9wdFB0cihuZXcgU1ZHQW5pbWF0ZWRFbnVtZXJhdGlvbkFuaW1hdG9yKGFuaW1hdGlvbkVsZW1l
bnQsIGNvbnRleHRFbGVtZW50KSk7CiAgICAgICAgIGNhc2UgQW5pbWF0ZWRJbnRlZ2VyOgogICAg
ICAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBTVkdBbmltYXRlZEludGVnZXJBbmltYXRvcihh
bmltYXRpb25FbGVtZW50LCBjb250ZXh0RWxlbWVudCkpOwogICAgICAgICBjYXNlIEFuaW1hdGVk
SW50ZWdlck9wdGlvbmFsSW50ZWdlcjoKQEAgLTgyLDcgKzg1LDYgQEAgcHVibGljOgogICAgICAg
ICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBTVkdBbmltYXRlZFN0cmluZ0FuaW1hdG9yKGFuaW1h
dGlvbkVsZW1lbnQsIGNvbnRleHRFbGVtZW50KSk7CiAgICAgICAgIGNhc2UgQW5pbWF0ZWRUcmFu
c2Zvcm1MaXN0OgogICAgICAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBTVkdBbmltYXRlZFRy
YW5zZm9ybUxpc3RBbmltYXRvcihhbmltYXRpb25FbGVtZW50LCBjb250ZXh0RWxlbWVudCkpOwot
ICAgICAgICBjYXNlIEFuaW1hdGVkRW51bWVyYXRpb246IC8vIEZJWE1FOiBJbXBsZW1lbnRhdGlv
biBuZWVkZWQuCiAgICAgICAgIGNhc2UgQW5pbWF0ZWRVbmtub3duOgogICAgICAgICAgICAgYnJl
YWs7CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNYXJrZXJF
bGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNYXJrZXJFbGVtZW50LmNwcAppbmRl
eCA1ZTFhODU0ZGQ1NjRjZjcyYjMxZjEyOTdiOTNjODU4NjU0NDIxZmUxLi43MThhOGMwNjgzMjU0
N2ZkYjE3NGI4NjFlNWZhZWQ4OTIxNWFkMjRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHTWFya2VyRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR01hcmtl
ckVsZW1lbnQuY3BwCkBAIC01Myw3ICs1Myw3IEBAIERFRklORV9BTklNQVRFRF9MRU5HVEgoU1ZH
TWFya2VyRWxlbWVudCwgU1ZHTmFtZXM6OnJlZllBdHRyLCBSZWZZLCByZWZZKQogREVGSU5FX0FO
SU1BVEVEX0xFTkdUSChTVkdNYXJrZXJFbGVtZW50LCBTVkdOYW1lczo6bWFya2VyV2lkdGhBdHRy
LCBNYXJrZXJXaWR0aCwgbWFya2VyV2lkdGgpCiBERUZJTkVfQU5JTUFURURfTEVOR1RIKFNWR01h
cmtlckVsZW1lbnQsIFNWR05hbWVzOjptYXJrZXJIZWlnaHRBdHRyLCBNYXJrZXJIZWlnaHQsIG1h
cmtlckhlaWdodCkKIERFRklORV9BTklNQVRFRF9FTlVNRVJBVElPTihTVkdNYXJrZXJFbGVtZW50
LCBTVkdOYW1lczo6bWFya2VyVW5pdHNBdHRyLCBNYXJrZXJVbml0cywgbWFya2VyVW5pdHMsIFNW
R01hcmtlclVuaXRzVHlwZSkKLURFRklORV9BTklNQVRFRF9BTkdMRV9NVUxUSVBMRV9XUkFQUEVS
UyhTVkdNYXJrZXJFbGVtZW50LCBTVkdOYW1lczo6b3JpZW50QXR0ciwgb3JpZW50QW5nbGVJZGVu
dGlmaWVyKCksIE9yaWVudEFuZ2xlLCBvcmllbnRBbmdsZSkKK0RFRklORV9BTklNQVRFRF9BTkdM
RV9BTkRfRU5VTUVSQVRJT04oU1ZHTWFya2VyRWxlbWVudCwgU1ZHTmFtZXM6Om9yaWVudEF0dHIs
IG9yaWVudEFuZ2xlSWRlbnRpZmllcigpLCBPcmllbnRBbmdsZSwgb3JpZW50QW5nbGUpCiBERUZJ
TkVfQU5JTUFURURfQk9PTEVBTihTVkdNYXJrZXJFbGVtZW50LCBTVkdOYW1lczo6ZXh0ZXJuYWxS
ZXNvdXJjZXNSZXF1aXJlZEF0dHIsIEV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQsIGV4dGVybmFs
UmVzb3VyY2VzUmVxdWlyZWQpCiBERUZJTkVfQU5JTUFURURfUkVDVChTVkdNYXJrZXJFbGVtZW50
LCBTVkdOYW1lczo6dmlld0JveEF0dHIsIFZpZXdCb3gsIHZpZXdCb3gpCiBERUZJTkVfQU5JTUFU
RURfUFJFU0VSVkVBU1BFQ1RSQVRJTyhTVkdNYXJrZXJFbGVtZW50LCBTVkdOYW1lczo6cHJlc2Vy
dmVBc3BlY3RSYXRpb0F0dHIsIFByZXNlcnZlQXNwZWN0UmF0aW8sIHByZXNlcnZlQXNwZWN0UmF0
aW8pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdBbmltYXRl
ZExpc3RQcm9wZXJ0eVRlYXJPZmYuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NW
R0FuaW1hdGVkTGlzdFByb3BlcnR5VGVhck9mZi5oCmluZGV4IDllZjFlMjVjY2JhYTEzYzk4MWI0
Mjk1ZTJjN2RkMDU5OGM5NjRjYzAuLjI3ODA4ZTg1YmQzNWExY2MwMGJlZTBkYWMwOTk5Y2MwNzhh
ZGU5Y2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1h
dGVkTGlzdFByb3BlcnR5VGVhck9mZi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0
aWVzL1NWR0FuaW1hdGVkTGlzdFByb3BlcnR5VGVhck9mZi5oCkBAIC0zNyw2ICszNyw3IEBAIHB1
YmxpYzoKICAgICB0eXBlZGVmIFNWR1Byb3BlcnR5VGVhck9mZjxMaXN0SXRlbVR5cGU+IExpc3RJ
dGVtVGVhck9mZjsKICAgICB0eXBlZGVmIFZlY3RvcjxSZWZQdHI8TGlzdEl0ZW1UZWFyT2ZmPiA+
IExpc3RXcmFwcGVyQ2FjaGU7CiAgICAgdHlwZWRlZiBTVkdMaXN0UHJvcGVydHlUZWFyT2ZmPFBy
b3BlcnR5VHlwZT4gTGlzdFByb3BlcnR5VGVhck9mZjsKKyAgICB0eXBlZGVmIFByb3BlcnR5VHlw
ZSBDb250ZW50VHlwZTsKIAogICAgIExpc3RQcm9wZXJ0eVRlYXJPZmYqIGJhc2VWYWwoKQogICAg
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1hdGVk
UHJvcGVydHlUZWFyT2ZmLmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdBbmlt
YXRlZFByb3BlcnR5VGVhck9mZi5oCmluZGV4IDI5YzAxM2UxMGU0NGY4MDhiMjRmZGM2MzZmNWI4
MjU1NzMxYzMyOTguLjcxNDU3NDU3YTI2NGUxNGM1NTAwN2MzY2ZlMjFmNTYyYmFjOGRiN2UgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR0FuaW1hdGVkUHJvcGVy
dHlUZWFyT2ZmLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHQW5pbWF0
ZWRQcm9wZXJ0eVRlYXJPZmYuaApAQCAtMzAsNiArMzAsNyBAQCB0ZW1wbGF0ZTx0eXBlbmFtZSBQ
cm9wZXJ0eVR5cGU+CiBjbGFzcyBTVkdBbmltYXRlZFByb3BlcnR5VGVhck9mZiA6IHB1YmxpYyBT
VkdBbmltYXRlZFByb3BlcnR5IHsKIHB1YmxpYzoKICAgICB0eXBlZGVmIFNWR1Byb3BlcnR5VGVh
ck9mZjxQcm9wZXJ0eVR5cGU+IFByb3BlcnR5VGVhck9mZjsKKyAgICB0eXBlZGVmIFByb3BlcnR5
VHlwZSBDb250ZW50VHlwZTsKIAogICAgIFByb3BlcnR5VGVhck9mZiogYmFzZVZhbCgpCiAgICAg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHQW5pbWF0ZWRT
dGF0aWNQcm9wZXJ0eVRlYXJPZmYuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NW
R0FuaW1hdGVkU3RhdGljUHJvcGVydHlUZWFyT2ZmLmgKaW5kZXggOTU4ZjQ4YTY3YzM1OGYzMzdm
MGIyZmViY2UxMDEwNGU0ZDYyZTljYy4uNTlmY2Q4NTAwMjgzZTM1YmY4NmFkMDYwYTI1Y2UyYjQx
NWUyM2Q2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHQW5p
bWF0ZWRTdGF0aWNQcm9wZXJ0eVRlYXJPZmYuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJv
cGVydGllcy9TVkdBbmltYXRlZFN0YXRpY1Byb3BlcnR5VGVhck9mZi5oCkBAIC0yOCw2ICsyOCw4
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHRlbXBsYXRlPHR5cGVuYW1lIFByb3BlcnR5VHlwZT4K
IGNsYXNzIFNWR0FuaW1hdGVkU3RhdGljUHJvcGVydHlUZWFyT2ZmIDogcHVibGljIFNWR0FuaW1h
dGVkUHJvcGVydHkgewogcHVibGljOgorICAgIHR5cGVkZWYgUHJvcGVydHlUeXBlIENvbnRlbnRU
eXBlOworCiAgICAgUHJvcGVydHlUeXBlJiBiYXNlVmFsKCkKICAgICB7CiAgICAgICAgIHJldHVy
biBtX3Byb3BlcnR5OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGUxZTVkM2IzOWViNjBjZTJlZmNiNzhkYzFmOTFkZjc5N2Zk
OWU1ZmYuLmY4Y2E3NmY2ZmVhNDhlOWUwMzliMGE0MDFmMTRjNjFhZTQ1OTAyM2UgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNTkgQEAKKzIwMTItMDMtMjggIE5pa29sYXMgWmltbWVybWFubiAgPG56aW1tZXJt
YW5uQHJpbS5jb20+CisKKyAgICAgICAgRW5hYmxlIGFuaW1WYWwgc3VwcG9ydCBmb3IgU1ZHQW5p
bWF0ZWRFbnVtZXJhdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9ODI0NTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBBZGQgbmV3IHRlc3RzIGZvciBhbGwgU1ZHQW5pbWF0ZWRFbnVtZXJhdGlvbiBpbiB0
aGUgU1ZHIERPTSB0byBwcm9vZiB0aGV5IGFuaW1hdGUgYW5kIHVwZGF0ZSBhbmltVmFsIGNvcnJl
Y3RseS4KKworICAgICAgICAqIHN2Zy9hbmltYXRpb25zL2FuaW1hdGUtbWFya2VyLW9yaWVudC1m
cm9tLWFuZ2xlLXRvLWFuZ2xlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogc3ZnL2Fu
aW1hdGlvbnMvYW5pbWF0ZS1tYXJrZXItb3JpZW50LWZyb20tYW5nbGUtdG8tYW5nbGUuaHRtbDog
QWRkZWQuCisgICAgICAgICogc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZS1tYXJrZXItb3JpZW50LWZy
b20tYW5nbGUtdG8tYXV0by1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN2Zy9hbmlt
YXRpb25zL2FuaW1hdGUtbWFya2VyLW9yaWVudC1mcm9tLWFuZ2xlLXRvLWF1dG8uaHRtbDogQWRk
ZWQuCisgICAgICAgICogc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZS1tYXJrZXItb3JpZW50LXRvLWFu
Z2xlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogc3ZnL2FuaW1hdGlvbnMvYW5pbWF0
ZS1tYXJrZXItb3JpZW50LXRvLWFuZ2xlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHN2Zy9hbmlt
YXRpb25zL3NjcmlwdC10ZXN0cy9hbmltYXRlLW1hcmtlci1vcmllbnQtZnJvbS1hbmdsZS10by1h
bmdsZS5qczogQWRkZWQuCisgICAgICAgIChzYW1wbGUxKToKKyAgICAgICAgKHNhbXBsZTIpOgor
ICAgICAgICAoc2FtcGxlMyk6CisgICAgICAgIChzYW1wbGU0KToKKyAgICAgICAgKGV4ZWN1dGVU
ZXN0KToKKyAgICAgICAgKiBzdmcvYW5pbWF0aW9ucy9zY3JpcHQtdGVzdHMvYW5pbWF0ZS1tYXJr
ZXItb3JpZW50LWZyb20tYW5nbGUtdG8tYXV0by5qczogQWRkZWQuCisgICAgICAgIChzYW1wbGUx
KToKKyAgICAgICAgKHNhbXBsZTIpOgorICAgICAgICAoc2FtcGxlMyk6CisgICAgICAgIChleGVj
dXRlVGVzdCk6CisgICAgICAgICogc3ZnL2FuaW1hdGlvbnMvc2NyaXB0LXRlc3RzL2FuaW1hdGUt
bWFya2VyLW9yaWVudC10by1hbmdsZS5qczogQWRkZWQuCisgICAgICAgIChzYW1wbGUxKToKKyAg
ICAgICAgKHNhbXBsZTIpOgorICAgICAgICAoc2FtcGxlMyk6CisgICAgICAgIChleGVjdXRlVGVz
dCk6CisgICAgICAgICogc3ZnL2FuaW1hdGlvbnMvc2NyaXB0LXRlc3RzL3N2Z2FuZ2xlLWFuaW1h
dGlvbi1kZWctdG8tZ3JhZC5qczoKKyAgICAgICAgKHNhbXBsZTEpOgorICAgICAgICAoc2FtcGxl
Mik6CisgICAgICAgIChzYW1wbGUzKToKKyAgICAgICAgKiBzdmcvYW5pbWF0aW9ucy9zY3JpcHQt
dGVzdHMvc3ZnYW5nbGUtYW5pbWF0aW9uLWRlZy10by1yYWQuanM6CisgICAgICAgIChzYW1wbGUx
KToKKyAgICAgICAgKHNhbXBsZTIpOgorICAgICAgICAoc2FtcGxlMyk6CisgICAgICAgICogc3Zn
L2FuaW1hdGlvbnMvc2NyaXB0LXRlc3RzL3N2Z2FuZ2xlLWFuaW1hdGlvbi1ncmFkLXRvLWRlZy5q
czoKKyAgICAgICAgKHNhbXBsZTEpOgorICAgICAgICAoc2FtcGxlMik6CisgICAgICAgIChzYW1w
bGUzKToKKyAgICAgICAgKiBzdmcvYW5pbWF0aW9ucy9zY3JpcHQtdGVzdHMvc3ZnYW5nbGUtYW5p
bWF0aW9uLWdyYWQtdG8tcmFkLmpzOgorICAgICAgICAoc2FtcGxlMSk6CisgICAgICAgIChzYW1w
bGUyKToKKyAgICAgICAgKHNhbXBsZTMpOgorICAgICAgICAqIHN2Zy9hbmltYXRpb25zL3Njcmlw
dC10ZXN0cy9zdmdhbmdsZS1hbmltYXRpb24tcmFkLXRvLWRlZy5qczoKKyAgICAgICAgKHNhbXBs
ZTEpOgorICAgICAgICAoc2FtcGxlMik6CisgICAgICAgIChzYW1wbGUzKToKKyAgICAgICAgKiBz
dmcvYW5pbWF0aW9ucy9zY3JpcHQtdGVzdHMvc3ZnYW5nbGUtYW5pbWF0aW9uLXJhZC10by1ncmFk
LmpzOgorICAgICAgICAoc2FtcGxlMSk6CisgICAgICAgIChzYW1wbGUyKToKKyAgICAgICAgKHNh
bXBsZTMpOgorICAgICAgICAqIHN2Zy9hbmltYXRpb25zL3NjcmlwdC10ZXN0cy9zdmdlbnVtLWFu
aW1hdGlvbi0xLmpzOiBBZGRlZC4KKyAgICAgICAgKHNhbXBsZTEpOgorICAgICAgICAoc2FtcGxl
Mik6CisgICAgICAgIChleGVjdXRlVGVzdCk6CisgICAgICAgICogc3ZnL2FuaW1hdGlvbnMvc2Ny
aXB0LXRlc3RzL3N2Z2VudW0tYW5pbWF0aW9uLTEwLmpzOiBBZGRlZC4KKyAgICAgICAgKHNhbXBs
ZTEpOgorICAgICAgICAoc2FtcGxlMik6CisgICAgICAgIChleGVjdXRlVGVzdCk6CisgICAgICAg
ICogc3ZnL2FuaW1hdGlvbnMvc2NyaXB0LXRlc3RzL3N2Z2VudW0tYW5pbWF0aW9uLTExLmpzOiBB
ZGRlZC4KKyAgICAgICAgKHNhbXBsZTEpOgorICAgICAgICAoc2FtcGxlMik6CisgICAgICAgIChz
YW1wbGUzKToKKyAgICAgICAgKHNhbXBsZTQpOgorICAgICAgICAoc2FtcGxlNSk6CisgICAgICAg
IChleGVjdXRlVGVzdCk6CisgICAgICAgICogc3ZnL2FuaW1hdGlvbnMvc2NyaXB0LXRlc3RzL3N2
Z2VudW0tYW5pbWF0aW9uLTEyLmpzOiBBZGRlZC4KKyAgICAgICAgKHNhbXBsZTEpOgorICAgICAg
ICAoc2FtcGxlMik6CisgICAgICAgIChzYW1wbGUzKToKKyAgICAgICAgKGV4ZWN1dGVUZXN0KToK
KyAgICAgICAgKiBzdmcvYW5pbWF0aW9ucy9zY3JpcHQtdGVzdHMvc3ZnZW51bS1hbmltYXRpb24t
MTMuanM6IEFkZGVkLgorICAgICAgICAoc2FtcGxlMSk6CisgICAgICAgIChzYW1wbGUyKToKKyAg
ICAgICAgKHNhbXBsZTMpOgorICAgICAgICAoc2FtcGxlNCk6CisgICAgICAgIChleGVjdXRlVGVz
dCk6CisgICAgICAgICogc3ZnL2FuaW1hdGlvbnMvc2NyaXB0LXRlc3RzL3N2Z2VudW0tYW5pbWF0
aW9uLTIuanM6IEFkZGVkLgorICAgICAgICAoc2FtcGxlMSk6CisgICAgICAgIChzYW1wbGUyKToK
KyAgICAgICAgKHNhbXBsZTMpOgorICAgICAgICAoZXhlY3V0ZVRlc3QpOgorICAgICAgICAqIHN2
Zy9hbmltYXRpb25zL3NjcmlwdC10ZXN0cy9zdmdlbnVtLWFuaW1hdGlvbi0zLmpzOiBBZGRlZC4K
KyAgICAgICAgKHNhbXBsZTEpOgorICAgICAgICAoc2FtcGxlMik6CisgICAgICAgIChleGVjdXRl
VGVzdCk6CisgICAgICAgICogc3ZnL2FuaW1hdGlvbnMvc2NyaXB0LXRlc3RzL3N2Z2VudW0tYW5p
bWF0aW9uLTQuanM6IEFkZGVkLgorICAgICAgICAoc2FtcGxlMSk6CisgICAgICAgIChzYW1wbGUy
KToKKyAgICAgICAgKHNhbXBsZTMpOgorICAgICAgICAoc2FtcGxlNCk6CisgICAgICAgIChzYW1w
bGU1KToKKyAgICAgICAgKHNhbXBsZTYpOgorICAgICAgICAoZXhlY3V0ZVRlc3QpOgorICAgICAg
ICAqIHN2Zy9hbmltYXRpb25zL3NjcmlwdC10ZXN0cy9zdmdlbnVtLWFuaW1hdGlvbi01LmpzOiBB
ZGRlZC4KKyAgICAgICAgKHNhbXBsZTEpOgorICAgICAgICAoc2FtcGxlMik6CisgICAgICAgIChl
eGVjdXRlVGVzdCk6CisgICAgICAgICogc3ZnL2FuaW1hdGlvbnMvc2NyaXB0LXRlc3RzL3N2Z2Vu
dW0tYW5pbWF0aW9uLTYuanM6IEFkZGVkLgorICAgICAgICAoc2FtcGxlMSk6CisgICAgICAgIChz
YW1wbGUyKToKKyAgICAgICAgKHNhbXBsZTMpOgorICAgICAgICAoc2FtcGxlNCk6CisgICAgICAg
IChleGVjdXRlVGVzdCk6CisgICAgICAgICogc3ZnL2FuaW1hdGlvbnMvc2NyaXB0LXRlc3RzL3N2
Z2VudW0tYW5pbWF0aW9uLTcuanM6IEFkZGVkLgorICAgICAgICAoc2FtcGxlMSk6CisgICAgICAg
IChzYW1wbGUyKToKKyAgICAgICAgKGV4ZWN1dGVUZXN0KToKKyAgICAgICAgKiBzdmcvYW5pbWF0
aW9ucy9zY3JpcHQtdGVzdHMvc3ZnZW51bS1hbmltYXRpb24tOC5qczogQWRkZWQuCisgICAgICAg
IChzYW1wbGUxKToKKyAgICAgICAgKHNhbXBsZTIpOgorICAgICAgICAoc2FtcGxlMyk6CisgICAg
ICAgIChzYW1wbGU0KToKKyAgICAgICAgKHNhbXBsZTUpOgorICAgICAgICAoZXhlY3V0ZVRlc3Qp
OgorICAgICAgICAqIHN2Zy9hbmltYXRpb25zL3NjcmlwdC10ZXN0cy9zdmdlbnVtLWFuaW1hdGlv
bi05LmpzOiBBZGRlZC4KKyAgICAgICAgKHNhbXBsZTEpOgorICAgICAgICAoc2FtcGxlMik6Cisg
ICAgICAgIChleGVjdXRlVGVzdCk6CisgICAgICAgICogc3ZnL2FuaW1hdGlvbnMvc3ZnYW5nbGUt
YW5pbWF0aW9uLWRlZy10by1ncmFkLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdmcvYW5pbWF0
aW9ucy9zdmdhbmdsZS1hbmltYXRpb24tZGVnLXRvLXJhZC1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogc3ZnL2FuaW1hdGlvbnMvc3ZnYW5nbGUtYW5pbWF0aW9uLWdyYWQtdG8tZGVnLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBzdmcvYW5pbWF0aW9ucy9zdmdhbmdsZS1hbmltYXRpb24tZ3JhZC10
by1yYWQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN2Zy9hbmltYXRpb25zL3N2Z2FuZ2xlLWFu
aW1hdGlvbi1yYWQtdG8tZGVnLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdmcvYW5pbWF0aW9u
cy9zdmdhbmdsZS1hbmltYXRpb24tcmFkLXRvLWdyYWQtZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHN2Zy9hbmltYXRpb25zL3N2Z2VudW0tYW5pbWF0aW9uLTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBzdmcvYW5pbWF0aW9ucy9zdmdlbnVtLWFuaW1hdGlvbi0xLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIHN2Zy9hbmltYXRpb25zL3N2Z2VudW0tYW5pbWF0aW9uLTEwLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogc3ZnL2FuaW1hdGlvbnMvc3ZnZW51bS1hbmltYXRpb24t
MTAuaHRtbDogQWRkZWQuCisgICAgICAgICogc3ZnL2FuaW1hdGlvbnMvc3ZnZW51bS1hbmltYXRp
b24tMTEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBzdmcvYW5pbWF0aW9ucy9zdmdl
bnVtLWFuaW1hdGlvbi0xMS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBzdmcvYW5pbWF0aW9ucy9z
dmdlbnVtLWFuaW1hdGlvbi0xMi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN2Zy9h
bmltYXRpb25zL3N2Z2VudW0tYW5pbWF0aW9uLTEyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHN2
Zy9hbmltYXRpb25zL3N2Z2VudW0tYW5pbWF0aW9uLTEzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogc3ZnL2FuaW1hdGlvbnMvc3ZnZW51bS1hbmltYXRpb24tMTMuaHRtbDogQWRkZWQu
CisgICAgICAgICogc3ZnL2FuaW1hdGlvbnMvc3ZnZW51bS1hbmltYXRpb24tMi1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIHN2Zy9hbmltYXRpb25zL3N2Z2VudW0tYW5pbWF0aW9uLTIu
aHRtbDogQWRkZWQuCisgICAgICAgICogc3ZnL2FuaW1hdGlvbnMvc3ZnZW51bS1hbmltYXRpb24t
My1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN2Zy9hbmltYXRpb25zL3N2Z2VudW0t
YW5pbWF0aW9uLTMuaHRtbDogQWRkZWQuCisgICAgICAgICogc3ZnL2FuaW1hdGlvbnMvc3ZnZW51
bS1hbmltYXRpb24tNC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN2Zy9hbmltYXRp
b25zL3N2Z2VudW0tYW5pbWF0aW9uLTQuaHRtbDogQWRkZWQuCisgICAgICAgICogc3ZnL2FuaW1h
dGlvbnMvc3ZnZW51bS1hbmltYXRpb24tNS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IHN2Zy9hbmltYXRpb25zL3N2Z2VudW0tYW5pbWF0aW9uLTUuaHRtbDogQWRkZWQuCisgICAgICAg
ICogc3ZnL2FuaW1hdGlvbnMvc3ZnZW51bS1hbmltYXRpb24tNi1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIHN2Zy9hbmltYXRpb25zL3N2Z2VudW0tYW5pbWF0aW9uLTYuaHRtbDogQWRk
ZWQuCisgICAgICAgICogc3ZnL2FuaW1hdGlvbnMvc3ZnZW51bS1hbmltYXRpb24tNy1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN2Zy9hbmltYXRpb25zL3N2Z2VudW0tYW5pbWF0aW9u
LTcuaHRtbDogQWRkZWQuCisgICAgICAgICogc3ZnL2FuaW1hdGlvbnMvc3ZnZW51bS1hbmltYXRp
b24tOC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN2Zy9hbmltYXRpb25zL3N2Z2Vu
dW0tYW5pbWF0aW9uLTguaHRtbDogQWRkZWQuCisgICAgICAgICogc3ZnL2FuaW1hdGlvbnMvc3Zn
ZW51bS1hbmltYXRpb24tOS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN2Zy9hbmlt
YXRpb25zL3N2Z2VudW0tYW5pbWF0aW9uLTkuaHRtbDogQWRkZWQuCisKIDIwMTItMDMtMjcgIE5p
a29sYXMgWmltbWVybWFubiAgPG56aW1tZXJtYW5uQHJpbS5jb20+CiAKICAgICAgICAgRW5hYmxl
IGFuaW1WYWwgc3VwcG9ydCBmb3IgU1ZHQW5pbWF0ZWRQcmVzZXJ2ZUFzcGVjdFJhdGlvCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9hbmltYXRlLW1hcmtlci1vcmllbnQt
ZnJvbS1hbmdsZS10by1hbmdsZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0
aW9ucy9hbmltYXRlLW1hcmtlci1vcmllbnQtZnJvbS1hbmdsZS10by1hbmdsZS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZGQ5OTAyYzA0ZTU3YjU2ZDRmNTA1YTc0YWY4MTRmZmI0N2U4ZDgxZQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL2FuaW1hdGUtbWFy
a2VyLW9yaWVudC1mcm9tLWFuZ2xlLXRvLWFuZ2xlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMx
IEBACitTVkcgMS4xIGR5bmFtaWMgYW5pbWF0aW9uIHRlc3RzCisKK0FuaW1hdGUgU1ZHTWFya2Vy
RWxlbWVudCBvcmllbnRBdHRyIGZyb20gYW4gYW5nbGUgdG8gYW4gYW5nbGUKKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgbWFya2VyLm9yaWVudEFuZ2xlLmFuaW1WYWwudmFs
dWUgaXMgMAorUEFTUyBtYXJrZXIub3JpZW50QW5nbGUuYmFzZVZhbC52YWx1ZSBpcyAwCitQQVNT
IG1hcmtlci5vcmllbnRUeXBlLmFuaW1WYWwgaXMgU1ZHTWFya2VyRWxlbWVudC5TVkdfTUFSS0VS
X09SSUVOVF9BTkdMRQorUEFTUyBtYXJrZXIub3JpZW50VHlwZS5iYXNlVmFsIGlzIFNWR01hcmtl
ckVsZW1lbnQuU1ZHX01BUktFUl9PUklFTlRfQU5HTEUKK1BBU1MgbWFya2VyLm9yaWVudEFuZ2xl
LmFuaW1WYWwudmFsdWUgaXMgOTAKK1BBU1MgbWFya2VyLm9yaWVudEFuZ2xlLmJhc2VWYWwudmFs
dWUgaXMgMAorUEFTUyBtYXJrZXIub3JpZW50VHlwZS5hbmltVmFsIGlzIFNWR01hcmtlckVsZW1l
bnQuU1ZHX01BUktFUl9PUklFTlRfQU5HTEUKK1BBU1MgbWFya2VyLm9yaWVudFR5cGUuYmFzZVZh
bCBpcyBTVkdNYXJrZXJFbGVtZW50LlNWR19NQVJLRVJfT1JJRU5UX0FOR0xFCitQQVNTIG1hcmtl
ci5vcmllbnRBbmdsZS5hbmltVmFsLnZhbHVlIGlzIDEzNQorUEFTUyBtYXJrZXIub3JpZW50QW5n
bGUuYmFzZVZhbC52YWx1ZSBpcyAwCitQQVNTIG1hcmtlci5vcmllbnRUeXBlLmFuaW1WYWwgaXMg
U1ZHTWFya2VyRWxlbWVudC5TVkdfTUFSS0VSX09SSUVOVF9BTkdMRQorUEFTUyBtYXJrZXIub3Jp
ZW50VHlwZS5iYXNlVmFsIGlzIFNWR01hcmtlckVsZW1lbnQuU1ZHX01BUktFUl9PUklFTlRfQU5H
TEUKK1BBU1MgbWFya2VyLm9yaWVudEFuZ2xlLmFuaW1WYWwudmFsdWUgaXMgMTgwCitQQVNTIG1h
cmtlci5vcmllbnRBbmdsZS5iYXNlVmFsLnZhbHVlIGlzIDAKK1BBU1MgbWFya2VyLm9yaWVudFR5
cGUuYW5pbVZhbCBpcyBTVkdNYXJrZXJFbGVtZW50LlNWR19NQVJLRVJfT1JJRU5UX0FOR0xFCitQ
QVNTIG1hcmtlci5vcmllbnRUeXBlLmJhc2VWYWwgaXMgU1ZHTWFya2VyRWxlbWVudC5TVkdfTUFS
S0VSX09SSUVOVF9BTkdMRQorUEFTUyBtYXJrZXIub3JpZW50QW5nbGUuYW5pbVZhbC52YWx1ZSBp
cyAxODAKK1BBU1MgbWFya2VyLm9yaWVudEFuZ2xlLmJhc2VWYWwudmFsdWUgaXMgMAorUEFTUyBt
YXJrZXIub3JpZW50VHlwZS5hbmltVmFsIGlzIFNWR01hcmtlckVsZW1lbnQuU1ZHX01BUktFUl9P
UklFTlRfQU5HTEUKK1BBU1MgbWFya2VyLm9yaWVudFR5cGUuYmFzZVZhbCBpcyBTVkdNYXJrZXJF
bGVtZW50LlNWR19NQVJLRVJfT1JJRU5UX0FOR0xFCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2Fu
aW1hdGlvbnMvYW5pbWF0ZS1tYXJrZXItb3JpZW50LWZyb20tYW5nbGUtdG8tYW5nbGUuaHRtbCBi
L0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL2FuaW1hdGUtbWFya2VyLW9yaWVudC1mcm9tLWFu
Z2xlLXRvLWFuZ2xlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjQyMDUyNTdkNDhlNjg2MDhjYjU0ZmQyYjNl
NTdiNzEwZjlmNjZiOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N2Zy9hbmltYXRp
b25zL2FuaW1hdGUtbWFya2VyLW9yaWVudC1mcm9tLWFuZ2xlLXRvLWFuZ2xlLmh0bWwKQEAgLTAs
MCArMSwxNCBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vZHluYW1pYy11cGRhdGVz
L3Jlc291cmNlcy9TVkdUZXN0Q2FzZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3Vy
Y2VzL1NWR0FuaW1hdGlvblRlc3RDYXNlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9u
bG9hZD0icnVuU01JTFRlc3QoKSI+Cis8aDE+U1ZHIDEuMSBkeW5hbWljIGFuaW1hdGlvbiB0ZXN0
czwvaDE+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9hbmltYXRlLW1hcmtlci1vcmllbnQtZnJvbS1h
bmdsZS10by1hbmdsZS5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9hbmltYXRlLW1hcmtlci1vcmllbnQtZnJvbS1h
bmdsZS10by1hdXRvLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL2Fu
aW1hdGUtbWFya2VyLW9yaWVudC1mcm9tLWFuZ2xlLXRvLWF1dG8tZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdlMWNjYTk5NTkxZTZiMGVlNjZjZmRkY2FiYzkxNTc4YjJiOTU0YmIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9hbmltYXRlLW1hcmtlci1vcmll
bnQtZnJvbS1hbmdsZS10by1hdXRvLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM1IEBACitTVkcg
MS4xIGR5bmFtaWMgYW5pbWF0aW9uIHRlc3RzCisKK0FuaW1hdGUgU1ZHTWFya2VyRWxlbWVudCBv
cmllbnRBdHRyIGZyb20gYW4gYW5nbGUgdG8gYXV0bworCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCisKKworUEFTUyBtYXJrZXIub3JpZW50QW5nbGUuYW5pbVZhbC52YWx1ZSBpcyAwCitQQVNT
IG1hcmtlci5vcmllbnRBbmdsZS5iYXNlVmFsLnZhbHVlIGlzIDAKK1BBU1MgbWFya2VyLm9yaWVu
dFR5cGUuYW5pbVZhbCBpcyBTVkdNYXJrZXJFbGVtZW50LlNWR19NQVJLRVJfT1JJRU5UX0FOR0xF
CitQQVNTIG1hcmtlci5vcmllbnRUeXBlLmJhc2VWYWwgaXMgU1ZHTWFya2VyRWxlbWVudC5TVkdf
TUFSS0VSX09SSUVOVF9BTkdMRQorUEFTUyBtYXJrZXIub3JpZW50QW5nbGUuYW5pbVZhbC52YWx1
ZSBpcyA5MAorUEFTUyBtYXJrZXIub3JpZW50QW5nbGUuYmFzZVZhbC52YWx1ZSBpcyAwCitQQVNT
IG1hcmtlci5vcmllbnRUeXBlLmFuaW1WYWwgaXMgU1ZHTWFya2VyRWxlbWVudC5TVkdfTUFSS0VS
X09SSUVOVF9BTkdMRQorUEFTUyBtYXJrZXIub3JpZW50VHlwZS5iYXNlVmFsIGlzIFNWR01hcmtl
ckVsZW1lbnQuU1ZHX01BUktFUl9PUklFTlRfQU5HTEUKK1BBU1MgbWFya2VyLm9yaWVudEFuZ2xl
LmFuaW1WYWwudmFsdWUgaXMgOTAKK1BBU1MgbWFya2VyLm9yaWVudEFuZ2xlLmJhc2VWYWwudmFs
dWUgaXMgMAorUEFTUyBtYXJrZXIub3JpZW50VHlwZS5hbmltVmFsIGlzIFNWR01hcmtlckVsZW1l
bnQuU1ZHX01BUktFUl9PUklFTlRfQU5HTEUKK1BBU1MgbWFya2VyLm9yaWVudFR5cGUuYmFzZVZh
bCBpcyBTVkdNYXJrZXJFbGVtZW50LlNWR19NQVJLRVJfT1JJRU5UX0FOR0xFCitQQVNTIG1hcmtl
ci5vcmllbnRBbmdsZS5hbmltVmFsLnZhbHVlIGlzIDAKK1BBU1MgbWFya2VyLm9yaWVudEFuZ2xl
LmJhc2VWYWwudmFsdWUgaXMgMAorUEFTUyBtYXJrZXIub3JpZW50VHlwZS5hbmltVmFsIGlzIFNW
R01hcmtlckVsZW1lbnQuU1ZHX01BUktFUl9PUklFTlRfQVVUTworUEFTUyBtYXJrZXIub3JpZW50
VHlwZS5iYXNlVmFsIGlzIFNWR01hcmtlckVsZW1lbnQuU1ZHX01BUktFUl9PUklFTlRfQU5HTEUK
K1BBU1MgbWFya2VyLm9yaWVudEFuZ2xlLmFuaW1WYWwudmFsdWUgaXMgMAorUEFTUyBtYXJrZXIu
b3JpZW50QW5nbGUuYmFzZVZhbC52YWx1ZSBpcyAwCitQQVNTIG1hcmtlci5vcmllbnRUeXBlLmFu
aW1WYWwgaXMgU1ZHTWFya2VyRWxlbWVudC5TVkdfTUFSS0VSX09SSUVOVF9BVVRPCitQQVNTIG1h
cmtlci5vcmllbnRUeXBlLmJhc2VWYWwgaXMgU1ZHTWFya2VyRWxlbWVudC5TVkdfTUFSS0VSX09S
SUVOVF9BTkdMRQorUEFTUyBtYXJrZXIub3JpZW50QW5nbGUuYW5pbVZhbC52YWx1ZSBpcyAwCitQ
QVNTIG1hcmtlci5vcmllbnRBbmdsZS5iYXNlVmFsLnZhbHVlIGlzIDAKK1BBU1MgbWFya2VyLm9y
aWVudFR5cGUuYW5pbVZhbCBpcyBTVkdNYXJrZXJFbGVtZW50LlNWR19NQVJLRVJfT1JJRU5UX0FV
VE8KK1BBU1MgbWFya2VyLm9yaWVudFR5cGUuYmFzZVZhbCBpcyBTVkdNYXJrZXJFbGVtZW50LlNW
R19NQVJLRVJfT1JJRU5UX0FOR0xFCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMv
YW5pbWF0ZS1tYXJrZXItb3JpZW50LWZyb20tYW5nbGUtdG8tYXV0by5odG1sIGIvTGF5b3V0VGVz
dHMvc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZS1tYXJrZXItb3JpZW50LWZyb20tYW5nbGUtdG8tYXV0
by5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdlNTA5NzU2MTRmOGFlMTAwNzc2MzZlYmVhNjM0YjMwNzc1YWE1
MDcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9hbmltYXRl
LW1hcmtlci1vcmllbnQtZnJvbS1hbmdsZS10by1hdXRvLmh0bWwKQEAgLTAsMCArMSwxNCBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vZHluYW1pYy11cGRhdGVzL3Jlc291cmNlcy9T
VkdUZXN0Q2FzZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL1NWR0FuaW1h
dGlvblRlc3RDYXNlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuU01J
TFRlc3QoKSI+Cis8aDE+U1ZHIDEuMSBkeW5hbWljIGFuaW1hdGlvbiB0ZXN0czwvaDE+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBz
cmM9InNjcmlwdC10ZXN0cy9hbmltYXRlLW1hcmtlci1vcmllbnQtZnJvbS1hbmdsZS10by1hdXRv
LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3N2Zy9hbmltYXRpb25zL2FuaW1hdGUtbWFya2VyLW9yaWVudC10by1hbmdsZS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9hbmltYXRlLW1hcmtlci1vcmllbnQtdG8t
YW5nbGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE0ZDkwNzA3NjZhMDJjNmIwMWU3YjdhNWE0
NGQyYzgwMjllZjcxMWIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0
aW9ucy9hbmltYXRlLW1hcmtlci1vcmllbnQtdG8tYW5nbGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMjcgQEAKK1NWRyAxLjEgZHluYW1pYyBhbmltYXRpb24gdGVzdHMKKworQW5pbWF0ZSBTVkdN
YXJrZXJFbGVtZW50IG9yaWVudEF0dHIgdG8gYW4gYW5nbGUKKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCisKK1BBU1MgbWFya2VyLm9yaWVudEFuZ2xlLmFuaW1WYWwudmFsdWUgaXMgMAor
UEFTUyBtYXJrZXIub3JpZW50QW5nbGUuYmFzZVZhbC52YWx1ZSBpcyAwCitQQVNTIG1hcmtlci5v
cmllbnRUeXBlLmFuaW1WYWwgaXMgU1ZHTWFya2VyRWxlbWVudC5TVkdfTUFSS0VSX09SSUVOVF9B
TkdMRQorUEFTUyBtYXJrZXIub3JpZW50VHlwZS5iYXNlVmFsIGlzIFNWR01hcmtlckVsZW1lbnQu
U1ZHX01BUktFUl9PUklFTlRfQU5HTEUKK1BBU1MgbWFya2VyLm9yaWVudEFuZ2xlLmFuaW1WYWwu
dmFsdWUgaXMgOTAKK1BBU1MgbWFya2VyLm9yaWVudEFuZ2xlLmJhc2VWYWwudmFsdWUgaXMgMAor
UEFTUyBtYXJrZXIub3JpZW50VHlwZS5hbmltVmFsIGlzIFNWR01hcmtlckVsZW1lbnQuU1ZHX01B
UktFUl9PUklFTlRfQU5HTEUKK1BBU1MgbWFya2VyLm9yaWVudFR5cGUuYmFzZVZhbCBpcyBTVkdN
YXJrZXJFbGVtZW50LlNWR19NQVJLRVJfT1JJRU5UX0FOR0xFCitQQVNTIG1hcmtlci5vcmllbnRB
bmdsZS5hbmltVmFsLnZhbHVlIGlzIDE4MAorUEFTUyBtYXJrZXIub3JpZW50QW5nbGUuYmFzZVZh
bC52YWx1ZSBpcyAwCitQQVNTIG1hcmtlci5vcmllbnRUeXBlLmFuaW1WYWwgaXMgU1ZHTWFya2Vy
RWxlbWVudC5TVkdfTUFSS0VSX09SSUVOVF9BTkdMRQorUEFTUyBtYXJrZXIub3JpZW50VHlwZS5i
YXNlVmFsIGlzIFNWR01hcmtlckVsZW1lbnQuU1ZHX01BUktFUl9PUklFTlRfQU5HTEUKK1BBU1Mg
bWFya2VyLm9yaWVudEFuZ2xlLmFuaW1WYWwudmFsdWUgaXMgMTgwCitQQVNTIG1hcmtlci5vcmll
bnRBbmdsZS5iYXNlVmFsLnZhbHVlIGlzIDAKK1BBU1MgbWFya2VyLm9yaWVudFR5cGUuYW5pbVZh
bCBpcyBTVkdNYXJrZXJFbGVtZW50LlNWR19NQVJLRVJfT1JJRU5UX0FOR0xFCitQQVNTIG1hcmtl
ci5vcmllbnRUeXBlLmJhc2VWYWwgaXMgU1ZHTWFya2VyRWxlbWVudC5TVkdfTUFSS0VSX09SSUVO
VF9BTkdMRQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL2FuaW1hdGUtbWFya2Vy
LW9yaWVudC10by1hbmdsZS5odG1sIGIvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvYW5pbWF0
ZS1tYXJrZXItb3JpZW50LXRvLWFuZ2xlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTU0Y2VhZmZlYTI3MGVm
ODNmZTAwNDZmZjkxNTA2ZjU3ZDQ3ZWU5YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L3N2Zy9hbmltYXRpb25zL2FuaW1hdGUtbWFya2VyLW9yaWVudC10by1hbmdsZS5odG1sCkBAIC0w
LDAgKzEsMTQgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL2R5bmFtaWMtdXBkYXRl
cy9yZXNvdXJjZXMvU1ZHVGVzdENhc2UuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291
cmNlcy9TVkdBbmltYXRpb25UZXN0Q2FzZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBv
bmxvYWQ9InJ1blNNSUxUZXN0KCkiPgorPGgxPlNWRyAxLjEgZHluYW1pYyBhbmltYXRpb24gdGVz
dHM8L2gxPgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvYW5pbWF0ZS1tYXJrZXItb3JpZW50LXRvLWFu
Z2xlLmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3N2Zy9hbmltYXRpb25zL3NjcmlwdC10ZXN0cy9hbmltYXRlLW1hcmtlci1vcmllbnQtZnJv
bS1hbmdsZS10by1hbmdsZS5qcyBiL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL3NjcmlwdC10
ZXN0cy9hbmltYXRlLW1hcmtlci1vcmllbnQtZnJvbS1hbmdsZS10by1hbmdsZS5qcwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44YmY5NWE4OGIwNjZkNTA5MTA4NTkxNjViYmE5MzljYWMzNDRiNDkzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc2NyaXB0LXRlc3RzL2FuaW1hdGUt
bWFya2VyLW9yaWVudC1mcm9tLWFuZ2xlLXRvLWFuZ2xlLmpzCkBAIC0wLDAgKzEsOTIgQEAKK2Rl
c2NyaXB0aW9uKCJBbmltYXRlIFNWR01hcmtlckVsZW1lbnQgb3JpZW50QXR0ciBmcm9tIGFuIGFu
Z2xlIHRvIGFuIGFuZ2xlIik7CitjcmVhdGVTVkdUZXN0Q2FzZSgpOworCisvLyBTZXR1cCB0ZXN0
IGRvY3VtZW50CisKK3ZhciBtYXJrZXIgPSBjcmVhdGVTVkdFbGVtZW50KCJtYXJrZXIiKTsKK21h
cmtlci5zZXRBdHRyaWJ1dGUoImlkIiwgIm1hcmtlciIpOworbWFya2VyLnNldEF0dHJpYnV0ZSgi
dmlld0JveCIsICIwIDAgMTAgMTAiKTsKK21hcmtlci5zZXRBdHRyaWJ1dGUoIm1hcmtlcldpZHRo
IiwgIjIiKTsKK21hcmtlci5zZXRBdHRyaWJ1dGUoIm1hcmtlckhlaWdodCIsICIyIik7CittYXJr
ZXIuc2V0QXR0cmlidXRlKCJyZWZYIiwgIjUiKTsKK21hcmtlci5zZXRBdHRyaWJ1dGUoInJlZlki
LCAiNSIpOworbWFya2VyLnNldEF0dHJpYnV0ZSgibWFya2VyVW5pdHMiLCAic3Ryb2tlV2lkdGgi
KTsKKwordmFyIG1hcmtlclBhdGggPSBjcmVhdGVTVkdFbGVtZW50KCJwYXRoIik7CittYXJrZXJQ
YXRoLnNldEF0dHJpYnV0ZSgiZmlsbCIsICJibHVlIik7CittYXJrZXJQYXRoLnNldEF0dHJpYnV0
ZSgiZCIsICJNIDUgMCBMIDEwIDEwIEwgMCAxMCBaIik7CittYXJrZXIuYXBwZW5kQ2hpbGQobWFy
a2VyUGF0aCk7CisKK3ZhciBkZWZzRWxlbWVudCA9IGNyZWF0ZVNWR0VsZW1lbnQoImRlZnMiKTsK
K2RlZnNFbGVtZW50LmFwcGVuZENoaWxkKG1hcmtlcik7Cityb290U1ZHRWxlbWVudC5hcHBlbmRD
aGlsZChkZWZzRWxlbWVudCk7CisKK3ZhciBwYXRoID0gY3JlYXRlU1ZHRWxlbWVudCgicGF0aCIp
OworcGF0aC5zZXRBdHRyaWJ1dGUoImlkIiwgInBhdGgiKTsKK3BhdGguc2V0QXR0cmlidXRlKCJv
bmNsaWNrIiwgImV4ZWN1dGVUZXN0KCkiKTsKK3BhdGguc2V0QXR0cmlidXRlKCJmaWxsIiwgIm5v
bmUiKTsKK3BhdGguc2V0QXR0cmlidXRlKCJzdHJva2UiLCAiZ3JlZW4iKTsKK3BhdGguc2V0QXR0
cmlidXRlKCJzdHJva2Utd2lkdGgiLCAiMTAiKTsKK3BhdGguc2V0QXR0cmlidXRlKCJtYXJrZXIt
c3RhcnQiLCAidXJsKCNtYXJrZXIpIik7CitwYXRoLnNldEF0dHJpYnV0ZSgibWFya2VyLWVuZCIs
ICJ1cmwoI21hcmtlcikiKTsKK3BhdGguc2V0QXR0cmlidXRlKCJkIiwgIk0gMTMwIDEzNSBMIDE4
MCAxMzUgTCAxODAgMTg1Iik7CitwYXRoLnNldEF0dHJpYnV0ZSgidHJhbnNmb3JtIiwgInRyYW5z
bGF0ZSgtMTMwLCAtMTIwKSIpOworcm9vdFNWR0VsZW1lbnQuYXBwZW5kQ2hpbGQocGF0aCk7CisK
K3ZhciBhbmltYXRlMSA9IGNyZWF0ZVNWR0VsZW1lbnQoImFuaW1hdGUiKTsKK2FuaW1hdGUxLnNl
dEF0dHJpYnV0ZSgiaWQiLCAiYW5pbWF0aW9uIik7CithbmltYXRlMS5zZXRBdHRyaWJ1dGUoImF0
dHJpYnV0ZU5hbWUiLCAib3JpZW50Iik7CithbmltYXRlMS5zZXRBdHRyaWJ1dGUoImJlZ2luIiwg
InBhdGguY2xpY2siKTsKK2FuaW1hdGUxLnNldEF0dHJpYnV0ZSgiZHVyIiwgIjRzIik7Cithbmlt
YXRlMS5zZXRBdHRyaWJ1dGUoImZyb20iLCAiOTBkZWciKTsKK2FuaW1hdGUxLnNldEF0dHJpYnV0
ZSgidG8iLCAiMTgwZGVnIik7CithbmltYXRlMS5zZXRBdHRyaWJ1dGUoImZpbGwiLCAiZnJlZXpl
Iik7CittYXJrZXIuYXBwZW5kQ2hpbGQoYW5pbWF0ZTEpOworCisvLyBTZXR1cCBhbmltYXRpb24g
dGVzdAorZnVuY3Rpb24gc2FtcGxlMSgpIHsKKyAgICBzaG91bGRCZUNsb3NlRW5vdWdoKCJtYXJr
ZXIub3JpZW50QW5nbGUuYW5pbVZhbC52YWx1ZSIsICIwIik7CisgICAgc2hvdWxkQmUoIm1hcmtl
ci5vcmllbnRBbmdsZS5iYXNlVmFsLnZhbHVlIiwgIjAiKTsKKworICAgIHNob3VsZEJlKCJtYXJr
ZXIub3JpZW50VHlwZS5hbmltVmFsIiwgIlNWR01hcmtlckVsZW1lbnQuU1ZHX01BUktFUl9PUklF
TlRfQU5HTEUiKTsKKyAgICBzaG91bGRCZSgibWFya2VyLm9yaWVudFR5cGUuYmFzZVZhbCIsICJT
VkdNYXJrZXJFbGVtZW50LlNWR19NQVJLRVJfT1JJRU5UX0FOR0xFIik7Cit9CisKK2Z1bmN0aW9u
IHNhbXBsZTIoKSB7CisgICAgc2hvdWxkQmVDbG9zZUVub3VnaCgibWFya2VyLm9yaWVudEFuZ2xl
LmFuaW1WYWwudmFsdWUiLCAiOTAiKTsKKyAgICBzaG91bGRCZSgibWFya2VyLm9yaWVudEFuZ2xl
LmJhc2VWYWwudmFsdWUiLCAiMCIpOworCisgICAgc2hvdWxkQmUoIm1hcmtlci5vcmllbnRUeXBl
LmFuaW1WYWwiLCAiU1ZHTWFya2VyRWxlbWVudC5TVkdfTUFSS0VSX09SSUVOVF9BTkdMRSIpOwor
ICAgIHNob3VsZEJlKCJtYXJrZXIub3JpZW50VHlwZS5iYXNlVmFsIiwgIlNWR01hcmtlckVsZW1l
bnQuU1ZHX01BUktFUl9PUklFTlRfQU5HTEUiKTsKK30KKworZnVuY3Rpb24gc2FtcGxlMygpIHsK
KyAgICBzaG91bGRCZUNsb3NlRW5vdWdoKCJtYXJrZXIub3JpZW50QW5nbGUuYW5pbVZhbC52YWx1
ZSIsICIxMzUiKTsKKyAgICBzaG91bGRCZSgibWFya2VyLm9yaWVudEFuZ2xlLmJhc2VWYWwudmFs
dWUiLCAiMCIpOworCisgICAgc2hvdWxkQmUoIm1hcmtlci5vcmllbnRUeXBlLmFuaW1WYWwiLCAi
U1ZHTWFya2VyRWxlbWVudC5TVkdfTUFSS0VSX09SSUVOVF9BTkdMRSIpOworICAgIHNob3VsZEJl
KCJtYXJrZXIub3JpZW50VHlwZS5iYXNlVmFsIiwgIlNWR01hcmtlckVsZW1lbnQuU1ZHX01BUktF
Ul9PUklFTlRfQU5HTEUiKTsKK30KKworZnVuY3Rpb24gc2FtcGxlNCgpIHsKKyAgICBzaG91bGRC
ZUNsb3NlRW5vdWdoKCJtYXJrZXIub3JpZW50QW5nbGUuYW5pbVZhbC52YWx1ZSIsICIxODAiKTsK
KyAgICBzaG91bGRCZSgibWFya2VyLm9yaWVudEFuZ2xlLmJhc2VWYWwudmFsdWUiLCAiMCIpOwor
CisgICAgc2hvdWxkQmUoIm1hcmtlci5vcmllbnRUeXBlLmFuaW1WYWwiLCAiU1ZHTWFya2VyRWxl
bWVudC5TVkdfTUFSS0VSX09SSUVOVF9BTkdMRSIpOworICAgIHNob3VsZEJlKCJtYXJrZXIub3Jp
ZW50VHlwZS5iYXNlVmFsIiwgIlNWR01hcmtlckVsZW1lbnQuU1ZHX01BUktFUl9PUklFTlRfQU5H
TEUiKTsKK30KKworZnVuY3Rpb24gZXhlY3V0ZVRlc3QoKSB7CisgICAgY29uc3QgZXhwZWN0ZWRW
YWx1ZXMgPSBbCisgICAgICAgIC8vIFthbmltYXRpb25JZCwgdGltZSwgc2FtcGxlQ2FsbGJhY2td
CisgICAgICAgIFsiYW5pbWF0aW9uIiwgMC4wLCAgIHNhbXBsZTFdLAorICAgICAgICBbImFuaW1h
dGlvbiIsIDAuMDAxLCBzYW1wbGUyXSwKKyAgICAgICAgWyJhbmltYXRpb24iLCAyLjAsICAgc2Ft
cGxlM10sCisgICAgICAgIFsiYW5pbWF0aW9uIiwgMy45OTksIHNhbXBsZTRdLAorICAgICAgICBb
ImFuaW1hdGlvbiIsIDQuMDAxLCBzYW1wbGU0XQorICAgIF07CisKKyAgICBydW5BbmltYXRpb25U
ZXN0KGV4cGVjdGVkVmFsdWVzKTsKK30KKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9zY3JpcHQtdGVzdHMvYW5p
bWF0ZS1tYXJrZXItb3JpZW50LWZyb20tYW5nbGUtdG8tYXV0by5qcyBiL0xheW91dFRlc3RzL3N2
Zy9hbmltYXRpb25zL3NjcmlwdC10ZXN0cy9hbmltYXRlLW1hcmtlci1vcmllbnQtZnJvbS1hbmds
ZS10by1hdXRvLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU0YjkxYzMwZjAwZjEzMDBhYjc1NTE0Nzg3YzRkZjg2
YzIzMWNlNWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9z
Y3JpcHQtdGVzdHMvYW5pbWF0ZS1tYXJrZXItb3JpZW50LWZyb20tYW5nbGUtdG8tYXV0by5qcwpA
QCAtMCwwICsxLDg1IEBACitkZXNjcmlwdGlvbigiQW5pbWF0ZSBTVkdNYXJrZXJFbGVtZW50IG9y
aWVudEF0dHIgZnJvbSBhbiBhbmdsZSB0byBhdXRvIik7CitjcmVhdGVTVkdUZXN0Q2FzZSgpOwor
CisvLyBTZXR1cCB0ZXN0IGRvY3VtZW50CisKK3ZhciBtYXJrZXIgPSBjcmVhdGVTVkdFbGVtZW50
KCJtYXJrZXIiKTsKK21hcmtlci5zZXRBdHRyaWJ1dGUoImlkIiwgIm1hcmtlciIpOworbWFya2Vy
LnNldEF0dHJpYnV0ZSgidmlld0JveCIsICIwIDAgMTAgMTAiKTsKK21hcmtlci5zZXRBdHRyaWJ1
dGUoIm1hcmtlcldpZHRoIiwgIjIiKTsKK21hcmtlci5zZXRBdHRyaWJ1dGUoIm1hcmtlckhlaWdo
dCIsICIyIik7CittYXJrZXIuc2V0QXR0cmlidXRlKCJyZWZYIiwgIjUiKTsKK21hcmtlci5zZXRB
dHRyaWJ1dGUoInJlZlkiLCAiNSIpOworbWFya2VyLnNldEF0dHJpYnV0ZSgibWFya2VyVW5pdHMi
LCAic3Ryb2tlV2lkdGgiKTsKKwordmFyIG1hcmtlclBhdGggPSBjcmVhdGVTVkdFbGVtZW50KCJw
YXRoIik7CittYXJrZXJQYXRoLnNldEF0dHJpYnV0ZSgiZmlsbCIsICJibHVlIik7CittYXJrZXJQ
YXRoLnNldEF0dHJpYnV0ZSgiZCIsICJNIDUgMCBMIDEwIDEwIEwgMCAxMCBaIik7CittYXJrZXIu
YXBwZW5kQ2hpbGQobWFya2VyUGF0aCk7CisKK3ZhciBkZWZzRWxlbWVudCA9IGNyZWF0ZVNWR0Vs
ZW1lbnQoImRlZnMiKTsKK2RlZnNFbGVtZW50LmFwcGVuZENoaWxkKG1hcmtlcik7Cityb290U1ZH
RWxlbWVudC5hcHBlbmRDaGlsZChkZWZzRWxlbWVudCk7CisKK3ZhciBwYXRoID0gY3JlYXRlU1ZH
RWxlbWVudCgicGF0aCIpOworcGF0aC5zZXRBdHRyaWJ1dGUoImlkIiwgInBhdGgiKTsKK3BhdGgu
c2V0QXR0cmlidXRlKCJvbmNsaWNrIiwgImV4ZWN1dGVUZXN0KCkiKTsKK3BhdGguc2V0QXR0cmli
dXRlKCJmaWxsIiwgIm5vbmUiKTsKK3BhdGguc2V0QXR0cmlidXRlKCJzdHJva2UiLCAiZ3JlZW4i
KTsKK3BhdGguc2V0QXR0cmlidXRlKCJzdHJva2Utd2lkdGgiLCAiMTAiKTsKK3BhdGguc2V0QXR0
cmlidXRlKCJtYXJrZXItc3RhcnQiLCAidXJsKCNtYXJrZXIpIik7CitwYXRoLnNldEF0dHJpYnV0
ZSgibWFya2VyLWVuZCIsICJ1cmwoI21hcmtlcikiKTsKK3BhdGguc2V0QXR0cmlidXRlKCJkIiwg
Ik0gMTMwIDEzNSBMIDE4MCAxMzUgTCAxODAgMTg1Iik7CitwYXRoLnNldEF0dHJpYnV0ZSgidHJh
bnNmb3JtIiwgInRyYW5zbGF0ZSgtMTMwLCAtMTIwKSIpOworcm9vdFNWR0VsZW1lbnQuYXBwZW5k
Q2hpbGQocGF0aCk7CisKK3ZhciBhbmltYXRlMSA9IGNyZWF0ZVNWR0VsZW1lbnQoImFuaW1hdGUi
KTsKK2FuaW1hdGUxLnNldEF0dHJpYnV0ZSgiaWQiLCAiYW5pbWF0aW9uIik7CithbmltYXRlMS5z
ZXRBdHRyaWJ1dGUoImF0dHJpYnV0ZU5hbWUiLCAib3JpZW50Iik7CithbmltYXRlMS5zZXRBdHRy
aWJ1dGUoImJlZ2luIiwgInBhdGguY2xpY2siKTsKK2FuaW1hdGUxLnNldEF0dHJpYnV0ZSgiZHVy
IiwgIjRzIik7CithbmltYXRlMS5zZXRBdHRyaWJ1dGUoImZyb20iLCAiOTBkZWciKTsKK2FuaW1h
dGUxLnNldEF0dHJpYnV0ZSgidG8iLCAiYXV0byIpOworYW5pbWF0ZTEuc2V0QXR0cmlidXRlKCJm
aWxsIiwgImZyZWV6ZSIpOworbWFya2VyLmFwcGVuZENoaWxkKGFuaW1hdGUxKTsKKworLy8gU2V0
dXAgYW5pbWF0aW9uIHRlc3QKK2Z1bmN0aW9uIHNhbXBsZTEoKSB7CisgICAgc2hvdWxkQmVDbG9z
ZUVub3VnaCgibWFya2VyLm9yaWVudEFuZ2xlLmFuaW1WYWwudmFsdWUiLCAiMCIpOworICAgIHNo
b3VsZEJlKCJtYXJrZXIub3JpZW50QW5nbGUuYmFzZVZhbC52YWx1ZSIsICIwIik7CisKKyAgICBz
aG91bGRCZSgibWFya2VyLm9yaWVudFR5cGUuYW5pbVZhbCIsICJTVkdNYXJrZXJFbGVtZW50LlNW
R19NQVJLRVJfT1JJRU5UX0FOR0xFIik7CisgICAgc2hvdWxkQmUoIm1hcmtlci5vcmllbnRUeXBl
LmJhc2VWYWwiLCAiU1ZHTWFya2VyRWxlbWVudC5TVkdfTUFSS0VSX09SSUVOVF9BTkdMRSIpOwor
fQorCitmdW5jdGlvbiBzYW1wbGUyKCkgeworICAgIHNob3VsZEJlQ2xvc2VFbm91Z2goIm1hcmtl
ci5vcmllbnRBbmdsZS5hbmltVmFsLnZhbHVlIiwgIjkwIik7CisgICAgc2hvdWxkQmUoIm1hcmtl
ci5vcmllbnRBbmdsZS5iYXNlVmFsLnZhbHVlIiwgIjAiKTsKKworICAgIHNob3VsZEJlKCJtYXJr
ZXIub3JpZW50VHlwZS5hbmltVmFsIiwgIlNWR01hcmtlckVsZW1lbnQuU1ZHX01BUktFUl9PUklF
TlRfQU5HTEUiKTsKKyAgICBzaG91bGRCZSgibWFya2VyLm9yaWVudFR5cGUuYmFzZVZhbCIsICJT
VkdNYXJrZXJFbGVtZW50LlNWR19NQVJLRVJfT1JJRU5UX0FOR0xFIik7Cit9CisKK2Z1bmN0aW9u
IHNhbXBsZTMoKSB7CisgICAgc2hvdWxkQmVDbG9zZUVub3VnaCgibWFya2VyLm9yaWVudEFuZ2xl
LmFuaW1WYWwudmFsdWUiLCAiMCIpOworICAgIHNob3VsZEJlKCJtYXJrZXIub3JpZW50QW5nbGUu
YmFzZVZhbC52YWx1ZSIsICIwIik7CisKKyAgICBzaG91bGRCZSgibWFya2VyLm9yaWVudFR5cGUu
YW5pbVZhbCIsICJTVkdNYXJrZXJFbGVtZW50LlNWR19NQVJLRVJfT1JJRU5UX0FVVE8iKTsKKyAg
ICBzaG91bGRCZSgibWFya2VyLm9yaWVudFR5cGUuYmFzZVZhbCIsICJTVkdNYXJrZXJFbGVtZW50
LlNWR19NQVJLRVJfT1JJRU5UX0FOR0xFIik7Cit9CisKK2Z1bmN0aW9uIGV4ZWN1dGVUZXN0KCkg
eworICAgIGNvbnN0IGV4cGVjdGVkVmFsdWVzID0gWworICAgICAgICAvLyBbYW5pbWF0aW9uSWQs
IHRpbWUsIHNhbXBsZUNhbGxiYWNrXQorICAgICAgICBbImFuaW1hdGlvbiIsIDAuMCwgICBzYW1w
bGUxXSwKKyAgICAgICAgWyJhbmltYXRpb24iLCAwLjAwMSwgc2FtcGxlMl0sCisgICAgICAgIFsi
YW5pbWF0aW9uIiwgMS45OTksIHNhbXBsZTJdLAorICAgICAgICBbImFuaW1hdGlvbiIsIDIuMDAx
LCBzYW1wbGUzXSwKKyAgICAgICAgWyJhbmltYXRpb24iLCAzLjk5OSwgc2FtcGxlM10sCisgICAg
ICAgIFsiYW5pbWF0aW9uIiwgNC4wMDEsIHNhbXBsZTNdCisgICAgXTsKKworICAgIHJ1bkFuaW1h
dGlvblRlc3QoZXhwZWN0ZWRWYWx1ZXMpOworfQorCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0g
dHJ1ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL3NjcmlwdC10ZXN0
cy9hbmltYXRlLW1hcmtlci1vcmllbnQtdG8tYW5nbGUuanMgYi9MYXlvdXRUZXN0cy9zdmcvYW5p
bWF0aW9ucy9zY3JpcHQtdGVzdHMvYW5pbWF0ZS1tYXJrZXItb3JpZW50LXRvLWFuZ2xlLmpzCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY4YjNjYzRiODhmNDdkOTViZjE5OThiZDlkMDQ5MDk4ZWQxYzEyNTYKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9zY3JpcHQtdGVzdHMvYW5p
bWF0ZS1tYXJrZXItb3JpZW50LXRvLWFuZ2xlLmpzCkBAIC0wLDAgKzEsODIgQEAKK2Rlc2NyaXB0
aW9uKCJBbmltYXRlIFNWR01hcmtlckVsZW1lbnQgb3JpZW50QXR0ciB0byBhbiBhbmdsZSIpOwor
Y3JlYXRlU1ZHVGVzdENhc2UoKTsKKworLy8gU2V0dXAgdGVzdCBkb2N1bWVudAorCit2YXIgbWFy
a2VyID0gY3JlYXRlU1ZHRWxlbWVudCgibWFya2VyIik7CittYXJrZXIuc2V0QXR0cmlidXRlKCJp
ZCIsICJtYXJrZXIiKTsKK21hcmtlci5zZXRBdHRyaWJ1dGUoInZpZXdCb3giLCAiMCAwIDEwIDEw
Iik7CittYXJrZXIuc2V0QXR0cmlidXRlKCJtYXJrZXJXaWR0aCIsICIyIik7CittYXJrZXIuc2V0
QXR0cmlidXRlKCJtYXJrZXJIZWlnaHQiLCAiMiIpOworbWFya2VyLnNldEF0dHJpYnV0ZSgicmVm
WCIsICI1Iik7CittYXJrZXIuc2V0QXR0cmlidXRlKCJyZWZZIiwgIjUiKTsKK21hcmtlci5zZXRB
dHRyaWJ1dGUoIm1hcmtlclVuaXRzIiwgInN0cm9rZVdpZHRoIik7CisKK3ZhciBtYXJrZXJQYXRo
ID0gY3JlYXRlU1ZHRWxlbWVudCgicGF0aCIpOworbWFya2VyUGF0aC5zZXRBdHRyaWJ1dGUoImZp
bGwiLCAiYmx1ZSIpOworbWFya2VyUGF0aC5zZXRBdHRyaWJ1dGUoImQiLCAiTSA1IDAgTCAxMCAx
MCBMIDAgMTAgWiIpOworbWFya2VyLmFwcGVuZENoaWxkKG1hcmtlclBhdGgpOworCit2YXIgZGVm
c0VsZW1lbnQgPSBjcmVhdGVTVkdFbGVtZW50KCJkZWZzIik7CitkZWZzRWxlbWVudC5hcHBlbmRD
aGlsZChtYXJrZXIpOworcm9vdFNWR0VsZW1lbnQuYXBwZW5kQ2hpbGQoZGVmc0VsZW1lbnQpOwor
Cit2YXIgcGF0aCA9IGNyZWF0ZVNWR0VsZW1lbnQoInBhdGgiKTsKK3BhdGguc2V0QXR0cmlidXRl
KCJpZCIsICJwYXRoIik7CitwYXRoLnNldEF0dHJpYnV0ZSgib25jbGljayIsICJleGVjdXRlVGVz
dCgpIik7CitwYXRoLnNldEF0dHJpYnV0ZSgiZmlsbCIsICJub25lIik7CitwYXRoLnNldEF0dHJp
YnV0ZSgic3Ryb2tlIiwgImdyZWVuIik7CitwYXRoLnNldEF0dHJpYnV0ZSgic3Ryb2tlLXdpZHRo
IiwgIjEwIik7CitwYXRoLnNldEF0dHJpYnV0ZSgibWFya2VyLXN0YXJ0IiwgInVybCgjbWFya2Vy
KSIpOworcGF0aC5zZXRBdHRyaWJ1dGUoIm1hcmtlci1lbmQiLCAidXJsKCNtYXJrZXIpIik7Citw
YXRoLnNldEF0dHJpYnV0ZSgiZCIsICJNIDEzMCAxMzUgTCAxODAgMTM1IEwgMTgwIDE4NSIpOwor
cGF0aC5zZXRBdHRyaWJ1dGUoInRyYW5zZm9ybSIsICJ0cmFuc2xhdGUoLTEzMCwgLTEyMCkiKTsK
K3Jvb3RTVkdFbGVtZW50LmFwcGVuZENoaWxkKHBhdGgpOworCit2YXIgYW5pbWF0ZTEgPSBjcmVh
dGVTVkdFbGVtZW50KCJhbmltYXRlIik7CithbmltYXRlMS5zZXRBdHRyaWJ1dGUoImlkIiwgImFu
aW1hdGlvbiIpOworYW5pbWF0ZTEuc2V0QXR0cmlidXRlKCJhdHRyaWJ1dGVOYW1lIiwgIm9yaWVu
dCIpOworYW5pbWF0ZTEuc2V0QXR0cmlidXRlKCJiZWdpbiIsICJwYXRoLmNsaWNrIik7Cithbmlt
YXRlMS5zZXRBdHRyaWJ1dGUoImR1ciIsICI0cyIpOworYW5pbWF0ZTEuc2V0QXR0cmlidXRlKCJ0
byIsICIxODBkZWciKTsKK2FuaW1hdGUxLnNldEF0dHJpYnV0ZSgiZmlsbCIsICJmcmVlemUiKTsK
K21hcmtlci5hcHBlbmRDaGlsZChhbmltYXRlMSk7CisKKy8vIFNldHVwIGFuaW1hdGlvbiB0ZXN0
CitmdW5jdGlvbiBzYW1wbGUxKCkgeworICAgIHNob3VsZEJlQ2xvc2VFbm91Z2goIm1hcmtlci5v
cmllbnRBbmdsZS5hbmltVmFsLnZhbHVlIiwgIjAiKTsKKyAgICBzaG91bGRCZSgibWFya2VyLm9y
aWVudEFuZ2xlLmJhc2VWYWwudmFsdWUiLCAiMCIpOworCisgICAgc2hvdWxkQmUoIm1hcmtlci5v
cmllbnRUeXBlLmFuaW1WYWwiLCAiU1ZHTWFya2VyRWxlbWVudC5TVkdfTUFSS0VSX09SSUVOVF9B
TkdMRSIpOworICAgIHNob3VsZEJlKCJtYXJrZXIub3JpZW50VHlwZS5iYXNlVmFsIiwgIlNWR01h
cmtlckVsZW1lbnQuU1ZHX01BUktFUl9PUklFTlRfQU5HTEUiKTsKK30KKworZnVuY3Rpb24gc2Ft
cGxlMigpIHsKKyAgICBzaG91bGRCZUNsb3NlRW5vdWdoKCJtYXJrZXIub3JpZW50QW5nbGUuYW5p
bVZhbC52YWx1ZSIsICI5MCIpOworICAgIHNob3VsZEJlKCJtYXJrZXIub3JpZW50QW5nbGUuYmFz
ZVZhbC52YWx1ZSIsICIwIik7CisKKyAgICBzaG91bGRCZSgibWFya2VyLm9yaWVudFR5cGUuYW5p
bVZhbCIsICJTVkdNYXJrZXJFbGVtZW50LlNWR19NQVJLRVJfT1JJRU5UX0FOR0xFIik7CisgICAg
c2hvdWxkQmUoIm1hcmtlci5vcmllbnRUeXBlLmJhc2VWYWwiLCAiU1ZHTWFya2VyRWxlbWVudC5T
VkdfTUFSS0VSX09SSUVOVF9BTkdMRSIpOworfQorCitmdW5jdGlvbiBzYW1wbGUzKCkgeworICAg
IHNob3VsZEJlQ2xvc2VFbm91Z2goIm1hcmtlci5vcmllbnRBbmdsZS5hbmltVmFsLnZhbHVlIiwg
IjE4MCIpOworICAgIHNob3VsZEJlKCJtYXJrZXIub3JpZW50QW5nbGUuYmFzZVZhbC52YWx1ZSIs
ICIwIik7CisKKyAgICBzaG91bGRCZSgibWFya2VyLm9yaWVudFR5cGUuYW5pbVZhbCIsICJTVkdN
YXJrZXJFbGVtZW50LlNWR19NQVJLRVJfT1JJRU5UX0FOR0xFIik7CisgICAgc2hvdWxkQmUoIm1h
cmtlci5vcmllbnRUeXBlLmJhc2VWYWwiLCAiU1ZHTWFya2VyRWxlbWVudC5TVkdfTUFSS0VSX09S
SUVOVF9BTkdMRSIpOworfQorCitmdW5jdGlvbiBleGVjdXRlVGVzdCgpIHsKKyAgICBjb25zdCBl
eHBlY3RlZFZhbHVlcyA9IFsKKyAgICAgICAgLy8gW2FuaW1hdGlvbklkLCB0aW1lLCBzYW1wbGVD
YWxsYmFja10KKyAgICAgICAgWyJhbmltYXRpb24iLCAwLjAsICAgc2FtcGxlMV0sCisgICAgICAg
IFsiYW5pbWF0aW9uIiwgMi4wLCAgIHNhbXBsZTJdLAorICAgICAgICBbImFuaW1hdGlvbiIsIDMu
OTk5LCBzYW1wbGUzXSwKKyAgICAgICAgWyJhbmltYXRpb24iLCA0LjAwMSwgc2FtcGxlM10KKyAg
ICBdOworCisgICAgcnVuQW5pbWF0aW9uVGVzdChleHBlY3RlZFZhbHVlcyk7Cit9CisKK3ZhciBz
dWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2Fu
aW1hdGlvbnMvc2NyaXB0LXRlc3RzL3N2Z2FuZ2xlLWFuaW1hdGlvbi1kZWctdG8tZ3JhZC5qcyBi
L0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL3NjcmlwdC10ZXN0cy9zdmdhbmdsZS1hbmltYXRp
b24tZGVnLXRvLWdyYWQuanMKaW5kZXggNzEwNWFmZDRkNzA4OTUzMTdhMDE2YTg2MWRhYzQyMjUy
MmQzYTY5ZC4uNTlkZjgxZTlhMjZkMTg5YmM4NzQxZDQwZDZhZjlkMWVjZmU3OWQwNSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc2NyaXB0LXRlc3RzL3N2Z2FuZ2xlLWFu
aW1hdGlvbi1kZWctdG8tZ3JhZC5qcworKysgYi9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9z
Y3JpcHQtdGVzdHMvc3ZnYW5nbGUtYW5pbWF0aW9uLWRlZy10by1ncmFkLmpzCkBAIC00NSwxNiAr
NDUsMjUgQEAgZnVuY3Rpb24gc2FtcGxlMSgpIHsKICAgICAvLyBDaGVjayBpbml0aWFsL2VuZCBj
b25kaXRpb25zCiAgICAgc2hvdWxkQmVDbG9zZUVub3VnaCgibWFya2VyLm9yaWVudEFuZ2xlLmFu
aW1WYWwudmFsdWUiLCAiMCIpOwogICAgIHNob3VsZEJlKCJtYXJrZXIub3JpZW50QW5nbGUuYmFz
ZVZhbC52YWx1ZSIsICIwIik7CisKKyAgICBzaG91bGRCZSgibWFya2VyLm9yaWVudFR5cGUuYW5p
bVZhbCIsICJTVkdNYXJrZXJFbGVtZW50LlNWR19NQVJLRVJfT1JJRU5UX0FOR0xFIik7CisgICAg
c2hvdWxkQmUoIm1hcmtlci5vcmllbnRUeXBlLmJhc2VWYWwiLCAiU1ZHTWFya2VyRWxlbWVudC5T
VkdfTUFSS0VSX09SSUVOVF9BTkdMRSIpOwogfQogCiBmdW5jdGlvbiBzYW1wbGUyKCkgewogICAg
IHNob3VsZEJlQ2xvc2VFbm91Z2goIm1hcmtlci5vcmllbnRBbmdsZS5hbmltVmFsLnZhbHVlIiwg
IjkwIik7CiAgICAgc2hvdWxkQmUoIm1hcmtlci5vcmllbnRBbmdsZS5iYXNlVmFsLnZhbHVlIiwg
IjAiKTsKKworICAgIHNob3VsZEJlKCJtYXJrZXIub3JpZW50VHlwZS5hbmltVmFsIiwgIlNWR01h
cmtlckVsZW1lbnQuU1ZHX01BUktFUl9PUklFTlRfQU5HTEUiKTsKKyAgICBzaG91bGRCZSgibWFy
a2VyLm9yaWVudFR5cGUuYmFzZVZhbCIsICJTVkdNYXJrZXJFbGVtZW50LlNWR19NQVJLRVJfT1JJ
RU5UX0FOR0xFIik7CiB9CiAKIGZ1bmN0aW9uIHNhbXBsZTMoKSB7CiAgICAgc2hvdWxkQmVDbG9z
ZUVub3VnaCgibWFya2VyLm9yaWVudEFuZ2xlLmFuaW1WYWwudmFsdWUiLCAiMTgwIik7CiAgICAg
c2hvdWxkQmUoIm1hcmtlci5vcmllbnRBbmdsZS5iYXNlVmFsLnZhbHVlIiwgIjAiKTsKKworICAg
IHNob3VsZEJlKCJtYXJrZXIub3JpZW50VHlwZS5hbmltVmFsIiwgIlNWR01hcmtlckVsZW1lbnQu
U1ZHX01BUktFUl9PUklFTlRfQU5HTEUiKTsKKyAgICBzaG91bGRCZSgibWFya2VyLm9yaWVudFR5
cGUuYmFzZVZhbCIsICJTVkdNYXJrZXJFbGVtZW50LlNWR19NQVJLRVJfT1JJRU5UX0FOR0xFIik7
CiB9CiAKIGZ1bmN0aW9uIGV4ZWN1dGVUZXN0KCkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
c3ZnL2FuaW1hdGlvbnMvc2NyaXB0LXRlc3RzL3N2Z2FuZ2xlLWFuaW1hdGlvbi1kZWctdG8tcmFk
LmpzIGIvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc2NyaXB0LXRlc3RzL3N2Z2FuZ2xlLWFu
aW1hdGlvbi1kZWctdG8tcmFkLmpzCmluZGV4IDliMjNjNzZkNjI1MzA4NDM4NWM0YWUyYTQ2ODdh
NjA4YzFlMTQ0MmEuLjJiZmEwYTUxNTZhOTAzMTY1NGQ2NWJlYTUyNmE3ZWY1M2E4MTNiOTggMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL3NjcmlwdC10ZXN0cy9zdmdhbmds
ZS1hbmltYXRpb24tZGVnLXRvLXJhZC5qcworKysgYi9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9u
cy9zY3JpcHQtdGVzdHMvc3ZnYW5nbGUtYW5pbWF0aW9uLWRlZy10by1yYWQuanMKQEAgLTQ1LDE2
ICs0NSwyNSBAQCBmdW5jdGlvbiBzYW1wbGUxKCkgewogICAgIC8vIENoZWNrIGluaXRpYWwvZW5k
IGNvbmRpdGlvbnMKICAgICBzaG91bGRCZUNsb3NlRW5vdWdoKCJtYXJrZXIub3JpZW50QW5nbGUu
YW5pbVZhbC52YWx1ZSIsICIwIik7CiAgICAgc2hvdWxkQmUoIm1hcmtlci5vcmllbnRBbmdsZS5i
YXNlVmFsLnZhbHVlIiwgIjAiKTsKKworICAgIHNob3VsZEJlKCJtYXJrZXIub3JpZW50VHlwZS5h
bmltVmFsIiwgIlNWR01hcmtlckVsZW1lbnQuU1ZHX01BUktFUl9PUklFTlRfQU5HTEUiKTsKKyAg
ICBzaG91bGRCZSgibWFya2VyLm9yaWVudFR5cGUuYmFzZVZhbCIsICJTVkdNYXJrZXJFbGVtZW50
LlNWR19NQVJLRVJfT1JJRU5UX0FOR0xFIik7CiB9CiAKIGZ1bmN0aW9uIHNhbXBsZTIoKSB7CiAg
ICAgc2hvdWxkQmVDbG9zZUVub3VnaCgibWFya2VyLm9yaWVudEFuZ2xlLmFuaW1WYWwudmFsdWUi
LCAiOTAiKTsKICAgICBzaG91bGRCZSgibWFya2VyLm9yaWVudEFuZ2xlLmJhc2VWYWwudmFsdWUi
LCAiMCIpOworCisgICAgc2hvdWxkQmUoIm1hcmtlci5vcmllbnRUeXBlLmFuaW1WYWwiLCAiU1ZH
TWFya2VyRWxlbWVudC5TVkdfTUFSS0VSX09SSUVOVF9BTkdMRSIpOworICAgIHNob3VsZEJlKCJt
YXJrZXIub3JpZW50VHlwZS5iYXNlVmFsIiwgIlNWR01hcmtlckVsZW1lbnQuU1ZHX01BUktFUl9P
UklFTlRfQU5HTEUiKTsKIH0KIAogZnVuY3Rpb24gc2FtcGxlMygpIHsKICAgICBzaG91bGRCZUNs
b3NlRW5vdWdoKCJtYXJrZXIub3JpZW50QW5nbGUuYW5pbVZhbC52YWx1ZSIsICIxODAiKTsKICAg
ICBzaG91bGRCZSgibWFya2VyLm9yaWVudEFuZ2xlLmJhc2VWYWwudmFsdWUiLCAiMCIpOworCisg
ICAgc2hvdWxkQmUoIm1hcmtlci5vcmllbnRUeXBlLmFuaW1WYWwiLCAiU1ZHTWFya2VyRWxlbWVu
dC5TVkdfTUFSS0VSX09SSUVOVF9BTkdMRSIpOworICAgIHNob3VsZEJlKCJtYXJrZXIub3JpZW50
VHlwZS5iYXNlVmFsIiwgIlNWR01hcmtlckVsZW1lbnQuU1ZHX01BUktFUl9PUklFTlRfQU5HTEUi
KTsKIH0KIAogZnVuY3Rpb24gZXhlY3V0ZVRlc3QoKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9zdmcvYW5pbWF0aW9ucy9zY3JpcHQtdGVzdHMvc3ZnYW5nbGUtYW5pbWF0aW9uLWdyYWQtdG8t
ZGVnLmpzIGIvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc2NyaXB0LXRlc3RzL3N2Z2FuZ2xl
LWFuaW1hdGlvbi1ncmFkLXRvLWRlZy5qcwppbmRleCA1YzM2ZjMyY2MwMzhjNzhlMWJkY2MzOGVk
NmMxY2VhODgyYWFhM2Q4Li43MDNmODg5MDMzOWRiN2U2ZTgxYTkyMWRiOTMwNDEwNGI3M2ZkYzgx
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9zY3JpcHQtdGVzdHMvc3Zn
YW5nbGUtYW5pbWF0aW9uLWdyYWQtdG8tZGVnLmpzCisrKyBiL0xheW91dFRlc3RzL3N2Zy9hbmlt
YXRpb25zL3NjcmlwdC10ZXN0cy9zdmdhbmdsZS1hbmltYXRpb24tZ3JhZC10by1kZWcuanMKQEAg
LTQ1LDE2ICs0NSwyNSBAQCBmdW5jdGlvbiBzYW1wbGUxKCkgewogICAgIC8vIENoZWNrIGluaXRp
YWwvZW5kIGNvbmRpdGlvbnMKICAgICBzaG91bGRCZUNsb3NlRW5vdWdoKCJtYXJrZXIub3JpZW50
QW5nbGUuYW5pbVZhbC52YWx1ZSIsICIwIik7CiAgICAgc2hvdWxkQmUoIm1hcmtlci5vcmllbnRB
bmdsZS5iYXNlVmFsLnZhbHVlIiwgIjAiKTsKKworCXNob3VsZEJlKCJtYXJrZXIub3JpZW50VHlw
ZS5hbmltVmFsIiwgIlNWR01hcmtlckVsZW1lbnQuU1ZHX01BUktFUl9PUklFTlRfQU5HTEUiKTsK
KwlzaG91bGRCZSgibWFya2VyLm9yaWVudFR5cGUuYmFzZVZhbCIsICJTVkdNYXJrZXJFbGVtZW50
LlNWR19NQVJLRVJfT1JJRU5UX0FOR0xFIik7CiB9CiAKIGZ1bmN0aW9uIHNhbXBsZTIoKSB7CiAg
ICAgc2hvdWxkQmVDbG9zZUVub3VnaCgibWFya2VyLm9yaWVudEFuZ2xlLmFuaW1WYWwudmFsdWUi
LCAiOTAiKTsKICAgICBzaG91bGRCZSgibWFya2VyLm9yaWVudEFuZ2xlLmJhc2VWYWwudmFsdWUi
LCAiMCIpOworCisJc2hvdWxkQmUoIm1hcmtlci5vcmllbnRUeXBlLmFuaW1WYWwiLCAiU1ZHTWFy
a2VyRWxlbWVudC5TVkdfTUFSS0VSX09SSUVOVF9BTkdMRSIpOworCXNob3VsZEJlKCJtYXJrZXIu
b3JpZW50VHlwZS5iYXNlVmFsIiwgIlNWR01hcmtlckVsZW1lbnQuU1ZHX01BUktFUl9PUklFTlRf
QU5HTEUiKTsKIH0KIAogZnVuY3Rpb24gc2FtcGxlMygpIHsKICAgICBzaG91bGRCZUNsb3NlRW5v
dWdoKCJtYXJrZXIub3JpZW50QW5nbGUuYW5pbVZhbC52YWx1ZSIsICIxODAiKTsKICAgICBzaG91
bGRCZSgibWFya2VyLm9yaWVudEFuZ2xlLmJhc2VWYWwudmFsdWUiLCAiMCIpOworCisJc2hvdWxk
QmUoIm1hcmtlci5vcmllbnRUeXBlLmFuaW1WYWwiLCAiU1ZHTWFya2VyRWxlbWVudC5TVkdfTUFS
S0VSX09SSUVOVF9BTkdMRSIpOworCXNob3VsZEJlKCJtYXJrZXIub3JpZW50VHlwZS5iYXNlVmFs
IiwgIlNWR01hcmtlckVsZW1lbnQuU1ZHX01BUktFUl9PUklFTlRfQU5HTEUiKTsKIH0KIAogZnVu
Y3Rpb24gZXhlY3V0ZVRlc3QoKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0
aW9ucy9zY3JpcHQtdGVzdHMvc3ZnYW5nbGUtYW5pbWF0aW9uLWdyYWQtdG8tcmFkLmpzIGIvTGF5
b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc2NyaXB0LXRlc3RzL3N2Z2FuZ2xlLWFuaW1hdGlvbi1n
cmFkLXRvLXJhZC5qcwppbmRleCA5YzExNWIwNzc1YjQzOTExNGJjMmVmNTFiNDQxZWJlMDQ3NGZm
MmEyLi42NGFlNWM3MmQ2NTc4NWMxNWVmMTUzYmNlYjliY2FhOTgyNmEwOTE2IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9zY3JpcHQtdGVzdHMvc3ZnYW5nbGUtYW5pbWF0
aW9uLWdyYWQtdG8tcmFkLmpzCisrKyBiL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL3Njcmlw
dC10ZXN0cy9zdmdhbmdsZS1hbmltYXRpb24tZ3JhZC10by1yYWQuanMKQEAgLTQ1LDE2ICs0NSwy
NSBAQCBmdW5jdGlvbiBzYW1wbGUxKCkgewogICAgIC8vIENoZWNrIGluaXRpYWwvZW5kIGNvbmRp
dGlvbnMKICAgICBzaG91bGRCZUNsb3NlRW5vdWdoKCJtYXJrZXIub3JpZW50QW5nbGUuYW5pbVZh
bC52YWx1ZSIsICIwIik7CiAgICAgc2hvdWxkQmUoIm1hcmtlci5vcmllbnRBbmdsZS5iYXNlVmFs
LnZhbHVlIiwgIjAiKTsKKworCXNob3VsZEJlKCJtYXJrZXIub3JpZW50VHlwZS5hbmltVmFsIiwg
IlNWR01hcmtlckVsZW1lbnQuU1ZHX01BUktFUl9PUklFTlRfQU5HTEUiKTsKKwlzaG91bGRCZSgi
bWFya2VyLm9yaWVudFR5cGUuYmFzZVZhbCIsICJTVkdNYXJrZXJFbGVtZW50LlNWR19NQVJLRVJf
T1JJRU5UX0FOR0xFIik7CiB9CiAKIGZ1bmN0aW9uIHNhbXBsZTIoKSB7CiAgICAgc2hvdWxkQmVD
bG9zZUVub3VnaCgibWFya2VyLm9yaWVudEFuZ2xlLmFuaW1WYWwudmFsdWUiLCAiOTAiKTsKICAg
ICBzaG91bGRCZSgibWFya2VyLm9yaWVudEFuZ2xlLmJhc2VWYWwudmFsdWUiLCAiMCIpOworCisJ
c2hvdWxkQmUoIm1hcmtlci5vcmllbnRUeXBlLmFuaW1WYWwiLCAiU1ZHTWFya2VyRWxlbWVudC5T
VkdfTUFSS0VSX09SSUVOVF9BTkdMRSIpOworCXNob3VsZEJlKCJtYXJrZXIub3JpZW50VHlwZS5i
YXNlVmFsIiwgIlNWR01hcmtlckVsZW1lbnQuU1ZHX01BUktFUl9PUklFTlRfQU5HTEUiKTsKIH0K
IAogZnVuY3Rpb24gc2FtcGxlMygpIHsKICAgICBzaG91bGRCZUNsb3NlRW5vdWdoKCJtYXJrZXIu
b3JpZW50QW5nbGUuYW5pbVZhbC52YWx1ZSIsICIxODAiKTsKICAgICBzaG91bGRCZSgibWFya2Vy
Lm9yaWVudEFuZ2xlLmJhc2VWYWwudmFsdWUiLCAiMCIpOworCisJc2hvdWxkQmUoIm1hcmtlci5v
cmllbnRUeXBlLmFuaW1WYWwiLCAiU1ZHTWFya2VyRWxlbWVudC5TVkdfTUFSS0VSX09SSUVOVF9B
TkdMRSIpOworCXNob3VsZEJlKCJtYXJrZXIub3JpZW50VHlwZS5iYXNlVmFsIiwgIlNWR01hcmtl
ckVsZW1lbnQuU1ZHX01BUktFUl9PUklFTlRfQU5HTEUiKTsKIH0KIAogZnVuY3Rpb24gZXhlY3V0
ZVRlc3QoKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9zY3JpcHQt
dGVzdHMvc3ZnYW5nbGUtYW5pbWF0aW9uLXJhZC10by1kZWcuanMgYi9MYXlvdXRUZXN0cy9zdmcv
YW5pbWF0aW9ucy9zY3JpcHQtdGVzdHMvc3ZnYW5nbGUtYW5pbWF0aW9uLXJhZC10by1kZWcuanMK
aW5kZXggOWE1MTFmNGE3Y2MzNTFmNjVlMjU2NjY0OGEyM2M3NTQxY2JiYjk0My4uMTQ3NTQ1OGNm
ZWIyZGJlNmYwMTIzNzk4ZjgzMTY3NjBiMDhjNjc3NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
c3ZnL2FuaW1hdGlvbnMvc2NyaXB0LXRlc3RzL3N2Z2FuZ2xlLWFuaW1hdGlvbi1yYWQtdG8tZGVn
LmpzCisrKyBiL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL3NjcmlwdC10ZXN0cy9zdmdhbmds
ZS1hbmltYXRpb24tcmFkLXRvLWRlZy5qcwpAQCAtNDUsMTYgKzQ1LDI1IEBAIGZ1bmN0aW9uIHNh
bXBsZTEoKSB7CiAgICAgLy8gQ2hlY2sgaW5pdGlhbC9lbmQgY29uZGl0aW9ucwogICAgIHNob3Vs
ZEJlQ2xvc2VFbm91Z2goIm1hcmtlci5vcmllbnRBbmdsZS5hbmltVmFsLnZhbHVlIiwgIjAiKTsK
ICAgICBzaG91bGRCZSgibWFya2VyLm9yaWVudEFuZ2xlLmJhc2VWYWwudmFsdWUiLCAiMCIpOwor
CisJc2hvdWxkQmUoIm1hcmtlci5vcmllbnRUeXBlLmFuaW1WYWwiLCAiU1ZHTWFya2VyRWxlbWVu
dC5TVkdfTUFSS0VSX09SSUVOVF9BTkdMRSIpOworCXNob3VsZEJlKCJtYXJrZXIub3JpZW50VHlw
ZS5iYXNlVmFsIiwgIlNWR01hcmtlckVsZW1lbnQuU1ZHX01BUktFUl9PUklFTlRfQU5HTEUiKTsK
IH0KIAogZnVuY3Rpb24gc2FtcGxlMigpIHsKICAgICBzaG91bGRCZUNsb3NlRW5vdWdoKCJtYXJr
ZXIub3JpZW50QW5nbGUuYW5pbVZhbC52YWx1ZSIsICI5MCIpOwogICAgIHNob3VsZEJlKCJtYXJr
ZXIub3JpZW50QW5nbGUuYmFzZVZhbC52YWx1ZSIsICIwIik7CisKKwlzaG91bGRCZSgibWFya2Vy
Lm9yaWVudFR5cGUuYW5pbVZhbCIsICJTVkdNYXJrZXJFbGVtZW50LlNWR19NQVJLRVJfT1JJRU5U
X0FOR0xFIik7CisJc2hvdWxkQmUoIm1hcmtlci5vcmllbnRUeXBlLmJhc2VWYWwiLCAiU1ZHTWFy
a2VyRWxlbWVudC5TVkdfTUFSS0VSX09SSUVOVF9BTkdMRSIpOwogfQogCiBmdW5jdGlvbiBzYW1w
bGUzKCkgewogICAgIHNob3VsZEJlQ2xvc2VFbm91Z2goIm1hcmtlci5vcmllbnRBbmdsZS5hbmlt
VmFsLnZhbHVlIiwgIjE4MCIpOwogICAgIHNob3VsZEJlKCJtYXJrZXIub3JpZW50QW5nbGUuYmFz
ZVZhbC52YWx1ZSIsICIwIik7CisKKwlzaG91bGRCZSgibWFya2VyLm9yaWVudFR5cGUuYW5pbVZh
bCIsICJTVkdNYXJrZXJFbGVtZW50LlNWR19NQVJLRVJfT1JJRU5UX0FOR0xFIik7CisJc2hvdWxk
QmUoIm1hcmtlci5vcmllbnRUeXBlLmJhc2VWYWwiLCAiU1ZHTWFya2VyRWxlbWVudC5TVkdfTUFS
S0VSX09SSUVOVF9BTkdMRSIpOwogfQogCiBmdW5jdGlvbiBleGVjdXRlVGVzdCgpIHsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL3NjcmlwdC10ZXN0cy9zdmdhbmdsZS1h
bmltYXRpb24tcmFkLXRvLWdyYWQuanMgYi9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9zY3Jp
cHQtdGVzdHMvc3ZnYW5nbGUtYW5pbWF0aW9uLXJhZC10by1ncmFkLmpzCmluZGV4IGFlZjY2MTEz
MTk5MDI4ZjAyNmFmYTdjNjgzY2RhZDAwZDQ2MjQ1YTIuLjk2NjlhOWRhNjA4ZjYzOGQ4NTRiZjA2
MjQ5MDUxNmE1NGFjZDlkNWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25z
L3NjcmlwdC10ZXN0cy9zdmdhbmdsZS1hbmltYXRpb24tcmFkLXRvLWdyYWQuanMKKysrIGIvTGF5
b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc2NyaXB0LXRlc3RzL3N2Z2FuZ2xlLWFuaW1hdGlvbi1y
YWQtdG8tZ3JhZC5qcwpAQCAtNDUsMTYgKzQ1LDI1IEBAIGZ1bmN0aW9uIHNhbXBsZTEoKSB7CiAg
ICAgLy8gQ2hlY2sgaW5pdGlhbC9lbmQgY29uZGl0aW9ucwogICAgIHNob3VsZEJlQ2xvc2VFbm91
Z2goIm1hcmtlci5vcmllbnRBbmdsZS5hbmltVmFsLnZhbHVlIiwgIjAiKTsKICAgICBzaG91bGRC
ZSgibWFya2VyLm9yaWVudEFuZ2xlLmJhc2VWYWwudmFsdWUiLCAiMCIpOworCisJc2hvdWxkQmUo
Im1hcmtlci5vcmllbnRUeXBlLmFuaW1WYWwiLCAiU1ZHTWFya2VyRWxlbWVudC5TVkdfTUFSS0VS
X09SSUVOVF9BTkdMRSIpOworCXNob3VsZEJlKCJtYXJrZXIub3JpZW50VHlwZS5iYXNlVmFsIiwg
IlNWR01hcmtlckVsZW1lbnQuU1ZHX01BUktFUl9PUklFTlRfQU5HTEUiKTsKIH0KIAogZnVuY3Rp
b24gc2FtcGxlMigpIHsKICAgICBzaG91bGRCZUNsb3NlRW5vdWdoKCJtYXJrZXIub3JpZW50QW5n
bGUuYW5pbVZhbC52YWx1ZSIsICI5MCIpOwogICAgIHNob3VsZEJlKCJtYXJrZXIub3JpZW50QW5n
bGUuYmFzZVZhbC52YWx1ZSIsICIwIik7CisKKwlzaG91bGRCZSgibWFya2VyLm9yaWVudFR5cGUu
YW5pbVZhbCIsICJTVkdNYXJrZXJFbGVtZW50LlNWR19NQVJLRVJfT1JJRU5UX0FOR0xFIik7CisJ
c2hvdWxkQmUoIm1hcmtlci5vcmllbnRUeXBlLmJhc2VWYWwiLCAiU1ZHTWFya2VyRWxlbWVudC5T
VkdfTUFSS0VSX09SSUVOVF9BTkdMRSIpOwogfQogCiBmdW5jdGlvbiBzYW1wbGUzKCkgewogICAg
IHNob3VsZEJlQ2xvc2VFbm91Z2goIm1hcmtlci5vcmllbnRBbmdsZS5hbmltVmFsLnZhbHVlIiwg
IjE4MCIpOwogICAgIHNob3VsZEJlKCJtYXJrZXIub3JpZW50QW5nbGUuYmFzZVZhbC52YWx1ZSIs
ICIwIik7CisKKwlzaG91bGRCZSgibWFya2VyLm9yaWVudFR5cGUuYW5pbVZhbCIsICJTVkdNYXJr
ZXJFbGVtZW50LlNWR19NQVJLRVJfT1JJRU5UX0FOR0xFIik7CisJc2hvdWxkQmUoIm1hcmtlci5v
cmllbnRUeXBlLmJhc2VWYWwiLCAiU1ZHTWFya2VyRWxlbWVudC5TVkdfTUFSS0VSX09SSUVOVF9B
TkdMRSIpOwogfQogCiBmdW5jdGlvbiBleGVjdXRlVGVzdCgpIHsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3N2Zy9hbmltYXRpb25zL3NjcmlwdC10ZXN0cy9zdmdlbnVtLWFuaW1hdGlvbi0xLmpz
IGIvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc2NyaXB0LXRlc3RzL3N2Z2VudW0tYW5pbWF0
aW9uLTEuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uOWUxNWVhNWY2ZDIyODJmMTBjYWY0M2UwM2UxNTk3MDRiNTJm
OGU2NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL3Njcmlw
dC10ZXN0cy9zdmdlbnVtLWFuaW1hdGlvbi0xLmpzCkBAIC0wLDAgKzEsNjQgQEAKK2Rlc2NyaXB0
aW9uKCJUZXN0IFNWR1VuaXRUeXBlcyBlbnVtZXJhdGlvbiBhbmltYXRpb25zIik7CitjcmVhdGVT
VkdUZXN0Q2FzZSgpOworCisvLyBTZXR1cCB0ZXN0IGRvY3VtZW50Cit2YXIgZGVmcyA9IGNyZWF0
ZVNWR0VsZW1lbnQoImRlZnMiKTsKK3Jvb3RTVkdFbGVtZW50LmFwcGVuZENoaWxkKGRlZnMpOwor
Cit2YXIgcGF0dGVybiA9IGNyZWF0ZVNWR0VsZW1lbnQoInBhdHRlcm4iKTsKK3BhdHRlcm4uc2V0
QXR0cmlidXRlKCJpZCIsICJwYXR0ZXJuIik7CitwYXR0ZXJuLnNldEF0dHJpYnV0ZSgicGF0dGVy
blVuaXRzIiwgInVzZXJTcGFjZU9uVXNlIik7CitwYXR0ZXJuLnNldEF0dHJpYnV0ZSgicGF0dGVy
bkNvbnRlbnRVbml0cyIsICJ1c2VyU3BhY2VPblVzZSIpOworcGF0dGVybi5zZXRBdHRyaWJ1dGUo
IndpZHRoIiwgIjUwIik7CitwYXR0ZXJuLnNldEF0dHJpYnV0ZSgiaGVpZ2h0IiwgIjUwIik7Citk
ZWZzLmFwcGVuZENoaWxkKHBhdHRlcm4pOworCit2YXIgcGF0dGVybkNoaWxkID0gY3JlYXRlU1ZH
RWxlbWVudCgicmVjdCIpOworcGF0dGVybkNoaWxkLnNldEF0dHJpYnV0ZSgid2lkdGgiLCAiMSIp
OworcGF0dGVybkNoaWxkLnNldEF0dHJpYnV0ZSgiaGVpZ2h0IiwgIjEiKTsKK3BhdHRlcm5DaGls
ZC5zZXRBdHRyaWJ1dGUoImZpbGwiLCAiZ3JlZW4iKTsKK3BhdHRlcm4uYXBwZW5kQ2hpbGQocGF0
dGVybkNoaWxkKTsKKwordmFyIHJlY3QgPSBjcmVhdGVTVkdFbGVtZW50KCJyZWN0Iik7CityZWN0
LnNldEF0dHJpYnV0ZSgiaWQiLCAicmVjdCIpOworcmVjdC5zZXRBdHRyaWJ1dGUoIndpZHRoIiwg
IjEwMCIpOworcmVjdC5zZXRBdHRyaWJ1dGUoImhlaWdodCIsICIxMDAiKTsKK3JlY3Quc2V0QXR0
cmlidXRlKCJmaWxsIiwgInVybCgjcGF0dGVybikiKTsKK3JlY3Quc2V0QXR0cmlidXRlKCJvbmNs
aWNrIiwgImV4ZWN1dGVUZXN0KCkiKTsKK3Jvb3RTVkdFbGVtZW50LmFwcGVuZENoaWxkKHJlY3Qp
OworCit2YXIgYW5pbWF0ZSA9IGNyZWF0ZVNWR0VsZW1lbnQoImFuaW1hdGUiKTsKK2FuaW1hdGUu
c2V0QXR0cmlidXRlKCJpZCIsICJhbmltYXRpb24iKTsKK2FuaW1hdGUuc2V0QXR0cmlidXRlKCJh
dHRyaWJ1dGVOYW1lIiwgInBhdHRlcm5Db250ZW50VW5pdHMiKTsKK2FuaW1hdGUuc2V0QXR0cmli
dXRlKCJiZWdpbiIsICJyZWN0LmNsaWNrIik7CithbmltYXRlLnNldEF0dHJpYnV0ZSgiZHVyIiwg
IjRzIik7CithbmltYXRlLnNldEF0dHJpYnV0ZSgiZnJvbSIsICJ1c2VyU3BhY2VPblVzZSIpOwor
YW5pbWF0ZS5zZXRBdHRyaWJ1dGUoInRvIiwgIm9iamVjdEJvdW5kaW5nQm94Iik7CithbmltYXRl
LnNldEF0dHJpYnV0ZSgiZmlsbCIsICJmcmVlemUiKTsKK3BhdHRlcm4uYXBwZW5kQ2hpbGQoYW5p
bWF0ZSk7CisKKy8vIFNldHVwIGFuaW1hdGlvbiB0ZXN0CitmdW5jdGlvbiBzYW1wbGUxKCkgewor
ICAgIHNob3VsZEJlKCJwYXR0ZXJuLnBhdHRlcm5Db250ZW50VW5pdHMuYW5pbVZhbCIsICJTVkdV
bml0VHlwZXMuU1ZHX1VOSVRfVFlQRV9VU0VSU1BBQ0VPTlVTRSIpOworICAgIHNob3VsZEJlKCJw
YXR0ZXJuLnBhdHRlcm5Db250ZW50VW5pdHMuYmFzZVZhbCIsICJTVkdVbml0VHlwZXMuU1ZHX1VO
SVRfVFlQRV9VU0VSU1BBQ0VPTlVTRSIpOworfQorCitmdW5jdGlvbiBzYW1wbGUyKCkgeworICAg
IHNob3VsZEJlKCJwYXR0ZXJuLnBhdHRlcm5Db250ZW50VW5pdHMuYW5pbVZhbCIsICJTVkdVbml0
VHlwZXMuU1ZHX1VOSVRfVFlQRV9PQkpFQ1RCT1VORElOR0JPWCIpOworICAgIHNob3VsZEJlKCJw
YXR0ZXJuLnBhdHRlcm5Db250ZW50VW5pdHMuYmFzZVZhbCIsICJTVkdVbml0VHlwZXMuU1ZHX1VO
SVRfVFlQRV9VU0VSU1BBQ0VPTlVTRSIpOworfQorCitmdW5jdGlvbiBleGVjdXRlVGVzdCgpIHsK
KyAgICBjb25zdCBleHBlY3RlZFZhbHVlcyA9IFsKKyAgICAgICAgLy8gW2FuaW1hdGlvbklkLCB0
aW1lLCBzYW1wbGVDYWxsYmFja10KKyAgICAgICAgWyJhbmltYXRpb24iLCAwLjAsICAgc2FtcGxl
MV0sCisgICAgICAgIFsiYW5pbWF0aW9uIiwgMS45OTksIHNhbXBsZTFdLAorICAgICAgICBbImFu
aW1hdGlvbiIsIDIuMDAxLCBzYW1wbGUyXSwKKyAgICAgICAgWyJhbmltYXRpb24iLCAzLjk5OSwg
c2FtcGxlMl0sCisgICAgICAgIFsiYW5pbWF0aW9uIiwgNC4wMDEsIHNhbXBsZTJdCisgICAgXTsK
KworICAgIHJ1bkFuaW1hdGlvblRlc3QoZXhwZWN0ZWRWYWx1ZXMpOworfQorCit2YXIgc3VjY2Vz
c2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9hbmltYXRp
b25zL3NjcmlwdC10ZXN0cy9zdmdlbnVtLWFuaW1hdGlvbi0xMC5qcyBiL0xheW91dFRlc3RzL3N2
Zy9hbmltYXRpb25zL3NjcmlwdC10ZXN0cy9zdmdlbnVtLWFuaW1hdGlvbi0xMC5qcwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi40YWM5MjY4ZGM1NGVkNWVjMWMxNDAxZDIxYjU5NWZmZTFjYmM1NjE3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc2NyaXB0LXRlc3RzL3N2Z2VudW0t
YW5pbWF0aW9uLTEwLmpzCkBAIC0wLDAgKzEsNjkgQEAKK2Rlc2NyaXB0aW9uKCJUZXN0IFNWR01h
cmtlclVuaXRzVHlwZSBlbnVtZXJhdGlvbiBhbmltYXRpb25zIik7CitjcmVhdGVTVkdUZXN0Q2Fz
ZSgpOworCisvLyBTZXR1cCB0ZXN0IGRvY3VtZW50Cit2YXIgbWFya2VyID0gY3JlYXRlU1ZHRWxl
bWVudCgibWFya2VyIik7CittYXJrZXIuc2V0QXR0cmlidXRlKCJpZCIsICJtYXJrZXIiKTsKK21h
cmtlci5zZXRBdHRyaWJ1dGUoInZpZXdCb3giLCAiMCAwIDEwIDEwIik7CittYXJrZXIuc2V0QXR0
cmlidXRlKCJtYXJrZXJXaWR0aCIsICIyIik7CittYXJrZXIuc2V0QXR0cmlidXRlKCJtYXJrZXJI
ZWlnaHQiLCAiMiIpOworbWFya2VyLnNldEF0dHJpYnV0ZSgicmVmWCIsICI1Iik7CittYXJrZXIu
c2V0QXR0cmlidXRlKCJyZWZZIiwgIjUiKTsKK21hcmtlci5zZXRBdHRyaWJ1dGUoIm1hcmtlclVu
aXRzIiwgInVzZXJTcGFjZU9uVXNlIik7CisKK3ZhciBtYXJrZXJQYXRoID0gY3JlYXRlU1ZHRWxl
bWVudCgicGF0aCIpOworbWFya2VyUGF0aC5zZXRBdHRyaWJ1dGUoImZpbGwiLCAiYmx1ZSIpOwor
bWFya2VyUGF0aC5zZXRBdHRyaWJ1dGUoImQiLCAiTSA1IDAgTCAxMCAxMCBMIDAgMTAgWiIpOwor
bWFya2VyLmFwcGVuZENoaWxkKG1hcmtlclBhdGgpOworCit2YXIgZGVmc0VsZW1lbnQgPSBjcmVh
dGVTVkdFbGVtZW50KCJkZWZzIik7CitkZWZzRWxlbWVudC5hcHBlbmRDaGlsZChtYXJrZXIpOwor
cm9vdFNWR0VsZW1lbnQuYXBwZW5kQ2hpbGQoZGVmc0VsZW1lbnQpOworCit2YXIgcGF0aCA9IGNy
ZWF0ZVNWR0VsZW1lbnQoInBhdGgiKTsKK3BhdGguc2V0QXR0cmlidXRlKCJpZCIsICJwYXRoIik7
CitwYXRoLnNldEF0dHJpYnV0ZSgib25jbGljayIsICJleGVjdXRlVGVzdCgpIik7CitwYXRoLnNl
dEF0dHJpYnV0ZSgiZmlsbCIsICJub25lIik7CitwYXRoLnNldEF0dHJpYnV0ZSgic3Ryb2tlIiwg
ImdyZWVuIik7CitwYXRoLnNldEF0dHJpYnV0ZSgic3Ryb2tlLXdpZHRoIiwgIjEwIik7CitwYXRo
LnNldEF0dHJpYnV0ZSgibWFya2VyLXN0YXJ0IiwgInVybCgjbWFya2VyKSIpOworcGF0aC5zZXRB
dHRyaWJ1dGUoIm1hcmtlci1lbmQiLCAidXJsKCNtYXJrZXIpIik7CitwYXRoLnNldEF0dHJpYnV0
ZSgiZCIsICJNIDEzMCAxMzUgTCAxODAgMTM1IEwgMTgwIDE4NSIpOworcGF0aC5zZXRBdHRyaWJ1
dGUoInRyYW5zZm9ybSIsICJ0cmFuc2xhdGUoLTEzMCwgLTEyMCkiKTsKK3Jvb3RTVkdFbGVtZW50
LmFwcGVuZENoaWxkKHBhdGgpOworCit2YXIgYW5pbWF0ZTEgPSBjcmVhdGVTVkdFbGVtZW50KCJh
bmltYXRlIik7CithbmltYXRlMS5zZXRBdHRyaWJ1dGUoImlkIiwgImFuaW1hdGlvbiIpOworYW5p
bWF0ZTEuc2V0QXR0cmlidXRlKCJhdHRyaWJ1dGVOYW1lIiwgIm1hcmtlclVuaXRzIik7Cithbmlt
YXRlMS5zZXRBdHRyaWJ1dGUoImJlZ2luIiwgInBhdGguY2xpY2siKTsKK2FuaW1hdGUxLnNldEF0
dHJpYnV0ZSgiZHVyIiwgIjRzIik7CithbmltYXRlMS5zZXRBdHRyaWJ1dGUoImZyb20iLCAidXNl
clNwYWNlT25Vc2UiKTsKK2FuaW1hdGUxLnNldEF0dHJpYnV0ZSgidG8iLCAic3Ryb2tlV2lkdGgi
KTsKK2FuaW1hdGUxLnNldEF0dHJpYnV0ZSgiZmlsbCIsICJmcmVlemUiKTsKK21hcmtlci5hcHBl
bmRDaGlsZChhbmltYXRlMSk7CisKKy8vIFNldHVwIGFuaW1hdGlvbiB0ZXN0CitmdW5jdGlvbiBz
YW1wbGUxKCkgeworICAgIHNob3VsZEJlKCJtYXJrZXIubWFya2VyVW5pdHMuYW5pbVZhbCIsICJT
VkdNYXJrZXJFbGVtZW50LlNWR19NQVJLRVJVTklUU19VU0VSU1BBQ0VPTlVTRSIpOworICAgIHNo
b3VsZEJlKCJtYXJrZXIubWFya2VyVW5pdHMuYmFzZVZhbCIsICJTVkdNYXJrZXJFbGVtZW50LlNW
R19NQVJLRVJVTklUU19VU0VSU1BBQ0VPTlVTRSIpOworfQorCitmdW5jdGlvbiBzYW1wbGUyKCkg
eworICAgIHNob3VsZEJlKCJtYXJrZXIubWFya2VyVW5pdHMuYW5pbVZhbCIsICJTVkdNYXJrZXJF
bGVtZW50LlNWR19NQVJLRVJVTklUU19TVFJPS0VXSURUSCIpOworICAgIHNob3VsZEJlKCJtYXJr
ZXIubWFya2VyVW5pdHMuYmFzZVZhbCIsICJTVkdNYXJrZXJFbGVtZW50LlNWR19NQVJLRVJVTklU
U19VU0VSU1BBQ0VPTlVTRSIpOworfQorCitmdW5jdGlvbiBleGVjdXRlVGVzdCgpIHsKKyAgICBj
b25zdCBleHBlY3RlZFZhbHVlcyA9IFsKKyAgICAgICAgLy8gW2FuaW1hdGlvbklkLCB0aW1lLCBz
YW1wbGVDYWxsYmFja10KKyAgICAgICAgWyJhbmltYXRpb24iLCAwLjAsICAgc2FtcGxlMV0sCisg
ICAgICAgIFsiYW5pbWF0aW9uIiwgMS45OTksIHNhbXBsZTFdLAorICAgICAgICBbImFuaW1hdGlv
biIsIDIuMDAxLCBzYW1wbGUyXSwKKyAgICAgICAgWyJhbmltYXRpb24iLCAzLjk5OSwgc2FtcGxl
Ml0sCisgICAgICAgIFsiYW5pbWF0aW9uIiwgNC4wMDEsIHNhbXBsZTJdCisgICAgXTsKKworICAg
IHJ1bkFuaW1hdGlvblRlc3QoZXhwZWN0ZWRWYWx1ZXMpOworfQorCit2YXIgc3VjY2Vzc2Z1bGx5
UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL3Nj
cmlwdC10ZXN0cy9zdmdlbnVtLWFuaW1hdGlvbi0xMS5qcyBiL0xheW91dFRlc3RzL3N2Zy9hbmlt
YXRpb25zL3NjcmlwdC10ZXN0cy9zdmdlbnVtLWFuaW1hdGlvbi0xMS5qcwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5k
YTdkNjNkZDMxMDJmYTg0MGQ5OTA4MjZmODc1NmFmZjlhYTc2NjA0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc2NyaXB0LXRlc3RzL3N2Z2VudW0tYW5pbWF0
aW9uLTExLmpzCkBAIC0wLDAgKzEsODMgQEAKK2Rlc2NyaXB0aW9uKCJUZXN0IEJsZW5kTW9kZVR5
cGUgZW51bWVyYXRpb24gYW5pbWF0aW9ucyIpOworY3JlYXRlU1ZHVGVzdENhc2UoKTsKKworLy8g
U2V0dXAgdGVzdCBkb2N1bWVudAordmFyIGZpbHRlciA9IGNyZWF0ZVNWR0VsZW1lbnQoImZpbHRl
ciIpOworZmlsdGVyLnNldEF0dHJpYnV0ZSgiaWQiLCAiZmlsdGVyIik7Cityb290U1ZHRWxlbWVu
dC5hcHBlbmRDaGlsZChmaWx0ZXIpOworCit2YXIgZmVGbG9vZCA9IGNyZWF0ZVNWR0VsZW1lbnQo
ImZlRmxvb2QiKTsKK2ZlRmxvb2Quc2V0QXR0cmlidXRlKCJpbiIsICJTb3VyY2VHcmFwaGljIik7
CitmZUZsb29kLnNldEF0dHJpYnV0ZSgiZmxvb2QtY29sb3IiLCAiZ3JlZW4iKTsKK2ZlRmxvb2Qu
c2V0QXR0cmlidXRlKCJmbG9vZC1vcGFjaXR5IiwgIjAuNSIpOworZmVGbG9vZC5zZXRBdHRyaWJ1
dGUoInJlc3VsdCIsICJpbWciKTsKK2ZpbHRlci5hcHBlbmRDaGlsZChmZUZsb29kKTsKKwordmFy
IGZlQmxlbmQgPSBjcmVhdGVTVkdFbGVtZW50KCJmZUJsZW5kIik7CitmZUJsZW5kLnNldEF0dHJp
YnV0ZSgiaW4iLCAiU291cmNlR3JhcGhpYyIpOworZmVCbGVuZC5zZXRBdHRyaWJ1dGUoImluMiIs
ICJpbWciKTsKK2ZlQmxlbmQuc2V0QXR0cmlidXRlKCJtb2RlIiwgImxpZ2h0ZW4iKTsKK2ZpbHRl
ci5hcHBlbmRDaGlsZChmZUJsZW5kKTsKKwordmFyIHJlY3QgPSBjcmVhdGVTVkdFbGVtZW50KCJy
ZWN0Iik7CityZWN0LnNldEF0dHJpYnV0ZSgiaWQiLCAicmVjdCIpOworcmVjdC5zZXRBdHRyaWJ1
dGUoIm9uY2xpY2siLCAiZXhlY3V0ZVRlc3QoKSIpOworcmVjdC5zZXRBdHRyaWJ1dGUoImZpbHRl
ciIsICJ1cmwoI2ZpbHRlcikiKTsKK3JlY3Quc2V0QXR0cmlidXRlKCJ3aWR0aCIsICIxMDAiKTsK
K3JlY3Quc2V0QXR0cmlidXRlKCJoZWlnaHQiLCAiMTAwIik7Cityb290U1ZHRWxlbWVudC5hcHBl
bmRDaGlsZChyZWN0KTsKKwordmFyIGFuaW1hdGUxID0gY3JlYXRlU1ZHRWxlbWVudCgiYW5pbWF0
ZSIpOworYW5pbWF0ZTEuc2V0QXR0cmlidXRlKCJpZCIsICJhbmltYXRpb24iKTsKK2FuaW1hdGUx
LnNldEF0dHJpYnV0ZSgiYXR0cmlidXRlTmFtZSIsICJtb2RlIik7CithbmltYXRlMS5zZXRBdHRy
aWJ1dGUoImJlZ2luIiwgInJlY3QuY2xpY2siKTsKK2FuaW1hdGUxLnNldEF0dHJpYnV0ZSgiZHVy
IiwgIjVzIik7CithbmltYXRlMS5zZXRBdHRyaWJ1dGUoInZhbHVlcyIsICJub3JtYWw7bXVsdGlw
bHk7c2NyZWVuO2RhcmtlbjtsaWdodGVuIik7CithbmltYXRlMS5zZXRBdHRyaWJ1dGUoImZpbGwi
LCAiZnJlZXplIik7CitmZUJsZW5kLmFwcGVuZENoaWxkKGFuaW1hdGUxKTsKKworLy8gU2V0dXAg
YW5pbWF0aW9uIHRlc3QKK2Z1bmN0aW9uIHNhbXBsZTEoKSB7CisgICAgc2hvdWxkQmUoImZlQmxl
bmQubW9kZS5hbmltVmFsIiwgIlNWR0ZFQmxlbmRFbGVtZW50LlNWR19GRUJMRU5EX01PREVfTElH
SFRFTiIpOworICAgIHNob3VsZEJlKCJmZUJsZW5kLm1vZGUuYmFzZVZhbCIsICJTVkdGRUJsZW5k
RWxlbWVudC5TVkdfRkVCTEVORF9NT0RFX0xJR0hURU4iKTsKK30KKworZnVuY3Rpb24gc2FtcGxl
MigpIHsKKyAgICBzaG91bGRCZSgiZmVCbGVuZC5tb2RlLmFuaW1WYWwiLCAiU1ZHRkVCbGVuZEVs
ZW1lbnQuU1ZHX0ZFQkxFTkRfTU9ERV9OT1JNQUwiKTsKKyAgICBzaG91bGRCZSgiZmVCbGVuZC5t
b2RlLmJhc2VWYWwiLCAiU1ZHRkVCbGVuZEVsZW1lbnQuU1ZHX0ZFQkxFTkRfTU9ERV9MSUdIVEVO
Iik7Cit9CisKK2Z1bmN0aW9uIHNhbXBsZTMoKSB7CisgICAgc2hvdWxkQmUoImZlQmxlbmQubW9k
ZS5hbmltVmFsIiwgIlNWR0ZFQmxlbmRFbGVtZW50LlNWR19GRUJMRU5EX01PREVfTVVMVElQTFki
KTsKKyAgICBzaG91bGRCZSgiZmVCbGVuZC5tb2RlLmJhc2VWYWwiLCAiU1ZHRkVCbGVuZEVsZW1l
bnQuU1ZHX0ZFQkxFTkRfTU9ERV9MSUdIVEVOIik7Cit9CisKK2Z1bmN0aW9uIHNhbXBsZTQoKSB7
CisgICAgc2hvdWxkQmUoImZlQmxlbmQubW9kZS5hbmltVmFsIiwgIlNWR0ZFQmxlbmRFbGVtZW50
LlNWR19GRUJMRU5EX01PREVfU0NSRUVOIik7CisgICAgc2hvdWxkQmUoImZlQmxlbmQubW9kZS5i
YXNlVmFsIiwgIlNWR0ZFQmxlbmRFbGVtZW50LlNWR19GRUJMRU5EX01PREVfTElHSFRFTiIpOwor
fQorCitmdW5jdGlvbiBzYW1wbGU1KCkgeworICAgIHNob3VsZEJlKCJmZUJsZW5kLm1vZGUuYW5p
bVZhbCIsICJTVkdGRUJsZW5kRWxlbWVudC5TVkdfRkVCTEVORF9NT0RFX0RBUktFTiIpOworICAg
IHNob3VsZEJlKCJmZUJsZW5kLm1vZGUuYmFzZVZhbCIsICJTVkdGRUJsZW5kRWxlbWVudC5TVkdf
RkVCTEVORF9NT0RFX0xJR0hURU4iKTsKK30KKworZnVuY3Rpb24gZXhlY3V0ZVRlc3QoKSB7Cisg
ICAgY29uc3QgZXhwZWN0ZWRWYWx1ZXMgPSBbCisgICAgICAgIC8vIFthbmltYXRpb25JZCwgdGlt
ZSwgc2FtcGxlQ2FsbGJhY2tdCisgICAgICAgIFsiYW5pbWF0aW9uIiwgMC4wLCAgIHNhbXBsZTFd
LAorICAgICAgICBbImFuaW1hdGlvbiIsIDAuMDAxLCBzYW1wbGUyXSwKKyAgICAgICAgWyJhbmlt
YXRpb24iLCAwLjk5OSwgc2FtcGxlMl0sCisgICAgICAgIFsiYW5pbWF0aW9uIiwgMS4wMDEsIHNh
bXBsZTNdLAorICAgICAgICBbImFuaW1hdGlvbiIsIDEuOTk5LCBzYW1wbGUzXSwKKyAgICAgICAg
WyJhbmltYXRpb24iLCAyLjAwMSwgc2FtcGxlNF0sCisgICAgICAgIFsiYW5pbWF0aW9uIiwgMi45
OTksIHNhbXBsZTRdLAorICAgICAgICBbImFuaW1hdGlvbiIsIDMuMDAxLCBzYW1wbGU1XSwKKyAg
ICAgICAgWyJhbmltYXRpb24iLCAzLjk5OSwgc2FtcGxlNV0sCisgICAgICAgIFsiYW5pbWF0aW9u
IiwgNC4wMDEsIHNhbXBsZTFdCisgICAgXTsKKworICAgIHJ1bkFuaW1hdGlvblRlc3QoZXhwZWN0
ZWRWYWx1ZXMpOworfQorCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL3NjcmlwdC10ZXN0cy9zdmdlbnVtLWFuaW1h
dGlvbi0xMi5qcyBiL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL3NjcmlwdC10ZXN0cy9zdmdl
bnVtLWFuaW1hdGlvbi0xMi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMjQ1Y2NkNTYzODM3ZmI1MjkyMWY5Njdl
ZTYwZGFmNWEyYTZmNzE1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2FuaW1h
dGlvbnMvc2NyaXB0LXRlc3RzL3N2Z2VudW0tYW5pbWF0aW9uLTEyLmpzCkBAIC0wLDAgKzEsNjkg
QEAKK2Rlc2NyaXB0aW9uKCJUZXN0IFNWR1NwcmVhZE1ldGhvZFR5cGUgZW51bWVyYXRpb24gYW5p
bWF0aW9ucyIpOworY3JlYXRlU1ZHVGVzdENhc2UoKTsKKworLy8gU2V0dXAgdGVzdCBkb2N1bWVu
dAordmFyIGdyYWRpZW50ID0gY3JlYXRlU1ZHRWxlbWVudCgibGluZWFyR3JhZGllbnQiKTsKK2dy
YWRpZW50LnNldEF0dHJpYnV0ZSgiaWQiLCAiZ3JhZGllbnQiKTsKK3Jvb3RTVkdFbGVtZW50LmFw
cGVuZENoaWxkKGdyYWRpZW50KTsKKwordmFyIHN0b3AgPSBjcmVhdGVTVkdFbGVtZW50KCJzdG9w
Iik7CitzdG9wLnNldEF0dHJpYnV0ZSgib2Zmc2V0IiwgIjEiKTsKK3N0b3Auc2V0QXR0cmlidXRl
KCJzdG9wLWNvbG9yIiwgImdyZWVuIik7CitncmFkaWVudC5hcHBlbmRDaGlsZChzdG9wKTsKKwor
dmFyIGZlQmxlbmQgPSBjcmVhdGVTVkdFbGVtZW50KCJmZUJsZW5kIik7CitmZUJsZW5kLnNldEF0
dHJpYnV0ZSgiaW4iLCAiU291cmNlR3JhcGhpYyIpOworZmVCbGVuZC5zZXRBdHRyaWJ1dGUoImlu
MiIsICJpbWciKTsKK2ZlQmxlbmQuc2V0QXR0cmlidXRlKCJtb2RlIiwgImxpZ2h0ZW4iKTsKK2dy
YWRpZW50LmFwcGVuZENoaWxkKGZlQmxlbmQpOworCit2YXIgcmVjdCA9IGNyZWF0ZVNWR0VsZW1l
bnQoInJlY3QiKTsKK3JlY3Quc2V0QXR0cmlidXRlKCJpZCIsICJyZWN0Iik7CityZWN0LnNldEF0
dHJpYnV0ZSgib25jbGljayIsICJleGVjdXRlVGVzdCgpIik7CityZWN0LnNldEF0dHJpYnV0ZSgi
ZmlsbCIsICJ1cmwoI2dyYWRpZW50KSIpOworcmVjdC5zZXRBdHRyaWJ1dGUoIndpZHRoIiwgIjEw
MCIpOworcmVjdC5zZXRBdHRyaWJ1dGUoImhlaWdodCIsICIxMDAiKTsKK3Jvb3RTVkdFbGVtZW50
LmFwcGVuZENoaWxkKHJlY3QpOworCit2YXIgYW5pbWF0ZTEgPSBjcmVhdGVTVkdFbGVtZW50KCJh
bmltYXRlIik7CithbmltYXRlMS5zZXRBdHRyaWJ1dGUoImlkIiwgImFuaW1hdGlvbiIpOworYW5p
bWF0ZTEuc2V0QXR0cmlidXRlKCJhdHRyaWJ1dGVOYW1lIiwgInNwcmVhZE1ldGhvZCIpOworYW5p
bWF0ZTEuc2V0QXR0cmlidXRlKCJiZWdpbiIsICJyZWN0LmNsaWNrIik7CithbmltYXRlMS5zZXRB
dHRyaWJ1dGUoImR1ciIsICIzcyIpOworYW5pbWF0ZTEuc2V0QXR0cmlidXRlKCJ2YWx1ZXMiLCAi
cGFkO3JlZmxlY3Q7cmVwZWF0Iik7CithbmltYXRlMS5zZXRBdHRyaWJ1dGUoImZpbGwiLCAiZnJl
ZXplIik7CitncmFkaWVudC5hcHBlbmRDaGlsZChhbmltYXRlMSk7CisKKy8vIFNldHVwIGFuaW1h
dGlvbiB0ZXN0CitmdW5jdGlvbiBzYW1wbGUxKCkgeworICAgIHNob3VsZEJlKCJncmFkaWVudC5z
cHJlYWRNZXRob2QuYW5pbVZhbCIsICJTVkdHcmFkaWVudEVsZW1lbnQuU1ZHX1NQUkVBRE1FVEhP
RF9QQUQiKTsKKyAgICBzaG91bGRCZSgiZ3JhZGllbnQuc3ByZWFkTWV0aG9kLmJhc2VWYWwiLCAi
U1ZHR3JhZGllbnRFbGVtZW50LlNWR19TUFJFQURNRVRIT0RfUEFEIik7Cit9CisKK2Z1bmN0aW9u
IHNhbXBsZTIoKSB7CisgICAgc2hvdWxkQmUoImdyYWRpZW50LnNwcmVhZE1ldGhvZC5hbmltVmFs
IiwgIlNWR0dyYWRpZW50RWxlbWVudC5TVkdfU1BSRUFETUVUSE9EX1JFRkxFQ1QiKTsKKyAgICBz
aG91bGRCZSgiZ3JhZGllbnQuc3ByZWFkTWV0aG9kLmJhc2VWYWwiLCAiU1ZHR3JhZGllbnRFbGVt
ZW50LlNWR19TUFJFQURNRVRIT0RfUEFEIik7Cit9CisKK2Z1bmN0aW9uIHNhbXBsZTMoKSB7Cisg
ICAgc2hvdWxkQmUoImdyYWRpZW50LnNwcmVhZE1ldGhvZC5hbmltVmFsIiwgIlNWR0dyYWRpZW50
RWxlbWVudC5TVkdfU1BSRUFETUVUSE9EX1JFUEVBVCIpOworICAgIHNob3VsZEJlKCJncmFkaWVu
dC5zcHJlYWRNZXRob2QuYmFzZVZhbCIsICJTVkdHcmFkaWVudEVsZW1lbnQuU1ZHX1NQUkVBRE1F
VEhPRF9QQUQiKTsKK30KKworZnVuY3Rpb24gZXhlY3V0ZVRlc3QoKSB7CisgICAgY29uc3QgZXhw
ZWN0ZWRWYWx1ZXMgPSBbCisgICAgICAgIC8vIFthbmltYXRpb25JZCwgdGltZSwgc2FtcGxlQ2Fs
bGJhY2tdCisgICAgICAgIFsiYW5pbWF0aW9uIiwgMC4wLCAgIHNhbXBsZTFdLAorICAgICAgICBb
ImFuaW1hdGlvbiIsIDAuMDAxLCBzYW1wbGUxXSwKKyAgICAgICAgWyJhbmltYXRpb24iLCAwLjk5
OSwgc2FtcGxlMV0sCisgICAgICAgIFsiYW5pbWF0aW9uIiwgMS4wMDEsIHNhbXBsZTJdLAorICAg
ICAgICBbImFuaW1hdGlvbiIsIDEuOTk5LCBzYW1wbGUyXSwKKyAgICAgICAgWyJhbmltYXRpb24i
LCAyLjAwMSwgc2FtcGxlM10sCisgICAgICAgIFsiYW5pbWF0aW9uIiwgMi45OTksIHNhbXBsZTNd
LAorICAgICAgICBbImFuaW1hdGlvbiIsIDMuMDAxLCBzYW1wbGUzXQorICAgIF07CisKKyAgICBy
dW5BbmltYXRpb25UZXN0KGV4cGVjdGVkVmFsdWVzKTsKK30KKwordmFyIHN1Y2Nlc3NmdWxseVBh
cnNlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9zY3Jp
cHQtdGVzdHMvc3ZnZW51bS1hbmltYXRpb24tMTMuanMgYi9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0
aW9ucy9zY3JpcHQtdGVzdHMvc3ZnZW51bS1hbmltYXRpb24tMTMuanMKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjA5
NzNjNzI2M2UwNmYyODliNmQyMWE0M2Y4N2YxMTEyOTFmMjQ3OQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL3NjcmlwdC10ZXN0cy9zdmdlbnVtLWFuaW1hdGlv
bi0xMy5qcwpAQCAtMCwwICsxLDkxIEBACitkZXNjcmlwdGlvbigiVGVzdCBDaGFubmVsU2VsZWN0
b3JUeXBlIGVudW1lcmF0aW9uIGFuaW1hdGlvbnMiKTsKK2NyZWF0ZVNWR1Rlc3RDYXNlKCk7CisK
Ky8vIFNldHVwIHRlc3QgZG9jdW1lbnQKK3ZhciBkZWZzRWxlbWVudCA9IGNyZWF0ZVNWR0VsZW1l
bnQoImRlZnMiKTsKK3Jvb3RTVkdFbGVtZW50LmFwcGVuZENoaWxkKGRlZnNFbGVtZW50KTsKKwor
dmFyIGZlSW1hZ2UxID0gY3JlYXRlU1ZHRWxlbWVudCgiZmVJbWFnZSIpOworZmVJbWFnZTEuc2V0
QXR0cmlidXRlKCJyZXN1bHQiLCAiTWFwIik7CitmZUltYWdlMS5zZXRBdHRyaWJ1dGVOUyh4bGlu
a05TLCAieGxpbms6aHJlZiIsICIuLi9XM0MtU1ZHLTEuMS9yZXNvdXJjZXMvc3BoZXJlLnBuZyIp
OworCit2YXIgZmVJbWFnZTIgPSBjcmVhdGVTVkdFbGVtZW50KCJmZUltYWdlIik7CitmZUltYWdl
Mi5zZXRBdHRyaWJ1dGUoInJlc3VsdCIsICJUZXh0dXJlIik7CitmZUltYWdlMi5zZXRBdHRyaWJ1
dGVOUyh4bGlua05TLCAieGxpbms6aHJlZiIsICIuLi9XM0MtU1ZHLTEuMS9yZXNvdXJjZXMvRGlz
cGxhY2VDaGVja2VyLnBuZyIpOworCit2YXIgZGlzcGxhY2VtZW50TWFwID0gY3JlYXRlU1ZHRWxl
bWVudCgiZmVEaXNwbGFjZW1lbnRNYXAiKTsKK2Rpc3BsYWNlbWVudE1hcC5zZXRBdHRyaWJ1dGUo
ImluIiwgIlRleHR1cmUiKTsKK2Rpc3BsYWNlbWVudE1hcC5zZXRBdHRyaWJ1dGUoImluMiIsICJN
YXAiKTsKK2Rpc3BsYWNlbWVudE1hcC5zZXRBdHRyaWJ1dGUoInNjYWxlIiwgIjY0Iik7CitkaXNw
bGFjZW1lbnRNYXAuc2V0QXR0cmlidXRlKCJ4Q2hhbm5lbFNlbGVjdG9yIiwgIkIiKTsKK2Rpc3Bs
YWNlbWVudE1hcC5zZXRBdHRyaWJ1dGUoInlDaGFubmVsU2VsZWN0b3IiLCAiRyIpOworCit2YXIg
ZmlsdGVyID0gY3JlYXRlU1ZHRWxlbWVudCgiZmlsdGVyIik7CitmaWx0ZXIuc2V0QXR0cmlidXRl
KCJpZCIsICJmaWx0ZXIiKTsKK2ZpbHRlci5zZXRBdHRyaWJ1dGUoImZpbHRlclVuaXQiLCAib2Jq
ZWN0Qm91bmRpbmdCb3giKTsKK2ZpbHRlci5zZXRBdHRyaWJ1dGUoIngiLCAiMCIpOworZmlsdGVy
LnNldEF0dHJpYnV0ZSgieSIsICIwIik7CitmaWx0ZXIuc2V0QXR0cmlidXRlKCJ3aWR0aCIsICIx
Iik7CitmaWx0ZXIuc2V0QXR0cmlidXRlKCJoZWlnaHQiLCAiMSIpOworZmlsdGVyLmFwcGVuZENo
aWxkKGZlSW1hZ2UxKTsKK2ZpbHRlci5hcHBlbmRDaGlsZChmZUltYWdlMik7CitmaWx0ZXIuYXBw
ZW5kQ2hpbGQoZGlzcGxhY2VtZW50TWFwKTsKK2RlZnNFbGVtZW50LmFwcGVuZENoaWxkKGZpbHRl
cik7CisKK3ZhciByZWN0ID0gY3JlYXRlU1ZHRWxlbWVudCgicmVjdCIpOworcmVjdC5zZXRBdHRy
aWJ1dGUoImlkIiwgInJlY3QiKTsKK3JlY3Quc2V0QXR0cmlidXRlKCJvbmNsaWNrIiwgImV4ZWN1
dGVUZXN0KCkiKTsKK3JlY3Quc2V0QXR0cmlidXRlKCJ3aWR0aCIsICIxMDAiKTsKK3JlY3Quc2V0
QXR0cmlidXRlKCJoZWlnaHQiLCAiMTAwIik7CityZWN0LnNldEF0dHJpYnV0ZSgiZmlsdGVyIiwg
InVybCgjZmlsdGVyKSIpOworcm9vdFNWR0VsZW1lbnQuYXBwZW5kQ2hpbGQocmVjdCk7CisKK3Zh
ciBhbmltYXRlMSA9IGNyZWF0ZVNWR0VsZW1lbnQoImFuaW1hdGUiKTsKK2FuaW1hdGUxLnNldEF0
dHJpYnV0ZSgiaWQiLCAiYW5pbWF0aW9uIik7CithbmltYXRlMS5zZXRBdHRyaWJ1dGUoImF0dHJp
YnV0ZU5hbWUiLCAieENoYW5uZWxTZWxlY3RvciIpOworYW5pbWF0ZTEuc2V0QXR0cmlidXRlKCJi
ZWdpbiIsICJyZWN0LmNsaWNrIik7CithbmltYXRlMS5zZXRBdHRyaWJ1dGUoImR1ciIsICI0cyIp
OworYW5pbWF0ZTEuc2V0QXR0cmlidXRlKCJ2YWx1ZXMiLCAiUjtHO0I7QSIpOworYW5pbWF0ZTEu
c2V0QXR0cmlidXRlKCJmaWxsIiwgImZyZWV6ZSIpOworZGlzcGxhY2VtZW50TWFwLmFwcGVuZENo
aWxkKGFuaW1hdGUxKTsKKworLy8gU2V0dXAgYW5pbWF0aW9uIHRlc3QKK2Z1bmN0aW9uIHNhbXBs
ZTEoKSB7CisgICAgc2hvdWxkQmUoImRpc3BsYWNlbWVudE1hcC54Q2hhbm5lbFNlbGVjdG9yLmFu
aW1WYWwiLCAiU1ZHRkVEaXNwbGFjZW1lbnRNYXBFbGVtZW50LlNWR19DSEFOTkVMX0IiKTsKKyAg
ICBzaG91bGRCZSgiZGlzcGxhY2VtZW50TWFwLnhDaGFubmVsU2VsZWN0b3IuYmFzZVZhbCIsICJT
VkdGRURpc3BsYWNlbWVudE1hcEVsZW1lbnQuU1ZHX0NIQU5ORUxfQiIpOworfQorCitmdW5jdGlv
biBzYW1wbGUyKCkgeworICAgIHNob3VsZEJlKCJkaXNwbGFjZW1lbnRNYXAueENoYW5uZWxTZWxl
Y3Rvci5hbmltVmFsIiwgIlNWR0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudC5TVkdfQ0hBTk5FTF9S
Iik7CisgICAgc2hvdWxkQmUoImRpc3BsYWNlbWVudE1hcC54Q2hhbm5lbFNlbGVjdG9yLmJhc2VW
YWwiLCAiU1ZHRkVEaXNwbGFjZW1lbnRNYXBFbGVtZW50LlNWR19DSEFOTkVMX0IiKTsKK30KKwor
ZnVuY3Rpb24gc2FtcGxlMygpIHsKKyAgICBzaG91bGRCZSgiZGlzcGxhY2VtZW50TWFwLnhDaGFu
bmVsU2VsZWN0b3IuYW5pbVZhbCIsICJTVkdGRURpc3BsYWNlbWVudE1hcEVsZW1lbnQuU1ZHX0NI
QU5ORUxfRyIpOworICAgIHNob3VsZEJlKCJkaXNwbGFjZW1lbnRNYXAueENoYW5uZWxTZWxlY3Rv
ci5iYXNlVmFsIiwgIlNWR0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudC5TVkdfQ0hBTk5FTF9CIik7
Cit9CisKK2Z1bmN0aW9uIHNhbXBsZTQoKSB7CisgICAgc2hvdWxkQmUoImRpc3BsYWNlbWVudE1h
cC54Q2hhbm5lbFNlbGVjdG9yLmFuaW1WYWwiLCAiU1ZHRkVEaXNwbGFjZW1lbnRNYXBFbGVtZW50
LlNWR19DSEFOTkVMX0EiKTsKKyAgICBzaG91bGRCZSgiZGlzcGxhY2VtZW50TWFwLnhDaGFubmVs
U2VsZWN0b3IuYmFzZVZhbCIsICJTVkdGRURpc3BsYWNlbWVudE1hcEVsZW1lbnQuU1ZHX0NIQU5O
RUxfQiIpOworfQorCitmdW5jdGlvbiBleGVjdXRlVGVzdCgpIHsKKyAgICBjb25zdCBleHBlY3Rl
ZFZhbHVlcyA9IFsKKyAgICAgICAgLy8gW2FuaW1hdGlvbklkLCB0aW1lLCBzYW1wbGVDYWxsYmFj
a10KKyAgICAgICAgWyJhbmltYXRpb24iLCAwLjAsICAgc2FtcGxlMV0sCisgICAgICAgIFsiYW5p
bWF0aW9uIiwgMC4wMDEsIHNhbXBsZTJdLAorICAgICAgICBbImFuaW1hdGlvbiIsIDAuOTk5LCBz
YW1wbGUyXSwKKyAgICAgICAgWyJhbmltYXRpb24iLCAxLjAwMSwgc2FtcGxlM10sCisgICAgICAg
IFsiYW5pbWF0aW9uIiwgMS45OTksIHNhbXBsZTNdLAorICAgICAgICBbImFuaW1hdGlvbiIsIDIu
MDAxLCBzYW1wbGUxXSwKKyAgICAgICAgWyJhbmltYXRpb24iLCAyLjk5OSwgc2FtcGxlMV0sCisg
ICAgICAgIFsiYW5pbWF0aW9uIiwgMy4wMDEsIHNhbXBsZTRdLAorICAgICAgICBbImFuaW1hdGlv
biIsIDMuOTk5LCBzYW1wbGU0XSwKKyAgICAgICAgWyJhbmltYXRpb24iLCA0LjAwMSwgc2FtcGxl
NF0KKyAgICBdOworCisgICAgcnVuQW5pbWF0aW9uVGVzdChleHBlY3RlZFZhbHVlcyk7Cit9CisK
K3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
c3ZnL2FuaW1hdGlvbnMvc2NyaXB0LXRlc3RzL3N2Z2VudW0tYW5pbWF0aW9uLTIuanMgYi9MYXlv
dXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9zY3JpcHQtdGVzdHMvc3ZnZW51bS1hbmltYXRpb24tMi5q
cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xYWQxYmNlZjMyMGYxZjJjYWUyZDQ1YWEyZDhhMTU3MDYyZjRkZDZjCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc2NyaXB0LXRlc3Rz
L3N2Z2VudW0tYW5pbWF0aW9uLTIuanMKQEAgLTAsMCArMSw3MSBAQAorZGVzY3JpcHRpb24oIlRl
c3QgRWRnZU1vZGVUeXBlIGVudW1lcmF0aW9uIGFuaW1hdGlvbnMiKTsKK2NyZWF0ZVNWR1Rlc3RD
YXNlKCk7CisKKy8vIFNldHVwIHRlc3QgZG9jdW1lbnQKK3ZhciBkZWZzID0gY3JlYXRlU1ZHRWxl
bWVudCgiZGVmcyIpOworcm9vdFNWR0VsZW1lbnQuYXBwZW5kQ2hpbGQoZGVmcyk7CisKK3ZhciBj
b252b2x2ZU1hdHJpeCA9IGNyZWF0ZVNWR0VsZW1lbnQoImZlQ29udm9sdmVNYXRyaXgiKTsKK2Nv
bnZvbHZlTWF0cml4LnNldEF0dHJpYnV0ZSgiaW4iLCAiU291cmNlR3JhcGhpYyIpOworY29udm9s
dmVNYXRyaXguc2V0QXR0cmlidXRlKCJvcmRlciIsICIzIik7Citjb252b2x2ZU1hdHJpeC5zZXRB
dHRyaWJ1dGUoImtlcm5lbE1hdHJpeCIsICIzIDAgMyAwIDAgMCAzIDAgMyIpOworY29udm9sdmVN
YXRyaXguc2V0QXR0cmlidXRlKCJ0YXJnZXRYIiwgIjAiKTsKK2NvbnZvbHZlTWF0cml4LnNldEF0
dHJpYnV0ZSgiZWRnZU1vZGUiLCAid3JhcCIpOworCit2YXIgZmlsdGVyID0gY3JlYXRlU1ZHRWxl
bWVudCgiZmlsdGVyIik7CitmaWx0ZXIuc2V0QXR0cmlidXRlKCJpZCIsICJmaWx0ZXIiKTsKK2Zp
bHRlci5zZXRBdHRyaWJ1dGUoImZpbHRlclVuaXRzIiwgInVzZXJTcGFjZU9uVXNlIik7CitmaWx0
ZXIuc2V0QXR0cmlidXRlKCJ4IiwgIjAiKTsKK2ZpbHRlci5zZXRBdHRyaWJ1dGUoInkiLCAiMCIp
OworZmlsdGVyLnNldEF0dHJpYnV0ZSgid2lkdGgiLCAiMjAwIik7CitmaWx0ZXIuc2V0QXR0cmli
dXRlKCJoZWlnaHQiLCAiMjAwIik7CitmaWx0ZXIuYXBwZW5kQ2hpbGQoY29udm9sdmVNYXRyaXgp
OworZGVmcy5hcHBlbmRDaGlsZChmaWx0ZXIpOworCit2YXIgcmVjdCA9IGNyZWF0ZVNWR0VsZW1l
bnQoInJlY3QiKTsKK3JlY3Quc2V0QXR0cmlidXRlKCJpZCIsICJyZWN0Iik7CityZWN0LnNldEF0
dHJpYnV0ZSgid2lkdGgiLCAiMTAwIik7CityZWN0LnNldEF0dHJpYnV0ZSgiaGVpZ2h0IiwgIjEw
MCIpOworcmVjdC5zZXRBdHRyaWJ1dGUoImZpbHRlciIsICJ1cmwoI2ZpbHRlcikiKTsKK3JlY3Qu
c2V0QXR0cmlidXRlKCJvbmNsaWNrIiwgImV4ZWN1dGVUZXN0KCkiKTsKK3Jvb3RTVkdFbGVtZW50
LmFwcGVuZENoaWxkKHJlY3QpOworCit2YXIgYW5pbWF0ZSA9IGNyZWF0ZVNWR0VsZW1lbnQoImFu
aW1hdGUiKTsKK2FuaW1hdGUuc2V0QXR0cmlidXRlKCJpZCIsICJhbmltYXRpb24iKTsKK2FuaW1h
dGUuc2V0QXR0cmlidXRlKCJhdHRyaWJ1dGVOYW1lIiwgImVkZ2VNb2RlIik7CithbmltYXRlLnNl
dEF0dHJpYnV0ZSgiYmVnaW4iLCAicmVjdC5jbGljayIpOworYW5pbWF0ZS5zZXRBdHRyaWJ1dGUo
ImR1ciIsICI0cyIpOworYW5pbWF0ZS5zZXRBdHRyaWJ1dGUoInZhbHVlcyIsICJkdXBsaWNhdGU7
bm9uZSIpOworY29udm9sdmVNYXRyaXguYXBwZW5kQ2hpbGQoYW5pbWF0ZSk7CisKKy8vIFNldHVw
IGFuaW1hdGlvbiB0ZXN0CitmdW5jdGlvbiBzYW1wbGUxKCkgeworICAgIHNob3VsZEJlKCJjb252
b2x2ZU1hdHJpeC5lZGdlTW9kZS5hbmltVmFsIiwgIlNWR0ZFQ29udm9sdmVNYXRyaXhFbGVtZW50
LlNWR19FREdFTU9ERV9XUkFQIik7CisgICAgc2hvdWxkQmUoImNvbnZvbHZlTWF0cml4LmVkZ2VN
b2RlLmJhc2VWYWwiLCAiU1ZHRkVDb252b2x2ZU1hdHJpeEVsZW1lbnQuU1ZHX0VER0VNT0RFX1dS
QVAiKTsKK30KKworZnVuY3Rpb24gc2FtcGxlMigpIHsKKyAgICBzaG91bGRCZSgiY29udm9sdmVN
YXRyaXguZWRnZU1vZGUuYW5pbVZhbCIsICJTVkdGRUNvbnZvbHZlTWF0cml4RWxlbWVudC5TVkdf
RURHRU1PREVfRFVQTElDQVRFIik7CisgICAgc2hvdWxkQmUoImNvbnZvbHZlTWF0cml4LmVkZ2VN
b2RlLmJhc2VWYWwiLCAiU1ZHRkVDb252b2x2ZU1hdHJpeEVsZW1lbnQuU1ZHX0VER0VNT0RFX1dS
QVAiKTsKK30KKworZnVuY3Rpb24gc2FtcGxlMygpIHsKKyAgICBzaG91bGRCZSgiY29udm9sdmVN
YXRyaXguZWRnZU1vZGUuYW5pbVZhbCIsICJTVkdGRUNvbnZvbHZlTWF0cml4RWxlbWVudC5TVkdf
RURHRU1PREVfTk9ORSIpOworICAgIHNob3VsZEJlKCJjb252b2x2ZU1hdHJpeC5lZGdlTW9kZS5i
YXNlVmFsIiwgIlNWR0ZFQ29udm9sdmVNYXRyaXhFbGVtZW50LlNWR19FREdFTU9ERV9XUkFQIik7
Cit9CisKK2Z1bmN0aW9uIGV4ZWN1dGVUZXN0KCkgeworICAgIGNvbnN0IGV4cGVjdGVkVmFsdWVz
ID0gWworICAgICAgICAvLyBbYW5pbWF0aW9uSWQsIHRpbWUsIHNhbXBsZUNhbGxiYWNrXQorICAg
ICAgICBbImFuaW1hdGlvbiIsIDAuMCwgICBzYW1wbGUxXSwKKyAgICAgICAgWyJhbmltYXRpb24i
LCAwLjAwMSwgc2FtcGxlMl0sCisgICAgICAgIFsiYW5pbWF0aW9uIiwgMS45OTksIHNhbXBsZTJd
LAorICAgICAgICBbImFuaW1hdGlvbiIsIDIuMDAxLCBzYW1wbGUzXSwKKyAgICAgICAgWyJhbmlt
YXRpb24iLCAzLjk5OSwgc2FtcGxlM10sCisgICAgICAgIFsiYW5pbWF0aW9uIiwgNC4wMDEsIHNh
bXBsZTFdCisgICAgXTsKKworICAgIHJ1bkFuaW1hdGlvblRlc3QoZXhwZWN0ZWRWYWx1ZXMpOwor
fQorCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3N2Zy9hbmltYXRpb25zL3NjcmlwdC10ZXN0cy9zdmdlbnVtLWFuaW1hdGlvbi0zLmpzIGIv
TGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc2NyaXB0LXRlc3RzL3N2Z2VudW0tYW5pbWF0aW9u
LTMuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYTk3ZGU4OTMyZjYxNGRjZTBjMDYyNGM1MTE4ZmVlNzRiZTQ3Y2Nk
OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL3NjcmlwdC10
ZXN0cy9zdmdlbnVtLWFuaW1hdGlvbi0zLmpzCkBAIC0wLDAgKzEsNDcgQEAKK2Rlc2NyaXB0aW9u
KCJUZXN0IFNWR0xlbmd0aEFkanVzdFR5cGUgZW51bWVyYXRpb24gYW5pbWF0aW9ucyIpOworY3Jl
YXRlU1ZHVGVzdENhc2UoKTsKKworLy8gU2V0dXAgdGVzdCBkb2N1bWVudAordmFyIHRleHQgPSBj
cmVhdGVTVkdFbGVtZW50KCJ0ZXh0Iik7Cit0ZXh0LnNldEF0dHJpYnV0ZSgiaWQiLCAidGV4dCIp
OwordGV4dC5zZXRBdHRyaWJ1dGUoInkiLCAiNTAiKTsKK3RleHQuc2V0QXR0cmlidXRlKCJ0ZXh0
TGVuZ3RoIiwgIjIwMCIpOwordGV4dC50ZXh0Q29udGVudCA9ICJTdHJldGNoZWQgdGV4dCI7Cit0
ZXh0LnNldEF0dHJpYnV0ZSgib25jbGljayIsICJleGVjdXRlVGVzdCgpIik7Cityb290U1ZHRWxl
bWVudC5hcHBlbmRDaGlsZCh0ZXh0KTsKKwordmFyIGFuaW1hdGUgPSBjcmVhdGVTVkdFbGVtZW50
KCJhbmltYXRlIik7CithbmltYXRlLnNldEF0dHJpYnV0ZSgiaWQiLCAiYW5pbWF0aW9uIik7Cith
bmltYXRlLnNldEF0dHJpYnV0ZSgiYXR0cmlidXRlTmFtZSIsICJsZW5ndGhBZGp1c3QiKTsKK2Fu
aW1hdGUuc2V0QXR0cmlidXRlKCJiZWdpbiIsICJ0ZXh0LmNsaWNrIik7CithbmltYXRlLnNldEF0
dHJpYnV0ZSgiZHVyIiwgIjRzIik7CithbmltYXRlLnNldEF0dHJpYnV0ZSgiZnJvbSIsICJzcGFj
aW5nIik7CithbmltYXRlLnNldEF0dHJpYnV0ZSgidG8iLCAic3BhY2luZ0FuZEdseXBocyIpOwor
YW5pbWF0ZS5zZXRBdHRyaWJ1dGUoImZpbGwiLCAiZnJlZXplIik7Cit0ZXh0LmFwcGVuZENoaWxk
KGFuaW1hdGUpOworCisvLyBTZXR1cCBhbmltYXRpb24gdGVzdAorZnVuY3Rpb24gc2FtcGxlMSgp
IHsKKyAgICBzaG91bGRCZSgidGV4dC5sZW5ndGhBZGp1c3QuYW5pbVZhbCIsICJTVkdUZXh0Q29u
dGVudEVsZW1lbnQuTEVOR1RIQURKVVNUX1NQQUNJTkciKTsKKyAgICBzaG91bGRCZSgidGV4dC5s
ZW5ndGhBZGp1c3QuYmFzZVZhbCIsICJTVkdUZXh0Q29udGVudEVsZW1lbnQuTEVOR1RIQURKVVNU
X1NQQUNJTkciKTsKK30KKworZnVuY3Rpb24gc2FtcGxlMigpIHsKKyAgICBzaG91bGRCZSgidGV4
dC5sZW5ndGhBZGp1c3QuYW5pbVZhbCIsICJTVkdUZXh0Q29udGVudEVsZW1lbnQuTEVOR1RIQURK
VVNUX1NQQUNJTkdBTkRHTFlQSFMiKTsKKyAgICBzaG91bGRCZSgidGV4dC5sZW5ndGhBZGp1c3Qu
YmFzZVZhbCIsICJTVkdUZXh0Q29udGVudEVsZW1lbnQuTEVOR1RIQURKVVNUX1NQQUNJTkciKTsK
K30KKworZnVuY3Rpb24gZXhlY3V0ZVRlc3QoKSB7CisgICAgY29uc3QgZXhwZWN0ZWRWYWx1ZXMg
PSBbCisgICAgICAgIC8vIFthbmltYXRpb25JZCwgdGltZSwgc2FtcGxlQ2FsbGJhY2tdCisgICAg
ICAgIFsiYW5pbWF0aW9uIiwgMC4wLCAgIHNhbXBsZTFdLAorICAgICAgICBbImFuaW1hdGlvbiIs
IDEuOTk5LCBzYW1wbGUxXSwKKyAgICAgICAgWyJhbmltYXRpb24iLCAyLjAwMSwgc2FtcGxlMl0s
CisgICAgICAgIFsiYW5pbWF0aW9uIiwgMy45OTksIHNhbXBsZTJdLAorICAgICAgICBbImFuaW1h
dGlvbiIsIDQuMDAxLCBzYW1wbGUyXQorICAgIF07CisKKyAgICBydW5BbmltYXRpb25UZXN0KGV4
cGVjdGVkVmFsdWVzKTsKK30KKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9zY3JpcHQtdGVzdHMvc3ZnZW51bS1h
bmltYXRpb24tNC5qcyBiL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL3NjcmlwdC10ZXN0cy9z
dmdlbnVtLWFuaW1hdGlvbi00LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmViNzhkODg1ZDA3OTM3MzQ5Mzk0Zjgz
NTM0ZjY3YWEzYzYyNjQ3ODYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvYW5p
bWF0aW9ucy9zY3JpcHQtdGVzdHMvc3ZnZW51bS1hbmltYXRpb24tNC5qcwpAQCAtMCwwICsxLDE3
MCBAQAorZGVzY3JpcHRpb24oIlRlc3QgQ29tcG9zaXRlT3BlcmF0aW9uVHlwZSBlbnVtZXJhdGlv
biBhbmltYXRpb25zIik7CitjcmVhdGVTVkdUZXN0Q2FzZSgpOworCisvLyBTZXR1cCB0ZXN0IGRv
Y3VtZW50Cit2YXIgZGVmc0VsZW1lbnQgPSBjcmVhdGVTVkdFbGVtZW50KCJkZWZzIik7Cityb290
U1ZHRWxlbWVudC5hcHBlbmRDaGlsZChkZWZzRWxlbWVudCk7CisKK3ZhciBvZmYxID0gY3JlYXRl
U1ZHRWxlbWVudCgiZmVPZmZzZXQiKTsKK29mZjEuc2V0QXR0cmlidXRlKCJkeCIsICIzNSIpOwor
b2ZmMS5zZXRBdHRyaWJ1dGUoImR5IiwgIjI1Iik7CitvZmYxLnNldEF0dHJpYnV0ZSgicmVzdWx0
IiwgIm9mZjEiKTsKKwordmFyIGZsb29kMSA9IGNyZWF0ZVNWR0VsZW1lbnQoImZlRmxvb2QiKTsK
K2Zsb29kMS5zZXRBdHRyaWJ1dGUoImZsb29kLWNvbG9yIiwgIiM0MDgwNjciKTsKK2Zsb29kMS5z
ZXRBdHRyaWJ1dGUoImZsb29kLW9wYWNpdHkiLCAiLjgiKTsKK2Zsb29kMS5zZXRBdHRyaWJ1dGUo
InJlc3VsdCIsICJGMSIpOworCit2YXIgb3ZlckNvbXBvc2l0ZTEgPSBjcmVhdGVTVkdFbGVtZW50
KCJmZUNvbXBvc2l0ZSIpOworb3ZlckNvbXBvc2l0ZTEuc2V0QXR0cmlidXRlKCJpbiIsICJGMSIp
Oworb3ZlckNvbXBvc2l0ZTEuc2V0QXR0cmlidXRlKCJpbjIiLCAib2ZmMSIpOworb3ZlckNvbXBv
c2l0ZTEuc2V0QXR0cmlidXRlKCJvcGVyYXRvciIsICJvdmVyIik7CitvdmVyQ29tcG9zaXRlMS5z
ZXRBdHRyaWJ1dGUoImsxIiwgIi41Iik7CitvdmVyQ29tcG9zaXRlMS5zZXRBdHRyaWJ1dGUoImsy
IiwgIi4xIik7CitvdmVyQ29tcG9zaXRlMS5zZXRBdHRyaWJ1dGUoImszIiwgIi41Iik7CitvdmVy
Q29tcG9zaXRlMS5zZXRBdHRyaWJ1dGUoIms0IiwgIi4zIik7CisKK292ZXJDb21wb3NpdGUxLnNl
dEF0dHJpYnV0ZSgicmVzdWx0IiwgIkMxIik7CisKK3ZhciBvZmYyID0gY3JlYXRlU1ZHRWxlbWVu
dCgiZmVPZmZzZXQiKTsKK29mZjIuc2V0QXR0cmlidXRlKCJpbiIsICJTb3VyY2VHcmFwaGljIik7
CitvZmYyLnNldEF0dHJpYnV0ZSgiZHgiLCAiNjAiKTsKK29mZjIuc2V0QXR0cmlidXRlKCJkeSIs
ICI1MCIpOworb2ZmMi5zZXRBdHRyaWJ1dGUoInJlc3VsdCIsICJvZmYyIik7CisKK3ZhciBmbG9v
ZDIgPSBjcmVhdGVTVkdFbGVtZW50KCJmZUZsb29kIik7CitmbG9vZDIuc2V0QXR0cmlidXRlKCJm
bG9vZC1jb2xvciIsICIjNDA4MDY3Iik7CitmbG9vZDIuc2V0QXR0cmlidXRlKCJmbG9vZC1vcGFj
aXR5IiwgIi42Iik7CitmbG9vZDIuc2V0QXR0cmlidXRlKCJyZXN1bHQiLCAiRjIiKTsKKwordmFy
IG92ZXJDb21wb3NpdGUyID0gY3JlYXRlU1ZHRWxlbWVudCgiZmVDb21wb3NpdGUiKTsKK292ZXJD
b21wb3NpdGUyLnNldEF0dHJpYnV0ZSgiaW4iLCAiRjIiKTsKK292ZXJDb21wb3NpdGUyLnNldEF0
dHJpYnV0ZSgiaW4yIiwgIm9mZjIiKTsKK292ZXJDb21wb3NpdGUyLnNldEF0dHJpYnV0ZSgib3Bl
cmF0b3IiLCAiaW4iKTsKK292ZXJDb21wb3NpdGUyLnNldEF0dHJpYnV0ZSgicmVzdWx0IiwgIkMy
Iik7CisKK3ZhciBvZmYzID0gY3JlYXRlU1ZHRWxlbWVudCgiZmVPZmZzZXQiKTsKK29mZjMuc2V0
QXR0cmlidXRlKCJpbiIsICJTb3VyY2VHcmFwaGljIik7CitvZmYzLnNldEF0dHJpYnV0ZSgiZHgi
LCAiODUiKTsKK29mZjMuc2V0QXR0cmlidXRlKCJkeSIsICI3NSIpOworb2ZmMy5zZXRBdHRyaWJ1
dGUoInJlc3VsdCIsICJvZmYzIik7CisKK3ZhciBmbG9vZDMgPSBjcmVhdGVTVkdFbGVtZW50KCJm
ZUZsb29kIik7CitmbG9vZDMuc2V0QXR0cmlidXRlKCJmbG9vZC1jb2xvciIsICIjNDA4MDY3Iik7
CitmbG9vZDMuc2V0QXR0cmlidXRlKCJmbG9vZC1vcGFjaXR5IiwgIi40Iik7CitmbG9vZDMuc2V0
QXR0cmlidXRlKCJyZXN1bHQiLCAiRjMiKTsKKwordmFyIG92ZXJDb21wb3NpdGUzID0gY3JlYXRl
U1ZHRWxlbWVudCgiZmVDb21wb3NpdGUiKTsKK292ZXJDb21wb3NpdGUzLnNldEF0dHJpYnV0ZSgi
aW4yIiwgIm9mZjMiKTsKK292ZXJDb21wb3NpdGUzLnNldEF0dHJpYnV0ZSgib3BlcmF0b3IiLCAi
aW4iKTsKK292ZXJDb21wb3NpdGUzLnNldEF0dHJpYnV0ZSgicmVzdWx0IiwgIkMzIik7CisKK3Zh
ciBtZXJnZSA9IGNyZWF0ZVNWR0VsZW1lbnQoImZlTWVyZ2UiKTsKKwordmFyIG1lcmdlTm9kZTEg
PSBjcmVhdGVTVkdFbGVtZW50KCJmZU1lcmdlTm9kZSIpOworbWVyZ2VOb2RlMS5zZXRBdHRyaWJ1
dGUoImluIiwgIkMxIik7CisKK3ZhciBtZXJnZU5vZGUyID0gY3JlYXRlU1ZHRWxlbWVudCgiZmVN
ZXJnZU5vZGUiKTsKK21lcmdlTm9kZTIuc2V0QXR0cmlidXRlKCJpbiIsICJDMiIpOworCit2YXIg
bWVyZ2VOb2RlMyA9IGNyZWF0ZVNWR0VsZW1lbnQoImZlTWVyZ2VOb2RlIik7CittZXJnZU5vZGUz
LnNldEF0dHJpYnV0ZSgiaW4iLCAiQzMiKTsKKwordmFyIG1lcmdlTm9kZTQgPSBjcmVhdGVTVkdF
bGVtZW50KCJmZU1lcmdlTm9kZSIpOworbWVyZ2VOb2RlNC5zZXRBdHRyaWJ1dGUoImluIiwgIlNv
dXJjZUdyYXBoaWMiKTsKKworbWVyZ2UuYXBwZW5kQ2hpbGQobWVyZ2VOb2RlMyk7CittZXJnZS5h
cHBlbmRDaGlsZChtZXJnZU5vZGUyKTsKK21lcmdlLmFwcGVuZENoaWxkKG1lcmdlTm9kZTEpOwor
bWVyZ2UuYXBwZW5kQ2hpbGQobWVyZ2VOb2RlNCk7CisKK3ZhciBvdmVyRmlsdGVyID0gY3JlYXRl
U1ZHRWxlbWVudCgiZmlsdGVyIik7CitvdmVyRmlsdGVyLnNldEF0dHJpYnV0ZSgiaWQiLCAib3Zl
ckZpbHRlciIpOworb3ZlckZpbHRlci5zZXRBdHRyaWJ1dGUoImZpbHRlclVuaXRzIiwgIm9iamVj
dEJvdW5kaW5nQm94Iik7CitvdmVyRmlsdGVyLnNldEF0dHJpYnV0ZSgieCIsICIwIik7CitvdmVy
RmlsdGVyLnNldEF0dHJpYnV0ZSgieSIsICIwIik7CitvdmVyRmlsdGVyLnNldEF0dHJpYnV0ZSgi
d2lkdGgiLCAiMy41Iik7CitvdmVyRmlsdGVyLnNldEF0dHJpYnV0ZSgiaGVpZ2h0IiwgIjQiKTsK
K292ZXJGaWx0ZXIuYXBwZW5kQ2hpbGQob2ZmMSk7CitvdmVyRmlsdGVyLmFwcGVuZENoaWxkKGZs
b29kMSk7CitvdmVyRmlsdGVyLmFwcGVuZENoaWxkKG92ZXJDb21wb3NpdGUxKTsKK292ZXJGaWx0
ZXIuYXBwZW5kQ2hpbGQob2ZmMik7CitvdmVyRmlsdGVyLmFwcGVuZENoaWxkKGZsb29kMik7Citv
dmVyRmlsdGVyLmFwcGVuZENoaWxkKG92ZXJDb21wb3NpdGUyKTsKK292ZXJGaWx0ZXIuYXBwZW5k
Q2hpbGQob2ZmMyk7CitvdmVyRmlsdGVyLmFwcGVuZENoaWxkKGZsb29kMyk7CitvdmVyRmlsdGVy
LmFwcGVuZENoaWxkKG92ZXJDb21wb3NpdGUzKTsKK292ZXJGaWx0ZXIuYXBwZW5kQ2hpbGQobWVy
Z2UpOworCitkZWZzRWxlbWVudC5hcHBlbmRDaGlsZChvdmVyRmlsdGVyKTsKKworLy8gU2V0dXAg
dGVzdCBkb2N1bWVudAordmFyIHJlY3QgPSBjcmVhdGVTVkdFbGVtZW50KCJyZWN0Iik7CityZWN0
LnNldEF0dHJpYnV0ZSgiaWQiLCAicmVjdCIpOworcmVjdC5zZXRBdHRyaWJ1dGUoIndpZHRoIiwg
IjEwMCIpOworcmVjdC5zZXRBdHRyaWJ1dGUoImhlaWdodCIsICIxMDAiKTsKK3JlY3Quc2V0QXR0
cmlidXRlKCJmaWxsIiwgIiM0MDgwNjciKTsKK3JlY3Quc2V0QXR0cmlidXRlKCJmaWx0ZXIiLCAi
dXJsKCNvdmVyRmlsdGVyKSIpOworcmVjdC5zZXRBdHRyaWJ1dGUoIm9uY2xpY2siLCAiZXhlY3V0
ZVRlc3QoKSIpOworcm9vdFNWR0VsZW1lbnQuYXBwZW5kQ2hpbGQocmVjdCk7CisKK3ZhciBhbmlt
YXRlID0gY3JlYXRlU1ZHRWxlbWVudCgiYW5pbWF0ZSIpOworYW5pbWF0ZS5zZXRBdHRyaWJ1dGUo
ImlkIiwgImFuaW1hdGlvbiIpOworYW5pbWF0ZS5zZXRBdHRyaWJ1dGUoImF0dHJpYnV0ZU5hbWUi
LCAib3BlcmF0b3IiKTsKK2FuaW1hdGUuc2V0QXR0cmlidXRlKCJiZWdpbiIsICJyZWN0LmNsaWNr
Iik7CithbmltYXRlLnNldEF0dHJpYnV0ZSgiZHVyIiwgIjVzIik7CithbmltYXRlLnNldEF0dHJp
YnV0ZSgidmFsdWVzIiwgImluO291dDthdG9wO3hvcjthcml0aG1ldGljIik7CitvdmVyQ29tcG9z
aXRlMS5hcHBlbmRDaGlsZChhbmltYXRlKTsKKworLy8gU2V0dXAgYW5pbWF0aW9uIHRlc3QKK2Z1
bmN0aW9uIHNhbXBsZTEoKSB7CisgICAgc2hvdWxkQmUoIm92ZXJDb21wb3NpdGUxLm9wZXJhdG9y
LmFuaW1WYWwiLCAiU1ZHRkVDb21wb3NpdGVFbGVtZW50LlNWR19GRUNPTVBPU0lURV9PUEVSQVRP
Ul9PVkVSIik7CisgICAgc2hvdWxkQmUoIm92ZXJDb21wb3NpdGUxLm9wZXJhdG9yLmJhc2VWYWwi
LCAiU1ZHRkVDb21wb3NpdGVFbGVtZW50LlNWR19GRUNPTVBPU0lURV9PUEVSQVRPUl9PVkVSIik7
Cit9CisKK2Z1bmN0aW9uIHNhbXBsZTIoKSB7CisgICAgc2hvdWxkQmUoIm92ZXJDb21wb3NpdGUx
Lm9wZXJhdG9yLmFuaW1WYWwiLCAiU1ZHRkVDb21wb3NpdGVFbGVtZW50LlNWR19GRUNPTVBPU0lU
RV9PUEVSQVRPUl9JTiIpOworICAgIHNob3VsZEJlKCJvdmVyQ29tcG9zaXRlMS5vcGVyYXRvci5i
YXNlVmFsIiwgIlNWR0ZFQ29tcG9zaXRlRWxlbWVudC5TVkdfRkVDT01QT1NJVEVfT1BFUkFUT1Jf
T1ZFUiIpOworfQorCitmdW5jdGlvbiBzYW1wbGUzKCkgeworICAgIHNob3VsZEJlKCJvdmVyQ29t
cG9zaXRlMS5vcGVyYXRvci5hbmltVmFsIiwgIlNWR0ZFQ29tcG9zaXRlRWxlbWVudC5TVkdfRkVD
T01QT1NJVEVfT1BFUkFUT1JfT1VUIik7CisgICAgc2hvdWxkQmUoIm92ZXJDb21wb3NpdGUxLm9w
ZXJhdG9yLmJhc2VWYWwiLCAiU1ZHRkVDb21wb3NpdGVFbGVtZW50LlNWR19GRUNPTVBPU0lURV9P
UEVSQVRPUl9PVkVSIik7Cit9CisKK2Z1bmN0aW9uIHNhbXBsZTQoKSB7CisgICAgc2hvdWxkQmUo
Im92ZXJDb21wb3NpdGUxLm9wZXJhdG9yLmFuaW1WYWwiLCAiU1ZHRkVDb21wb3NpdGVFbGVtZW50
LlNWR19GRUNPTVBPU0lURV9PUEVSQVRPUl9BVE9QIik7CisgICAgc2hvdWxkQmUoIm92ZXJDb21w
b3NpdGUxLm9wZXJhdG9yLmJhc2VWYWwiLCAiU1ZHRkVDb21wb3NpdGVFbGVtZW50LlNWR19GRUNP
TVBPU0lURV9PUEVSQVRPUl9PVkVSIik7Cit9CisKK2Z1bmN0aW9uIHNhbXBsZTUoKSB7CisgICAg
c2hvdWxkQmUoIm92ZXJDb21wb3NpdGUxLm9wZXJhdG9yLmFuaW1WYWwiLCAiU1ZHRkVDb21wb3Np
dGVFbGVtZW50LlNWR19GRUNPTVBPU0lURV9PUEVSQVRPUl9YT1IiKTsKKyAgICBzaG91bGRCZSgi
b3ZlckNvbXBvc2l0ZTEub3BlcmF0b3IuYmFzZVZhbCIsICJTVkdGRUNvbXBvc2l0ZUVsZW1lbnQu
U1ZHX0ZFQ09NUE9TSVRFX09QRVJBVE9SX09WRVIiKTsKK30KKworZnVuY3Rpb24gc2FtcGxlNigp
IHsKKyAgICBzaG91bGRCZSgib3ZlckNvbXBvc2l0ZTEub3BlcmF0b3IuYW5pbVZhbCIsICJTVkdG
RUNvbXBvc2l0ZUVsZW1lbnQuU1ZHX0ZFQ09NUE9TSVRFX09QRVJBVE9SX0FSSVRITUVUSUMiKTsK
KyAgICBzaG91bGRCZSgib3ZlckNvbXBvc2l0ZTEub3BlcmF0b3IuYmFzZVZhbCIsICJTVkdGRUNv
bXBvc2l0ZUVsZW1lbnQuU1ZHX0ZFQ09NUE9TSVRFX09QRVJBVE9SX09WRVIiKTsKK30KKworZnVu
Y3Rpb24gZXhlY3V0ZVRlc3QoKSB7CisgICAgY29uc3QgZXhwZWN0ZWRWYWx1ZXMgPSBbCisgICAg
ICAgIC8vIFthbmltYXRpb25JZCwgdGltZSwgc2FtcGxlQ2FsbGJhY2tdCisgICAgICAgIFsiYW5p
bWF0aW9uIiwgMC4wLCAgIHNhbXBsZTFdLAorICAgICAgICBbImFuaW1hdGlvbiIsIDAuMDAxLCBz
YW1wbGUyXSwKKyAgICAgICAgWyJhbmltYXRpb24iLCAwLjk5OSwgc2FtcGxlMl0sCisgICAgICAg
IFsiYW5pbWF0aW9uIiwgMS4wMDEsIHNhbXBsZTNdLAorICAgICAgICBbImFuaW1hdGlvbiIsIDEu
OTk5LCBzYW1wbGUzXSwKKyAgICAgICAgWyJhbmltYXRpb24iLCAyLjAwMSwgc2FtcGxlNF0sCisg
ICAgICAgIFsiYW5pbWF0aW9uIiwgMi45OTksIHNhbXBsZTRdLAorICAgICAgICBbImFuaW1hdGlv
biIsIDMuMDAxLCBzYW1wbGU1XSwKKyAgICAgICAgWyJhbmltYXRpb24iLCAzLjk5OSwgc2FtcGxl
NV0sCisgICAgICAgIFsiYW5pbWF0aW9uIiwgNC4wMDEsIHNhbXBsZTZdLAorICAgICAgICBbImFu
aW1hdGlvbiIsIDQuOTk5LCBzYW1wbGU2XSwKKyAgICAgICAgWyJhbmltYXRpb24iLCA1LjAwMSwg
c2FtcGxlMV0KKyAgICBdOworCisgICAgcnVuQW5pbWF0aW9uVGVzdChleHBlY3RlZFZhbHVlcyk7
Cit9CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc2NyaXB0LXRlc3RzL3N2Z2VudW0tYW5pbWF0aW9uLTUuanMg
Yi9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9zY3JpcHQtdGVzdHMvc3ZnZW51bS1hbmltYXRp
b24tNS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi42NjNkNjQ2ZWE1MGQ1NWUxZTAzMjc5NGY0ZjI1MTM3MzYwYWRi
YjcwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc2NyaXB0
LXRlc3RzL3N2Z2VudW0tYW5pbWF0aW9uLTUuanMKQEAgLTAsMCArMSw2NSBAQAorZGVzY3JpcHRp
b24oIlRlc3QgTW9ycGhvbG9neU9wZXJhdG9yVHlwZSBlbnVtZXJhdGlvbiBhbmltYXRpb25zIik7
CitjcmVhdGVTVkdUZXN0Q2FzZSgpOworCisvLyBTZXR1cCB0ZXN0IGRvY3VtZW50Cit2YXIgZGVm
cyA9IGNyZWF0ZVNWR0VsZW1lbnQoImRlZnMiKTsKK3Jvb3RTVkdFbGVtZW50LmFwcGVuZENoaWxk
KGRlZnMpOworCit2YXIgbW9ycGhvbG9neSA9IGNyZWF0ZVNWR0VsZW1lbnQoImZlTW9ycGhvbG9n
eSIpOworbW9ycGhvbG9neS5zZXRBdHRyaWJ1dGUoImluIiwgIlNvdXJjZUFscGhhIik7Cittb3Jw
aG9sb2d5LnNldEF0dHJpYnV0ZSgib3BlcmF0b3IiLCAiZGlsYXRlIik7Cittb3JwaG9sb2d5LnNl
dEF0dHJpYnV0ZSgicmFkaXVzIiwgIjQiKTsKKwordmFyIGZpbHRlciA9IGNyZWF0ZVNWR0VsZW1l
bnQoImZpbHRlciIpOworZmlsdGVyLnNldEF0dHJpYnV0ZSgiaWQiLCAiZmlsdGVyIik7CitmaWx0
ZXIuc2V0QXR0cmlidXRlKCJmaWx0ZXJVbml0cyIsICJ1c2VyU3BhY2VPblVzZSIpOworZmlsdGVy
LnNldEF0dHJpYnV0ZSgieCIsICIwIik7CitmaWx0ZXIuc2V0QXR0cmlidXRlKCJ5IiwgIjAiKTsK
K2ZpbHRlci5zZXRBdHRyaWJ1dGUoIndpZHRoIiwgIjcwMCIpOworZmlsdGVyLnNldEF0dHJpYnV0
ZSgiaGVpZ2h0IiwgIjIwMCIpOworZmlsdGVyLmFwcGVuZENoaWxkKG1vcnBob2xvZ3kpOworZGVm
cy5hcHBlbmRDaGlsZChmaWx0ZXIpOworCit2YXIgcmVjdCA9IGNyZWF0ZVNWR0VsZW1lbnQoInJl
Y3QiKTsKK3JlY3Quc2V0QXR0cmlidXRlKCJpZCIsICJyZWN0Iik7CityZWN0LnNldEF0dHJpYnV0
ZSgid2lkdGgiLCAiMTAwIik7CityZWN0LnNldEF0dHJpYnV0ZSgiaGVpZ2h0IiwgIjEwMCIpOwor
cmVjdC5zZXRBdHRyaWJ1dGUoImZpbGwiLCAiIzQwODA2NyIpOworcmVjdC5zZXRBdHRyaWJ1dGUo
ImZpbHRlciIsICJ1cmwoI2ZpbHRlcikiKTsKK3JlY3Quc2V0QXR0cmlidXRlKCJvbmNsaWNrIiwg
ImV4ZWN1dGVUZXN0KCkiKTsKK3Jvb3RTVkdFbGVtZW50LmFwcGVuZENoaWxkKHJlY3QpOworCit2
YXIgYW5pbWF0ZSA9IGNyZWF0ZVNWR0VsZW1lbnQoImFuaW1hdGUiKTsKK2FuaW1hdGUuc2V0QXR0
cmlidXRlKCJpZCIsICJhbmltYXRpb24iKTsKK2FuaW1hdGUuc2V0QXR0cmlidXRlKCJhdHRyaWJ1
dGVOYW1lIiwgIm9wZXJhdG9yIik7CithbmltYXRlLnNldEF0dHJpYnV0ZSgiYmVnaW4iLCAicmVj
dC5jbGljayIpOworYW5pbWF0ZS5zZXRBdHRyaWJ1dGUoImR1ciIsICI0cyIpOworYW5pbWF0ZS5z
ZXRBdHRyaWJ1dGUoImZyb20iLCAiZGlsYXRlIik7CithbmltYXRlLnNldEF0dHJpYnV0ZSgidG8i
LCAiZXJvZGUiKTsKK21vcnBob2xvZ3kuYXBwZW5kQ2hpbGQoYW5pbWF0ZSk7CisKKy8vIFNldHVw
IGFuaW1hdGlvbiB0ZXN0CitmdW5jdGlvbiBzYW1wbGUxKCkgeworICAgIHNob3VsZEJlKCJtb3Jw
aG9sb2d5Lm9wZXJhdG9yLmFuaW1WYWwiLCAiU1ZHRkVNb3JwaG9sb2d5RWxlbWVudC5TVkdfTU9S
UEhPTE9HWV9PUEVSQVRPUl9ESUxBVEUiKTsKKyAgICBzaG91bGRCZSgibW9ycGhvbG9neS5vcGVy
YXRvci5iYXNlVmFsIiwgIlNWR0ZFTW9ycGhvbG9neUVsZW1lbnQuU1ZHX01PUlBIT0xPR1lfT1BF
UkFUT1JfRElMQVRFIik7Cit9CisKK2Z1bmN0aW9uIHNhbXBsZTIoKSB7CisgICAgc2hvdWxkQmUo
Im1vcnBob2xvZ3kub3BlcmF0b3IuYW5pbVZhbCIsICJTVkdGRU1vcnBob2xvZ3lFbGVtZW50LlNW
R19NT1JQSE9MT0dZX09QRVJBVE9SX0VST0RFIik7CisgICAgc2hvdWxkQmUoIm1vcnBob2xvZ3ku
b3BlcmF0b3IuYmFzZVZhbCIsICJTVkdGRU1vcnBob2xvZ3lFbGVtZW50LlNWR19NT1JQSE9MT0dZ
X09QRVJBVE9SX0RJTEFURSIpOworfQorCitmdW5jdGlvbiBleGVjdXRlVGVzdCgpIHsKKyAgICBj
b25zdCBleHBlY3RlZFZhbHVlcyA9IFsKKyAgICAgICAgLy8gW2FuaW1hdGlvbklkLCB0aW1lLCBz
YW1wbGVDYWxsYmFja10KKyAgICAgICAgWyJhbmltYXRpb24iLCAwLjAsICAgc2FtcGxlMV0sCisg
ICAgICAgIFsiYW5pbWF0aW9uIiwgMS45OTksIHNhbXBsZTFdLAorICAgICAgICBbImFuaW1hdGlv
biIsIDIuMDAxLCBzYW1wbGUyXSwKKyAgICAgICAgWyJhbmltYXRpb24iLCAzLjk5OSwgc2FtcGxl
Ml0sCisgICAgICAgIFsiYW5pbWF0aW9uIiwgNC4wMDEsIHNhbXBsZTFdCisgICAgXTsKKworICAg
IHJ1bkFuaW1hdGlvblRlc3QoZXhwZWN0ZWRWYWx1ZXMpOworfQorCit2YXIgc3VjY2Vzc2Z1bGx5
UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL3Nj
cmlwdC10ZXN0cy9zdmdlbnVtLWFuaW1hdGlvbi02LmpzIGIvTGF5b3V0VGVzdHMvc3ZnL2FuaW1h
dGlvbnMvc2NyaXB0LXRlc3RzL3N2Z2VudW0tYW5pbWF0aW9uLTYuanMKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzM4
NmUzZWRlNjhlZDEzNWMwN2Y5NDljY2RmMWViOTYxYjU0MWVlNgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL3NjcmlwdC10ZXN0cy9zdmdlbnVtLWFuaW1hdGlv
bi02LmpzCkBAIC0wLDAgKzEsNzcgQEAKK2Rlc2NyaXB0aW9uKCJUZXN0IENvbG9yTWF0cml4VHlw
ZSBlbnVtZXJhdGlvbiBhbmltYXRpb25zIik7CitjcmVhdGVTVkdUZXN0Q2FzZSgpOworCisvLyBT
ZXR1cCB0ZXN0IGRvY3VtZW50Cit2YXIgZGVmcyA9IGNyZWF0ZVNWR0VsZW1lbnQoImRlZnMiKTsK
K3Jvb3RTVkdFbGVtZW50LmFwcGVuZENoaWxkKGRlZnMpOworCit2YXIgY29sb3JNYXRyaXggPSBj
cmVhdGVTVkdFbGVtZW50KCJmZUNvbG9yTWF0cml4Iik7Citjb2xvck1hdHJpeC5zZXRBdHRyaWJ1
dGUoImluIiwgIlNvdXJjZUdyYXBoaWMiKTsKK2NvbG9yTWF0cml4LnNldEF0dHJpYnV0ZSgidHlw
ZSIsICJtYXRyaXgiKTsKKwordmFyIGZpbHRlciA9IGNyZWF0ZVNWR0VsZW1lbnQoImZpbHRlciIp
OworZmlsdGVyLnNldEF0dHJpYnV0ZSgiaWQiLCAiZmlsdGVyIik7CitmaWx0ZXIuc2V0QXR0cmli
dXRlKCJmaWx0ZXJVbml0cyIsICJ1c2VyU3BhY2VPblVzZSIpOworZmlsdGVyLnNldEF0dHJpYnV0
ZSgieCIsICIwIik7CitmaWx0ZXIuc2V0QXR0cmlidXRlKCJ5IiwgIjAiKTsKK2ZpbHRlci5zZXRB
dHRyaWJ1dGUoIndpZHRoIiwgIjcwMCIpOworZmlsdGVyLnNldEF0dHJpYnV0ZSgiaGVpZ2h0Iiwg
IjIwMCIpOworZmlsdGVyLmFwcGVuZENoaWxkKGNvbG9yTWF0cml4KTsKK2RlZnMuYXBwZW5kQ2hp
bGQoZmlsdGVyKTsKKwordmFyIHJlY3QgPSBjcmVhdGVTVkdFbGVtZW50KCJyZWN0Iik7CityZWN0
LnNldEF0dHJpYnV0ZSgiaWQiLCAicmVjdCIpOworcmVjdC5zZXRBdHRyaWJ1dGUoIndpZHRoIiwg
IjEwMCIpOworcmVjdC5zZXRBdHRyaWJ1dGUoImhlaWdodCIsICIxMDAiKTsKK3JlY3Quc2V0QXR0
cmlidXRlKCJmaWxsIiwgIiM0MDgwNjciKTsKK3JlY3Quc2V0QXR0cmlidXRlKCJmaWx0ZXIiLCAi
dXJsKCNmaWx0ZXIpIik7CityZWN0LnNldEF0dHJpYnV0ZSgib25jbGljayIsICJleGVjdXRlVGVz
dCgpIik7Cityb290U1ZHRWxlbWVudC5hcHBlbmRDaGlsZChyZWN0KTsKKwordmFyIGFuaW1hdGUg
PSBjcmVhdGVTVkdFbGVtZW50KCJhbmltYXRlIik7CithbmltYXRlLnNldEF0dHJpYnV0ZSgiaWQi
LCAiYW5pbWF0aW9uIik7CithbmltYXRlLnNldEF0dHJpYnV0ZSgiYXR0cmlidXRlTmFtZSIsICJ0
eXBlIik7CithbmltYXRlLnNldEF0dHJpYnV0ZSgiYmVnaW4iLCAicmVjdC5jbGljayIpOworYW5p
bWF0ZS5zZXRBdHRyaWJ1dGUoImR1ciIsICI0cyIpOworYW5pbWF0ZS5zZXRBdHRyaWJ1dGUoInZh
bHVlcyIsICJtYXRyaXg7c2F0dXJhdGU7aHVlUm90YXRlO2x1bWluYW5jZVRvQWxwaGEiKTsKK2Nv
bG9yTWF0cml4LmFwcGVuZENoaWxkKGFuaW1hdGUpOworCisvLyBTZXR1cCBhbmltYXRpb24gdGVz
dAorZnVuY3Rpb24gc2FtcGxlMSgpIHsKKyAgICBzaG91bGRCZSgiY29sb3JNYXRyaXgudHlwZS5h
bmltVmFsIiwgIlNWR0ZFQ29sb3JNYXRyaXhFbGVtZW50LlNWR19GRUNPTE9STUFUUklYX1RZUEVf
TUFUUklYIik7CisgICAgc2hvdWxkQmUoImNvbG9yTWF0cml4LnR5cGUuYmFzZVZhbCIsICJTVkdG
RUNvbG9yTWF0cml4RWxlbWVudC5TVkdfRkVDT0xPUk1BVFJJWF9UWVBFX01BVFJJWCIpOworfQor
CitmdW5jdGlvbiBzYW1wbGUyKCkgeworICAgIHNob3VsZEJlKCJjb2xvck1hdHJpeC50eXBlLmFu
aW1WYWwiLCAiU1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQuU1ZHX0ZFQ09MT1JNQVRSSVhfVFlQRV9T
QVRVUkFURSIpOworICAgIHNob3VsZEJlKCJjb2xvck1hdHJpeC50eXBlLmJhc2VWYWwiLCAiU1ZH
RkVDb2xvck1hdHJpeEVsZW1lbnQuU1ZHX0ZFQ09MT1JNQVRSSVhfVFlQRV9NQVRSSVgiKTsKK30K
KworZnVuY3Rpb24gc2FtcGxlMygpIHsKKyAgICBzaG91bGRCZSgiY29sb3JNYXRyaXgudHlwZS5h
bmltVmFsIiwgIlNWR0ZFQ29sb3JNYXRyaXhFbGVtZW50LlNWR19GRUNPTE9STUFUUklYX1RZUEVf
SFVFUk9UQVRFIik7CisgICAgc2hvdWxkQmUoImNvbG9yTWF0cml4LnR5cGUuYmFzZVZhbCIsICJT
VkdGRUNvbG9yTWF0cml4RWxlbWVudC5TVkdfRkVDT0xPUk1BVFJJWF9UWVBFX01BVFJJWCIpOwor
fQorCitmdW5jdGlvbiBzYW1wbGU0KCkgeworICAgIHNob3VsZEJlKCJjb2xvck1hdHJpeC50eXBl
LmFuaW1WYWwiLCAiU1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQuU1ZHX0ZFQ09MT1JNQVRSSVhfVFlQ
RV9MVU1JTkFOQ0VUT0FMUEhBIik7CisgICAgc2hvdWxkQmUoImNvbG9yTWF0cml4LnR5cGUuYmFz
ZVZhbCIsICJTVkdGRUNvbG9yTWF0cml4RWxlbWVudC5TVkdfRkVDT0xPUk1BVFJJWF9UWVBFX01B
VFJJWCIpOworfQorCitmdW5jdGlvbiBleGVjdXRlVGVzdCgpIHsKKyAgICBjb25zdCBleHBlY3Rl
ZFZhbHVlcyA9IFsKKyAgICAgICAgLy8gW2FuaW1hdGlvbklkLCB0aW1lLCBzYW1wbGVDYWxsYmFj
a10KKyAgICAgICAgWyJhbmltYXRpb24iLCAwLjAsICAgc2FtcGxlMV0sCisgICAgICAgIFsiYW5p
bWF0aW9uIiwgMC45OTksIHNhbXBsZTFdLAorICAgICAgICBbImFuaW1hdGlvbiIsIDEuMDAxLCBz
YW1wbGUyXSwKKyAgICAgICAgWyJhbmltYXRpb24iLCAxLjk5OSwgc2FtcGxlMl0sCisgICAgICAg
IFsiYW5pbWF0aW9uIiwgMi4wMDEsIHNhbXBsZTNdLAorICAgICAgICBbImFuaW1hdGlvbiIsIDIu
OTk5LCBzYW1wbGUzXSwKKyAgICAgICAgWyJhbmltYXRpb24iLCAzLjAwMSwgc2FtcGxlNF0sCisg
ICAgICAgIFsiYW5pbWF0aW9uIiwgMy45OTksIHNhbXBsZTRdLAorICAgICAgICBbImFuaW1hdGlv
biIsIDQuMDAxLCBzYW1wbGUxXQorICAgIF07CisKKyAgICBydW5BbmltYXRpb25UZXN0KGV4cGVj
dGVkVmFsdWVzKTsKK30KKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9zY3JpcHQtdGVzdHMvc3ZnZW51bS1hbmlt
YXRpb24tNy5qcyBiL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL3NjcmlwdC10ZXN0cy9zdmdl
bnVtLWFuaW1hdGlvbi03LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE5MzBmODFlZDg0M2E3MzY0ZWE5MjYxOGE4
MzRiNjZiMDYxMGZmYjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0
aW9ucy9zY3JpcHQtdGVzdHMvc3ZnZW51bS1hbmltYXRpb24tNy5qcwpAQCAtMCwwICsxLDgyIEBA
CitkZXNjcmlwdGlvbigiVGVzdCBTVkdTdGl0Y2hPcHRpb25zL1R1cmJ1bGVuY2VUeXBlIGVudW1l
cmF0aW9uIGFuaW1hdGlvbnMiKTsKK2NyZWF0ZVNWR1Rlc3RDYXNlKCk7CisKKy8vIFNldHVwIHRl
c3QgZG9jdW1lbnQKK3ZhciBkZWZzID0gY3JlYXRlU1ZHRWxlbWVudCgiZGVmcyIpOworcm9vdFNW
R0VsZW1lbnQuYXBwZW5kQ2hpbGQoZGVmcyk7CisKK3ZhciBmaWx0ZXIgPSBjcmVhdGVTVkdFbGVt
ZW50KCJmaWx0ZXIiKTsKK2ZpbHRlci5zZXRBdHRyaWJ1dGUoImlkIiwgImZpbHRlciIpOworZmls
dGVyLnNldEF0dHJpYnV0ZSgiZmlsdGVyVW5pdHMiLCAidXNlclNwYWNlT25Vc2UiKTsKK2ZpbHRl
ci5zZXRBdHRyaWJ1dGUoIngiLCAiMCIpOworZmlsdGVyLnNldEF0dHJpYnV0ZSgieSIsICIwIik7
CitmaWx0ZXIuc2V0QXR0cmlidXRlKCJ3aWR0aCIsICI3MDAiKTsKK2ZpbHRlci5zZXRBdHRyaWJ1
dGUoImhlaWdodCIsICIyMDAiKTsKK2RlZnMuYXBwZW5kQ2hpbGQoZmlsdGVyKTsKKwordmFyIHR1
cmJ1bGVuY2UgPSBjcmVhdGVTVkdFbGVtZW50KCJmZVR1cmJ1bGVuY2UiKTsKK3R1cmJ1bGVuY2Uu
c2V0QXR0cmlidXRlKCJpbiIsICJmb28iKTsKK3R1cmJ1bGVuY2Uuc2V0QXR0cmlidXRlKCJiYXNl
RnJlcXVlbmN5IiwgIjAuMDUiKTsKK3R1cmJ1bGVuY2Uuc2V0QXR0cmlidXRlKCJudW1PY3RhdmVz
IiwgIjMiKTsKK3R1cmJ1bGVuY2Uuc2V0QXR0cmlidXRlKCJzZWVkIiwgIjUiKTsKK3R1cmJ1bGVu
Y2Uuc2V0QXR0cmlidXRlKCJzdGl0Y2hUaWxlcyIsICJzdGl0Y2giKTsKK3R1cmJ1bGVuY2Uuc2V0
QXR0cmlidXRlKCJ0eXBlIiwgImZyYWN0YWxOb2lzZSIpOworZmlsdGVyLmFwcGVuZENoaWxkKHR1
cmJ1bGVuY2UpOworCit2YXIgcmVjdCA9IGNyZWF0ZVNWR0VsZW1lbnQoInJlY3QiKTsKK3JlY3Qu
c2V0QXR0cmlidXRlKCJpZCIsICJyZWN0Iik7CityZWN0LnNldEF0dHJpYnV0ZSgid2lkdGgiLCAi
MTAwIik7CityZWN0LnNldEF0dHJpYnV0ZSgiaGVpZ2h0IiwgIjEwMCIpOworcmVjdC5zZXRBdHRy
aWJ1dGUoImZpbGwiLCAiIzQwODA2NyIpOworcmVjdC5zZXRBdHRyaWJ1dGUoImZpbHRlciIsICJ1
cmwoI2ZpbHRlcikiKTsKK3JlY3Quc2V0QXR0cmlidXRlKCJvbmNsaWNrIiwgImV4ZWN1dGVUZXN0
KCkiKTsKK3Jvb3RTVkdFbGVtZW50LmFwcGVuZENoaWxkKHJlY3QpOworCit2YXIgYW5pbWF0ZTEg
PSBjcmVhdGVTVkdFbGVtZW50KCJhbmltYXRlIik7CithbmltYXRlMS5zZXRBdHRyaWJ1dGUoImlk
IiwgImFuaW1hdGlvbiIpOworYW5pbWF0ZTEuc2V0QXR0cmlidXRlKCJhdHRyaWJ1dGVOYW1lIiwg
InR5cGUiKTsKK2FuaW1hdGUxLnNldEF0dHJpYnV0ZSgiYmVnaW4iLCAicmVjdC5jbGljayIpOwor
YW5pbWF0ZTEuc2V0QXR0cmlidXRlKCJkdXIiLCAiNHMiKTsKK2FuaW1hdGUxLnNldEF0dHJpYnV0
ZSgiZnJvbSIsICJmcmFjdGFsTm9pc2UiKTsKK2FuaW1hdGUxLnNldEF0dHJpYnV0ZSgidG8iLCAi
dHVyYnVsZW5jZSIpOwordHVyYnVsZW5jZS5hcHBlbmRDaGlsZChhbmltYXRlMSk7CisKK3ZhciBh
bmltYXRlMiA9IGNyZWF0ZVNWR0VsZW1lbnQoImFuaW1hdGUiKTsKK2FuaW1hdGUyLnNldEF0dHJp
YnV0ZSgiYXR0cmlidXRlTmFtZSIsICJzdGl0Y2hUaWxlcyIpOworYW5pbWF0ZTIuc2V0QXR0cmli
dXRlKCJiZWdpbiIsICJyZWN0LmNsaWNrIik7CithbmltYXRlMi5zZXRBdHRyaWJ1dGUoImR1ciIs
ICI0cyIpOworYW5pbWF0ZTIuc2V0QXR0cmlidXRlKCJmcm9tIiwgInN0aXRjaCIpOworYW5pbWF0
ZTIuc2V0QXR0cmlidXRlKCJ0byIsICJub1N0aXRjaCIpOwordHVyYnVsZW5jZS5hcHBlbmRDaGls
ZChhbmltYXRlMik7CisKKy8vIFNldHVwIGFuaW1hdGlvbiB0ZXN0CitmdW5jdGlvbiBzYW1wbGUx
KCkgeworICAgIHNob3VsZEJlKCJ0dXJidWxlbmNlLnR5cGUuYW5pbVZhbCIsICJTVkdGRVR1cmJ1
bGVuY2VFbGVtZW50LlNWR19UVVJCVUxFTkNFX1RZUEVfRlJBQ1RBTE5PSVNFIik7CisgICAgc2hv
dWxkQmUoInR1cmJ1bGVuY2UudHlwZS5iYXNlVmFsIiwgIlNWR0ZFVHVyYnVsZW5jZUVsZW1lbnQu
U1ZHX1RVUkJVTEVOQ0VfVFlQRV9GUkFDVEFMTk9JU0UiKTsKKworICAgIHNob3VsZEJlKCJ0dXJi
dWxlbmNlLnN0aXRjaFRpbGVzLmFuaW1WYWwiLCAiU1ZHRkVUdXJidWxlbmNlRWxlbWVudC5TVkdf
U1RJVENIVFlQRV9TVElUQ0giKTsKKyAgICBzaG91bGRCZSgidHVyYnVsZW5jZS5zdGl0Y2hUaWxl
cy5iYXNlVmFsIiwgIlNWR0ZFVHVyYnVsZW5jZUVsZW1lbnQuU1ZHX1NUSVRDSFRZUEVfU1RJVENI
Iik7Cit9CisKK2Z1bmN0aW9uIHNhbXBsZTIoKSB7CisgICAgc2hvdWxkQmUoInR1cmJ1bGVuY2Uu
dHlwZS5hbmltVmFsIiwgIlNWR0ZFVHVyYnVsZW5jZUVsZW1lbnQuU1ZHX1RVUkJVTEVOQ0VfVFlQ
RV9UVVJCVUxFTkNFIik7CisgICAgc2hvdWxkQmUoInR1cmJ1bGVuY2UudHlwZS5iYXNlVmFsIiwg
IlNWR0ZFVHVyYnVsZW5jZUVsZW1lbnQuU1ZHX1RVUkJVTEVOQ0VfVFlQRV9GUkFDVEFMTk9JU0Ui
KTsKKworICAgIHNob3VsZEJlKCJ0dXJidWxlbmNlLnN0aXRjaFRpbGVzLmFuaW1WYWwiLCAiU1ZH
RkVUdXJidWxlbmNlRWxlbWVudC5TVkdfU1RJVENIVFlQRV9OT1NUSVRDSCIpOworICAgIHNob3Vs
ZEJlKCJ0dXJidWxlbmNlLnN0aXRjaFRpbGVzLmJhc2VWYWwiLCAiU1ZHRkVUdXJidWxlbmNlRWxl
bWVudC5TVkdfU1RJVENIVFlQRV9TVElUQ0giKTsKK30KKworZnVuY3Rpb24gZXhlY3V0ZVRlc3Qo
KSB7CisgICAgY29uc3QgZXhwZWN0ZWRWYWx1ZXMgPSBbCisgICAgICAgIC8vIFthbmltYXRpb25J
ZCwgdGltZSwgc2FtcGxlQ2FsbGJhY2tdCisgICAgICAgIFsiYW5pbWF0aW9uIiwgMC4wLCAgIHNh
bXBsZTFdLAorICAgICAgICBbImFuaW1hdGlvbiIsIDEuOTk5LCBzYW1wbGUxXSwKKyAgICAgICAg
WyJhbmltYXRpb24iLCAyLjAwMSwgc2FtcGxlMl0sCisgICAgICAgIFsiYW5pbWF0aW9uIiwgMy45
OTksIHNhbXBsZTJdLAorICAgICAgICBbImFuaW1hdGlvbiIsIDQuMDAxLCBzYW1wbGUxXQorICAg
IF07CisKKyAgICBydW5BbmltYXRpb25UZXN0KGV4cGVjdGVkVmFsdWVzKTsKK30KKwordmFyIHN1
Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvYW5p
bWF0aW9ucy9zY3JpcHQtdGVzdHMvc3ZnZW51bS1hbmltYXRpb24tOC5qcyBiL0xheW91dFRlc3Rz
L3N2Zy9hbmltYXRpb25zL3NjcmlwdC10ZXN0cy9zdmdlbnVtLWFuaW1hdGlvbi04LmpzCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjI1NmRhYWQ3OTY1YjVmMTcyNDRhY2RkZTIzMzNhN2Y1YTMwOTg1ZTAKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9zY3JpcHQtdGVzdHMvc3ZnZW51
bS1hbmltYXRpb24tOC5qcwpAQCAtMCwwICsxLDEwMiBAQAorZGVzY3JpcHRpb24oIlRlc3QgQ29t
cG9uZW50VHJhbnNmZXJUeXBlIGVudW1lcmF0aW9uIGFuaW1hdGlvbnMiKTsKK2NyZWF0ZVNWR1Rl
c3RDYXNlKCk7CisKKy8vIFNldHVwIHRlc3QgZG9jdW1lbnQKK3ZhciBmZVJGdW5jID0gY3JlYXRl
U1ZHRWxlbWVudCgiZmVGdW5jUiIpOworZmVSRnVuYy5zZXRBdHRyaWJ1dGUoInR5cGUiLCAiaWRl
bnRpdHkiKTsKK2ZlUkZ1bmMuc2V0QXR0cmlidXRlKCJhbXBsaXR1ZGUiLCAiMTAiKTsKKwordmFy
IGZlR0Z1bmMgPSBjcmVhdGVTVkdFbGVtZW50KCJmZUZ1bmNHIik7CitmZUdGdW5jLnNldEF0dHJp
YnV0ZSgidHlwZSIsICJpZGVudGl0eSIpOworZmVHRnVuYy5zZXRBdHRyaWJ1dGUoImFtcGxpdHVk
ZSIsICIxMCIpOworCit2YXIgZmVCRnVuYyA9IGNyZWF0ZVNWR0VsZW1lbnQoImZlRnVuY0IiKTsK
K2ZlQkZ1bmMuc2V0QXR0cmlidXRlKCJ0eXBlIiwgImlkZW50aXR5Iik7CitmZUJGdW5jLnNldEF0
dHJpYnV0ZSgiYW1wbGl0dWRlIiwgIjExMCIpOworCit2YXIgZmVBRnVuYyA9IGNyZWF0ZVNWR0Vs
ZW1lbnQoImZlRnVuY0EiKTsKK2ZlQUZ1bmMuc2V0QXR0cmlidXRlKCJ0eXBlIiwgImlkZW50aXR5
Iik7CitmZUFGdW5jLnNldEF0dHJpYnV0ZSgiYW1wbGl0dWRlIiwgIjExMCIpOworCit2YXIgZmVD
b21wb25lbnRUcmFuc2ZlciA9IGNyZWF0ZVNWR0VsZW1lbnQoImZlQ29tcG9uZW50VHJhbnNmZXIi
KTsKK2ZlQ29tcG9uZW50VHJhbnNmZXIuYXBwZW5kQ2hpbGQoZmVSRnVuYyk7CitmZUNvbXBvbmVu
dFRyYW5zZmVyLmFwcGVuZENoaWxkKGZlR0Z1bmMpOworZmVDb21wb25lbnRUcmFuc2Zlci5hcHBl
bmRDaGlsZChmZUJGdW5jKTsKK2ZlQ29tcG9uZW50VHJhbnNmZXIuYXBwZW5kQ2hpbGQoZmVBRnVu
Yyk7CisKK3ZhciBmaWx0ZXIgPSBjcmVhdGVTVkdFbGVtZW50KCJmaWx0ZXIiKTsKK2ZpbHRlci5z
ZXRBdHRyaWJ1dGUoImlkIiwgImZpbHRlciIpOworZmlsdGVyLnNldEF0dHJpYnV0ZSgiZmlsdGVy
VW5pdHMiLCAib2JqZWN0Qm91bmRpbmdCb3giKTsKK2ZpbHRlci5zZXRBdHRyaWJ1dGUoIngiLCAi
MCUiKTsKK2ZpbHRlci5zZXRBdHRyaWJ1dGUoInkiLCAiMCUiKTsKK2ZpbHRlci5zZXRBdHRyaWJ1
dGUoIndpZHRoIiwgIjEwMCUiKTsKK2ZpbHRlci5zZXRBdHRyaWJ1dGUoImhlaWdodCIsICIxMDAl
Iik7CitmaWx0ZXIuYXBwZW5kQ2hpbGQoZmVDb21wb25lbnRUcmFuc2Zlcik7CisKK3ZhciBkZWZz
ID0gY3JlYXRlU1ZHRWxlbWVudCgiZGVmcyIpOworZGVmcy5hcHBlbmRDaGlsZChmaWx0ZXIpOwor
cm9vdFNWR0VsZW1lbnQuYXBwZW5kQ2hpbGQoZGVmcyk7CisKK3ZhciByZWN0ID0gY3JlYXRlU1ZH
RWxlbWVudCgicmVjdCIpOworcmVjdC5zZXRBdHRyaWJ1dGUoImlkIiwgInJlY3QiKTsKK3JlY3Qu
c2V0QXR0cmlidXRlKCJ3aWR0aCIsICIxMDAiKTsKK3JlY3Quc2V0QXR0cmlidXRlKCJoZWlnaHQi
LCAiMTAwIik7CityZWN0LnNldEF0dHJpYnV0ZSgiZmlsbCIsICIjNDA4MDY3Iik7CityZWN0LnNl
dEF0dHJpYnV0ZSgiZmlsdGVyIiwgInVybCgjZmlsdGVyKSIpOworcmVjdC5zZXRBdHRyaWJ1dGUo
Im9uY2xpY2siLCAiZXhlY3V0ZVRlc3QoKSIpOworcm9vdFNWR0VsZW1lbnQuYXBwZW5kQ2hpbGQo
cmVjdCk7CisKK3ZhciBhbmltYXRlID0gY3JlYXRlU1ZHRWxlbWVudCgiYW5pbWF0ZSIpOworYW5p
bWF0ZS5zZXRBdHRyaWJ1dGUoImlkIiwgImFuaW1hdGlvbiIpOworYW5pbWF0ZS5zZXRBdHRyaWJ1
dGUoImF0dHJpYnV0ZU5hbWUiLCAidHlwZSIpOworYW5pbWF0ZS5zZXRBdHRyaWJ1dGUoImJlZ2lu
IiwgInJlY3QuY2xpY2siKTsKK2FuaW1hdGUuc2V0QXR0cmlidXRlKCJkdXIiLCAiNXMiKTsKK2Fu
aW1hdGUuc2V0QXR0cmlidXRlKCJ2YWx1ZXMiLCAiaWRlbnRpdHk7dGFibGU7ZGlzY3JldGU7bGlu
ZWFyO2dhbW1hIik7CitmZVJGdW5jLmFwcGVuZENoaWxkKGFuaW1hdGUpOworCisvLyBTZXR1cCBh
bmltYXRpb24gdGVzdAorZnVuY3Rpb24gc2FtcGxlMSgpIHsKKyAgICBzaG91bGRCZSgiZmVSRnVu
Yy50eXBlLmFuaW1WYWwiLCAiU1ZHQ29tcG9uZW50VHJhbnNmZXJGdW5jdGlvbkVsZW1lbnQuU1ZH
X0ZFQ09NUE9ORU5UVFJBTlNGRVJfVFlQRV9JREVOVElUWSIpOworICAgIHNob3VsZEJlKCJmZVJG
dW5jLnR5cGUuYmFzZVZhbCIsICJTVkdDb21wb25lbnRUcmFuc2ZlckZ1bmN0aW9uRWxlbWVudC5T
VkdfRkVDT01QT05FTlRUUkFOU0ZFUl9UWVBFX0lERU5USVRZIik7Cit9CisKK2Z1bmN0aW9uIHNh
bXBsZTIoKSB7CisgICAgc2hvdWxkQmUoImZlUkZ1bmMudHlwZS5hbmltVmFsIiwgIlNWR0NvbXBv
bmVudFRyYW5zZmVyRnVuY3Rpb25FbGVtZW50LlNWR19GRUNPTVBPTkVOVFRSQU5TRkVSX1RZUEVf
VEFCTEUiKTsKKyAgICBzaG91bGRCZSgiZmVSRnVuYy50eXBlLmJhc2VWYWwiLCAiU1ZHQ29tcG9u
ZW50VHJhbnNmZXJGdW5jdGlvbkVsZW1lbnQuU1ZHX0ZFQ09NUE9ORU5UVFJBTlNGRVJfVFlQRV9J
REVOVElUWSIpOworfQorCitmdW5jdGlvbiBzYW1wbGUzKCkgeworICAgIHNob3VsZEJlKCJmZVJG
dW5jLnR5cGUuYW5pbVZhbCIsICJTVkdDb21wb25lbnRUcmFuc2ZlckZ1bmN0aW9uRWxlbWVudC5T
VkdfRkVDT01QT05FTlRUUkFOU0ZFUl9UWVBFX0RJU0NSRVRFIik7CisgICAgc2hvdWxkQmUoImZl
UkZ1bmMudHlwZS5iYXNlVmFsIiwgIlNWR0NvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb25FbGVtZW50
LlNWR19GRUNPTVBPTkVOVFRSQU5TRkVSX1RZUEVfSURFTlRJVFkiKTsKK30KKworZnVuY3Rpb24g
c2FtcGxlNCgpIHsKKyAgICBzaG91bGRCZSgiZmVSRnVuYy50eXBlLmFuaW1WYWwiLCAiU1ZHQ29t
cG9uZW50VHJhbnNmZXJGdW5jdGlvbkVsZW1lbnQuU1ZHX0ZFQ09NUE9ORU5UVFJBTlNGRVJfVFlQ
RV9MSU5FQVIiKTsKKyAgICBzaG91bGRCZSgiZmVSRnVuYy50eXBlLmJhc2VWYWwiLCAiU1ZHQ29t
cG9uZW50VHJhbnNmZXJGdW5jdGlvbkVsZW1lbnQuU1ZHX0ZFQ09NUE9ORU5UVFJBTlNGRVJfVFlQ
RV9JREVOVElUWSIpOworfQorCitmdW5jdGlvbiBzYW1wbGU1KCkgeworICAgIHNob3VsZEJlKCJm
ZVJGdW5jLnR5cGUuYW5pbVZhbCIsICJTVkdDb21wb25lbnRUcmFuc2ZlckZ1bmN0aW9uRWxlbWVu
dC5TVkdfRkVDT01QT05FTlRUUkFOU0ZFUl9UWVBFX0dBTU1BIik7CisgICAgc2hvdWxkQmUoImZl
UkZ1bmMudHlwZS5iYXNlVmFsIiwgIlNWR0NvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb25FbGVtZW50
LlNWR19GRUNPTVBPTkVOVFRSQU5TRkVSX1RZUEVfSURFTlRJVFkiKTsKK30KKworZnVuY3Rpb24g
ZXhlY3V0ZVRlc3QoKSB7CisgICAgY29uc3QgZXhwZWN0ZWRWYWx1ZXMgPSBbCisgICAgICAgIC8v
IFthbmltYXRpb25JZCwgdGltZSwgc2FtcGxlQ2FsbGJhY2tdCisgICAgICAgIFsiYW5pbWF0aW9u
IiwgMC4wLCAgIHNhbXBsZTFdLAorICAgICAgICBbImFuaW1hdGlvbiIsIDAuOTk5LCBzYW1wbGUx
XSwKKyAgICAgICAgWyJhbmltYXRpb24iLCAxLjAwMSwgc2FtcGxlMl0sCisgICAgICAgIFsiYW5p
bWF0aW9uIiwgMS45OTksIHNhbXBsZTJdLAorICAgICAgICBbImFuaW1hdGlvbiIsIDIuMDAxLCBz
YW1wbGUzXSwKKyAgICAgICAgWyJhbmltYXRpb24iLCAyLjk5OSwgc2FtcGxlM10sCisgICAgICAg
IFsiYW5pbWF0aW9uIiwgMy4wMDEsIHNhbXBsZTRdLAorICAgICAgICBbImFuaW1hdGlvbiIsIDMu
OTk5LCBzYW1wbGU0XSwKKyAgICAgICAgWyJhbmltYXRpb24iLCA0LjAwMSwgc2FtcGxlNV0sCisg
ICAgICAgIFsiYW5pbWF0aW9uIiwgNC45OTksIHNhbXBsZTVdLAorICAgICAgICBbImFuaW1hdGlv
biIsIDUuMDAxLCBzYW1wbGUxXQorICAgIF07CisKKyAgICBydW5BbmltYXRpb25UZXN0KGV4cGVj
dGVkVmFsdWVzKTsKK30KKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9zY3JpcHQtdGVzdHMvc3ZnZW51bS1hbmlt
YXRpb24tOS5qcyBiL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL3NjcmlwdC10ZXN0cy9zdmdl
bnVtLWFuaW1hdGlvbi05LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjViOTkwZTE3YWNhODc2ZTU1YjQ2OWRhOWQ3
NThiZDFjMzVkOTZiOGQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0
aW9ucy9zY3JpcHQtdGVzdHMvc3ZnZW51bS1hbmltYXRpb24tOS5qcwpAQCAtMCwwICsxLDcxIEBA
CitkZXNjcmlwdGlvbigiVGVzdCBTVkdUZXh0UGF0aFNwYWNpbmdUeXBlL1NWR1RleHRQYXRoTWV0
aG9kVHlwZSBlbnVtZXJhdGlvbiBhbmltYXRpb25zIik7CitjcmVhdGVTVkdUZXN0Q2FzZSgpOwor
CisvLyBTZXR1cCB0ZXN0IGRvY3VtZW50Cit2YXIgcGF0aCA9IGNyZWF0ZVNWR0VsZW1lbnQoInBh
dGgiKTsKK3BhdGguc2V0QXR0cmlidXRlKCJpZCIsICJwYXRoIik7CitwYXRoLnNldEF0dHJpYnV0
ZSgiZCIsICJNIDUwIDUwIEwgMjAwIDUwIik7Cityb290U1ZHRWxlbWVudC5hcHBlbmRDaGlsZChw
YXRoKTsKKwordmFyIHRleHQgPSBjcmVhdGVTVkdFbGVtZW50KCJ0ZXh0Iik7Cit0ZXh0LnNldEF0
dHJpYnV0ZSgiaWQiLCAidGV4dCIpOwordGV4dC5zZXRBdHRyaWJ1dGUoIm9uY2xpY2siLCAiZXhl
Y3V0ZVRlc3QoKSIpOworcm9vdFNWR0VsZW1lbnQuYXBwZW5kQ2hpbGQodGV4dCk7CisKK3ZhciB0
ZXh0UGF0aCA9IGNyZWF0ZVNWR0VsZW1lbnQoInRleHRQYXRoIik7Cit0ZXh0UGF0aC5zZXRBdHRy
aWJ1dGVOUyh4bGlua05TLCAieGxpbms6aHJlZiIsICIjcGF0aCIpOwordGV4dFBhdGguc2V0QXR0
cmlidXRlKCJzcGFjaW5nIiwgImF1dG8iKTsKK3RleHRQYXRoLnNldEF0dHJpYnV0ZSgibWV0aG9k
IiwgImFsaWduIik7Cit0ZXh0UGF0aC50ZXh0Q29udGVudCA9ICJ0ZXN0IjsKK3RleHQuYXBwZW5k
Q2hpbGQodGV4dFBhdGgpOworCit2YXIgYW5pbWF0ZTEgPSBjcmVhdGVTVkdFbGVtZW50KCJhbmlt
YXRlIik7CithbmltYXRlMS5zZXRBdHRyaWJ1dGUoImlkIiwgImFuaW1hdGlvbiIpOworYW5pbWF0
ZTEuc2V0QXR0cmlidXRlKCJhdHRyaWJ1dGVOYW1lIiwgInNwYWNpbmciKTsKK2FuaW1hdGUxLnNl
dEF0dHJpYnV0ZSgiYmVnaW4iLCAidGV4dC5jbGljayIpOworYW5pbWF0ZTEuc2V0QXR0cmlidXRl
KCJkdXIiLCAiNHMiKTsKK2FuaW1hdGUxLnNldEF0dHJpYnV0ZSgiZnJvbSIsICJhdXRvIik7Cith
bmltYXRlMS5zZXRBdHRyaWJ1dGUoInRvIiwgImV4YWN0Iik7CithbmltYXRlMS5zZXRBdHRyaWJ1
dGUoImZpbGwiLCAiZnJlZXplIik7Cit0ZXh0UGF0aC5hcHBlbmRDaGlsZChhbmltYXRlMSk7CisK
K3ZhciBhbmltYXRlMiA9IGNyZWF0ZVNWR0VsZW1lbnQoImFuaW1hdGUiKTsKK2FuaW1hdGUyLnNl
dEF0dHJpYnV0ZSgiYXR0cmlidXRlTmFtZSIsICJtZXRob2QiKTsKK2FuaW1hdGUyLnNldEF0dHJp
YnV0ZSgiYmVnaW4iLCAidGV4dC5jbGljayIpOworYW5pbWF0ZTIuc2V0QXR0cmlidXRlKCJkdXIi
LCAiNHMiKTsKK2FuaW1hdGUyLnNldEF0dHJpYnV0ZSgiZnJvbSIsICJhbGlnbiIpOworYW5pbWF0
ZTIuc2V0QXR0cmlidXRlKCJ0byIsICJzdHJldGNoIik7CithbmltYXRlMi5zZXRBdHRyaWJ1dGUo
ImZpbGwiLCAiZnJlZXplIik7Cit0ZXh0UGF0aC5hcHBlbmRDaGlsZChhbmltYXRlMik7CisKKy8v
IFNldHVwIGFuaW1hdGlvbiB0ZXN0CitmdW5jdGlvbiBzYW1wbGUxKCkgeworICAgIHNob3VsZEJl
KCJ0ZXh0UGF0aC5tZXRob2QuYW5pbVZhbCIsICJTVkdUZXh0UGF0aEVsZW1lbnQuVEVYVFBBVEhf
TUVUSE9EVFlQRV9BTElHTiIpOworICAgIHNob3VsZEJlKCJ0ZXh0UGF0aC5tZXRob2QuYmFzZVZh
bCIsICJTVkdUZXh0UGF0aEVsZW1lbnQuVEVYVFBBVEhfTUVUSE9EVFlQRV9BTElHTiIpOworCisg
ICAgc2hvdWxkQmUoInRleHRQYXRoLnNwYWNpbmcuYW5pbVZhbCIsICJTVkdUZXh0UGF0aEVsZW1l
bnQuVEVYVFBBVEhfU1BBQ0lOR1RZUEVfQVVUTyIpOworICAgIHNob3VsZEJlKCJ0ZXh0UGF0aC5z
cGFjaW5nLmJhc2VWYWwiLCAiU1ZHVGV4dFBhdGhFbGVtZW50LlRFWFRQQVRIX1NQQUNJTkdUWVBF
X0FVVE8iKTsKK30KKworZnVuY3Rpb24gc2FtcGxlMigpIHsKKyAgICBzaG91bGRCZSgidGV4dFBh
dGgubWV0aG9kLmFuaW1WYWwiLCAiU1ZHVGV4dFBhdGhFbGVtZW50LlRFWFRQQVRIX01FVEhPRFRZ
UEVfU1RSRVRDSCIpOworICAgIHNob3VsZEJlKCJ0ZXh0UGF0aC5tZXRob2QuYmFzZVZhbCIsICJT
VkdUZXh0UGF0aEVsZW1lbnQuVEVYVFBBVEhfTUVUSE9EVFlQRV9BTElHTiIpOworCisgICAgc2hv
dWxkQmUoInRleHRQYXRoLnNwYWNpbmcuYW5pbVZhbCIsICJTVkdUZXh0UGF0aEVsZW1lbnQuVEVY
VFBBVEhfU1BBQ0lOR1RZUEVfRVhBQ1QiKTsKKyAgICBzaG91bGRCZSgidGV4dFBhdGguc3BhY2lu
Zy5iYXNlVmFsIiwgIlNWR1RleHRQYXRoRWxlbWVudC5URVhUUEFUSF9TUEFDSU5HVFlQRV9BVVRP
Iik7Cit9CisKK2Z1bmN0aW9uIGV4ZWN1dGVUZXN0KCkgeworICAgIGNvbnN0IGV4cGVjdGVkVmFs
dWVzID0gWworICAgICAgICAvLyBbYW5pbWF0aW9uSWQsIHRpbWUsIHNhbXBsZUNhbGxiYWNrXQor
ICAgICAgICBbImFuaW1hdGlvbiIsIDAuMCwgICBzYW1wbGUxXSwKKyAgICAgICAgWyJhbmltYXRp
b24iLCAxLjk5OSwgc2FtcGxlMV0sCisgICAgICAgIFsiYW5pbWF0aW9uIiwgMi4wMDEsIHNhbXBs
ZTJdLAorICAgICAgICBbImFuaW1hdGlvbiIsIDMuOTk5LCBzYW1wbGUyXSwKKyAgICAgICAgWyJh
bmltYXRpb24iLCA0LjAwMSwgc2FtcGxlMl0KKyAgICBdOworCisgICAgcnVuQW5pbWF0aW9uVGVz
dChleHBlY3RlZFZhbHVlcyk7Cit9CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc3ZnYW5nbGUtYW5pbWF0aW9u
LWRlZy10by1ncmFkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL3N2
Z2FuZ2xlLWFuaW1hdGlvbi1kZWctdG8tZ3JhZC1leHBlY3RlZC50eHQKaW5kZXggNjY1ZWJhOTU1
NTE0MDUwMzNjMWRjMWIwNGU1YWE2NmU4Njc2NjVmMC4uMDk3ZjM2Yzc0NzMyZmUzMWVkNDg2Mzkz
NDA3OTc1ZTc0OTk0MzZhZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMv
c3ZnYW5nbGUtYW5pbWF0aW9uLWRlZy10by1ncmFkLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9zdmcvYW5pbWF0aW9ucy9zdmdhbmdsZS1hbmltYXRpb24tZGVnLXRvLWdyYWQtZXhwZWN0
ZWQudHh0CkBAIC03LDEyICs3LDIwIEBAIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFCiAKIFBBU1Mg
bWFya2VyLm9yaWVudEFuZ2xlLmFuaW1WYWwudmFsdWUgaXMgMAogUEFTUyBtYXJrZXIub3JpZW50
QW5nbGUuYmFzZVZhbC52YWx1ZSBpcyAwCitQQVNTIG1hcmtlci5vcmllbnRUeXBlLmFuaW1WYWwg
aXMgU1ZHTWFya2VyRWxlbWVudC5TVkdfTUFSS0VSX09SSUVOVF9BTkdMRQorUEFTUyBtYXJrZXIu
b3JpZW50VHlwZS5iYXNlVmFsIGlzIFNWR01hcmtlckVsZW1lbnQuU1ZHX01BUktFUl9PUklFTlRf
QU5HTEUKIFBBU1MgbWFya2VyLm9yaWVudEFuZ2xlLmFuaW1WYWwudmFsdWUgaXMgOTAKIFBBU1Mg
bWFya2VyLm9yaWVudEFuZ2xlLmJhc2VWYWwudmFsdWUgaXMgMAorUEFTUyBtYXJrZXIub3JpZW50
VHlwZS5hbmltVmFsIGlzIFNWR01hcmtlckVsZW1lbnQuU1ZHX01BUktFUl9PUklFTlRfQU5HTEUK
K1BBU1MgbWFya2VyLm9yaWVudFR5cGUuYmFzZVZhbCBpcyBTVkdNYXJrZXJFbGVtZW50LlNWR19N
QVJLRVJfT1JJRU5UX0FOR0xFCiBQQVNTIG1hcmtlci5vcmllbnRBbmdsZS5hbmltVmFsLnZhbHVl
IGlzIDE4MAogUEFTUyBtYXJrZXIub3JpZW50QW5nbGUuYmFzZVZhbC52YWx1ZSBpcyAwCitQQVNT
IG1hcmtlci5vcmllbnRUeXBlLmFuaW1WYWwgaXMgU1ZHTWFya2VyRWxlbWVudC5TVkdfTUFSS0VS
X09SSUVOVF9BTkdMRQorUEFTUyBtYXJrZXIub3JpZW50VHlwZS5iYXNlVmFsIGlzIFNWR01hcmtl
ckVsZW1lbnQuU1ZHX01BUktFUl9PUklFTlRfQU5HTEUKIFBBU1MgbWFya2VyLm9yaWVudEFuZ2xl
LmFuaW1WYWwudmFsdWUgaXMgMAogUEFTUyBtYXJrZXIub3JpZW50QW5nbGUuYmFzZVZhbC52YWx1
ZSBpcyAwCitQQVNTIG1hcmtlci5vcmllbnRUeXBlLmFuaW1WYWwgaXMgU1ZHTWFya2VyRWxlbWVu
dC5TVkdfTUFSS0VSX09SSUVOVF9BTkdMRQorUEFTUyBtYXJrZXIub3JpZW50VHlwZS5iYXNlVmFs
IGlzIFNWR01hcmtlckVsZW1lbnQuU1ZHX01BUktFUl9PUklFTlRfQU5HTEUKIFBBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc3ZnYW5nbGUtYW5pbWF0aW9uLWRlZy10by1yYWQtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc3ZnYW5nbGUtYW5pbWF0aW9uLWRl
Zy10by1yYWQtZXhwZWN0ZWQudHh0CmluZGV4IDk5OTdmZDk0NjNiMTBlNTMwOTZkODYwZWY2YjE5
ODQyM2FhODQ4MzcuLmYyM2I2NjdkNmI5NmI3YTMxY2UxZDA5Y2YxNDA1ZTIyMTgxMjc4MmMgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL3N2Z2FuZ2xlLWFuaW1hdGlvbi1k
ZWctdG8tcmFkLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9z
dmdhbmdsZS1hbmltYXRpb24tZGVnLXRvLXJhZC1leHBlY3RlZC50eHQKQEAgLTcsMTIgKzcsMjAg
QEAgT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUKIAogUEFTUyBtYXJrZXIub3JpZW50QW5nbGUuYW5p
bVZhbC52YWx1ZSBpcyAwCiBQQVNTIG1hcmtlci5vcmllbnRBbmdsZS5iYXNlVmFsLnZhbHVlIGlz
IDAKK1BBU1MgbWFya2VyLm9yaWVudFR5cGUuYW5pbVZhbCBpcyBTVkdNYXJrZXJFbGVtZW50LlNW
R19NQVJLRVJfT1JJRU5UX0FOR0xFCitQQVNTIG1hcmtlci5vcmllbnRUeXBlLmJhc2VWYWwgaXMg
U1ZHTWFya2VyRWxlbWVudC5TVkdfTUFSS0VSX09SSUVOVF9BTkdMRQogUEFTUyBtYXJrZXIub3Jp
ZW50QW5nbGUuYW5pbVZhbC52YWx1ZSBpcyA5MAogUEFTUyBtYXJrZXIub3JpZW50QW5nbGUuYmFz
ZVZhbC52YWx1ZSBpcyAwCitQQVNTIG1hcmtlci5vcmllbnRUeXBlLmFuaW1WYWwgaXMgU1ZHTWFy
a2VyRWxlbWVudC5TVkdfTUFSS0VSX09SSUVOVF9BTkdMRQorUEFTUyBtYXJrZXIub3JpZW50VHlw
ZS5iYXNlVmFsIGlzIFNWR01hcmtlckVsZW1lbnQuU1ZHX01BUktFUl9PUklFTlRfQU5HTEUKIFBB
U1MgbWFya2VyLm9yaWVudEFuZ2xlLmFuaW1WYWwudmFsdWUgaXMgMTgwCiBQQVNTIG1hcmtlci5v
cmllbnRBbmdsZS5iYXNlVmFsLnZhbHVlIGlzIDAKK1BBU1MgbWFya2VyLm9yaWVudFR5cGUuYW5p
bVZhbCBpcyBTVkdNYXJrZXJFbGVtZW50LlNWR19NQVJLRVJfT1JJRU5UX0FOR0xFCitQQVNTIG1h
cmtlci5vcmllbnRUeXBlLmJhc2VWYWwgaXMgU1ZHTWFya2VyRWxlbWVudC5TVkdfTUFSS0VSX09S
SUVOVF9BTkdMRQogUEFTUyBtYXJrZXIub3JpZW50QW5nbGUuYW5pbVZhbC52YWx1ZSBpcyAwCiBQ
QVNTIG1hcmtlci5vcmllbnRBbmdsZS5iYXNlVmFsLnZhbHVlIGlzIDAKK1BBU1MgbWFya2VyLm9y
aWVudFR5cGUuYW5pbVZhbCBpcyBTVkdNYXJrZXJFbGVtZW50LlNWR19NQVJLRVJfT1JJRU5UX0FO
R0xFCitQQVNTIG1hcmtlci5vcmllbnRUeXBlLmJhc2VWYWwgaXMgU1ZHTWFya2VyRWxlbWVudC5T
VkdfTUFSS0VSX09SSUVOVF9BTkdMRQogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQog
CiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9z
dmdhbmdsZS1hbmltYXRpb24tZ3JhZC10by1kZWctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
c3ZnL2FuaW1hdGlvbnMvc3ZnYW5nbGUtYW5pbWF0aW9uLWdyYWQtdG8tZGVnLWV4cGVjdGVkLnR4
dAppbmRleCBmY2ZjYjhkNGQ3Yzk3NTkxYTlhYmI4YWQwMmE0MjM4ZTUxY2QzNmE5Li5jMGY4NDk1
MzQ3NDAzYzdlNzUyMTQxNWFiYmYxZGM4ZmI2MjMwNjViIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9zdmcvYW5pbWF0aW9ucy9zdmdhbmdsZS1hbmltYXRpb24tZ3JhZC10by1kZWctZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL3N2Z2FuZ2xlLWFuaW1hdGlvbi1n
cmFkLXRvLWRlZy1leHBlY3RlZC50eHQKQEAgLTcsMTIgKzcsMjAgQEAgT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUKIAogUEFTUyBtYXJrZXIub3JpZW50QW5nbGUuYW5pbVZhbC52YWx1ZSBpcyAwCiBQ
QVNTIG1hcmtlci5vcmllbnRBbmdsZS5iYXNlVmFsLnZhbHVlIGlzIDAKK1BBU1MgbWFya2VyLm9y
aWVudFR5cGUuYW5pbVZhbCBpcyBTVkdNYXJrZXJFbGVtZW50LlNWR19NQVJLRVJfT1JJRU5UX0FO
R0xFCitQQVNTIG1hcmtlci5vcmllbnRUeXBlLmJhc2VWYWwgaXMgU1ZHTWFya2VyRWxlbWVudC5T
VkdfTUFSS0VSX09SSUVOVF9BTkdMRQogUEFTUyBtYXJrZXIub3JpZW50QW5nbGUuYW5pbVZhbC52
YWx1ZSBpcyA5MAogUEFTUyBtYXJrZXIub3JpZW50QW5nbGUuYmFzZVZhbC52YWx1ZSBpcyAwCitQ
QVNTIG1hcmtlci5vcmllbnRUeXBlLmFuaW1WYWwgaXMgU1ZHTWFya2VyRWxlbWVudC5TVkdfTUFS
S0VSX09SSUVOVF9BTkdMRQorUEFTUyBtYXJrZXIub3JpZW50VHlwZS5iYXNlVmFsIGlzIFNWR01h
cmtlckVsZW1lbnQuU1ZHX01BUktFUl9PUklFTlRfQU5HTEUKIFBBU1MgbWFya2VyLm9yaWVudEFu
Z2xlLmFuaW1WYWwudmFsdWUgaXMgMTgwCiBQQVNTIG1hcmtlci5vcmllbnRBbmdsZS5iYXNlVmFs
LnZhbHVlIGlzIDAKK1BBU1MgbWFya2VyLm9yaWVudFR5cGUuYW5pbVZhbCBpcyBTVkdNYXJrZXJF
bGVtZW50LlNWR19NQVJLRVJfT1JJRU5UX0FOR0xFCitQQVNTIG1hcmtlci5vcmllbnRUeXBlLmJh
c2VWYWwgaXMgU1ZHTWFya2VyRWxlbWVudC5TVkdfTUFSS0VSX09SSUVOVF9BTkdMRQogUEFTUyBt
YXJrZXIub3JpZW50QW5nbGUuYW5pbVZhbC52YWx1ZSBpcyAwCiBQQVNTIG1hcmtlci5vcmllbnRB
bmdsZS5iYXNlVmFsLnZhbHVlIGlzIDAKK1BBU1MgbWFya2VyLm9yaWVudFR5cGUuYW5pbVZhbCBp
cyBTVkdNYXJrZXJFbGVtZW50LlNWR19NQVJLRVJfT1JJRU5UX0FOR0xFCitQQVNTIG1hcmtlci5v
cmllbnRUeXBlLmJhc2VWYWwgaXMgU1ZHTWFya2VyRWxlbWVudC5TVkdfTUFSS0VSX09SSUVOVF9B
TkdMRQogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9zdmdhbmdsZS1hbmltYXRpb24t
Z3JhZC10by1yYWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc3Zn
YW5nbGUtYW5pbWF0aW9uLWdyYWQtdG8tcmFkLWV4cGVjdGVkLnR4dAppbmRleCBlZjc5ZDIyMzA1
MTdjYzQ3YWQ3MTU0MmJiNWFkZGMwNjk0ODc5ODVmLi5kMGEyZmViZjg4NGE0MjdiZmYzYzMxZjQ0
NGE4YmNmMDU4MTUwMTkxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9z
dmdhbmdsZS1hbmltYXRpb24tZ3JhZC10by1yYWQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL3N2Zy9hbmltYXRpb25zL3N2Z2FuZ2xlLWFuaW1hdGlvbi1ncmFkLXRvLXJhZC1leHBlY3Rl
ZC50eHQKQEAgLTcsMTIgKzcsMjAgQEAgT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUKIAogUEFTUyBt
YXJrZXIub3JpZW50QW5nbGUuYW5pbVZhbC52YWx1ZSBpcyAwCiBQQVNTIG1hcmtlci5vcmllbnRB
bmdsZS5iYXNlVmFsLnZhbHVlIGlzIDAKK1BBU1MgbWFya2VyLm9yaWVudFR5cGUuYW5pbVZhbCBp
cyBTVkdNYXJrZXJFbGVtZW50LlNWR19NQVJLRVJfT1JJRU5UX0FOR0xFCitQQVNTIG1hcmtlci5v
cmllbnRUeXBlLmJhc2VWYWwgaXMgU1ZHTWFya2VyRWxlbWVudC5TVkdfTUFSS0VSX09SSUVOVF9B
TkdMRQogUEFTUyBtYXJrZXIub3JpZW50QW5nbGUuYW5pbVZhbC52YWx1ZSBpcyA5MAogUEFTUyBt
YXJrZXIub3JpZW50QW5nbGUuYmFzZVZhbC52YWx1ZSBpcyAwCitQQVNTIG1hcmtlci5vcmllbnRU
eXBlLmFuaW1WYWwgaXMgU1ZHTWFya2VyRWxlbWVudC5TVkdfTUFSS0VSX09SSUVOVF9BTkdMRQor
UEFTUyBtYXJrZXIub3JpZW50VHlwZS5iYXNlVmFsIGlzIFNWR01hcmtlckVsZW1lbnQuU1ZHX01B
UktFUl9PUklFTlRfQU5HTEUKIFBBU1MgbWFya2VyLm9yaWVudEFuZ2xlLmFuaW1WYWwudmFsdWUg
aXMgMTgwCiBQQVNTIG1hcmtlci5vcmllbnRBbmdsZS5iYXNlVmFsLnZhbHVlIGlzIDAKK1BBU1Mg
bWFya2VyLm9yaWVudFR5cGUuYW5pbVZhbCBpcyBTVkdNYXJrZXJFbGVtZW50LlNWR19NQVJLRVJf
T1JJRU5UX0FOR0xFCitQQVNTIG1hcmtlci5vcmllbnRUeXBlLmJhc2VWYWwgaXMgU1ZHTWFya2Vy
RWxlbWVudC5TVkdfTUFSS0VSX09SSUVOVF9BTkdMRQogUEFTUyBtYXJrZXIub3JpZW50QW5nbGUu
YW5pbVZhbC52YWx1ZSBpcyAwCiBQQVNTIG1hcmtlci5vcmllbnRBbmdsZS5iYXNlVmFsLnZhbHVl
IGlzIDAKK1BBU1MgbWFya2VyLm9yaWVudFR5cGUuYW5pbVZhbCBpcyBTVkdNYXJrZXJFbGVtZW50
LlNWR19NQVJLRVJfT1JJRU5UX0FOR0xFCitQQVNTIG1hcmtlci5vcmllbnRUeXBlLmJhc2VWYWwg
aXMgU1ZHTWFya2VyRWxlbWVudC5TVkdfTUFSS0VSX09SSUVOVF9BTkdMRQogUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9zdmcvYW5pbWF0aW9ucy9zdmdhbmdsZS1hbmltYXRpb24tcmFkLXRvLWRlZy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9zdmdhbmdsZS1hbmltYXRpb24tcmFk
LXRvLWRlZy1leHBlY3RlZC50eHQKaW5kZXggYWQ0YzVkOTFhNjkwNzRmZmU0ODY3MzRjN2I2ZTM0
YjJkMDg0MGY4Zi4uNDQyM2ZhZTc1NzU3MjFmZmMzOGIzYTBmYmY0YmFjZWU1MGM4NDI1OCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc3ZnYW5nbGUtYW5pbWF0aW9uLXJh
ZC10by1kZWctZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL3N2
Z2FuZ2xlLWFuaW1hdGlvbi1yYWQtdG8tZGVnLWV4cGVjdGVkLnR4dApAQCAtNywxMiArNywyMCBA
QCBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURQogCiBQQVNTIG1hcmtlci5vcmllbnRBbmdsZS5hbmlt
VmFsLnZhbHVlIGlzIDAKIFBBU1MgbWFya2VyLm9yaWVudEFuZ2xlLmJhc2VWYWwudmFsdWUgaXMg
MAorUEFTUyBtYXJrZXIub3JpZW50VHlwZS5hbmltVmFsIGlzIFNWR01hcmtlckVsZW1lbnQuU1ZH
X01BUktFUl9PUklFTlRfQU5HTEUKK1BBU1MgbWFya2VyLm9yaWVudFR5cGUuYmFzZVZhbCBpcyBT
VkdNYXJrZXJFbGVtZW50LlNWR19NQVJLRVJfT1JJRU5UX0FOR0xFCiBQQVNTIG1hcmtlci5vcmll
bnRBbmdsZS5hbmltVmFsLnZhbHVlIGlzIDkwCiBQQVNTIG1hcmtlci5vcmllbnRBbmdsZS5iYXNl
VmFsLnZhbHVlIGlzIDAKK1BBU1MgbWFya2VyLm9yaWVudFR5cGUuYW5pbVZhbCBpcyBTVkdNYXJr
ZXJFbGVtZW50LlNWR19NQVJLRVJfT1JJRU5UX0FOR0xFCitQQVNTIG1hcmtlci5vcmllbnRUeXBl
LmJhc2VWYWwgaXMgU1ZHTWFya2VyRWxlbWVudC5TVkdfTUFSS0VSX09SSUVOVF9BTkdMRQogUEFT
UyBtYXJrZXIub3JpZW50QW5nbGUuYW5pbVZhbC52YWx1ZSBpcyAxODAKIFBBU1MgbWFya2VyLm9y
aWVudEFuZ2xlLmJhc2VWYWwudmFsdWUgaXMgMAorUEFTUyBtYXJrZXIub3JpZW50VHlwZS5hbmlt
VmFsIGlzIFNWR01hcmtlckVsZW1lbnQuU1ZHX01BUktFUl9PUklFTlRfQU5HTEUKK1BBU1MgbWFy
a2VyLm9yaWVudFR5cGUuYmFzZVZhbCBpcyBTVkdNYXJrZXJFbGVtZW50LlNWR19NQVJLRVJfT1JJ
RU5UX0FOR0xFCiBQQVNTIG1hcmtlci5vcmllbnRBbmdsZS5hbmltVmFsLnZhbHVlIGlzIDAKIFBB
U1MgbWFya2VyLm9yaWVudEFuZ2xlLmJhc2VWYWwudmFsdWUgaXMgMAorUEFTUyBtYXJrZXIub3Jp
ZW50VHlwZS5hbmltVmFsIGlzIFNWR01hcmtlckVsZW1lbnQuU1ZHX01BUktFUl9PUklFTlRfQU5H
TEUKK1BBU1MgbWFya2VyLm9yaWVudFR5cGUuYmFzZVZhbCBpcyBTVkdNYXJrZXJFbGVtZW50LlNW
R19NQVJLRVJfT1JJRU5UX0FOR0xFCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAK
IFRFU1QgQ09NUExFVEUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL3N2
Z2FuZ2xlLWFuaW1hdGlvbi1yYWQtdG8tZ3JhZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9z
dmcvYW5pbWF0aW9ucy9zdmdhbmdsZS1hbmltYXRpb24tcmFkLXRvLWdyYWQtZXhwZWN0ZWQudHh0
CmluZGV4IGZlNTBhMGY5NGFiYzc3NzAyZDEzNTRiOTI2Nzc2NDA0Njg0ZmQ3MDIuLjM4ZGRlYTRh
NzdjNTllYWZiNzhhOGNiMzNhNTBiMjBhMzRlNGVkNzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3N2Zy9hbmltYXRpb25zL3N2Z2FuZ2xlLWFuaW1hdGlvbi1yYWQtdG8tZ3JhZC1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc3ZnYW5nbGUtYW5pbWF0aW9uLXJh
ZC10by1ncmFkLWV4cGVjdGVkLnR4dApAQCAtNywxMiArNywyMCBAQCBPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURQogCiBQQVNTIG1hcmtlci5vcmllbnRBbmdsZS5hbmltVmFsLnZhbHVlIGlzIDAKIFBB
U1MgbWFya2VyLm9yaWVudEFuZ2xlLmJhc2VWYWwudmFsdWUgaXMgMAorUEFTUyBtYXJrZXIub3Jp
ZW50VHlwZS5hbmltVmFsIGlzIFNWR01hcmtlckVsZW1lbnQuU1ZHX01BUktFUl9PUklFTlRfQU5H
TEUKK1BBU1MgbWFya2VyLm9yaWVudFR5cGUuYmFzZVZhbCBpcyBTVkdNYXJrZXJFbGVtZW50LlNW
R19NQVJLRVJfT1JJRU5UX0FOR0xFCiBQQVNTIG1hcmtlci5vcmllbnRBbmdsZS5hbmltVmFsLnZh
bHVlIGlzIDkwCiBQQVNTIG1hcmtlci5vcmllbnRBbmdsZS5iYXNlVmFsLnZhbHVlIGlzIDAKK1BB
U1MgbWFya2VyLm9yaWVudFR5cGUuYW5pbVZhbCBpcyBTVkdNYXJrZXJFbGVtZW50LlNWR19NQVJL
RVJfT1JJRU5UX0FOR0xFCitQQVNTIG1hcmtlci5vcmllbnRUeXBlLmJhc2VWYWwgaXMgU1ZHTWFy
a2VyRWxlbWVudC5TVkdfTUFSS0VSX09SSUVOVF9BTkdMRQogUEFTUyBtYXJrZXIub3JpZW50QW5n
bGUuYW5pbVZhbC52YWx1ZSBpcyAxODAKIFBBU1MgbWFya2VyLm9yaWVudEFuZ2xlLmJhc2VWYWwu
dmFsdWUgaXMgMAorUEFTUyBtYXJrZXIub3JpZW50VHlwZS5hbmltVmFsIGlzIFNWR01hcmtlckVs
ZW1lbnQuU1ZHX01BUktFUl9PUklFTlRfQU5HTEUKK1BBU1MgbWFya2VyLm9yaWVudFR5cGUuYmFz
ZVZhbCBpcyBTVkdNYXJrZXJFbGVtZW50LlNWR19NQVJLRVJfT1JJRU5UX0FOR0xFCiBQQVNTIG1h
cmtlci5vcmllbnRBbmdsZS5hbmltVmFsLnZhbHVlIGlzIDAKIFBBU1MgbWFya2VyLm9yaWVudEFu
Z2xlLmJhc2VWYWwudmFsdWUgaXMgMAorUEFTUyBtYXJrZXIub3JpZW50VHlwZS5hbmltVmFsIGlz
IFNWR01hcmtlckVsZW1lbnQuU1ZHX01BUktFUl9PUklFTlRfQU5HTEUKK1BBU1MgbWFya2VyLm9y
aWVudFR5cGUuYmFzZVZhbCBpcyBTVkdNYXJrZXJFbGVtZW50LlNWR19NQVJLRVJfT1JJRU5UX0FO
R0xFCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL3N2Z2VudW0tYW5pbWF0aW9uLTEt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc3ZnZW51bS1hbmltYXRp
b24tMS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODM2ZGM0NmVhMGM2M2E5ZjkzNjY0MWRhNDg2
NDQyZjAzYzMxYTg1ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N2Zy9hbmltYXRp
b25zL3N2Z2VudW0tYW5pbWF0aW9uLTEtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjEgQEAKK1NW
RyAxLjEgZHluYW1pYyBhbmltYXRpb24gdGVzdHMKKworVGVzdCBTVkdVbml0VHlwZXMgZW51bWVy
YXRpb24gYW5pbWF0aW9ucworCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBw
YXR0ZXJuLnBhdHRlcm5Db250ZW50VW5pdHMuYW5pbVZhbCBpcyBTVkdVbml0VHlwZXMuU1ZHX1VO
SVRfVFlQRV9VU0VSU1BBQ0VPTlVTRQorUEFTUyBwYXR0ZXJuLnBhdHRlcm5Db250ZW50VW5pdHMu
YmFzZVZhbCBpcyBTVkdVbml0VHlwZXMuU1ZHX1VOSVRfVFlQRV9VU0VSU1BBQ0VPTlVTRQorUEFT
UyBwYXR0ZXJuLnBhdHRlcm5Db250ZW50VW5pdHMuYW5pbVZhbCBpcyBTVkdVbml0VHlwZXMuU1ZH
X1VOSVRfVFlQRV9VU0VSU1BBQ0VPTlVTRQorUEFTUyBwYXR0ZXJuLnBhdHRlcm5Db250ZW50VW5p
dHMuYmFzZVZhbCBpcyBTVkdVbml0VHlwZXMuU1ZHX1VOSVRfVFlQRV9VU0VSU1BBQ0VPTlVTRQor
UEFTUyBwYXR0ZXJuLnBhdHRlcm5Db250ZW50VW5pdHMuYW5pbVZhbCBpcyBTVkdVbml0VHlwZXMu
U1ZHX1VOSVRfVFlQRV9PQkpFQ1RCT1VORElOR0JPWAorUEFTUyBwYXR0ZXJuLnBhdHRlcm5Db250
ZW50VW5pdHMuYmFzZVZhbCBpcyBTVkdVbml0VHlwZXMuU1ZHX1VOSVRfVFlQRV9VU0VSU1BBQ0VP
TlVTRQorUEFTUyBwYXR0ZXJuLnBhdHRlcm5Db250ZW50VW5pdHMuYW5pbVZhbCBpcyBTVkdVbml0
VHlwZXMuU1ZHX1VOSVRfVFlQRV9PQkpFQ1RCT1VORElOR0JPWAorUEFTUyBwYXR0ZXJuLnBhdHRl
cm5Db250ZW50VW5pdHMuYmFzZVZhbCBpcyBTVkdVbml0VHlwZXMuU1ZHX1VOSVRfVFlQRV9VU0VS
U1BBQ0VPTlVTRQorUEFTUyBwYXR0ZXJuLnBhdHRlcm5Db250ZW50VW5pdHMuYW5pbVZhbCBpcyBT
VkdVbml0VHlwZXMuU1ZHX1VOSVRfVFlQRV9PQkpFQ1RCT1VORElOR0JPWAorUEFTUyBwYXR0ZXJu
LnBhdHRlcm5Db250ZW50VW5pdHMuYmFzZVZhbCBpcyBTVkdVbml0VHlwZXMuU1ZHX1VOSVRfVFlQ
RV9VU0VSU1BBQ0VPTlVTRQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL3N2Z2Vu
dW0tYW5pbWF0aW9uLTEuaHRtbCBiL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL3N2Z2VudW0t
YW5pbWF0aW9uLTEuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNDRlNjBlZjIzYmFlY2YxMjkxMjA3ODQ3MGE4
OTc2NWQ3NTY4ODRmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlv
bnMvc3ZnZW51bS1hbmltYXRpb24tMS5odG1sCkBAIC0wLDAgKzEsMTQgQEAKKzwhRE9DVFlQRSBI
VE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uL2R5bmFtaWMtdXBkYXRlcy9yZXNvdXJjZXMvU1ZHVGVzdENhc2Uu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9TVkdBbmltYXRpb25UZXN0Q2Fz
ZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blNNSUxUZXN0KCkiPgor
PGgxPlNWRyAxLjEgZHluYW1pYyBhbmltYXRpb24gdGVzdHM8L2gxPgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJzY3JpcHQt
dGVzdHMvc3ZnZW51bS1hbmltYXRpb24tMS5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9zdmdlbnVtLWFuaW1hdGlv
bi0xMC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9zdmdlbnVtLWFu
aW1hdGlvbi0xMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjNlMzk2ZmViZjM2YWI0MzExNTBm
YzZlNjZmZjU2ZjdkOTA0ZmY4OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N2Zy9h
bmltYXRpb25zL3N2Z2VudW0tYW5pbWF0aW9uLTEwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIx
IEBACitTVkcgMS4xIGR5bmFtaWMgYW5pbWF0aW9uIHRlc3RzCisKK1Rlc3QgU1ZHTWFya2VyVW5p
dHNUeXBlIGVudW1lcmF0aW9uIGFuaW1hdGlvbnMKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCisKK1BBU1MgbWFya2VyLm1hcmtlclVuaXRzLmFuaW1WYWwgaXMgU1ZHTWFya2VyRWxlbWVu
dC5TVkdfTUFSS0VSVU5JVFNfVVNFUlNQQUNFT05VU0UKK1BBU1MgbWFya2VyLm1hcmtlclVuaXRz
LmJhc2VWYWwgaXMgU1ZHTWFya2VyRWxlbWVudC5TVkdfTUFSS0VSVU5JVFNfVVNFUlNQQUNFT05V
U0UKK1BBU1MgbWFya2VyLm1hcmtlclVuaXRzLmFuaW1WYWwgaXMgU1ZHTWFya2VyRWxlbWVudC5T
VkdfTUFSS0VSVU5JVFNfVVNFUlNQQUNFT05VU0UKK1BBU1MgbWFya2VyLm1hcmtlclVuaXRzLmJh
c2VWYWwgaXMgU1ZHTWFya2VyRWxlbWVudC5TVkdfTUFSS0VSVU5JVFNfVVNFUlNQQUNFT05VU0UK
K1BBU1MgbWFya2VyLm1hcmtlclVuaXRzLmFuaW1WYWwgaXMgU1ZHTWFya2VyRWxlbWVudC5TVkdf
TUFSS0VSVU5JVFNfU1RST0tFV0lEVEgKK1BBU1MgbWFya2VyLm1hcmtlclVuaXRzLmJhc2VWYWwg
aXMgU1ZHTWFya2VyRWxlbWVudC5TVkdfTUFSS0VSVU5JVFNfVVNFUlNQQUNFT05VU0UKK1BBU1Mg
bWFya2VyLm1hcmtlclVuaXRzLmFuaW1WYWwgaXMgU1ZHTWFya2VyRWxlbWVudC5TVkdfTUFSS0VS
VU5JVFNfU1RST0tFV0lEVEgKK1BBU1MgbWFya2VyLm1hcmtlclVuaXRzLmJhc2VWYWwgaXMgU1ZH
TWFya2VyRWxlbWVudC5TVkdfTUFSS0VSVU5JVFNfVVNFUlNQQUNFT05VU0UKK1BBU1MgbWFya2Vy
Lm1hcmtlclVuaXRzLmFuaW1WYWwgaXMgU1ZHTWFya2VyRWxlbWVudC5TVkdfTUFSS0VSVU5JVFNf
U1RST0tFV0lEVEgKK1BBU1MgbWFya2VyLm1hcmtlclVuaXRzLmJhc2VWYWwgaXMgU1ZHTWFya2Vy
RWxlbWVudC5TVkdfTUFSS0VSVU5JVFNfVVNFUlNQQUNFT05VU0UKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9zdmcvYW5pbWF0aW9ucy9zdmdlbnVtLWFuaW1hdGlvbi0xMC5odG1sIGIvTGF5b3V0VGVzdHMv
c3ZnL2FuaW1hdGlvbnMvc3ZnZW51bS1hbmltYXRpb24tMTAuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YTU4
Y2Q2NzUwYzdhNWFmYjI2MDg4NWFkYWUxZjdjMWVhMjgyNTgyCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc3ZnZW51bS1hbmltYXRpb24tMTAuaHRtbApAQCAt
MCwwICsxLDE0IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9F
TiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9keW5hbWljLXVwZGF0
ZXMvcmVzb3VyY2VzL1NWR1Rlc3RDYXNlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNv
dXJjZXMvU1ZHQW5pbWF0aW9uVGVzdENhc2UuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkg
b25sb2FkPSJydW5TTUlMVGVzdCgpIj4KKzxoMT5TVkcgMS4xIGR5bmFtaWMgYW5pbWF0aW9uIHRl
c3RzPC9oMT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL3N2Z2VudW0tYW5pbWF0aW9uLTEwLmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9h
bmltYXRpb25zL3N2Z2VudW0tYW5pbWF0aW9uLTExLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3N2Zy9hbmltYXRpb25zL3N2Z2VudW0tYW5pbWF0aW9uLTExLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5kYzRkYmJlOTE3OWQyN2MzODMzMGIxN2IwYjU4ZjE0YjZlY2Q4YjVmCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc3ZnZW51bS1hbmltYXRpb24tMTEt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzEgQEAKK1NWRyAxLjEgZHluYW1pYyBhbmltYXRpb24g
dGVzdHMKKworVGVzdCBCbGVuZE1vZGVUeXBlIGVudW1lcmF0aW9uIGFuaW1hdGlvbnMKKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgZmVCbGVuZC5tb2RlLmFuaW1WYWwgaXMg
U1ZHRkVCbGVuZEVsZW1lbnQuU1ZHX0ZFQkxFTkRfTU9ERV9MSUdIVEVOCitQQVNTIGZlQmxlbmQu
bW9kZS5iYXNlVmFsIGlzIFNWR0ZFQmxlbmRFbGVtZW50LlNWR19GRUJMRU5EX01PREVfTElHSFRF
TgorUEFTUyBmZUJsZW5kLm1vZGUuYW5pbVZhbCBpcyBTVkdGRUJsZW5kRWxlbWVudC5TVkdfRkVC
TEVORF9NT0RFX05PUk1BTAorUEFTUyBmZUJsZW5kLm1vZGUuYmFzZVZhbCBpcyBTVkdGRUJsZW5k
RWxlbWVudC5TVkdfRkVCTEVORF9NT0RFX0xJR0hURU4KK1BBU1MgZmVCbGVuZC5tb2RlLmFuaW1W
YWwgaXMgU1ZHRkVCbGVuZEVsZW1lbnQuU1ZHX0ZFQkxFTkRfTU9ERV9OT1JNQUwKK1BBU1MgZmVC
bGVuZC5tb2RlLmJhc2VWYWwgaXMgU1ZHRkVCbGVuZEVsZW1lbnQuU1ZHX0ZFQkxFTkRfTU9ERV9M
SUdIVEVOCitQQVNTIGZlQmxlbmQubW9kZS5hbmltVmFsIGlzIFNWR0ZFQmxlbmRFbGVtZW50LlNW
R19GRUJMRU5EX01PREVfTVVMVElQTFkKK1BBU1MgZmVCbGVuZC5tb2RlLmJhc2VWYWwgaXMgU1ZH
RkVCbGVuZEVsZW1lbnQuU1ZHX0ZFQkxFTkRfTU9ERV9MSUdIVEVOCitQQVNTIGZlQmxlbmQubW9k
ZS5hbmltVmFsIGlzIFNWR0ZFQmxlbmRFbGVtZW50LlNWR19GRUJMRU5EX01PREVfTVVMVElQTFkK
K1BBU1MgZmVCbGVuZC5tb2RlLmJhc2VWYWwgaXMgU1ZHRkVCbGVuZEVsZW1lbnQuU1ZHX0ZFQkxF
TkRfTU9ERV9MSUdIVEVOCitQQVNTIGZlQmxlbmQubW9kZS5hbmltVmFsIGlzIFNWR0ZFQmxlbmRF
bGVtZW50LlNWR19GRUJMRU5EX01PREVfU0NSRUVOCitQQVNTIGZlQmxlbmQubW9kZS5iYXNlVmFs
IGlzIFNWR0ZFQmxlbmRFbGVtZW50LlNWR19GRUJMRU5EX01PREVfTElHSFRFTgorUEFTUyBmZUJs
ZW5kLm1vZGUuYW5pbVZhbCBpcyBTVkdGRUJsZW5kRWxlbWVudC5TVkdfRkVCTEVORF9NT0RFX1ND
UkVFTgorUEFTUyBmZUJsZW5kLm1vZGUuYmFzZVZhbCBpcyBTVkdGRUJsZW5kRWxlbWVudC5TVkdf
RkVCTEVORF9NT0RFX0xJR0hURU4KK1BBU1MgZmVCbGVuZC5tb2RlLmFuaW1WYWwgaXMgU1ZHRkVC
bGVuZEVsZW1lbnQuU1ZHX0ZFQkxFTkRfTU9ERV9EQVJLRU4KK1BBU1MgZmVCbGVuZC5tb2RlLmJh
c2VWYWwgaXMgU1ZHRkVCbGVuZEVsZW1lbnQuU1ZHX0ZFQkxFTkRfTU9ERV9MSUdIVEVOCitQQVNT
IGZlQmxlbmQubW9kZS5hbmltVmFsIGlzIFNWR0ZFQmxlbmRFbGVtZW50LlNWR19GRUJMRU5EX01P
REVfREFSS0VOCitQQVNTIGZlQmxlbmQubW9kZS5iYXNlVmFsIGlzIFNWR0ZFQmxlbmRFbGVtZW50
LlNWR19GRUJMRU5EX01PREVfTElHSFRFTgorUEFTUyBmZUJsZW5kLm1vZGUuYW5pbVZhbCBpcyBT
VkdGRUJsZW5kRWxlbWVudC5TVkdfRkVCTEVORF9NT0RFX0xJR0hURU4KK1BBU1MgZmVCbGVuZC5t
b2RlLmJhc2VWYWwgaXMgU1ZHRkVCbGVuZEVsZW1lbnQuU1ZHX0ZFQkxFTkRfTU9ERV9MSUdIVEVO
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc3ZnZW51bS1hbmltYXRpb24tMTEu
aHRtbCBiL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL3N2Z2VudW0tYW5pbWF0aW9uLTExLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZDUwYjEwOTljYTQwNTM4NTEzOGJhMGYzNTcyOTQ4YTZiNGMwOGI0MQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL3N2Z2VudW0tYW5p
bWF0aW9uLTExLmh0bWwKQEAgLTAsMCArMSwxNCBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICIt
Ly9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vZHluYW1pYy11cGRhdGVzL3Jlc291cmNlcy9TVkdUZXN0Q2FzZS5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL1NWR0FuaW1hdGlvblRlc3RDYXNlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuU01JTFRlc3QoKSI+Cis8aDE+U1ZHIDEuMSBk
eW5hbWljIGFuaW1hdGlvbiB0ZXN0czwvaDE+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9zdmdlbnVt
LWFuaW1hdGlvbi0xMS5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9zdmdlbnVtLWFuaW1hdGlvbi0xMi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9zdmdlbnVtLWFuaW1hdGlvbi0xMi1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTVjYWYxOTBlM2U1YTEyNDg1MTk1MmZlMTk0ZGFlNDU3
NTc1MWE5NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL3N2
Z2VudW0tYW5pbWF0aW9uLTEyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDI3IEBACitTVkcgMS4x
IGR5bmFtaWMgYW5pbWF0aW9uIHRlc3RzCisKK1Rlc3QgU1ZHU3ByZWFkTWV0aG9kVHlwZSBlbnVt
ZXJhdGlvbiBhbmltYXRpb25zCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNT
IGdyYWRpZW50LnNwcmVhZE1ldGhvZC5hbmltVmFsIGlzIFNWR0dyYWRpZW50RWxlbWVudC5TVkdf
U1BSRUFETUVUSE9EX1BBRAorUEFTUyBncmFkaWVudC5zcHJlYWRNZXRob2QuYmFzZVZhbCBpcyBT
VkdHcmFkaWVudEVsZW1lbnQuU1ZHX1NQUkVBRE1FVEhPRF9QQUQKK1BBU1MgZ3JhZGllbnQuc3By
ZWFkTWV0aG9kLmFuaW1WYWwgaXMgU1ZHR3JhZGllbnRFbGVtZW50LlNWR19TUFJFQURNRVRIT0Rf
UEFECitQQVNTIGdyYWRpZW50LnNwcmVhZE1ldGhvZC5iYXNlVmFsIGlzIFNWR0dyYWRpZW50RWxl
bWVudC5TVkdfU1BSRUFETUVUSE9EX1BBRAorUEFTUyBncmFkaWVudC5zcHJlYWRNZXRob2QuYW5p
bVZhbCBpcyBTVkdHcmFkaWVudEVsZW1lbnQuU1ZHX1NQUkVBRE1FVEhPRF9QQUQKK1BBU1MgZ3Jh
ZGllbnQuc3ByZWFkTWV0aG9kLmJhc2VWYWwgaXMgU1ZHR3JhZGllbnRFbGVtZW50LlNWR19TUFJF
QURNRVRIT0RfUEFECitQQVNTIGdyYWRpZW50LnNwcmVhZE1ldGhvZC5hbmltVmFsIGlzIFNWR0dy
YWRpZW50RWxlbWVudC5TVkdfU1BSRUFETUVUSE9EX1JFRkxFQ1QKK1BBU1MgZ3JhZGllbnQuc3By
ZWFkTWV0aG9kLmJhc2VWYWwgaXMgU1ZHR3JhZGllbnRFbGVtZW50LlNWR19TUFJFQURNRVRIT0Rf
UEFECitQQVNTIGdyYWRpZW50LnNwcmVhZE1ldGhvZC5hbmltVmFsIGlzIFNWR0dyYWRpZW50RWxl
bWVudC5TVkdfU1BSRUFETUVUSE9EX1JFRkxFQ1QKK1BBU1MgZ3JhZGllbnQuc3ByZWFkTWV0aG9k
LmJhc2VWYWwgaXMgU1ZHR3JhZGllbnRFbGVtZW50LlNWR19TUFJFQURNRVRIT0RfUEFECitQQVNT
IGdyYWRpZW50LnNwcmVhZE1ldGhvZC5hbmltVmFsIGlzIFNWR0dyYWRpZW50RWxlbWVudC5TVkdf
U1BSRUFETUVUSE9EX1JFUEVBVAorUEFTUyBncmFkaWVudC5zcHJlYWRNZXRob2QuYmFzZVZhbCBp
cyBTVkdHcmFkaWVudEVsZW1lbnQuU1ZHX1NQUkVBRE1FVEhPRF9QQUQKK1BBU1MgZ3JhZGllbnQu
c3ByZWFkTWV0aG9kLmFuaW1WYWwgaXMgU1ZHR3JhZGllbnRFbGVtZW50LlNWR19TUFJFQURNRVRI
T0RfUkVQRUFUCitQQVNTIGdyYWRpZW50LnNwcmVhZE1ldGhvZC5iYXNlVmFsIGlzIFNWR0dyYWRp
ZW50RWxlbWVudC5TVkdfU1BSRUFETUVUSE9EX1BBRAorUEFTUyBncmFkaWVudC5zcHJlYWRNZXRo
b2QuYW5pbVZhbCBpcyBTVkdHcmFkaWVudEVsZW1lbnQuU1ZHX1NQUkVBRE1FVEhPRF9SRVBFQVQK
K1BBU1MgZ3JhZGllbnQuc3ByZWFkTWV0aG9kLmJhc2VWYWwgaXMgU1ZHR3JhZGllbnRFbGVtZW50
LlNWR19TUFJFQURNRVRIT0RfUEFECitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMv
c3ZnZW51bS1hbmltYXRpb24tMTIuaHRtbCBiL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL3N2
Z2VudW0tYW5pbWF0aW9uLTEyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGRhZjc1MDliYmM5OGZlODE0NzFh
Y2RjODI0M2QxMDFjOWQ4OWY4YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N2Zy9h
bmltYXRpb25zL3N2Z2VudW0tYW5pbWF0aW9uLTEyLmh0bWwKQEAgLTAsMCArMSwxNCBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vZHluYW1pYy11cGRhdGVzL3Jlc291cmNlcy9TVkdU
ZXN0Q2FzZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL1NWR0FuaW1hdGlv
blRlc3RDYXNlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuU01JTFRl
c3QoKSI+Cis8aDE+U1ZHIDEuMSBkeW5hbWljIGFuaW1hdGlvbiB0ZXN0czwvaDE+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9
InNjcmlwdC10ZXN0cy9zdmdlbnVtLWFuaW1hdGlvbi0xMi5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9zdmdlbnVt
LWFuaW1hdGlvbi0xMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9z
dmdlbnVtLWFuaW1hdGlvbi0xMy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjFlMjNkYTFhN2Jk
MzI2M2E1Y2Y4OGQ4MzZlNjYwZWYzOTZlM2MwOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL3N2Zy9hbmltYXRpb25zL3N2Z2VudW0tYW5pbWF0aW9uLTEzLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDMxIEBACitTVkcgMS4xIGR5bmFtaWMgYW5pbWF0aW9uIHRlc3RzCisKK1Rlc3QgQ2hh
bm5lbFNlbGVjdG9yVHlwZSBlbnVtZXJhdGlvbiBhbmltYXRpb25zCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworCitQQVNTIGRpc3BsYWNlbWVudE1hcC54Q2hhbm5lbFNlbGVjdG9yLmFu
aW1WYWwgaXMgU1ZHRkVEaXNwbGFjZW1lbnRNYXBFbGVtZW50LlNWR19DSEFOTkVMX0IKK1BBU1Mg
ZGlzcGxhY2VtZW50TWFwLnhDaGFubmVsU2VsZWN0b3IuYmFzZVZhbCBpcyBTVkdGRURpc3BsYWNl
bWVudE1hcEVsZW1lbnQuU1ZHX0NIQU5ORUxfQgorUEFTUyBkaXNwbGFjZW1lbnRNYXAueENoYW5u
ZWxTZWxlY3Rvci5hbmltVmFsIGlzIFNWR0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudC5TVkdfQ0hB
Tk5FTF9SCitQQVNTIGRpc3BsYWNlbWVudE1hcC54Q2hhbm5lbFNlbGVjdG9yLmJhc2VWYWwgaXMg
U1ZHRkVEaXNwbGFjZW1lbnRNYXBFbGVtZW50LlNWR19DSEFOTkVMX0IKK1BBU1MgZGlzcGxhY2Vt
ZW50TWFwLnhDaGFubmVsU2VsZWN0b3IuYW5pbVZhbCBpcyBTVkdGRURpc3BsYWNlbWVudE1hcEVs
ZW1lbnQuU1ZHX0NIQU5ORUxfUgorUEFTUyBkaXNwbGFjZW1lbnRNYXAueENoYW5uZWxTZWxlY3Rv
ci5iYXNlVmFsIGlzIFNWR0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudC5TVkdfQ0hBTk5FTF9CCitQ
QVNTIGRpc3BsYWNlbWVudE1hcC54Q2hhbm5lbFNlbGVjdG9yLmFuaW1WYWwgaXMgU1ZHRkVEaXNw
bGFjZW1lbnRNYXBFbGVtZW50LlNWR19DSEFOTkVMX0cKK1BBU1MgZGlzcGxhY2VtZW50TWFwLnhD
aGFubmVsU2VsZWN0b3IuYmFzZVZhbCBpcyBTVkdGRURpc3BsYWNlbWVudE1hcEVsZW1lbnQuU1ZH
X0NIQU5ORUxfQgorUEFTUyBkaXNwbGFjZW1lbnRNYXAueENoYW5uZWxTZWxlY3Rvci5hbmltVmFs
IGlzIFNWR0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudC5TVkdfQ0hBTk5FTF9HCitQQVNTIGRpc3Bs
YWNlbWVudE1hcC54Q2hhbm5lbFNlbGVjdG9yLmJhc2VWYWwgaXMgU1ZHRkVEaXNwbGFjZW1lbnRN
YXBFbGVtZW50LlNWR19DSEFOTkVMX0IKK1BBU1MgZGlzcGxhY2VtZW50TWFwLnhDaGFubmVsU2Vs
ZWN0b3IuYW5pbVZhbCBpcyBTVkdGRURpc3BsYWNlbWVudE1hcEVsZW1lbnQuU1ZHX0NIQU5ORUxf
QgorUEFTUyBkaXNwbGFjZW1lbnRNYXAueENoYW5uZWxTZWxlY3Rvci5iYXNlVmFsIGlzIFNWR0ZF
RGlzcGxhY2VtZW50TWFwRWxlbWVudC5TVkdfQ0hBTk5FTF9CCitQQVNTIGRpc3BsYWNlbWVudE1h
cC54Q2hhbm5lbFNlbGVjdG9yLmFuaW1WYWwgaXMgU1ZHRkVEaXNwbGFjZW1lbnRNYXBFbGVtZW50
LlNWR19DSEFOTkVMX0IKK1BBU1MgZGlzcGxhY2VtZW50TWFwLnhDaGFubmVsU2VsZWN0b3IuYmFz
ZVZhbCBpcyBTVkdGRURpc3BsYWNlbWVudE1hcEVsZW1lbnQuU1ZHX0NIQU5ORUxfQgorUEFTUyBk
aXNwbGFjZW1lbnRNYXAueENoYW5uZWxTZWxlY3Rvci5hbmltVmFsIGlzIFNWR0ZFRGlzcGxhY2Vt
ZW50TWFwRWxlbWVudC5TVkdfQ0hBTk5FTF9BCitQQVNTIGRpc3BsYWNlbWVudE1hcC54Q2hhbm5l
bFNlbGVjdG9yLmJhc2VWYWwgaXMgU1ZHRkVEaXNwbGFjZW1lbnRNYXBFbGVtZW50LlNWR19DSEFO
TkVMX0IKK1BBU1MgZGlzcGxhY2VtZW50TWFwLnhDaGFubmVsU2VsZWN0b3IuYW5pbVZhbCBpcyBT
VkdGRURpc3BsYWNlbWVudE1hcEVsZW1lbnQuU1ZHX0NIQU5ORUxfQQorUEFTUyBkaXNwbGFjZW1l
bnRNYXAueENoYW5uZWxTZWxlY3Rvci5iYXNlVmFsIGlzIFNWR0ZFRGlzcGxhY2VtZW50TWFwRWxl
bWVudC5TVkdfQ0hBTk5FTF9CCitQQVNTIGRpc3BsYWNlbWVudE1hcC54Q2hhbm5lbFNlbGVjdG9y
LmFuaW1WYWwgaXMgU1ZHRkVEaXNwbGFjZW1lbnRNYXBFbGVtZW50LlNWR19DSEFOTkVMX0EKK1BB
U1MgZGlzcGxhY2VtZW50TWFwLnhDaGFubmVsU2VsZWN0b3IuYmFzZVZhbCBpcyBTVkdGRURpc3Bs
YWNlbWVudE1hcEVsZW1lbnQuU1ZHX0NIQU5ORUxfQgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9h
bmltYXRpb25zL3N2Z2VudW0tYW5pbWF0aW9uLTEzLmh0bWwgYi9MYXlvdXRUZXN0cy9zdmcvYW5p
bWF0aW9ucy9zdmdlbnVtLWFuaW1hdGlvbi0xMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjljMzUwODZlYTg2
ZDliODk2ZmFkYmVhYzk3NmVlZjY0MzVmNjkzZTUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9zdmcvYW5pbWF0aW9ucy9zdmdlbnVtLWFuaW1hdGlvbi0xMy5odG1sCkBAIC0wLDAgKzEs
MTQgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL2R5bmFtaWMtdXBkYXRlcy9yZXNv
dXJjZXMvU1ZHVGVzdENhc2UuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9T
VkdBbmltYXRpb25UZXN0Q2FzZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9
InJ1blNNSUxUZXN0KCkiPgorPGgxPlNWRyAxLjEgZHluYW1pYyBhbmltYXRpb24gdGVzdHM8L2gx
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxz
Y3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvc3ZnZW51bS1hbmltYXRpb24tMTMuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlv
bnMvc3ZnZW51bS1hbmltYXRpb24tMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdmcvYW5p
bWF0aW9ucy9zdmdlbnVtLWFuaW1hdGlvbi0yLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wZjZh
MzNkNTIwNTU0YWFiNWI2NGIzNzlhZmJiM2VlOTU0YjRjN2RjCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc3ZnZW51bS1hbmltYXRpb24tMi1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwyMyBAQAorU1ZHIDEuMSBkeW5hbWljIGFuaW1hdGlvbiB0ZXN0cworCitU
ZXN0IEVkZ2VNb2RlVHlwZSBlbnVtZXJhdGlvbiBhbmltYXRpb25zCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworCitQQVNTIGNvbnZvbHZlTWF0cml4LmVkZ2VNb2RlLmFuaW1WYWwgaXMg
U1ZHRkVDb252b2x2ZU1hdHJpeEVsZW1lbnQuU1ZHX0VER0VNT0RFX1dSQVAKK1BBU1MgY29udm9s
dmVNYXRyaXguZWRnZU1vZGUuYmFzZVZhbCBpcyBTVkdGRUNvbnZvbHZlTWF0cml4RWxlbWVudC5T
VkdfRURHRU1PREVfV1JBUAorUEFTUyBjb252b2x2ZU1hdHJpeC5lZGdlTW9kZS5hbmltVmFsIGlz
IFNWR0ZFQ29udm9sdmVNYXRyaXhFbGVtZW50LlNWR19FREdFTU9ERV9EVVBMSUNBVEUKK1BBU1Mg
Y29udm9sdmVNYXRyaXguZWRnZU1vZGUuYmFzZVZhbCBpcyBTVkdGRUNvbnZvbHZlTWF0cml4RWxl
bWVudC5TVkdfRURHRU1PREVfV1JBUAorUEFTUyBjb252b2x2ZU1hdHJpeC5lZGdlTW9kZS5hbmlt
VmFsIGlzIFNWR0ZFQ29udm9sdmVNYXRyaXhFbGVtZW50LlNWR19FREdFTU9ERV9EVVBMSUNBVEUK
K1BBU1MgY29udm9sdmVNYXRyaXguZWRnZU1vZGUuYmFzZVZhbCBpcyBTVkdGRUNvbnZvbHZlTWF0
cml4RWxlbWVudC5TVkdfRURHRU1PREVfV1JBUAorUEFTUyBjb252b2x2ZU1hdHJpeC5lZGdlTW9k
ZS5hbmltVmFsIGlzIFNWR0ZFQ29udm9sdmVNYXRyaXhFbGVtZW50LlNWR19FREdFTU9ERV9OT05F
CitQQVNTIGNvbnZvbHZlTWF0cml4LmVkZ2VNb2RlLmJhc2VWYWwgaXMgU1ZHRkVDb252b2x2ZU1h
dHJpeEVsZW1lbnQuU1ZHX0VER0VNT0RFX1dSQVAKK1BBU1MgY29udm9sdmVNYXRyaXguZWRnZU1v
ZGUuYW5pbVZhbCBpcyBTVkdGRUNvbnZvbHZlTWF0cml4RWxlbWVudC5TVkdfRURHRU1PREVfTk9O
RQorUEFTUyBjb252b2x2ZU1hdHJpeC5lZGdlTW9kZS5iYXNlVmFsIGlzIFNWR0ZFQ29udm9sdmVN
YXRyaXhFbGVtZW50LlNWR19FREdFTU9ERV9XUkFQCitQQVNTIGNvbnZvbHZlTWF0cml4LmVkZ2VN
b2RlLmFuaW1WYWwgaXMgU1ZHRkVDb252b2x2ZU1hdHJpeEVsZW1lbnQuU1ZHX0VER0VNT0RFX1dS
QVAKK1BBU1MgY29udm9sdmVNYXRyaXguZWRnZU1vZGUuYmFzZVZhbCBpcyBTVkdGRUNvbnZvbHZl
TWF0cml4RWxlbWVudC5TVkdfRURHRU1PREVfV1JBUAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9h
bmltYXRpb25zL3N2Z2VudW0tYW5pbWF0aW9uLTIuaHRtbCBiL0xheW91dFRlc3RzL3N2Zy9hbmlt
YXRpb25zL3N2Z2VudW0tYW5pbWF0aW9uLTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iYWQzMDY3MGJiZjlm
NmMxMmU3OTM1MjVmZTFlZDZkNzQ1ZDg4YWIyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvc3ZnL2FuaW1hdGlvbnMvc3ZnZW51bS1hbmltYXRpb24tMi5odG1sCkBAIC0wLDAgKzEsMTQg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL2R5bmFtaWMtdXBkYXRlcy9yZXNvdXJj
ZXMvU1ZHVGVzdENhc2UuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9TVkdB
bmltYXRpb25UZXN0Q2FzZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1
blNNSUxUZXN0KCkiPgorPGgxPlNWRyAxLjEgZHluYW1pYyBhbmltYXRpb24gdGVzdHM8L2gxPgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3Jp
cHQgc3JjPSJzY3JpcHQtdGVzdHMvc3ZnZW51bS1hbmltYXRpb24tMi5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9z
dmdlbnVtLWFuaW1hdGlvbi0zLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N2Zy9hbmltYXRp
b25zL3N2Z2VudW0tYW5pbWF0aW9uLTMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmIyZWMzZGNi
NDM0YjcwMWU4ZWI5MzNmMzY4MzlhYWFhZDI5Y2U0ZDYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9zdmdlbnVtLWFuaW1hdGlvbi0zLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDIyIEBACitTVkcgMS4xIGR5bmFtaWMgYW5pbWF0aW9uIHRlc3RzCisKK1N0cmV0
Y2hlZCB0ZXh0CitUZXN0IFNWR0xlbmd0aEFkanVzdFR5cGUgZW51bWVyYXRpb24gYW5pbWF0aW9u
cworCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyB0ZXh0Lmxlbmd0aEFkanVz
dC5hbmltVmFsIGlzIFNWR1RleHRDb250ZW50RWxlbWVudC5MRU5HVEhBREpVU1RfU1BBQ0lORwor
UEFTUyB0ZXh0Lmxlbmd0aEFkanVzdC5iYXNlVmFsIGlzIFNWR1RleHRDb250ZW50RWxlbWVudC5M
RU5HVEhBREpVU1RfU1BBQ0lORworUEFTUyB0ZXh0Lmxlbmd0aEFkanVzdC5hbmltVmFsIGlzIFNW
R1RleHRDb250ZW50RWxlbWVudC5MRU5HVEhBREpVU1RfU1BBQ0lORworUEFTUyB0ZXh0Lmxlbmd0
aEFkanVzdC5iYXNlVmFsIGlzIFNWR1RleHRDb250ZW50RWxlbWVudC5MRU5HVEhBREpVU1RfU1BB
Q0lORworUEFTUyB0ZXh0Lmxlbmd0aEFkanVzdC5hbmltVmFsIGlzIFNWR1RleHRDb250ZW50RWxl
bWVudC5MRU5HVEhBREpVU1RfU1BBQ0lOR0FOREdMWVBIUworUEFTUyB0ZXh0Lmxlbmd0aEFkanVz
dC5iYXNlVmFsIGlzIFNWR1RleHRDb250ZW50RWxlbWVudC5MRU5HVEhBREpVU1RfU1BBQ0lORwor
UEFTUyB0ZXh0Lmxlbmd0aEFkanVzdC5hbmltVmFsIGlzIFNWR1RleHRDb250ZW50RWxlbWVudC5M
RU5HVEhBREpVU1RfU1BBQ0lOR0FOREdMWVBIUworUEFTUyB0ZXh0Lmxlbmd0aEFkanVzdC5iYXNl
VmFsIGlzIFNWR1RleHRDb250ZW50RWxlbWVudC5MRU5HVEhBREpVU1RfU1BBQ0lORworUEFTUyB0
ZXh0Lmxlbmd0aEFkanVzdC5hbmltVmFsIGlzIFNWR1RleHRDb250ZW50RWxlbWVudC5MRU5HVEhB
REpVU1RfU1BBQ0lOR0FOREdMWVBIUworUEFTUyB0ZXh0Lmxlbmd0aEFkanVzdC5iYXNlVmFsIGlz
IFNWR1RleHRDb250ZW50RWxlbWVudC5MRU5HVEhBREpVU1RfU1BBQ0lORworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3N2Zy9hbmltYXRpb25zL3N2Z2VudW0tYW5pbWF0aW9uLTMuaHRtbCBiL0xheW91dFRl
c3RzL3N2Zy9hbmltYXRpb25zL3N2Z2VudW0tYW5pbWF0aW9uLTMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
ZWFlNDI4YTQxMjZmNTEzMTBmNmY0OWU2ZmIyNzI4Y2QwNmMxZDIxCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc3ZnZW51bS1hbmltYXRpb24tMy5odG1sCkBA
IC0wLDAgKzEsMTQgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL2R5bmFtaWMtdXBk
YXRlcy9yZXNvdXJjZXMvU1ZHVGVzdENhc2UuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJl
c291cmNlcy9TVkdBbmltYXRpb25UZXN0Q2FzZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eSBvbmxvYWQ9InJ1blNNSUxUZXN0KCkiPgorPGgxPlNWRyAxLjEgZHluYW1pYyBhbmltYXRpb24g
dGVzdHM8L2gxPgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvc3ZnZW51bS1hbmltYXRpb24tMy5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcv
YW5pbWF0aW9ucy9zdmdlbnVtLWFuaW1hdGlvbi00LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3N2Zy9hbmltYXRpb25zL3N2Z2VudW0tYW5pbWF0aW9uLTQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjNkMTQ0OTU5MjNhNzRhOTdlZmRjNTFhZmM2Y2U1NTc3ZDBlMGNjY2EKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9zdmdlbnVtLWFuaW1hdGlvbi00LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDM1IEBACitTVkcgMS4xIGR5bmFtaWMgYW5pbWF0aW9uIHRl
c3RzCisKK1Rlc3QgQ29tcG9zaXRlT3BlcmF0aW9uVHlwZSBlbnVtZXJhdGlvbiBhbmltYXRpb25z
CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMs
IGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIG92ZXJDb21wb3NpdGUxLm9w
ZXJhdG9yLmFuaW1WYWwgaXMgU1ZHRkVDb21wb3NpdGVFbGVtZW50LlNWR19GRUNPTVBPU0lURV9P
UEVSQVRPUl9PVkVSCitQQVNTIG92ZXJDb21wb3NpdGUxLm9wZXJhdG9yLmJhc2VWYWwgaXMgU1ZH
RkVDb21wb3NpdGVFbGVtZW50LlNWR19GRUNPTVBPU0lURV9PUEVSQVRPUl9PVkVSCitQQVNTIG92
ZXJDb21wb3NpdGUxLm9wZXJhdG9yLmFuaW1WYWwgaXMgU1ZHRkVDb21wb3NpdGVFbGVtZW50LlNW
R19GRUNPTVBPU0lURV9PUEVSQVRPUl9JTgorUEFTUyBvdmVyQ29tcG9zaXRlMS5vcGVyYXRvci5i
YXNlVmFsIGlzIFNWR0ZFQ29tcG9zaXRlRWxlbWVudC5TVkdfRkVDT01QT1NJVEVfT1BFUkFUT1Jf
T1ZFUgorUEFTUyBvdmVyQ29tcG9zaXRlMS5vcGVyYXRvci5hbmltVmFsIGlzIFNWR0ZFQ29tcG9z
aXRlRWxlbWVudC5TVkdfRkVDT01QT1NJVEVfT1BFUkFUT1JfSU4KK1BBU1Mgb3ZlckNvbXBvc2l0
ZTEub3BlcmF0b3IuYmFzZVZhbCBpcyBTVkdGRUNvbXBvc2l0ZUVsZW1lbnQuU1ZHX0ZFQ09NUE9T
SVRFX09QRVJBVE9SX09WRVIKK1BBU1Mgb3ZlckNvbXBvc2l0ZTEub3BlcmF0b3IuYW5pbVZhbCBp
cyBTVkdGRUNvbXBvc2l0ZUVsZW1lbnQuU1ZHX0ZFQ09NUE9TSVRFX09QRVJBVE9SX09VVAorUEFT
UyBvdmVyQ29tcG9zaXRlMS5vcGVyYXRvci5iYXNlVmFsIGlzIFNWR0ZFQ29tcG9zaXRlRWxlbWVu
dC5TVkdfRkVDT01QT1NJVEVfT1BFUkFUT1JfT1ZFUgorUEFTUyBvdmVyQ29tcG9zaXRlMS5vcGVy
YXRvci5hbmltVmFsIGlzIFNWR0ZFQ29tcG9zaXRlRWxlbWVudC5TVkdfRkVDT01QT1NJVEVfT1BF
UkFUT1JfT1VUCitQQVNTIG92ZXJDb21wb3NpdGUxLm9wZXJhdG9yLmJhc2VWYWwgaXMgU1ZHRkVD
b21wb3NpdGVFbGVtZW50LlNWR19GRUNPTVBPU0lURV9PUEVSQVRPUl9PVkVSCitQQVNTIG92ZXJD
b21wb3NpdGUxLm9wZXJhdG9yLmFuaW1WYWwgaXMgU1ZHRkVDb21wb3NpdGVFbGVtZW50LlNWR19G
RUNPTVBPU0lURV9PUEVSQVRPUl9BVE9QCitQQVNTIG92ZXJDb21wb3NpdGUxLm9wZXJhdG9yLmJh
c2VWYWwgaXMgU1ZHRkVDb21wb3NpdGVFbGVtZW50LlNWR19GRUNPTVBPU0lURV9PUEVSQVRPUl9P
VkVSCitQQVNTIG92ZXJDb21wb3NpdGUxLm9wZXJhdG9yLmFuaW1WYWwgaXMgU1ZHRkVDb21wb3Np
dGVFbGVtZW50LlNWR19GRUNPTVBPU0lURV9PUEVSQVRPUl9BVE9QCitQQVNTIG92ZXJDb21wb3Np
dGUxLm9wZXJhdG9yLmJhc2VWYWwgaXMgU1ZHRkVDb21wb3NpdGVFbGVtZW50LlNWR19GRUNPTVBP
U0lURV9PUEVSQVRPUl9PVkVSCitQQVNTIG92ZXJDb21wb3NpdGUxLm9wZXJhdG9yLmFuaW1WYWwg
aXMgU1ZHRkVDb21wb3NpdGVFbGVtZW50LlNWR19GRUNPTVBPU0lURV9PUEVSQVRPUl9YT1IKK1BB
U1Mgb3ZlckNvbXBvc2l0ZTEub3BlcmF0b3IuYmFzZVZhbCBpcyBTVkdGRUNvbXBvc2l0ZUVsZW1l
bnQuU1ZHX0ZFQ09NUE9TSVRFX09QRVJBVE9SX09WRVIKK1BBU1Mgb3ZlckNvbXBvc2l0ZTEub3Bl
cmF0b3IuYW5pbVZhbCBpcyBTVkdGRUNvbXBvc2l0ZUVsZW1lbnQuU1ZHX0ZFQ09NUE9TSVRFX09Q
RVJBVE9SX1hPUgorUEFTUyBvdmVyQ29tcG9zaXRlMS5vcGVyYXRvci5iYXNlVmFsIGlzIFNWR0ZF
Q29tcG9zaXRlRWxlbWVudC5TVkdfRkVDT01QT1NJVEVfT1BFUkFUT1JfT1ZFUgorUEFTUyBvdmVy
Q29tcG9zaXRlMS5vcGVyYXRvci5hbmltVmFsIGlzIFNWR0ZFQ29tcG9zaXRlRWxlbWVudC5TVkdf
RkVDT01QT1NJVEVfT1BFUkFUT1JfQVJJVEhNRVRJQworUEFTUyBvdmVyQ29tcG9zaXRlMS5vcGVy
YXRvci5iYXNlVmFsIGlzIFNWR0ZFQ29tcG9zaXRlRWxlbWVudC5TVkdfRkVDT01QT1NJVEVfT1BF
UkFUT1JfT1ZFUgorUEFTUyBvdmVyQ29tcG9zaXRlMS5vcGVyYXRvci5hbmltVmFsIGlzIFNWR0ZF
Q29tcG9zaXRlRWxlbWVudC5TVkdfRkVDT01QT1NJVEVfT1BFUkFUT1JfQVJJVEhNRVRJQworUEFT
UyBvdmVyQ29tcG9zaXRlMS5vcGVyYXRvci5iYXNlVmFsIGlzIFNWR0ZFQ29tcG9zaXRlRWxlbWVu
dC5TVkdfRkVDT01QT1NJVEVfT1BFUkFUT1JfT1ZFUgorUEFTUyBvdmVyQ29tcG9zaXRlMS5vcGVy
YXRvci5hbmltVmFsIGlzIFNWR0ZFQ29tcG9zaXRlRWxlbWVudC5TVkdfRkVDT01QT1NJVEVfT1BF
UkFUT1JfT1ZFUgorUEFTUyBvdmVyQ29tcG9zaXRlMS5vcGVyYXRvci5iYXNlVmFsIGlzIFNWR0ZF
Q29tcG9zaXRlRWxlbWVudC5TVkdfRkVDT01QT1NJVEVfT1BFUkFUT1JfT1ZFUgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL3N2Z2VudW0tYW5pbWF0aW9uLTQuaHRtbCBiL0xheW91
dFRlc3RzL3N2Zy9hbmltYXRpb25zL3N2Z2VudW0tYW5pbWF0aW9uLTQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li40Mzg1ZjllMTg1YzRlMmMxNjk3MTAyZTRhYWU0M2Y4ZjZjN2FmZTJkCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc3ZnZW51bS1hbmltYXRpb24tNC5odG1s
CkBAIC0wLDAgKzEsMTQgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhU
TUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL2R5bmFtaWMt
dXBkYXRlcy9yZXNvdXJjZXMvU1ZHVGVzdENhc2UuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
InJlc291cmNlcy9TVkdBbmltYXRpb25UZXN0Q2FzZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keSBvbmxvYWQ9InJ1blNNSUxUZXN0KCkiPgorPGgxPlNWRyAxLjEgZHluYW1pYyBhbmltYXRp
b24gdGVzdHM8L2gxPgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvc3ZnZW51bS1hbmltYXRpb24tNC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9z
dmcvYW5pbWF0aW9ucy9zdmdlbnVtLWFuaW1hdGlvbi01LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL3N2Zy9hbmltYXRpb25zL3N2Z2VudW0tYW5pbWF0aW9uLTUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmFkNDRhMDc0YmFhZmE1ZWVhOGY5MDI0OWRlY2VjYThmY2QyN2E1ZmEKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9zdmdlbnVtLWFuaW1hdGlvbi01
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIxIEBACitTVkcgMS4xIGR5bmFtaWMgYW5pbWF0aW9u
IHRlc3RzCisKK1Rlc3QgTW9ycGhvbG9neU9wZXJhdG9yVHlwZSBlbnVtZXJhdGlvbiBhbmltYXRp
b25zCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIG1vcnBob2xvZ3kub3Bl
cmF0b3IuYW5pbVZhbCBpcyBTVkdGRU1vcnBob2xvZ3lFbGVtZW50LlNWR19NT1JQSE9MT0dZX09Q
RVJBVE9SX0RJTEFURQorUEFTUyBtb3JwaG9sb2d5Lm9wZXJhdG9yLmJhc2VWYWwgaXMgU1ZHRkVN
b3JwaG9sb2d5RWxlbWVudC5TVkdfTU9SUEhPTE9HWV9PUEVSQVRPUl9ESUxBVEUKK1BBU1MgbW9y
cGhvbG9neS5vcGVyYXRvci5hbmltVmFsIGlzIFNWR0ZFTW9ycGhvbG9neUVsZW1lbnQuU1ZHX01P
UlBIT0xPR1lfT1BFUkFUT1JfRElMQVRFCitQQVNTIG1vcnBob2xvZ3kub3BlcmF0b3IuYmFzZVZh
bCBpcyBTVkdGRU1vcnBob2xvZ3lFbGVtZW50LlNWR19NT1JQSE9MT0dZX09QRVJBVE9SX0RJTEFU
RQorUEFTUyBtb3JwaG9sb2d5Lm9wZXJhdG9yLmFuaW1WYWwgaXMgU1ZHRkVNb3JwaG9sb2d5RWxl
bWVudC5TVkdfTU9SUEhPTE9HWV9PUEVSQVRPUl9FUk9ERQorUEFTUyBtb3JwaG9sb2d5Lm9wZXJh
dG9yLmJhc2VWYWwgaXMgU1ZHRkVNb3JwaG9sb2d5RWxlbWVudC5TVkdfTU9SUEhPTE9HWV9PUEVS
QVRPUl9ESUxBVEUKK1BBU1MgbW9ycGhvbG9neS5vcGVyYXRvci5hbmltVmFsIGlzIFNWR0ZFTW9y
cGhvbG9neUVsZW1lbnQuU1ZHX01PUlBIT0xPR1lfT1BFUkFUT1JfRVJPREUKK1BBU1MgbW9ycGhv
bG9neS5vcGVyYXRvci5iYXNlVmFsIGlzIFNWR0ZFTW9ycGhvbG9neUVsZW1lbnQuU1ZHX01PUlBI
T0xPR1lfT1BFUkFUT1JfRElMQVRFCitQQVNTIG1vcnBob2xvZ3kub3BlcmF0b3IuYW5pbVZhbCBp
cyBTVkdGRU1vcnBob2xvZ3lFbGVtZW50LlNWR19NT1JQSE9MT0dZX09QRVJBVE9SX0RJTEFURQor
UEFTUyBtb3JwaG9sb2d5Lm9wZXJhdG9yLmJhc2VWYWwgaXMgU1ZHRkVNb3JwaG9sb2d5RWxlbWVu
dC5TVkdfTU9SUEhPTE9HWV9PUEVSQVRPUl9ESUxBVEUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcv
YW5pbWF0aW9ucy9zdmdlbnVtLWFuaW1hdGlvbi01Lmh0bWwgYi9MYXlvdXRUZXN0cy9zdmcvYW5p
bWF0aW9ucy9zdmdlbnVtLWFuaW1hdGlvbi01Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjZjMmVkNmYwMjgw
NTIxN2I1YTFmY2NlODE4NGM2MWU1YWY2NWRlYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL3N2Zy9hbmltYXRpb25zL3N2Z2VudW0tYW5pbWF0aW9uLTUuaHRtbApAQCAtMCwwICsxLDE0
IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9keW5hbWljLXVwZGF0ZXMvcmVzb3Vy
Y2VzL1NWR1Rlc3RDYXNlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvU1ZH
QW5pbWF0aW9uVGVzdENhc2UuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJy
dW5TTUlMVGVzdCgpIj4KKzxoMT5TVkcgMS4xIGR5bmFtaWMgYW5pbWF0aW9uIHRlc3RzPC9oMT4K
KzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0IHNyYz0ic2NyaXB0LXRlc3RzL3N2Z2VudW0tYW5pbWF0aW9uLTUuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMv
c3ZnZW51bS1hbmltYXRpb24tNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0
aW9ucy9zdmdlbnVtLWFuaW1hdGlvbi02LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNmIyODhm
MTE5YzVhODI2ZDM2N2FlZTMwZTY0ZDMwZWU3ODM2ZGRlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc3ZnZW51bS1hbmltYXRpb24tNi1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwyOSBAQAorU1ZHIDEuMSBkeW5hbWljIGFuaW1hdGlvbiB0ZXN0cworCitUZXN0
IENvbG9yTWF0cml4VHlwZSBlbnVtZXJhdGlvbiBhbmltYXRpb25zCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworCitQQVNTIGNvbG9yTWF0cml4LnR5cGUuYW5pbVZhbCBpcyBTVkdGRUNv
bG9yTWF0cml4RWxlbWVudC5TVkdfRkVDT0xPUk1BVFJJWF9UWVBFX01BVFJJWAorUEFTUyBjb2xv
ck1hdHJpeC50eXBlLmJhc2VWYWwgaXMgU1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQuU1ZHX0ZFQ09M
T1JNQVRSSVhfVFlQRV9NQVRSSVgKK1BBU1MgY29sb3JNYXRyaXgudHlwZS5hbmltVmFsIGlzIFNW
R0ZFQ29sb3JNYXRyaXhFbGVtZW50LlNWR19GRUNPTE9STUFUUklYX1RZUEVfTUFUUklYCitQQVNT
IGNvbG9yTWF0cml4LnR5cGUuYmFzZVZhbCBpcyBTVkdGRUNvbG9yTWF0cml4RWxlbWVudC5TVkdf
RkVDT0xPUk1BVFJJWF9UWVBFX01BVFJJWAorUEFTUyBjb2xvck1hdHJpeC50eXBlLmFuaW1WYWwg
aXMgU1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQuU1ZHX0ZFQ09MT1JNQVRSSVhfVFlQRV9TQVRVUkFU
RQorUEFTUyBjb2xvck1hdHJpeC50eXBlLmJhc2VWYWwgaXMgU1ZHRkVDb2xvck1hdHJpeEVsZW1l
bnQuU1ZHX0ZFQ09MT1JNQVRSSVhfVFlQRV9NQVRSSVgKK1BBU1MgY29sb3JNYXRyaXgudHlwZS5h
bmltVmFsIGlzIFNWR0ZFQ29sb3JNYXRyaXhFbGVtZW50LlNWR19GRUNPTE9STUFUUklYX1RZUEVf
U0FUVVJBVEUKK1BBU1MgY29sb3JNYXRyaXgudHlwZS5iYXNlVmFsIGlzIFNWR0ZFQ29sb3JNYXRy
aXhFbGVtZW50LlNWR19GRUNPTE9STUFUUklYX1RZUEVfTUFUUklYCitQQVNTIGNvbG9yTWF0cml4
LnR5cGUuYW5pbVZhbCBpcyBTVkdGRUNvbG9yTWF0cml4RWxlbWVudC5TVkdfRkVDT0xPUk1BVFJJ
WF9UWVBFX0hVRVJPVEFURQorUEFTUyBjb2xvck1hdHJpeC50eXBlLmJhc2VWYWwgaXMgU1ZHRkVD
b2xvck1hdHJpeEVsZW1lbnQuU1ZHX0ZFQ09MT1JNQVRSSVhfVFlQRV9NQVRSSVgKK1BBU1MgY29s
b3JNYXRyaXgudHlwZS5hbmltVmFsIGlzIFNWR0ZFQ29sb3JNYXRyaXhFbGVtZW50LlNWR19GRUNP
TE9STUFUUklYX1RZUEVfSFVFUk9UQVRFCitQQVNTIGNvbG9yTWF0cml4LnR5cGUuYmFzZVZhbCBp
cyBTVkdGRUNvbG9yTWF0cml4RWxlbWVudC5TVkdfRkVDT0xPUk1BVFJJWF9UWVBFX01BVFJJWAor
UEFTUyBjb2xvck1hdHJpeC50eXBlLmFuaW1WYWwgaXMgU1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQu
U1ZHX0ZFQ09MT1JNQVRSSVhfVFlQRV9MVU1JTkFOQ0VUT0FMUEhBCitQQVNTIGNvbG9yTWF0cml4
LnR5cGUuYmFzZVZhbCBpcyBTVkdGRUNvbG9yTWF0cml4RWxlbWVudC5TVkdfRkVDT0xPUk1BVFJJ
WF9UWVBFX01BVFJJWAorUEFTUyBjb2xvck1hdHJpeC50eXBlLmFuaW1WYWwgaXMgU1ZHRkVDb2xv
ck1hdHJpeEVsZW1lbnQuU1ZHX0ZFQ09MT1JNQVRSSVhfVFlQRV9MVU1JTkFOQ0VUT0FMUEhBCitQ
QVNTIGNvbG9yTWF0cml4LnR5cGUuYmFzZVZhbCBpcyBTVkdGRUNvbG9yTWF0cml4RWxlbWVudC5T
VkdfRkVDT0xPUk1BVFJJWF9UWVBFX01BVFJJWAorUEFTUyBjb2xvck1hdHJpeC50eXBlLmFuaW1W
YWwgaXMgU1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQuU1ZHX0ZFQ09MT1JNQVRSSVhfVFlQRV9NQVRS
SVgKK1BBU1MgY29sb3JNYXRyaXgudHlwZS5iYXNlVmFsIGlzIFNWR0ZFQ29sb3JNYXRyaXhFbGVt
ZW50LlNWR19GRUNPTE9STUFUUklYX1RZUEVfTUFUUklYCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3Zn
L2FuaW1hdGlvbnMvc3ZnZW51bS1hbmltYXRpb24tNi5odG1sIGIvTGF5b3V0VGVzdHMvc3ZnL2Fu
aW1hdGlvbnMvc3ZnZW51bS1hbmltYXRpb24tNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA3NDlhZGM1Y2Jh
NjM0YjMxMzRmZjQxNDg2ZWI3Mzg0MjgzNDdhM2EKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9zdmcvYW5pbWF0aW9ucy9zdmdlbnVtLWFuaW1hdGlvbi02Lmh0bWwKQEAgLTAsMCArMSwx
NCBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vZHluYW1pYy11cGRhdGVzL3Jlc291
cmNlcy9TVkdUZXN0Q2FzZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL1NW
R0FuaW1hdGlvblRlc3RDYXNlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0i
cnVuU01JTFRlc3QoKSI+Cis8aDE+U1ZHIDEuMSBkeW5hbWljIGFuaW1hdGlvbiB0ZXN0czwvaDE+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdCBzcmM9InNjcmlwdC10ZXN0cy9zdmdlbnVtLWFuaW1hdGlvbi02LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25z
L3N2Z2VudW0tYW5pbWF0aW9uLTctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3ZnL2FuaW1h
dGlvbnMvc3ZnZW51bS1hbmltYXRpb24tNy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjcyZTc4
YjYyYmExMjFmMWVhOWRkMjAwNzYxZGFlNTdjYTA0NjdjOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL3N2Z2VudW0tYW5pbWF0aW9uLTctZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMzEgQEAKK1NWRyAxLjEgZHluYW1pYyBhbmltYXRpb24gdGVzdHMKKworVGVz
dCBTVkdTdGl0Y2hPcHRpb25zL1R1cmJ1bGVuY2VUeXBlIGVudW1lcmF0aW9uIGFuaW1hdGlvbnMK
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgdHVyYnVsZW5jZS50eXBlLmFu
aW1WYWwgaXMgU1ZHRkVUdXJidWxlbmNlRWxlbWVudC5TVkdfVFVSQlVMRU5DRV9UWVBFX0ZSQUNU
QUxOT0lTRQorUEFTUyB0dXJidWxlbmNlLnR5cGUuYmFzZVZhbCBpcyBTVkdGRVR1cmJ1bGVuY2VF
bGVtZW50LlNWR19UVVJCVUxFTkNFX1RZUEVfRlJBQ1RBTE5PSVNFCitQQVNTIHR1cmJ1bGVuY2Uu
c3RpdGNoVGlsZXMuYW5pbVZhbCBpcyBTVkdGRVR1cmJ1bGVuY2VFbGVtZW50LlNWR19TVElUQ0hU
WVBFX1NUSVRDSAorUEFTUyB0dXJidWxlbmNlLnN0aXRjaFRpbGVzLmJhc2VWYWwgaXMgU1ZHRkVU
dXJidWxlbmNlRWxlbWVudC5TVkdfU1RJVENIVFlQRV9TVElUQ0gKK1BBU1MgdHVyYnVsZW5jZS50
eXBlLmFuaW1WYWwgaXMgU1ZHRkVUdXJidWxlbmNlRWxlbWVudC5TVkdfVFVSQlVMRU5DRV9UWVBF
X0ZSQUNUQUxOT0lTRQorUEFTUyB0dXJidWxlbmNlLnR5cGUuYmFzZVZhbCBpcyBTVkdGRVR1cmJ1
bGVuY2VFbGVtZW50LlNWR19UVVJCVUxFTkNFX1RZUEVfRlJBQ1RBTE5PSVNFCitQQVNTIHR1cmJ1
bGVuY2Uuc3RpdGNoVGlsZXMuYW5pbVZhbCBpcyBTVkdGRVR1cmJ1bGVuY2VFbGVtZW50LlNWR19T
VElUQ0hUWVBFX1NUSVRDSAorUEFTUyB0dXJidWxlbmNlLnN0aXRjaFRpbGVzLmJhc2VWYWwgaXMg
U1ZHRkVUdXJidWxlbmNlRWxlbWVudC5TVkdfU1RJVENIVFlQRV9TVElUQ0gKK1BBU1MgdHVyYnVs
ZW5jZS50eXBlLmFuaW1WYWwgaXMgU1ZHRkVUdXJidWxlbmNlRWxlbWVudC5TVkdfVFVSQlVMRU5D
RV9UWVBFX1RVUkJVTEVOQ0UKK1BBU1MgdHVyYnVsZW5jZS50eXBlLmJhc2VWYWwgaXMgU1ZHRkVU
dXJidWxlbmNlRWxlbWVudC5TVkdfVFVSQlVMRU5DRV9UWVBFX0ZSQUNUQUxOT0lTRQorUEFTUyB0
dXJidWxlbmNlLnN0aXRjaFRpbGVzLmFuaW1WYWwgaXMgU1ZHRkVUdXJidWxlbmNlRWxlbWVudC5T
VkdfU1RJVENIVFlQRV9OT1NUSVRDSAorUEFTUyB0dXJidWxlbmNlLnN0aXRjaFRpbGVzLmJhc2VW
YWwgaXMgU1ZHRkVUdXJidWxlbmNlRWxlbWVudC5TVkdfU1RJVENIVFlQRV9TVElUQ0gKK1BBU1Mg
dHVyYnVsZW5jZS50eXBlLmFuaW1WYWwgaXMgU1ZHRkVUdXJidWxlbmNlRWxlbWVudC5TVkdfVFVS
QlVMRU5DRV9UWVBFX1RVUkJVTEVOQ0UKK1BBU1MgdHVyYnVsZW5jZS50eXBlLmJhc2VWYWwgaXMg
U1ZHRkVUdXJidWxlbmNlRWxlbWVudC5TVkdfVFVSQlVMRU5DRV9UWVBFX0ZSQUNUQUxOT0lTRQor
UEFTUyB0dXJidWxlbmNlLnN0aXRjaFRpbGVzLmFuaW1WYWwgaXMgU1ZHRkVUdXJidWxlbmNlRWxl
bWVudC5TVkdfU1RJVENIVFlQRV9OT1NUSVRDSAorUEFTUyB0dXJidWxlbmNlLnN0aXRjaFRpbGVz
LmJhc2VWYWwgaXMgU1ZHRkVUdXJidWxlbmNlRWxlbWVudC5TVkdfU1RJVENIVFlQRV9TVElUQ0gK
K1BBU1MgdHVyYnVsZW5jZS50eXBlLmFuaW1WYWwgaXMgU1ZHRkVUdXJidWxlbmNlRWxlbWVudC5T
VkdfVFVSQlVMRU5DRV9UWVBFX0ZSQUNUQUxOT0lTRQorUEFTUyB0dXJidWxlbmNlLnR5cGUuYmFz
ZVZhbCBpcyBTVkdGRVR1cmJ1bGVuY2VFbGVtZW50LlNWR19UVVJCVUxFTkNFX1RZUEVfRlJBQ1RB
TE5PSVNFCitQQVNTIHR1cmJ1bGVuY2Uuc3RpdGNoVGlsZXMuYW5pbVZhbCBpcyBTVkdGRVR1cmJ1
bGVuY2VFbGVtZW50LlNWR19TVElUQ0hUWVBFX1NUSVRDSAorUEFTUyB0dXJidWxlbmNlLnN0aXRj
aFRpbGVzLmJhc2VWYWwgaXMgU1ZHRkVUdXJidWxlbmNlRWxlbWVudC5TVkdfU1RJVENIVFlQRV9T
VElUQ0gKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9zdmdlbnVtLWFuaW1hdGlv
bi03Lmh0bWwgYi9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9zdmdlbnVtLWFuaW1hdGlvbi03
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uOGE4MjE4ZTFhZjUxYWE0Mjk4ZmU2YjQ2NjM5NTBmM2U2MjJmZmJk
NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL3N2Z2VudW0t
YW5pbWF0aW9uLTcuaHRtbApAQCAtMCwwICsxLDE0IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMg
Ii0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi9keW5hbWljLXVwZGF0ZXMvcmVzb3VyY2VzL1NWR1Rlc3RDYXNlLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvU1ZHQW5pbWF0aW9uVGVzdENhc2UuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5TTUlMVGVzdCgpIj4KKzxoMT5TVkcgMS4x
IGR5bmFtaWMgYW5pbWF0aW9uIHRlc3RzPC9oMT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL3N2Z2Vu
dW0tYW5pbWF0aW9uLTcuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc3ZnZW51bS1hbmltYXRpb24tOC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9zdmdlbnVtLWFuaW1hdGlvbi04LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jMGRmY2U0MzJkY2EzZTNlMTkxYjEwNjkxOWQyZTU5NzFh
OWE5NThlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc3Zn
ZW51bS1hbmltYXRpb24tOC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzMyBAQAorU1ZHIDEuMSBk
eW5hbWljIGFuaW1hdGlvbiB0ZXN0cworCitUZXN0IENvbXBvbmVudFRyYW5zZmVyVHlwZSBlbnVt
ZXJhdGlvbiBhbmltYXRpb25zCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNT
IGZlUkZ1bmMudHlwZS5hbmltVmFsIGlzIFNWR0NvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb25FbGVt
ZW50LlNWR19GRUNPTVBPTkVOVFRSQU5TRkVSX1RZUEVfSURFTlRJVFkKK1BBU1MgZmVSRnVuYy50
eXBlLmJhc2VWYWwgaXMgU1ZHQ29tcG9uZW50VHJhbnNmZXJGdW5jdGlvbkVsZW1lbnQuU1ZHX0ZF
Q09NUE9ORU5UVFJBTlNGRVJfVFlQRV9JREVOVElUWQorUEFTUyBmZVJGdW5jLnR5cGUuYW5pbVZh
bCBpcyBTVkdDb21wb25lbnRUcmFuc2ZlckZ1bmN0aW9uRWxlbWVudC5TVkdfRkVDT01QT05FTlRU
UkFOU0ZFUl9UWVBFX0lERU5USVRZCitQQVNTIGZlUkZ1bmMudHlwZS5iYXNlVmFsIGlzIFNWR0Nv
bXBvbmVudFRyYW5zZmVyRnVuY3Rpb25FbGVtZW50LlNWR19GRUNPTVBPTkVOVFRSQU5TRkVSX1RZ
UEVfSURFTlRJVFkKK1BBU1MgZmVSRnVuYy50eXBlLmFuaW1WYWwgaXMgU1ZHQ29tcG9uZW50VHJh
bnNmZXJGdW5jdGlvbkVsZW1lbnQuU1ZHX0ZFQ09NUE9ORU5UVFJBTlNGRVJfVFlQRV9UQUJMRQor
UEFTUyBmZVJGdW5jLnR5cGUuYmFzZVZhbCBpcyBTVkdDb21wb25lbnRUcmFuc2ZlckZ1bmN0aW9u
RWxlbWVudC5TVkdfRkVDT01QT05FTlRUUkFOU0ZFUl9UWVBFX0lERU5USVRZCitQQVNTIGZlUkZ1
bmMudHlwZS5hbmltVmFsIGlzIFNWR0NvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb25FbGVtZW50LlNW
R19GRUNPTVBPTkVOVFRSQU5TRkVSX1RZUEVfVEFCTEUKK1BBU1MgZmVSRnVuYy50eXBlLmJhc2VW
YWwgaXMgU1ZHQ29tcG9uZW50VHJhbnNmZXJGdW5jdGlvbkVsZW1lbnQuU1ZHX0ZFQ09NUE9ORU5U
VFJBTlNGRVJfVFlQRV9JREVOVElUWQorUEFTUyBmZVJGdW5jLnR5cGUuYW5pbVZhbCBpcyBTVkdD
b21wb25lbnRUcmFuc2ZlckZ1bmN0aW9uRWxlbWVudC5TVkdfRkVDT01QT05FTlRUUkFOU0ZFUl9U
WVBFX0RJU0NSRVRFCitQQVNTIGZlUkZ1bmMudHlwZS5iYXNlVmFsIGlzIFNWR0NvbXBvbmVudFRy
YW5zZmVyRnVuY3Rpb25FbGVtZW50LlNWR19GRUNPTVBPTkVOVFRSQU5TRkVSX1RZUEVfSURFTlRJ
VFkKK1BBU1MgZmVSRnVuYy50eXBlLmFuaW1WYWwgaXMgU1ZHQ29tcG9uZW50VHJhbnNmZXJGdW5j
dGlvbkVsZW1lbnQuU1ZHX0ZFQ09NUE9ORU5UVFJBTlNGRVJfVFlQRV9ESVNDUkVURQorUEFTUyBm
ZVJGdW5jLnR5cGUuYmFzZVZhbCBpcyBTVkdDb21wb25lbnRUcmFuc2ZlckZ1bmN0aW9uRWxlbWVu
dC5TVkdfRkVDT01QT05FTlRUUkFOU0ZFUl9UWVBFX0lERU5USVRZCitQQVNTIGZlUkZ1bmMudHlw
ZS5hbmltVmFsIGlzIFNWR0NvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb25FbGVtZW50LlNWR19GRUNP
TVBPTkVOVFRSQU5TRkVSX1RZUEVfTElORUFSCitQQVNTIGZlUkZ1bmMudHlwZS5iYXNlVmFsIGlz
IFNWR0NvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb25FbGVtZW50LlNWR19GRUNPTVBPTkVOVFRSQU5T
RkVSX1RZUEVfSURFTlRJVFkKK1BBU1MgZmVSRnVuYy50eXBlLmFuaW1WYWwgaXMgU1ZHQ29tcG9u
ZW50VHJhbnNmZXJGdW5jdGlvbkVsZW1lbnQuU1ZHX0ZFQ09NUE9ORU5UVFJBTlNGRVJfVFlQRV9M
SU5FQVIKK1BBU1MgZmVSRnVuYy50eXBlLmJhc2VWYWwgaXMgU1ZHQ29tcG9uZW50VHJhbnNmZXJG
dW5jdGlvbkVsZW1lbnQuU1ZHX0ZFQ09NUE9ORU5UVFJBTlNGRVJfVFlQRV9JREVOVElUWQorUEFT
UyBmZVJGdW5jLnR5cGUuYW5pbVZhbCBpcyBTVkdDb21wb25lbnRUcmFuc2ZlckZ1bmN0aW9uRWxl
bWVudC5TVkdfRkVDT01QT05FTlRUUkFOU0ZFUl9UWVBFX0dBTU1BCitQQVNTIGZlUkZ1bmMudHlw
ZS5iYXNlVmFsIGlzIFNWR0NvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb25FbGVtZW50LlNWR19GRUNP
TVBPTkVOVFRSQU5TRkVSX1RZUEVfSURFTlRJVFkKK1BBU1MgZmVSRnVuYy50eXBlLmFuaW1WYWwg
aXMgU1ZHQ29tcG9uZW50VHJhbnNmZXJGdW5jdGlvbkVsZW1lbnQuU1ZHX0ZFQ09NUE9ORU5UVFJB
TlNGRVJfVFlQRV9HQU1NQQorUEFTUyBmZVJGdW5jLnR5cGUuYmFzZVZhbCBpcyBTVkdDb21wb25l
bnRUcmFuc2ZlckZ1bmN0aW9uRWxlbWVudC5TVkdfRkVDT01QT05FTlRUUkFOU0ZFUl9UWVBFX0lE
RU5USVRZCitQQVNTIGZlUkZ1bmMudHlwZS5hbmltVmFsIGlzIFNWR0NvbXBvbmVudFRyYW5zZmVy
RnVuY3Rpb25FbGVtZW50LlNWR19GRUNPTVBPTkVOVFRSQU5TRkVSX1RZUEVfSURFTlRJVFkKK1BB
U1MgZmVSRnVuYy50eXBlLmJhc2VWYWwgaXMgU1ZHQ29tcG9uZW50VHJhbnNmZXJGdW5jdGlvbkVs
ZW1lbnQuU1ZHX0ZFQ09NUE9ORU5UVFJBTlNGRVJfVFlQRV9JREVOVElUWQorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3N2Zy9hbmltYXRpb25zL3N2Z2VudW0tYW5pbWF0aW9uLTguaHRtbCBiL0xheW91dFRl
c3RzL3N2Zy9hbmltYXRpb25zL3N2Z2VudW0tYW5pbWF0aW9uLTguaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40
NmYwNGE2ZWUzNDUyNmRkNTU3MzI3ZDI0NWI3Y2QzNTkyMmEzOGFlCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc3ZnZW51bS1hbmltYXRpb24tOC5odG1sCkBA
IC0wLDAgKzEsMTQgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL2R5bmFtaWMtdXBk
YXRlcy9yZXNvdXJjZXMvU1ZHVGVzdENhc2UuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJl
c291cmNlcy9TVkdBbmltYXRpb25UZXN0Q2FzZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eSBvbmxvYWQ9InJ1blNNSUxUZXN0KCkiPgorPGgxPlNWRyAxLjEgZHluYW1pYyBhbmltYXRpb24g
dGVzdHM8L2gxPgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvc3ZnZW51bS1hbmltYXRpb24tOC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcv
YW5pbWF0aW9ucy9zdmdlbnVtLWFuaW1hdGlvbi05LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3N2Zy9hbmltYXRpb25zL3N2Z2VudW0tYW5pbWF0aW9uLTktZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjRjYjI5YjM2ZjM3OTIzYmE2NzZjOGM2ZTEwYzJjMTcwYTgwMGM5MzUKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9zdmdlbnVtLWFuaW1hdGlvbi05LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDMyIEBACitTVkcgMS4xIGR5bmFtaWMgYW5pbWF0aW9uIHRl
c3RzCisKK3Rlc3QKK1Rlc3QgU1ZHVGV4dFBhdGhTcGFjaW5nVHlwZS9TVkdUZXh0UGF0aE1ldGhv
ZFR5cGUgZW51bWVyYXRpb24gYW5pbWF0aW9ucworCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKKworUEFTUyB0ZXh0UGF0aC5tZXRob2QuYW5pbVZhbCBpcyBTVkdUZXh0UGF0aEVsZW1lbnQu
VEVYVFBBVEhfTUVUSE9EVFlQRV9BTElHTgorUEFTUyB0ZXh0UGF0aC5tZXRob2QuYmFzZVZhbCBp
cyBTVkdUZXh0UGF0aEVsZW1lbnQuVEVYVFBBVEhfTUVUSE9EVFlQRV9BTElHTgorUEFTUyB0ZXh0
UGF0aC5zcGFjaW5nLmFuaW1WYWwgaXMgU1ZHVGV4dFBhdGhFbGVtZW50LlRFWFRQQVRIX1NQQUNJ
TkdUWVBFX0FVVE8KK1BBU1MgdGV4dFBhdGguc3BhY2luZy5iYXNlVmFsIGlzIFNWR1RleHRQYXRo
RWxlbWVudC5URVhUUEFUSF9TUEFDSU5HVFlQRV9BVVRPCitQQVNTIHRleHRQYXRoLm1ldGhvZC5h
bmltVmFsIGlzIFNWR1RleHRQYXRoRWxlbWVudC5URVhUUEFUSF9NRVRIT0RUWVBFX0FMSUdOCitQ
QVNTIHRleHRQYXRoLm1ldGhvZC5iYXNlVmFsIGlzIFNWR1RleHRQYXRoRWxlbWVudC5URVhUUEFU
SF9NRVRIT0RUWVBFX0FMSUdOCitQQVNTIHRleHRQYXRoLnNwYWNpbmcuYW5pbVZhbCBpcyBTVkdU
ZXh0UGF0aEVsZW1lbnQuVEVYVFBBVEhfU1BBQ0lOR1RZUEVfQVVUTworUEFTUyB0ZXh0UGF0aC5z
cGFjaW5nLmJhc2VWYWwgaXMgU1ZHVGV4dFBhdGhFbGVtZW50LlRFWFRQQVRIX1NQQUNJTkdUWVBF
X0FVVE8KK1BBU1MgdGV4dFBhdGgubWV0aG9kLmFuaW1WYWwgaXMgU1ZHVGV4dFBhdGhFbGVtZW50
LlRFWFRQQVRIX01FVEhPRFRZUEVfU1RSRVRDSAorUEFTUyB0ZXh0UGF0aC5tZXRob2QuYmFzZVZh
bCBpcyBTVkdUZXh0UGF0aEVsZW1lbnQuVEVYVFBBVEhfTUVUSE9EVFlQRV9BTElHTgorUEFTUyB0
ZXh0UGF0aC5zcGFjaW5nLmFuaW1WYWwgaXMgU1ZHVGV4dFBhdGhFbGVtZW50LlRFWFRQQVRIX1NQ
QUNJTkdUWVBFX0VYQUNUCitQQVNTIHRleHRQYXRoLnNwYWNpbmcuYmFzZVZhbCBpcyBTVkdUZXh0
UGF0aEVsZW1lbnQuVEVYVFBBVEhfU1BBQ0lOR1RZUEVfQVVUTworUEFTUyB0ZXh0UGF0aC5tZXRo
b2QuYW5pbVZhbCBpcyBTVkdUZXh0UGF0aEVsZW1lbnQuVEVYVFBBVEhfTUVUSE9EVFlQRV9TVFJF
VENICitQQVNTIHRleHRQYXRoLm1ldGhvZC5iYXNlVmFsIGlzIFNWR1RleHRQYXRoRWxlbWVudC5U
RVhUUEFUSF9NRVRIT0RUWVBFX0FMSUdOCitQQVNTIHRleHRQYXRoLnNwYWNpbmcuYW5pbVZhbCBp
cyBTVkdUZXh0UGF0aEVsZW1lbnQuVEVYVFBBVEhfU1BBQ0lOR1RZUEVfRVhBQ1QKK1BBU1MgdGV4
dFBhdGguc3BhY2luZy5iYXNlVmFsIGlzIFNWR1RleHRQYXRoRWxlbWVudC5URVhUUEFUSF9TUEFD
SU5HVFlQRV9BVVRPCitQQVNTIHRleHRQYXRoLm1ldGhvZC5hbmltVmFsIGlzIFNWR1RleHRQYXRo
RWxlbWVudC5URVhUUEFUSF9NRVRIT0RUWVBFX1NUUkVUQ0gKK1BBU1MgdGV4dFBhdGgubWV0aG9k
LmJhc2VWYWwgaXMgU1ZHVGV4dFBhdGhFbGVtZW50LlRFWFRQQVRIX01FVEhPRFRZUEVfQUxJR04K
K1BBU1MgdGV4dFBhdGguc3BhY2luZy5hbmltVmFsIGlzIFNWR1RleHRQYXRoRWxlbWVudC5URVhU
UEFUSF9TUEFDSU5HVFlQRV9FWEFDVAorUEFTUyB0ZXh0UGF0aC5zcGFjaW5nLmJhc2VWYWwgaXMg
U1ZHVGV4dFBhdGhFbGVtZW50LlRFWFRQQVRIX1NQQUNJTkdUWVBFX0FVVE8KK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9zdmdlbnVtLWFuaW1hdGlvbi05Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9zdmcvYW5pbWF0aW9ucy9zdmdlbnVtLWFuaW1hdGlvbi05Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MzIzZjUwMjI1MDcwMDUwNmM0ZGQ0YzQzN2Y4ZDBhNzBkZDIyN2FjNgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL3N2Z2VudW0tYW5pbWF0aW9uLTkuaHRtbApA
QCAtMCwwICsxLDE0IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1M
Ly9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9keW5hbWljLXVw
ZGF0ZXMvcmVzb3VyY2VzL1NWR1Rlc3RDYXNlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJy
ZXNvdXJjZXMvU1ZHQW5pbWF0aW9uVGVzdENhc2UuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHkgb25sb2FkPSJydW5TTUlMVGVzdCgpIj4KKzxoMT5TVkcgMS4xIGR5bmFtaWMgYW5pbWF0aW9u
IHRlc3RzPC9oMT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL3N2Z2VudW0tYW5pbWF0aW9uLTkuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>