<?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>109100</bug_id>
          
          <creation_ts>2013-02-06 15:25:49 -0800</creation_ts>
          <short_desc>[CSS Grid Layout] Adding or removing grid items doesn&apos;t properly recompute the track sizes</short_desc>
          <delta_ts>2013-02-13 14:19:34 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>103311</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Julien Chaffraix">jchaffraix</reporter>
          <assigned_to name="Julien Chaffraix">jchaffraix</assigned_to>
          <cc>eric</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>ojan</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>826797</commentid>
    <comment_count>0</comment_count>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2013-02-06 15:25:49 -0800</bug_when>
    <thetext>We have no coverage for removing grid items and checking that we properly recompute the tracks&apos; breadths. This doesn&apos;t properly work currently as we miss some layout cues and our distribution algorithm is not totally right.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>826876</commentid>
    <comment_count>1</comment_count>
      <attachid>186944</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2013-02-06 16:42:36 -0800</bug_when>
    <thetext>Created attachment 186944
Proposed patch 1: Added a beefy test that uncovered several bugs in our implementation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>826911</commentid>
    <comment_count>2</comment_count>
      <attachid>186944</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2013-02-06 17:13:31 -0800</bug_when>
    <thetext>Comment on attachment 186944
Proposed patch 1: Added a beefy test that uncovered several bugs in our implementation.

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

&gt; Source/WebCore/ChangeLog:22
&gt; +        This made us over-grow some cases in the test.

Is the overgrowing correct or incorrect? It&apos;s unclear from this description (&quot;over&quot; implies incorrect to me).

&gt; Source/WebCore/rendering/RenderGrid.cpp:306
&gt; +    if (usedBreadth != oldUsedBreadth || child-&gt;style()-&gt;logicalHeight().isPercent())

I don&apos;t understand the percent case. It&apos;s definitely wrong, but I&apos;m not sure what the right solution is. Can you explain this case to me?

&gt; Source/WebCore/rendering/RenderGrid.cpp:333
&gt; +    // FIXME: minContentForChild will already call layout on |child|, maybe there is a way for us to avoid this second layout?

This FIXME is only for the percent case, right? The usedBreadths will be the same if minContentForChild set it.

That said, we should move this second half of these functions into a helper functions since they are identical and now becoming non-trivial. Arguably they were non-trivial before. :)

&gt; Source/WebCore/rendering/RenderGrid.cpp:409
&gt; +    for (size_t i = 0; i &lt; tracksSize; ++i)
&gt; +        updatedTrackSizes[i] = (tracks[i]-&gt;*trackGetter)();

I don&apos;t understand what this loop does. Don&apos;t we just overwrite all these values in the next loop?

&gt; Source/WebCore/rendering/RenderGrid.cpp:433
&gt;      tracksSize = tracksForGrowthAboveMaxBreadth-&gt;size();
&gt;      for (size_t i = 0; i &lt; tracksSize; ++i) {
&gt; -        GridTrack&amp; track = *tracksForGrowthAboveMaxBreadth-&gt;at(i);
&gt;          LayoutUnit growthShare = availableLogicalSpace / (tracksSize - i);
&gt; -        (track.*trackGrowthFunction)(growthShare);
&gt; +        updatedTrackSizes[i] += growthShare;
&gt;          availableLogicalSpace -= growthShare;
&gt;      }

You could avoid duplicate code by wrapping this code in the following and then always doing the for-loop below:
if (availableLogicalSpace &gt; 0 &amp;&amp; tracksForGrowthAboveMaxBreadth) {</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>826946</commentid>
    <comment_count>3</comment_count>
      <attachid>186944</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2013-02-06 18:07:18 -0800</bug_when>
    <thetext>Comment on attachment 186944
Proposed patch 1: Added a beefy test that uncovered several bugs in our implementation.

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

&gt;&gt; Source/WebCore/ChangeLog:22
&gt;&gt; +        This made us over-grow some cases in the test.
&gt; 
&gt; Is the overgrowing correct or incorrect? It&apos;s unclear from this description (&quot;over&quot; implies incorrect to me).

The over-growing was wrong. Before the change, we would end up trying to grow the size based on m_maxBreadth == infinity instead of settling on the used breadth.

&gt;&gt; Source/WebCore/rendering/RenderGrid.cpp:306
&gt;&gt; +    if (usedBreadth != oldUsedBreadth || child-&gt;style()-&gt;logicalHeight().isPercent())
&gt; 
&gt; I don&apos;t understand the percent case. It&apos;s definitely wrong, but I&apos;m not sure what the right solution is. Can you explain this case to me?

Sure, in some cases, even if the column used breadth didn&apos;t change, we still need to recompute the (unconstrained) logical height to properly compute the row grid breadth. The bug it hit was to read the previous layout logical height value when the column used breadth didn&apos;t change.

This wrong check was trying to be conservative instead of just always relayouting. I completely forgot the percent height descendant map which should cover this case better but not sure if it would work 100% of the time.

&gt;&gt; Source/WebCore/rendering/RenderGrid.cpp:333
&gt;&gt; +    // FIXME: minContentForChild will already call layout on |child|, maybe there is a way for us to avoid this second layout?
&gt; 
&gt; This FIXME is only for the percent case, right? The usedBreadths will be the same if minContentForChild set it.
&gt; 
&gt; That said, we should move this second half of these functions into a helper functions since they are identical and now becoming non-trivial. Arguably they were non-trivial before. :)

Sounds good.

&gt;&gt; Source/WebCore/rendering/RenderGrid.cpp:409
&gt;&gt; +        updatedTrackSizes[i] = (tracks[i]-&gt;*trackGetter)();
&gt; 
&gt; I don&apos;t understand what this loop does. Don&apos;t we just overwrite all these values in the next loop?

True, we could fold this loop into the next one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>830315</commentid>
    <comment_count>4</comment_count>
      <attachid>187719</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2013-02-11 16:39:51 -0800</bug_when>
    <thetext>Created attachment 187719
Updated patch per discussion with Ojan: Always force a layout in minContentForChild / maxContentForChild.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>830458</commentid>
    <comment_count>5</comment_count>
      <attachid>187719</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2013-02-11 19:01:32 -0800</bug_when>
    <thetext>Comment on attachment 187719
Updated patch per discussion with Ojan: Always force a layout in minContentForChild / maxContentForChild.

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

&gt; Source/WebCore/rendering/RenderGrid.cpp:297
&gt; +    if (!child-&gt;needsLayout())
&gt; +        child-&gt;setNeedsLayout(true, MarkOnlyThis);

I don&apos;t think we need this bit actually. child-&gt;layout() should unconditionally do the layout, no?

&gt; Source/WebCore/rendering/RenderGrid.cpp:399
&gt; +    // FIXME: This should probably use a RAII pattern to ensure we always update our tracks.

I don&apos;t understand this FIXME. We always set it in the for-loop below, no?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>830554</commentid>
    <comment_count>6</comment_count>
      <attachid>187719</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2013-02-11 21:59:15 -0800</bug_when>
    <thetext>Comment on attachment 187719
Updated patch per discussion with Ojan: Always force a layout in minContentForChild / maxContentForChild.

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

&gt;&gt; Source/WebCore/rendering/RenderGrid.cpp:297
&gt;&gt; +        child-&gt;setNeedsLayout(true, MarkOnlyThis);
&gt; 
&gt; I don&apos;t think we need this bit actually. child-&gt;layout() should unconditionally do the layout, no?

No, child-&gt;layout() will ASSERT if child doesn&apos;t need layout (see e.g. RenderBlock::layout) as you shouldn&apos;t be calling layout on a renderer that doesn&apos;t need it.

This part of the change is required and matches what other renderers are doing to force a relayout on their children.

&gt;&gt; Source/WebCore/rendering/RenderGrid.cpp:399
&gt;&gt; +    // FIXME: This should probably use a RAII pattern to ensure we always update our tracks.
&gt; 
&gt; I don&apos;t understand this FIXME. We always set it in the for-loop below, no?

It&apos;s a stray FIXME, it should have been removed from this change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>832040</commentid>
    <comment_count>7</comment_count>
      <attachid>187719</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2013-02-13 10:29:24 -0800</bug_when>
    <thetext>Comment on attachment 187719
Updated patch per discussion with Ojan: Always force a layout in minContentForChild / maxContentForChild.

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

r=me with the stray FIXME removed.

&gt;&gt;&gt; Source/WebCore/rendering/RenderGrid.cpp:297
&gt;&gt;&gt; +        child-&gt;setNeedsLayout(true, MarkOnlyThis);
&gt;&gt; 
&gt;&gt; I don&apos;t think we need this bit actually. child-&gt;layout() should unconditionally do the layout, no?
&gt; 
&gt; No, child-&gt;layout() will ASSERT if child doesn&apos;t need layout (see e.g. RenderBlock::layout) as you shouldn&apos;t be calling layout on a renderer that doesn&apos;t need it.
&gt; 
&gt; This part of the change is required and matches what other renderers are doing to force a relayout on their children.

I see. I wonder how much value we get out of that assert. Seems sort of silly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>832091</commentid>
    <comment_count>8</comment_count>
      <attachid>187719</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2013-02-13 11:13:35 -0800</bug_when>
    <thetext>Comment on attachment 187719
Updated patch per discussion with Ojan: Always force a layout in minContentForChild / maxContentForChild.

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

&gt;&gt;&gt;&gt; Source/WebCore/rendering/RenderGrid.cpp:297
&gt;&gt;&gt;&gt; +        child-&gt;setNeedsLayout(true, MarkOnlyThis);
&gt;&gt;&gt; 
&gt;&gt;&gt; I don&apos;t think we need this bit actually. child-&gt;layout() should unconditionally do the layout, no?
&gt;&gt; 
&gt;&gt; No, child-&gt;layout() will ASSERT if child doesn&apos;t need layout (see e.g. RenderBlock::layout) as you shouldn&apos;t be calling layout on a renderer that doesn&apos;t need it.
&gt;&gt; 
&gt;&gt; This part of the change is required and matches what other renderers are doing to force a relayout on their children.
&gt; 
&gt; I see. I wonder how much value we get out of that assert. Seems sort of silly.

I strongly disagree with your comment. This is a performance ASSERT that guarantees that people don&apos;t call layout when it&apos;s not needed as layout is an already expensive operation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>832111</commentid>
    <comment_count>9</comment_count>
      <attachid>188130</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2013-02-13 11:33:26 -0800</bug_when>
    <thetext>Created attachment 188130
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>832339</commentid>
    <comment_count>10</comment_count>
      <attachid>188130</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-13 14:19:29 -0800</bug_when>
    <thetext>Comment on attachment 188130
Patch for landing

Clearing flags on attachment: 188130

Committed r142798: &lt;http://trac.webkit.org/changeset/142798&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>832340</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-13 14:19:34 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>186944</attachid>
            <date>2013-02-06 16:42:36 -0800</date>
            <delta_ts>2013-02-11 16:39:49 -0800</delta_ts>
            <desc>Proposed patch 1: Added a beefy test that uncovered several bugs in our implementation.</desc>
            <filename>bug-109100-20130206163913.patch</filename>
            <type>text/plain</type>
            <size>30166</size>
            <attacher name="Julien Chaffraix">jchaffraix</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxOTk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2RmY2Q1Yzg5ZjlmYmNj
N2RlZjllNDNlNmMzYTVmMjViZmViNzcwNC4uYWExNjNkOTAxNGNmNGY4MjU4MjRhNjM3M2M3M2Q0
NGIyMzQwYmQ0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEzLTAyLTA2ICBKdWxp
ZW4gQ2hhZmZyYWl4ICA8amNoYWZmcmFpeEB3ZWJraXQub3JnPgorCisgICAgICAgIFtDU1MgR3Jp
ZCBMYXlvdXRdIFJlbW92aW5nIGdyaWQgaXRlbXMgZG9lc24ndCBwcm9wZXJseSByZWNvbXB1dGUg
dGhlIHRyYWNrIHNpemVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMDkxMDAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBUZXN0OiBmYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLWl0ZW0tcmVtb3ZhbC10cmFj
ay1icmVhZHRoLXVwZGF0ZS5odG1sCisKKyAgICAgICAgVGhlIHRlc3QgdW5jb3ZlcmVkIHNldmVy
YWwgYnVncyBpbiBvdXIgaW1wbGVtZW50YXRpb24gdGhhdCBpcyBmaXhlZCBhcyBwYXJ0CisgICAg
ICAgIG9mIHRoaXMgY2hhbmdlLiBUaGV5IHdpbGwgYmUgZGV0YWlsZWQgYmVsb3cuCisKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyR3JpZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJH
cmlkOjptaW5Db250ZW50Rm9yQ2hpbGQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyR3JpZDo6
bWF4Q29udGVudEZvckNoaWxkKToKKyAgICAgICAgQWRkZWQgc29tZSBjb2RlIHRvIGVuc3VyZXMg
dGhhdCB3ZSByZWxheW91dCBpZiB0aGUgdXNlZCBicmVhZHRoIGNoYW5nZWQgb3IgdGhlIGxvZ2lj
YWwgaGVpZ2h0CisgICAgICAgIGlzIHBlcmNlbnRhZ2Ugc28gdGhhdCB3ZSBwcm9wZXJseSByZWNv
bXB1dGUgdGhlIGxvZ2ljYWwgaGVpZ2h0LiBUaGlzIGhldXJpc3RpYyBtYXkgbm90IGJlIDEwMCUK
KyAgICAgICAgZm9vbHByb29mIGJ1dCBpdCB3YXMgYW4gb3ZlcmtpbGwgdG8gYWx3YXlzIGRvIGEg
bGF5b3V0LgorCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJHcmlkOjpyZXNvbHZlQ29udGVudEJh
c2VkVHJhY2tTaXppbmdGdW5jdGlvbnMpOgorICAgICAgICBVcGRhdGVkIHRvIG1hdGNoIHRoZSBz
cGVjaWZpY2F0aW9uIGFuZCBzZXQgbWF4IGJyZWFkdGggdG8gY3VycmVudCBicmVhZHRoIHBlciB0
aGUgc3BlY2lmaWNhdGlvbi4KKyAgICAgICAgVGhpcyBtYWRlIHVzIG92ZXItZ3JvdyBzb21lIGNh
c2VzIGluIHRoZSB0ZXN0LgorCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJHcmlkOjpkaXN0cmli
dXRlU3BhY2VUb1RyYWNrcyk6CisgICAgICAgIFVwZGF0ZWQgdG8gbWF0Y2ggdGhlIHNwZWNpZmlj
YXRpb24gYW5kIHVzZSBhbiBleHRyYSB2YXJpYWJsZSB0byBkbyB0aGUgaW50ZXJtZWRpYXRlIHNw
cmVhZGluZy4gQWxzbyByZW1vdmVkCisgICAgICAgIGEgbm93IHVubmVlZGVkIG1heC4gVGhpcyBm
aXhlcyB0aGUgY2FzZSBvZiBtdWx0aXBsZSBncmlkIGl0ZW1zIGluIHRoZSBzYW1lIGdyaWQgYXJl
YSB0aGF0IHdhcyBjb21wbGV0ZWx5IGJyb2tlbi4KKworICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
R3JpZDo6bGF5b3V0R3JpZEl0ZW1zKToKKyAgICAgICAgQWRkZWQgYSBGSVhNRSBhYm91dCBhbHdh
eXMgcmVsYXlpbmcgb3V0IGNvbnRlbnQgc2l6ZWQgdHJhY2tzJyBjaGlsZHJlbi4KKwogMjAxMy0w
Mi0wNiAgQW5kcmVhcyBLbGluZyAgPGFrbGluZ0BhcHBsZS5jb20+CiAKICAgICAgICAgT3B0aW1p
emUgR2x5cGhQYWdlIGZvciBjYXNlIHdoZXJlIGFsbCBnbHlwaHMgYXJlIGF2YWlsYWJsZSBpbiB0
aGUgc2FtZSBmb250LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckdyaWQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwCmluZGV4
IDc1ZTBiNzkyMTUzNDJhMWIyMDE1NWJkZTMwN2NhMWZjMjcwN2NmNzMuLjhjNDQzNzk2NGU0YmE2
ZjI4YjYyNjIwMjg4MWEyNTRlNWQzYzM2MTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJHcmlkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyR3JpZC5jcHAKQEAgLTMwMCw5ICszMDAsMTQgQEAgTGF5b3V0VW5pdCBSZW5kZXJHcmlkOjpt
aW5Db250ZW50Rm9yQ2hpbGQoUmVuZGVyQm94KiBjaGlsZCwgVHJhY2tTaXppbmdEaXJlY3Rpb24K
ICAgICAgICAgcmV0dXJuIGNoaWxkLT5taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgoKTsKICAgICB9
CiAKKyAgICBzaXplX3QgY29sdW1uVHJhY2sgPSByZXNvbHZlR3JpZFBvc2l0aW9uKEZvckNvbHVt
bnMsIGNoaWxkKTsKKyAgICBMYXlvdXRVbml0IHVzZWRCcmVhZHRoID0gY29sdW1uVHJhY2tzW2Nv
bHVtblRyYWNrXS5tX3VzZWRCcmVhZHRoOworICAgIExheW91dFVuaXQgb2xkVXNlZEJyZWFkdGgg
PSBjaGlsZC0+aGFzT3ZlcnJpZGVDb250YWluaW5nQmxvY2tMb2dpY2FsV2lkdGgoKSA/IGNoaWxk
LT5vdmVycmlkZUNvbnRhaW5pbmdCbG9ja0NvbnRlbnRMb2dpY2FsV2lkdGgoKSA6IExheW91dFVu
aXQoKTsKKyAgICBpZiAodXNlZEJyZWFkdGggIT0gb2xkVXNlZEJyZWFkdGggfHwgY2hpbGQtPnN0
eWxlKCktPmxvZ2ljYWxIZWlnaHQoKS5pc1BlcmNlbnQoKSkKKyAgICAgICAgY2hpbGQtPnNldE5l
ZWRzTGF5b3V0KHRydWUsIE1hcmtPbmx5VGhpcyk7CisKICAgICBpZiAoY2hpbGQtPm5lZWRzTGF5
b3V0KCkpIHsKLSAgICAgICAgc2l6ZV90IGNvbHVtblRyYWNrID0gcmVzb2x2ZUdyaWRQb3NpdGlv
bihGb3JDb2x1bW5zLCBjaGlsZCk7Ci0gICAgICAgIGNoaWxkLT5zZXRPdmVycmlkZUNvbnRhaW5p
bmdCbG9ja0NvbnRlbnRMb2dpY2FsV2lkdGgoY29sdW1uVHJhY2tzW2NvbHVtblRyYWNrXS5tX3Vz
ZWRCcmVhZHRoKTsKKyAgICAgICAgY2hpbGQtPnNldE92ZXJyaWRlQ29udGFpbmluZ0Jsb2NrQ29u
dGVudExvZ2ljYWxXaWR0aCh1c2VkQnJlYWR0aCk7CiAgICAgICAgIGNoaWxkLT5jbGVhck92ZXJy
aWRlQ29udGFpbmluZ0Jsb2NrQ29udGVudExvZ2ljYWxIZWlnaHQoKTsKICAgICAgICAgY2hpbGQt
PmxheW91dCgpOwogICAgIH0KQEAgLTMyMiw5ICszMjcsMTUgQEAgTGF5b3V0VW5pdCBSZW5kZXJH
cmlkOjptYXhDb250ZW50Rm9yQ2hpbGQoUmVuZGVyQm94KiBjaGlsZCwgVHJhY2tTaXppbmdEaXJl
Y3Rpb24KICAgICAgICAgcmV0dXJuIGNoaWxkLT5tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgoKTsK
ICAgICB9CiAKKyAgICBzaXplX3QgY29sdW1uVHJhY2sgPSByZXNvbHZlR3JpZFBvc2l0aW9uKEZv
ckNvbHVtbnMsIGNoaWxkKTsKKyAgICBMYXlvdXRVbml0IHVzZWRCcmVhZHRoID0gY29sdW1uVHJh
Y2tzW2NvbHVtblRyYWNrXS5tX3VzZWRCcmVhZHRoOworICAgIExheW91dFVuaXQgb2xkVXNlZEJy
ZWFkdGggPSBjaGlsZC0+aGFzT3ZlcnJpZGVDb250YWluaW5nQmxvY2tMb2dpY2FsV2lkdGgoKSA/
IGNoaWxkLT5vdmVycmlkZUNvbnRhaW5pbmdCbG9ja0NvbnRlbnRMb2dpY2FsV2lkdGgoKSA6IExh
eW91dFVuaXQoKTsKKyAgICAvLyBGSVhNRTogbWluQ29udGVudEZvckNoaWxkIHdpbGwgYWxyZWFk
eSBjYWxsIGxheW91dCBvbiB8Y2hpbGR8LCBtYXliZSB0aGVyZSBpcyBhIHdheSBmb3IgdXMgdG8g
YXZvaWQgdGhpcyBzZWNvbmQgbGF5b3V0PworICAgIGlmICh1c2VkQnJlYWR0aCAhPSBvbGRVc2Vk
QnJlYWR0aCB8fCBjaGlsZC0+c3R5bGUoKS0+bG9naWNhbEhlaWdodCgpLmlzUGVyY2VudCgpKQor
ICAgICAgICBjaGlsZC0+c2V0TmVlZHNMYXlvdXQodHJ1ZSwgTWFya09ubHlUaGlzKTsKKwogICAg
IGlmIChjaGlsZC0+bmVlZHNMYXlvdXQoKSkgewotICAgICAgICBzaXplX3QgY29sdW1uVHJhY2sg
PSByZXNvbHZlR3JpZFBvc2l0aW9uKEZvckNvbHVtbnMsIGNoaWxkKTsKLSAgICAgICAgY2hpbGQt
PnNldE92ZXJyaWRlQ29udGFpbmluZ0Jsb2NrQ29udGVudExvZ2ljYWxXaWR0aChjb2x1bW5UcmFj
a3NbY29sdW1uVHJhY2tdLm1fdXNlZEJyZWFkdGgpOworICAgICAgICBjaGlsZC0+c2V0T3ZlcnJp
ZGVDb250YWluaW5nQmxvY2tDb250ZW50TG9naWNhbFdpZHRoKHVzZWRCcmVhZHRoKTsKICAgICAg
ICAgY2hpbGQtPmNsZWFyT3ZlcnJpZGVDb250YWluaW5nQmxvY2tDb250ZW50TG9naWNhbEhlaWdo
dCgpOwogICAgICAgICBjaGlsZC0+bGF5b3V0KCk7CiAgICAgfQpAQCAtMzU5LDkgKzM3MCwxMCBA
QCB2b2lkIFJlbmRlckdyaWQ6OnJlc29sdmVDb250ZW50QmFzZWRUcmFja1NpemluZ0Z1bmN0aW9u
cyhUcmFja1NpemluZ0RpcmVjdGlvbiBkaQogCiAgICAgICAgIGlmIChtYXhUcmFja0JyZWFkdGgu
aXNNYXhDb250ZW50KCkpCiAgICAgICAgICAgICByZXNvbHZlQ29udGVudEJhc2VkVHJhY2tTaXpp
bmdGdW5jdGlvbnNGb3JJdGVtcyhkaXJlY3Rpb24sIGNvbHVtblRyYWNrcywgcm93VHJhY2tzLCBp
LCAmUmVuZGVyR3JpZDo6bWF4Q29udGVudEZvckNoaWxkLCAmR3JpZFRyYWNrOjptYXhCcmVhZHRo
SWZOb3RJbmZpbml0ZSwgJkdyaWRUcmFjazo6Z3Jvd01heEJyZWFkdGgpOwotICAgIH0KIAotICAg
IC8vIEZJWE1FOiBUaGUgc3BlYyBzYXlzIHRvIHVwZGF0ZSBtYXhCcmVhZHRoIGlmIGl0IGlzIElu
ZmluaXR5LgorICAgICAgICBpZiAodHJhY2subV9tYXhCcmVhZHRoID09IGluZmluaXR5KQorICAg
ICAgICAgICAgdHJhY2subV9tYXhCcmVhZHRoID0gdHJhY2subV91c2VkQnJlYWR0aDsKKyAgICB9
CiB9CiAKIHZvaWQgUmVuZGVyR3JpZDo6cmVzb2x2ZUNvbnRlbnRCYXNlZFRyYWNrU2l6aW5nRnVu
Y3Rpb25zRm9ySXRlbXMoVHJhY2tTaXppbmdEaXJlY3Rpb24gZGlyZWN0aW9uLCBWZWN0b3I8R3Jp
ZFRyYWNrPiYgY29sdW1uVHJhY2tzLCBWZWN0b3I8R3JpZFRyYWNrPiYgcm93VHJhY2tzLCBzaXpl
X3QgaSwgU2l6aW5nRnVuY3Rpb24gc2l6aW5nRnVuY3Rpb24sIEFjY3VtdWxhdG9yR2V0dGVyIHRy
YWNrR2V0dGVyLCBBY2N1bXVsYXRvckdyb3dGdW5jdGlvbiB0cmFja0dyb3d0aEZ1bmN0aW9uKQpA
QCAtMzkxLDMwICs0MDMsNDAgQEAgdm9pZCBSZW5kZXJHcmlkOjpkaXN0cmlidXRlU3BhY2VUb1Ry
YWNrcyhWZWN0b3I8R3JpZFRyYWNrKj4mIHRyYWNrcywgVmVjdG9yPEdyaWQKICAgICBzdGQ6OnNv
cnQodHJhY2tzLmJlZ2luKCksIHRyYWNrcy5lbmQoKSwgc29ydEJ5R3JpZFRyYWNrR3Jvd3RoUG90
ZW50aWFsKTsKIAogICAgIHNpemVfdCB0cmFja3NTaXplID0gdHJhY2tzLnNpemUoKTsKKyAgICAv
LyBGSVhNRTogVGhpcyBzaG91bGQgcHJvYmFibHkgdXNlIGEgUkFJSSBwYXR0ZXJuIHRvIGVuc3Vy
ZSB3ZSBhbHdheXMgdXBkYXRlIG91ciB0cmFja3MuCisgICAgVmVjdG9yPExheW91dFVuaXQ+IHVw
ZGF0ZWRUcmFja1NpemVzKHRyYWNrc1NpemUpOworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwg
dHJhY2tzU2l6ZTsgKytpKQorICAgICAgICB1cGRhdGVkVHJhY2tTaXplc1tpXSA9ICh0cmFja3Nb
aV0tPip0cmFja0dldHRlcikoKTsKKwogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgdHJhY2tz
U2l6ZTsgKytpKSB7CiAgICAgICAgIEdyaWRUcmFjayYgdHJhY2sgPSAqdHJhY2tzW2ldOwogICAg
ICAgICBMYXlvdXRVbml0IGF2YWlsYWJsZUxvZ2ljYWxTcGFjZVNoYXJlID0gYXZhaWxhYmxlTG9n
aWNhbFNwYWNlIC8gKHRyYWNrc1NpemUgLSBpKTsKLSAgICAgICAgLy8gV2UgbmV2ZXIgc2hyaW5r
IHRoZSB1c2VkIGJyZWFkdGggYnkgY2xhbXBpbmcgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiBtYXgg
YW5kIHVzZWQgYnJlYWR0aC4gVGhlIHNwZWMgdXNlcwotICAgICAgICAvLyAyIGV4dHJhLXZhcmlh
YmxlcyBhbmQgMiBleHRyYSBpdGVyYXRpb25zIHRvIGVuc3VyZSB0aGF0IHdlIGFsd2F5cyBncm93
IG91ciB0cmFja3MgKHRodXMgbmV2ZXIgZ29pbmcgYmVsb3cKLSAgICAgICAgLy8gbWluLXRyYWNr
KS4gSWYgd2UgZGVjaWRlIHRvIGZvbGxvdyBpdCB0byB0aGUgbGV0dGVyLCB3ZSBzaG91bGQgcmVt
b3ZlIHRoaXMgY2xhbXBpbmcuCi0gICAgICAgIExheW91dFVuaXQgZ3Jvd3RoU2hhcmUgPSBzdGQ6
Om1pbihhdmFpbGFibGVMb2dpY2FsU3BhY2VTaGFyZSwgc3RkOjptYXgoTGF5b3V0VW5pdCgwKSwg
dHJhY2subV9tYXhCcmVhZHRoIC0gKHRyYWNrLip0cmFja0dldHRlcikoKSkpOwotICAgICAgICAo
dHJhY2suKnRyYWNrR3Jvd3RoRnVuY3Rpb24pKGdyb3d0aFNoYXJlKTsKKyAgICAgICAgTGF5b3V0
VW5pdCBncm93dGhTaGFyZSA9IHN0ZDo6bWluKGF2YWlsYWJsZUxvZ2ljYWxTcGFjZVNoYXJlLCB0
cmFjay5tX21heEJyZWFkdGggLSAodHJhY2suKnRyYWNrR2V0dGVyKSgpKTsKKyAgICAgICAgdXBk
YXRlZFRyYWNrU2l6ZXNbaV0gKz0gZ3Jvd3RoU2hhcmU7CiAgICAgICAgIGF2YWlsYWJsZUxvZ2lj
YWxTcGFjZSAtPSBncm93dGhTaGFyZTsKICAgICB9CiAKLSAgICBpZiAoYXZhaWxhYmxlTG9naWNh
bFNwYWNlIDw9IDApCi0gICAgICAgIHJldHVybjsKLQotICAgIGlmICghdHJhY2tzRm9yR3Jvd3Ro
QWJvdmVNYXhCcmVhZHRoKQorICAgIGlmIChhdmFpbGFibGVMb2dpY2FsU3BhY2UgPD0gMCB8fCAh
dHJhY2tzRm9yR3Jvd3RoQWJvdmVNYXhCcmVhZHRoKSB7CisgICAgICAgIGZvciAoc2l6ZV90IGkg
PSAwOyBpIDwgdHJhY2tzU2l6ZTsgKytpKSB7CisgICAgICAgICAgICBMYXlvdXRVbml0IGdyb3d0
aCA9IHVwZGF0ZWRUcmFja1NpemVzW2ldIC0gKHRyYWNrc1tpXS0+KnRyYWNrR2V0dGVyKSgpOwor
ICAgICAgICAgICAgaWYgKGdyb3d0aCA+PSAwKQorICAgICAgICAgICAgICAgICh0cmFja3NbaV0t
Pip0cmFja0dyb3d0aEZ1bmN0aW9uKShncm93dGgpOworICAgICAgICB9CiAgICAgICAgIHJldHVy
bjsKKyAgICB9CiAKICAgICB0cmFja3NTaXplID0gdHJhY2tzRm9yR3Jvd3RoQWJvdmVNYXhCcmVh
ZHRoLT5zaXplKCk7CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCB0cmFja3NTaXplOyArK2kp
IHsKLSAgICAgICAgR3JpZFRyYWNrJiB0cmFjayA9ICp0cmFja3NGb3JHcm93dGhBYm92ZU1heEJy
ZWFkdGgtPmF0KGkpOwogICAgICAgICBMYXlvdXRVbml0IGdyb3d0aFNoYXJlID0gYXZhaWxhYmxl
TG9naWNhbFNwYWNlIC8gKHRyYWNrc1NpemUgLSBpKTsKLSAgICAgICAgKHRyYWNrLip0cmFja0dy
b3d0aEZ1bmN0aW9uKShncm93dGhTaGFyZSk7CisgICAgICAgIHVwZGF0ZWRUcmFja1NpemVzW2ld
ICs9IGdyb3d0aFNoYXJlOwogICAgICAgICBhdmFpbGFibGVMb2dpY2FsU3BhY2UgLT0gZ3Jvd3Ro
U2hhcmU7CiAgICAgfQorCisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCB0cmFja3NTaXplOyAr
K2kpIHsKKyAgICAgICAgTGF5b3V0VW5pdCBncm93dGggPSB1cGRhdGVkVHJhY2tTaXplc1tpXSAt
ICh0cmFja3NbaV0tPip0cmFja0dldHRlcikoKTsKKyAgICAgICAgaWYgKGdyb3d0aCA+PSAwKQor
ICAgICAgICAgICAgKHRyYWNrc1tpXS0+KnRyYWNrR3Jvd3RoRnVuY3Rpb24pKGdyb3d0aCk7Cisg
ICAgfQogfQogCiAjaWZuZGVmIE5ERUJVRwpAQCAtNDUwLDYgKzQ3Miw4IEBAIHZvaWQgUmVuZGVy
R3JpZDo6bGF5b3V0R3JpZEl0ZW1zKCkKICAgICAgICAgTGF5b3V0VW5pdCBvbGRPdmVycmlkZUNv
bnRhaW5pbmdCbG9ja0NvbnRlbnRMb2dpY2FsV2lkdGggPSBjaGlsZC0+aGFzT3ZlcnJpZGVDb250
YWluaW5nQmxvY2tMb2dpY2FsV2lkdGgoKSA/IGNoaWxkLT5vdmVycmlkZUNvbnRhaW5pbmdCbG9j
a0NvbnRlbnRMb2dpY2FsV2lkdGgoKSA6IExheW91dFVuaXQoKTsKICAgICAgICAgTGF5b3V0VW5p
dCBvbGRPdmVycmlkZUNvbnRhaW5pbmdCbG9ja0NvbnRlbnRMb2dpY2FsSGVpZ2h0ID0gY2hpbGQt
Pmhhc092ZXJyaWRlQ29udGFpbmluZ0Jsb2NrTG9naWNhbEhlaWdodCgpID8gY2hpbGQtPm92ZXJy
aWRlQ29udGFpbmluZ0Jsb2NrQ29udGVudExvZ2ljYWxIZWlnaHQoKSA6IExheW91dFVuaXQoKTsK
IAorICAgICAgICAvLyBGSVhNRTogRm9yIGNoaWxkcmVuIGluIGEgY29udGVudCBzaXplZCB0cmFj
aywgd2UgY2xlYXIgdGhlIG92ZXJyaWRlQ29udGFpbmluZ0Jsb2NrQ29udGVudExvZ2ljYWxIZWln
aHQKKyAgICAgICAgLy8gaW4gbWluQ29udGVudEZvckNoaWxkIC8gbWF4Q29udGVudEZvckNoaWxk
IHdoaWNoIG1lYW5zIHRoYXQgd2Ugd2lsbCBhbHdheXMgcmVsYXlvdXQgdGhlIGNoaWxkLgogICAg
ICAgICBpZiAob2xkT3ZlcnJpZGVDb250YWluaW5nQmxvY2tDb250ZW50TG9naWNhbFdpZHRoICE9
IGNvbHVtblRyYWNrc1tjb2x1bW5UcmFja10ubV91c2VkQnJlYWR0aCB8fCBvbGRPdmVycmlkZUNv
bnRhaW5pbmdCbG9ja0NvbnRlbnRMb2dpY2FsSGVpZ2h0ICE9IHJvd1RyYWNrc1tyb3dUcmFja10u
bV91c2VkQnJlYWR0aCkKICAgICAgICAgICAgIGNoaWxkLT5zZXROZWVkc0xheW91dCh0cnVlLCBN
YXJrT25seVRoaXMpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNmEwZThjYmEzOGJiZWY2ZTEyYmEwOWIyNjIxNjcxOTU1
M2JhYmRhOS4uMjAyNWRhNzIzNGExNGI4ZDA3YTU4NWU1ZmQ1N2IzNDk5OWUyODVjZSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDMwIEBACisyMDEzLTAyLTA2ICBKdWxpZW4gQ2hhZmZyYWl4ICA8amNoYWZmcmFp
eEB3ZWJraXQub3JnPgorCisgICAgICAgIFtDU1MgR3JpZCBMYXlvdXRdIFJlbW92aW5nIGdyaWQg
aXRlbXMgZG9lc24ndCBwcm9wZXJseSByZWNvbXB1dGUgdGhlIHRyYWNrIHNpemVzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDkxMDAKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvY3NzLWdyaWQt
bGF5b3V0L2dyaWQtaXRlbS1yZW1vdmFsLXRyYWNrLWJyZWFkdGgtdXBkYXRlLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC1pdGVtLXJlbW92
YWwtdHJhY2stYnJlYWR0aC11cGRhdGUuaHRtbDogQWRkZWQuCisgICAgICAgIE5ldyB0ZXN0Lgor
CisgICAgICAgICogZmFzdC9jc3MtZ3JpZC1sYXlvdXQvcmVzb3VyY2VzL2dyaWQuY3NzOgorICAg
ICAgICAoLmNvbnN0cmFpbmVkQ29udGFpbmVyKToKKyAgICAgICAgKC51bmNvbnN0cmFpbmVkQ29u
dGFpbmVyKToKKyAgICAgICAgQWRkZWQgdGhlc2UgY2xhc3MgdG8gc2hhcmUgdGhlbSB3aXRoIG90
aGVyIHRlc3RzLgorCisgICAgICAgICogZmFzdC9jc3MtZ3JpZC1sYXlvdXQvYXV0by1jb250ZW50
LXJlc29sdXRpb24tY29sdW1ucy5odG1sOgorICAgICAgICAqIGZhc3QvY3NzLWdyaWQtbGF5b3V0
L2F1dG8tY29udGVudC1yZXNvbHV0aW9uLXJvd3MuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Nzcy1n
cmlkLWxheW91dC9pbXBsaWNpdC1jb2x1bW5zLWF1dG8tcmVzb2x1dGlvbi5odG1sOgorICAgICAg
ICAqIGZhc3QvY3NzLWdyaWQtbGF5b3V0L2ltcGxpY2l0LXBvc2l0aW9uLWR5bmFtaWMtY2hhbmdl
Lmh0bWw6CisgICAgICAgICogZmFzdC9jc3MtZ3JpZC1sYXlvdXQvaW1wbGljaXQtcm93cy1hdXRv
LXJlc29sdXRpb24uaHRtbDoKKyAgICAgICAgKiBmYXN0L2Nzcy1ncmlkLWxheW91dC9taW5tYXgt
bWF4LWNvbnRlbnQtcmVzb2x1dGlvbi1jb2x1bW5zLmh0bWw6CisgICAgICAgICogZmFzdC9jc3Mt
Z3JpZC1sYXlvdXQvbWlubWF4LW1heC1jb250ZW50LXJlc29sdXRpb24tcm93cy5odG1sOgorICAg
ICAgICAqIGZhc3QvY3NzLWdyaWQtbGF5b3V0L21pbm1heC1taW4tY29udGVudC1jb2x1bW4tcmVz
b2x1dGlvbi1jb2x1bW5zLmh0bWw6CisgICAgICAgICogZmFzdC9jc3MtZ3JpZC1sYXlvdXQvbWlu
bWF4LW1pbi1jb250ZW50LWNvbHVtbi1yZXNvbHV0aW9uLXJvd3MuaHRtbDoKKyAgICAgICAgUmVt
b3ZlZCBjb25zdHJhaW5lZENvbnRhaW5lciBkZWZpbml0aW9uIGFzIGl0IHdhcyBtb3ZlZCB0byBn
cmlkLmNzcy4KKwogMjAxMy0wMi0wNiAgTWFyamEgSMO2bHR0w6QgIDxtYXJqYUBjaHJvbWl1bS5v
cmc+CiAKICAgICAgICAgW1dLMl0gTmV3IHRlc3RzIGludHJvZHVjZWQgaW4gcjEwMDg5NSBmYWls
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9hdXRvLWNvbnRl
bnQtcmVzb2x1dGlvbi1jb2x1bW5zLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxh
eW91dC9hdXRvLWNvbnRlbnQtcmVzb2x1dGlvbi1jb2x1bW5zLmh0bWwKaW5kZXggN2UzMmYyYzAy
MTI2NDFjZWU2OTdjNWY2ZmM4NTgyYzY4YTQyYjhiNi4uNjdmODU0Y2U0MjBhNDI4ZjFjNzkzZjg3
N2ViMTc4ZDUyZTg4MTE5NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1s
YXlvdXQvYXV0by1jb250ZW50LXJlc29sdXRpb24tY29sdW1ucy5odG1sCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2F1dG8tY29udGVudC1yZXNvbHV0aW9uLWNvbHVtbnMu
aHRtbApAQCAtMTEsMTIgKzExLDYgQEAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgIC13ZWJr
aXQtZ3JpZC1yb3dzOiA1MHB4OwogfQogCi0vKiBUaGlzIHJ1bGUgbWFrZXMgc3VyZSB0aGUgY29u
dGFpbmVyIGlzIHNtYWxsZXIgdGhhbiBhbnkgZ3JpZCBpdGVtcyB0byBhdm9pZCBkaXN0cmlidXRp
bmcgYW55IGV4dHJhIGxvZ2ljYWwgc3BhY2UgdG8gdGhlbS4gKi8KLS5jb25zdHJhaW5lZENvbnRh
aW5lciB7Ci0gICAgd2lkdGg6IDEwcHg7Ci0gICAgaGVpZ2h0OiAxMHB4OwotfQotCiAuZmlyc3RS
b3dGaXJzdENvbHVtbiB7CiAgICAgZm9udDogMTBweC8xIEFoZW07CiAgICAgLyogTWFrZSB1cyBm
aXQgb3VyIGdyaWQgYXJlYS4gKi8KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdy
aWQtbGF5b3V0L2F1dG8tY29udGVudC1yZXNvbHV0aW9uLXJvd3MuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2F1dG8tY29udGVudC1yZXNvbHV0aW9uLXJvd3MuaHRtbApp
bmRleCBhODUyM2MwMWE0NWU0Mzc1ZWIwOWUxZjk3ZDFhNzliYjBjMmMwYzg0Li5jZjE2Mzg5OTY5
MmI1MmMzMWIyMmRiODNlZDZlYjcwYmU4YTQ2Y2FlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L2Nzcy1ncmlkLWxheW91dC9hdXRvLWNvbnRlbnQtcmVzb2x1dGlvbi1yb3dzLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvYXV0by1jb250ZW50LXJlc29sdXRp
b24tcm93cy5odG1sCkBAIC0xMSwxMiArMTEsNiBAQCBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAg
ICAgLXdlYmtpdC1ncmlkLXJvd3M6IGF1dG87CiB9CiAKLS8qIFRoaXMgcnVsZSBtYWtlcyBzdXJl
IHRoZSBjb250YWluZXIgaXMgc21hbGxlciB0aGFuIGFueSBncmlkIGl0ZW1zIHRvIGF2b2lkIGRp
c3RyaWJ1dGluZyBhbnkgZXh0cmEgbG9naWNhbCBzcGFjZSB0byB0aGVtLiAqLwotLmNvbnN0cmFp
bmVkQ29udGFpbmVyIHsKLSAgICB3aWR0aDogMTBweDsKLSAgICBoZWlnaHQ6IDEwcHg7Ci19Ci0K
IC5maXJzdFJvd0ZpcnN0Q29sdW1uIHsKICAgICBmb250OiAxMHB4LzEgQWhlbTsKICAgICAvKiBN
YWtlIHVzIGZpdCBvdXIgZ3JpZCBhcmVhLiAqLwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC1pdGVtLXJlbW92YWwtdHJhY2stYnJlYWR0aC11cGRhdGUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC1pdGVt
LXJlbW92YWwtdHJhY2stYnJlYWR0aC11cGRhdGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY3
ZjRmNTYyN2NhYjkyYjdlNzU2N2E2NzMzYTMwMmQyZjU5MzQwMTcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLWl0ZW0tcmVtb3ZhbC10cmFj
ay1icmVhZHRoLXVwZGF0ZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw2MiBAQAorVGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IHRoZSB0cmFja3MnIGJyZWFkdGggYXJlIHJlY29tcHV0ZWQgYWZ0ZXIgcmVt
b3ZpbmcgYSBncmlkIGl0ZW0uCisKK1hYWCBYWFggWFhYCitQQVNTCitQQVNTCitQQVNTCitYWFgg
WFhYIFhYWAorUEFTUworUEFTUworUEFTUworWFhYIFhYWCBYWFgKK1BBU1MKK1BBU1MKK1BBU1MK
K1hYWCBYWFggWFhYCitQQVNTCitQQVNTCitQQVNTCitYWFggWFhYIFhYWAorUEFTUworUEFTUwor
UEFTUworWFggWFggWFggWFggWFggWFgKK1BBU1MKK1BBU1MKK1BBU1MKK1hYIFhYIFhYIFhYIFhY
IFhYCitQQVNTCitQQVNTCitQQVNTCitYWCBYWCBYWCBYWCBYWCBYWAorUEFTUworUEFTUworUEFT
UworWFggWFggWFggWFggWFggWFgKK1BBU1MKK1BBU1MKK1BBU1MKK1hYIFhYIFhYIFhYIFhYIFhY
CitQQVNTCitQQVNTCitQQVNTCitYWCBYWCBYWCBYWCBYWCBYWAorUEFTUworUEFTUworUEFTUwor
WFggWFggWFggWFggWFggWFgKK1BBU1MKK1BBU1MKK1BBU1MKK1hYIFhYIFhYIFhYIFhYIFhYCitQ
QVNTCitQQVNTCitQQVNTCitYWCBYWCBYWCBYWCBYWCBYWAorUEFTUworUEFTUworUEFTUworWFgg
WFggWFggWFggWFggWFgKK1BBU1MKK1BBU1MKK1BBU1MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtaXRlbS1yZW1vdmFsLXRyYWNrLWJyZWFkdGgtdXBk
YXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLWl0ZW0tcmVt
b3ZhbC10cmFjay1icmVhZHRoLXVwZGF0ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFjZDgwOTAyNGNmZjRk
MzI2MGVlMDM5ODg4MmE1Y2M3NDYwMzUzZWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLWl0ZW0tcmVtb3ZhbC10cmFjay1icmVhZHRoLXVw
ZGF0ZS5odG1sCkBAIC0wLDAgKzEsMjI0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPHNj
cmlwdD4KK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJl
ZmVyZW5jZSgiV2ViS2l0Q1NTR3JpZExheW91dEVuYWJsZWQiLCAxKTsKKzwvc2NyaXB0PgorPGxp
bmsgaHJlZj0icmVzb3VyY2VzL2dyaWQuY3NzIiByZWw9InN0eWxlc2hlZXQiPgorPHN0eWxlPgor
LmdyaWRBdXRvQ29udGVudCB7CisgICAgLXdlYmtpdC1ncmlkLWNvbHVtbnM6IGF1dG87CisgICAg
LXdlYmtpdC1ncmlkLXJvd3M6IGF1dG87Cit9CisKKy5ncmlkTWluQ29udGVudEZpeGVkIHsKKyAg
ICAtd2Via2l0LWdyaWQtY29sdW1uczogbWlubWF4KC13ZWJraXQtbWluLWNvbnRlbnQsIDEwMHB4
KTsKKyAgICAtd2Via2l0LWdyaWQtcm93czogbWlubWF4KC13ZWJraXQtbWluLWNvbnRlbnQsIDQw
cHgpOworfQorCisuZ3JpZE1heENvbnRlbnRGaXhlZCB7CisgICAgLXdlYmtpdC1ncmlkLWNvbHVt
bnM6IG1pbm1heCgtd2Via2l0LW1heC1jb250ZW50LCAxNTBweCk7CisgICAgLXdlYmtpdC1ncmlk
LXJvd3M6IG1pbm1heCgtd2Via2l0LW1heC1jb250ZW50LCA0MHB4KTsKK30KKworLmdyaWRGaXhl
ZE1pbkNvbnRlbnQgeworICAgIC13ZWJraXQtZ3JpZC1jb2x1bW5zOiBtaW5tYXgoMTAwcHgsIC13
ZWJraXQtbWluLWNvbnRlbnQpOworICAgIC13ZWJraXQtZ3JpZC1yb3dzOiBtaW5tYXgoNDBweCwg
LXdlYmtpdC1taW4tY29udGVudCk7Cit9CisKKy5ncmlkRml4ZWRNYXhDb250ZW50IHsKKyAgICAt
d2Via2l0LWdyaWQtY29sdW1uczogbWlubWF4KDEwMHB4LCAtd2Via2l0LW1heC1jb250ZW50KTsK
KyAgICAtd2Via2l0LWdyaWQtcm93czogbWlubWF4KDQwcHgsIC13ZWJraXQtbWF4LWNvbnRlbnQp
OworfQorCisubGVzc0NvbnN0cmFpbmVkQ29udGFpbmVyIHsKKyAgICB3aWR0aDogNjBweDsKKyAg
ICBoZWlnaHQ6IDIwcHg7Cit9CisKKy5maXJzdFJvd0ZpcnN0Q29sdW1uIHsKKyAgICBmb250OiAx
MHB4LzEgQWhlbTsKKyAgICAvKiBNYWtlIHVzIGZpdCBvdXIgZ3JpZCBhcmVhLiAqLworICAgIHdp
ZHRoOiAxMDAlOworICAgIGhlaWdodDogMTAwJTsKK30KKzwvc3R5bGU+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2NoZWNrLWxheW91dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZnVu
Y3Rpb24gdGVzdFJlbW92YWwoZ3JpZEVsZW1lbnRJRCwgc2l6ZTEsIHNpemUyLCBzaXplMykKK3sK
KyAgICB2YXIgZ3JpZEVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChncmlkRWxlbWVu
dElEKTsKKyAgICB2YXIgZ3JpZEl0ZW0xID0gZ3JpZEVsZW1lbnQuZmlyc3RDaGlsZC5uZXh0U2li
bGluZzsKKyAgICB2YXIgZ3JpZEl0ZW0yID0gZ3JpZEl0ZW0xLm5leHRTaWJsaW5nLm5leHRTaWJs
aW5nOworICAgIHZhciBncmlkSXRlbTMgPSBncmlkSXRlbTIubmV4dFNpYmxpbmcubmV4dFNpYmxp
bmc7CisgICAgZ3JpZEl0ZW0xLnNldEF0dHJpYnV0ZSgiZGF0YS1leHBlY3RlZC13aWR0aCIsIHNp
emUxLndpZHRoKTsKKyAgICBncmlkSXRlbTEuc2V0QXR0cmlidXRlKCJkYXRhLWV4cGVjdGVkLWhl
aWdodCIsIHNpemUxLmhlaWdodCk7CisgICAgZ3JpZEl0ZW0yLnNldEF0dHJpYnV0ZSgiZGF0YS1l
eHBlY3RlZC13aWR0aCIsIHNpemUxLndpZHRoKTsKKyAgICBncmlkSXRlbTIuc2V0QXR0cmlidXRl
KCJkYXRhLWV4cGVjdGVkLWhlaWdodCIsIHNpemUxLmhlaWdodCk7CisgICAgZ3JpZEl0ZW0zLnNl
dEF0dHJpYnV0ZSgiZGF0YS1leHBlY3RlZC13aWR0aCIsIHNpemUxLndpZHRoKTsKKyAgICBncmlk
SXRlbTMuc2V0QXR0cmlidXRlKCJkYXRhLWV4cGVjdGVkLWhlaWdodCIsIHNpemUxLmhlaWdodCk7
CisgICAgY2hlY2tMYXlvdXQoIiMiICsgZ3JpZEVsZW1lbnRJRCk7CisKKyAgICBncmlkRWxlbWVu
dC5yZW1vdmVDaGlsZChncmlkSXRlbTEpOworICAgIGdyaWRJdGVtMi5zZXRBdHRyaWJ1dGUoImRh
dGEtZXhwZWN0ZWQtd2lkdGgiLCBzaXplMi53aWR0aCk7CisgICAgZ3JpZEl0ZW0yLnNldEF0dHJp
YnV0ZSgiZGF0YS1leHBlY3RlZC1oZWlnaHQiLCBzaXplMi5oZWlnaHQpOworICAgIGdyaWRJdGVt
My5zZXRBdHRyaWJ1dGUoImRhdGEtZXhwZWN0ZWQtd2lkdGgiLCBzaXplMi53aWR0aCk7CisgICAg
Z3JpZEl0ZW0zLnNldEF0dHJpYnV0ZSgiZGF0YS1leHBlY3RlZC1oZWlnaHQiLCBzaXplMi5oZWln
aHQpOworICAgIGNoZWNrTGF5b3V0KCIjIiArIGdyaWRFbGVtZW50SUQpOworCisgICAgZ3JpZEVs
ZW1lbnQucmVtb3ZlQ2hpbGQoZ3JpZEl0ZW0yKTsKKyAgICBncmlkSXRlbTMuc2V0QXR0cmlidXRl
KCJkYXRhLWV4cGVjdGVkLXdpZHRoIiwgc2l6ZTMud2lkdGgpOworICAgIGdyaWRJdGVtMy5zZXRB
dHRyaWJ1dGUoImRhdGEtZXhwZWN0ZWQtaGVpZ2h0Iiwgc2l6ZTMuaGVpZ2h0KTsKKyAgICBjaGVj
a0xheW91dCgiIyIgKyBncmlkRWxlbWVudElEKTsKK30KKworZnVuY3Rpb24gdGVzdFJlbW92YWxz
KCkKK3sKKyAgICB0ZXN0UmVtb3ZhbCgiY29uc3RyYWluZWRBdXRvR3JpZCIsIHsgJ3dpZHRoJzog
JzUwJywgJ2hlaWdodCc6ICc0MCcgfSwgeyAnd2lkdGgnOiAnNDAnLCAnaGVpZ2h0JzogJzQwJyB9
LCB7ICd3aWR0aCc6ICczMCcsICdoZWlnaHQnOiAnMzAnIH0pOworICAgIHRlc3RSZW1vdmFsKCJj
b25zdHJhaW5lZE1pbkNvbnRlbnRGaXhlZEdyaWQiLCB7ICd3aWR0aCc6ICc1MCcsICdoZWlnaHQn
OiAnNDAnIH0sIHsgJ3dpZHRoJzogJzQwJywgJ2hlaWdodCc6ICc0MCcgfSwgeyAnd2lkdGgnOiAn
MzAnLCAnaGVpZ2h0JzogJzMwJyB9KTsKKyAgICB0ZXN0UmVtb3ZhbCgiY29uc3RyYWluZWRNYXhD
b250ZW50Rml4ZWRHcmlkIiwgeyAnd2lkdGgnOiAnMTkwJywgJ2hlaWdodCc6ICcxMCcgfSwgeyAn
d2lkdGgnOiAnMTkwJywgJ2hlaWdodCc6ICcxMCcgfSwgeyAnd2lkdGgnOiAnMTEwJywgJ2hlaWdo
dCc6ICcxMCcgfSk7CisgICAgdGVzdFJlbW92YWwoImNvbnN0cmFpbmVkRml4ZWRNaW5Db250ZW50
R3JpZCIsIHsgJ3dpZHRoJzogJzEwMCcsICdoZWlnaHQnOiAnNDAnIH0sIHsgJ3dpZHRoJzogJzEw
MCcsICdoZWlnaHQnOiAnNDAnIH0sIHsgJ3dpZHRoJzogJzEwMCcsICdoZWlnaHQnOiAnNDAnIH0p
OworICAgIHRlc3RSZW1vdmFsKCJjb25zdHJhaW5lZEZpeGVkTWF4Q29udGVudEdyaWQiLCB7ICd3
aWR0aCc6ICcxMDAnLCAnaGVpZ2h0JzogJzQwJyB9LCB7ICd3aWR0aCc6ICcxMDAnLCAnaGVpZ2h0
JzogJzQwJyB9LCB7ICd3aWR0aCc6ICcxMDAnLCAnaGVpZ2h0JzogJzQwJyB9KTsKKworICAgIHRl
c3RSZW1vdmFsKCJ1bmNvbnN0cmFpbmVkQXV0b0dyaWQiLCB7ICd3aWR0aCc6ICczOTAnLCAnaGVp
Z2h0JzogJzEwJyB9LCB7ICd3aWR0aCc6ICczNTAnLCAnaGVpZ2h0JzogJzEwJyB9LCB7ICd3aWR0
aCc6ICcxNzAnLCAnaGVpZ2h0JzogJzEwJyB9KTsKKyAgICB0ZXN0UmVtb3ZhbCgidW5jb25zdHJh
aW5lZE1pbkNvbnRlbnRGaXhlZEdyaWQiLCB7ICd3aWR0aCc6ICcxMDAnLCAnaGVpZ2h0JzogJzYw
JyB9LCB7ICd3aWR0aCc6ICcxMDAnLCAnaGVpZ2h0JzogJzYwJyB9LCB7ICd3aWR0aCc6ICcxMDAn
LCAnaGVpZ2h0JzogJzQwJyB9KTsKKyAgICB0ZXN0UmVtb3ZhbCgidW5jb25zdHJhaW5lZE1heENv
bnRlbnRGaXhlZEdyaWQiLCB7ICd3aWR0aCc6ICczOTAnLCAnaGVpZ2h0JzogJzQwJyB9LCB7ICd3
aWR0aCc6ICczNTAnLCAnaGVpZ2h0JzogJzQwJyB9LCB7ICd3aWR0aCc6ICcxNzAnLCAnaGVpZ2h0
JzogJzQwJyB9KTsKKyAgICB0ZXN0UmVtb3ZhbCgidW5jb25zdHJhaW5lZEZpeGVkTWluQ29udGVu
dEdyaWQiLCB7ICd3aWR0aCc6ICcxMDAnLCAnaGVpZ2h0JzogJzYwJyB9LCB7ICd3aWR0aCc6ICcx
MDAnLCAnaGVpZ2h0JzogJzYwJyB9LCB7ICd3aWR0aCc6ICcxMDAnLCAnaGVpZ2h0JzogJzQwJyB9
KTsKKyAgICB0ZXN0UmVtb3ZhbCgidW5jb25zdHJhaW5lZEZpeGVkTWF4Q29udGVudEdyaWQiLCB7
ICd3aWR0aCc6ICczOTAnLCAnaGVpZ2h0JzogJzQwJyB9LCB7ICd3aWR0aCc6ICczNTAnLCAnaGVp
Z2h0JzogJzQwJyB9LCB7ICd3aWR0aCc6ICcxNzAnLCAnaGVpZ2h0JzogJzQwJyB9KTsKKworICAg
IHRlc3RSZW1vdmFsKCJsZXNzQ29uc3RyYWluZWRBdXRvR3JpZCIsIHsgJ3dpZHRoJzogJzYwJywg
J2hlaWdodCc6ICc5MCcgfSwgeyAnd2lkdGgnOiAnNjAnLCAnaGVpZ2h0JzogJzYwJyB9LCB7ICd3
aWR0aCc6ICc2MCcsICdoZWlnaHQnOiAnMzAnIH0pOworICAgIHRlc3RSZW1vdmFsKCJsZXNzQ29u
c3RyYWluZWRNaW5Db250ZW50Rml4ZWRHcmlkIiwgeyAnd2lkdGgnOiAnNjAnLCAnaGVpZ2h0Jzog
JzkwJyB9LCB7ICd3aWR0aCc6ICc2MCcsICdoZWlnaHQnOiAnNjAnIH0sIHsgJ3dpZHRoJzogJzYw
JywgJ2hlaWdodCc6ICczMCcgfSk7CisgICAgdGVzdFJlbW92YWwoImxlc3NDb25zdHJhaW5lZE1h
eENvbnRlbnRGaXhlZEdyaWQiLCB7ICd3aWR0aCc6ICczNTAnLCAnaGVpZ2h0JzogJzIwJyB9LCB7
ICd3aWR0aCc6ICczNTAnLCAnaGVpZ2h0JzogJzIwJyB9LCB7ICd3aWR0aCc6ICcxNzAnLCAnaGVp
Z2h0JzogJzIwJyB9KTsKKyAgICB0ZXN0UmVtb3ZhbCgibGVzc0NvbnN0cmFpbmVkRml4ZWRNaW5D
b250ZW50R3JpZCIsIHsgJ3dpZHRoJzogJzEwMCcsICdoZWlnaHQnOiAnNDAnIH0sIHsgJ3dpZHRo
JzogJzEwMCcsICdoZWlnaHQnOiAnNDAnIH0sIHsgJ3dpZHRoJzogJzEwMCcsICdoZWlnaHQnOiAn
NDAnIH0pOworICAgIHRlc3RSZW1vdmFsKCJsZXNzQ29uc3RyYWluZWRGaXhlZE1heENvbnRlbnRH
cmlkIiwgeyAnd2lkdGgnOiAnMTAwJywgJ2hlaWdodCc6ICc0MCcgfSwgeyAnd2lkdGgnOiAnMTAw
JywgJ2hlaWdodCc6ICc0MCcgfSwgeyAnd2lkdGgnOiAnMTAwJywgJ2hlaWdodCc6ICc0MCcgfSk7
Cit9Cit3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHRlc3RSZW1vdmFscywgZmFsc2Up
OworPC9zY3JpcHQ+Cis8Ym9keT4KKworPHA+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSB0cmFj
a3MnIGJyZWFkdGggYXJlIHJlY29tcHV0ZWQgYWZ0ZXIgcmVtb3ZpbmcgYSBncmlkIGl0ZW0uPC9w
PgorCis8ZGl2IGNsYXNzPSJjb25zdHJhaW5lZENvbnRhaW5lciI+CisgICAgPGRpdiBjbGFzcz0i
Z3JpZCBncmlkQXV0b0NvbnRlbnQiIGlkPSJjb25zdHJhaW5lZEF1dG9HcmlkIj4KKyAgICAgICAg
PGRpdiBjbGFzcz0iZmlyc3RSb3dGaXJzdENvbHVtbiI+WFhYWFggWFhYWFggWFhYWFg8L2Rpdj4K
KyAgICAgICAgPGRpdiBjbGFzcz0iZmlyc3RSb3dGaXJzdENvbHVtbiI+WFhYWCBYWFhYIFhYWFgg
WFhYWDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJmaXJzdFJvd0ZpcnN0Q29sdW1uIj5YWFgg
WFhYIFhYWDwvZGl2PgorICAgIDwvZGl2PgorPC9kaXY+CisKKzxkaXYgY2xhc3M9ImNvbnN0cmFp
bmVkQ29udGFpbmVyIj4KKyAgICA8ZGl2IGNsYXNzPSJncmlkIGdyaWRNaW5Db250ZW50Rml4ZWQi
IGlkPSJjb25zdHJhaW5lZE1pbkNvbnRlbnRGaXhlZEdyaWQiPgorICAgICAgICA8ZGl2IGNsYXNz
PSJmaXJzdFJvd0ZpcnN0Q29sdW1uIj5YWFhYWCBYWFhYWCBYWFhYWDwvZGl2PgorICAgICAgICA8
ZGl2IGNsYXNzPSJmaXJzdFJvd0ZpcnN0Q29sdW1uIj5YWFhYIFhYWFggWFhYWCBYWFhYPC9kaXY+
CisgICAgICAgIDxkaXYgY2xhc3M9ImZpcnN0Um93Rmlyc3RDb2x1bW4iPlhYWCBYWFggWFhYPC9k
aXY+CisgICAgPC9kaXY+Cis8L2Rpdj4KKworPGRpdiBjbGFzcz0iY29uc3RyYWluZWRDb250YWlu
ZXIiPgorICAgIDxkaXYgY2xhc3M9ImdyaWQgZ3JpZE1heENvbnRlbnRGaXhlZCIgaWQ9ImNvbnN0
cmFpbmVkTWF4Q29udGVudEZpeGVkR3JpZCI+CisgICAgICAgIDxkaXYgY2xhc3M9ImZpcnN0Um93
Rmlyc3RDb2x1bW4iPlhYWFhYIFhYWFhYIFhYWFhYPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9
ImZpcnN0Um93Rmlyc3RDb2x1bW4iPlhYWFggWFhYWCBYWFhYIFhYWFg8L2Rpdj4KKyAgICAgICAg
PGRpdiBjbGFzcz0iZmlyc3RSb3dGaXJzdENvbHVtbiI+WFhYIFhYWCBYWFg8L2Rpdj4KKyAgICA8
L2Rpdj4KKzwvZGl2PgorCis8ZGl2IGNsYXNzPSJjb25zdHJhaW5lZENvbnRhaW5lciI+CisgICAg
PGRpdiBjbGFzcz0iZ3JpZCBncmlkRml4ZWRNaW5Db250ZW50IiBpZD0iY29uc3RyYWluZWRGaXhl
ZE1pbkNvbnRlbnRHcmlkIj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZmlyc3RSb3dGaXJzdENvbHVt
biI+WFhYWFggWFhYWFggWFhYWFg8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZmlyc3RSb3dG
aXJzdENvbHVtbiI+WFhYWCBYWFhYIFhYWFggWFhYWDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNz
PSJmaXJzdFJvd0ZpcnN0Q29sdW1uIj5YWFggWFhYIFhYWDwvZGl2PgorICAgIDwvZGl2PgorPC9k
aXY+CisKKzxkaXYgY2xhc3M9ImNvbnN0cmFpbmVkQ29udGFpbmVyIj4KKyAgICA8ZGl2IGNsYXNz
PSJncmlkIGdyaWRGaXhlZE1heENvbnRlbnQiIGlkPSJjb25zdHJhaW5lZEZpeGVkTWF4Q29udGVu
dEdyaWQiPgorICAgICAgICA8ZGl2IGNsYXNzPSJmaXJzdFJvd0ZpcnN0Q29sdW1uIj5YWFhYWCBY
WFhYWCBYWFhYWDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJmaXJzdFJvd0ZpcnN0Q29sdW1u
Ij5YWFhYIFhYWFggWFhYWCBYWFhYPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImZpcnN0Um93
Rmlyc3RDb2x1bW4iPlhYWCBYWFggWFhYPC9kaXY+CisgICAgPC9kaXY+Cis8L2Rpdj4KKworPCEt
LSBUaGUgY29udGFpbmVyIGlzIGJpZyBlbm91Z2ggdG8gYWxsb3cgYWxsIHRoZSBleHRyYSBzcGFj
ZSBkaXN0cmlidXRpb24gd2Ugd2FudC4gLS0+Cis8ZGl2IGNsYXNzPSJ1bmNvbnN0cmFpbmVkQ29u
dGFpbmVyIj4KKyAgICA8ZGl2IGNsYXNzPSJncmlkIGdyaWRBdXRvQ29udGVudCIgaWQ9InVuY29u
c3RyYWluZWRBdXRvR3JpZCI+CisgICAgICAgIDxkaXYgY2xhc3M9ImZpcnN0Um93Rmlyc3RDb2x1
bW4iPlhYWCBYWFggWFhYIFhYWCBYWFggWFhYIFhYWCBYWFggWFhYIFhYWDwvZGl2PgorICAgICAg
ICA8ZGl2IGNsYXNzPSJmaXJzdFJvd0ZpcnN0Q29sdW1uIj5YWFhYWCBYWFhYWCBYWFhYWCBYWFhY
WCBYWFhYWCBYWFhYWDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJmaXJzdFJvd0ZpcnN0Q29s
dW1uIj5YWCBYWCBYWCBYWCBYWCBYWDwvZGl2PgorICAgIDwvZGl2PgorPC9kaXY+CisKKzxkaXYg
Y2xhc3M9InVuY29uc3RyYWluZWRDb250YWluZXIiPgorICAgIDxkaXYgY2xhc3M9ImdyaWQgZ3Jp
ZE1pbkNvbnRlbnRGaXhlZCIgaWQ9InVuY29uc3RyYWluZWRNaW5Db250ZW50Rml4ZWRHcmlkIj4K
KyAgICAgICAgPGRpdiBjbGFzcz0iZmlyc3RSb3dGaXJzdENvbHVtbiI+WFhYIFhYWCBYWFggWFhY
IFhYWCBYWFggWFhYIFhYWCBYWFggWFhYPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImZpcnN0
Um93Rmlyc3RDb2x1bW4iPlhYWFhYIFhYWFhYIFhYWFhYIFhYWFhYIFhYWFhYIFhYWFhYPC9kaXY+
CisgICAgICAgIDxkaXYgY2xhc3M9ImZpcnN0Um93Rmlyc3RDb2x1bW4iPlhYIFhYIFhYIFhYIFhY
IFhYPC9kaXY+CisgICAgPC9kaXY+Cis8L2Rpdj4KKworPGRpdiBjbGFzcz0idW5jb25zdHJhaW5l
ZENvbnRhaW5lciI+CisgICAgPGRpdiBjbGFzcz0iZ3JpZCBncmlkTWF4Q29udGVudEZpeGVkIiBp
ZD0idW5jb25zdHJhaW5lZE1heENvbnRlbnRGaXhlZEdyaWQiPgorICAgICAgICA8ZGl2IGNsYXNz
PSJmaXJzdFJvd0ZpcnN0Q29sdW1uIj5YWFggWFhYIFhYWCBYWFggWFhYIFhYWCBYWFggWFhYIFhY
WCBYWFg8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZmlyc3RSb3dGaXJzdENvbHVtbiI+WFhY
WFggWFhYWFggWFhYWFggWFhYWFggWFhYWFggWFhYWFg8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFz
cz0iZmlyc3RSb3dGaXJzdENvbHVtbiI+WFggWFggWFggWFggWFggWFg8L2Rpdj4KKyAgICA8L2Rp
dj4KKzwvZGl2PgorCis8ZGl2IGNsYXNzPSJ1bmNvbnN0cmFpbmVkQ29udGFpbmVyIj4KKyAgICA8
ZGl2IGNsYXNzPSJncmlkIGdyaWRGaXhlZE1pbkNvbnRlbnQiIGlkPSJ1bmNvbnN0cmFpbmVkRml4
ZWRNaW5Db250ZW50R3JpZCI+CisgICAgICAgIDxkaXYgY2xhc3M9ImZpcnN0Um93Rmlyc3RDb2x1
bW4iPlhYWCBYWFggWFhYIFhYWCBYWFggWFhYIFhYWCBYWFggWFhYIFhYWDwvZGl2PgorICAgICAg
ICA8ZGl2IGNsYXNzPSJmaXJzdFJvd0ZpcnN0Q29sdW1uIj5YWFhYWCBYWFhYWCBYWFhYWCBYWFhY
WCBYWFhYWCBYWFhYWDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJmaXJzdFJvd0ZpcnN0Q29s
dW1uIj5YWCBYWCBYWCBYWCBYWCBYWDwvZGl2PgorICAgIDwvZGl2PgorPC9kaXY+CisKKzxkaXYg
Y2xhc3M9InVuY29uc3RyYWluZWRDb250YWluZXIiPgorICAgIDxkaXYgY2xhc3M9ImdyaWQgZ3Jp
ZEZpeGVkTWF4Q29udGVudCIgaWQ9InVuY29uc3RyYWluZWRGaXhlZE1heENvbnRlbnRHcmlkIj4K
KyAgICAgICAgPGRpdiBjbGFzcz0iZmlyc3RSb3dGaXJzdENvbHVtbiI+WFhYIFhYWCBYWFggWFhY
IFhYWCBYWFggWFhYIFhYWCBYWFggWFhYPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImZpcnN0
Um93Rmlyc3RDb2x1bW4iPlhYWFhYIFhYWFhYIFhYWFhYIFhYWFhYIFhYWFhYIFhYWFhYPC9kaXY+
CisgICAgICAgIDxkaXYgY2xhc3M9ImZpcnN0Um93Rmlyc3RDb2x1bW4iPlhYIFhYIFhYIFhYIFhY
IFhYPC9kaXY+CisgICAgPC9kaXY+Cis8L2Rpdj4KKworPCEtLSBUaGUgY29udGFpbmVyIGFsbG93
cyBzb21lIGV4cGFuc2lvbiBidXQgYWxzbyBjb25zdHJhaW4gdGhlIGdyb3d0aC4gLS0+Cis8ZGl2
IGNsYXNzPSJsZXNzQ29uc3RyYWluZWRDb250YWluZXIiPgorICAgIDxkaXYgY2xhc3M9ImdyaWQg
Z3JpZEF1dG9Db250ZW50IiBpZD0ibGVzc0NvbnN0cmFpbmVkQXV0b0dyaWQiPgorICAgICAgICA8
ZGl2IGNsYXNzPSJmaXJzdFJvd0ZpcnN0Q29sdW1uIj5YWFggWFhYIFhYWCBYWFggWFhYIFhYWCBY
WFggWFhYIFhYWDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJmaXJzdFJvd0ZpcnN0Q29sdW1u
Ij5YWFhYWCBYWFhYWCBYWFhYWCBYWFhYWCBYWFhYWCBYWFhYWDwvZGl2PgorICAgICAgICA8ZGl2
IGNsYXNzPSJmaXJzdFJvd0ZpcnN0Q29sdW1uIj5YWCBYWCBYWCBYWCBYWCBYWDwvZGl2PgorICAg
IDwvZGl2PgorPC9kaXY+CisKKzxkaXYgY2xhc3M9Imxlc3NDb25zdHJhaW5lZENvbnRhaW5lciI+
CisgICAgPGRpdiBjbGFzcz0iZ3JpZCBncmlkTWluQ29udGVudEZpeGVkIiBpZD0ibGVzc0NvbnN0
cmFpbmVkTWluQ29udGVudEZpeGVkR3JpZCI+CisgICAgICAgIDxkaXYgY2xhc3M9ImZpcnN0Um93
Rmlyc3RDb2x1bW4iPlhYWCBYWFggWFhYIFhYWCBYWFggWFhYIFhYWCBYWFggWFhYPC9kaXY+Cisg
ICAgICAgIDxkaXYgY2xhc3M9ImZpcnN0Um93Rmlyc3RDb2x1bW4iPlhYWFhYIFhYWFhYIFhYWFhY
IFhYWFhYIFhYWFhYIFhYWFhYPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImZpcnN0Um93Rmly
c3RDb2x1bW4iPlhYIFhYIFhYIFhYIFhYIFhYPC9kaXY+CisgICAgPC9kaXY+Cis8L2Rpdj4KKwor
PGRpdiBjbGFzcz0ibGVzc0NvbnN0cmFpbmVkQ29udGFpbmVyIj4KKyAgICA8ZGl2IGNsYXNzPSJn
cmlkIGdyaWRNYXhDb250ZW50Rml4ZWQiIGlkPSJsZXNzQ29uc3RyYWluZWRNYXhDb250ZW50Rml4
ZWRHcmlkIj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZmlyc3RSb3dGaXJzdENvbHVtbiI+WFhYIFhY
WCBYWFggWFhYIFhYWCBYWFggWFhYIFhYWCBYWFg8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0i
Zmlyc3RSb3dGaXJzdENvbHVtbiI+WFhYWFggWFhYWFggWFhYWFggWFhYWFggWFhYWFggWFhYWFg8
L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZmlyc3RSb3dGaXJzdENvbHVtbiI+WFggWFggWFgg
WFggWFggWFg8L2Rpdj4KKyAgICA8L2Rpdj4KKzwvZGl2PgorCis8ZGl2IGNsYXNzPSJsZXNzQ29u
c3RyYWluZWRDb250YWluZXIiPgorICAgIDxkaXYgY2xhc3M9ImdyaWQgZ3JpZEZpeGVkTWluQ29u
dGVudCIgaWQ9Imxlc3NDb25zdHJhaW5lZEZpeGVkTWluQ29udGVudEdyaWQiPgorICAgICAgICA8
ZGl2IGNsYXNzPSJmaXJzdFJvd0ZpcnN0Q29sdW1uIj5YWFggWFhYIFhYWCBYWFggWFhYIFhYWCBY
WFggWFhYIFhYWDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJmaXJzdFJvd0ZpcnN0Q29sdW1u
Ij5YWFhYWCBYWFhYWCBYWFhYWCBYWFhYWCBYWFhYWCBYWFhYWDwvZGl2PgorICAgICAgICA8ZGl2
IGNsYXNzPSJmaXJzdFJvd0ZpcnN0Q29sdW1uIj5YWCBYWCBYWCBYWCBYWCBYWDwvZGl2PgorICAg
IDwvZGl2PgorPC9kaXY+CisKKzxkaXYgY2xhc3M9Imxlc3NDb25zdHJhaW5lZENvbnRhaW5lciI+
CisgICAgPGRpdiBjbGFzcz0iZ3JpZCBncmlkRml4ZWRNYXhDb250ZW50IiBpZD0ibGVzc0NvbnN0
cmFpbmVkRml4ZWRNYXhDb250ZW50R3JpZCI+CisgICAgICAgIDxkaXYgY2xhc3M9ImZpcnN0Um93
Rmlyc3RDb2x1bW4iPlhYWCBYWFggWFhYIFhYWCBYWFggWFhYIFhYWCBYWFggWFhYPC9kaXY+Cisg
ICAgICAgIDxkaXYgY2xhc3M9ImZpcnN0Um93Rmlyc3RDb2x1bW4iPlhYWFhYIFhYWFhYIFhYWFhY
IFhYWFhYIFhYWFhYIFhYWFhYPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImZpcnN0Um93Rmly
c3RDb2x1bW4iPlhYIFhYIFhYIFhYIFhYIFhYPC9kaXY+CisgICAgPC9kaXY+Cis8L2Rpdj4KKwor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1s
YXlvdXQvaW1wbGljaXQtY29sdW1ucy1hdXRvLXJlc29sdXRpb24uaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2ltcGxpY2l0LWNvbHVtbnMtYXV0by1yZXNvbHV0aW9uLmh0
bWwKaW5kZXggZmY3M2VmMjJlYmFhNDhhYWE5MmEzNDYzZmVmMjJhYzU3OWIxODA0Yi4uMTU2NGQx
OWRjNDRiNWY5NTc4MzU5YWI4MTkzNTI2NmE1ZWI1MmE1MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvaW1wbGljaXQtY29sdW1ucy1hdXRvLXJlc29sdXRpb24u
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9pbXBsaWNpdC1jb2x1
bW5zLWF1dG8tcmVzb2x1dGlvbi5odG1sCkBAIC0xMSwxMiArMTEsNiBAQCBpZiAod2luZG93LnRl
c3RSdW5uZXIpCiAgICAgLXdlYmtpdC1ncmlkLXJvd3M6IDUwcHg7CiB9CiAKLS8qIFRoaXMgcnVs
ZSBtYWtlcyBzdXJlIHRoZSBjb250YWluZXIgaXMgc21hbGxlciB0aGFuIGFueSBncmlkIGl0ZW1z
IHRvIGF2b2lkIGRpc3RyaWJ1dGluZyBhbnkgZXh0cmEgbG9naWNhbCBzcGFjZSB0byB0aGVtLiAq
LwotLmNvbnN0cmFpbmVkQ29udGFpbmVyIHsKLSAgICB3aWR0aDogMTBweDsKLSAgICBoZWlnaHQ6
IDEwcHg7Ci19Ci0KIC5maXJzdFJvd0ZpcnN0Q29sdW1uIHsKICAgICBmb250OiAxMHB4LzEgQWhl
bTsKICAgICAvKiBNYWtlIHVzIGZpdCBvdXIgZ3JpZCBhcmVhLiAqLwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvaW1wbGljaXQtcG9zaXRpb24tZHluYW1pYy1j
aGFuZ2UuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2ltcGxpY2l0LXBv
c2l0aW9uLWR5bmFtaWMtY2hhbmdlLmh0bWwKaW5kZXggYjk0NWZlZjNlYTRmZWUzOTdkOGRiNjMw
ZWIwMDgyZTk5YjcyY2Q1Mi4uNGI4ZGQ1MzI1ZjA5NThkNTU3YmZlNTlhMGQ5YzA1NjIxZTEyZGVk
ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvaW1wbGljaXQt
cG9zaXRpb24tZHluYW1pYy1jaGFuZ2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1n
cmlkLWxheW91dC9pbXBsaWNpdC1wb3NpdGlvbi1keW5hbWljLWNoYW5nZS5odG1sCkBAIC0xMSwx
MiArMTEsNiBAQCBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgLXdlYmtpdC1ncmlkLXJvd3M6
IDcwcHggbWlubWF4KC13ZWJraXQtbWF4LWNvbnRlbnQsIDcwcHgpIG1pbm1heCg1MHB4LCAtd2Vi
a2l0LW1pbi1jb250ZW50KSBtaW5tYXgoNjVweCwgLXdlYmtpdC1tYXgtY29udGVudCk7CiB9CiAK
LS8qIFRoaXMgcnVsZSBtYWtlcyBzdXJlIHRoZSBjb250YWluZXIgaXMgc21hbGxlciB0aGFuIGFu
eSBncmlkIGl0ZW1zIHRvIGF2b2lkIGRpc3RyaWJ1dGluZyBhbnkgZXh0cmEgbG9naWNhbCBzcGFj
ZSB0byB0aGVtLiAqLwotLmNvbnN0cmFpbmVkQ29udGFpbmVyIHsKLSAgICB3aWR0aDogMTBweDsK
LSAgICBoZWlnaHQ6IDEwcHg7Ci19Ci0KIC5zaXplZFRvR3JpZEFyZWEgewogICAgIGZvbnQ6IDEw
cHgvMSBBaGVtOwogICAgIC8qIE1ha2UgdXMgZml0IG91ciBncmlkIGFyZWEuICovCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9pbXBsaWNpdC1yb3dzLWF1dG8t
cmVzb2x1dGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvaW1wbGlj
aXQtcm93cy1hdXRvLXJlc29sdXRpb24uaHRtbAppbmRleCAyYWZkMWFiNjQyMzAwM2U1ZDY5YmU1
MTNkNzE3ZjYwZjEyZDQ2ODU5Li4wMmZmNDg3NDJjMDUwMGQyZWJlMzI4NTJmMDc3YjRkMTk3NDc1
MzRlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9pbXBsaWNp
dC1yb3dzLWF1dG8tcmVzb2x1dGlvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdy
aWQtbGF5b3V0L2ltcGxpY2l0LXJvd3MtYXV0by1yZXNvbHV0aW9uLmh0bWwKQEAgLTExLDEyICsx
MSw2IEBAIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICAvKiAtd2Via2l0LWdyaWQtcm93cyBp
cyBsZWZ0IHVuc2V0IHNvIHRoYXQgdGhlIGdyaWQgaXRlbSdzIHJvdyBpcyBpbXBsaWNpdC4gKi8K
IH0KIAotLyogVGhpcyBydWxlIG1ha2VzIHN1cmUgdGhlIGNvbnRhaW5lciBpcyBzbWFsbGVyIHRo
YW4gYW55IGdyaWQgaXRlbXMgdG8gYXZvaWQgZGlzdHJpYnV0aW5nIGFueSBleHRyYSBsb2dpY2Fs
IHNwYWNlIHRvIHRoZW0uICovCi0uY29uc3RyYWluZWRDb250YWluZXIgewotICAgIHdpZHRoOiAx
MHB4OwotICAgIGhlaWdodDogMTBweDsKLX0KLQogLmZpcnN0Um93Rmlyc3RDb2x1bW4gewogICAg
IGZvbnQ6IDEwcHgvMSBBaGVtOwogICAgIC8qIE1ha2UgdXMgZml0IG91ciBncmlkIGFyZWEuICov
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9taW5tYXgtbWF4
LWNvbnRlbnQtcmVzb2x1dGlvbi1jb2x1bW5zLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1n
cmlkLWxheW91dC9taW5tYXgtbWF4LWNvbnRlbnQtcmVzb2x1dGlvbi1jb2x1bW5zLmh0bWwKaW5k
ZXggMTI4MWM0OGYyODVjNWM1OWM5ZGViYjc2OGU4Mjk3Mjc5ZThhNjJiNi4uMGI0YjJlM2RiYzQy
NDQwN2E0NWY1MGYwYWI2MzI1NjJiMTVkOWU5MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9jc3MtZ3JpZC1sYXlvdXQvbWlubWF4LW1heC1jb250ZW50LXJlc29sdXRpb24tY29sdW1ucy5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L21pbm1heC1tYXgtY29u
dGVudC1yZXNvbHV0aW9uLWNvbHVtbnMuaHRtbApAQCAtMTYsMTIgKzE2LDYgQEAgaWYgKHdpbmRv
dy50ZXN0UnVubmVyKQogICAgIC13ZWJraXQtZ3JpZC1yb3dzOiAyMHB4OwogfQogCi0vKiBUaGlz
IHJ1bGUgbWFrZXMgc3VyZSB0aGUgY29udGFpbmVyIGlzIHNtYWxsZXIgdGhhbiBhbnkgZ3JpZCBp
dGVtcyB0byBhdm9pZCBkaXN0cmlidXRpbmcgYW55IGV4dHJhIGxvZ2ljYWwgc3BhY2UgdG8gdGhl
bS4gKi8KLS5jb25zdHJhaW5lZENvbnRhaW5lciB7Ci0gICAgd2lkdGg6IDEwcHg7Ci0gICAgaGVp
Z2h0OiAxMHB4OwotfQotCiAuZmlyc3RSb3dGaXJzdENvbHVtbiB7CiAgICAgZm9udDogMTBweC8x
IEFoZW07CiAgICAgLyogTWFrZSB1cyBmaXQgb3VyIGdyaWQgYXJlYS4gKi8KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L21pbm1heC1tYXgtY29udGVudC1yZXNv
bHV0aW9uLXJvd3MuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L21pbm1h
eC1tYXgtY29udGVudC1yZXNvbHV0aW9uLXJvd3MuaHRtbAppbmRleCAwM2Y2ZTAwODM1MDczMjBm
N2MyNTE3MzI2YTk3YTNhNTM5N2NhNjhlLi5lNWY1NjNkMzQ5ZmE5YzZjZDU2M2RjMWE3MTM0NGE3
MmQzZTY5MWJmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9t
aW5tYXgtbWF4LWNvbnRlbnQtcmVzb2x1dGlvbi1yb3dzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9jc3MtZ3JpZC1sYXlvdXQvbWlubWF4LW1heC1jb250ZW50LXJlc29sdXRpb24tcm93cy5o
dG1sCkBAIC0xNiwxMiArMTYsNiBAQCBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgLXdlYmtp
dC1ncmlkLXJvd3M6IG1pbm1heCgzMHB4LCAtd2Via2l0LW1heC1jb250ZW50KTsKIH0KIAotLyog
VGhpcyBydWxlIG1ha2VzIHN1cmUgdGhlIGNvbnRhaW5lciBpcyBzbWFsbGVyIHRoYW4gYW55IGdy
aWQgaXRlbXMgdG8gYXZvaWQgZGlzdHJpYnV0aW5nIGFueSBleHRyYSBsb2dpY2FsIHNwYWNlIHRv
IHRoZW0uICovCi0uY29uc3RyYWluZWRDb250YWluZXIgewotICAgIHdpZHRoOiAxMHB4OwotICAg
IGhlaWdodDogMTBweDsKLX0KLQogLmZpcnN0Um93Rmlyc3RDb2x1bW4gewogICAgIGZvbnQ6IDEw
cHgvMSBBaGVtOwogICAgIC8qIE1ha2UgdXMgZml0IG91ciBncmlkIGFyZWEuICovCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9taW5tYXgtbWluLWNvbnRlbnQt
Y29sdW1uLXJlc29sdXRpb24tY29sdW1ucy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3Jp
ZC1sYXlvdXQvbWlubWF4LW1pbi1jb250ZW50LWNvbHVtbi1yZXNvbHV0aW9uLWNvbHVtbnMuaHRt
bAppbmRleCBkNWY0N2M2ZjUwODNlZDkyNjMxMmY0OGRkMDdhM2E1MzhiOGRjYzYyLi5mMmJkZTVj
MDA5NGU4MzM4Y2E2N2U5OWZiOTY4YTk5M2QwNjA2MzYxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9taW5tYXgtbWluLWNvbnRlbnQtY29sdW1uLXJlc29sdXRp
b24tY29sdW1ucy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L21p
bm1heC1taW4tY29udGVudC1jb2x1bW4tcmVzb2x1dGlvbi1jb2x1bW5zLmh0bWwKQEAgLTE2LDEy
ICsxNiw2IEBAIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICAtd2Via2l0LWdyaWQtcm93czog
MjBweDsKIH0KIAotLyogVGhpcyBydWxlIG1ha2VzIHN1cmUgdGhlIGNvbnRhaW5lciBpcyBzbWFs
bGVyIHRoYW4gYW55IGdyaWQgaXRlbXMgdG8gYXZvaWQgZGlzdHJpYnV0aW5nIGFueSBleHRyYSBs
b2dpY2FsIHNwYWNlIHRvIHRoZW0uICovCi0uY29uc3RyYWluZWRDb250YWluZXIgewotICAgIHdp
ZHRoOiAxMHB4OwotICAgIGhlaWdodDogMTBweDsKLX0KLQogLmZpcnN0Um93Rmlyc3RDb2x1bW4g
ewogICAgIGZvbnQ6IDEwcHgvMSBBaGVtOwogICAgIC8qIE1ha2UgdXMgZml0IG91ciBncmlkIGFy
ZWEuICovCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9taW5t
YXgtbWluLWNvbnRlbnQtY29sdW1uLXJlc29sdXRpb24tcm93cy5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9jc3MtZ3JpZC1sYXlvdXQvbWlubWF4LW1pbi1jb250ZW50LWNvbHVtbi1yZXNvbHV0aW9u
LXJvd3MuaHRtbAppbmRleCBjZTg4Y2ViOTkzOTdmYTMwYWNlNGRlYzE3OTU2MGY4NTdhNDk2NTI5
Li42MTA3ZDZmNTUwNGVmNmU5Mjk4ZDMxOTI2ZWRhYTNlYTY2OWYxNzcyIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9taW5tYXgtbWluLWNvbnRlbnQtY29sdW1u
LXJlc29sdXRpb24tcm93cy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5
b3V0L21pbm1heC1taW4tY29udGVudC1jb2x1bW4tcmVzb2x1dGlvbi1yb3dzLmh0bWwKQEAgLTE2
LDEyICsxNiw2IEBAIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICAtd2Via2l0LWdyaWQtcm93
czogbWlubWF4KDMwcHgsIC13ZWJraXQtbWluLWNvbnRlbnQpOwogfQogCi0vKiBUaGlzIHJ1bGUg
bWFrZXMgc3VyZSB0aGUgY29udGFpbmVyIGlzIHNtYWxsZXIgdGhhbiBhbnkgZ3JpZCBpdGVtcyB0
byBhdm9pZCBkaXN0cmlidXRpbmcgYW55IGV4dHJhIGxvZ2ljYWwgc3BhY2UgdG8gdGhlbS4gKi8K
LS5jb25zdHJhaW5lZENvbnRhaW5lciB7Ci0gICAgd2lkdGg6IDEwcHg7Ci0gICAgaGVpZ2h0OiAx
MHB4OwotfQotCiAuZmlyc3RSb3dGaXJzdENvbHVtbiB7CiAgICAgZm9udDogMTBweC8xIEFoZW07
CiAgICAgLyogTWFrZSB1cyBmaXQgb3VyIGdyaWQgYXJlYS4gKi8KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L3Jlc291cmNlcy9ncmlkLmNzcyBiL0xheW91dFRl
c3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L3Jlc291cmNlcy9ncmlkLmNzcwppbmRleCBkMDNjNDhk
YmFlYmIxZTIxZjEzZTdjZGU0MjdjN2I0YzYzYTNiNzUzLi5hOGQ1MGMzMjhkZDQxZWY1MmJhZDVl
OTA3ZGU4YWQ5ZjFhYzAxYzgyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlk
LWxheW91dC9yZXNvdXJjZXMvZ3JpZC5jc3MKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3Jp
ZC1sYXlvdXQvcmVzb3VyY2VzL2dyaWQuY3NzCkBAIC00NCw2ICs0NCwxNyBAQAogICAgIC13ZWJr
aXQtZ3JpZC1hdXRvLWZsb3c6IHJvdzsKIH0KIAorLyogVGhpcyBydWxlIG1ha2VzIHN1cmUgdGhl
IGNvbnRhaW5lciBpcyBzbWFsbGVyIHRoYW4gYW55IGdyaWQgaXRlbXMgdG8gYXZvaWQgZGlzdHJp
YnV0aW5nIGFueSBleHRyYSBsb2dpY2FsIHNwYWNlIHRvIHRoZW0uICovCisuY29uc3RyYWluZWRD
b250YWluZXIgeworICAgIHdpZHRoOiAxMHB4OworICAgIGhlaWdodDogMTBweDsKK30KKworLnVu
Y29uc3RyYWluZWRDb250YWluZXIgeworICAgIHdpZHRoOiAxMDAwcHg7CisgICAgaGVpZ2h0OiAx
MDAwcHg7Cit9CisKIC52ZXJ0aWNhbFJMIHsKICAgICAtd2Via2l0LXdyaXRpbmctbW9kZTogdmVy
dGljYWwtcmw7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>187719</attachid>
            <date>2013-02-11 16:39:51 -0800</date>
            <delta_ts>2013-02-13 11:33:23 -0800</delta_ts>
            <desc>Updated patch per discussion with Ojan: Always force a layout in minContentForChild / maxContentForChild.</desc>
            <filename>bug-109100-20130211163621.patch</filename>
            <type>text/plain</type>
            <size>40827</size>
            <attacher name="Julien Chaffraix">jchaffraix</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQyNTE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzJjN2Y4YjczOWUyYTA3
NjU0OGUwYWQwYTZhYWI2ZTk4NWE3N2UwNy4uZjM4NjBhM2Q4YjFmZjNmMTI2ZGEwZTM3NTY4MjVj
Y2NlZTI4MGEzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDEzLTAyLTExICBKdWxp
ZW4gQ2hhZmZyYWl4ICA8amNoYWZmcmFpeEB3ZWJraXQub3JnPgorCisgICAgICAgIFtDU1MgR3Jp
ZCBMYXlvdXRdIEFkZGluZyBvciByZW1vdmluZyBncmlkIGl0ZW1zIGRvZXNuJ3QgcHJvcGVybHkg
cmVjb21wdXRlIHRoZSB0cmFjayBzaXplcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTA5MTAwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgVGVzdDogZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC1pdGVtLXJl
bW92YWwtdHJhY2stYnJlYWR0aC11cGRhdGUuaHRtbAorCisgICAgICAgIFRoZSB0ZXN0IHVuY292
ZXJlZCBzZXZlcmFsIGJ1Z3MgaW4gb3VyIGltcGxlbWVudGF0aW9uIHRoYXQgaXMgZml4ZWQgYXMg
cGFydAorICAgICAgICBvZiB0aGlzIGNoYW5nZS4gVGhleSB3aWxsIGJlIGRldGFpbGVkIGJlbG93
LgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyR3JpZDo6bG9naWNhbENvbnRlbnRIZWlnaHRGb3JDaGlsZCk6CisgICAgICAgIEFk
ZGVkIHRoaXMgZnVuY3Rpb24gdG8gc2hhcmUgdGhlIGNvZGUgYmV0d2VlbiBtaW5Db250ZW50Rm9y
Q2hpbGQgYW5kIG1heENvbnRlbnRGb3JDaGlsZC4KKyAgICAgICAgQWxzbyBmb3JjZWQgYSByZWxh
eW91dCBpbiB0aGlzIGNhc2UgdG8gYXZvaWQgZ2V0dGluZyBhIHdyb25nIGFuc3dlciAoZS5nLiB0
aGUgbG9naWNhbCBoZWlnaHQKKyAgICAgICAgY29uc3RyYWluZWQgYnkgdGhlIHByZXZpb3VzIGxh
eW91dCdzIGdyaWQgYnJlYWR0aCkuCisKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckdyaWQ6Om1p
bkNvbnRlbnRGb3JDaGlsZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJHcmlkOjptYXhDb250
ZW50Rm9yQ2hpbGQpOgorICAgICAgICBVcGRhdGVkIHRvIHVzZSBsb2dpY2FsQ29udGVudEhlaWdo
dEZvckNoaWxkLgorCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJHcmlkOjpyZXNvbHZlQ29udGVu
dEJhc2VkVHJhY2tTaXppbmdGdW5jdGlvbnMpOgorICAgICAgICBVcGRhdGVkIHRvIG1hdGNoIHRo
ZSBzcGVjaWZpY2F0aW9uIGFuZCBzZXQgbWF4IGJyZWFkdGggdG8gY3VycmVudCBicmVhZHRoIHBl
ciB0aGUgc3BlY2lmaWNhdGlvbi4KKyAgICAgICAgVGhpcyBtYWRlIHVzIG92ZXItZ3JvdyBzb21l
IGNhc2VzIGluIHRoZSB0ZXN0LgorCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJHcmlkOjpkaXN0
cmlidXRlU3BhY2VUb1RyYWNrcyk6CisgICAgICAgIFVwZGF0ZWQgdG8gbWF0Y2ggdGhlIHNwZWNp
ZmljYXRpb24gYW5kIHVzZSBhbiBleHRyYSB2YXJpYWJsZSB0byBkbyB0aGUgaW50ZXJtZWRpYXRl
IHNwcmVhZGluZy4gQWxzbyByZW1vdmVkCisgICAgICAgIGEgbm93IHVubmVlZGVkIG1heC4gVGhp
cyBmaXhlcyB0aGUgY2FzZSBvZiBtdWx0aXBsZSBncmlkIGl0ZW1zIGluIHRoZSBzYW1lIGdyaWQg
YXJlYSB0aGF0IHdhcyBjb21wbGV0ZWx5IGJyb2tlbi4KKworICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyR3JpZDo6bGF5b3V0R3JpZEl0ZW1zKToKKyAgICAgICAgQWRkZWQgYSBGSVhNRSBhYm91dCBh
bHdheXMgcmVsYXlpbmcgb3V0IGNvbnRlbnQgc2l6ZWQgdHJhY2tzJyBjaGlsZHJlbi4KKworICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJHcmlkLmg6CisgICAgICAgIEFkZGVkIGxvZ2ljYWxDb250
ZW50SGVpZ2h0Rm9yQ2hpbGQuCisKIDIwMTMtMDItMTEgIFJvZ2VyIEZvbmcgIDxyb2dlcl9mb25n
QGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLiBCdWlsZCBmaXggZm9yIFdpbjcgUmVs
ZWFzZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmNwcAppbmRleCA3NWUwYjc5
MjE1MzQyYTFiMjAxNTViZGUzMDdjYTFmYzI3MDdjZjczLi5hMjUwZGVhYWJhMTdjMWUyYTZkOWRk
Mjc4NjE3M2YwZDZmMmJkNTZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyR3JpZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQu
Y3BwCkBAIC0yODcsNiArMjg3LDIyIEBAIHNpemVfdCBSZW5kZXJHcmlkOjptYXhpbXVtSW5kZXhJ
bkRpcmVjdGlvbihUcmFja1NpemluZ0RpcmVjdGlvbiBkaXJlY3Rpb24pIGNvbnN0CiAgICAgcmV0
dXJuIG1heGltdW1JbmRleDsKIH0KIAorTGF5b3V0VW5pdCBSZW5kZXJHcmlkOjpsb2dpY2FsQ29u
dGVudEhlaWdodEZvckNoaWxkKFJlbmRlckJveCogY2hpbGQsIFZlY3RvcjxHcmlkVHJhY2s+JiBj
b2x1bW5UcmFja3MpCit7CisgICAgLy8gRklYTUU6IFdlIHNob3VsZG4ndCBmb3JjZSBhIGxheW91
dCBldmVyeSB0aW1lIHRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIGJ1dAorICAgIC8vIDEpIFJldHVy
biBjb21wdXRlTG9naWNhbEhlaWdodCdzIHZhbHVlIGlmIGl0J3MgYXZhaWxhYmxlLiBVbmZvcnR1
bmF0ZWx5IGNvbXB1dGVMb2dpY2FsSGVpZ2h0CisgICAgLy8gZG9lc24ndCByZXR1cm4gaWYgdGhl
IGxvZ2ljYWwgaGVpZ2h0IGlzIGF2YWlsYWJsZSBzbyB3b3VsZCBuZWVkIHRvIGJlIGNoYW5nZWQu
CisgICAgLy8gMikgUmVsYXlvdXQgaWYgdGhlIGNvbHVtbiB0cmFjaydzIHVzZWQgYnJlYWR0aCBj
aGFuZ2VkIE9SIHRoZSBsb2dpY2FsIGhlaWdodCBpcyB1bmF2YWlsYWJsZS4KKyAgICBpZiAoIWNo
aWxkLT5uZWVkc0xheW91dCgpKQorICAgICAgICBjaGlsZC0+c2V0TmVlZHNMYXlvdXQodHJ1ZSwg
TWFya09ubHlUaGlzKTsKKworICAgIHNpemVfdCBjb2x1bW5UcmFjayA9IHJlc29sdmVHcmlkUG9z
aXRpb24oRm9yQ29sdW1ucywgY2hpbGQpOworICAgIGNoaWxkLT5zZXRPdmVycmlkZUNvbnRhaW5p
bmdCbG9ja0NvbnRlbnRMb2dpY2FsV2lkdGgoY29sdW1uVHJhY2tzW2NvbHVtblRyYWNrXS5tX3Vz
ZWRCcmVhZHRoKTsKKyAgICBjaGlsZC0+Y2xlYXJPdmVycmlkZUNvbnRhaW5pbmdCbG9ja0NvbnRl
bnRMb2dpY2FsSGVpZ2h0KCk7CisgICAgY2hpbGQtPmxheW91dCgpOworICAgIHJldHVybiBjaGls
ZC0+bG9naWNhbEhlaWdodCgpOworfQorCiBMYXlvdXRVbml0IFJlbmRlckdyaWQ6Om1pbkNvbnRl
bnRGb3JDaGlsZChSZW5kZXJCb3gqIGNoaWxkLCBUcmFja1NpemluZ0RpcmVjdGlvbiBkaXJlY3Rp
b24sIFZlY3RvcjxHcmlkVHJhY2s+JiBjb2x1bW5UcmFja3MpCiB7CiAgICAgYm9vbCBoYXNPcnRo
b2dvbmFsV3JpdGluZ01vZGUgPSBjaGlsZC0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSAhPSBp
c0hvcml6b250YWxXcml0aW5nTW9kZSgpOwpAQCAtMzAwLDEzICszMTYsNyBAQCBMYXlvdXRVbml0
IFJlbmRlckdyaWQ6Om1pbkNvbnRlbnRGb3JDaGlsZChSZW5kZXJCb3gqIGNoaWxkLCBUcmFja1Np
emluZ0RpcmVjdGlvbgogICAgICAgICByZXR1cm4gY2hpbGQtPm1pblByZWZlcnJlZExvZ2ljYWxX
aWR0aCgpOwogICAgIH0KIAotICAgIGlmIChjaGlsZC0+bmVlZHNMYXlvdXQoKSkgewotICAgICAg
ICBzaXplX3QgY29sdW1uVHJhY2sgPSByZXNvbHZlR3JpZFBvc2l0aW9uKEZvckNvbHVtbnMsIGNo
aWxkKTsKLSAgICAgICAgY2hpbGQtPnNldE92ZXJyaWRlQ29udGFpbmluZ0Jsb2NrQ29udGVudExv
Z2ljYWxXaWR0aChjb2x1bW5UcmFja3NbY29sdW1uVHJhY2tdLm1fdXNlZEJyZWFkdGgpOwotICAg
ICAgICBjaGlsZC0+Y2xlYXJPdmVycmlkZUNvbnRhaW5pbmdCbG9ja0NvbnRlbnRMb2dpY2FsSGVp
Z2h0KCk7Ci0gICAgICAgIGNoaWxkLT5sYXlvdXQoKTsKLSAgICB9Ci0gICAgcmV0dXJuIGNoaWxk
LT5sb2dpY2FsSGVpZ2h0KCk7CisgICAgcmV0dXJuIGxvZ2ljYWxDb250ZW50SGVpZ2h0Rm9yQ2hp
bGQoY2hpbGQsIGNvbHVtblRyYWNrcyk7CiB9CiAKIExheW91dFVuaXQgUmVuZGVyR3JpZDo6bWF4
Q29udGVudEZvckNoaWxkKFJlbmRlckJveCogY2hpbGQsIFRyYWNrU2l6aW5nRGlyZWN0aW9uIGRp
cmVjdGlvbiwgVmVjdG9yPEdyaWRUcmFjaz4mIGNvbHVtblRyYWNrcykKQEAgLTMyMiwxMyArMzMy
LDcgQEAgTGF5b3V0VW5pdCBSZW5kZXJHcmlkOjptYXhDb250ZW50Rm9yQ2hpbGQoUmVuZGVyQm94
KiBjaGlsZCwgVHJhY2tTaXppbmdEaXJlY3Rpb24KICAgICAgICAgcmV0dXJuIGNoaWxkLT5tYXhQ
cmVmZXJyZWRMb2dpY2FsV2lkdGgoKTsKICAgICB9CiAKLSAgICBpZiAoY2hpbGQtPm5lZWRzTGF5
b3V0KCkpIHsKLSAgICAgICAgc2l6ZV90IGNvbHVtblRyYWNrID0gcmVzb2x2ZUdyaWRQb3NpdGlv
bihGb3JDb2x1bW5zLCBjaGlsZCk7Ci0gICAgICAgIGNoaWxkLT5zZXRPdmVycmlkZUNvbnRhaW5p
bmdCbG9ja0NvbnRlbnRMb2dpY2FsV2lkdGgoY29sdW1uVHJhY2tzW2NvbHVtblRyYWNrXS5tX3Vz
ZWRCcmVhZHRoKTsKLSAgICAgICAgY2hpbGQtPmNsZWFyT3ZlcnJpZGVDb250YWluaW5nQmxvY2tD
b250ZW50TG9naWNhbEhlaWdodCgpOwotICAgICAgICBjaGlsZC0+bGF5b3V0KCk7Ci0gICAgfQot
ICAgIHJldHVybiBjaGlsZC0+bG9naWNhbEhlaWdodCgpOworICAgIHJldHVybiBsb2dpY2FsQ29u
dGVudEhlaWdodEZvckNoaWxkKGNoaWxkLCBjb2x1bW5UcmFja3MpOwogfQogCiB2b2lkIFJlbmRl
ckdyaWQ6OnJlc29sdmVDb250ZW50QmFzZWRUcmFja1NpemluZ0Z1bmN0aW9ucyhUcmFja1Npemlu
Z0RpcmVjdGlvbiBkaXJlY3Rpb24sIFZlY3RvcjxHcmlkVHJhY2s+JiBjb2x1bW5UcmFja3MsIFZl
Y3RvcjxHcmlkVHJhY2s+JiByb3dUcmFja3MsIExheW91dFVuaXQmIGF2YWlsYWJsZUxvZ2ljYWxT
cGFjZSkKQEAgLTM1OSw5ICszNjMsMTAgQEAgdm9pZCBSZW5kZXJHcmlkOjpyZXNvbHZlQ29udGVu
dEJhc2VkVHJhY2tTaXppbmdGdW5jdGlvbnMoVHJhY2tTaXppbmdEaXJlY3Rpb24gZGkKIAogICAg
ICAgICBpZiAobWF4VHJhY2tCcmVhZHRoLmlzTWF4Q29udGVudCgpKQogICAgICAgICAgICAgcmVz
b2x2ZUNvbnRlbnRCYXNlZFRyYWNrU2l6aW5nRnVuY3Rpb25zRm9ySXRlbXMoZGlyZWN0aW9uLCBj
b2x1bW5UcmFja3MsIHJvd1RyYWNrcywgaSwgJlJlbmRlckdyaWQ6Om1heENvbnRlbnRGb3JDaGls
ZCwgJkdyaWRUcmFjazo6bWF4QnJlYWR0aElmTm90SW5maW5pdGUsICZHcmlkVHJhY2s6Omdyb3dN
YXhCcmVhZHRoKTsKLSAgICB9CiAKLSAgICAvLyBGSVhNRTogVGhlIHNwZWMgc2F5cyB0byB1cGRh
dGUgbWF4QnJlYWR0aCBpZiBpdCBpcyBJbmZpbml0eS4KKyAgICAgICAgaWYgKHRyYWNrLm1fbWF4
QnJlYWR0aCA9PSBpbmZpbml0eSkKKyAgICAgICAgICAgIHRyYWNrLm1fbWF4QnJlYWR0aCA9IHRy
YWNrLm1fdXNlZEJyZWFkdGg7CisgICAgfQogfQogCiB2b2lkIFJlbmRlckdyaWQ6OnJlc29sdmVD
b250ZW50QmFzZWRUcmFja1NpemluZ0Z1bmN0aW9uc0Zvckl0ZW1zKFRyYWNrU2l6aW5nRGlyZWN0
aW9uIGRpcmVjdGlvbiwgVmVjdG9yPEdyaWRUcmFjaz4mIGNvbHVtblRyYWNrcywgVmVjdG9yPEdy
aWRUcmFjaz4mIHJvd1RyYWNrcywgc2l6ZV90IGksIFNpemluZ0Z1bmN0aW9uIHNpemluZ0Z1bmN0
aW9uLCBBY2N1bXVsYXRvckdldHRlciB0cmFja0dldHRlciwgQWNjdW11bGF0b3JHcm93RnVuY3Rp
b24gdHJhY2tHcm93dGhGdW5jdGlvbikKQEAgLTM5MSwyOSArMzk2LDMxIEBAIHZvaWQgUmVuZGVy
R3JpZDo6ZGlzdHJpYnV0ZVNwYWNlVG9UcmFja3MoVmVjdG9yPEdyaWRUcmFjayo+JiB0cmFja3Ms
IFZlY3RvcjxHcmlkCiAgICAgc3RkOjpzb3J0KHRyYWNrcy5iZWdpbigpLCB0cmFja3MuZW5kKCks
IHNvcnRCeUdyaWRUcmFja0dyb3d0aFBvdGVudGlhbCk7CiAKICAgICBzaXplX3QgdHJhY2tzU2l6
ZSA9IHRyYWNrcy5zaXplKCk7CisgICAgLy8gRklYTUU6IFRoaXMgc2hvdWxkIHByb2JhYmx5IHVz
ZSBhIFJBSUkgcGF0dGVybiB0byBlbnN1cmUgd2UgYWx3YXlzIHVwZGF0ZSBvdXIgdHJhY2tzLgor
ICAgIFZlY3RvcjxMYXlvdXRVbml0PiB1cGRhdGVkVHJhY2tCcmVhZHRocyh0cmFja3NTaXplKTsK
KwogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgdHJhY2tzU2l6ZTsgKytpKSB7CiAgICAgICAg
IEdyaWRUcmFjayYgdHJhY2sgPSAqdHJhY2tzW2ldOwogICAgICAgICBMYXlvdXRVbml0IGF2YWls
YWJsZUxvZ2ljYWxTcGFjZVNoYXJlID0gYXZhaWxhYmxlTG9naWNhbFNwYWNlIC8gKHRyYWNrc1Np
emUgLSBpKTsKLSAgICAgICAgLy8gV2UgbmV2ZXIgc2hyaW5rIHRoZSB1c2VkIGJyZWFkdGggYnkg
Y2xhbXBpbmcgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiBtYXggYW5kIHVzZWQgYnJlYWR0aC4gVGhl
IHNwZWMgdXNlcwotICAgICAgICAvLyAyIGV4dHJhLXZhcmlhYmxlcyBhbmQgMiBleHRyYSBpdGVy
YXRpb25zIHRvIGVuc3VyZSB0aGF0IHdlIGFsd2F5cyBncm93IG91ciB0cmFja3MgKHRodXMgbmV2
ZXIgZ29pbmcgYmVsb3cKLSAgICAgICAgLy8gbWluLXRyYWNrKS4gSWYgd2UgZGVjaWRlIHRvIGZv
bGxvdyBpdCB0byB0aGUgbGV0dGVyLCB3ZSBzaG91bGQgcmVtb3ZlIHRoaXMgY2xhbXBpbmcuCi0g
ICAgICAgIExheW91dFVuaXQgZ3Jvd3RoU2hhcmUgPSBzdGQ6Om1pbihhdmFpbGFibGVMb2dpY2Fs
U3BhY2VTaGFyZSwgc3RkOjptYXgoTGF5b3V0VW5pdCgwKSwgdHJhY2subV9tYXhCcmVhZHRoIC0g
KHRyYWNrLip0cmFja0dldHRlcikoKSkpOwotICAgICAgICAodHJhY2suKnRyYWNrR3Jvd3RoRnVu
Y3Rpb24pKGdyb3d0aFNoYXJlKTsKKyAgICAgICAgTGF5b3V0VW5pdCB0cmFja0JyZWFkdGggPSAo
dHJhY2tzW2ldLT4qdHJhY2tHZXR0ZXIpKCk7CisgICAgICAgIExheW91dFVuaXQgZ3Jvd3RoU2hh
cmUgPSBzdGQ6Om1pbihhdmFpbGFibGVMb2dpY2FsU3BhY2VTaGFyZSwgdHJhY2subV9tYXhCcmVh
ZHRoIC0gdHJhY2tCcmVhZHRoKTsKKyAgICAgICAgdXBkYXRlZFRyYWNrQnJlYWR0aHNbaV0gPSB0
cmFja0JyZWFkdGggKyBncm93dGhTaGFyZTsKICAgICAgICAgYXZhaWxhYmxlTG9naWNhbFNwYWNl
IC09IGdyb3d0aFNoYXJlOwogICAgIH0KIAotICAgIGlmIChhdmFpbGFibGVMb2dpY2FsU3BhY2Ug
PD0gMCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgaWYgKCF0cmFja3NGb3JHcm93dGhBYm92ZU1h
eEJyZWFkdGgpCi0gICAgICAgIHJldHVybjsKKyAgICBpZiAoYXZhaWxhYmxlTG9naWNhbFNwYWNl
ID4gMCAmJiB0cmFja3NGb3JHcm93dGhBYm92ZU1heEJyZWFkdGgpIHsKKyAgICAgICAgdHJhY2tz
U2l6ZSA9IHRyYWNrc0Zvckdyb3d0aEFib3ZlTWF4QnJlYWR0aC0+c2l6ZSgpOworICAgICAgICBm
b3IgKHNpemVfdCBpID0gMDsgaSA8IHRyYWNrc1NpemU7ICsraSkgeworICAgICAgICAgICAgTGF5
b3V0VW5pdCBncm93dGhTaGFyZSA9IGF2YWlsYWJsZUxvZ2ljYWxTcGFjZSAvICh0cmFja3NTaXpl
IC0gaSk7CisgICAgICAgICAgICB1cGRhdGVkVHJhY2tCcmVhZHRoc1tpXSArPSBncm93dGhTaGFy
ZTsKKyAgICAgICAgICAgIGF2YWlsYWJsZUxvZ2ljYWxTcGFjZSAtPSBncm93dGhTaGFyZTsKKyAg
ICAgICAgfQorICAgIH0KIAotICAgIHRyYWNrc1NpemUgPSB0cmFja3NGb3JHcm93dGhBYm92ZU1h
eEJyZWFkdGgtPnNpemUoKTsKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHRyYWNrc1NpemU7
ICsraSkgewotICAgICAgICBHcmlkVHJhY2smIHRyYWNrID0gKnRyYWNrc0Zvckdyb3d0aEFib3Zl
TWF4QnJlYWR0aC0+YXQoaSk7Ci0gICAgICAgIExheW91dFVuaXQgZ3Jvd3RoU2hhcmUgPSBhdmFp
bGFibGVMb2dpY2FsU3BhY2UgLyAodHJhY2tzU2l6ZSAtIGkpOwotICAgICAgICAodHJhY2suKnRy
YWNrR3Jvd3RoRnVuY3Rpb24pKGdyb3d0aFNoYXJlKTsKLSAgICAgICAgYXZhaWxhYmxlTG9naWNh
bFNwYWNlIC09IGdyb3d0aFNoYXJlOworICAgICAgICBMYXlvdXRVbml0IGdyb3d0aCA9IHVwZGF0
ZWRUcmFja0JyZWFkdGhzW2ldIC0gKHRyYWNrc1tpXS0+KnRyYWNrR2V0dGVyKSgpOworICAgICAg
ICBpZiAoZ3Jvd3RoID49IDApCisgICAgICAgICAgICAodHJhY2tzW2ldLT4qdHJhY2tHcm93dGhG
dW5jdGlvbikoZ3Jvd3RoKTsKICAgICB9CiB9CiAKQEAgLTQ1MCw2ICs0NTcsOCBAQCB2b2lkIFJl
bmRlckdyaWQ6OmxheW91dEdyaWRJdGVtcygpCiAgICAgICAgIExheW91dFVuaXQgb2xkT3ZlcnJp
ZGVDb250YWluaW5nQmxvY2tDb250ZW50TG9naWNhbFdpZHRoID0gY2hpbGQtPmhhc092ZXJyaWRl
Q29udGFpbmluZ0Jsb2NrTG9naWNhbFdpZHRoKCkgPyBjaGlsZC0+b3ZlcnJpZGVDb250YWluaW5n
QmxvY2tDb250ZW50TG9naWNhbFdpZHRoKCkgOiBMYXlvdXRVbml0KCk7CiAgICAgICAgIExheW91
dFVuaXQgb2xkT3ZlcnJpZGVDb250YWluaW5nQmxvY2tDb250ZW50TG9naWNhbEhlaWdodCA9IGNo
aWxkLT5oYXNPdmVycmlkZUNvbnRhaW5pbmdCbG9ja0xvZ2ljYWxIZWlnaHQoKSA/IGNoaWxkLT5v
dmVycmlkZUNvbnRhaW5pbmdCbG9ja0NvbnRlbnRMb2dpY2FsSGVpZ2h0KCkgOiBMYXlvdXRVbml0
KCk7CiAKKyAgICAgICAgLy8gRklYTUU6IEZvciBjaGlsZHJlbiBpbiBhIGNvbnRlbnQgc2l6ZWQg
dHJhY2ssIHdlIGNsZWFyIHRoZSBvdmVycmlkZUNvbnRhaW5pbmdCbG9ja0NvbnRlbnRMb2dpY2Fs
SGVpZ2h0CisgICAgICAgIC8vIGluIG1pbkNvbnRlbnRGb3JDaGlsZCAvIG1heENvbnRlbnRGb3JD
aGlsZCB3aGljaCBtZWFucyB0aGF0IHdlIHdpbGwgYWx3YXlzIHJlbGF5b3V0IHRoZSBjaGlsZC4K
ICAgICAgICAgaWYgKG9sZE92ZXJyaWRlQ29udGFpbmluZ0Jsb2NrQ29udGVudExvZ2ljYWxXaWR0
aCAhPSBjb2x1bW5UcmFja3NbY29sdW1uVHJhY2tdLm1fdXNlZEJyZWFkdGggfHwgb2xkT3ZlcnJp
ZGVDb250YWluaW5nQmxvY2tDb250ZW50TG9naWNhbEhlaWdodCAhPSByb3dUcmFja3Nbcm93VHJh
Y2tdLm1fdXNlZEJyZWFkdGgpCiAgICAgICAgICAgICBjaGlsZC0+c2V0TmVlZHNMYXlvdXQodHJ1
ZSwgTWFya09ubHlUaGlzKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckdyaWQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmgKaW5k
ZXggOTZlNmE0OTIzMTA3MWQ5YmM5YzllOTk5ZjE3ZTJhZGNlNGI2YmUwZS4uMjUxM2MyMWI5NzVj
NGFiMzJmYTUxNjQ0ZWRhODZjMTE3YzZlOWY3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckdyaWQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyR3JpZC5oCkBAIC02Nyw2ICs2Nyw3IEBAIHByaXZhdGU6CiAgICAgY29uc3QgR3JpZFRyYWNr
U2l6ZSYgZ3JpZFRyYWNrU2l6ZShUcmFja1NpemluZ0RpcmVjdGlvbiwgc2l6ZV90KTsKICAgICBz
aXplX3QgbWF4aW11bUluZGV4SW5EaXJlY3Rpb24oVHJhY2tTaXppbmdEaXJlY3Rpb24pIGNvbnN0
OwogCisgICAgTGF5b3V0VW5pdCBsb2dpY2FsQ29udGVudEhlaWdodEZvckNoaWxkKFJlbmRlckJv
eCosIFZlY3RvcjxHcmlkVHJhY2s+Jik7CiAgICAgTGF5b3V0VW5pdCBtaW5Db250ZW50Rm9yQ2hp
bGQoUmVuZGVyQm94KiwgVHJhY2tTaXppbmdEaXJlY3Rpb24sIFZlY3RvcjxHcmlkVHJhY2s+JiBj
b2x1bW5UcmFja3MpOwogICAgIExheW91dFVuaXQgbWF4Q29udGVudEZvckNoaWxkKFJlbmRlckJv
eCosIFRyYWNrU2l6aW5nRGlyZWN0aW9uLCBWZWN0b3I8R3JpZFRyYWNrPiYgY29sdW1uVHJhY2tz
KTsKICAgICBMYXlvdXRQb2ludCBmaW5kQ2hpbGRMb2dpY2FsUG9zaXRpb24oUmVuZGVyQm94Kiwg
Y29uc3QgVmVjdG9yPEdyaWRUcmFjaz4mIGNvbHVtblRyYWNrcywgY29uc3QgVmVjdG9yPEdyaWRU
cmFjaz4mIHJvd1RyYWNrcyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYjk2NjhjNDY0Zjc4ZWI4ZjMxODE3YWM5ZWFmZGJl
ODViNGQ3YmY3OC4uZmE3MTJjMGZjM2NhNzBjZGUyZmZlYjg4YzRlMjI5NDAzYTNhNDAyMCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDMyIEBACisyMDEzLTAyLTExICBKdWxpZW4gQ2hhZmZyYWl4ICA8amNoYWZm
cmFpeEB3ZWJraXQub3JnPgorCisgICAgICAgIFtDU1MgR3JpZCBMYXlvdXRdIEFkZGluZyBvciBy
ZW1vdmluZyBncmlkIGl0ZW1zIGRvZXNuJ3QgcHJvcGVybHkgcmVjb21wdXRlIHRoZSB0cmFjayBz
aXplcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA5
MTAwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBm
YXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLWl0ZW0tYWRkaXRpb24tdHJhY2stYnJlYWR0aC11cGRh
dGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Nzcy1ncmlkLWxheW91dC9n
cmlkLWl0ZW0tYWRkaXRpb24tdHJhY2stYnJlYWR0aC11cGRhdGUuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC1pdGVtLXJlbW92YWwtdHJhY2stYnJlYWR0
aC11cGRhdGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Nzcy1ncmlkLWxh
eW91dC9ncmlkLWl0ZW0tcmVtb3ZhbC10cmFjay1icmVhZHRoLXVwZGF0ZS5odG1sOiBBZGRlZC4K
KyAgICAgICAgTmV3IHRlc3RzLgorCisgICAgICAgICogZmFzdC9jc3MtZ3JpZC1sYXlvdXQvcmVz
b3VyY2VzL2dyaWQuY3NzOgorICAgICAgICAoLmNvbnN0cmFpbmVkQ29udGFpbmVyKToKKyAgICAg
ICAgKC51bmNvbnN0cmFpbmVkQ29udGFpbmVyKToKKyAgICAgICAgQWRkZWQgdGhlc2UgY2xhc3Mg
dG8gc2hhcmUgdGhlbSB3aXRoIG90aGVyIHRlc3RzLgorCisgICAgICAgICogZmFzdC9jc3MtZ3Jp
ZC1sYXlvdXQvYXV0by1jb250ZW50LXJlc29sdXRpb24tY29sdW1ucy5odG1sOgorICAgICAgICAq
IGZhc3QvY3NzLWdyaWQtbGF5b3V0L2F1dG8tY29udGVudC1yZXNvbHV0aW9uLXJvd3MuaHRtbDoK
KyAgICAgICAgKiBmYXN0L2Nzcy1ncmlkLWxheW91dC9pbXBsaWNpdC1jb2x1bW5zLWF1dG8tcmVz
b2x1dGlvbi5odG1sOgorICAgICAgICAqIGZhc3QvY3NzLWdyaWQtbGF5b3V0L2ltcGxpY2l0LXBv
c2l0aW9uLWR5bmFtaWMtY2hhbmdlLmh0bWw6CisgICAgICAgICogZmFzdC9jc3MtZ3JpZC1sYXlv
dXQvaW1wbGljaXQtcm93cy1hdXRvLXJlc29sdXRpb24uaHRtbDoKKyAgICAgICAgKiBmYXN0L2Nz
cy1ncmlkLWxheW91dC9taW5tYXgtbWF4LWNvbnRlbnQtcmVzb2x1dGlvbi1jb2x1bW5zLmh0bWw6
CisgICAgICAgICogZmFzdC9jc3MtZ3JpZC1sYXlvdXQvbWlubWF4LW1heC1jb250ZW50LXJlc29s
dXRpb24tcm93cy5odG1sOgorICAgICAgICAqIGZhc3QvY3NzLWdyaWQtbGF5b3V0L21pbm1heC1t
aW4tY29udGVudC1jb2x1bW4tcmVzb2x1dGlvbi1jb2x1bW5zLmh0bWw6CisgICAgICAgICogZmFz
dC9jc3MtZ3JpZC1sYXlvdXQvbWlubWF4LW1pbi1jb250ZW50LWNvbHVtbi1yZXNvbHV0aW9uLXJv
d3MuaHRtbDoKKyAgICAgICAgUmVtb3ZlZCBjb25zdHJhaW5lZENvbnRhaW5lciBkZWZpbml0aW9u
IGFzIGl0IHdhcyBtb3ZlZCB0byBncmlkLmNzcy4KKwogMjAxMy0wMi0xMSAgSm9zaHVhIEJlbGwg
IDxqc2JlbGxAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEluZGV4ZWREQjogZGF0YWJhc2UgY29u
bmVjdGlvbnMgZG9uJ3QgY2xvc2UgYWZ0ZXIgdmVyc2lvbmNoYW5nZSB0cmFuc2FjdGlvbiBhYm9y
dHMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2F1dG8tY29u
dGVudC1yZXNvbHV0aW9uLWNvbHVtbnMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQt
bGF5b3V0L2F1dG8tY29udGVudC1yZXNvbHV0aW9uLWNvbHVtbnMuaHRtbAppbmRleCA3ZTMyZjJj
MDIxMjY0MWNlZTY5N2M1ZjZmYzg1ODJjNjhhNDJiOGI2Li42N2Y4NTRjZTQyMGE0MjhmMWM3OTNm
ODc3ZWIxNzhkNTJlODgxMTk0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlk
LWxheW91dC9hdXRvLWNvbnRlbnQtcmVzb2x1dGlvbi1jb2x1bW5zLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvYXV0by1jb250ZW50LXJlc29sdXRpb24tY29sdW1u
cy5odG1sCkBAIC0xMSwxMiArMTEsNiBAQCBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgLXdl
YmtpdC1ncmlkLXJvd3M6IDUwcHg7CiB9CiAKLS8qIFRoaXMgcnVsZSBtYWtlcyBzdXJlIHRoZSBj
b250YWluZXIgaXMgc21hbGxlciB0aGFuIGFueSBncmlkIGl0ZW1zIHRvIGF2b2lkIGRpc3RyaWJ1
dGluZyBhbnkgZXh0cmEgbG9naWNhbCBzcGFjZSB0byB0aGVtLiAqLwotLmNvbnN0cmFpbmVkQ29u
dGFpbmVyIHsKLSAgICB3aWR0aDogMTBweDsKLSAgICBoZWlnaHQ6IDEwcHg7Ci19Ci0KIC5maXJz
dFJvd0ZpcnN0Q29sdW1uIHsKICAgICBmb250OiAxMHB4LzEgQWhlbTsKICAgICAvKiBNYWtlIHVz
IGZpdCBvdXIgZ3JpZCBhcmVhLiAqLwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3Mt
Z3JpZC1sYXlvdXQvYXV0by1jb250ZW50LXJlc29sdXRpb24tcm93cy5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvYXV0by1jb250ZW50LXJlc29sdXRpb24tcm93cy5odG1s
CmluZGV4IGE4NTIzYzAxYTQ1ZTQzNzVlYjA5ZTFmOTdkMWE3OWJiMGMyYzBjODQuLmNmMTYzODk5
NjkyYjUyYzMxYjIyZGI4M2VkNmViNzBiZThhNDZjYWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2F1dG8tY29udGVudC1yZXNvbHV0aW9uLXJvd3MuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9hdXRvLWNvbnRlbnQtcmVzb2x1
dGlvbi1yb3dzLmh0bWwKQEAgLTExLDEyICsxMSw2IEBAIGlmICh3aW5kb3cudGVzdFJ1bm5lcikK
ICAgICAtd2Via2l0LWdyaWQtcm93czogYXV0bzsKIH0KIAotLyogVGhpcyBydWxlIG1ha2VzIHN1
cmUgdGhlIGNvbnRhaW5lciBpcyBzbWFsbGVyIHRoYW4gYW55IGdyaWQgaXRlbXMgdG8gYXZvaWQg
ZGlzdHJpYnV0aW5nIGFueSBleHRyYSBsb2dpY2FsIHNwYWNlIHRvIHRoZW0uICovCi0uY29uc3Ry
YWluZWRDb250YWluZXIgewotICAgIHdpZHRoOiAxMHB4OwotICAgIGhlaWdodDogMTBweDsKLX0K
LQogLmZpcnN0Um93Rmlyc3RDb2x1bW4gewogICAgIGZvbnQ6IDEwcHgvMSBBaGVtOwogICAgIC8q
IE1ha2UgdXMgZml0IG91ciBncmlkIGFyZWEuICovCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLWl0ZW0tYWRkaXRpb24tdHJhY2stYnJlYWR0aC11cGRh
dGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC1p
dGVtLWFkZGl0aW9uLXRyYWNrLWJyZWFkdGgtdXBkYXRlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li42Mjc2OGYwODFkMWU0N2RjN2MyZmUzM2U2Njc1YjJmMzJkNjEzMzgxCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC1pdGVtLWFkZGl0aW9u
LXRyYWNrLWJyZWFkdGgtdXBkYXRlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDg3IEBACitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgd2UgcHJvcGVybHkgcmVjb21wdXRlIG91ciBncmlkIHRyYWNrcycg
c2l6ZXMgd2hlbiB3ZSBhZGQgbW9yZSBncmlkIGl0ZW1zLgorCitYWFhYIFhYWFggWFhYWAorWFhY
WCBYWFhYIFhYWFgKK1hYWFggWFhYWCBYWFhYCitYWFhYIFhYWFggWFhYWAorWFhYWCBYWFhYIFhY
WFgKK1hYWFggWFhYWCBYWFhYCitYWFhYIFhYWFggWFhYWAorWFhYWCBYWFhYIFhYWFgKK1hYWFgg
WFhYWCBYWFhYCitYWFhYIFhYWFggWFhYWAorWFhYWCBYWFhYIFhYWFgKK1hYWFggWFhYWCBYWFhY
CitYWFhYIFhYWFggWFhYWAorWFhYWCBYWFhYIFhYWFgKK1hYWFggWFhYWCBYWFhYCitYWFhYIFhY
WFggWFhYWAorWFhYWCBYWFhYIFhYWFgKK1hYWFggWFhYWCBYWFhYCitYWFhYIFhYWFggWFhYWAor
WFhYWCBYWFhYIFhYWFgKK1hYWFggWFhYWCBYWFhYCitQQVNTCitQQVNTCitQQVNTCitQQVNTCitQ
QVNTCitQQVNTCitQQVNTCitQQVNTCitQQVNTCitQQVNTCitQQVNTCitQQVNTCitQQVNTCitQQVNT
CitQQVNTCitQQVNTCitQQVNTCitQQVNTCitQQVNTCitQQVNTCitQQVNTCitYWFhYWFggWFhYWFhY
CitYWFhYWFggWFhYWFhYCitYWFhYWFggWFhYWFhYCitYWFhYWFggWFhYWFhYCitYWFhYWFggWFhY
WFhYCitYWFhYWFggWFhYWFhYCitYWFhYWFggWFhYWFhYCitYWFhYWFggWFhYWFhYCitYWFhYWFgg
WFhYWFhYCitYWFhYWFggWFhYWFhYCitYWFhYWFggWFhYWFhYCitYWFhYWFggWFhYWFhYCitYWFhY
WFggWFhYWFhYCitYWFhYWFggWFhYWFhYCitYWFhYWFggWFhYWFhYCitYWFhYWFggWFhYWFhYCitY
WFhYWFggWFhYWFhYCitYWFhYWFggWFhYWFhYCitYWFhYWFggWFhYWFhYCitYWFhYWFggWFhYWFhY
CitYWFhYWFggWFhYWFhYCitYWFhYWFggWFhYWFhYCitQQVNTCitQQVNTCitQQVNTCitQQVNTCitQ
QVNTCitQQVNTCitQQVNTCitQQVNTCitQQVNTCitQQVNTCitQQVNTCitQQVNTCitQQVNTCitQQVNT
CitQQVNTCitQQVNTCitQQVNTCitQQVNTCitQQVNTCitQQVNTCitQQVNTCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLWl0ZW0tYWRkaXRpb24tdHJhY2st
YnJlYWR0aC11cGRhdGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2dy
aWQtaXRlbS1hZGRpdGlvbi10cmFjay1icmVhZHRoLXVwZGF0ZS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNj
MDg0YzI3NzlmYzQ3ODMwZjM3YThkODc2MzNiZGRkNzRkNjdkNGEKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLWl0ZW0tYWRkaXRpb24tdHJh
Y2stYnJlYWR0aC11cGRhdGUuaHRtbApAQCAtMCwwICsxLDEwNyBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxzY3JpcHQ+CitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5l
ci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdENTU0dyaWRMYXlvdXRFbmFibGVkIiwgMSk7Cis8
L3NjcmlwdD4KKzxsaW5rIGhyZWY9InJlc291cmNlcy9ncmlkLmNzcyIgcmVsPSJzdHlsZXNoZWV0
Ij4KKzxzdHlsZT4KKy5ncmlkRml4ZWRDb250ZW50IHsKKyAgICAtd2Via2l0LWdyaWQtY29sdW1u
czogNTBweCBtaW5tYXgoLXdlYmtpdC1taW4tY29udGVudCwgNTBweCkgbWlubWF4KC13ZWJraXQt
bWF4LWNvbnRlbnQsIDUwcHgpIG1pbm1heCg1MHB4LCAtd2Via2l0LW1pbi1jb250ZW50KTsKKyAg
ICAtd2Via2l0LWdyaWQtcm93czogNzBweCBtaW5tYXgoLXdlYmtpdC1tYXgtY29udGVudCwgNzBw
eCkgbWlubWF4KDUwcHgsIC13ZWJraXQtbWluLWNvbnRlbnQpIG1pbm1heCg2NXB4LCAtd2Via2l0
LW1heC1jb250ZW50KTsKK30KKworLnNpemVkVG9HcmlkQXJlYSB7CisgICAgZm9udDogMTBweC8x
IEFoZW07CisgICAgLyogTWFrZSB1cyBmaXQgb3VyIGdyaWQgYXJlYS4gKi8KKyAgICB3aWR0aDog
MTAwJTsKKyAgICBoZWlnaHQ6IDEwMCU7Cit9Cis8L3N0eWxlPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9jaGVjay1sYXlvdXQuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9u
IHRlc3RQb3NpdGlvbihncmlkRWxlbWVudElELCBjb250ZW50LCBwb3NpdGlvbiwgc2l6ZSkKK3sK
KyAgICB2YXIgZ3JpZEl0ZW0gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKKyAgICBn
cmlkSXRlbS5jbGFzc0xpc3QuYWRkKCJzaXplZFRvR3JpZEFyZWEiKTsKKyAgICBncmlkSXRlbS5p
bm5lckhUTUwgPSBjb250ZW50OworICAgIGdyaWRJdGVtLnN0eWxlLndlYmtpdEdyaWRDb2x1bW4g
PSBwb3NpdGlvbi5jb2x1bW47CisgICAgZ3JpZEl0ZW0uc3R5bGUud2Via2l0R3JpZFJvdyA9IHBv
c2l0aW9uLnJvdzsKKyAgICBncmlkSXRlbS5zZXRBdHRyaWJ1dGUoImRhdGEtZXhwZWN0ZWQtd2lk
dGgiLCBzaXplLndpZHRoKTsKKyAgICBncmlkSXRlbS5zZXRBdHRyaWJ1dGUoImRhdGEtZXhwZWN0
ZWQtaGVpZ2h0Iiwgc2l6ZS5oZWlnaHQpOworICAgIHZhciBncmlkRWxlbWVudCA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKGdyaWRFbGVtZW50SUQpOworICAgIGdyaWRFbGVtZW50LmFwcGVuZENo
aWxkKGdyaWRJdGVtKTsKKyAgICBjaGVja0xheW91dCgiIyIgKyBncmlkRWxlbWVudElEKTsKK30K
KworZnVuY3Rpb24gdXBkYXRlSW1wbGljaXRHcmlkQ29sdW1uKCkKK3sKKyAgICB0ZXN0UG9zaXRp
b24oImNvbnN0cmFpbmVkR3JpZCIsICJYWFhYIFhYWFggWFhYWCIsIHsgJ2NvbHVtbic6ICcxMCcs
ICdyb3cnOiAnMTUnIH0sIHsgJ3dpZHRoJzogJzQwJywgJ2hlaWdodCc6ICczMCcgfSk7CisKKyAg
ICB0ZXN0UG9zaXRpb24oImNvbnN0cmFpbmVkR3JpZCIsICJYWFhYIFhYWFggWFhYWCIsIHsgJ2Nv
bHVtbic6ICcxJywgJ3Jvdyc6ICcxJyB9LCB7ICd3aWR0aCc6ICc1MCcsICdoZWlnaHQnOiAnNzAn
IH0pOworICAgIHRlc3RQb3NpdGlvbigiY29uc3RyYWluZWRHcmlkIiwgIlhYWFggWFhYWCBYWFhY
IiwgeyAnY29sdW1uJzogJzEnLCAncm93JzogJzInIH0sIHsgJ3dpZHRoJzogJzUwJywgJ2hlaWdo
dCc6ICczMCcgfSk7CisgICAgdGVzdFBvc2l0aW9uKCJjb25zdHJhaW5lZEdyaWQiLCAiWFhYWCBY
WFhYIFhYWFgiLCB7ICdjb2x1bW4nOiAnMScsICdyb3cnOiAnMycgfSwgeyAnd2lkdGgnOiAnNTAn
LCAnaGVpZ2h0JzogJzUwJyB9KTsKKyAgICB0ZXN0UG9zaXRpb24oImNvbnN0cmFpbmVkR3JpZCIs
ICJYWFhYIFhYWFggWFhYWCIsIHsgJ2NvbHVtbic6ICcxJywgJ3Jvdyc6ICc0JyB9LCB7ICd3aWR0
aCc6ICc1MCcsICdoZWlnaHQnOiAnNjUnIH0pOworICAgIHRlc3RQb3NpdGlvbigiY29uc3RyYWlu
ZWRHcmlkIiwgIlhYWFggWFhYWCBYWFhYIiwgeyAnY29sdW1uJzogJzEnLCAncm93JzogJzUnIH0s
IHsgJ3dpZHRoJzogJzUwJywgJ2hlaWdodCc6ICczMCcgfSk7CisKKyAgICB0ZXN0UG9zaXRpb24o
ImNvbnN0cmFpbmVkR3JpZCIsICJYWFhYIFhYWFggWFhYWCIsIHsgJ2NvbHVtbic6ICcyJywgJ3Jv
dyc6ICcxJyB9LCB7ICd3aWR0aCc6ICc0MCcsICdoZWlnaHQnOiAnNzAnIH0pOworICAgIHRlc3RQ
b3NpdGlvbigiY29uc3RyYWluZWRHcmlkIiwgIlhYWFggWFhYWCBYWFhYIiwgeyAnY29sdW1uJzog
JzInLCAncm93JzogJzInIH0sIHsgJ3dpZHRoJzogJzQwJywgJ2hlaWdodCc6ICczMCcgfSk7Cisg
ICAgdGVzdFBvc2l0aW9uKCJjb25zdHJhaW5lZEdyaWQiLCAiWFhYWCBYWFhYIFhYWFgiLCB7ICdj
b2x1bW4nOiAnMicsICdyb3cnOiAnMycgfSwgeyAnd2lkdGgnOiAnNDAnLCAnaGVpZ2h0JzogJzUw
JyB9KTsKKyAgICB0ZXN0UG9zaXRpb24oImNvbnN0cmFpbmVkR3JpZCIsICJYWFhYIFhYWFggWFhY
WCIsIHsgJ2NvbHVtbic6ICcyJywgJ3Jvdyc6ICc0JyB9LCB7ICd3aWR0aCc6ICc0MCcsICdoZWln
aHQnOiAnNjUnIH0pOworICAgIHRlc3RQb3NpdGlvbigiY29uc3RyYWluZWRHcmlkIiwgIlhYWFgg
WFhYWCBYWFhYIiwgeyAnY29sdW1uJzogJzInLCAncm93JzogJzUnIH0sIHsgJ3dpZHRoJzogJzQw
JywgJ2hlaWdodCc6ICczMCcgfSk7CisKKyAgICB0ZXN0UG9zaXRpb24oImNvbnN0cmFpbmVkR3Jp
ZCIsICJYWFhYIFhYWFggWFhYWCIsIHsgJ2NvbHVtbic6ICczJywgJ3Jvdyc6ICcxJyB9LCB7ICd3
aWR0aCc6ICcxNDAnLCAnaGVpZ2h0JzogJzcwJyB9KTsKKyAgICB0ZXN0UG9zaXRpb24oImNvbnN0
cmFpbmVkR3JpZCIsICJYWFhYIFhYWFggWFhYWCIsIHsgJ2NvbHVtbic6ICczJywgJ3Jvdyc6ICcy
JyB9LCB7ICd3aWR0aCc6ICcxNDAnLCAnaGVpZ2h0JzogJzMwJyB9KTsKKyAgICB0ZXN0UG9zaXRp
b24oImNvbnN0cmFpbmVkR3JpZCIsICJYWFhYIFhYWFggWFhYWCIsIHsgJ2NvbHVtbic6ICczJywg
J3Jvdyc6ICczJyB9LCB7ICd3aWR0aCc6ICcxNDAnLCAnaGVpZ2h0JzogJzUwJyB9KTsKKyAgICB0
ZXN0UG9zaXRpb24oImNvbnN0cmFpbmVkR3JpZCIsICJYWFhYIFhYWFggWFhYWCIsIHsgJ2NvbHVt
bic6ICczJywgJ3Jvdyc6ICc0JyB9LCB7ICd3aWR0aCc6ICcxNDAnLCAnaGVpZ2h0JzogJzY1JyB9
KTsKKyAgICB0ZXN0UG9zaXRpb24oImNvbnN0cmFpbmVkR3JpZCIsICJYWFhYIFhYWFggWFhYWCIs
IHsgJ2NvbHVtbic6ICczJywgJ3Jvdyc6ICc1JyB9LCB7ICd3aWR0aCc6ICcxNDAnLCAnaGVpZ2h0
JzogJzMwJyB9KTsKKworICAgIHRlc3RQb3NpdGlvbigiY29uc3RyYWluZWRHcmlkIiwgIlhYWFgg
WFhYWCBYWFhYIiwgeyAnY29sdW1uJzogJzQnLCAncm93JzogJzEnIH0sIHsgJ3dpZHRoJzogJzUw
JywgJ2hlaWdodCc6ICc3MCcgfSk7CisgICAgdGVzdFBvc2l0aW9uKCJjb25zdHJhaW5lZEdyaWQi
LCAiWFhYWCBYWFhYIFhYWFgiLCB7ICdjb2x1bW4nOiAnNCcsICdyb3cnOiAnMicgfSwgeyAnd2lk
dGgnOiAnNTAnLCAnaGVpZ2h0JzogJzMwJyB9KTsKKyAgICB0ZXN0UG9zaXRpb24oImNvbnN0cmFp
bmVkR3JpZCIsICJYWFhYIFhYWFggWFhYWCIsIHsgJ2NvbHVtbic6ICc0JywgJ3Jvdyc6ICczJyB9
LCB7ICd3aWR0aCc6ICc1MCcsICdoZWlnaHQnOiAnNTAnIH0pOworICAgIHRlc3RQb3NpdGlvbigi
Y29uc3RyYWluZWRHcmlkIiwgIlhYWFggWFhYWCBYWFhYIiwgeyAnY29sdW1uJzogJzQnLCAncm93
JzogJzQnIH0sIHsgJ3dpZHRoJzogJzUwJywgJ2hlaWdodCc6ICc2NScgfSk7CisgICAgdGVzdFBv
c2l0aW9uKCJjb25zdHJhaW5lZEdyaWQiLCAiWFhYWCBYWFhYIFhYWFgiLCB7ICdjb2x1bW4nOiAn
NCcsICdyb3cnOiAnNScgfSwgeyAnd2lkdGgnOiAnNTAnLCAnaGVpZ2h0JzogJzMwJyB9KTsKKwor
ICAgIHRlc3RQb3NpdGlvbigidW5jb25zdHJhaW5lZEdyaWQiLCAiWFhYWFhYIFhYWFhYWCIsIHsg
J2NvbHVtbic6ICcxMCcsICdyb3cnOiAnMTUnIH0sIHsgJ3dpZHRoJzogJzEzMCcsICdoZWlnaHQn
OiAnMTAnIH0pOworCisgICAgdGVzdFBvc2l0aW9uKCJ1bmNvbnN0cmFpbmVkR3JpZCIsICJYWFhY
WFggWFhYWFhYIiwgeyAnY29sdW1uJzogJzEnLCAncm93JzogJzEnIH0sIHsgJ3dpZHRoJzogJzUw
JywgJ2hlaWdodCc6ICc3MCcgfSk7CisgICAgdGVzdFBvc2l0aW9uKCJ1bmNvbnN0cmFpbmVkR3Jp
ZCIsICJYWFhYWFggWFhYWFhYIiwgeyAnY29sdW1uJzogJzInLCAncm93JzogJzEnIH0sIHsgJ3dp
ZHRoJzogJzYwJywgJ2hlaWdodCc6ICc3MCcgfSk7CisgICAgdGVzdFBvc2l0aW9uKCJ1bmNvbnN0
cmFpbmVkR3JpZCIsICJYWFhYWFggWFhYWFhYIiwgeyAnY29sdW1uJzogJzMnLCAncm93JzogJzEn
IH0sIHsgJ3dpZHRoJzogJzEzMCcsICdoZWlnaHQnOiAnNzAnIH0pOworICAgIHRlc3RQb3NpdGlv
bigidW5jb25zdHJhaW5lZEdyaWQiLCAiWFhYWFhYIFhYWFhYWCIsIHsgJ2NvbHVtbic6ICc0Jywg
J3Jvdyc6ICcxJyB9LCB7ICd3aWR0aCc6ICc2MCcsICdoZWlnaHQnOiAnNzAnIH0pOworICAgIHRl
c3RQb3NpdGlvbigidW5jb25zdHJhaW5lZEdyaWQiLCAiWFhYWFhYIFhYWFhYWCIsIHsgJ2NvbHVt
bic6ICc1JywgJ3Jvdyc6ICcxJyB9LCB7ICd3aWR0aCc6ICcxMzAnLCAnaGVpZ2h0JzogJzcwJyB9
KTsKKworICAgIHRlc3RQb3NpdGlvbigidW5jb25zdHJhaW5lZEdyaWQiLCAiWFhYWFhYIFhYWFhY
WCIsIHsgJ2NvbHVtbic6ICcxJywgJ3Jvdyc6ICcyJyB9LCB7ICd3aWR0aCc6ICc1MCcsICdoZWln
aHQnOiAnNzAnIH0pOworICAgIHRlc3RQb3NpdGlvbigidW5jb25zdHJhaW5lZEdyaWQiLCAiWFhY
WFhYIFhYWFhYWCIsIHsgJ2NvbHVtbic6ICcyJywgJ3Jvdyc6ICcyJyB9LCB7ICd3aWR0aCc6ICc2
MCcsICdoZWlnaHQnOiAnNzAnIH0pOworICAgIHRlc3RQb3NpdGlvbigidW5jb25zdHJhaW5lZEdy
aWQiLCAiWFhYWFhYIFhYWFhYWCIsIHsgJ2NvbHVtbic6ICczJywgJ3Jvdyc6ICcyJyB9LCB7ICd3
aWR0aCc6ICcxMzAnLCAnaGVpZ2h0JzogJzcwJyB9KTsKKyAgICB0ZXN0UG9zaXRpb24oInVuY29u
c3RyYWluZWRHcmlkIiwgIlhYWFhYWCBYWFhYWFgiLCB7ICdjb2x1bW4nOiAnNCcsICdyb3cnOiAn
MicgfSwgeyAnd2lkdGgnOiAnNjAnLCAnaGVpZ2h0JzogJzcwJyB9KTsKKyAgICB0ZXN0UG9zaXRp
b24oInVuY29uc3RyYWluZWRHcmlkIiwgIlhYWFhYWCBYWFhYWFgiLCB7ICdjb2x1bW4nOiAnNScs
ICdyb3cnOiAnMicgfSwgeyAnd2lkdGgnOiAnMTMwJywgJ2hlaWdodCc6ICc3MCcgfSk7CisKKyAg
ICB0ZXN0UG9zaXRpb24oInVuY29uc3RyYWluZWRHcmlkIiwgIlhYWFhYWCBYWFhYWFgiLCB7ICdj
b2x1bW4nOiAnMScsICdyb3cnOiAnMycgfSwgeyAnd2lkdGgnOiAnNTAnLCAnaGVpZ2h0JzogJzUw
JyB9KTsKKyAgICB0ZXN0UG9zaXRpb24oInVuY29uc3RyYWluZWRHcmlkIiwgIlhYWFhYWCBYWFhY
WFgiLCB7ICdjb2x1bW4nOiAnMicsICdyb3cnOiAnMycgfSwgeyAnd2lkdGgnOiAnNjAnLCAnaGVp
Z2h0JzogJzUwJyB9KTsKKyAgICB0ZXN0UG9zaXRpb24oInVuY29uc3RyYWluZWRHcmlkIiwgIlhY
WFhYWCBYWFhYWFgiLCB7ICdjb2x1bW4nOiAnMycsICdyb3cnOiAnMycgfSwgeyAnd2lkdGgnOiAn
MTMwJywgJ2hlaWdodCc6ICc1MCcgfSk7CisgICAgdGVzdFBvc2l0aW9uKCJ1bmNvbnN0cmFpbmVk
R3JpZCIsICJYWFhYWFggWFhYWFhYIiwgeyAnY29sdW1uJzogJzQnLCAncm93JzogJzMnIH0sIHsg
J3dpZHRoJzogJzYwJywgJ2hlaWdodCc6ICc1MCcgfSk7CisgICAgdGVzdFBvc2l0aW9uKCJ1bmNv
bnN0cmFpbmVkR3JpZCIsICJYWFhYWFggWFhYWFhYIiwgeyAnY29sdW1uJzogJzUnLCAncm93Jzog
JzMnIH0sIHsgJ3dpZHRoJzogJzEzMCcsICdoZWlnaHQnOiAnNTAnIH0pOworCisgICAgdGVzdFBv
c2l0aW9uKCJ1bmNvbnN0cmFpbmVkR3JpZCIsICJYWFhYWFggWFhYWFhYIiwgeyAnY29sdW1uJzog
JzEnLCAncm93JzogJzQnIH0sIHsgJ3dpZHRoJzogJzUwJywgJ2hlaWdodCc6ICc2NScgfSk7Cisg
ICAgdGVzdFBvc2l0aW9uKCJ1bmNvbnN0cmFpbmVkR3JpZCIsICJYWFhYWFggWFhYWFhYIiwgeyAn
Y29sdW1uJzogJzInLCAncm93JzogJzQnIH0sIHsgJ3dpZHRoJzogJzYwJywgJ2hlaWdodCc6ICc2
NScgfSk7CisgICAgdGVzdFBvc2l0aW9uKCJ1bmNvbnN0cmFpbmVkR3JpZCIsICJYWFhYWFggWFhY
WFhYIiwgeyAnY29sdW1uJzogJzMnLCAncm93JzogJzQnIH0sIHsgJ3dpZHRoJzogJzEzMCcsICdo
ZWlnaHQnOiAnNjUnIH0pOworICAgIHRlc3RQb3NpdGlvbigidW5jb25zdHJhaW5lZEdyaWQiLCAi
WFhYWFhYIFhYWFhYWCIsIHsgJ2NvbHVtbic6ICc0JywgJ3Jvdyc6ICc0JyB9LCB7ICd3aWR0aCc6
ICc2MCcsICdoZWlnaHQnOiAnNjUnIH0pOworICAgIHRlc3RQb3NpdGlvbigidW5jb25zdHJhaW5l
ZEdyaWQiLCAiWFhYWFhYIFhYWFhYWCIsIHsgJ2NvbHVtbic6ICc1JywgJ3Jvdyc6ICc0JyB9LCB7
ICd3aWR0aCc6ICcxMzAnLCAnaGVpZ2h0JzogJzY1JyB9KTsKK30KK3dpbmRvdy5hZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgdXBkYXRlSW1wbGljaXRHcmlkQ29sdW1uLCBmYWxzZSk7Cis8L3Njcmlw
dD4KKzxib2R5PgorCis8cD5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgd2UgcHJvcGVybHkgcmVjb21w
dXRlIG91ciBncmlkIHRyYWNrcycgc2l6ZXMgd2hlbiB3ZSBhZGQgbW9yZSBncmlkIGl0ZW1zLjwv
cD4KKworPGRpdiBjbGFzcz0iY29uc3RyYWluZWRDb250YWluZXIiPgorICAgIDxkaXYgY2xhc3M9
ImdyaWQgZ3JpZEZpeGVkQ29udGVudCIgaWQ9ImNvbnN0cmFpbmVkR3JpZCI+PC9kaXY+Cis8L2Rp
dj4KKworPCEtLSBBbGxvdyB0aGUgZXh0cmEgbG9naWNhbCBzcGFjZSBkaXN0cmlidXRpb24gdG8g
b2NjdXIuIC0tPgorPGRpdiBzdHlsZT0id2lkdGg6IDEwMDBweDsgaGVpZ2h0OiAxMDAwcHgiPgor
ICAgIDxkaXYgY2xhc3M9ImdyaWQgZ3JpZEZpeGVkQ29udGVudCIgaWQ9InVuY29uc3RyYWluZWRH
cmlkIj48ZGl2IGNsYXNzPSJzaXplZFRvR3JpZEFyZWEiPlhYWFhYWCBYWFhYWFg8L2Rpdj48L2Rp
dj4KKzwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLWl0ZW0tcmVtb3ZhbC10cmFjay1icmVhZHRoLXVwZGF0
ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLWl0
ZW0tcmVtb3ZhbC10cmFjay1icmVhZHRoLXVwZGF0ZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZjdmNGY1NjI3Y2FiOTJiN2U3NTY3YTY3MzNhMzAyZDJmNTkzNDAxNwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtaXRlbS1yZW1vdmFsLXRy
YWNrLWJyZWFkdGgtdXBkYXRlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDYyIEBACitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgdGhlIHRyYWNrcycgYnJlYWR0aCBhcmUgcmVjb21wdXRlZCBhZnRlciBy
ZW1vdmluZyBhIGdyaWQgaXRlbS4KKworWFhYIFhYWCBYWFgKK1BBU1MKK1BBU1MKK1BBU1MKK1hY
WCBYWFggWFhYCitQQVNTCitQQVNTCitQQVNTCitYWFggWFhYIFhYWAorUEFTUworUEFTUworUEFT
UworWFhYIFhYWCBYWFgKK1BBU1MKK1BBU1MKK1BBU1MKK1hYWCBYWFggWFhYCitQQVNTCitQQVNT
CitQQVNTCitYWCBYWCBYWCBYWCBYWCBYWAorUEFTUworUEFTUworUEFTUworWFggWFggWFggWFgg
WFggWFgKK1BBU1MKK1BBU1MKK1BBU1MKK1hYIFhYIFhYIFhYIFhYIFhYCitQQVNTCitQQVNTCitQ
QVNTCitYWCBYWCBYWCBYWCBYWCBYWAorUEFTUworUEFTUworUEFTUworWFggWFggWFggWFggWFgg
WFgKK1BBU1MKK1BBU1MKK1BBU1MKK1hYIFhYIFhYIFhYIFhYIFhYCitQQVNTCitQQVNTCitQQVNT
CitYWCBYWCBYWCBYWCBYWCBYWAorUEFTUworUEFTUworUEFTUworWFggWFggWFggWFggWFggWFgK
K1BBU1MKK1BBU1MKK1BBU1MKK1hYIFhYIFhYIFhYIFhYIFhYCitQQVNTCitQQVNTCitQQVNTCitY
WCBYWCBYWCBYWCBYWCBYWAorUEFTUworUEFTUworUEFTUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC1pdGVtLXJlbW92YWwtdHJhY2stYnJlYWR0aC11
cGRhdGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtaXRlbS1y
ZW1vdmFsLXRyYWNrLWJyZWFkdGgtdXBkYXRlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWNkODA5MDI0Y2Zm
NGQzMjYwZWUwMzk4ODgyYTVjYzc0NjAzNTNlZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtaXRlbS1yZW1vdmFsLXRyYWNrLWJyZWFkdGgt
dXBkYXRlLmh0bWwKQEAgLTAsMCArMSwyMjQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
c2NyaXB0PgoraWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIub3ZlcnJpZGVQ
cmVmZXJlbmNlKCJXZWJLaXRDU1NHcmlkTGF5b3V0RW5hYmxlZCIsIDEpOworPC9zY3JpcHQ+Cis8
bGluayBocmVmPSJyZXNvdXJjZXMvZ3JpZC5jc3MiIHJlbD0ic3R5bGVzaGVldCI+Cis8c3R5bGU+
CisuZ3JpZEF1dG9Db250ZW50IHsKKyAgICAtd2Via2l0LWdyaWQtY29sdW1uczogYXV0bzsKKyAg
ICAtd2Via2l0LWdyaWQtcm93czogYXV0bzsKK30KKworLmdyaWRNaW5Db250ZW50Rml4ZWQgewor
ICAgIC13ZWJraXQtZ3JpZC1jb2x1bW5zOiBtaW5tYXgoLXdlYmtpdC1taW4tY29udGVudCwgMTAw
cHgpOworICAgIC13ZWJraXQtZ3JpZC1yb3dzOiBtaW5tYXgoLXdlYmtpdC1taW4tY29udGVudCwg
NDBweCk7Cit9CisKKy5ncmlkTWF4Q29udGVudEZpeGVkIHsKKyAgICAtd2Via2l0LWdyaWQtY29s
dW1uczogbWlubWF4KC13ZWJraXQtbWF4LWNvbnRlbnQsIDE1MHB4KTsKKyAgICAtd2Via2l0LWdy
aWQtcm93czogbWlubWF4KC13ZWJraXQtbWF4LWNvbnRlbnQsIDQwcHgpOworfQorCisuZ3JpZEZp
eGVkTWluQ29udGVudCB7CisgICAgLXdlYmtpdC1ncmlkLWNvbHVtbnM6IG1pbm1heCgxMDBweCwg
LXdlYmtpdC1taW4tY29udGVudCk7CisgICAgLXdlYmtpdC1ncmlkLXJvd3M6IG1pbm1heCg0MHB4
LCAtd2Via2l0LW1pbi1jb250ZW50KTsKK30KKworLmdyaWRGaXhlZE1heENvbnRlbnQgeworICAg
IC13ZWJraXQtZ3JpZC1jb2x1bW5zOiBtaW5tYXgoMTAwcHgsIC13ZWJraXQtbWF4LWNvbnRlbnQp
OworICAgIC13ZWJraXQtZ3JpZC1yb3dzOiBtaW5tYXgoNDBweCwgLXdlYmtpdC1tYXgtY29udGVu
dCk7Cit9CisKKy5sZXNzQ29uc3RyYWluZWRDb250YWluZXIgeworICAgIHdpZHRoOiA2MHB4Owor
ICAgIGhlaWdodDogMjBweDsKK30KKworLmZpcnN0Um93Rmlyc3RDb2x1bW4geworICAgIGZvbnQ6
IDEwcHgvMSBBaGVtOworICAgIC8qIE1ha2UgdXMgZml0IG91ciBncmlkIGFyZWEuICovCisgICAg
d2lkdGg6IDEwMCU7CisgICAgaGVpZ2h0OiAxMDAlOworfQorPC9zdHlsZT4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvY2hlY2stbGF5b3V0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+Citm
dW5jdGlvbiB0ZXN0UmVtb3ZhbChncmlkRWxlbWVudElELCBzaXplMSwgc2l6ZTIsIHNpemUzKQor
eworICAgIHZhciBncmlkRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGdyaWRFbGVt
ZW50SUQpOworICAgIHZhciBncmlkSXRlbTEgPSBncmlkRWxlbWVudC5maXJzdENoaWxkLm5leHRT
aWJsaW5nOworICAgIHZhciBncmlkSXRlbTIgPSBncmlkSXRlbTEubmV4dFNpYmxpbmcubmV4dFNp
Ymxpbmc7CisgICAgdmFyIGdyaWRJdGVtMyA9IGdyaWRJdGVtMi5uZXh0U2libGluZy5uZXh0U2li
bGluZzsKKyAgICBncmlkSXRlbTEuc2V0QXR0cmlidXRlKCJkYXRhLWV4cGVjdGVkLXdpZHRoIiwg
c2l6ZTEud2lkdGgpOworICAgIGdyaWRJdGVtMS5zZXRBdHRyaWJ1dGUoImRhdGEtZXhwZWN0ZWQt
aGVpZ2h0Iiwgc2l6ZTEuaGVpZ2h0KTsKKyAgICBncmlkSXRlbTIuc2V0QXR0cmlidXRlKCJkYXRh
LWV4cGVjdGVkLXdpZHRoIiwgc2l6ZTEud2lkdGgpOworICAgIGdyaWRJdGVtMi5zZXRBdHRyaWJ1
dGUoImRhdGEtZXhwZWN0ZWQtaGVpZ2h0Iiwgc2l6ZTEuaGVpZ2h0KTsKKyAgICBncmlkSXRlbTMu
c2V0QXR0cmlidXRlKCJkYXRhLWV4cGVjdGVkLXdpZHRoIiwgc2l6ZTEud2lkdGgpOworICAgIGdy
aWRJdGVtMy5zZXRBdHRyaWJ1dGUoImRhdGEtZXhwZWN0ZWQtaGVpZ2h0Iiwgc2l6ZTEuaGVpZ2h0
KTsKKyAgICBjaGVja0xheW91dCgiIyIgKyBncmlkRWxlbWVudElEKTsKKworICAgIGdyaWRFbGVt
ZW50LnJlbW92ZUNoaWxkKGdyaWRJdGVtMSk7CisgICAgZ3JpZEl0ZW0yLnNldEF0dHJpYnV0ZSgi
ZGF0YS1leHBlY3RlZC13aWR0aCIsIHNpemUyLndpZHRoKTsKKyAgICBncmlkSXRlbTIuc2V0QXR0
cmlidXRlKCJkYXRhLWV4cGVjdGVkLWhlaWdodCIsIHNpemUyLmhlaWdodCk7CisgICAgZ3JpZEl0
ZW0zLnNldEF0dHJpYnV0ZSgiZGF0YS1leHBlY3RlZC13aWR0aCIsIHNpemUyLndpZHRoKTsKKyAg
ICBncmlkSXRlbTMuc2V0QXR0cmlidXRlKCJkYXRhLWV4cGVjdGVkLWhlaWdodCIsIHNpemUyLmhl
aWdodCk7CisgICAgY2hlY2tMYXlvdXQoIiMiICsgZ3JpZEVsZW1lbnRJRCk7CisKKyAgICBncmlk
RWxlbWVudC5yZW1vdmVDaGlsZChncmlkSXRlbTIpOworICAgIGdyaWRJdGVtMy5zZXRBdHRyaWJ1
dGUoImRhdGEtZXhwZWN0ZWQtd2lkdGgiLCBzaXplMy53aWR0aCk7CisgICAgZ3JpZEl0ZW0zLnNl
dEF0dHJpYnV0ZSgiZGF0YS1leHBlY3RlZC1oZWlnaHQiLCBzaXplMy5oZWlnaHQpOworICAgIGNo
ZWNrTGF5b3V0KCIjIiArIGdyaWRFbGVtZW50SUQpOworfQorCitmdW5jdGlvbiB0ZXN0UmVtb3Zh
bHMoKQoreworICAgIHRlc3RSZW1vdmFsKCJjb25zdHJhaW5lZEF1dG9HcmlkIiwgeyAnd2lkdGgn
OiAnNTAnLCAnaGVpZ2h0JzogJzQwJyB9LCB7ICd3aWR0aCc6ICc0MCcsICdoZWlnaHQnOiAnNDAn
IH0sIHsgJ3dpZHRoJzogJzMwJywgJ2hlaWdodCc6ICczMCcgfSk7CisgICAgdGVzdFJlbW92YWwo
ImNvbnN0cmFpbmVkTWluQ29udGVudEZpeGVkR3JpZCIsIHsgJ3dpZHRoJzogJzUwJywgJ2hlaWdo
dCc6ICc0MCcgfSwgeyAnd2lkdGgnOiAnNDAnLCAnaGVpZ2h0JzogJzQwJyB9LCB7ICd3aWR0aCc6
ICczMCcsICdoZWlnaHQnOiAnMzAnIH0pOworICAgIHRlc3RSZW1vdmFsKCJjb25zdHJhaW5lZE1h
eENvbnRlbnRGaXhlZEdyaWQiLCB7ICd3aWR0aCc6ICcxOTAnLCAnaGVpZ2h0JzogJzEwJyB9LCB7
ICd3aWR0aCc6ICcxOTAnLCAnaGVpZ2h0JzogJzEwJyB9LCB7ICd3aWR0aCc6ICcxMTAnLCAnaGVp
Z2h0JzogJzEwJyB9KTsKKyAgICB0ZXN0UmVtb3ZhbCgiY29uc3RyYWluZWRGaXhlZE1pbkNvbnRl
bnRHcmlkIiwgeyAnd2lkdGgnOiAnMTAwJywgJ2hlaWdodCc6ICc0MCcgfSwgeyAnd2lkdGgnOiAn
MTAwJywgJ2hlaWdodCc6ICc0MCcgfSwgeyAnd2lkdGgnOiAnMTAwJywgJ2hlaWdodCc6ICc0MCcg
fSk7CisgICAgdGVzdFJlbW92YWwoImNvbnN0cmFpbmVkRml4ZWRNYXhDb250ZW50R3JpZCIsIHsg
J3dpZHRoJzogJzEwMCcsICdoZWlnaHQnOiAnNDAnIH0sIHsgJ3dpZHRoJzogJzEwMCcsICdoZWln
aHQnOiAnNDAnIH0sIHsgJ3dpZHRoJzogJzEwMCcsICdoZWlnaHQnOiAnNDAnIH0pOworCisgICAg
dGVzdFJlbW92YWwoInVuY29uc3RyYWluZWRBdXRvR3JpZCIsIHsgJ3dpZHRoJzogJzM5MCcsICdo
ZWlnaHQnOiAnMTAnIH0sIHsgJ3dpZHRoJzogJzM1MCcsICdoZWlnaHQnOiAnMTAnIH0sIHsgJ3dp
ZHRoJzogJzE3MCcsICdoZWlnaHQnOiAnMTAnIH0pOworICAgIHRlc3RSZW1vdmFsKCJ1bmNvbnN0
cmFpbmVkTWluQ29udGVudEZpeGVkR3JpZCIsIHsgJ3dpZHRoJzogJzEwMCcsICdoZWlnaHQnOiAn
NjAnIH0sIHsgJ3dpZHRoJzogJzEwMCcsICdoZWlnaHQnOiAnNjAnIH0sIHsgJ3dpZHRoJzogJzEw
MCcsICdoZWlnaHQnOiAnNDAnIH0pOworICAgIHRlc3RSZW1vdmFsKCJ1bmNvbnN0cmFpbmVkTWF4
Q29udGVudEZpeGVkR3JpZCIsIHsgJ3dpZHRoJzogJzM5MCcsICdoZWlnaHQnOiAnNDAnIH0sIHsg
J3dpZHRoJzogJzM1MCcsICdoZWlnaHQnOiAnNDAnIH0sIHsgJ3dpZHRoJzogJzE3MCcsICdoZWln
aHQnOiAnNDAnIH0pOworICAgIHRlc3RSZW1vdmFsKCJ1bmNvbnN0cmFpbmVkRml4ZWRNaW5Db250
ZW50R3JpZCIsIHsgJ3dpZHRoJzogJzEwMCcsICdoZWlnaHQnOiAnNjAnIH0sIHsgJ3dpZHRoJzog
JzEwMCcsICdoZWlnaHQnOiAnNjAnIH0sIHsgJ3dpZHRoJzogJzEwMCcsICdoZWlnaHQnOiAnNDAn
IH0pOworICAgIHRlc3RSZW1vdmFsKCJ1bmNvbnN0cmFpbmVkRml4ZWRNYXhDb250ZW50R3JpZCIs
IHsgJ3dpZHRoJzogJzM5MCcsICdoZWlnaHQnOiAnNDAnIH0sIHsgJ3dpZHRoJzogJzM1MCcsICdo
ZWlnaHQnOiAnNDAnIH0sIHsgJ3dpZHRoJzogJzE3MCcsICdoZWlnaHQnOiAnNDAnIH0pOworCisg
ICAgdGVzdFJlbW92YWwoImxlc3NDb25zdHJhaW5lZEF1dG9HcmlkIiwgeyAnd2lkdGgnOiAnNjAn
LCAnaGVpZ2h0JzogJzkwJyB9LCB7ICd3aWR0aCc6ICc2MCcsICdoZWlnaHQnOiAnNjAnIH0sIHsg
J3dpZHRoJzogJzYwJywgJ2hlaWdodCc6ICczMCcgfSk7CisgICAgdGVzdFJlbW92YWwoImxlc3ND
b25zdHJhaW5lZE1pbkNvbnRlbnRGaXhlZEdyaWQiLCB7ICd3aWR0aCc6ICc2MCcsICdoZWlnaHQn
OiAnOTAnIH0sIHsgJ3dpZHRoJzogJzYwJywgJ2hlaWdodCc6ICc2MCcgfSwgeyAnd2lkdGgnOiAn
NjAnLCAnaGVpZ2h0JzogJzMwJyB9KTsKKyAgICB0ZXN0UmVtb3ZhbCgibGVzc0NvbnN0cmFpbmVk
TWF4Q29udGVudEZpeGVkR3JpZCIsIHsgJ3dpZHRoJzogJzM1MCcsICdoZWlnaHQnOiAnMjAnIH0s
IHsgJ3dpZHRoJzogJzM1MCcsICdoZWlnaHQnOiAnMjAnIH0sIHsgJ3dpZHRoJzogJzE3MCcsICdo
ZWlnaHQnOiAnMjAnIH0pOworICAgIHRlc3RSZW1vdmFsKCJsZXNzQ29uc3RyYWluZWRGaXhlZE1p
bkNvbnRlbnRHcmlkIiwgeyAnd2lkdGgnOiAnMTAwJywgJ2hlaWdodCc6ICc0MCcgfSwgeyAnd2lk
dGgnOiAnMTAwJywgJ2hlaWdodCc6ICc0MCcgfSwgeyAnd2lkdGgnOiAnMTAwJywgJ2hlaWdodCc6
ICc0MCcgfSk7CisgICAgdGVzdFJlbW92YWwoImxlc3NDb25zdHJhaW5lZEZpeGVkTWF4Q29udGVu
dEdyaWQiLCB7ICd3aWR0aCc6ICcxMDAnLCAnaGVpZ2h0JzogJzQwJyB9LCB7ICd3aWR0aCc6ICcx
MDAnLCAnaGVpZ2h0JzogJzQwJyB9LCB7ICd3aWR0aCc6ICcxMDAnLCAnaGVpZ2h0JzogJzQwJyB9
KTsKK30KK3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgdGVzdFJlbW92YWxzLCBmYWxz
ZSk7Cis8L3NjcmlwdD4KKzxib2R5PgorCis8cD5UaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIHRy
YWNrcycgYnJlYWR0aCBhcmUgcmVjb21wdXRlZCBhZnRlciByZW1vdmluZyBhIGdyaWQgaXRlbS48
L3A+CisKKzxkaXYgY2xhc3M9ImNvbnN0cmFpbmVkQ29udGFpbmVyIj4KKyAgICA8ZGl2IGNsYXNz
PSJncmlkIGdyaWRBdXRvQ29udGVudCIgaWQ9ImNvbnN0cmFpbmVkQXV0b0dyaWQiPgorICAgICAg
ICA8ZGl2IGNsYXNzPSJmaXJzdFJvd0ZpcnN0Q29sdW1uIj5YWFhYWCBYWFhYWCBYWFhYWDwvZGl2
PgorICAgICAgICA8ZGl2IGNsYXNzPSJmaXJzdFJvd0ZpcnN0Q29sdW1uIj5YWFhYIFhYWFggWFhY
WCBYWFhYPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImZpcnN0Um93Rmlyc3RDb2x1bW4iPlhY
WCBYWFggWFhYPC9kaXY+CisgICAgPC9kaXY+Cis8L2Rpdj4KKworPGRpdiBjbGFzcz0iY29uc3Ry
YWluZWRDb250YWluZXIiPgorICAgIDxkaXYgY2xhc3M9ImdyaWQgZ3JpZE1pbkNvbnRlbnRGaXhl
ZCIgaWQ9ImNvbnN0cmFpbmVkTWluQ29udGVudEZpeGVkR3JpZCI+CisgICAgICAgIDxkaXYgY2xh
c3M9ImZpcnN0Um93Rmlyc3RDb2x1bW4iPlhYWFhYIFhYWFhYIFhYWFhYPC9kaXY+CisgICAgICAg
IDxkaXYgY2xhc3M9ImZpcnN0Um93Rmlyc3RDb2x1bW4iPlhYWFggWFhYWCBYWFhYIFhYWFg8L2Rp
dj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZmlyc3RSb3dGaXJzdENvbHVtbiI+WFhYIFhYWCBYWFg8
L2Rpdj4KKyAgICA8L2Rpdj4KKzwvZGl2PgorCis8ZGl2IGNsYXNzPSJjb25zdHJhaW5lZENvbnRh
aW5lciI+CisgICAgPGRpdiBjbGFzcz0iZ3JpZCBncmlkTWF4Q29udGVudEZpeGVkIiBpZD0iY29u
c3RyYWluZWRNYXhDb250ZW50Rml4ZWRHcmlkIj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZmlyc3RS
b3dGaXJzdENvbHVtbiI+WFhYWFggWFhYWFggWFhYWFg8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFz
cz0iZmlyc3RSb3dGaXJzdENvbHVtbiI+WFhYWCBYWFhYIFhYWFggWFhYWDwvZGl2PgorICAgICAg
ICA8ZGl2IGNsYXNzPSJmaXJzdFJvd0ZpcnN0Q29sdW1uIj5YWFggWFhYIFhYWDwvZGl2PgorICAg
IDwvZGl2PgorPC9kaXY+CisKKzxkaXYgY2xhc3M9ImNvbnN0cmFpbmVkQ29udGFpbmVyIj4KKyAg
ICA8ZGl2IGNsYXNzPSJncmlkIGdyaWRGaXhlZE1pbkNvbnRlbnQiIGlkPSJjb25zdHJhaW5lZEZp
eGVkTWluQ29udGVudEdyaWQiPgorICAgICAgICA8ZGl2IGNsYXNzPSJmaXJzdFJvd0ZpcnN0Q29s
dW1uIj5YWFhYWCBYWFhYWCBYWFhYWDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJmaXJzdFJv
d0ZpcnN0Q29sdW1uIj5YWFhYIFhYWFggWFhYWCBYWFhYPC9kaXY+CisgICAgICAgIDxkaXYgY2xh
c3M9ImZpcnN0Um93Rmlyc3RDb2x1bW4iPlhYWCBYWFggWFhYPC9kaXY+CisgICAgPC9kaXY+Cis8
L2Rpdj4KKworPGRpdiBjbGFzcz0iY29uc3RyYWluZWRDb250YWluZXIiPgorICAgIDxkaXYgY2xh
c3M9ImdyaWQgZ3JpZEZpeGVkTWF4Q29udGVudCIgaWQ9ImNvbnN0cmFpbmVkRml4ZWRNYXhDb250
ZW50R3JpZCI+CisgICAgICAgIDxkaXYgY2xhc3M9ImZpcnN0Um93Rmlyc3RDb2x1bW4iPlhYWFhY
IFhYWFhYIFhYWFhYPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImZpcnN0Um93Rmlyc3RDb2x1
bW4iPlhYWFggWFhYWCBYWFhYIFhYWFg8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZmlyc3RS
b3dGaXJzdENvbHVtbiI+WFhYIFhYWCBYWFg8L2Rpdj4KKyAgICA8L2Rpdj4KKzwvZGl2PgorCis8
IS0tIFRoZSBjb250YWluZXIgaXMgYmlnIGVub3VnaCB0byBhbGxvdyBhbGwgdGhlIGV4dHJhIHNw
YWNlIGRpc3RyaWJ1dGlvbiB3ZSB3YW50LiAtLT4KKzxkaXYgY2xhc3M9InVuY29uc3RyYWluZWRD
b250YWluZXIiPgorICAgIDxkaXYgY2xhc3M9ImdyaWQgZ3JpZEF1dG9Db250ZW50IiBpZD0idW5j
b25zdHJhaW5lZEF1dG9HcmlkIj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZmlyc3RSb3dGaXJzdENv
bHVtbiI+WFhYIFhYWCBYWFggWFhYIFhYWCBYWFggWFhYIFhYWCBYWFggWFhYPC9kaXY+CisgICAg
ICAgIDxkaXYgY2xhc3M9ImZpcnN0Um93Rmlyc3RDb2x1bW4iPlhYWFhYIFhYWFhYIFhYWFhYIFhY
WFhYIFhYWFhYIFhYWFhYPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImZpcnN0Um93Rmlyc3RD
b2x1bW4iPlhYIFhYIFhYIFhYIFhYIFhYPC9kaXY+CisgICAgPC9kaXY+Cis8L2Rpdj4KKworPGRp
diBjbGFzcz0idW5jb25zdHJhaW5lZENvbnRhaW5lciI+CisgICAgPGRpdiBjbGFzcz0iZ3JpZCBn
cmlkTWluQ29udGVudEZpeGVkIiBpZD0idW5jb25zdHJhaW5lZE1pbkNvbnRlbnRGaXhlZEdyaWQi
PgorICAgICAgICA8ZGl2IGNsYXNzPSJmaXJzdFJvd0ZpcnN0Q29sdW1uIj5YWFggWFhYIFhYWCBY
WFggWFhYIFhYWCBYWFggWFhYIFhYWCBYWFg8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZmly
c3RSb3dGaXJzdENvbHVtbiI+WFhYWFggWFhYWFggWFhYWFggWFhYWFggWFhYWFggWFhYWFg8L2Rp
dj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZmlyc3RSb3dGaXJzdENvbHVtbiI+WFggWFggWFggWFgg
WFggWFg8L2Rpdj4KKyAgICA8L2Rpdj4KKzwvZGl2PgorCis8ZGl2IGNsYXNzPSJ1bmNvbnN0cmFp
bmVkQ29udGFpbmVyIj4KKyAgICA8ZGl2IGNsYXNzPSJncmlkIGdyaWRNYXhDb250ZW50Rml4ZWQi
IGlkPSJ1bmNvbnN0cmFpbmVkTWF4Q29udGVudEZpeGVkR3JpZCI+CisgICAgICAgIDxkaXYgY2xh
c3M9ImZpcnN0Um93Rmlyc3RDb2x1bW4iPlhYWCBYWFggWFhYIFhYWCBYWFggWFhYIFhYWCBYWFgg
WFhYIFhYWDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJmaXJzdFJvd0ZpcnN0Q29sdW1uIj5Y
WFhYWCBYWFhYWCBYWFhYWCBYWFhYWCBYWFhYWCBYWFhYWDwvZGl2PgorICAgICAgICA8ZGl2IGNs
YXNzPSJmaXJzdFJvd0ZpcnN0Q29sdW1uIj5YWCBYWCBYWCBYWCBYWCBYWDwvZGl2PgorICAgIDwv
ZGl2PgorPC9kaXY+CisKKzxkaXYgY2xhc3M9InVuY29uc3RyYWluZWRDb250YWluZXIiPgorICAg
IDxkaXYgY2xhc3M9ImdyaWQgZ3JpZEZpeGVkTWluQ29udGVudCIgaWQ9InVuY29uc3RyYWluZWRG
aXhlZE1pbkNvbnRlbnRHcmlkIj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZmlyc3RSb3dGaXJzdENv
bHVtbiI+WFhYIFhYWCBYWFggWFhYIFhYWCBYWFggWFhYIFhYWCBYWFggWFhYPC9kaXY+CisgICAg
ICAgIDxkaXYgY2xhc3M9ImZpcnN0Um93Rmlyc3RDb2x1bW4iPlhYWFhYIFhYWFhYIFhYWFhYIFhY
WFhYIFhYWFhYIFhYWFhYPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImZpcnN0Um93Rmlyc3RD
b2x1bW4iPlhYIFhYIFhYIFhYIFhYIFhYPC9kaXY+CisgICAgPC9kaXY+Cis8L2Rpdj4KKworPGRp
diBjbGFzcz0idW5jb25zdHJhaW5lZENvbnRhaW5lciI+CisgICAgPGRpdiBjbGFzcz0iZ3JpZCBn
cmlkRml4ZWRNYXhDb250ZW50IiBpZD0idW5jb25zdHJhaW5lZEZpeGVkTWF4Q29udGVudEdyaWQi
PgorICAgICAgICA8ZGl2IGNsYXNzPSJmaXJzdFJvd0ZpcnN0Q29sdW1uIj5YWFggWFhYIFhYWCBY
WFggWFhYIFhYWCBYWFggWFhYIFhYWCBYWFg8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZmly
c3RSb3dGaXJzdENvbHVtbiI+WFhYWFggWFhYWFggWFhYWFggWFhYWFggWFhYWFggWFhYWFg8L2Rp
dj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZmlyc3RSb3dGaXJzdENvbHVtbiI+WFggWFggWFggWFgg
WFggWFg8L2Rpdj4KKyAgICA8L2Rpdj4KKzwvZGl2PgorCis8IS0tIFRoZSBjb250YWluZXIgYWxs
b3dzIHNvbWUgZXhwYW5zaW9uIGJ1dCBhbHNvIGNvbnN0cmFpbiB0aGUgZ3Jvd3RoLiAtLT4KKzxk
aXYgY2xhc3M9Imxlc3NDb25zdHJhaW5lZENvbnRhaW5lciI+CisgICAgPGRpdiBjbGFzcz0iZ3Jp
ZCBncmlkQXV0b0NvbnRlbnQiIGlkPSJsZXNzQ29uc3RyYWluZWRBdXRvR3JpZCI+CisgICAgICAg
IDxkaXYgY2xhc3M9ImZpcnN0Um93Rmlyc3RDb2x1bW4iPlhYWCBYWFggWFhYIFhYWCBYWFggWFhY
IFhYWCBYWFggWFhYPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImZpcnN0Um93Rmlyc3RDb2x1
bW4iPlhYWFhYIFhYWFhYIFhYWFhYIFhYWFhYIFhYWFhYIFhYWFhYPC9kaXY+CisgICAgICAgIDxk
aXYgY2xhc3M9ImZpcnN0Um93Rmlyc3RDb2x1bW4iPlhYIFhYIFhYIFhYIFhYIFhYPC9kaXY+Cisg
ICAgPC9kaXY+Cis8L2Rpdj4KKworPGRpdiBjbGFzcz0ibGVzc0NvbnN0cmFpbmVkQ29udGFpbmVy
Ij4KKyAgICA8ZGl2IGNsYXNzPSJncmlkIGdyaWRNaW5Db250ZW50Rml4ZWQiIGlkPSJsZXNzQ29u
c3RyYWluZWRNaW5Db250ZW50Rml4ZWRHcmlkIj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZmlyc3RS
b3dGaXJzdENvbHVtbiI+WFhYIFhYWCBYWFggWFhYIFhYWCBYWFggWFhYIFhYWCBYWFg8L2Rpdj4K
KyAgICAgICAgPGRpdiBjbGFzcz0iZmlyc3RSb3dGaXJzdENvbHVtbiI+WFhYWFggWFhYWFggWFhY
WFggWFhYWFggWFhYWFggWFhYWFg8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZmlyc3RSb3dG
aXJzdENvbHVtbiI+WFggWFggWFggWFggWFggWFg8L2Rpdj4KKyAgICA8L2Rpdj4KKzwvZGl2Pgor
Cis8ZGl2IGNsYXNzPSJsZXNzQ29uc3RyYWluZWRDb250YWluZXIiPgorICAgIDxkaXYgY2xhc3M9
ImdyaWQgZ3JpZE1heENvbnRlbnRGaXhlZCIgaWQ9Imxlc3NDb25zdHJhaW5lZE1heENvbnRlbnRG
aXhlZEdyaWQiPgorICAgICAgICA8ZGl2IGNsYXNzPSJmaXJzdFJvd0ZpcnN0Q29sdW1uIj5YWFgg
WFhYIFhYWCBYWFggWFhYIFhYWCBYWFggWFhYIFhYWDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNz
PSJmaXJzdFJvd0ZpcnN0Q29sdW1uIj5YWFhYWCBYWFhYWCBYWFhYWCBYWFhYWCBYWFhYWCBYWFhY
WDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJmaXJzdFJvd0ZpcnN0Q29sdW1uIj5YWCBYWCBY
WCBYWCBYWCBYWDwvZGl2PgorICAgIDwvZGl2PgorPC9kaXY+CisKKzxkaXYgY2xhc3M9Imxlc3ND
b25zdHJhaW5lZENvbnRhaW5lciI+CisgICAgPGRpdiBjbGFzcz0iZ3JpZCBncmlkRml4ZWRNaW5D
b250ZW50IiBpZD0ibGVzc0NvbnN0cmFpbmVkRml4ZWRNaW5Db250ZW50R3JpZCI+CisgICAgICAg
IDxkaXYgY2xhc3M9ImZpcnN0Um93Rmlyc3RDb2x1bW4iPlhYWCBYWFggWFhYIFhYWCBYWFggWFhY
IFhYWCBYWFggWFhYPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImZpcnN0Um93Rmlyc3RDb2x1
bW4iPlhYWFhYIFhYWFhYIFhYWFhYIFhYWFhYIFhYWFhYIFhYWFhYPC9kaXY+CisgICAgICAgIDxk
aXYgY2xhc3M9ImZpcnN0Um93Rmlyc3RDb2x1bW4iPlhYIFhYIFhYIFhYIFhYIFhYPC9kaXY+Cisg
ICAgPC9kaXY+Cis8L2Rpdj4KKworPGRpdiBjbGFzcz0ibGVzc0NvbnN0cmFpbmVkQ29udGFpbmVy
Ij4KKyAgICA8ZGl2IGNsYXNzPSJncmlkIGdyaWRGaXhlZE1heENvbnRlbnQiIGlkPSJsZXNzQ29u
c3RyYWluZWRGaXhlZE1heENvbnRlbnRHcmlkIj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZmlyc3RS
b3dGaXJzdENvbHVtbiI+WFhYIFhYWCBYWFggWFhYIFhYWCBYWFggWFhYIFhYWCBYWFg8L2Rpdj4K
KyAgICAgICAgPGRpdiBjbGFzcz0iZmlyc3RSb3dGaXJzdENvbHVtbiI+WFhYWFggWFhYWFggWFhY
WFggWFhYWFggWFhYWFggWFhYWFg8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZmlyc3RSb3dG
aXJzdENvbHVtbiI+WFggWFggWFggWFggWFggWFg8L2Rpdj4KKyAgICA8L2Rpdj4KKzwvZGl2Pgor
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlk
LWxheW91dC9pbXBsaWNpdC1jb2x1bW5zLWF1dG8tcmVzb2x1dGlvbi5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvaW1wbGljaXQtY29sdW1ucy1hdXRvLXJlc29sdXRpb24u
aHRtbAppbmRleCBmZjczZWYyMmViYWE0OGFhYTkyYTM0NjNmZWYyMmFjNTc5YjE4MDRiLi4xNTY0
ZDE5ZGM0NGI1Zjk1NzgzNTlhYjgxOTM1MjY2YTVlYjUyYTUwIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9pbXBsaWNpdC1jb2x1bW5zLWF1dG8tcmVzb2x1dGlv
bi5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2ltcGxpY2l0LWNv
bHVtbnMtYXV0by1yZXNvbHV0aW9uLmh0bWwKQEAgLTExLDEyICsxMSw2IEBAIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikKICAgICAtd2Via2l0LWdyaWQtcm93czogNTBweDsKIH0KIAotLyogVGhpcyBy
dWxlIG1ha2VzIHN1cmUgdGhlIGNvbnRhaW5lciBpcyBzbWFsbGVyIHRoYW4gYW55IGdyaWQgaXRl
bXMgdG8gYXZvaWQgZGlzdHJpYnV0aW5nIGFueSBleHRyYSBsb2dpY2FsIHNwYWNlIHRvIHRoZW0u
ICovCi0uY29uc3RyYWluZWRDb250YWluZXIgewotICAgIHdpZHRoOiAxMHB4OwotICAgIGhlaWdo
dDogMTBweDsKLX0KLQogLmZpcnN0Um93Rmlyc3RDb2x1bW4gewogICAgIGZvbnQ6IDEwcHgvMSBB
aGVtOwogICAgIC8qIE1ha2UgdXMgZml0IG91ciBncmlkIGFyZWEuICovCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9pbXBsaWNpdC1wb3NpdGlvbi1keW5hbWlj
LWNoYW5nZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvaW1wbGljaXQt
cG9zaXRpb24tZHluYW1pYy1jaGFuZ2UuaHRtbAppbmRleCBiOTQ1ZmVmM2VhNGZlZTM5N2Q4ZGI2
MzBlYjAwODJlOTliNzJjZDUyLi40YjhkZDUzMjVmMDk1OGQ1NTdiZmU1OWEwZDljMDU2MjFlMTJk
ZWRkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9pbXBsaWNp
dC1wb3NpdGlvbi1keW5hbWljLWNoYW5nZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3Nz
LWdyaWQtbGF5b3V0L2ltcGxpY2l0LXBvc2l0aW9uLWR5bmFtaWMtY2hhbmdlLmh0bWwKQEAgLTEx
LDEyICsxMSw2IEBAIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICAtd2Via2l0LWdyaWQtcm93
czogNzBweCBtaW5tYXgoLXdlYmtpdC1tYXgtY29udGVudCwgNzBweCkgbWlubWF4KDUwcHgsIC13
ZWJraXQtbWluLWNvbnRlbnQpIG1pbm1heCg2NXB4LCAtd2Via2l0LW1heC1jb250ZW50KTsKIH0K
IAotLyogVGhpcyBydWxlIG1ha2VzIHN1cmUgdGhlIGNvbnRhaW5lciBpcyBzbWFsbGVyIHRoYW4g
YW55IGdyaWQgaXRlbXMgdG8gYXZvaWQgZGlzdHJpYnV0aW5nIGFueSBleHRyYSBsb2dpY2FsIHNw
YWNlIHRvIHRoZW0uICovCi0uY29uc3RyYWluZWRDb250YWluZXIgewotICAgIHdpZHRoOiAxMHB4
OwotICAgIGhlaWdodDogMTBweDsKLX0KLQogLnNpemVkVG9HcmlkQXJlYSB7CiAgICAgZm9udDog
MTBweC8xIEFoZW07CiAgICAgLyogTWFrZSB1cyBmaXQgb3VyIGdyaWQgYXJlYS4gKi8KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2ltcGxpY2l0LXJvd3MtYXV0
by1yZXNvbHV0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9pbXBs
aWNpdC1yb3dzLWF1dG8tcmVzb2x1dGlvbi5odG1sCmluZGV4IDJhZmQxYWI2NDIzMDAzZTVkNjli
ZTUxM2Q3MTdmNjBmMTJkNDY4NTkuLjAyZmY0ODc0MmMwNTAwZDJlYmUzMjg1MmYwNzdiNGQxOTc0
NzUzNGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2ltcGxp
Y2l0LXJvd3MtYXV0by1yZXNvbHV0aW9uLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3Mt
Z3JpZC1sYXlvdXQvaW1wbGljaXQtcm93cy1hdXRvLXJlc29sdXRpb24uaHRtbApAQCAtMTEsMTIg
KzExLDYgQEAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgIC8qIC13ZWJraXQtZ3JpZC1yb3dz
IGlzIGxlZnQgdW5zZXQgc28gdGhhdCB0aGUgZ3JpZCBpdGVtJ3Mgcm93IGlzIGltcGxpY2l0LiAq
LwogfQogCi0vKiBUaGlzIHJ1bGUgbWFrZXMgc3VyZSB0aGUgY29udGFpbmVyIGlzIHNtYWxsZXIg
dGhhbiBhbnkgZ3JpZCBpdGVtcyB0byBhdm9pZCBkaXN0cmlidXRpbmcgYW55IGV4dHJhIGxvZ2lj
YWwgc3BhY2UgdG8gdGhlbS4gKi8KLS5jb25zdHJhaW5lZENvbnRhaW5lciB7Ci0gICAgd2lkdGg6
IDEwcHg7Ci0gICAgaGVpZ2h0OiAxMHB4OwotfQotCiAuZmlyc3RSb3dGaXJzdENvbHVtbiB7CiAg
ICAgZm9udDogMTBweC8xIEFoZW07CiAgICAgLyogTWFrZSB1cyBmaXQgb3VyIGdyaWQgYXJlYS4g
Ki8KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L21pbm1heC1t
YXgtY29udGVudC1yZXNvbHV0aW9uLWNvbHVtbnMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY3Nz
LWdyaWQtbGF5b3V0L21pbm1heC1tYXgtY29udGVudC1yZXNvbHV0aW9uLWNvbHVtbnMuaHRtbApp
bmRleCAxMjgxYzQ4ZjI4NWM1YzU5YzlkZWJiNzY4ZTgyOTcyNzllOGE2MmI2Li4wYjRiMmUzZGJj
NDI0NDA3YTQ1ZjUwZjBhYjYzMjU2MmIxNWQ5ZTkzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L2Nzcy1ncmlkLWxheW91dC9taW5tYXgtbWF4LWNvbnRlbnQtcmVzb2x1dGlvbi1jb2x1bW5z
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvbWlubWF4LW1heC1j
b250ZW50LXJlc29sdXRpb24tY29sdW1ucy5odG1sCkBAIC0xNiwxMiArMTYsNiBAQCBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpCiAgICAgLXdlYmtpdC1ncmlkLXJvd3M6IDIwcHg7CiB9CiAKLS8qIFRo
aXMgcnVsZSBtYWtlcyBzdXJlIHRoZSBjb250YWluZXIgaXMgc21hbGxlciB0aGFuIGFueSBncmlk
IGl0ZW1zIHRvIGF2b2lkIGRpc3RyaWJ1dGluZyBhbnkgZXh0cmEgbG9naWNhbCBzcGFjZSB0byB0
aGVtLiAqLwotLmNvbnN0cmFpbmVkQ29udGFpbmVyIHsKLSAgICB3aWR0aDogMTBweDsKLSAgICBo
ZWlnaHQ6IDEwcHg7Ci19Ci0KIC5maXJzdFJvd0ZpcnN0Q29sdW1uIHsKICAgICBmb250OiAxMHB4
LzEgQWhlbTsKICAgICAvKiBNYWtlIHVzIGZpdCBvdXIgZ3JpZCBhcmVhLiAqLwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvbWlubWF4LW1heC1jb250ZW50LXJl
c29sdXRpb24tcm93cy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvbWlu
bWF4LW1heC1jb250ZW50LXJlc29sdXRpb24tcm93cy5odG1sCmluZGV4IDAzZjZlMDA4MzUwNzMy
MGY3YzI1MTczMjZhOTdhM2E1Mzk3Y2E2OGUuLmU1ZjU2M2QzNDlmYTljNmNkNTYzZGMxYTcxMzQ0
YTcyZDNlNjkxYmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0
L21pbm1heC1tYXgtY29udGVudC1yZXNvbHV0aW9uLXJvd3MuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9taW5tYXgtbWF4LWNvbnRlbnQtcmVzb2x1dGlvbi1yb3dz
Lmh0bWwKQEAgLTE2LDEyICsxNiw2IEBAIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICAtd2Vi
a2l0LWdyaWQtcm93czogbWlubWF4KDMwcHgsIC13ZWJraXQtbWF4LWNvbnRlbnQpOwogfQogCi0v
KiBUaGlzIHJ1bGUgbWFrZXMgc3VyZSB0aGUgY29udGFpbmVyIGlzIHNtYWxsZXIgdGhhbiBhbnkg
Z3JpZCBpdGVtcyB0byBhdm9pZCBkaXN0cmlidXRpbmcgYW55IGV4dHJhIGxvZ2ljYWwgc3BhY2Ug
dG8gdGhlbS4gKi8KLS5jb25zdHJhaW5lZENvbnRhaW5lciB7Ci0gICAgd2lkdGg6IDEwcHg7Ci0g
ICAgaGVpZ2h0OiAxMHB4OwotfQotCiAuZmlyc3RSb3dGaXJzdENvbHVtbiB7CiAgICAgZm9udDog
MTBweC8xIEFoZW07CiAgICAgLyogTWFrZSB1cyBmaXQgb3VyIGdyaWQgYXJlYS4gKi8KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L21pbm1heC1taW4tY29udGVu
dC1jb2x1bW4tcmVzb2x1dGlvbi1jb2x1bW5zLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1n
cmlkLWxheW91dC9taW5tYXgtbWluLWNvbnRlbnQtY29sdW1uLXJlc29sdXRpb24tY29sdW1ucy5o
dG1sCmluZGV4IGQ1ZjQ3YzZmNTA4M2VkOTI2MzEyZjQ4ZGQwN2EzYTUzOGI4ZGNjNjIuLmYyYmRl
NWMwMDk0ZTgzMzhjYTY3ZTk5ZmI5NjhhOTkzZDA2MDYzNjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L21pbm1heC1taW4tY29udGVudC1jb2x1bW4tcmVzb2x1
dGlvbi1jb2x1bW5zLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQv
bWlubWF4LW1pbi1jb250ZW50LWNvbHVtbi1yZXNvbHV0aW9uLWNvbHVtbnMuaHRtbApAQCAtMTYs
MTIgKzE2LDYgQEAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgIC13ZWJraXQtZ3JpZC1yb3dz
OiAyMHB4OwogfQogCi0vKiBUaGlzIHJ1bGUgbWFrZXMgc3VyZSB0aGUgY29udGFpbmVyIGlzIHNt
YWxsZXIgdGhhbiBhbnkgZ3JpZCBpdGVtcyB0byBhdm9pZCBkaXN0cmlidXRpbmcgYW55IGV4dHJh
IGxvZ2ljYWwgc3BhY2UgdG8gdGhlbS4gKi8KLS5jb25zdHJhaW5lZENvbnRhaW5lciB7Ci0gICAg
d2lkdGg6IDEwcHg7Ci0gICAgaGVpZ2h0OiAxMHB4OwotfQotCiAuZmlyc3RSb3dGaXJzdENvbHVt
biB7CiAgICAgZm9udDogMTBweC8xIEFoZW07CiAgICAgLyogTWFrZSB1cyBmaXQgb3VyIGdyaWQg
YXJlYS4gKi8KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L21p
bm1heC1taW4tY29udGVudC1jb2x1bW4tcmVzb2x1dGlvbi1yb3dzLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9taW5tYXgtbWluLWNvbnRlbnQtY29sdW1uLXJlc29sdXRp
b24tcm93cy5odG1sCmluZGV4IGNlODhjZWI5OTM5N2ZhMzBhY2U0ZGVjMTc5NTYwZjg1N2E0OTY1
MjkuLjYxMDdkNmY1NTA0ZWY2ZTkyOThkMzE5MjZlZGFhM2VhNjY5ZjE3NzIgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L21pbm1heC1taW4tY29udGVudC1jb2x1
bW4tcmVzb2x1dGlvbi1yb3dzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1s
YXlvdXQvbWlubWF4LW1pbi1jb250ZW50LWNvbHVtbi1yZXNvbHV0aW9uLXJvd3MuaHRtbApAQCAt
MTYsMTIgKzE2LDYgQEAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgIC13ZWJraXQtZ3JpZC1y
b3dzOiBtaW5tYXgoMzBweCwgLXdlYmtpdC1taW4tY29udGVudCk7CiB9CiAKLS8qIFRoaXMgcnVs
ZSBtYWtlcyBzdXJlIHRoZSBjb250YWluZXIgaXMgc21hbGxlciB0aGFuIGFueSBncmlkIGl0ZW1z
IHRvIGF2b2lkIGRpc3RyaWJ1dGluZyBhbnkgZXh0cmEgbG9naWNhbCBzcGFjZSB0byB0aGVtLiAq
LwotLmNvbnN0cmFpbmVkQ29udGFpbmVyIHsKLSAgICB3aWR0aDogMTBweDsKLSAgICBoZWlnaHQ6
IDEwcHg7Ci19Ci0KIC5maXJzdFJvd0ZpcnN0Q29sdW1uIHsKICAgICBmb250OiAxMHB4LzEgQWhl
bTsKICAgICAvKiBNYWtlIHVzIGZpdCBvdXIgZ3JpZCBhcmVhLiAqLwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvcmVzb3VyY2VzL2dyaWQuY3NzIGIvTGF5b3V0
VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvcmVzb3VyY2VzL2dyaWQuY3NzCmluZGV4IGQwM2M0
OGRiYWViYjFlMjFmMTNlN2NkZTQyN2M3YjRjNjNhM2I3NTMuLmE4ZDUwYzMyOGRkNDFlZjUyYmFk
NWU5MDdkZThhZDlmMWFjMDFjODIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdy
aWQtbGF5b3V0L3Jlc291cmNlcy9ncmlkLmNzcworKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1n
cmlkLWxheW91dC9yZXNvdXJjZXMvZ3JpZC5jc3MKQEAgLTQ0LDYgKzQ0LDE3IEBACiAgICAgLXdl
YmtpdC1ncmlkLWF1dG8tZmxvdzogcm93OwogfQogCisvKiBUaGlzIHJ1bGUgbWFrZXMgc3VyZSB0
aGUgY29udGFpbmVyIGlzIHNtYWxsZXIgdGhhbiBhbnkgZ3JpZCBpdGVtcyB0byBhdm9pZCBkaXN0
cmlidXRpbmcgYW55IGV4dHJhIGxvZ2ljYWwgc3BhY2UgdG8gdGhlbS4gKi8KKy5jb25zdHJhaW5l
ZENvbnRhaW5lciB7CisgICAgd2lkdGg6IDEwcHg7CisgICAgaGVpZ2h0OiAxMHB4OworfQorCisu
dW5jb25zdHJhaW5lZENvbnRhaW5lciB7CisgICAgd2lkdGg6IDEwMDBweDsKKyAgICBoZWlnaHQ6
IDEwMDBweDsKK30KKwogLnZlcnRpY2FsUkwgewogICAgIC13ZWJraXQtd3JpdGluZy1tb2RlOiB2
ZXJ0aWNhbC1ybDsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>188130</attachid>
            <date>2013-02-13 11:33:26 -0800</date>
            <delta_ts>2013-02-13 14:19:29 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-109100-20130213112955.patch</filename>
            <type>text/plain</type>
            <size>40730</size>
            <attacher name="Julien Chaffraix">jchaffraix</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQyNzYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2NmZWRhMDMyNjE2OWEz
ODg2NGZmZWE5MTIyOWY0ODhmYTZmZThiZC4uZjE2OGUyZDgyMGYzNjAxYWE3NDBlMTIzZTVjYzM0
YzJlOGZiZGQ1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDEzLTAyLTEzICBKdWxp
ZW4gQ2hhZmZyYWl4ICA8amNoYWZmcmFpeEB3ZWJraXQub3JnPgorCisgICAgICAgIFtDU1MgR3Jp
ZCBMYXlvdXRdIEFkZGluZyBvciByZW1vdmluZyBncmlkIGl0ZW1zIGRvZXNuJ3QgcHJvcGVybHkg
cmVjb21wdXRlIHRoZSB0cmFjayBzaXplcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTA5MTAwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgT2phbiBWYWZh
aS4KKworICAgICAgICBUZXN0OiBmYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLWl0ZW0tcmVtb3Zh
bC10cmFjay1icmVhZHRoLXVwZGF0ZS5odG1sCisKKyAgICAgICAgVGhlIHRlc3QgdW5jb3ZlcmVk
IHNldmVyYWwgYnVncyBpbiBvdXIgaW1wbGVtZW50YXRpb24gdGhhdCBpcyBmaXhlZCBhcyBwYXJ0
CisgICAgICAgIG9mIHRoaXMgY2hhbmdlLiBUaGV5IHdpbGwgYmUgZGV0YWlsZWQgYmVsb3cuCisK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyR3JpZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJHcmlkOjpsb2dpY2FsQ29udGVudEhlaWdodEZvckNoaWxkKToKKyAgICAgICAgQWRkZWQg
dGhpcyBmdW5jdGlvbiB0byBzaGFyZSB0aGUgY29kZSBiZXR3ZWVuIG1pbkNvbnRlbnRGb3JDaGls
ZCBhbmQgbWF4Q29udGVudEZvckNoaWxkLgorICAgICAgICBBbHNvIGZvcmNlZCBhIHJlbGF5b3V0
IGluIHRoaXMgY2FzZSB0byBhdm9pZCBnZXR0aW5nIGEgd3JvbmcgYW5zd2VyIChlLmcuIHRoZSBs
b2dpY2FsIGhlaWdodAorICAgICAgICBjb25zdHJhaW5lZCBieSB0aGUgcHJldmlvdXMgbGF5b3V0
J3MgZ3JpZCBicmVhZHRoKS4KKworICAgICAgICAoV2ViQ29yZTo6UmVuZGVyR3JpZDo6bWluQ29u
dGVudEZvckNoaWxkKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckdyaWQ6Om1heENvbnRlbnRG
b3JDaGlsZCk6CisgICAgICAgIFVwZGF0ZWQgdG8gdXNlIGxvZ2ljYWxDb250ZW50SGVpZ2h0Rm9y
Q2hpbGQuCisKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckdyaWQ6OnJlc29sdmVDb250ZW50QmFz
ZWRUcmFja1NpemluZ0Z1bmN0aW9ucyk6CisgICAgICAgIFVwZGF0ZWQgdG8gbWF0Y2ggdGhlIHNw
ZWNpZmljYXRpb24gYW5kIHNldCBtYXggYnJlYWR0aCB0byBjdXJyZW50IGJyZWFkdGggcGVyIHRo
ZSBzcGVjaWZpY2F0aW9uLgorICAgICAgICBUaGlzIG1hZGUgdXMgb3Zlci1ncm93IHNvbWUgY2Fz
ZXMgaW4gdGhlIHRlc3QuCisKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckdyaWQ6OmRpc3RyaWJ1
dGVTcGFjZVRvVHJhY2tzKToKKyAgICAgICAgVXBkYXRlZCB0byBtYXRjaCB0aGUgc3BlY2lmaWNh
dGlvbiBhbmQgdXNlIGFuIGV4dHJhIHZhcmlhYmxlIHRvIGRvIHRoZSBpbnRlcm1lZGlhdGUgc3By
ZWFkaW5nLiBBbHNvIHJlbW92ZWQKKyAgICAgICAgYSBub3cgdW5uZWVkZWQgbWF4LiBUaGlzIGZp
eGVzIHRoZSBjYXNlIG9mIG11bHRpcGxlIGdyaWQgaXRlbXMgaW4gdGhlIHNhbWUgZ3JpZCBhcmVh
IHRoYXQgd2FzIGNvbXBsZXRlbHkgYnJva2VuLgorCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJH
cmlkOjpsYXlvdXRHcmlkSXRlbXMpOgorICAgICAgICBBZGRlZCBhIEZJWE1FIGFib3V0IGFsd2F5
cyByZWxheWluZyBvdXQgY29udGVudCBzaXplZCB0cmFja3MnIGNoaWxkcmVuLgorCisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckdyaWQuaDoKKyAgICAgICAgQWRkZWQgbG9naWNhbENvbnRlbnRI
ZWlnaHRGb3JDaGlsZC4KKwogMjAxMy0wMi0xMyAgTWFydGluIFJvYmluc29uICA8bXJvYmluc29u
QGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10gUmVtb3ZlIHJlbWFpbmluZyBkZWFkIGNvZGUg
ZnJvbSB0aGUgR0xpYiB1bmljb2RlIGJhY2tlbmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJHcmlkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJHcmlkLmNwcAppbmRleCA3NWUwYjc5MjE1MzQyYTFiMjAxNTViZGUzMDdjYTFmYzI3MDdjZjcz
Li40MDJkM2U5NzY5ZGFjZjAwNzU2YTk4NjQ3ZDgxYmEyZmQ2ZGJiZDFkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwCkBAIC0yODcsNiArMjg3LDIyIEBAIHNpemVfdCBS
ZW5kZXJHcmlkOjptYXhpbXVtSW5kZXhJbkRpcmVjdGlvbihUcmFja1NpemluZ0RpcmVjdGlvbiBk
aXJlY3Rpb24pIGNvbnN0CiAgICAgcmV0dXJuIG1heGltdW1JbmRleDsKIH0KIAorTGF5b3V0VW5p
dCBSZW5kZXJHcmlkOjpsb2dpY2FsQ29udGVudEhlaWdodEZvckNoaWxkKFJlbmRlckJveCogY2hp
bGQsIFZlY3RvcjxHcmlkVHJhY2s+JiBjb2x1bW5UcmFja3MpCit7CisgICAgLy8gRklYTUU6IFdl
IHNob3VsZG4ndCBmb3JjZSBhIGxheW91dCBldmVyeSB0aW1lIHRoaXMgZnVuY3Rpb24gaXMgY2Fs
bGVkIGJ1dAorICAgIC8vIDEpIFJldHVybiBjb21wdXRlTG9naWNhbEhlaWdodCdzIHZhbHVlIGlm
IGl0J3MgYXZhaWxhYmxlLiBVbmZvcnR1bmF0ZWx5IGNvbXB1dGVMb2dpY2FsSGVpZ2h0CisgICAg
Ly8gZG9lc24ndCByZXR1cm4gaWYgdGhlIGxvZ2ljYWwgaGVpZ2h0IGlzIGF2YWlsYWJsZSBzbyB3
b3VsZCBuZWVkIHRvIGJlIGNoYW5nZWQuCisgICAgLy8gMikgUmVsYXlvdXQgaWYgdGhlIGNvbHVt
biB0cmFjaydzIHVzZWQgYnJlYWR0aCBjaGFuZ2VkIE9SIHRoZSBsb2dpY2FsIGhlaWdodCBpcyB1
bmF2YWlsYWJsZS4KKyAgICBpZiAoIWNoaWxkLT5uZWVkc0xheW91dCgpKQorICAgICAgICBjaGls
ZC0+c2V0TmVlZHNMYXlvdXQodHJ1ZSwgTWFya09ubHlUaGlzKTsKKworICAgIHNpemVfdCBjb2x1
bW5UcmFjayA9IHJlc29sdmVHcmlkUG9zaXRpb24oRm9yQ29sdW1ucywgY2hpbGQpOworICAgIGNo
aWxkLT5zZXRPdmVycmlkZUNvbnRhaW5pbmdCbG9ja0NvbnRlbnRMb2dpY2FsV2lkdGgoY29sdW1u
VHJhY2tzW2NvbHVtblRyYWNrXS5tX3VzZWRCcmVhZHRoKTsKKyAgICBjaGlsZC0+Y2xlYXJPdmVy
cmlkZUNvbnRhaW5pbmdCbG9ja0NvbnRlbnRMb2dpY2FsSGVpZ2h0KCk7CisgICAgY2hpbGQtPmxh
eW91dCgpOworICAgIHJldHVybiBjaGlsZC0+bG9naWNhbEhlaWdodCgpOworfQorCiBMYXlvdXRV
bml0IFJlbmRlckdyaWQ6Om1pbkNvbnRlbnRGb3JDaGlsZChSZW5kZXJCb3gqIGNoaWxkLCBUcmFj
a1NpemluZ0RpcmVjdGlvbiBkaXJlY3Rpb24sIFZlY3RvcjxHcmlkVHJhY2s+JiBjb2x1bW5UcmFj
a3MpCiB7CiAgICAgYm9vbCBoYXNPcnRob2dvbmFsV3JpdGluZ01vZGUgPSBjaGlsZC0+aXNIb3Jp
em9udGFsV3JpdGluZ01vZGUoKSAhPSBpc0hvcml6b250YWxXcml0aW5nTW9kZSgpOwpAQCAtMzAw
LDEzICszMTYsNyBAQCBMYXlvdXRVbml0IFJlbmRlckdyaWQ6Om1pbkNvbnRlbnRGb3JDaGlsZChS
ZW5kZXJCb3gqIGNoaWxkLCBUcmFja1NpemluZ0RpcmVjdGlvbgogICAgICAgICByZXR1cm4gY2hp
bGQtPm1pblByZWZlcnJlZExvZ2ljYWxXaWR0aCgpOwogICAgIH0KIAotICAgIGlmIChjaGlsZC0+
bmVlZHNMYXlvdXQoKSkgewotICAgICAgICBzaXplX3QgY29sdW1uVHJhY2sgPSByZXNvbHZlR3Jp
ZFBvc2l0aW9uKEZvckNvbHVtbnMsIGNoaWxkKTsKLSAgICAgICAgY2hpbGQtPnNldE92ZXJyaWRl
Q29udGFpbmluZ0Jsb2NrQ29udGVudExvZ2ljYWxXaWR0aChjb2x1bW5UcmFja3NbY29sdW1uVHJh
Y2tdLm1fdXNlZEJyZWFkdGgpOwotICAgICAgICBjaGlsZC0+Y2xlYXJPdmVycmlkZUNvbnRhaW5p
bmdCbG9ja0NvbnRlbnRMb2dpY2FsSGVpZ2h0KCk7Ci0gICAgICAgIGNoaWxkLT5sYXlvdXQoKTsK
LSAgICB9Ci0gICAgcmV0dXJuIGNoaWxkLT5sb2dpY2FsSGVpZ2h0KCk7CisgICAgcmV0dXJuIGxv
Z2ljYWxDb250ZW50SGVpZ2h0Rm9yQ2hpbGQoY2hpbGQsIGNvbHVtblRyYWNrcyk7CiB9CiAKIExh
eW91dFVuaXQgUmVuZGVyR3JpZDo6bWF4Q29udGVudEZvckNoaWxkKFJlbmRlckJveCogY2hpbGQs
IFRyYWNrU2l6aW5nRGlyZWN0aW9uIGRpcmVjdGlvbiwgVmVjdG9yPEdyaWRUcmFjaz4mIGNvbHVt
blRyYWNrcykKQEAgLTMyMiwxMyArMzMyLDcgQEAgTGF5b3V0VW5pdCBSZW5kZXJHcmlkOjptYXhD
b250ZW50Rm9yQ2hpbGQoUmVuZGVyQm94KiBjaGlsZCwgVHJhY2tTaXppbmdEaXJlY3Rpb24KICAg
ICAgICAgcmV0dXJuIGNoaWxkLT5tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgoKTsKICAgICB9CiAK
LSAgICBpZiAoY2hpbGQtPm5lZWRzTGF5b3V0KCkpIHsKLSAgICAgICAgc2l6ZV90IGNvbHVtblRy
YWNrID0gcmVzb2x2ZUdyaWRQb3NpdGlvbihGb3JDb2x1bW5zLCBjaGlsZCk7Ci0gICAgICAgIGNo
aWxkLT5zZXRPdmVycmlkZUNvbnRhaW5pbmdCbG9ja0NvbnRlbnRMb2dpY2FsV2lkdGgoY29sdW1u
VHJhY2tzW2NvbHVtblRyYWNrXS5tX3VzZWRCcmVhZHRoKTsKLSAgICAgICAgY2hpbGQtPmNsZWFy
T3ZlcnJpZGVDb250YWluaW5nQmxvY2tDb250ZW50TG9naWNhbEhlaWdodCgpOwotICAgICAgICBj
aGlsZC0+bGF5b3V0KCk7Ci0gICAgfQotICAgIHJldHVybiBjaGlsZC0+bG9naWNhbEhlaWdodCgp
OworICAgIHJldHVybiBsb2dpY2FsQ29udGVudEhlaWdodEZvckNoaWxkKGNoaWxkLCBjb2x1bW5U
cmFja3MpOwogfQogCiB2b2lkIFJlbmRlckdyaWQ6OnJlc29sdmVDb250ZW50QmFzZWRUcmFja1Np
emluZ0Z1bmN0aW9ucyhUcmFja1NpemluZ0RpcmVjdGlvbiBkaXJlY3Rpb24sIFZlY3RvcjxHcmlk
VHJhY2s+JiBjb2x1bW5UcmFja3MsIFZlY3RvcjxHcmlkVHJhY2s+JiByb3dUcmFja3MsIExheW91
dFVuaXQmIGF2YWlsYWJsZUxvZ2ljYWxTcGFjZSkKQEAgLTM1OSw5ICszNjMsMTAgQEAgdm9pZCBS
ZW5kZXJHcmlkOjpyZXNvbHZlQ29udGVudEJhc2VkVHJhY2tTaXppbmdGdW5jdGlvbnMoVHJhY2tT
aXppbmdEaXJlY3Rpb24gZGkKIAogICAgICAgICBpZiAobWF4VHJhY2tCcmVhZHRoLmlzTWF4Q29u
dGVudCgpKQogICAgICAgICAgICAgcmVzb2x2ZUNvbnRlbnRCYXNlZFRyYWNrU2l6aW5nRnVuY3Rp
b25zRm9ySXRlbXMoZGlyZWN0aW9uLCBjb2x1bW5UcmFja3MsIHJvd1RyYWNrcywgaSwgJlJlbmRl
ckdyaWQ6Om1heENvbnRlbnRGb3JDaGlsZCwgJkdyaWRUcmFjazo6bWF4QnJlYWR0aElmTm90SW5m
aW5pdGUsICZHcmlkVHJhY2s6Omdyb3dNYXhCcmVhZHRoKTsKLSAgICB9CiAKLSAgICAvLyBGSVhN
RTogVGhlIHNwZWMgc2F5cyB0byB1cGRhdGUgbWF4QnJlYWR0aCBpZiBpdCBpcyBJbmZpbml0eS4K
KyAgICAgICAgaWYgKHRyYWNrLm1fbWF4QnJlYWR0aCA9PSBpbmZpbml0eSkKKyAgICAgICAgICAg
IHRyYWNrLm1fbWF4QnJlYWR0aCA9IHRyYWNrLm1fdXNlZEJyZWFkdGg7CisgICAgfQogfQogCiB2
b2lkIFJlbmRlckdyaWQ6OnJlc29sdmVDb250ZW50QmFzZWRUcmFja1NpemluZ0Z1bmN0aW9uc0Zv
ckl0ZW1zKFRyYWNrU2l6aW5nRGlyZWN0aW9uIGRpcmVjdGlvbiwgVmVjdG9yPEdyaWRUcmFjaz4m
IGNvbHVtblRyYWNrcywgVmVjdG9yPEdyaWRUcmFjaz4mIHJvd1RyYWNrcywgc2l6ZV90IGksIFNp
emluZ0Z1bmN0aW9uIHNpemluZ0Z1bmN0aW9uLCBBY2N1bXVsYXRvckdldHRlciB0cmFja0dldHRl
ciwgQWNjdW11bGF0b3JHcm93RnVuY3Rpb24gdHJhY2tHcm93dGhGdW5jdGlvbikKQEAgLTM5MSwy
OSArMzk2LDMwIEBAIHZvaWQgUmVuZGVyR3JpZDo6ZGlzdHJpYnV0ZVNwYWNlVG9UcmFja3MoVmVj
dG9yPEdyaWRUcmFjayo+JiB0cmFja3MsIFZlY3RvcjxHcmlkCiAgICAgc3RkOjpzb3J0KHRyYWNr
cy5iZWdpbigpLCB0cmFja3MuZW5kKCksIHNvcnRCeUdyaWRUcmFja0dyb3d0aFBvdGVudGlhbCk7
CiAKICAgICBzaXplX3QgdHJhY2tzU2l6ZSA9IHRyYWNrcy5zaXplKCk7CisgICAgVmVjdG9yPExh
eW91dFVuaXQ+IHVwZGF0ZWRUcmFja0JyZWFkdGhzKHRyYWNrc1NpemUpOworCiAgICAgZm9yIChz
aXplX3QgaSA9IDA7IGkgPCB0cmFja3NTaXplOyArK2kpIHsKICAgICAgICAgR3JpZFRyYWNrJiB0
cmFjayA9ICp0cmFja3NbaV07CiAgICAgICAgIExheW91dFVuaXQgYXZhaWxhYmxlTG9naWNhbFNw
YWNlU2hhcmUgPSBhdmFpbGFibGVMb2dpY2FsU3BhY2UgLyAodHJhY2tzU2l6ZSAtIGkpOwotICAg
ICAgICAvLyBXZSBuZXZlciBzaHJpbmsgdGhlIHVzZWQgYnJlYWR0aCBieSBjbGFtcGluZyB0aGUg
ZGlmZmVyZW5jZSBiZXR3ZWVuIG1heCBhbmQgdXNlZCBicmVhZHRoLiBUaGUgc3BlYyB1c2VzCi0g
ICAgICAgIC8vIDIgZXh0cmEtdmFyaWFibGVzIGFuZCAyIGV4dHJhIGl0ZXJhdGlvbnMgdG8gZW5z
dXJlIHRoYXQgd2UgYWx3YXlzIGdyb3cgb3VyIHRyYWNrcyAodGh1cyBuZXZlciBnb2luZyBiZWxv
dwotICAgICAgICAvLyBtaW4tdHJhY2spLiBJZiB3ZSBkZWNpZGUgdG8gZm9sbG93IGl0IHRvIHRo
ZSBsZXR0ZXIsIHdlIHNob3VsZCByZW1vdmUgdGhpcyBjbGFtcGluZy4KLSAgICAgICAgTGF5b3V0
VW5pdCBncm93dGhTaGFyZSA9IHN0ZDo6bWluKGF2YWlsYWJsZUxvZ2ljYWxTcGFjZVNoYXJlLCBz
dGQ6Om1heChMYXlvdXRVbml0KDApLCB0cmFjay5tX21heEJyZWFkdGggLSAodHJhY2suKnRyYWNr
R2V0dGVyKSgpKSk7Ci0gICAgICAgICh0cmFjay4qdHJhY2tHcm93dGhGdW5jdGlvbikoZ3Jvd3Ro
U2hhcmUpOworICAgICAgICBMYXlvdXRVbml0IHRyYWNrQnJlYWR0aCA9ICh0cmFja3NbaV0tPip0
cmFja0dldHRlcikoKTsKKyAgICAgICAgTGF5b3V0VW5pdCBncm93dGhTaGFyZSA9IHN0ZDo6bWlu
KGF2YWlsYWJsZUxvZ2ljYWxTcGFjZVNoYXJlLCB0cmFjay5tX21heEJyZWFkdGggLSB0cmFja0Jy
ZWFkdGgpOworICAgICAgICB1cGRhdGVkVHJhY2tCcmVhZHRoc1tpXSA9IHRyYWNrQnJlYWR0aCAr
IGdyb3d0aFNoYXJlOwogICAgICAgICBhdmFpbGFibGVMb2dpY2FsU3BhY2UgLT0gZ3Jvd3RoU2hh
cmU7CiAgICAgfQogCi0gICAgaWYgKGF2YWlsYWJsZUxvZ2ljYWxTcGFjZSA8PSAwKQotICAgICAg
ICByZXR1cm47Ci0KLSAgICBpZiAoIXRyYWNrc0Zvckdyb3d0aEFib3ZlTWF4QnJlYWR0aCkKLSAg
ICAgICAgcmV0dXJuOworICAgIGlmIChhdmFpbGFibGVMb2dpY2FsU3BhY2UgPiAwICYmIHRyYWNr
c0Zvckdyb3d0aEFib3ZlTWF4QnJlYWR0aCkgeworICAgICAgICB0cmFja3NTaXplID0gdHJhY2tz
Rm9yR3Jvd3RoQWJvdmVNYXhCcmVhZHRoLT5zaXplKCk7CisgICAgICAgIGZvciAoc2l6ZV90IGkg
PSAwOyBpIDwgdHJhY2tzU2l6ZTsgKytpKSB7CisgICAgICAgICAgICBMYXlvdXRVbml0IGdyb3d0
aFNoYXJlID0gYXZhaWxhYmxlTG9naWNhbFNwYWNlIC8gKHRyYWNrc1NpemUgLSBpKTsKKyAgICAg
ICAgICAgIHVwZGF0ZWRUcmFja0JyZWFkdGhzW2ldICs9IGdyb3d0aFNoYXJlOworICAgICAgICAg
ICAgYXZhaWxhYmxlTG9naWNhbFNwYWNlIC09IGdyb3d0aFNoYXJlOworICAgICAgICB9CisgICAg
fQogCi0gICAgdHJhY2tzU2l6ZSA9IHRyYWNrc0Zvckdyb3d0aEFib3ZlTWF4QnJlYWR0aC0+c2l6
ZSgpOwogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgdHJhY2tzU2l6ZTsgKytpKSB7Ci0gICAg
ICAgIEdyaWRUcmFjayYgdHJhY2sgPSAqdHJhY2tzRm9yR3Jvd3RoQWJvdmVNYXhCcmVhZHRoLT5h
dChpKTsKLSAgICAgICAgTGF5b3V0VW5pdCBncm93dGhTaGFyZSA9IGF2YWlsYWJsZUxvZ2ljYWxT
cGFjZSAvICh0cmFja3NTaXplIC0gaSk7Ci0gICAgICAgICh0cmFjay4qdHJhY2tHcm93dGhGdW5j
dGlvbikoZ3Jvd3RoU2hhcmUpOwotICAgICAgICBhdmFpbGFibGVMb2dpY2FsU3BhY2UgLT0gZ3Jv
d3RoU2hhcmU7CisgICAgICAgIExheW91dFVuaXQgZ3Jvd3RoID0gdXBkYXRlZFRyYWNrQnJlYWR0
aHNbaV0gLSAodHJhY2tzW2ldLT4qdHJhY2tHZXR0ZXIpKCk7CisgICAgICAgIGlmIChncm93dGgg
Pj0gMCkKKyAgICAgICAgICAgICh0cmFja3NbaV0tPip0cmFja0dyb3d0aEZ1bmN0aW9uKShncm93
dGgpOwogICAgIH0KIH0KIApAQCAtNDUwLDYgKzQ1Niw4IEBAIHZvaWQgUmVuZGVyR3JpZDo6bGF5
b3V0R3JpZEl0ZW1zKCkKICAgICAgICAgTGF5b3V0VW5pdCBvbGRPdmVycmlkZUNvbnRhaW5pbmdC
bG9ja0NvbnRlbnRMb2dpY2FsV2lkdGggPSBjaGlsZC0+aGFzT3ZlcnJpZGVDb250YWluaW5nQmxv
Y2tMb2dpY2FsV2lkdGgoKSA/IGNoaWxkLT5vdmVycmlkZUNvbnRhaW5pbmdCbG9ja0NvbnRlbnRM
b2dpY2FsV2lkdGgoKSA6IExheW91dFVuaXQoKTsKICAgICAgICAgTGF5b3V0VW5pdCBvbGRPdmVy
cmlkZUNvbnRhaW5pbmdCbG9ja0NvbnRlbnRMb2dpY2FsSGVpZ2h0ID0gY2hpbGQtPmhhc092ZXJy
aWRlQ29udGFpbmluZ0Jsb2NrTG9naWNhbEhlaWdodCgpID8gY2hpbGQtPm92ZXJyaWRlQ29udGFp
bmluZ0Jsb2NrQ29udGVudExvZ2ljYWxIZWlnaHQoKSA6IExheW91dFVuaXQoKTsKIAorICAgICAg
ICAvLyBGSVhNRTogRm9yIGNoaWxkcmVuIGluIGEgY29udGVudCBzaXplZCB0cmFjaywgd2UgY2xl
YXIgdGhlIG92ZXJyaWRlQ29udGFpbmluZ0Jsb2NrQ29udGVudExvZ2ljYWxIZWlnaHQKKyAgICAg
ICAgLy8gaW4gbWluQ29udGVudEZvckNoaWxkIC8gbWF4Q29udGVudEZvckNoaWxkIHdoaWNoIG1l
YW5zIHRoYXQgd2Ugd2lsbCBhbHdheXMgcmVsYXlvdXQgdGhlIGNoaWxkLgogICAgICAgICBpZiAo
b2xkT3ZlcnJpZGVDb250YWluaW5nQmxvY2tDb250ZW50TG9naWNhbFdpZHRoICE9IGNvbHVtblRy
YWNrc1tjb2x1bW5UcmFja10ubV91c2VkQnJlYWR0aCB8fCBvbGRPdmVycmlkZUNvbnRhaW5pbmdC
bG9ja0NvbnRlbnRMb2dpY2FsSGVpZ2h0ICE9IHJvd1RyYWNrc1tyb3dUcmFja10ubV91c2VkQnJl
YWR0aCkKICAgICAgICAgICAgIGNoaWxkLT5zZXROZWVkc0xheW91dCh0cnVlLCBNYXJrT25seVRo
aXMpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5o
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuaAppbmRleCA5NmU2YTQ5MjMx
MDcxZDliYzljOWU5OTlmMTdlMmFkY2U0YjZiZTBlLi4yNTEzYzIxYjk3NWM0YWIzMmZhNTE2NDRl
ZGE4NmMxMTdjNmU5ZjdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyR3JpZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmgKQEAg
LTY3LDYgKzY3LDcgQEAgcHJpdmF0ZToKICAgICBjb25zdCBHcmlkVHJhY2tTaXplJiBncmlkVHJh
Y2tTaXplKFRyYWNrU2l6aW5nRGlyZWN0aW9uLCBzaXplX3QpOwogICAgIHNpemVfdCBtYXhpbXVt
SW5kZXhJbkRpcmVjdGlvbihUcmFja1NpemluZ0RpcmVjdGlvbikgY29uc3Q7CiAKKyAgICBMYXlv
dXRVbml0IGxvZ2ljYWxDb250ZW50SGVpZ2h0Rm9yQ2hpbGQoUmVuZGVyQm94KiwgVmVjdG9yPEdy
aWRUcmFjaz4mKTsKICAgICBMYXlvdXRVbml0IG1pbkNvbnRlbnRGb3JDaGlsZChSZW5kZXJCb3gq
LCBUcmFja1NpemluZ0RpcmVjdGlvbiwgVmVjdG9yPEdyaWRUcmFjaz4mIGNvbHVtblRyYWNrcyk7
CiAgICAgTGF5b3V0VW5pdCBtYXhDb250ZW50Rm9yQ2hpbGQoUmVuZGVyQm94KiwgVHJhY2tTaXpp
bmdEaXJlY3Rpb24sIFZlY3RvcjxHcmlkVHJhY2s+JiBjb2x1bW5UcmFja3MpOwogICAgIExheW91
dFBvaW50IGZpbmRDaGlsZExvZ2ljYWxQb3NpdGlvbihSZW5kZXJCb3gqLCBjb25zdCBWZWN0b3I8
R3JpZFRyYWNrPiYgY29sdW1uVHJhY2tzLCBjb25zdCBWZWN0b3I8R3JpZFRyYWNrPiYgcm93VHJh
Y2tzKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwppbmRleCA2MzI1YWNiMGM0OGFkODM4MWY2ZTczM2I5ZWM0ZGQxYzQ3Y2M0MTc4Li4w
ZGFjZTFlZmU4MjM4MmEyYzc1MWEwN2U4Njg1ZjkzYWYyOTJkY2NhIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MzIgQEAKKzIwMTMtMDItMTMgIEp1bGllbiBDaGFmZnJhaXggIDxqY2hhZmZyYWl4QHdlYmtpdC5v
cmc+CisKKyAgICAgICAgW0NTUyBHcmlkIExheW91dF0gQWRkaW5nIG9yIHJlbW92aW5nIGdyaWQg
aXRlbXMgZG9lc24ndCBwcm9wZXJseSByZWNvbXB1dGUgdGhlIHRyYWNrIHNpemVzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDkxMDAKKworICAgICAg
ICBSZXZpZXdlZCBieSBPamFuIFZhZmFpLgorCisgICAgICAgICogZmFzdC9jc3MtZ3JpZC1sYXlv
dXQvZ3JpZC1pdGVtLWFkZGl0aW9uLXRyYWNrLWJyZWFkdGgtdXBkYXRlLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC1pdGVtLWFkZGl0aW9u
LXRyYWNrLWJyZWFkdGgtdXBkYXRlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY3NzLWdy
aWQtbGF5b3V0L2dyaWQtaXRlbS1yZW1vdmFsLXRyYWNrLWJyZWFkdGgtdXBkYXRlLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC1pdGVtLXJl
bW92YWwtdHJhY2stYnJlYWR0aC11cGRhdGUuaHRtbDogQWRkZWQuCisgICAgICAgIE5ldyB0ZXN0
cy4KKworICAgICAgICAqIGZhc3QvY3NzLWdyaWQtbGF5b3V0L3Jlc291cmNlcy9ncmlkLmNzczoK
KyAgICAgICAgKC5jb25zdHJhaW5lZENvbnRhaW5lcik6CisgICAgICAgICgudW5jb25zdHJhaW5l
ZENvbnRhaW5lcik6CisgICAgICAgIEFkZGVkIHRoZXNlIGNsYXNzIHRvIHNoYXJlIHRoZW0gd2l0
aCBvdGhlciB0ZXN0cy4KKworICAgICAgICAqIGZhc3QvY3NzLWdyaWQtbGF5b3V0L2F1dG8tY29u
dGVudC1yZXNvbHV0aW9uLWNvbHVtbnMuaHRtbDoKKyAgICAgICAgKiBmYXN0L2Nzcy1ncmlkLWxh
eW91dC9hdXRvLWNvbnRlbnQtcmVzb2x1dGlvbi1yb3dzLmh0bWw6CisgICAgICAgICogZmFzdC9j
c3MtZ3JpZC1sYXlvdXQvaW1wbGljaXQtY29sdW1ucy1hdXRvLXJlc29sdXRpb24uaHRtbDoKKyAg
ICAgICAgKiBmYXN0L2Nzcy1ncmlkLWxheW91dC9pbXBsaWNpdC1wb3NpdGlvbi1keW5hbWljLWNo
YW5nZS5odG1sOgorICAgICAgICAqIGZhc3QvY3NzLWdyaWQtbGF5b3V0L2ltcGxpY2l0LXJvd3Mt
YXV0by1yZXNvbHV0aW9uLmh0bWw6CisgICAgICAgICogZmFzdC9jc3MtZ3JpZC1sYXlvdXQvbWlu
bWF4LW1heC1jb250ZW50LXJlc29sdXRpb24tY29sdW1ucy5odG1sOgorICAgICAgICAqIGZhc3Qv
Y3NzLWdyaWQtbGF5b3V0L21pbm1heC1tYXgtY29udGVudC1yZXNvbHV0aW9uLXJvd3MuaHRtbDoK
KyAgICAgICAgKiBmYXN0L2Nzcy1ncmlkLWxheW91dC9taW5tYXgtbWluLWNvbnRlbnQtY29sdW1u
LXJlc29sdXRpb24tY29sdW1ucy5odG1sOgorICAgICAgICAqIGZhc3QvY3NzLWdyaWQtbGF5b3V0
L21pbm1heC1taW4tY29udGVudC1jb2x1bW4tcmVzb2x1dGlvbi1yb3dzLmh0bWw6CisgICAgICAg
IFJlbW92ZWQgY29uc3RyYWluZWRDb250YWluZXIgZGVmaW5pdGlvbiBhcyBpdCB3YXMgbW92ZWQg
dG8gZ3JpZC5jc3MuCisKIDIwMTMtMDItMTMgIEZsb3JpbiBNYWxpdGEgIDxmbWFsaXRhQGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBbU1ZHXSBPT0IgYWNjZXNzIGluIFNWR0xpc3RQcm9wZXJ0eTo6
cmVwbGFjZUl0ZW1WYWx1ZXMoKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3Jp
ZC1sYXlvdXQvYXV0by1jb250ZW50LXJlc29sdXRpb24tY29sdW1ucy5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvYXV0by1jb250ZW50LXJlc29sdXRpb24tY29sdW1ucy5o
dG1sCmluZGV4IDdlMzJmMmMwMjEyNjQxY2VlNjk3YzVmNmZjODU4MmM2OGE0MmI4YjYuLjY3Zjg1
NGNlNDIwYTQyOGYxYzc5M2Y4NzdlYjE3OGQ1MmU4ODExOTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2F1dG8tY29udGVudC1yZXNvbHV0aW9uLWNvbHVtbnMu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9hdXRvLWNvbnRlbnQt
cmVzb2x1dGlvbi1jb2x1bW5zLmh0bWwKQEAgLTExLDEyICsxMSw2IEBAIGlmICh3aW5kb3cudGVz
dFJ1bm5lcikKICAgICAtd2Via2l0LWdyaWQtcm93czogNTBweDsKIH0KIAotLyogVGhpcyBydWxl
IG1ha2VzIHN1cmUgdGhlIGNvbnRhaW5lciBpcyBzbWFsbGVyIHRoYW4gYW55IGdyaWQgaXRlbXMg
dG8gYXZvaWQgZGlzdHJpYnV0aW5nIGFueSBleHRyYSBsb2dpY2FsIHNwYWNlIHRvIHRoZW0uICov
Ci0uY29uc3RyYWluZWRDb250YWluZXIgewotICAgIHdpZHRoOiAxMHB4OwotICAgIGhlaWdodDog
MTBweDsKLX0KLQogLmZpcnN0Um93Rmlyc3RDb2x1bW4gewogICAgIGZvbnQ6IDEwcHgvMSBBaGVt
OwogICAgIC8qIE1ha2UgdXMgZml0IG91ciBncmlkIGFyZWEuICovCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9hdXRvLWNvbnRlbnQtcmVzb2x1dGlvbi1yb3dz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9hdXRvLWNvbnRlbnQtcmVz
b2x1dGlvbi1yb3dzLmh0bWwKaW5kZXggYTg1MjNjMDFhNDVlNDM3NWViMDllMWY5N2QxYTc5YmIw
YzJjMGM4NC4uY2YxNjM4OTk2OTJiNTJjMzFiMjJkYjgzZWQ2ZWI3MGJlOGE0NmNhZSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvYXV0by1jb250ZW50LXJlc29s
dXRpb24tcm93cy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2F1
dG8tY29udGVudC1yZXNvbHV0aW9uLXJvd3MuaHRtbApAQCAtMTEsMTIgKzExLDYgQEAgaWYgKHdp
bmRvdy50ZXN0UnVubmVyKQogICAgIC13ZWJraXQtZ3JpZC1yb3dzOiBhdXRvOwogfQogCi0vKiBU
aGlzIHJ1bGUgbWFrZXMgc3VyZSB0aGUgY29udGFpbmVyIGlzIHNtYWxsZXIgdGhhbiBhbnkgZ3Jp
ZCBpdGVtcyB0byBhdm9pZCBkaXN0cmlidXRpbmcgYW55IGV4dHJhIGxvZ2ljYWwgc3BhY2UgdG8g
dGhlbS4gKi8KLS5jb25zdHJhaW5lZENvbnRhaW5lciB7Ci0gICAgd2lkdGg6IDEwcHg7Ci0gICAg
aGVpZ2h0OiAxMHB4OwotfQotCiAuZmlyc3RSb3dGaXJzdENvbHVtbiB7CiAgICAgZm9udDogMTBw
eC8xIEFoZW07CiAgICAgLyogTWFrZSB1cyBmaXQgb3VyIGdyaWQgYXJlYS4gKi8KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtaXRlbS1hZGRpdGlvbi10
cmFjay1icmVhZHRoLXVwZGF0ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1n
cmlkLWxheW91dC9ncmlkLWl0ZW0tYWRkaXRpb24tdHJhY2stYnJlYWR0aC11cGRhdGUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjYyNzY4ZjA4MWQxZTQ3ZGM3YzJmZTMzZTY2NzViMmYzMmQ2MTMz
ODEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9n
cmlkLWl0ZW0tYWRkaXRpb24tdHJhY2stYnJlYWR0aC11cGRhdGUtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsODcgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCB3ZSBwcm9wZXJseSByZWNvbXB1dGUg
b3VyIGdyaWQgdHJhY2tzJyBzaXplcyB3aGVuIHdlIGFkZCBtb3JlIGdyaWQgaXRlbXMuCisKK1hY
WFggWFhYWCBYWFhYCitYWFhYIFhYWFggWFhYWAorWFhYWCBYWFhYIFhYWFgKK1hYWFggWFhYWCBY
WFhYCitYWFhYIFhYWFggWFhYWAorWFhYWCBYWFhYIFhYWFgKK1hYWFggWFhYWCBYWFhYCitYWFhY
IFhYWFggWFhYWAorWFhYWCBYWFhYIFhYWFgKK1hYWFggWFhYWCBYWFhYCitYWFhYIFhYWFggWFhY
WAorWFhYWCBYWFhYIFhYWFgKK1hYWFggWFhYWCBYWFhYCitYWFhYIFhYWFggWFhYWAorWFhYWCBY
WFhYIFhYWFgKK1hYWFggWFhYWCBYWFhYCitYWFhYIFhYWFggWFhYWAorWFhYWCBYWFhYIFhYWFgK
K1hYWFggWFhYWCBYWFhYCitYWFhYIFhYWFggWFhYWAorWFhYWCBYWFhYIFhYWFgKK1BBU1MKK1BB
U1MKK1BBU1MKK1BBU1MKK1BBU1MKK1BBU1MKK1BBU1MKK1BBU1MKK1BBU1MKK1BBU1MKK1BBU1MK
K1BBU1MKK1BBU1MKK1BBU1MKK1BBU1MKK1BBU1MKK1BBU1MKK1BBU1MKK1BBU1MKK1BBU1MKK1BB
U1MKK1hYWFhYWCBYWFhYWFgKK1hYWFhYWCBYWFhYWFgKK1hYWFhYWCBYWFhYWFgKK1hYWFhYWCBY
WFhYWFgKK1hYWFhYWCBYWFhYWFgKK1hYWFhYWCBYWFhYWFgKK1hYWFhYWCBYWFhYWFgKK1hYWFhY
WCBYWFhYWFgKK1hYWFhYWCBYWFhYWFgKK1hYWFhYWCBYWFhYWFgKK1hYWFhYWCBYWFhYWFgKK1hY
WFhYWCBYWFhYWFgKK1hYWFhYWCBYWFhYWFgKK1hYWFhYWCBYWFhYWFgKK1hYWFhYWCBYWFhYWFgK
K1hYWFhYWCBYWFhYWFgKK1hYWFhYWCBYWFhYWFgKK1hYWFhYWCBYWFhYWFgKK1hYWFhYWCBYWFhY
WFgKK1hYWFhYWCBYWFhYWFgKK1hYWFhYWCBYWFhYWFgKK1hYWFhYWCBYWFhYWFgKK1BBU1MKK1BB
U1MKK1BBU1MKK1BBU1MKK1BBU1MKK1BBU1MKK1BBU1MKK1BBU1MKK1BBU1MKK1BBU1MKK1BBU1MK
K1BBU1MKK1BBU1MKK1BBU1MKK1BBU1MKK1BBU1MKK1BBU1MKK1BBU1MKK1BBU1MKK1BBU1MKK1BB
U1MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtaXRl
bS1hZGRpdGlvbi10cmFjay1icmVhZHRoLXVwZGF0ZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9j
c3MtZ3JpZC1sYXlvdXQvZ3JpZC1pdGVtLWFkZGl0aW9uLXRyYWNrLWJyZWFkdGgtdXBkYXRlLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uY2MwODRjMjc3OWZjNDc4MzBmMzdhOGQ4NzYzM2JkZGQ3NGQ2N2Q0YQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQt
aXRlbS1hZGRpdGlvbi10cmFjay1icmVhZHRoLXVwZGF0ZS5odG1sCkBAIC0wLDAgKzEsMTA3IEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPHNjcmlwdD4KK2lmICh3aW5kb3cudGVzdFJ1bm5l
cikKKyAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0Q1NTR3JpZExheW91
dEVuYWJsZWQiLCAxKTsKKzwvc2NyaXB0PgorPGxpbmsgaHJlZj0icmVzb3VyY2VzL2dyaWQuY3Nz
IiByZWw9InN0eWxlc2hlZXQiPgorPHN0eWxlPgorLmdyaWRGaXhlZENvbnRlbnQgeworICAgIC13
ZWJraXQtZ3JpZC1jb2x1bW5zOiA1MHB4IG1pbm1heCgtd2Via2l0LW1pbi1jb250ZW50LCA1MHB4
KSBtaW5tYXgoLXdlYmtpdC1tYXgtY29udGVudCwgNTBweCkgbWlubWF4KDUwcHgsIC13ZWJraXQt
bWluLWNvbnRlbnQpOworICAgIC13ZWJraXQtZ3JpZC1yb3dzOiA3MHB4IG1pbm1heCgtd2Via2l0
LW1heC1jb250ZW50LCA3MHB4KSBtaW5tYXgoNTBweCwgLXdlYmtpdC1taW4tY29udGVudCkgbWlu
bWF4KDY1cHgsIC13ZWJraXQtbWF4LWNvbnRlbnQpOworfQorCisuc2l6ZWRUb0dyaWRBcmVhIHsK
KyAgICBmb250OiAxMHB4LzEgQWhlbTsKKyAgICAvKiBNYWtlIHVzIGZpdCBvdXIgZ3JpZCBhcmVh
LiAqLworICAgIHdpZHRoOiAxMDAlOworICAgIGhlaWdodDogMTAwJTsKK30KKzwvc3R5bGU+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2NoZWNrLWxheW91dC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0PgorZnVuY3Rpb24gdGVzdFBvc2l0aW9uKGdyaWRFbGVtZW50SUQsIGNvbnRlbnQsIHBv
c2l0aW9uLCBzaXplKQoreworICAgIHZhciBncmlkSXRlbSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoImRpdiIpOworICAgIGdyaWRJdGVtLmNsYXNzTGlzdC5hZGQoInNpemVkVG9HcmlkQXJlYSIp
OworICAgIGdyaWRJdGVtLmlubmVySFRNTCA9IGNvbnRlbnQ7CisgICAgZ3JpZEl0ZW0uc3R5bGUu
d2Via2l0R3JpZENvbHVtbiA9IHBvc2l0aW9uLmNvbHVtbjsKKyAgICBncmlkSXRlbS5zdHlsZS53
ZWJraXRHcmlkUm93ID0gcG9zaXRpb24ucm93OworICAgIGdyaWRJdGVtLnNldEF0dHJpYnV0ZSgi
ZGF0YS1leHBlY3RlZC13aWR0aCIsIHNpemUud2lkdGgpOworICAgIGdyaWRJdGVtLnNldEF0dHJp
YnV0ZSgiZGF0YS1leHBlY3RlZC1oZWlnaHQiLCBzaXplLmhlaWdodCk7CisgICAgdmFyIGdyaWRF
bGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZ3JpZEVsZW1lbnRJRCk7CisgICAgZ3Jp
ZEVsZW1lbnQuYXBwZW5kQ2hpbGQoZ3JpZEl0ZW0pOworICAgIGNoZWNrTGF5b3V0KCIjIiArIGdy
aWRFbGVtZW50SUQpOworfQorCitmdW5jdGlvbiB1cGRhdGVJbXBsaWNpdEdyaWRDb2x1bW4oKQor
eworICAgIHRlc3RQb3NpdGlvbigiY29uc3RyYWluZWRHcmlkIiwgIlhYWFggWFhYWCBYWFhYIiwg
eyAnY29sdW1uJzogJzEwJywgJ3Jvdyc6ICcxNScgfSwgeyAnd2lkdGgnOiAnNDAnLCAnaGVpZ2h0
JzogJzMwJyB9KTsKKworICAgIHRlc3RQb3NpdGlvbigiY29uc3RyYWluZWRHcmlkIiwgIlhYWFgg
WFhYWCBYWFhYIiwgeyAnY29sdW1uJzogJzEnLCAncm93JzogJzEnIH0sIHsgJ3dpZHRoJzogJzUw
JywgJ2hlaWdodCc6ICc3MCcgfSk7CisgICAgdGVzdFBvc2l0aW9uKCJjb25zdHJhaW5lZEdyaWQi
LCAiWFhYWCBYWFhYIFhYWFgiLCB7ICdjb2x1bW4nOiAnMScsICdyb3cnOiAnMicgfSwgeyAnd2lk
dGgnOiAnNTAnLCAnaGVpZ2h0JzogJzMwJyB9KTsKKyAgICB0ZXN0UG9zaXRpb24oImNvbnN0cmFp
bmVkR3JpZCIsICJYWFhYIFhYWFggWFhYWCIsIHsgJ2NvbHVtbic6ICcxJywgJ3Jvdyc6ICczJyB9
LCB7ICd3aWR0aCc6ICc1MCcsICdoZWlnaHQnOiAnNTAnIH0pOworICAgIHRlc3RQb3NpdGlvbigi
Y29uc3RyYWluZWRHcmlkIiwgIlhYWFggWFhYWCBYWFhYIiwgeyAnY29sdW1uJzogJzEnLCAncm93
JzogJzQnIH0sIHsgJ3dpZHRoJzogJzUwJywgJ2hlaWdodCc6ICc2NScgfSk7CisgICAgdGVzdFBv
c2l0aW9uKCJjb25zdHJhaW5lZEdyaWQiLCAiWFhYWCBYWFhYIFhYWFgiLCB7ICdjb2x1bW4nOiAn
MScsICdyb3cnOiAnNScgfSwgeyAnd2lkdGgnOiAnNTAnLCAnaGVpZ2h0JzogJzMwJyB9KTsKKwor
ICAgIHRlc3RQb3NpdGlvbigiY29uc3RyYWluZWRHcmlkIiwgIlhYWFggWFhYWCBYWFhYIiwgeyAn
Y29sdW1uJzogJzInLCAncm93JzogJzEnIH0sIHsgJ3dpZHRoJzogJzQwJywgJ2hlaWdodCc6ICc3
MCcgfSk7CisgICAgdGVzdFBvc2l0aW9uKCJjb25zdHJhaW5lZEdyaWQiLCAiWFhYWCBYWFhYIFhY
WFgiLCB7ICdjb2x1bW4nOiAnMicsICdyb3cnOiAnMicgfSwgeyAnd2lkdGgnOiAnNDAnLCAnaGVp
Z2h0JzogJzMwJyB9KTsKKyAgICB0ZXN0UG9zaXRpb24oImNvbnN0cmFpbmVkR3JpZCIsICJYWFhY
IFhYWFggWFhYWCIsIHsgJ2NvbHVtbic6ICcyJywgJ3Jvdyc6ICczJyB9LCB7ICd3aWR0aCc6ICc0
MCcsICdoZWlnaHQnOiAnNTAnIH0pOworICAgIHRlc3RQb3NpdGlvbigiY29uc3RyYWluZWRHcmlk
IiwgIlhYWFggWFhYWCBYWFhYIiwgeyAnY29sdW1uJzogJzInLCAncm93JzogJzQnIH0sIHsgJ3dp
ZHRoJzogJzQwJywgJ2hlaWdodCc6ICc2NScgfSk7CisgICAgdGVzdFBvc2l0aW9uKCJjb25zdHJh
aW5lZEdyaWQiLCAiWFhYWCBYWFhYIFhYWFgiLCB7ICdjb2x1bW4nOiAnMicsICdyb3cnOiAnNScg
fSwgeyAnd2lkdGgnOiAnNDAnLCAnaGVpZ2h0JzogJzMwJyB9KTsKKworICAgIHRlc3RQb3NpdGlv
bigiY29uc3RyYWluZWRHcmlkIiwgIlhYWFggWFhYWCBYWFhYIiwgeyAnY29sdW1uJzogJzMnLCAn
cm93JzogJzEnIH0sIHsgJ3dpZHRoJzogJzE0MCcsICdoZWlnaHQnOiAnNzAnIH0pOworICAgIHRl
c3RQb3NpdGlvbigiY29uc3RyYWluZWRHcmlkIiwgIlhYWFggWFhYWCBYWFhYIiwgeyAnY29sdW1u
JzogJzMnLCAncm93JzogJzInIH0sIHsgJ3dpZHRoJzogJzE0MCcsICdoZWlnaHQnOiAnMzAnIH0p
OworICAgIHRlc3RQb3NpdGlvbigiY29uc3RyYWluZWRHcmlkIiwgIlhYWFggWFhYWCBYWFhYIiwg
eyAnY29sdW1uJzogJzMnLCAncm93JzogJzMnIH0sIHsgJ3dpZHRoJzogJzE0MCcsICdoZWlnaHQn
OiAnNTAnIH0pOworICAgIHRlc3RQb3NpdGlvbigiY29uc3RyYWluZWRHcmlkIiwgIlhYWFggWFhY
WCBYWFhYIiwgeyAnY29sdW1uJzogJzMnLCAncm93JzogJzQnIH0sIHsgJ3dpZHRoJzogJzE0MCcs
ICdoZWlnaHQnOiAnNjUnIH0pOworICAgIHRlc3RQb3NpdGlvbigiY29uc3RyYWluZWRHcmlkIiwg
IlhYWFggWFhYWCBYWFhYIiwgeyAnY29sdW1uJzogJzMnLCAncm93JzogJzUnIH0sIHsgJ3dpZHRo
JzogJzE0MCcsICdoZWlnaHQnOiAnMzAnIH0pOworCisgICAgdGVzdFBvc2l0aW9uKCJjb25zdHJh
aW5lZEdyaWQiLCAiWFhYWCBYWFhYIFhYWFgiLCB7ICdjb2x1bW4nOiAnNCcsICdyb3cnOiAnMScg
fSwgeyAnd2lkdGgnOiAnNTAnLCAnaGVpZ2h0JzogJzcwJyB9KTsKKyAgICB0ZXN0UG9zaXRpb24o
ImNvbnN0cmFpbmVkR3JpZCIsICJYWFhYIFhYWFggWFhYWCIsIHsgJ2NvbHVtbic6ICc0JywgJ3Jv
dyc6ICcyJyB9LCB7ICd3aWR0aCc6ICc1MCcsICdoZWlnaHQnOiAnMzAnIH0pOworICAgIHRlc3RQ
b3NpdGlvbigiY29uc3RyYWluZWRHcmlkIiwgIlhYWFggWFhYWCBYWFhYIiwgeyAnY29sdW1uJzog
JzQnLCAncm93JzogJzMnIH0sIHsgJ3dpZHRoJzogJzUwJywgJ2hlaWdodCc6ICc1MCcgfSk7Cisg
ICAgdGVzdFBvc2l0aW9uKCJjb25zdHJhaW5lZEdyaWQiLCAiWFhYWCBYWFhYIFhYWFgiLCB7ICdj
b2x1bW4nOiAnNCcsICdyb3cnOiAnNCcgfSwgeyAnd2lkdGgnOiAnNTAnLCAnaGVpZ2h0JzogJzY1
JyB9KTsKKyAgICB0ZXN0UG9zaXRpb24oImNvbnN0cmFpbmVkR3JpZCIsICJYWFhYIFhYWFggWFhY
WCIsIHsgJ2NvbHVtbic6ICc0JywgJ3Jvdyc6ICc1JyB9LCB7ICd3aWR0aCc6ICc1MCcsICdoZWln
aHQnOiAnMzAnIH0pOworCisgICAgdGVzdFBvc2l0aW9uKCJ1bmNvbnN0cmFpbmVkR3JpZCIsICJY
WFhYWFggWFhYWFhYIiwgeyAnY29sdW1uJzogJzEwJywgJ3Jvdyc6ICcxNScgfSwgeyAnd2lkdGgn
OiAnMTMwJywgJ2hlaWdodCc6ICcxMCcgfSk7CisKKyAgICB0ZXN0UG9zaXRpb24oInVuY29uc3Ry
YWluZWRHcmlkIiwgIlhYWFhYWCBYWFhYWFgiLCB7ICdjb2x1bW4nOiAnMScsICdyb3cnOiAnMScg
fSwgeyAnd2lkdGgnOiAnNTAnLCAnaGVpZ2h0JzogJzcwJyB9KTsKKyAgICB0ZXN0UG9zaXRpb24o
InVuY29uc3RyYWluZWRHcmlkIiwgIlhYWFhYWCBYWFhYWFgiLCB7ICdjb2x1bW4nOiAnMicsICdy
b3cnOiAnMScgfSwgeyAnd2lkdGgnOiAnNjAnLCAnaGVpZ2h0JzogJzcwJyB9KTsKKyAgICB0ZXN0
UG9zaXRpb24oInVuY29uc3RyYWluZWRHcmlkIiwgIlhYWFhYWCBYWFhYWFgiLCB7ICdjb2x1bW4n
OiAnMycsICdyb3cnOiAnMScgfSwgeyAnd2lkdGgnOiAnMTMwJywgJ2hlaWdodCc6ICc3MCcgfSk7
CisgICAgdGVzdFBvc2l0aW9uKCJ1bmNvbnN0cmFpbmVkR3JpZCIsICJYWFhYWFggWFhYWFhYIiwg
eyAnY29sdW1uJzogJzQnLCAncm93JzogJzEnIH0sIHsgJ3dpZHRoJzogJzYwJywgJ2hlaWdodCc6
ICc3MCcgfSk7CisgICAgdGVzdFBvc2l0aW9uKCJ1bmNvbnN0cmFpbmVkR3JpZCIsICJYWFhYWFgg
WFhYWFhYIiwgeyAnY29sdW1uJzogJzUnLCAncm93JzogJzEnIH0sIHsgJ3dpZHRoJzogJzEzMCcs
ICdoZWlnaHQnOiAnNzAnIH0pOworCisgICAgdGVzdFBvc2l0aW9uKCJ1bmNvbnN0cmFpbmVkR3Jp
ZCIsICJYWFhYWFggWFhYWFhYIiwgeyAnY29sdW1uJzogJzEnLCAncm93JzogJzInIH0sIHsgJ3dp
ZHRoJzogJzUwJywgJ2hlaWdodCc6ICc3MCcgfSk7CisgICAgdGVzdFBvc2l0aW9uKCJ1bmNvbnN0
cmFpbmVkR3JpZCIsICJYWFhYWFggWFhYWFhYIiwgeyAnY29sdW1uJzogJzInLCAncm93JzogJzIn
IH0sIHsgJ3dpZHRoJzogJzYwJywgJ2hlaWdodCc6ICc3MCcgfSk7CisgICAgdGVzdFBvc2l0aW9u
KCJ1bmNvbnN0cmFpbmVkR3JpZCIsICJYWFhYWFggWFhYWFhYIiwgeyAnY29sdW1uJzogJzMnLCAn
cm93JzogJzInIH0sIHsgJ3dpZHRoJzogJzEzMCcsICdoZWlnaHQnOiAnNzAnIH0pOworICAgIHRl
c3RQb3NpdGlvbigidW5jb25zdHJhaW5lZEdyaWQiLCAiWFhYWFhYIFhYWFhYWCIsIHsgJ2NvbHVt
bic6ICc0JywgJ3Jvdyc6ICcyJyB9LCB7ICd3aWR0aCc6ICc2MCcsICdoZWlnaHQnOiAnNzAnIH0p
OworICAgIHRlc3RQb3NpdGlvbigidW5jb25zdHJhaW5lZEdyaWQiLCAiWFhYWFhYIFhYWFhYWCIs
IHsgJ2NvbHVtbic6ICc1JywgJ3Jvdyc6ICcyJyB9LCB7ICd3aWR0aCc6ICcxMzAnLCAnaGVpZ2h0
JzogJzcwJyB9KTsKKworICAgIHRlc3RQb3NpdGlvbigidW5jb25zdHJhaW5lZEdyaWQiLCAiWFhY
WFhYIFhYWFhYWCIsIHsgJ2NvbHVtbic6ICcxJywgJ3Jvdyc6ICczJyB9LCB7ICd3aWR0aCc6ICc1
MCcsICdoZWlnaHQnOiAnNTAnIH0pOworICAgIHRlc3RQb3NpdGlvbigidW5jb25zdHJhaW5lZEdy
aWQiLCAiWFhYWFhYIFhYWFhYWCIsIHsgJ2NvbHVtbic6ICcyJywgJ3Jvdyc6ICczJyB9LCB7ICd3
aWR0aCc6ICc2MCcsICdoZWlnaHQnOiAnNTAnIH0pOworICAgIHRlc3RQb3NpdGlvbigidW5jb25z
dHJhaW5lZEdyaWQiLCAiWFhYWFhYIFhYWFhYWCIsIHsgJ2NvbHVtbic6ICczJywgJ3Jvdyc6ICcz
JyB9LCB7ICd3aWR0aCc6ICcxMzAnLCAnaGVpZ2h0JzogJzUwJyB9KTsKKyAgICB0ZXN0UG9zaXRp
b24oInVuY29uc3RyYWluZWRHcmlkIiwgIlhYWFhYWCBYWFhYWFgiLCB7ICdjb2x1bW4nOiAnNCcs
ICdyb3cnOiAnMycgfSwgeyAnd2lkdGgnOiAnNjAnLCAnaGVpZ2h0JzogJzUwJyB9KTsKKyAgICB0
ZXN0UG9zaXRpb24oInVuY29uc3RyYWluZWRHcmlkIiwgIlhYWFhYWCBYWFhYWFgiLCB7ICdjb2x1
bW4nOiAnNScsICdyb3cnOiAnMycgfSwgeyAnd2lkdGgnOiAnMTMwJywgJ2hlaWdodCc6ICc1MCcg
fSk7CisKKyAgICB0ZXN0UG9zaXRpb24oInVuY29uc3RyYWluZWRHcmlkIiwgIlhYWFhYWCBYWFhY
WFgiLCB7ICdjb2x1bW4nOiAnMScsICdyb3cnOiAnNCcgfSwgeyAnd2lkdGgnOiAnNTAnLCAnaGVp
Z2h0JzogJzY1JyB9KTsKKyAgICB0ZXN0UG9zaXRpb24oInVuY29uc3RyYWluZWRHcmlkIiwgIlhY
WFhYWCBYWFhYWFgiLCB7ICdjb2x1bW4nOiAnMicsICdyb3cnOiAnNCcgfSwgeyAnd2lkdGgnOiAn
NjAnLCAnaGVpZ2h0JzogJzY1JyB9KTsKKyAgICB0ZXN0UG9zaXRpb24oInVuY29uc3RyYWluZWRH
cmlkIiwgIlhYWFhYWCBYWFhYWFgiLCB7ICdjb2x1bW4nOiAnMycsICdyb3cnOiAnNCcgfSwgeyAn
d2lkdGgnOiAnMTMwJywgJ2hlaWdodCc6ICc2NScgfSk7CisgICAgdGVzdFBvc2l0aW9uKCJ1bmNv
bnN0cmFpbmVkR3JpZCIsICJYWFhYWFggWFhYWFhYIiwgeyAnY29sdW1uJzogJzQnLCAncm93Jzog
JzQnIH0sIHsgJ3dpZHRoJzogJzYwJywgJ2hlaWdodCc6ICc2NScgfSk7CisgICAgdGVzdFBvc2l0
aW9uKCJ1bmNvbnN0cmFpbmVkR3JpZCIsICJYWFhYWFggWFhYWFhYIiwgeyAnY29sdW1uJzogJzUn
LCAncm93JzogJzQnIH0sIHsgJ3dpZHRoJzogJzEzMCcsICdoZWlnaHQnOiAnNjUnIH0pOworfQor
d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCB1cGRhdGVJbXBsaWNpdEdyaWRDb2x1bW4s
IGZhbHNlKTsKKzwvc2NyaXB0PgorPGJvZHk+CisKKzxwPlRoaXMgdGVzdCBjaGVja3MgdGhhdCB3
ZSBwcm9wZXJseSByZWNvbXB1dGUgb3VyIGdyaWQgdHJhY2tzJyBzaXplcyB3aGVuIHdlIGFkZCBt
b3JlIGdyaWQgaXRlbXMuPC9wPgorCis8ZGl2IGNsYXNzPSJjb25zdHJhaW5lZENvbnRhaW5lciI+
CisgICAgPGRpdiBjbGFzcz0iZ3JpZCBncmlkRml4ZWRDb250ZW50IiBpZD0iY29uc3RyYWluZWRH
cmlkIj48L2Rpdj4KKzwvZGl2PgorCis8IS0tIEFsbG93IHRoZSBleHRyYSBsb2dpY2FsIHNwYWNl
IGRpc3RyaWJ1dGlvbiB0byBvY2N1ci4gLS0+Cis8ZGl2IHN0eWxlPSJ3aWR0aDogMTAwMHB4OyBo
ZWlnaHQ6IDEwMDBweCI+CisgICAgPGRpdiBjbGFzcz0iZ3JpZCBncmlkRml4ZWRDb250ZW50IiBp
ZD0idW5jb25zdHJhaW5lZEdyaWQiPjxkaXYgY2xhc3M9InNpemVkVG9HcmlkQXJlYSI+WFhYWFhY
IFhYWFhYWDwvZGl2PjwvZGl2PgorPC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtaXRlbS1yZW1vdmFsLXRy
YWNrLWJyZWFkdGgtdXBkYXRlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdy
aWQtbGF5b3V0L2dyaWQtaXRlbS1yZW1vdmFsLXRyYWNrLWJyZWFkdGgtdXBkYXRlLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mN2Y0ZjU2MjdjYWI5MmI3ZTc1NjdhNjczM2EzMDJkMmY1OTM0MDE3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3Jp
ZC1pdGVtLXJlbW92YWwtdHJhY2stYnJlYWR0aC11cGRhdGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsNjIgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgdHJhY2tzJyBicmVhZHRoIGFyZSBy
ZWNvbXB1dGVkIGFmdGVyIHJlbW92aW5nIGEgZ3JpZCBpdGVtLgorCitYWFggWFhYIFhYWAorUEFT
UworUEFTUworUEFTUworWFhYIFhYWCBYWFgKK1BBU1MKK1BBU1MKK1BBU1MKK1hYWCBYWFggWFhY
CitQQVNTCitQQVNTCitQQVNTCitYWFggWFhYIFhYWAorUEFTUworUEFTUworUEFTUworWFhYIFhY
WCBYWFgKK1BBU1MKK1BBU1MKK1BBU1MKK1hYIFhYIFhYIFhYIFhYIFhYCitQQVNTCitQQVNTCitQ
QVNTCitYWCBYWCBYWCBYWCBYWCBYWAorUEFTUworUEFTUworUEFTUworWFggWFggWFggWFggWFgg
WFgKK1BBU1MKK1BBU1MKK1BBU1MKK1hYIFhYIFhYIFhYIFhYIFhYCitQQVNTCitQQVNTCitQQVNT
CitYWCBYWCBYWCBYWCBYWCBYWAorUEFTUworUEFTUworUEFTUworWFggWFggWFggWFggWFggWFgK
K1BBU1MKK1BBU1MKK1BBU1MKK1hYIFhYIFhYIFhYIFhYIFhYCitQQVNTCitQQVNTCitQQVNTCitY
WCBYWCBYWCBYWCBYWCBYWAorUEFTUworUEFTUworUEFTUworWFggWFggWFggWFggWFggWFgKK1BB
U1MKK1BBU1MKK1BBU1MKK1hYIFhYIFhYIFhYIFhYIFhYCitQQVNTCitQQVNTCitQQVNTCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLWl0ZW0tcmVtb3Zh
bC10cmFjay1icmVhZHRoLXVwZGF0ZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1s
YXlvdXQvZ3JpZC1pdGVtLXJlbW92YWwtdHJhY2stYnJlYWR0aC11cGRhdGUuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xY2Q4MDkwMjRjZmY0ZDMyNjBlZTAzOTg4ODJhNWNjNzQ2MDM1M2VlCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC1pdGVtLXJlbW92
YWwtdHJhY2stYnJlYWR0aC11cGRhdGUuaHRtbApAQCAtMCwwICsxLDIyNCBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxzY3JpcHQ+CitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVz
dFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdENTU0dyaWRMYXlvdXRFbmFibGVkIiwg
MSk7Cis8L3NjcmlwdD4KKzxsaW5rIGhyZWY9InJlc291cmNlcy9ncmlkLmNzcyIgcmVsPSJzdHls
ZXNoZWV0Ij4KKzxzdHlsZT4KKy5ncmlkQXV0b0NvbnRlbnQgeworICAgIC13ZWJraXQtZ3JpZC1j
b2x1bW5zOiBhdXRvOworICAgIC13ZWJraXQtZ3JpZC1yb3dzOiBhdXRvOworfQorCisuZ3JpZE1p
bkNvbnRlbnRGaXhlZCB7CisgICAgLXdlYmtpdC1ncmlkLWNvbHVtbnM6IG1pbm1heCgtd2Via2l0
LW1pbi1jb250ZW50LCAxMDBweCk7CisgICAgLXdlYmtpdC1ncmlkLXJvd3M6IG1pbm1heCgtd2Vi
a2l0LW1pbi1jb250ZW50LCA0MHB4KTsKK30KKworLmdyaWRNYXhDb250ZW50Rml4ZWQgeworICAg
IC13ZWJraXQtZ3JpZC1jb2x1bW5zOiBtaW5tYXgoLXdlYmtpdC1tYXgtY29udGVudCwgMTUwcHgp
OworICAgIC13ZWJraXQtZ3JpZC1yb3dzOiBtaW5tYXgoLXdlYmtpdC1tYXgtY29udGVudCwgNDBw
eCk7Cit9CisKKy5ncmlkRml4ZWRNaW5Db250ZW50IHsKKyAgICAtd2Via2l0LWdyaWQtY29sdW1u
czogbWlubWF4KDEwMHB4LCAtd2Via2l0LW1pbi1jb250ZW50KTsKKyAgICAtd2Via2l0LWdyaWQt
cm93czogbWlubWF4KDQwcHgsIC13ZWJraXQtbWluLWNvbnRlbnQpOworfQorCisuZ3JpZEZpeGVk
TWF4Q29udGVudCB7CisgICAgLXdlYmtpdC1ncmlkLWNvbHVtbnM6IG1pbm1heCgxMDBweCwgLXdl
YmtpdC1tYXgtY29udGVudCk7CisgICAgLXdlYmtpdC1ncmlkLXJvd3M6IG1pbm1heCg0MHB4LCAt
d2Via2l0LW1heC1jb250ZW50KTsKK30KKworLmxlc3NDb25zdHJhaW5lZENvbnRhaW5lciB7Cisg
ICAgd2lkdGg6IDYwcHg7CisgICAgaGVpZ2h0OiAyMHB4OworfQorCisuZmlyc3RSb3dGaXJzdENv
bHVtbiB7CisgICAgZm9udDogMTBweC8xIEFoZW07CisgICAgLyogTWFrZSB1cyBmaXQgb3VyIGdy
aWQgYXJlYS4gKi8KKyAgICB3aWR0aDogMTAwJTsKKyAgICBoZWlnaHQ6IDEwMCU7Cit9Cis8L3N0
eWxlPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9jaGVjay1sYXlvdXQuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9uIHRlc3RSZW1vdmFsKGdyaWRFbGVtZW50SUQsIHNpemUx
LCBzaXplMiwgc2l6ZTMpCit7CisgICAgdmFyIGdyaWRFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoZ3JpZEVsZW1lbnRJRCk7CisgICAgdmFyIGdyaWRJdGVtMSA9IGdyaWRFbGVtZW50
LmZpcnN0Q2hpbGQubmV4dFNpYmxpbmc7CisgICAgdmFyIGdyaWRJdGVtMiA9IGdyaWRJdGVtMS5u
ZXh0U2libGluZy5uZXh0U2libGluZzsKKyAgICB2YXIgZ3JpZEl0ZW0zID0gZ3JpZEl0ZW0yLm5l
eHRTaWJsaW5nLm5leHRTaWJsaW5nOworICAgIGdyaWRJdGVtMS5zZXRBdHRyaWJ1dGUoImRhdGEt
ZXhwZWN0ZWQtd2lkdGgiLCBzaXplMS53aWR0aCk7CisgICAgZ3JpZEl0ZW0xLnNldEF0dHJpYnV0
ZSgiZGF0YS1leHBlY3RlZC1oZWlnaHQiLCBzaXplMS5oZWlnaHQpOworICAgIGdyaWRJdGVtMi5z
ZXRBdHRyaWJ1dGUoImRhdGEtZXhwZWN0ZWQtd2lkdGgiLCBzaXplMS53aWR0aCk7CisgICAgZ3Jp
ZEl0ZW0yLnNldEF0dHJpYnV0ZSgiZGF0YS1leHBlY3RlZC1oZWlnaHQiLCBzaXplMS5oZWlnaHQp
OworICAgIGdyaWRJdGVtMy5zZXRBdHRyaWJ1dGUoImRhdGEtZXhwZWN0ZWQtd2lkdGgiLCBzaXpl
MS53aWR0aCk7CisgICAgZ3JpZEl0ZW0zLnNldEF0dHJpYnV0ZSgiZGF0YS1leHBlY3RlZC1oZWln
aHQiLCBzaXplMS5oZWlnaHQpOworICAgIGNoZWNrTGF5b3V0KCIjIiArIGdyaWRFbGVtZW50SUQp
OworCisgICAgZ3JpZEVsZW1lbnQucmVtb3ZlQ2hpbGQoZ3JpZEl0ZW0xKTsKKyAgICBncmlkSXRl
bTIuc2V0QXR0cmlidXRlKCJkYXRhLWV4cGVjdGVkLXdpZHRoIiwgc2l6ZTIud2lkdGgpOworICAg
IGdyaWRJdGVtMi5zZXRBdHRyaWJ1dGUoImRhdGEtZXhwZWN0ZWQtaGVpZ2h0Iiwgc2l6ZTIuaGVp
Z2h0KTsKKyAgICBncmlkSXRlbTMuc2V0QXR0cmlidXRlKCJkYXRhLWV4cGVjdGVkLXdpZHRoIiwg
c2l6ZTIud2lkdGgpOworICAgIGdyaWRJdGVtMy5zZXRBdHRyaWJ1dGUoImRhdGEtZXhwZWN0ZWQt
aGVpZ2h0Iiwgc2l6ZTIuaGVpZ2h0KTsKKyAgICBjaGVja0xheW91dCgiIyIgKyBncmlkRWxlbWVu
dElEKTsKKworICAgIGdyaWRFbGVtZW50LnJlbW92ZUNoaWxkKGdyaWRJdGVtMik7CisgICAgZ3Jp
ZEl0ZW0zLnNldEF0dHJpYnV0ZSgiZGF0YS1leHBlY3RlZC13aWR0aCIsIHNpemUzLndpZHRoKTsK
KyAgICBncmlkSXRlbTMuc2V0QXR0cmlidXRlKCJkYXRhLWV4cGVjdGVkLWhlaWdodCIsIHNpemUz
LmhlaWdodCk7CisgICAgY2hlY2tMYXlvdXQoIiMiICsgZ3JpZEVsZW1lbnRJRCk7Cit9CisKK2Z1
bmN0aW9uIHRlc3RSZW1vdmFscygpCit7CisgICAgdGVzdFJlbW92YWwoImNvbnN0cmFpbmVkQXV0
b0dyaWQiLCB7ICd3aWR0aCc6ICc1MCcsICdoZWlnaHQnOiAnNDAnIH0sIHsgJ3dpZHRoJzogJzQw
JywgJ2hlaWdodCc6ICc0MCcgfSwgeyAnd2lkdGgnOiAnMzAnLCAnaGVpZ2h0JzogJzMwJyB9KTsK
KyAgICB0ZXN0UmVtb3ZhbCgiY29uc3RyYWluZWRNaW5Db250ZW50Rml4ZWRHcmlkIiwgeyAnd2lk
dGgnOiAnNTAnLCAnaGVpZ2h0JzogJzQwJyB9LCB7ICd3aWR0aCc6ICc0MCcsICdoZWlnaHQnOiAn
NDAnIH0sIHsgJ3dpZHRoJzogJzMwJywgJ2hlaWdodCc6ICczMCcgfSk7CisgICAgdGVzdFJlbW92
YWwoImNvbnN0cmFpbmVkTWF4Q29udGVudEZpeGVkR3JpZCIsIHsgJ3dpZHRoJzogJzE5MCcsICdo
ZWlnaHQnOiAnMTAnIH0sIHsgJ3dpZHRoJzogJzE5MCcsICdoZWlnaHQnOiAnMTAnIH0sIHsgJ3dp
ZHRoJzogJzExMCcsICdoZWlnaHQnOiAnMTAnIH0pOworICAgIHRlc3RSZW1vdmFsKCJjb25zdHJh
aW5lZEZpeGVkTWluQ29udGVudEdyaWQiLCB7ICd3aWR0aCc6ICcxMDAnLCAnaGVpZ2h0JzogJzQw
JyB9LCB7ICd3aWR0aCc6ICcxMDAnLCAnaGVpZ2h0JzogJzQwJyB9LCB7ICd3aWR0aCc6ICcxMDAn
LCAnaGVpZ2h0JzogJzQwJyB9KTsKKyAgICB0ZXN0UmVtb3ZhbCgiY29uc3RyYWluZWRGaXhlZE1h
eENvbnRlbnRHcmlkIiwgeyAnd2lkdGgnOiAnMTAwJywgJ2hlaWdodCc6ICc0MCcgfSwgeyAnd2lk
dGgnOiAnMTAwJywgJ2hlaWdodCc6ICc0MCcgfSwgeyAnd2lkdGgnOiAnMTAwJywgJ2hlaWdodCc6
ICc0MCcgfSk7CisKKyAgICB0ZXN0UmVtb3ZhbCgidW5jb25zdHJhaW5lZEF1dG9HcmlkIiwgeyAn
d2lkdGgnOiAnMzkwJywgJ2hlaWdodCc6ICcxMCcgfSwgeyAnd2lkdGgnOiAnMzUwJywgJ2hlaWdo
dCc6ICcxMCcgfSwgeyAnd2lkdGgnOiAnMTcwJywgJ2hlaWdodCc6ICcxMCcgfSk7CisgICAgdGVz
dFJlbW92YWwoInVuY29uc3RyYWluZWRNaW5Db250ZW50Rml4ZWRHcmlkIiwgeyAnd2lkdGgnOiAn
MTAwJywgJ2hlaWdodCc6ICc2MCcgfSwgeyAnd2lkdGgnOiAnMTAwJywgJ2hlaWdodCc6ICc2MCcg
fSwgeyAnd2lkdGgnOiAnMTAwJywgJ2hlaWdodCc6ICc0MCcgfSk7CisgICAgdGVzdFJlbW92YWwo
InVuY29uc3RyYWluZWRNYXhDb250ZW50Rml4ZWRHcmlkIiwgeyAnd2lkdGgnOiAnMzkwJywgJ2hl
aWdodCc6ICc0MCcgfSwgeyAnd2lkdGgnOiAnMzUwJywgJ2hlaWdodCc6ICc0MCcgfSwgeyAnd2lk
dGgnOiAnMTcwJywgJ2hlaWdodCc6ICc0MCcgfSk7CisgICAgdGVzdFJlbW92YWwoInVuY29uc3Ry
YWluZWRGaXhlZE1pbkNvbnRlbnRHcmlkIiwgeyAnd2lkdGgnOiAnMTAwJywgJ2hlaWdodCc6ICc2
MCcgfSwgeyAnd2lkdGgnOiAnMTAwJywgJ2hlaWdodCc6ICc2MCcgfSwgeyAnd2lkdGgnOiAnMTAw
JywgJ2hlaWdodCc6ICc0MCcgfSk7CisgICAgdGVzdFJlbW92YWwoInVuY29uc3RyYWluZWRGaXhl
ZE1heENvbnRlbnRHcmlkIiwgeyAnd2lkdGgnOiAnMzkwJywgJ2hlaWdodCc6ICc0MCcgfSwgeyAn
d2lkdGgnOiAnMzUwJywgJ2hlaWdodCc6ICc0MCcgfSwgeyAnd2lkdGgnOiAnMTcwJywgJ2hlaWdo
dCc6ICc0MCcgfSk7CisKKyAgICB0ZXN0UmVtb3ZhbCgibGVzc0NvbnN0cmFpbmVkQXV0b0dyaWQi
LCB7ICd3aWR0aCc6ICc2MCcsICdoZWlnaHQnOiAnOTAnIH0sIHsgJ3dpZHRoJzogJzYwJywgJ2hl
aWdodCc6ICc2MCcgfSwgeyAnd2lkdGgnOiAnNjAnLCAnaGVpZ2h0JzogJzMwJyB9KTsKKyAgICB0
ZXN0UmVtb3ZhbCgibGVzc0NvbnN0cmFpbmVkTWluQ29udGVudEZpeGVkR3JpZCIsIHsgJ3dpZHRo
JzogJzYwJywgJ2hlaWdodCc6ICc5MCcgfSwgeyAnd2lkdGgnOiAnNjAnLCAnaGVpZ2h0JzogJzYw
JyB9LCB7ICd3aWR0aCc6ICc2MCcsICdoZWlnaHQnOiAnMzAnIH0pOworICAgIHRlc3RSZW1vdmFs
KCJsZXNzQ29uc3RyYWluZWRNYXhDb250ZW50Rml4ZWRHcmlkIiwgeyAnd2lkdGgnOiAnMzUwJywg
J2hlaWdodCc6ICcyMCcgfSwgeyAnd2lkdGgnOiAnMzUwJywgJ2hlaWdodCc6ICcyMCcgfSwgeyAn
d2lkdGgnOiAnMTcwJywgJ2hlaWdodCc6ICcyMCcgfSk7CisgICAgdGVzdFJlbW92YWwoImxlc3ND
b25zdHJhaW5lZEZpeGVkTWluQ29udGVudEdyaWQiLCB7ICd3aWR0aCc6ICcxMDAnLCAnaGVpZ2h0
JzogJzQwJyB9LCB7ICd3aWR0aCc6ICcxMDAnLCAnaGVpZ2h0JzogJzQwJyB9LCB7ICd3aWR0aCc6
ICcxMDAnLCAnaGVpZ2h0JzogJzQwJyB9KTsKKyAgICB0ZXN0UmVtb3ZhbCgibGVzc0NvbnN0cmFp
bmVkRml4ZWRNYXhDb250ZW50R3JpZCIsIHsgJ3dpZHRoJzogJzEwMCcsICdoZWlnaHQnOiAnNDAn
IH0sIHsgJ3dpZHRoJzogJzEwMCcsICdoZWlnaHQnOiAnNDAnIH0sIHsgJ3dpZHRoJzogJzEwMCcs
ICdoZWlnaHQnOiAnNDAnIH0pOworfQord2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCB0
ZXN0UmVtb3ZhbHMsIGZhbHNlKTsKKzwvc2NyaXB0PgorPGJvZHk+CisKKzxwPlRoaXMgdGVzdCBj
aGVja3MgdGhhdCB0aGUgdHJhY2tzJyBicmVhZHRoIGFyZSByZWNvbXB1dGVkIGFmdGVyIHJlbW92
aW5nIGEgZ3JpZCBpdGVtLjwvcD4KKworPGRpdiBjbGFzcz0iY29uc3RyYWluZWRDb250YWluZXIi
PgorICAgIDxkaXYgY2xhc3M9ImdyaWQgZ3JpZEF1dG9Db250ZW50IiBpZD0iY29uc3RyYWluZWRB
dXRvR3JpZCI+CisgICAgICAgIDxkaXYgY2xhc3M9ImZpcnN0Um93Rmlyc3RDb2x1bW4iPlhYWFhY
IFhYWFhYIFhYWFhYPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImZpcnN0Um93Rmlyc3RDb2x1
bW4iPlhYWFggWFhYWCBYWFhYIFhYWFg8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZmlyc3RS
b3dGaXJzdENvbHVtbiI+WFhYIFhYWCBYWFg8L2Rpdj4KKyAgICA8L2Rpdj4KKzwvZGl2PgorCis8
ZGl2IGNsYXNzPSJjb25zdHJhaW5lZENvbnRhaW5lciI+CisgICAgPGRpdiBjbGFzcz0iZ3JpZCBn
cmlkTWluQ29udGVudEZpeGVkIiBpZD0iY29uc3RyYWluZWRNaW5Db250ZW50Rml4ZWRHcmlkIj4K
KyAgICAgICAgPGRpdiBjbGFzcz0iZmlyc3RSb3dGaXJzdENvbHVtbiI+WFhYWFggWFhYWFggWFhY
WFg8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZmlyc3RSb3dGaXJzdENvbHVtbiI+WFhYWCBY
WFhYIFhYWFggWFhYWDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJmaXJzdFJvd0ZpcnN0Q29s
dW1uIj5YWFggWFhYIFhYWDwvZGl2PgorICAgIDwvZGl2PgorPC9kaXY+CisKKzxkaXYgY2xhc3M9
ImNvbnN0cmFpbmVkQ29udGFpbmVyIj4KKyAgICA8ZGl2IGNsYXNzPSJncmlkIGdyaWRNYXhDb250
ZW50Rml4ZWQiIGlkPSJjb25zdHJhaW5lZE1heENvbnRlbnRGaXhlZEdyaWQiPgorICAgICAgICA8
ZGl2IGNsYXNzPSJmaXJzdFJvd0ZpcnN0Q29sdW1uIj5YWFhYWCBYWFhYWCBYWFhYWDwvZGl2Pgor
ICAgICAgICA8ZGl2IGNsYXNzPSJmaXJzdFJvd0ZpcnN0Q29sdW1uIj5YWFhYIFhYWFggWFhYWCBY
WFhYPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImZpcnN0Um93Rmlyc3RDb2x1bW4iPlhYWCBY
WFggWFhYPC9kaXY+CisgICAgPC9kaXY+Cis8L2Rpdj4KKworPGRpdiBjbGFzcz0iY29uc3RyYWlu
ZWRDb250YWluZXIiPgorICAgIDxkaXYgY2xhc3M9ImdyaWQgZ3JpZEZpeGVkTWluQ29udGVudCIg
aWQ9ImNvbnN0cmFpbmVkRml4ZWRNaW5Db250ZW50R3JpZCI+CisgICAgICAgIDxkaXYgY2xhc3M9
ImZpcnN0Um93Rmlyc3RDb2x1bW4iPlhYWFhYIFhYWFhYIFhYWFhYPC9kaXY+CisgICAgICAgIDxk
aXYgY2xhc3M9ImZpcnN0Um93Rmlyc3RDb2x1bW4iPlhYWFggWFhYWCBYWFhYIFhYWFg8L2Rpdj4K
KyAgICAgICAgPGRpdiBjbGFzcz0iZmlyc3RSb3dGaXJzdENvbHVtbiI+WFhYIFhYWCBYWFg8L2Rp
dj4KKyAgICA8L2Rpdj4KKzwvZGl2PgorCis8ZGl2IGNsYXNzPSJjb25zdHJhaW5lZENvbnRhaW5l
ciI+CisgICAgPGRpdiBjbGFzcz0iZ3JpZCBncmlkRml4ZWRNYXhDb250ZW50IiBpZD0iY29uc3Ry
YWluZWRGaXhlZE1heENvbnRlbnRHcmlkIj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZmlyc3RSb3dG
aXJzdENvbHVtbiI+WFhYWFggWFhYWFggWFhYWFg8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0i
Zmlyc3RSb3dGaXJzdENvbHVtbiI+WFhYWCBYWFhYIFhYWFggWFhYWDwvZGl2PgorICAgICAgICA8
ZGl2IGNsYXNzPSJmaXJzdFJvd0ZpcnN0Q29sdW1uIj5YWFggWFhYIFhYWDwvZGl2PgorICAgIDwv
ZGl2PgorPC9kaXY+CisKKzwhLS0gVGhlIGNvbnRhaW5lciBpcyBiaWcgZW5vdWdoIHRvIGFsbG93
IGFsbCB0aGUgZXh0cmEgc3BhY2UgZGlzdHJpYnV0aW9uIHdlIHdhbnQuIC0tPgorPGRpdiBjbGFz
cz0idW5jb25zdHJhaW5lZENvbnRhaW5lciI+CisgICAgPGRpdiBjbGFzcz0iZ3JpZCBncmlkQXV0
b0NvbnRlbnQiIGlkPSJ1bmNvbnN0cmFpbmVkQXV0b0dyaWQiPgorICAgICAgICA8ZGl2IGNsYXNz
PSJmaXJzdFJvd0ZpcnN0Q29sdW1uIj5YWFggWFhYIFhYWCBYWFggWFhYIFhYWCBYWFggWFhYIFhY
WCBYWFg8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZmlyc3RSb3dGaXJzdENvbHVtbiI+WFhY
WFggWFhYWFggWFhYWFggWFhYWFggWFhYWFggWFhYWFg8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFz
cz0iZmlyc3RSb3dGaXJzdENvbHVtbiI+WFggWFggWFggWFggWFggWFg8L2Rpdj4KKyAgICA8L2Rp
dj4KKzwvZGl2PgorCis8ZGl2IGNsYXNzPSJ1bmNvbnN0cmFpbmVkQ29udGFpbmVyIj4KKyAgICA8
ZGl2IGNsYXNzPSJncmlkIGdyaWRNaW5Db250ZW50Rml4ZWQiIGlkPSJ1bmNvbnN0cmFpbmVkTWlu
Q29udGVudEZpeGVkR3JpZCI+CisgICAgICAgIDxkaXYgY2xhc3M9ImZpcnN0Um93Rmlyc3RDb2x1
bW4iPlhYWCBYWFggWFhYIFhYWCBYWFggWFhYIFhYWCBYWFggWFhYIFhYWDwvZGl2PgorICAgICAg
ICA8ZGl2IGNsYXNzPSJmaXJzdFJvd0ZpcnN0Q29sdW1uIj5YWFhYWCBYWFhYWCBYWFhYWCBYWFhY
WCBYWFhYWCBYWFhYWDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJmaXJzdFJvd0ZpcnN0Q29s
dW1uIj5YWCBYWCBYWCBYWCBYWCBYWDwvZGl2PgorICAgIDwvZGl2PgorPC9kaXY+CisKKzxkaXYg
Y2xhc3M9InVuY29uc3RyYWluZWRDb250YWluZXIiPgorICAgIDxkaXYgY2xhc3M9ImdyaWQgZ3Jp
ZE1heENvbnRlbnRGaXhlZCIgaWQ9InVuY29uc3RyYWluZWRNYXhDb250ZW50Rml4ZWRHcmlkIj4K
KyAgICAgICAgPGRpdiBjbGFzcz0iZmlyc3RSb3dGaXJzdENvbHVtbiI+WFhYIFhYWCBYWFggWFhY
IFhYWCBYWFggWFhYIFhYWCBYWFggWFhYPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImZpcnN0
Um93Rmlyc3RDb2x1bW4iPlhYWFhYIFhYWFhYIFhYWFhYIFhYWFhYIFhYWFhYIFhYWFhYPC9kaXY+
CisgICAgICAgIDxkaXYgY2xhc3M9ImZpcnN0Um93Rmlyc3RDb2x1bW4iPlhYIFhYIFhYIFhYIFhY
IFhYPC9kaXY+CisgICAgPC9kaXY+Cis8L2Rpdj4KKworPGRpdiBjbGFzcz0idW5jb25zdHJhaW5l
ZENvbnRhaW5lciI+CisgICAgPGRpdiBjbGFzcz0iZ3JpZCBncmlkRml4ZWRNaW5Db250ZW50IiBp
ZD0idW5jb25zdHJhaW5lZEZpeGVkTWluQ29udGVudEdyaWQiPgorICAgICAgICA8ZGl2IGNsYXNz
PSJmaXJzdFJvd0ZpcnN0Q29sdW1uIj5YWFggWFhYIFhYWCBYWFggWFhYIFhYWCBYWFggWFhYIFhY
WCBYWFg8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZmlyc3RSb3dGaXJzdENvbHVtbiI+WFhY
WFggWFhYWFggWFhYWFggWFhYWFggWFhYWFggWFhYWFg8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFz
cz0iZmlyc3RSb3dGaXJzdENvbHVtbiI+WFggWFggWFggWFggWFggWFg8L2Rpdj4KKyAgICA8L2Rp
dj4KKzwvZGl2PgorCis8ZGl2IGNsYXNzPSJ1bmNvbnN0cmFpbmVkQ29udGFpbmVyIj4KKyAgICA8
ZGl2IGNsYXNzPSJncmlkIGdyaWRGaXhlZE1heENvbnRlbnQiIGlkPSJ1bmNvbnN0cmFpbmVkRml4
ZWRNYXhDb250ZW50R3JpZCI+CisgICAgICAgIDxkaXYgY2xhc3M9ImZpcnN0Um93Rmlyc3RDb2x1
bW4iPlhYWCBYWFggWFhYIFhYWCBYWFggWFhYIFhYWCBYWFggWFhYIFhYWDwvZGl2PgorICAgICAg
ICA8ZGl2IGNsYXNzPSJmaXJzdFJvd0ZpcnN0Q29sdW1uIj5YWFhYWCBYWFhYWCBYWFhYWCBYWFhY
WCBYWFhYWCBYWFhYWDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJmaXJzdFJvd0ZpcnN0Q29s
dW1uIj5YWCBYWCBYWCBYWCBYWCBYWDwvZGl2PgorICAgIDwvZGl2PgorPC9kaXY+CisKKzwhLS0g
VGhlIGNvbnRhaW5lciBhbGxvd3Mgc29tZSBleHBhbnNpb24gYnV0IGFsc28gY29uc3RyYWluIHRo
ZSBncm93dGguIC0tPgorPGRpdiBjbGFzcz0ibGVzc0NvbnN0cmFpbmVkQ29udGFpbmVyIj4KKyAg
ICA8ZGl2IGNsYXNzPSJncmlkIGdyaWRBdXRvQ29udGVudCIgaWQ9Imxlc3NDb25zdHJhaW5lZEF1
dG9HcmlkIj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZmlyc3RSb3dGaXJzdENvbHVtbiI+WFhYIFhY
WCBYWFggWFhYIFhYWCBYWFggWFhYIFhYWCBYWFg8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0i
Zmlyc3RSb3dGaXJzdENvbHVtbiI+WFhYWFggWFhYWFggWFhYWFggWFhYWFggWFhYWFggWFhYWFg8
L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZmlyc3RSb3dGaXJzdENvbHVtbiI+WFggWFggWFgg
WFggWFggWFg8L2Rpdj4KKyAgICA8L2Rpdj4KKzwvZGl2PgorCis8ZGl2IGNsYXNzPSJsZXNzQ29u
c3RyYWluZWRDb250YWluZXIiPgorICAgIDxkaXYgY2xhc3M9ImdyaWQgZ3JpZE1pbkNvbnRlbnRG
aXhlZCIgaWQ9Imxlc3NDb25zdHJhaW5lZE1pbkNvbnRlbnRGaXhlZEdyaWQiPgorICAgICAgICA8
ZGl2IGNsYXNzPSJmaXJzdFJvd0ZpcnN0Q29sdW1uIj5YWFggWFhYIFhYWCBYWFggWFhYIFhYWCBY
WFggWFhYIFhYWDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJmaXJzdFJvd0ZpcnN0Q29sdW1u
Ij5YWFhYWCBYWFhYWCBYWFhYWCBYWFhYWCBYWFhYWCBYWFhYWDwvZGl2PgorICAgICAgICA8ZGl2
IGNsYXNzPSJmaXJzdFJvd0ZpcnN0Q29sdW1uIj5YWCBYWCBYWCBYWCBYWCBYWDwvZGl2PgorICAg
IDwvZGl2PgorPC9kaXY+CisKKzxkaXYgY2xhc3M9Imxlc3NDb25zdHJhaW5lZENvbnRhaW5lciI+
CisgICAgPGRpdiBjbGFzcz0iZ3JpZCBncmlkTWF4Q29udGVudEZpeGVkIiBpZD0ibGVzc0NvbnN0
cmFpbmVkTWF4Q29udGVudEZpeGVkR3JpZCI+CisgICAgICAgIDxkaXYgY2xhc3M9ImZpcnN0Um93
Rmlyc3RDb2x1bW4iPlhYWCBYWFggWFhYIFhYWCBYWFggWFhYIFhYWCBYWFggWFhYPC9kaXY+Cisg
ICAgICAgIDxkaXYgY2xhc3M9ImZpcnN0Um93Rmlyc3RDb2x1bW4iPlhYWFhYIFhYWFhYIFhYWFhY
IFhYWFhYIFhYWFhYIFhYWFhYPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImZpcnN0Um93Rmly
c3RDb2x1bW4iPlhYIFhYIFhYIFhYIFhYIFhYPC9kaXY+CisgICAgPC9kaXY+Cis8L2Rpdj4KKwor
PGRpdiBjbGFzcz0ibGVzc0NvbnN0cmFpbmVkQ29udGFpbmVyIj4KKyAgICA8ZGl2IGNsYXNzPSJn
cmlkIGdyaWRGaXhlZE1pbkNvbnRlbnQiIGlkPSJsZXNzQ29uc3RyYWluZWRGaXhlZE1pbkNvbnRl
bnRHcmlkIj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZmlyc3RSb3dGaXJzdENvbHVtbiI+WFhYIFhY
WCBYWFggWFhYIFhYWCBYWFggWFhYIFhYWCBYWFg8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0i
Zmlyc3RSb3dGaXJzdENvbHVtbiI+WFhYWFggWFhYWFggWFhYWFggWFhYWFggWFhYWFggWFhYWFg8
L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZmlyc3RSb3dGaXJzdENvbHVtbiI+WFggWFggWFgg
WFggWFggWFg8L2Rpdj4KKyAgICA8L2Rpdj4KKzwvZGl2PgorCis8ZGl2IGNsYXNzPSJsZXNzQ29u
c3RyYWluZWRDb250YWluZXIiPgorICAgIDxkaXYgY2xhc3M9ImdyaWQgZ3JpZEZpeGVkTWF4Q29u
dGVudCIgaWQ9Imxlc3NDb25zdHJhaW5lZEZpeGVkTWF4Q29udGVudEdyaWQiPgorICAgICAgICA8
ZGl2IGNsYXNzPSJmaXJzdFJvd0ZpcnN0Q29sdW1uIj5YWFggWFhYIFhYWCBYWFggWFhYIFhYWCBY
WFggWFhYIFhYWDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJmaXJzdFJvd0ZpcnN0Q29sdW1u
Ij5YWFhYWCBYWFhYWCBYWFhYWCBYWFhYWCBYWFhYWCBYWFhYWDwvZGl2PgorICAgICAgICA8ZGl2
IGNsYXNzPSJmaXJzdFJvd0ZpcnN0Q29sdW1uIj5YWCBYWCBYWCBYWCBYWCBYWDwvZGl2PgorICAg
IDwvZGl2PgorPC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2ltcGxpY2l0LWNvbHVtbnMtYXV0by1yZXNvbHV0aW9u
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9pbXBsaWNpdC1jb2x1bW5z
LWF1dG8tcmVzb2x1dGlvbi5odG1sCmluZGV4IGZmNzNlZjIyZWJhYTQ4YWFhOTJhMzQ2M2ZlZjIy
YWM1NzliMTgwNGIuLjE1NjRkMTlkYzQ0YjVmOTU3ODM1OWFiODE5MzUyNjZhNWViNTJhNTAgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2ltcGxpY2l0LWNvbHVt
bnMtYXV0by1yZXNvbHV0aW9uLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1s
YXlvdXQvaW1wbGljaXQtY29sdW1ucy1hdXRvLXJlc29sdXRpb24uaHRtbApAQCAtMTEsMTIgKzEx
LDYgQEAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgIC13ZWJraXQtZ3JpZC1yb3dzOiA1MHB4
OwogfQogCi0vKiBUaGlzIHJ1bGUgbWFrZXMgc3VyZSB0aGUgY29udGFpbmVyIGlzIHNtYWxsZXIg
dGhhbiBhbnkgZ3JpZCBpdGVtcyB0byBhdm9pZCBkaXN0cmlidXRpbmcgYW55IGV4dHJhIGxvZ2lj
YWwgc3BhY2UgdG8gdGhlbS4gKi8KLS5jb25zdHJhaW5lZENvbnRhaW5lciB7Ci0gICAgd2lkdGg6
IDEwcHg7Ci0gICAgaGVpZ2h0OiAxMHB4OwotfQotCiAuZmlyc3RSb3dGaXJzdENvbHVtbiB7CiAg
ICAgZm9udDogMTBweC8xIEFoZW07CiAgICAgLyogTWFrZSB1cyBmaXQgb3VyIGdyaWQgYXJlYS4g
Ki8KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2ltcGxpY2l0
LXBvc2l0aW9uLWR5bmFtaWMtY2hhbmdlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlk
LWxheW91dC9pbXBsaWNpdC1wb3NpdGlvbi1keW5hbWljLWNoYW5nZS5odG1sCmluZGV4IGI5NDVm
ZWYzZWE0ZmVlMzk3ZDhkYjYzMGViMDA4MmU5OWI3MmNkNTIuLjRiOGRkNTMyNWYwOTU4ZDU1N2Jm
ZTU5YTBkOWMwNTYyMWUxMmRlZGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdy
aWQtbGF5b3V0L2ltcGxpY2l0LXBvc2l0aW9uLWR5bmFtaWMtY2hhbmdlLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvaW1wbGljaXQtcG9zaXRpb24tZHluYW1pYy1j
aGFuZ2UuaHRtbApAQCAtMTEsMTIgKzExLDYgQEAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAg
IC13ZWJraXQtZ3JpZC1yb3dzOiA3MHB4IG1pbm1heCgtd2Via2l0LW1heC1jb250ZW50LCA3MHB4
KSBtaW5tYXgoNTBweCwgLXdlYmtpdC1taW4tY29udGVudCkgbWlubWF4KDY1cHgsIC13ZWJraXQt
bWF4LWNvbnRlbnQpOwogfQogCi0vKiBUaGlzIHJ1bGUgbWFrZXMgc3VyZSB0aGUgY29udGFpbmVy
IGlzIHNtYWxsZXIgdGhhbiBhbnkgZ3JpZCBpdGVtcyB0byBhdm9pZCBkaXN0cmlidXRpbmcgYW55
IGV4dHJhIGxvZ2ljYWwgc3BhY2UgdG8gdGhlbS4gKi8KLS5jb25zdHJhaW5lZENvbnRhaW5lciB7
Ci0gICAgd2lkdGg6IDEwcHg7Ci0gICAgaGVpZ2h0OiAxMHB4OwotfQotCiAuc2l6ZWRUb0dyaWRB
cmVhIHsKICAgICBmb250OiAxMHB4LzEgQWhlbTsKICAgICAvKiBNYWtlIHVzIGZpdCBvdXIgZ3Jp
ZCBhcmVhLiAqLwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQv
aW1wbGljaXQtcm93cy1hdXRvLXJlc29sdXRpb24uaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY3Nz
LWdyaWQtbGF5b3V0L2ltcGxpY2l0LXJvd3MtYXV0by1yZXNvbHV0aW9uLmh0bWwKaW5kZXggMmFm
ZDFhYjY0MjMwMDNlNWQ2OWJlNTEzZDcxN2Y2MGYxMmQ0Njg1OS4uMDJmZjQ4NzQyYzA1MDBkMmVi
ZTMyODUyZjA3N2I0ZDE5NzQ3NTM0ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jc3Mt
Z3JpZC1sYXlvdXQvaW1wbGljaXQtcm93cy1hdXRvLXJlc29sdXRpb24uaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9pbXBsaWNpdC1yb3dzLWF1dG8tcmVzb2x1dGlv
bi5odG1sCkBAIC0xMSwxMiArMTEsNiBAQCBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgLyog
LXdlYmtpdC1ncmlkLXJvd3MgaXMgbGVmdCB1bnNldCBzbyB0aGF0IHRoZSBncmlkIGl0ZW0ncyBy
b3cgaXMgaW1wbGljaXQuICovCiB9CiAKLS8qIFRoaXMgcnVsZSBtYWtlcyBzdXJlIHRoZSBjb250
YWluZXIgaXMgc21hbGxlciB0aGFuIGFueSBncmlkIGl0ZW1zIHRvIGF2b2lkIGRpc3RyaWJ1dGlu
ZyBhbnkgZXh0cmEgbG9naWNhbCBzcGFjZSB0byB0aGVtLiAqLwotLmNvbnN0cmFpbmVkQ29udGFp
bmVyIHsKLSAgICB3aWR0aDogMTBweDsKLSAgICBoZWlnaHQ6IDEwcHg7Ci19Ci0KIC5maXJzdFJv
d0ZpcnN0Q29sdW1uIHsKICAgICBmb250OiAxMHB4LzEgQWhlbTsKICAgICAvKiBNYWtlIHVzIGZp
dCBvdXIgZ3JpZCBhcmVhLiAqLwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3Jp
ZC1sYXlvdXQvbWlubWF4LW1heC1jb250ZW50LXJlc29sdXRpb24tY29sdW1ucy5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvbWlubWF4LW1heC1jb250ZW50LXJlc29sdXRp
b24tY29sdW1ucy5odG1sCmluZGV4IDEyODFjNDhmMjg1YzVjNTljOWRlYmI3NjhlODI5NzI3OWU4
YTYyYjYuLjBiNGIyZTNkYmM0MjQ0MDdhNDVmNTBmMGFiNjMyNTYyYjE1ZDllOTMgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L21pbm1heC1tYXgtY29udGVudC1y
ZXNvbHV0aW9uLWNvbHVtbnMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxh
eW91dC9taW5tYXgtbWF4LWNvbnRlbnQtcmVzb2x1dGlvbi1jb2x1bW5zLmh0bWwKQEAgLTE2LDEy
ICsxNiw2IEBAIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICAtd2Via2l0LWdyaWQtcm93czog
MjBweDsKIH0KIAotLyogVGhpcyBydWxlIG1ha2VzIHN1cmUgdGhlIGNvbnRhaW5lciBpcyBzbWFs
bGVyIHRoYW4gYW55IGdyaWQgaXRlbXMgdG8gYXZvaWQgZGlzdHJpYnV0aW5nIGFueSBleHRyYSBs
b2dpY2FsIHNwYWNlIHRvIHRoZW0uICovCi0uY29uc3RyYWluZWRDb250YWluZXIgewotICAgIHdp
ZHRoOiAxMHB4OwotICAgIGhlaWdodDogMTBweDsKLX0KLQogLmZpcnN0Um93Rmlyc3RDb2x1bW4g
ewogICAgIGZvbnQ6IDEwcHgvMSBBaGVtOwogICAgIC8qIE1ha2UgdXMgZml0IG91ciBncmlkIGFy
ZWEuICovCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9taW5t
YXgtbWF4LWNvbnRlbnQtcmVzb2x1dGlvbi1yb3dzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nz
cy1ncmlkLWxheW91dC9taW5tYXgtbWF4LWNvbnRlbnQtcmVzb2x1dGlvbi1yb3dzLmh0bWwKaW5k
ZXggMDNmNmUwMDgzNTA3MzIwZjdjMjUxNzMyNmE5N2EzYTUzOTdjYTY4ZS4uZTVmNTYzZDM0OWZh
OWM2Y2Q1NjNkYzFhNzEzNDRhNzJkM2U2OTFiZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9jc3MtZ3JpZC1sYXlvdXQvbWlubWF4LW1heC1jb250ZW50LXJlc29sdXRpb24tcm93cy5odG1s
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L21pbm1heC1tYXgtY29udGVu
dC1yZXNvbHV0aW9uLXJvd3MuaHRtbApAQCAtMTYsMTIgKzE2LDYgQEAgaWYgKHdpbmRvdy50ZXN0
UnVubmVyKQogICAgIC13ZWJraXQtZ3JpZC1yb3dzOiBtaW5tYXgoMzBweCwgLXdlYmtpdC1tYXgt
Y29udGVudCk7CiB9CiAKLS8qIFRoaXMgcnVsZSBtYWtlcyBzdXJlIHRoZSBjb250YWluZXIgaXMg
c21hbGxlciB0aGFuIGFueSBncmlkIGl0ZW1zIHRvIGF2b2lkIGRpc3RyaWJ1dGluZyBhbnkgZXh0
cmEgbG9naWNhbCBzcGFjZSB0byB0aGVtLiAqLwotLmNvbnN0cmFpbmVkQ29udGFpbmVyIHsKLSAg
ICB3aWR0aDogMTBweDsKLSAgICBoZWlnaHQ6IDEwcHg7Ci19Ci0KIC5maXJzdFJvd0ZpcnN0Q29s
dW1uIHsKICAgICBmb250OiAxMHB4LzEgQWhlbTsKICAgICAvKiBNYWtlIHVzIGZpdCBvdXIgZ3Jp
ZCBhcmVhLiAqLwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQv
bWlubWF4LW1pbi1jb250ZW50LWNvbHVtbi1yZXNvbHV0aW9uLWNvbHVtbnMuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L21pbm1heC1taW4tY29udGVudC1jb2x1bW4tcmVz
b2x1dGlvbi1jb2x1bW5zLmh0bWwKaW5kZXggZDVmNDdjNmY1MDgzZWQ5MjYzMTJmNDhkZDA3YTNh
NTM4YjhkY2M2Mi4uZjJiZGU1YzAwOTRlODMzOGNhNjdlOTlmYjk2OGE5OTNkMDYwNjM2MSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvbWlubWF4LW1pbi1jb250
ZW50LWNvbHVtbi1yZXNvbHV0aW9uLWNvbHVtbnMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2Nzcy1ncmlkLWxheW91dC9taW5tYXgtbWluLWNvbnRlbnQtY29sdW1uLXJlc29sdXRpb24tY29s
dW1ucy5odG1sCkBAIC0xNiwxMiArMTYsNiBAQCBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAg
LXdlYmtpdC1ncmlkLXJvd3M6IDIwcHg7CiB9CiAKLS8qIFRoaXMgcnVsZSBtYWtlcyBzdXJlIHRo
ZSBjb250YWluZXIgaXMgc21hbGxlciB0aGFuIGFueSBncmlkIGl0ZW1zIHRvIGF2b2lkIGRpc3Ry
aWJ1dGluZyBhbnkgZXh0cmEgbG9naWNhbCBzcGFjZSB0byB0aGVtLiAqLwotLmNvbnN0cmFpbmVk
Q29udGFpbmVyIHsKLSAgICB3aWR0aDogMTBweDsKLSAgICBoZWlnaHQ6IDEwcHg7Ci19Ci0KIC5m
aXJzdFJvd0ZpcnN0Q29sdW1uIHsKICAgICBmb250OiAxMHB4LzEgQWhlbTsKICAgICAvKiBNYWtl
IHVzIGZpdCBvdXIgZ3JpZCBhcmVhLiAqLwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9j
c3MtZ3JpZC1sYXlvdXQvbWlubWF4LW1pbi1jb250ZW50LWNvbHVtbi1yZXNvbHV0aW9uLXJvd3Mu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L21pbm1heC1taW4tY29udGVu
dC1jb2x1bW4tcmVzb2x1dGlvbi1yb3dzLmh0bWwKaW5kZXggY2U4OGNlYjk5Mzk3ZmEzMGFjZTRk
ZWMxNzk1NjBmODU3YTQ5NjUyOS4uNjEwN2Q2ZjU1MDRlZjZlOTI5OGQzMTkyNmVkYWEzZWE2Njlm
MTc3MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvbWlubWF4
LW1pbi1jb250ZW50LWNvbHVtbi1yZXNvbHV0aW9uLXJvd3MuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9taW5tYXgtbWluLWNvbnRlbnQtY29sdW1uLXJlc29sdXRp
b24tcm93cy5odG1sCkBAIC0xNiwxMiArMTYsNiBAQCBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAg
ICAgLXdlYmtpdC1ncmlkLXJvd3M6IG1pbm1heCgzMHB4LCAtd2Via2l0LW1pbi1jb250ZW50KTsK
IH0KIAotLyogVGhpcyBydWxlIG1ha2VzIHN1cmUgdGhlIGNvbnRhaW5lciBpcyBzbWFsbGVyIHRo
YW4gYW55IGdyaWQgaXRlbXMgdG8gYXZvaWQgZGlzdHJpYnV0aW5nIGFueSBleHRyYSBsb2dpY2Fs
IHNwYWNlIHRvIHRoZW0uICovCi0uY29uc3RyYWluZWRDb250YWluZXIgewotICAgIHdpZHRoOiAx
MHB4OwotICAgIGhlaWdodDogMTBweDsKLX0KLQogLmZpcnN0Um93Rmlyc3RDb2x1bW4gewogICAg
IGZvbnQ6IDEwcHgvMSBBaGVtOwogICAgIC8qIE1ha2UgdXMgZml0IG91ciBncmlkIGFyZWEuICov
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9yZXNvdXJjZXMv
Z3JpZC5jc3MgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9yZXNvdXJjZXMvZ3Jp
ZC5jc3MKaW5kZXggZDAzYzQ4ZGJhZWJiMWUyMWYxM2U3Y2RlNDI3YzdiNGM2M2EzYjc1My4uYThk
NTBjMzI4ZGQ0MWVmNTJiYWQ1ZTkwN2RlOGFkOWYxYWMwMWM4MiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvcmVzb3VyY2VzL2dyaWQuY3NzCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L3Jlc291cmNlcy9ncmlkLmNzcwpAQCAtNDQsNiAr
NDQsMTcgQEAKICAgICAtd2Via2l0LWdyaWQtYXV0by1mbG93OiByb3c7CiB9CiAKKy8qIFRoaXMg
cnVsZSBtYWtlcyBzdXJlIHRoZSBjb250YWluZXIgaXMgc21hbGxlciB0aGFuIGFueSBncmlkIGl0
ZW1zIHRvIGF2b2lkIGRpc3RyaWJ1dGluZyBhbnkgZXh0cmEgbG9naWNhbCBzcGFjZSB0byB0aGVt
LiAqLworLmNvbnN0cmFpbmVkQ29udGFpbmVyIHsKKyAgICB3aWR0aDogMTBweDsKKyAgICBoZWln
aHQ6IDEwcHg7Cit9CisKKy51bmNvbnN0cmFpbmVkQ29udGFpbmVyIHsKKyAgICB3aWR0aDogMTAw
MHB4OworICAgIGhlaWdodDogMTAwMHB4OworfQorCiAudmVydGljYWxSTCB7CiAgICAgLXdlYmtp
dC13cml0aW5nLW1vZGU6IHZlcnRpY2FsLXJsOwogfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>