<?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>226458</bug_id>
          
          <creation_ts>2021-05-31 00:47:56 -0700</creation_ts>
          <short_desc>[css-contain] Support contain:style for counters</short_desc>
          <delta_ts>2021-10-24 07:50:14 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</component>
          <version>Other</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>172026</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Rob Buis">rbuis</reporter>
          <assigned_to name="Rob Buis">rbuis</assigned_to>
          <cc>changseok</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>koivisto</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>pdr</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1765347</commentid>
    <comment_count>0</comment_count>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-05-31 00:47:56 -0700</bug_when>
    <thetext>Support contain:style</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1765349</commentid>
    <comment_count>1</comment_count>
      <attachid>430185</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-05-31 00:50:18 -0700</bug_when>
    <thetext>Created attachment 430185
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1765360</commentid>
    <comment_count>2</comment_count>
      <attachid>430187</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-05-31 02:00:26 -0700</bug_when>
    <thetext>Created attachment 430187
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1767206</commentid>
    <comment_count>3</comment_count>
      <attachid>430680</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-06-06 04:33:19 -0700</bug_when>
    <thetext>Created attachment 430680
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1767208</commentid>
    <comment_count>4</comment_count>
      <attachid>430681</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-06-06 07:02:53 -0700</bug_when>
    <thetext>Created attachment 430681
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1767331</commentid>
    <comment_count>5</comment_count>
      <attachid>430717</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-06-07 00:17:45 -0700</bug_when>
    <thetext>Created attachment 430717
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1767337</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-06-07 00:48:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/78937603&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1767343</commentid>
    <comment_count>7</comment_count>
      <attachid>430721</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-06-07 01:21:21 -0700</bug_when>
    <thetext>Created attachment 430721
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1767462</commentid>
    <comment_count>8</comment_count>
      <attachid>430750</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-06-07 08:49:16 -0700</bug_when>
    <thetext>Created attachment 430750
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1807066</commentid>
    <comment_count>9</comment_count>
      <attachid>430750</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-10-21 03:06:43 -0700</bug_when>
    <thetext>Comment on attachment 430750
Patch

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

&gt; Source/WebCore/rendering/RenderCounter.cpp:64
&gt; +    Element* ancestor = is&lt;PseudoElement&gt;(element) ? downcast&lt;PseudoElement&gt;(element).hostElement() : element.parentElement();
&gt; +    while (ancestor) {
&gt; +        if (auto* style = ancestor-&gt;existingComputedStyle()) {

I suppose this doesn&apos;t just traverse the render tree and get the style from there because you can have style containment in a non-rendered &apos;display:contents&apos; element? Is that covered by tests?

&gt; Source/WebCore/rendering/RenderCounter.cpp:68
&gt; +        ancestor = ancestor-&gt;parentElement();

This should probably be doing composed tree traversal (parentInComposedTree). Of course the existing counter code doesn&apos;t do that either (so counters don&apos;t work accross shadow boundaries). At least this deserves a comment.

&gt; Source/WebCore/rendering/RenderCounter.cpp:87
&gt; +    Element* styleContainAncestor = ancestorStyleContainmentObject(*renderer.element());
&gt; +
&gt; +    while (true) {
&gt; +        while (previous &amp;&amp; !previous-&gt;renderer())
&gt; +            previous = ElementTraversal::previousIncludingPseudo(*previous);
&gt; +        if (!previous)
&gt; +            return nullptr;
&gt; +        Element* previousStyleContainAncestor = ancestorStyleContainmentObject(*previous);
&gt; +        if (previousStyleContainAncestor == styleContainAncestor)

These traversal functions take optional &apos;stayWithin&apos; parameter which I think should here be the styleContainAncestor. This avoids searching  for the ancestor repeatedly.

&gt; Source/WebCore/rendering/RenderCounter.cpp:578
&gt; +    bool crossedBoundary = false;

Which boundary? This could use a better name.

&gt; Source/WebCore/rendering/RenderCounter.cpp:580
&gt; +        crossedBoundary |= shouldApplyStyleContainment(*descendant);

using logical operator instead of a bitwise one will avoid running the function repeatedly

crossedBoundary = crossedBoundary || shouldApplyStyleContainment(*descendant);

&gt; Source/WebCore/rendering/RenderObject.cpp:2520
&gt; +    return renderer.style().containsStyle() &amp;&amp; (!renderer.isInline() || renderer.isAtomicInlineLevelBox()) &amp;&amp; !renderer.isRubyText() &amp;&amp; (!renderer.isTablePart() || renderer.isTableCaption()) &amp;&amp; !renderer.isTable();

if (!renderer.style().containsStyle())
   return false;
if (renderer.isInline() &amp;&amp; !renderer.isAtomicInlineLevelBox())
   return false;
...etc organised in some readable manner

&gt; Source/WebCore/rendering/style/RenderStyle.h:531
&gt;      bool containsLayout() const { return m_rareNonInheritedData-&gt;contain.contains(Containment::Layout); }
&gt;      bool containsSize() const { return m_rareNonInheritedData-&gt;contain.contains(Containment::Size); }
&gt; +    bool containsStyle() const { return m_rareNonInheritedData-&gt;contain.contains(Containment::Style); }

Maybe these would read better as

hasLayoutContainment()/hasSizeContainment()/hasStyleContainmen()?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1807073</commentid>
    <comment_count>10</comment_count>
      <attachid>430750</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-10-21 03:14:54 -0700</bug_when>
    <thetext>Comment on attachment 430750
Patch

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

&gt; Source/WebCore/ChangeLog:4
&gt; +        [css-contain] Support contain:style
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=226458

Besides counters the spec talks about quotes and this patch doesn&apos;t address those. The title should be updated to reflect that this is not a complete implementation.

The relevant quote code is in RenderTreeUpdater::GeneratedContent::updateQuotesUpTo</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1807124</commentid>
    <comment_count>11</comment_count>
      <attachid>442017</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-10-21 07:12:51 -0700</bug_when>
    <thetext>Created attachment 442017
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1807166</commentid>
    <comment_count>12</comment_count>
      <attachid>430750</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-10-21 08:33:27 -0700</bug_when>
    <thetext>Comment on attachment 430750
Patch

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

&gt;&gt; Source/WebCore/ChangeLog:4
&gt;&gt; +        https://bugs.webkit.org/show_bug.cgi?id=226458
&gt; 
&gt; Besides counters the spec talks about quotes and this patch doesn&apos;t address those. The title should be updated to reflect that this is not a complete implementation.
&gt; 
&gt; The relevant quote code is in RenderTreeUpdater::GeneratedContent::updateQuotesUpTo

I updated the title and opened https://bugs.webkit.org/show_bug.cgi?id=232083 to track the quote part.

&gt;&gt; Source/WebCore/rendering/RenderCounter.cpp:64
&gt;&gt; +        if (auto* style = ancestor-&gt;existingComputedStyle()) {
&gt; 
&gt; I suppose this doesn&apos;t just traverse the render tree and get the style from there because you can have style containment in a non-rendered &apos;display:contents&apos; element? Is that covered by tests?

Yes. I believe this is covered by contain-style-counters-002.html.

&gt;&gt; Source/WebCore/rendering/RenderCounter.cpp:68
&gt;&gt; +        ancestor = ancestor-&gt;parentElement();
&gt; 
&gt; This should probably be doing composed tree traversal (parentInComposedTree). Of course the existing counter code doesn&apos;t do that either (so counters don&apos;t work accross shadow boundaries). At least this deserves a comment.

Done.

&gt;&gt; Source/WebCore/rendering/RenderCounter.cpp:87
&gt;&gt; +        if (previousStyleContainAncestor == styleContainAncestor)
&gt; 
&gt; These traversal functions take optional &apos;stayWithin&apos; parameter which I think should here be the styleContainAncestor. This avoids searching  for the ancestor repeatedly.

Done. This may actually have fixed one more test.

&gt;&gt; Source/WebCore/rendering/RenderCounter.cpp:578
&gt;&gt; +    bool crossedBoundary = false;
&gt; 
&gt; Which boundary? This could use a better name.

Done.

&gt;&gt; Source/WebCore/rendering/RenderCounter.cpp:580
&gt;&gt; +        crossedBoundary |= shouldApplyStyleContainment(*descendant);
&gt; 
&gt; using logical operator instead of a bitwise one will avoid running the function repeatedly
&gt; 
&gt; crossedBoundary = crossedBoundary || shouldApplyStyleContainment(*descendant);

Done.

&gt;&gt; Source/WebCore/rendering/RenderObject.cpp:2520
&gt;&gt; +    return renderer.style().containsStyle() &amp;&amp; (!renderer.isInline() || renderer.isAtomicInlineLevelBox()) &amp;&amp; !renderer.isRubyText() &amp;&amp; (!renderer.isTablePart() || renderer.isTableCaption()) &amp;&amp; !renderer.isTable();
&gt; 
&gt; if (!renderer.style().containsStyle())
&gt;    return false;
&gt; if (renderer.isInline() &amp;&amp; !renderer.isAtomicInlineLevelBox())
&gt;    return false;
&gt; ...etc organised in some readable manner

I was only partially able to do this.

&gt;&gt; Source/WebCore/rendering/style/RenderStyle.h:531
&gt;&gt; +    bool containsStyle() const { return m_rareNonInheritedData-&gt;contain.contains(Containment::Style); }
&gt; 
&gt; Maybe these would read better as
&gt; 
&gt; hasLayoutContainment()/hasSizeContainment()/hasStyleContainmen()?

Good suggestion, but I think it is for another patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1807347</commentid>
    <comment_count>13</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-10-21 13:48:34 -0700</bug_when>
    <thetext>Committed r284642 (243362@main): &lt;https://commits.webkit.org/243362@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 442017.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1807531</commentid>
    <comment_count>14</comment_count>
      <attachid>442017</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-10-21 21:53:22 -0700</bug_when>
    <thetext>Comment on attachment 442017
Patch

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

&gt; Source/WebCore/rendering/RenderCounter.cpp:88
&gt; +        Element* previousStyleContainAncestor = ancestorStyleContainmentObject(*previous);
&gt; +        if (previousStyleContainAncestor == styleContainAncestor)

The idea was to remove this stuff. You are staying within the styleContainAncestor by providing it to previousIncludingPseudo so the test here should never fail. 

In fact I think the whole outer loop can go away.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1808193</commentid>
    <comment_count>15</comment_count>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-10-24 04:15:38 -0700</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1808194</commentid>
    <comment_count>16</comment_count>
      <attachid>442303</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-10-24 04:15:43 -0700</bug_when>
    <thetext>Created attachment 442303
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1808204</commentid>
    <comment_count>17</comment_count>
      <attachid>442017</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-10-24 06:11:45 -0700</bug_when>
    <thetext>Comment on attachment 442017
Patch

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

&gt;&gt; Source/WebCore/rendering/RenderCounter.cpp:88
&gt;&gt; +        if (previousStyleContainAncestor == styleContainAncestor)
&gt; 
&gt; The idea was to remove this stuff. You are staying within the styleContainAncestor by providing it to previousIncludingPseudo so the test here should never fail. 
&gt; 
&gt; In fact I think the whole outer loop can go away.

Oops! Yes I did not see it earlier but indeed this is trying to do too much. Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1808211</commentid>
    <comment_count>18</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-10-24 07:50:11 -0700</bug_when>
    <thetext>Committed r284755 (243464@main): &lt;https://commits.webkit.org/243464@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 442303.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>430185</attachid>
            <date>2021-05-31 00:50:18 -0700</date>
            <delta_ts>2021-05-31 02:00:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226458-20210531095015.patch</filename>
            <type>text/plain</type>
            <size>15723</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4MTkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGE0YzBiNzA2YjU3ZjIw
M2NkY2QzZTMyYjU4ZjE2ZDQ0YjNhZTM3Ni4uMmI3YWNjNzU0YjQwYTEzYjUxMDMwYmI4NGZlOWRh
ZmNiNDYxMDgyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDIxLTA1LTMxICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgW2Nzcy1jb250YWluXSBTdXBwb3J0
IGNvbnRhaW46c3R5bGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIyNjQ1OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFdJUC4KKworICAgICAgICAqIGNzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24u
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29tcHV0ZWRTdHlsZUV4dHJhY3Rvcjo6dmFsdWVGb3JQ
cm9wZXJ0eUluU3R5bGUpOgorICAgICAgICAqIGNzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Y29uc3VtZUNvbnRhaW4pOgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJDb3VudGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmFuY2VzdG9yU3R5bGVD
b250YWlubWVudE9iamVjdCk6CisgICAgICAgIChXZWJDb3JlOjpwcmV2aW91c0luUHJlT3JkZXIp
OgorICAgICAgICAoV2ViQ29yZTo6cHJldmlvdXNTaWJsaW5nT3JQYXJlbnRFbGVtZW50KToKKyAg
ICAgICAgKFdlYkNvcmU6Om1ha2VDb3VudGVyTm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJDb3VudGVyOjpyZW5kZXJlclN1YnRyZWVBdHRhY2hlZCk6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlck9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpzaG91bGRBcHBseVN0eWxlQ29u
dGFpbm1lbnQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuaDoKKyAgICAgICAg
KiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
clN0eWxlOjpjb250YWluc1N0eWxlIGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUv
UmVuZGVyU3R5bGVDb25zdGFudHMuaDoKKyAgICAgICAgKiBzdHlsZS9TdHlsZUJ1aWxkZXJDdXN0
b20uaDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlOjpCdWlsZGVyQ3VzdG9tOjphcHBseVZhbHVl
Q29udGFpbik6CisKIDIwMjEtMDUtMjggIE1hcnRpbiBSb2JpbnNvbiAgPG1yb2JpbnNvbkB3ZWJr
aXQub3JnPgogCiAgICAgICAgIE1vcmUgcmVhZGlseSBsYXlvdXQgd2hlbiBzY3JvbGwtc25hcCBw
cm9wZXJ0aWVzIGNoYW5nZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1
dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRT
dHlsZURlY2xhcmF0aW9uLmNwcAppbmRleCBhNmQ1NDNiY2VkZjU5MzU4MzNhYTJjYTc5NzQ5YmIw
MDU1NWEzMTU3Li5hNDcwY2I4YTI1MGE5MGRkZDkwNzY3YjQxZjM1MjZhMjk1NzlmMWQ3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNw
cApAQCAtMzQ4OCw2ICszNDg4LDggQEAgUmVmUHRyPENTU1ZhbHVlPiBDb21wdXRlZFN0eWxlRXh0
cmFjdG9yOjp2YWx1ZUZvclByb3BlcnR5SW5TdHlsZShjb25zdCBSZW5kZXJTdHkKICAgICAgICAg
ICAgICAgICBsaXN0LT5hcHBlbmQoY3NzVmFsdWVQb29sLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShD
U1NWYWx1ZVNpemUpKTsKICAgICAgICAgICAgIGlmIChjb250YWlubWVudCAmIENvbnRhaW5tZW50
OjpMYXlvdXQpCiAgICAgICAgICAgICAgICAgbGlzdC0+YXBwZW5kKGNzc1ZhbHVlUG9vbC5jcmVh
dGVJZGVudGlmaWVyVmFsdWUoQ1NTVmFsdWVMYXlvdXQpKTsKKyAgICAgICAgICAgIGlmIChjb250
YWlubWVudCAmIENvbnRhaW5tZW50OjpTdHlsZSkKKyAgICAgICAgICAgICAgICBsaXN0LT5hcHBl
bmQoY3NzVmFsdWVQb29sLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1ZVN0eWxlKSk7CiAg
ICAgICAgICAgICBpZiAoY29udGFpbm1lbnQgJiBDb250YWlubWVudDo6UGFpbnQpCiAgICAgICAg
ICAgICAgICAgbGlzdC0+YXBwZW5kKGNzc1ZhbHVlUG9vbC5jcmVhdGVJZGVudGlmaWVyVmFsdWUo
Q1NTVmFsdWVQYWludCkpOwogICAgICAgICAgICAgcmV0dXJuIGxpc3Q7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwCmluZGV4IGZkNTEwNjE5NzNl
MjUwYzlmNWRkMTI2ZDgxYzhhNzgzMzM1YzdhZjMuLjk2MWI1M2RmZDc5MTZjNTlhZTVhY2UwMGUw
MTYzNzNhYTM0NjAxNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NT
UHJvcGVydHlQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJv
cGVydHlQYXJzZXIuY3BwCkBAIC0zODUwLDcgKzM4NTAsNyBAQCBzdGF0aWMgUmVmUHRyPENTU1Zh
bHVlPiBjb25zdW1lQ29udGFpbihDU1NQYXJzZXJUb2tlblJhbmdlJiByYW5nZSkKICAgICBpZiAo
YXV0byBzaW5nbGVWYWx1ZSA9IGNvbnN1bWVJZGVudDxDU1NWYWx1ZU5vbmUsIENTU1ZhbHVlU3Ry
aWN0LCBDU1NWYWx1ZUNvbnRlbnQ+KHJhbmdlKSkKICAgICAgICAgcmV0dXJuIHNpbmdsZVZhbHVl
OwogICAgIGF1dG8gbGlzdCA9IENTU1ZhbHVlTGlzdDo6Y3JlYXRlU3BhY2VTZXBhcmF0ZWQoKTsK
LSAgICBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IHNpemUsIGxheW91dCwgcGFpbnQ7CisgICAg
UmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBzaXplLCBsYXlvdXQsIHBhaW50LCBzdHlsZTsKICAg
ICB3aGlsZSAoIXJhbmdlLmF0RW5kKCkpIHsKICAgICAgICAgc3dpdGNoIChyYW5nZS5wZWVrKCku
aWQoKSkgewogICAgICAgICBjYXNlIENTU1ZhbHVlU2l6ZToKQEAgLTM4NjgsNiArMzg2OCwxMSBA
QCBzdGF0aWMgUmVmUHRyPENTU1ZhbHVlPiBjb25zdW1lQ29udGFpbihDU1NQYXJzZXJUb2tlblJh
bmdlJiByYW5nZSkKICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICAgICAgICAg
IHBhaW50ID0gY29uc3VtZUlkZW50KHJhbmdlKTsKICAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICBjYXNlIENTU1ZhbHVlU3R5bGU6CisgICAgICAgICAgICBpZiAoc3R5bGUpCisgICAgICAgICAg
ICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgICAgICBzdHlsZSA9IGNvbnN1bWVJZGVudChy
YW5nZSk7CisgICAgICAgICAgICBicmVhazsKICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAg
IHJldHVybiBudWxscHRyOwogICAgICAgICB9CkBAIC0zODc2LDYgKzM4ODEsOCBAQCBzdGF0aWMg
UmVmUHRyPENTU1ZhbHVlPiBjb25zdW1lQ29udGFpbihDU1NQYXJzZXJUb2tlblJhbmdlJiByYW5n
ZSkKICAgICAgICAgbGlzdC0+YXBwZW5kKHNpemUucmVsZWFzZU5vbk51bGwoKSk7CiAgICAgaWYg
KGxheW91dCkKICAgICAgICAgbGlzdC0+YXBwZW5kKGxheW91dC5yZWxlYXNlTm9uTnVsbCgpKTsK
KyAgICBpZiAoc3R5bGUpCisgICAgICAgIGxpc3QtPmFwcGVuZChzdHlsZS5yZWxlYXNlTm9uTnVs
bCgpKTsKICAgICBpZiAocGFpbnQpCiAgICAgICAgIGxpc3QtPmFwcGVuZChwYWludC5yZWxlYXNl
Tm9uTnVsbCgpKTsKICAgICBpZiAoIWxpc3QtPmxlbmd0aCgpKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckNvdW50ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckNvdW50ZXIuY3BwCmluZGV4IGQzYWMwYzM2MWUwY2Y1ZTA1OGQ3ODRjZjIx
MDJjYzY5YjZmNGU1OGMuLjVmMTNiMmQ4OTUxODM0ZDA1ODU0MzI4MTBlZjlhN2RkZmE0ZTQxYjAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJDb3VudGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQ291bnRlci5jcHAKQEAgLTU3LDE1
ICs1NywzNCBAQCBzdGF0aWMgQ291bnRlck1hcHMmIGNvdW50ZXJNYXBzKCkKICAgICByZXR1cm4g
c3RhdGljQ291bnRlck1hcHM7CiB9CiAKK3N0YXRpYyBFbGVtZW50KiBhbmNlc3RvclN0eWxlQ29u
dGFpbm1lbnRPYmplY3QoY29uc3QgRWxlbWVudCYgZWxlbWVudCkKK3sKKyAgICBmb3IgKEVsZW1l
bnQqIGFuY2VzdG9yID0gZWxlbWVudC5wYXJlbnRFbGVtZW50KCk7IGFuY2VzdG9yOyBhbmNlc3Rv
ciA9IGFuY2VzdG9yLT5wYXJlbnRFbGVtZW50KCkpIHsKKyAgICAgICAgaWYgKGFuY2VzdG9yLT5y
ZW5kZXJlcigpICYmIGFuY2VzdG9yLT5yZW5kZXJlcigpLT5zdHlsZSgpLmNvbnRhaW5zU3R5bGUo
KSkKKyAgICAgICAgICAgIHJldHVybiBhbmNlc3RvcjsKKyAgICB9CisgICAgcmV0dXJuIG51bGxw
dHI7Cit9CisKIC8vIFRoaXMgZnVuY3Rpb24gcHJvY2Vzc2VzIHRoZSByZW5kZXJlciB0cmVlIGlu
IHRoZSBvcmRlciBvZiB0aGUgRE9NIHRyZWUKIC8vIGluY2x1ZGluZyBwc2V1ZG8gZWxlbWVudHMg
YXMgZGVmaW5lZCBpbiBDU1MgMi4xLgogc3RhdGljIFJlbmRlckVsZW1lbnQqIHByZXZpb3VzSW5Q
cmVPcmRlcihjb25zdCBSZW5kZXJFbGVtZW50JiByZW5kZXJlcikKIHsKICAgICBBU1NFUlQocmVu
ZGVyZXIuZWxlbWVudCgpKTsKICAgICBFbGVtZW50KiBwcmV2aW91cyA9IEVsZW1lbnRUcmF2ZXJz
YWw6OnByZXZpb3VzSW5jbHVkaW5nUHNldWRvKCpyZW5kZXJlci5lbGVtZW50KCkpOwotICAgIHdo
aWxlIChwcmV2aW91cyAmJiAhcHJldmlvdXMtPnJlbmRlcmVyKCkpCi0gICAgICAgIHByZXZpb3Vz
ID0gRWxlbWVudFRyYXZlcnNhbDo6cHJldmlvdXNJbmNsdWRpbmdQc2V1ZG8oKnByZXZpb3VzKTsK
LSAgICByZXR1cm4gcHJldmlvdXMgPyBwcmV2aW91cy0+cmVuZGVyZXIoKSA6IDA7CisgICAgRWxl
bWVudCogc3R5bGVDb250YWluQW5jZXN0b3IgPSBhbmNlc3RvclN0eWxlQ29udGFpbm1lbnRPYmpl
Y3QoKnJlbmRlcmVyLmVsZW1lbnQoKSk7CisgICAgd2hpbGUgKHRydWUpIHsKKyAgICAgICAgd2hp
bGUgKHByZXZpb3VzICYmICFwcmV2aW91cy0+cmVuZGVyZXIoKSkKKyAgICAgICAgICAgIHByZXZp
b3VzID0gRWxlbWVudFRyYXZlcnNhbDo6cHJldmlvdXNJbmNsdWRpbmdQc2V1ZG8oKnByZXZpb3Vz
KTsKKyAgICAgICAgaWYgKCFwcmV2aW91cykKKyAgICAgICAgICAgIHJldHVybiBudWxscHRyOwor
ICAgICAgICBFbGVtZW50KiBwcmV2aW91c1N0eWxlQ29udGFpbkFuY2VzdG9yID0gYW5jZXN0b3JT
dHlsZUNvbnRhaW5tZW50T2JqZWN0KCpwcmV2aW91cyk7CisgICAgICAgIGlmIChwcmV2aW91c1N0
eWxlQ29udGFpbkFuY2VzdG9yID09IHN0eWxlQ29udGFpbkFuY2VzdG9yKQorICAgICAgICAgICAg
cmV0dXJuIHByZXZpb3VzLT5yZW5kZXJlcigpOworICAgICAgICBpZiAoIXByZXZpb3VzU3R5bGVD
b250YWluQW5jZXN0b3IpCisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAgICAgcHJl
dmlvdXMgPSBwcmV2aW91c1N0eWxlQ29udGFpbkFuY2VzdG9yOworICAgIH0KIH0KIAogc3RhdGlj
IGlubGluZSBFbGVtZW50KiBwYXJlbnRPclBzZXVkb0hvc3RFbGVtZW50KGNvbnN0IFJlbmRlckVs
ZW1lbnQmIHJlbmRlcmVyKQpAQCAtOTYsNiArMTE1LDggQEAgc3RhdGljIEVsZW1lbnQqIHByZXZp
b3VzU2libGluZ09yUGFyZW50RWxlbWVudChjb25zdCBFbGVtZW50JiBlbGVtZW50KQogICAgIGF1
dG8qIHBhcmVudCA9IGVsZW1lbnQucGFyZW50RWxlbWVudCgpOwogICAgIGlmIChwYXJlbnQgJiYg
IXBhcmVudC0+cmVuZGVyZXIoKSkKICAgICAgICAgcGFyZW50ID0gcHJldmlvdXNTaWJsaW5nT3JQ
YXJlbnRFbGVtZW50KCpwYXJlbnQpOworICAgIGlmIChwYXJlbnQgJiYgcGFyZW50LT5yZW5kZXJl
cigpICYmIHBhcmVudC0+cmVuZGVyZXIoKS0+c3R5bGUoKS5jb250YWluc1N0eWxlKCkpCisgICAg
ICAgIHJldHVybiBudWxscHRyOwogICAgIHJldHVybiBwYXJlbnQ7CiB9CiAKQEAgLTMzNSw3ICsz
NTYsNyBAQCBzdGF0aWMgQ291bnRlck5vZGUqIG1ha2VDb3VudGVyTm9kZShSZW5kZXJFbGVtZW50
JiByZW5kZXJlciwgY29uc3QgQXRvbVN0cmluZyYgaQogICAgIG1hcHMuYWRkKCZyZW5kZXJlciwg
bWFrZVVuaXF1ZTxDb3VudGVyTWFwPigpKS5pdGVyYXRvci0+dmFsdWUtPmFkZChpZGVudGlmaWVy
LCBuZXdOb2RlLmNvcHlSZWYoKSk7CiAgICAgcmVuZGVyZXIuc2V0SGFzQ291bnRlck5vZGVNYXAo
dHJ1ZSk7CiAKLSAgICBpZiAobmV3Tm9kZS0+cGFyZW50KCkpCisgICAgaWYgKG5ld05vZGUtPnBh
cmVudCgpIHx8IHNob3VsZEFwcGx5U3R5bGVDb250YWlubWVudChyZW5kZXJlcikpCiAgICAgICAg
IHJldHVybiBuZXdOb2RlLnB0cigpOwogCiAgICAgLy8gQ2hlY2sgaWYgc29tZSBub2RlcyB0aGF0
IHdlcmUgcHJldmlvdXNseSByb290IG5vZGVzIHNob3VsZCBiZWNvbWUgY2hpbGRyZW4gb2YgdGhp
cyBub2RlIG5vdy4KQEAgLTM0Myw3ICszNjQsNyBAQCBzdGF0aWMgQ291bnRlck5vZGUqIG1ha2VD
b3VudGVyTm9kZShSZW5kZXJFbGVtZW50JiByZW5kZXJlciwgY29uc3QgQXRvbVN0cmluZyYgaQog
ICAgIGF1dG8qIHN0YXlXaXRoaW4gPSBwYXJlbnRPclBzZXVkb0hvc3RFbGVtZW50KHJlbmRlcmVy
KTsKICAgICBib29sIHNraXBEZXNjZW5kYW50cyA9IGZhbHNlOwogICAgIHdoaWxlICgoY3VycmVu
dFJlbmRlcmVyID0gbmV4dEluUHJlT3JkZXIoKmN1cnJlbnRSZW5kZXJlciwgc3RheVdpdGhpbiwg
c2tpcERlc2NlbmRhbnRzKSkpIHsKLSAgICAgICAgc2tpcERlc2NlbmRhbnRzID0gZmFsc2U7Cisg
ICAgICAgIHNraXBEZXNjZW5kYW50cyA9IHNob3VsZEFwcGx5U3R5bGVDb250YWlubWVudCgqY3Vy
cmVudFJlbmRlcmVyKTsKICAgICAgICAgaWYgKCFjdXJyZW50UmVuZGVyZXItPmhhc0NvdW50ZXJO
b2RlTWFwKCkpCiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgYXV0byogY3VycmVudENv
dW50ZXIgPSBtYXBzLmZpbmQoY3VycmVudFJlbmRlcmVyKS0+dmFsdWUtPmdldChpZGVudGlmaWVy
KTsKQEAgLTU0OSw4ICs1NzAsMTAgQEAgdm9pZCBSZW5kZXJDb3VudGVyOjpyZW5kZXJlclN1YnRy
ZWVBdHRhY2hlZChSZW5kZXJFbGVtZW50JiByZW5kZXJlcikKICAgICAgICAgZWxlbWVudCA9IHJl
bmRlcmVyLmdlbmVyYXRpbmdFbGVtZW50KCk7CiAgICAgaWYgKGVsZW1lbnQgJiYgIWVsZW1lbnQt
PnJlbmRlcmVyKCkpCiAgICAgICAgIHJldHVybjsgLy8gTm8gbmVlZCB0byB1cGRhdGUgaWYgdGhl
IHBhcmVudCBpcyBub3QgYXR0YWNoZWQgeWV0CisgICAgYm9vbCBjcm9zc2VkQm91bmRhcnkgPSBm
YWxzZTsKICAgICBmb3IgKFJlbmRlck9iamVjdCogZGVzY2VuZGFudCA9ICZyZW5kZXJlcjsgZGVz
Y2VuZGFudDsgZGVzY2VuZGFudCA9IGRlc2NlbmRhbnQtPm5leHRJblByZU9yZGVyKCZyZW5kZXJl
cikpIHsKLSAgICAgICAgaWYgKGlzPFJlbmRlckVsZW1lbnQ+KCpkZXNjZW5kYW50KSkKKyAgICAg
ICAgY3Jvc3NlZEJvdW5kYXJ5IHw9IHNob3VsZEFwcGx5U3R5bGVDb250YWlubWVudCgqZGVzY2Vu
ZGFudCk7CisgICAgICAgIGlmIChjcm9zc2VkQm91bmRhcnkgJiYgaXM8UmVuZGVyRWxlbWVudD4o
KmRlc2NlbmRhbnQpKQogICAgICAgICAgICAgdXBkYXRlQ291bnRlcnMoZG93bmNhc3Q8UmVuZGVy
RWxlbWVudD4oKmRlc2NlbmRhbnQpKTsKICAgICB9CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJPYmplY3QuY3BwCmluZGV4IDQyZTBlZGYzYzViMzM2ODAyMGIxYjA1MjQ2MWM3YWI1
YmMwNzQ2ZWEuLjUxYzcwY2YxYzE5NDZlYjNmNDUyOGVkYTE3NmQ5OTM3Yjk5ZjFlZDcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCkBAIC0yNTE0LDMgKzI1MTQs
OCBAQCBib29sIFdlYkNvcmU6OnNob3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50KGNvbnN0IFdlYkNv
cmU6OlJlbmRlck9iamVjdCYgcmVuZGVyZXIpCiB7CiAgICAgcmV0dXJuIHJlbmRlcmVyLnN0eWxl
KCkuY29udGFpbnNTaXplKCkgJiYgKCFyZW5kZXJlci5pc0lubGluZSgpIHx8IHJlbmRlcmVyLmlz
QXRvbWljSW5saW5lTGV2ZWxCb3goKSkgJiYgIXJlbmRlcmVyLmlzUnVieVRleHQoKSAmJiAoIXJl
bmRlcmVyLmlzVGFibGVQYXJ0KCkgfHwgcmVuZGVyZXIuaXNUYWJsZUNhcHRpb24oKSkgJiYgIXJl
bmRlcmVyLmlzVGFibGUoKTsKIH0KKworYm9vbCBXZWJDb3JlOjpzaG91bGRBcHBseVN0eWxlQ29u
dGFpbm1lbnQoY29uc3QgV2ViQ29yZTo6UmVuZGVyT2JqZWN0JiByZW5kZXJlcikKK3sKKyAgICBy
ZXR1cm4gcmVuZGVyZXIuc3R5bGUoKS5jb250YWluc1N0eWxlKCkgJiYgKCFyZW5kZXJlci5pc0lu
bGluZSgpIHx8IHJlbmRlcmVyLmlzQXRvbWljSW5saW5lTGV2ZWxCb3goKSkgJiYgIXJlbmRlcmVy
LmlzUnVieVRleHQoKSAmJiAoIXJlbmRlcmVyLmlzVGFibGVQYXJ0KCkgfHwgcmVuZGVyZXIuaXNU
YWJsZUNhcHRpb24oKSkgJiYgIXJlbmRlcmVyLmlzVGFibGUoKTsKK30KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJPYmplY3QuaAppbmRleCBiZmE4NDhjNjIzZjEwMzJiODg4OGRlMzdkY2Ji
N2M1NWNmZDAwYjFmLi42YTMwMDM2NTk5YTRiYWUwOTNkZWJhNmEzNWU5M2E1NTYzOGZkNTA1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCkBAIC0xMTk3LDYgKzExOTcs
NyBAQCB2b2lkIHByaW50R3JhcGhpY3NMYXllclRyZWVGb3JMaXZlRG9jdW1lbnRzKCk7CiAKIGJv
b2wgc2hvdWxkQXBwbHlMYXlvdXRDb250YWlubWVudChjb25zdCBSZW5kZXJPYmplY3QmKTsKIGJv
b2wgc2hvdWxkQXBwbHlTaXplQ29udGFpbm1lbnQoY29uc3QgUmVuZGVyT2JqZWN0Jik7Citib29s
IHNob3VsZEFwcGx5U3R5bGVDb250YWlubWVudChjb25zdCBSZW5kZXJPYmplY3QmKTsKIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3R5bGUvUmVuZGVyU3R5bGUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9S
ZW5kZXJTdHlsZS5oCmluZGV4IDFhNzU2M2QwNjFjZWViOWZhMzZkYjc1YTg1ZDM4ZmIyOTgzYzQw
MmYuLmRjMGI5ZGE3OGE0NzQ4NzY5YjRhMWM5YjFlYzM5Njk5MDNkOGU0NjQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCkBAIC01MjgsNiArNTI4LDcg
QEAgcHVibGljOgogICAgIE9wdGlvblNldDxDb250YWlubWVudD4gY29udGFpbigpIGNvbnN0IHsg
cmV0dXJuIG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmNvbnRhaW47IH0KICAgICBib29sIGNvbnRh
aW5zTGF5b3V0KCkgY29uc3QgeyByZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+Y29udGFp
bi5jb250YWlucyhDb250YWlubWVudDo6TGF5b3V0KTsgfQogICAgIGJvb2wgY29udGFpbnNTaXpl
KCkgY29uc3QgeyByZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+Y29udGFpbi5jb250YWlu
cyhDb250YWlubWVudDo6U2l6ZSk7IH0KKyAgICBib29sIGNvbnRhaW5zU3R5bGUoKSBjb25zdCB7
IHJldHVybiBtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5jb250YWluLmNvbnRhaW5zKENvbnRhaW5t
ZW50OjpTdHlsZSk7IH0KICAgICBCb3hBbGlnbm1lbnQgYm94QWxpZ24oKSBjb25zdCB7IHJldHVy
biBzdGF0aWNfY2FzdDxCb3hBbGlnbm1lbnQ+KG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmRlcHJl
Y2F0ZWRGbGV4aWJsZUJveC0+YWxpZ24pOyB9CiAgICAgQm94RGlyZWN0aW9uIGJveERpcmVjdGlv
bigpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PEJveERpcmVjdGlvbj4obV9pbmhlcml0ZWRG
bGFncy5ib3hEaXJlY3Rpb24pOyB9CiAgICAgZmxvYXQgYm94RmxleCgpIGNvbnN0IHsgcmV0dXJu
IG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmRlcHJlY2F0ZWRGbGV4aWJsZUJveC0+ZmxleDsgfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29u
c3RhbnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25z
dGFudHMuaAppbmRleCA0OTkwNGE2ZjIxZWU2ZDI2MWI4OTI5YzY3M2NiNDQxYzJjOTc0Nzg1Li5i
NTJlOWJjMzkxMWNkNmY1ZTBkZGQ5Y2M4ODBmYTdjNmI2ZDQ1N2ViIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaApAQCAt
MTIyMyw2ICsxMjIzLDcgQEAgZW51bSBjbGFzcyBDb250YWlubWVudCA6IHVpbnQ4X3QgewogICAg
IExheW91dCAgID0gMSA8PCAwLAogICAgIFBhaW50ICAgID0gMSA8PCAxLAogICAgIFNpemUgICAg
ID0gMSA8PCAyLAorICAgIFN0eWxlICAgID0gMSA8PCAzLAogfTsKIAogZXh0ZXJuIGNvbnN0IGZs
b2F0IGRlZmF1bHRNaXRlckxpbWl0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUv
U3R5bGVCdWlsZGVyQ3VzdG9tLmggYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZUJ1aWxkZXJD
dXN0b20uaAppbmRleCA3ZjAxZjljYmE1MDljM2M3ZDlhOGU0Yzc5MTc2NzQwMTQzZThkNTg4Li5i
Zjc3NmI1ZTVhYmI4ZGQwYjMyOGQxOGQ5MDgyMmE0NjliN2NmYWUwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9zdHlsZS9TdHlsZUJ1aWxkZXJDdXN0b20uaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9zdHlsZS9TdHlsZUJ1aWxkZXJDdXN0b20uaApAQCAtMTI3Nyw2ICsxMjc3LDkgQEAgaW5saW5l
IHZvaWQgQnVpbGRlckN1c3RvbTo6YXBwbHlWYWx1ZUNvbnRhaW4oQnVpbGRlclN0YXRlJiBidWls
ZGVyU3RhdGUsIENTU1ZhbHUKICAgICAgICAgY2FzZSBDU1NWYWx1ZVBhaW50OgogICAgICAgICAg
ICAgY29udGFpbm1lbnQuYWRkKENvbnRhaW5tZW50OjpQYWludCk7CiAgICAgICAgICAgICBicmVh
azsKKyAgICAgICAgY2FzZSBDU1NWYWx1ZVN0eWxlOgorICAgICAgICAgICAgY29udGFpbm1lbnQu
YWRkKENvbnRhaW5tZW50OjpTdHlsZSk7CisgICAgICAgICAgICBicmVhazsKICAgICAgICAgZGVm
YXVsdDoKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9OwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9D
aGFuZ2VMb2cKaW5kZXggY2UzYTkyMmY5MDNlNDBiZDMyZGI3MGNjYmU3OGNkYzAyNGY0YjQ5MC4u
MDY5YjJiYzBjMjk2OTQ0ZTljMjZkMTdiYjNhODg4ZTgzYzQ5ZDQwNSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjEtMDUtMzEgIFJvYiBCdWlzICA8
cmJ1aXNAaWdhbGlhLmNvbT4KKworICAgICAgICBbY3NzLWNvbnRhaW5dIFN1cHBvcnQgY29udGFp
bjpzdHlsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjI2NDU4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL3BhcnNpbmcvY29udGFpbi1jb21w
dXRlZC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9wYXJzaW5nL2NvbnRhaW4tdmFsaWQtZXhwZWN0ZWQudHh0OgorCiAyMDIxLTA1LTI4
ICBNYXJ0aW4gUm9iaW5zb24gIDxtcm9iaW5zb25Ad2Via2l0Lm9yZz4KIAogICAgICAgICBNb3Jl
IHJlYWRpbHkgbGF5b3V0IHdoZW4gc2Nyb2xsLXNuYXAgcHJvcGVydGllcyBjaGFuZ2UKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL3BhcnNpbmcvY29udGFpbi1jb21wdXRlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9wYXJz
aW5nL2NvbnRhaW4tY29tcHV0ZWQtZXhwZWN0ZWQudHh0CmluZGV4IDRhMWEwZTY2MzVmZjhkYjdj
MGM1OTU1MjM5MjIxMTkwZWI3Y2RhNmYuLjViZmM5ZTQ1ZTNjNWZlMWIxNDc4OTRiZWIxZGM1OWIz
ZjI3MTYyNWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL3BhcnNpbmcvY29udGFpbi1jb21wdXRlZC1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vcGFyc2luZy9jb250YWluLWNvbXB1dGVkLWV4cGVjdGVkLnR4dApAQCAt
NCwxMiArNCwxMiBAQCBQQVNTIFByb3BlcnR5IGNvbnRhaW4gdmFsdWUgJ3N0cmljdCcKIFBBU1Mg
UHJvcGVydHkgY29udGFpbiB2YWx1ZSAnY29udGVudCcKIFBBU1MgUHJvcGVydHkgY29udGFpbiB2
YWx1ZSAnc2l6ZScKIFBBU1MgUHJvcGVydHkgY29udGFpbiB2YWx1ZSAnbGF5b3V0JwotRkFJTCBQ
cm9wZXJ0eSBjb250YWluIHZhbHVlICdzdHlsZScgYXNzZXJ0X3RydWU6ICdzdHlsZScgaXMgYSBz
dXBwb3J0ZWQgdmFsdWUgZm9yIGNvbnRhaW4uIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitQQVNT
IFByb3BlcnR5IGNvbnRhaW4gdmFsdWUgJ3N0eWxlJwogUEFTUyBQcm9wZXJ0eSBjb250YWluIHZh
bHVlICdwYWludCcKIFBBU1MgUHJvcGVydHkgY29udGFpbiB2YWx1ZSAnc2l6ZSBsYXlvdXQnCi1G
QUlMIFByb3BlcnR5IGNvbnRhaW4gdmFsdWUgJ3N0eWxlIHBhaW50JyBhc3NlcnRfdHJ1ZTogJ3N0
eWxlIHBhaW50JyBpcyBhIHN1cHBvcnRlZCB2YWx1ZSBmb3IgY29udGFpbi4gZXhwZWN0ZWQgdHJ1
ZSBnb3QgZmFsc2UKLUZBSUwgUHJvcGVydHkgY29udGFpbiB2YWx1ZSAnbGF5b3V0IHN0eWxlIHBh
aW50JyBhc3NlcnRfdHJ1ZTogJ2xheW91dCBzdHlsZSBwYWludCcgaXMgYSBzdXBwb3J0ZWQgdmFs
dWUgZm9yIGNvbnRhaW4uIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFByb3BlcnR5IGNv
bnRhaW4gdmFsdWUgJ3NpemUgbGF5b3V0IHN0eWxlIHBhaW50JyBhc3NlcnRfdHJ1ZTogJ3NpemUg
bGF5b3V0IHN0eWxlIHBhaW50JyBpcyBhIHN1cHBvcnRlZCB2YWx1ZSBmb3IgY29udGFpbi4gZXhw
ZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK1BBU1MgUHJvcGVydHkgY29udGFpbiB2YWx1ZSAnc3R5bGUg
cGFpbnQnCitQQVNTIFByb3BlcnR5IGNvbnRhaW4gdmFsdWUgJ2xheW91dCBzdHlsZSBwYWludCcK
K1BBU1MgUHJvcGVydHkgY29udGFpbiB2YWx1ZSAnc2l6ZSBsYXlvdXQgc3R5bGUgcGFpbnQnCiBQ
QVNTIFByb3BlcnR5IGNvbnRhaW4gdmFsdWUgJ3NpemUgbGF5b3V0IHBhaW50JwogUEFTUyBQcm9w
ZXJ0eSBjb250YWluIHZhbHVlICdsYXlvdXQgcGFpbnQnCiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL3BhcnNp
bmcvY29udGFpbi12YWxpZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9wYXJzaW5nL2NvbnRhaW4tdmFsaWQt
ZXhwZWN0ZWQudHh0CmluZGV4IGU1MTU1MGUxNDA1ZWE0ZTE4NzQ5NTQxYWI4NTAyNzc3NzI2NGRk
MzcuLjg1ZmNmZTE3Mzk3YjI5NjZhMDk2YWVhNjgzODhkM2M3ZjE3NTNhZjYgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL3BhcnNpbmcvY29udGFpbi12YWxpZC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vcGFyc2luZy9j
b250YWluLXZhbGlkLWV4cGVjdGVkLnR4dApAQCAtNCwxMCArNCwxMCBAQCBQQVNTIGUuc3R5bGVb
J2NvbnRhaW4nXSA9ICJzdHJpY3QiIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlCiBQQVNT
IGUuc3R5bGVbJ2NvbnRhaW4nXSA9ICJjb250ZW50IiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2
YWx1ZQogUEFTUyBlLnN0eWxlWydjb250YWluJ10gPSAic2l6ZSIgc2hvdWxkIHNldCB0aGUgcHJv
cGVydHkgdmFsdWUKIFBBU1MgZS5zdHlsZVsnY29udGFpbiddID0gImxheW91dCIgc2hvdWxkIHNl
dCB0aGUgcHJvcGVydHkgdmFsdWUKLUZBSUwgZS5zdHlsZVsnY29udGFpbiddID0gInN0eWxlIiBz
aG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZSBhc3NlcnRfbm90X2VxdWFsczogcHJvcGVydHkg
c2hvdWxkIGJlIHNldCBnb3QgZGlzYWxsb3dlZCB2YWx1ZSAiIgorUEFTUyBlLnN0eWxlWydjb250
YWluJ10gPSAic3R5bGUiIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlCiBQQVNTIGUuc3R5
bGVbJ2NvbnRhaW4nXSA9ICJwYWludCIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUKIFBB
U1MgZS5zdHlsZVsnY29udGFpbiddID0gImxheW91dCBzaXplIiBzaG91bGQgc2V0IHRoZSBwcm9w
ZXJ0eSB2YWx1ZQotRkFJTCBlLnN0eWxlWydjb250YWluJ10gPSAicGFpbnQgc3R5bGUiIHNob3Vs
ZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlIGFzc2VydF9ub3RfZXF1YWxzOiBwcm9wZXJ0eSBzaG91
bGQgYmUgc2V0IGdvdCBkaXNhbGxvd2VkIHZhbHVlICIiCi1GQUlMIGUuc3R5bGVbJ2NvbnRhaW4n
XSA9ICJsYXlvdXQgc3R5bGUgcGFpbnQiIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlIGFz
c2VydF9ub3RfZXF1YWxzOiBwcm9wZXJ0eSBzaG91bGQgYmUgc2V0IGdvdCBkaXNhbGxvd2VkIHZh
bHVlICIiCi1GQUlMIGUuc3R5bGVbJ2NvbnRhaW4nXSA9ICJsYXlvdXQgcGFpbnQgc3R5bGUgc2l6
ZSIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUgYXNzZXJ0X25vdF9lcXVhbHM6IHByb3Bl
cnR5IHNob3VsZCBiZSBzZXQgZ290IGRpc2FsbG93ZWQgdmFsdWUgIiIKK1BBU1MgZS5zdHlsZVsn
Y29udGFpbiddID0gInBhaW50IHN0eWxlIiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZQor
UEFTUyBlLnN0eWxlWydjb250YWluJ10gPSAibGF5b3V0IHN0eWxlIHBhaW50IiBzaG91bGQgc2V0
IHRoZSBwcm9wZXJ0eSB2YWx1ZQorUEFTUyBlLnN0eWxlWydjb250YWluJ10gPSAibGF5b3V0IHBh
aW50IHN0eWxlIHNpemUiIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>430187</attachid>
            <date>2021-05-31 02:00:26 -0700</date>
            <delta_ts>2021-06-06 04:33:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226458-20210531110025.patch</filename>
            <type>text/plain</type>
            <size>16293</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4MTkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGE0YzBiNzA2YjU3ZjIw
M2NkY2QzZTMyYjU4ZjE2ZDQ0YjNhZTM3Ni4uMmI3YWNjNzU0YjQwYTEzYjUxMDMwYmI4NGZlOWRh
ZmNiNDYxMDgyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDIxLTA1LTMxICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgW2Nzcy1jb250YWluXSBTdXBwb3J0
IGNvbnRhaW46c3R5bGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIyNjQ1OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFdJUC4KKworICAgICAgICAqIGNzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24u
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29tcHV0ZWRTdHlsZUV4dHJhY3Rvcjo6dmFsdWVGb3JQ
cm9wZXJ0eUluU3R5bGUpOgorICAgICAgICAqIGNzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Y29uc3VtZUNvbnRhaW4pOgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJDb3VudGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmFuY2VzdG9yU3R5bGVD
b250YWlubWVudE9iamVjdCk6CisgICAgICAgIChXZWJDb3JlOjpwcmV2aW91c0luUHJlT3JkZXIp
OgorICAgICAgICAoV2ViQ29yZTo6cHJldmlvdXNTaWJsaW5nT3JQYXJlbnRFbGVtZW50KToKKyAg
ICAgICAgKFdlYkNvcmU6Om1ha2VDb3VudGVyTm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJDb3VudGVyOjpyZW5kZXJlclN1YnRyZWVBdHRhY2hlZCk6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlck9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpzaG91bGRBcHBseVN0eWxlQ29u
dGFpbm1lbnQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuaDoKKyAgICAgICAg
KiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
clN0eWxlOjpjb250YWluc1N0eWxlIGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUv
UmVuZGVyU3R5bGVDb25zdGFudHMuaDoKKyAgICAgICAgKiBzdHlsZS9TdHlsZUJ1aWxkZXJDdXN0
b20uaDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlOjpCdWlsZGVyQ3VzdG9tOjphcHBseVZhbHVl
Q29udGFpbik6CisKIDIwMjEtMDUtMjggIE1hcnRpbiBSb2JpbnNvbiAgPG1yb2JpbnNvbkB3ZWJr
aXQub3JnPgogCiAgICAgICAgIE1vcmUgcmVhZGlseSBsYXlvdXQgd2hlbiBzY3JvbGwtc25hcCBw
cm9wZXJ0aWVzIGNoYW5nZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1
dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRT
dHlsZURlY2xhcmF0aW9uLmNwcAppbmRleCBhNmQ1NDNiY2VkZjU5MzU4MzNhYTJjYTc5NzQ5YmIw
MDU1NWEzMTU3Li5hNDcwY2I4YTI1MGE5MGRkZDkwNzY3YjQxZjM1MjZhMjk1NzlmMWQ3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNw
cApAQCAtMzQ4OCw2ICszNDg4LDggQEAgUmVmUHRyPENTU1ZhbHVlPiBDb21wdXRlZFN0eWxlRXh0
cmFjdG9yOjp2YWx1ZUZvclByb3BlcnR5SW5TdHlsZShjb25zdCBSZW5kZXJTdHkKICAgICAgICAg
ICAgICAgICBsaXN0LT5hcHBlbmQoY3NzVmFsdWVQb29sLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShD
U1NWYWx1ZVNpemUpKTsKICAgICAgICAgICAgIGlmIChjb250YWlubWVudCAmIENvbnRhaW5tZW50
OjpMYXlvdXQpCiAgICAgICAgICAgICAgICAgbGlzdC0+YXBwZW5kKGNzc1ZhbHVlUG9vbC5jcmVh
dGVJZGVudGlmaWVyVmFsdWUoQ1NTVmFsdWVMYXlvdXQpKTsKKyAgICAgICAgICAgIGlmIChjb250
YWlubWVudCAmIENvbnRhaW5tZW50OjpTdHlsZSkKKyAgICAgICAgICAgICAgICBsaXN0LT5hcHBl
bmQoY3NzVmFsdWVQb29sLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1ZVN0eWxlKSk7CiAg
ICAgICAgICAgICBpZiAoY29udGFpbm1lbnQgJiBDb250YWlubWVudDo6UGFpbnQpCiAgICAgICAg
ICAgICAgICAgbGlzdC0+YXBwZW5kKGNzc1ZhbHVlUG9vbC5jcmVhdGVJZGVudGlmaWVyVmFsdWUo
Q1NTVmFsdWVQYWludCkpOwogICAgICAgICAgICAgcmV0dXJuIGxpc3Q7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwCmluZGV4IGZkNTEwNjE5NzNl
MjUwYzlmNWRkMTI2ZDgxYzhhNzgzMzM1YzdhZjMuLjk2MWI1M2RmZDc5MTZjNTlhZTVhY2UwMGUw
MTYzNzNhYTM0NjAxNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NT
UHJvcGVydHlQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJv
cGVydHlQYXJzZXIuY3BwCkBAIC0zODUwLDcgKzM4NTAsNyBAQCBzdGF0aWMgUmVmUHRyPENTU1Zh
bHVlPiBjb25zdW1lQ29udGFpbihDU1NQYXJzZXJUb2tlblJhbmdlJiByYW5nZSkKICAgICBpZiAo
YXV0byBzaW5nbGVWYWx1ZSA9IGNvbnN1bWVJZGVudDxDU1NWYWx1ZU5vbmUsIENTU1ZhbHVlU3Ry
aWN0LCBDU1NWYWx1ZUNvbnRlbnQ+KHJhbmdlKSkKICAgICAgICAgcmV0dXJuIHNpbmdsZVZhbHVl
OwogICAgIGF1dG8gbGlzdCA9IENTU1ZhbHVlTGlzdDo6Y3JlYXRlU3BhY2VTZXBhcmF0ZWQoKTsK
LSAgICBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IHNpemUsIGxheW91dCwgcGFpbnQ7CisgICAg
UmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBzaXplLCBsYXlvdXQsIHBhaW50LCBzdHlsZTsKICAg
ICB3aGlsZSAoIXJhbmdlLmF0RW5kKCkpIHsKICAgICAgICAgc3dpdGNoIChyYW5nZS5wZWVrKCku
aWQoKSkgewogICAgICAgICBjYXNlIENTU1ZhbHVlU2l6ZToKQEAgLTM4NjgsNiArMzg2OCwxMSBA
QCBzdGF0aWMgUmVmUHRyPENTU1ZhbHVlPiBjb25zdW1lQ29udGFpbihDU1NQYXJzZXJUb2tlblJh
bmdlJiByYW5nZSkKICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICAgICAgICAg
IHBhaW50ID0gY29uc3VtZUlkZW50KHJhbmdlKTsKICAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICBjYXNlIENTU1ZhbHVlU3R5bGU6CisgICAgICAgICAgICBpZiAoc3R5bGUpCisgICAgICAgICAg
ICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgICAgICBzdHlsZSA9IGNvbnN1bWVJZGVudChy
YW5nZSk7CisgICAgICAgICAgICBicmVhazsKICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAg
IHJldHVybiBudWxscHRyOwogICAgICAgICB9CkBAIC0zODc2LDYgKzM4ODEsOCBAQCBzdGF0aWMg
UmVmUHRyPENTU1ZhbHVlPiBjb25zdW1lQ29udGFpbihDU1NQYXJzZXJUb2tlblJhbmdlJiByYW5n
ZSkKICAgICAgICAgbGlzdC0+YXBwZW5kKHNpemUucmVsZWFzZU5vbk51bGwoKSk7CiAgICAgaWYg
KGxheW91dCkKICAgICAgICAgbGlzdC0+YXBwZW5kKGxheW91dC5yZWxlYXNlTm9uTnVsbCgpKTsK
KyAgICBpZiAoc3R5bGUpCisgICAgICAgIGxpc3QtPmFwcGVuZChzdHlsZS5yZWxlYXNlTm9uTnVs
bCgpKTsKICAgICBpZiAocGFpbnQpCiAgICAgICAgIGxpc3QtPmFwcGVuZChwYWludC5yZWxlYXNl
Tm9uTnVsbCgpKTsKICAgICBpZiAoIWxpc3QtPmxlbmd0aCgpKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckNvdW50ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckNvdW50ZXIuY3BwCmluZGV4IGQzYWMwYzM2MWUwY2Y1ZTA1OGQ3ODRjZjIx
MDJjYzY5YjZmNGU1OGMuLjk4NzcwNTE1OWRjNjFhYjY5ZGQ1Zjk4YjgwMGMyZjUyMWE3NjA2NWUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJDb3VudGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQ291bnRlci5jcHAKQEAgLTU3LDE1
ICs1NywzNiBAQCBzdGF0aWMgQ291bnRlck1hcHMmIGNvdW50ZXJNYXBzKCkKICAgICByZXR1cm4g
c3RhdGljQ291bnRlck1hcHM7CiB9CiAKK3N0YXRpYyBFbGVtZW50KiBhbmNlc3RvclN0eWxlQ29u
dGFpbm1lbnRPYmplY3QoY29uc3QgRWxlbWVudCYgZWxlbWVudCkKK3sKKyAgICBmb3IgKEVsZW1l
bnQqIGFuY2VzdG9yID0gZWxlbWVudC5wYXJlbnRFbGVtZW50KCk7IGFuY2VzdG9yOyBhbmNlc3Rv
ciA9IGFuY2VzdG9yLT5wYXJlbnRFbGVtZW50KCkpIHsKKyAgICAgICAgaWYgKGF1dG8qIHN0eWxl
ID0gYW5jZXN0b3ItPmV4aXN0aW5nQ29tcHV0ZWRTdHlsZSgpKSB7CisgICAgICAgICAgICBpZiAo
c3R5bGUtPmNvbnRhaW5zU3R5bGUoKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gYW5jZXN0b3I7
CisgICAgICAgIH0KKyAgICB9CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKIC8vIFRoaXMgZnVu
Y3Rpb24gcHJvY2Vzc2VzIHRoZSByZW5kZXJlciB0cmVlIGluIHRoZSBvcmRlciBvZiB0aGUgRE9N
IHRyZWUKIC8vIGluY2x1ZGluZyBwc2V1ZG8gZWxlbWVudHMgYXMgZGVmaW5lZCBpbiBDU1MgMi4x
Lgogc3RhdGljIFJlbmRlckVsZW1lbnQqIHByZXZpb3VzSW5QcmVPcmRlcihjb25zdCBSZW5kZXJF
bGVtZW50JiByZW5kZXJlcikKIHsKICAgICBBU1NFUlQocmVuZGVyZXIuZWxlbWVudCgpKTsKICAg
ICBFbGVtZW50KiBwcmV2aW91cyA9IEVsZW1lbnRUcmF2ZXJzYWw6OnByZXZpb3VzSW5jbHVkaW5n
UHNldWRvKCpyZW5kZXJlci5lbGVtZW50KCkpOwotICAgIHdoaWxlIChwcmV2aW91cyAmJiAhcHJl
dmlvdXMtPnJlbmRlcmVyKCkpCi0gICAgICAgIHByZXZpb3VzID0gRWxlbWVudFRyYXZlcnNhbDo6
cHJldmlvdXNJbmNsdWRpbmdQc2V1ZG8oKnByZXZpb3VzKTsKLSAgICByZXR1cm4gcHJldmlvdXMg
PyBwcmV2aW91cy0+cmVuZGVyZXIoKSA6IDA7CisgICAgRWxlbWVudCogc3R5bGVDb250YWluQW5j
ZXN0b3IgPSBhbmNlc3RvclN0eWxlQ29udGFpbm1lbnRPYmplY3QoKnJlbmRlcmVyLmVsZW1lbnQo
KSk7CisgICAgd2hpbGUgKHRydWUpIHsKKyAgICAgICAgd2hpbGUgKHByZXZpb3VzICYmICFwcmV2
aW91cy0+cmVuZGVyZXIoKSAmJiAhcHJldmlvdXMtPmhhc0Rpc3BsYXlDb250ZW50cygpKQorICAg
ICAgICAgICAgcHJldmlvdXMgPSBFbGVtZW50VHJhdmVyc2FsOjpwcmV2aW91c0luY2x1ZGluZ1Bz
ZXVkbygqcHJldmlvdXMpOworICAgICAgICBpZiAoIXByZXZpb3VzKQorICAgICAgICAgICAgcmV0
dXJuIG51bGxwdHI7CisgICAgICAgIEVsZW1lbnQqIHByZXZpb3VzU3R5bGVDb250YWluQW5jZXN0
b3IgPSBhbmNlc3RvclN0eWxlQ29udGFpbm1lbnRPYmplY3QoKnByZXZpb3VzKTsKKyAgICAgICAg
aWYgKHByZXZpb3VzU3R5bGVDb250YWluQW5jZXN0b3IgPT0gc3R5bGVDb250YWluQW5jZXN0b3Ip
CisgICAgICAgICAgICByZXR1cm4gcHJldmlvdXMtPnJlbmRlcmVyKCk7CisgICAgICAgIGlmICgh
cHJldmlvdXNTdHlsZUNvbnRhaW5BbmNlc3RvcikKKyAgICAgICAgICAgIHJldHVybiBudWxscHRy
OworICAgICAgICBwcmV2aW91cyA9IHByZXZpb3VzU3R5bGVDb250YWluQW5jZXN0b3I7CisgICAg
fQogfQogCiBzdGF0aWMgaW5saW5lIEVsZW1lbnQqIHBhcmVudE9yUHNldWRvSG9zdEVsZW1lbnQo
Y29uc3QgUmVuZGVyRWxlbWVudCYgcmVuZGVyZXIpCkBAIC03OCw3ICs5OSw3IEBAIHN0YXRpYyBp
bmxpbmUgRWxlbWVudCogcGFyZW50T3JQc2V1ZG9Ib3N0RWxlbWVudChjb25zdCBSZW5kZXJFbGVt
ZW50JiByZW5kZXJlcikKIHN0YXRpYyBFbGVtZW50KiBwcmV2aW91c1NpYmxpbmdPclBhcmVudEVs
ZW1lbnQoY29uc3QgRWxlbWVudCYgZWxlbWVudCkKIHsKICAgICBpZiAoYXV0byogcHJldmlvdXMg
PSBFbGVtZW50VHJhdmVyc2FsOjpwc2V1ZG9Bd2FyZVByZXZpb3VzU2libGluZyhlbGVtZW50KSkg
ewotICAgICAgICB3aGlsZSAocHJldmlvdXMgJiYgIXByZXZpb3VzLT5yZW5kZXJlcigpKQorICAg
ICAgICB3aGlsZSAocHJldmlvdXMgJiYgIXByZXZpb3VzLT5yZW5kZXJlcigpICYmICFwcmV2aW91
cy0+aGFzRGlzcGxheUNvbnRlbnRzKCkpCiAgICAgICAgICAgICBwcmV2aW91cyA9IEVsZW1lbnRU
cmF2ZXJzYWw6OnBzZXVkb0F3YXJlUHJldmlvdXNTaWJsaW5nKCpwcmV2aW91cyk7CiAKICAgICAg
ICAgaWYgKHByZXZpb3VzKQpAQCAtOTYsNiArMTE3LDggQEAgc3RhdGljIEVsZW1lbnQqIHByZXZp
b3VzU2libGluZ09yUGFyZW50RWxlbWVudChjb25zdCBFbGVtZW50JiBlbGVtZW50KQogICAgIGF1
dG8qIHBhcmVudCA9IGVsZW1lbnQucGFyZW50RWxlbWVudCgpOwogICAgIGlmIChwYXJlbnQgJiYg
IXBhcmVudC0+cmVuZGVyZXIoKSkKICAgICAgICAgcGFyZW50ID0gcHJldmlvdXNTaWJsaW5nT3JQ
YXJlbnRFbGVtZW50KCpwYXJlbnQpOworICAgIGlmIChwYXJlbnQgJiYgcGFyZW50LT5yZW5kZXJl
cigpICYmIHBhcmVudC0+cmVuZGVyZXIoKS0+c3R5bGUoKS5jb250YWluc1N0eWxlKCkpCisgICAg
ICAgIHJldHVybiBudWxscHRyOwogICAgIHJldHVybiBwYXJlbnQ7CiB9CiAKQEAgLTMzNSw3ICsz
NTgsNyBAQCBzdGF0aWMgQ291bnRlck5vZGUqIG1ha2VDb3VudGVyTm9kZShSZW5kZXJFbGVtZW50
JiByZW5kZXJlciwgY29uc3QgQXRvbVN0cmluZyYgaQogICAgIG1hcHMuYWRkKCZyZW5kZXJlciwg
bWFrZVVuaXF1ZTxDb3VudGVyTWFwPigpKS5pdGVyYXRvci0+dmFsdWUtPmFkZChpZGVudGlmaWVy
LCBuZXdOb2RlLmNvcHlSZWYoKSk7CiAgICAgcmVuZGVyZXIuc2V0SGFzQ291bnRlck5vZGVNYXAo
dHJ1ZSk7CiAKLSAgICBpZiAobmV3Tm9kZS0+cGFyZW50KCkpCisgICAgaWYgKG5ld05vZGUtPnBh
cmVudCgpIHx8IHNob3VsZEFwcGx5U3R5bGVDb250YWlubWVudChyZW5kZXJlcikpCiAgICAgICAg
IHJldHVybiBuZXdOb2RlLnB0cigpOwogCiAgICAgLy8gQ2hlY2sgaWYgc29tZSBub2RlcyB0aGF0
IHdlcmUgcHJldmlvdXNseSByb290IG5vZGVzIHNob3VsZCBiZWNvbWUgY2hpbGRyZW4gb2YgdGhp
cyBub2RlIG5vdy4KQEAgLTM0Myw3ICszNjYsNyBAQCBzdGF0aWMgQ291bnRlck5vZGUqIG1ha2VD
b3VudGVyTm9kZShSZW5kZXJFbGVtZW50JiByZW5kZXJlciwgY29uc3QgQXRvbVN0cmluZyYgaQog
ICAgIGF1dG8qIHN0YXlXaXRoaW4gPSBwYXJlbnRPclBzZXVkb0hvc3RFbGVtZW50KHJlbmRlcmVy
KTsKICAgICBib29sIHNraXBEZXNjZW5kYW50cyA9IGZhbHNlOwogICAgIHdoaWxlICgoY3VycmVu
dFJlbmRlcmVyID0gbmV4dEluUHJlT3JkZXIoKmN1cnJlbnRSZW5kZXJlciwgc3RheVdpdGhpbiwg
c2tpcERlc2NlbmRhbnRzKSkpIHsKLSAgICAgICAgc2tpcERlc2NlbmRhbnRzID0gZmFsc2U7Cisg
ICAgICAgIHNraXBEZXNjZW5kYW50cyA9IHNob3VsZEFwcGx5U3R5bGVDb250YWlubWVudCgqY3Vy
cmVudFJlbmRlcmVyKTsKICAgICAgICAgaWYgKCFjdXJyZW50UmVuZGVyZXItPmhhc0NvdW50ZXJO
b2RlTWFwKCkpCiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgYXV0byogY3VycmVudENv
dW50ZXIgPSBtYXBzLmZpbmQoY3VycmVudFJlbmRlcmVyKS0+dmFsdWUtPmdldChpZGVudGlmaWVy
KTsKQEAgLTU0OSw4ICs1NzIsMTAgQEAgdm9pZCBSZW5kZXJDb3VudGVyOjpyZW5kZXJlclN1YnRy
ZWVBdHRhY2hlZChSZW5kZXJFbGVtZW50JiByZW5kZXJlcikKICAgICAgICAgZWxlbWVudCA9IHJl
bmRlcmVyLmdlbmVyYXRpbmdFbGVtZW50KCk7CiAgICAgaWYgKGVsZW1lbnQgJiYgIWVsZW1lbnQt
PnJlbmRlcmVyKCkpCiAgICAgICAgIHJldHVybjsgLy8gTm8gbmVlZCB0byB1cGRhdGUgaWYgdGhl
IHBhcmVudCBpcyBub3QgYXR0YWNoZWQgeWV0CisgICAgYm9vbCBjcm9zc2VkQm91bmRhcnkgPSBm
YWxzZTsKICAgICBmb3IgKFJlbmRlck9iamVjdCogZGVzY2VuZGFudCA9ICZyZW5kZXJlcjsgZGVz
Y2VuZGFudDsgZGVzY2VuZGFudCA9IGRlc2NlbmRhbnQtPm5leHRJblByZU9yZGVyKCZyZW5kZXJl
cikpIHsKLSAgICAgICAgaWYgKGlzPFJlbmRlckVsZW1lbnQ+KCpkZXNjZW5kYW50KSkKKyAgICAg
ICAgY3Jvc3NlZEJvdW5kYXJ5IHw9IHNob3VsZEFwcGx5U3R5bGVDb250YWlubWVudCgqZGVzY2Vu
ZGFudCk7CisgICAgICAgIGlmIChjcm9zc2VkQm91bmRhcnkgJiYgaXM8UmVuZGVyRWxlbWVudD4o
KmRlc2NlbmRhbnQpKQogICAgICAgICAgICAgdXBkYXRlQ291bnRlcnMoZG93bmNhc3Q8UmVuZGVy
RWxlbWVudD4oKmRlc2NlbmRhbnQpKTsKICAgICB9CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJPYmplY3QuY3BwCmluZGV4IDQyZTBlZGYzYzViMzM2ODAyMGIxYjA1MjQ2MWM3YWI1
YmMwNzQ2ZWEuLjUxYzcwY2YxYzE5NDZlYjNmNDUyOGVkYTE3NmQ5OTM3Yjk5ZjFlZDcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCkBAIC0yNTE0LDMgKzI1MTQs
OCBAQCBib29sIFdlYkNvcmU6OnNob3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50KGNvbnN0IFdlYkNv
cmU6OlJlbmRlck9iamVjdCYgcmVuZGVyZXIpCiB7CiAgICAgcmV0dXJuIHJlbmRlcmVyLnN0eWxl
KCkuY29udGFpbnNTaXplKCkgJiYgKCFyZW5kZXJlci5pc0lubGluZSgpIHx8IHJlbmRlcmVyLmlz
QXRvbWljSW5saW5lTGV2ZWxCb3goKSkgJiYgIXJlbmRlcmVyLmlzUnVieVRleHQoKSAmJiAoIXJl
bmRlcmVyLmlzVGFibGVQYXJ0KCkgfHwgcmVuZGVyZXIuaXNUYWJsZUNhcHRpb24oKSkgJiYgIXJl
bmRlcmVyLmlzVGFibGUoKTsKIH0KKworYm9vbCBXZWJDb3JlOjpzaG91bGRBcHBseVN0eWxlQ29u
dGFpbm1lbnQoY29uc3QgV2ViQ29yZTo6UmVuZGVyT2JqZWN0JiByZW5kZXJlcikKK3sKKyAgICBy
ZXR1cm4gcmVuZGVyZXIuc3R5bGUoKS5jb250YWluc1N0eWxlKCkgJiYgKCFyZW5kZXJlci5pc0lu
bGluZSgpIHx8IHJlbmRlcmVyLmlzQXRvbWljSW5saW5lTGV2ZWxCb3goKSkgJiYgIXJlbmRlcmVy
LmlzUnVieVRleHQoKSAmJiAoIXJlbmRlcmVyLmlzVGFibGVQYXJ0KCkgfHwgcmVuZGVyZXIuaXNU
YWJsZUNhcHRpb24oKSkgJiYgIXJlbmRlcmVyLmlzVGFibGUoKTsKK30KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJPYmplY3QuaAppbmRleCBiZmE4NDhjNjIzZjEwMzJiODg4OGRlMzdkY2Ji
N2M1NWNmZDAwYjFmLi42YTMwMDM2NTk5YTRiYWUwOTNkZWJhNmEzNWU5M2E1NTYzOGZkNTA1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCkBAIC0xMTk3LDYgKzExOTcs
NyBAQCB2b2lkIHByaW50R3JhcGhpY3NMYXllclRyZWVGb3JMaXZlRG9jdW1lbnRzKCk7CiAKIGJv
b2wgc2hvdWxkQXBwbHlMYXlvdXRDb250YWlubWVudChjb25zdCBSZW5kZXJPYmplY3QmKTsKIGJv
b2wgc2hvdWxkQXBwbHlTaXplQ29udGFpbm1lbnQoY29uc3QgUmVuZGVyT2JqZWN0Jik7Citib29s
IHNob3VsZEFwcGx5U3R5bGVDb250YWlubWVudChjb25zdCBSZW5kZXJPYmplY3QmKTsKIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3R5bGUvUmVuZGVyU3R5bGUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9S
ZW5kZXJTdHlsZS5oCmluZGV4IDFhNzU2M2QwNjFjZWViOWZhMzZkYjc1YTg1ZDM4ZmIyOTgzYzQw
MmYuLmRjMGI5ZGE3OGE0NzQ4NzY5YjRhMWM5YjFlYzM5Njk5MDNkOGU0NjQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCkBAIC01MjgsNiArNTI4LDcg
QEAgcHVibGljOgogICAgIE9wdGlvblNldDxDb250YWlubWVudD4gY29udGFpbigpIGNvbnN0IHsg
cmV0dXJuIG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmNvbnRhaW47IH0KICAgICBib29sIGNvbnRh
aW5zTGF5b3V0KCkgY29uc3QgeyByZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+Y29udGFp
bi5jb250YWlucyhDb250YWlubWVudDo6TGF5b3V0KTsgfQogICAgIGJvb2wgY29udGFpbnNTaXpl
KCkgY29uc3QgeyByZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+Y29udGFpbi5jb250YWlu
cyhDb250YWlubWVudDo6U2l6ZSk7IH0KKyAgICBib29sIGNvbnRhaW5zU3R5bGUoKSBjb25zdCB7
IHJldHVybiBtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5jb250YWluLmNvbnRhaW5zKENvbnRhaW5t
ZW50OjpTdHlsZSk7IH0KICAgICBCb3hBbGlnbm1lbnQgYm94QWxpZ24oKSBjb25zdCB7IHJldHVy
biBzdGF0aWNfY2FzdDxCb3hBbGlnbm1lbnQ+KG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmRlcHJl
Y2F0ZWRGbGV4aWJsZUJveC0+YWxpZ24pOyB9CiAgICAgQm94RGlyZWN0aW9uIGJveERpcmVjdGlv
bigpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PEJveERpcmVjdGlvbj4obV9pbmhlcml0ZWRG
bGFncy5ib3hEaXJlY3Rpb24pOyB9CiAgICAgZmxvYXQgYm94RmxleCgpIGNvbnN0IHsgcmV0dXJu
IG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmRlcHJlY2F0ZWRGbGV4aWJsZUJveC0+ZmxleDsgfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29u
c3RhbnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25z
dGFudHMuaAppbmRleCA0OTkwNGE2ZjIxZWU2ZDI2MWI4OTI5YzY3M2NiNDQxYzJjOTc0Nzg1Li5i
NTJlOWJjMzkxMWNkNmY1ZTBkZGQ5Y2M4ODBmYTdjNmI2ZDQ1N2ViIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaApAQCAt
MTIyMyw2ICsxMjIzLDcgQEAgZW51bSBjbGFzcyBDb250YWlubWVudCA6IHVpbnQ4X3QgewogICAg
IExheW91dCAgID0gMSA8PCAwLAogICAgIFBhaW50ICAgID0gMSA8PCAxLAogICAgIFNpemUgICAg
ID0gMSA8PCAyLAorICAgIFN0eWxlICAgID0gMSA8PCAzLAogfTsKIAogZXh0ZXJuIGNvbnN0IGZs
b2F0IGRlZmF1bHRNaXRlckxpbWl0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUv
U3R5bGVCdWlsZGVyQ3VzdG9tLmggYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZUJ1aWxkZXJD
dXN0b20uaAppbmRleCA3ZjAxZjljYmE1MDljM2M3ZDlhOGU0Yzc5MTc2NzQwMTQzZThkNTg4Li5i
Zjc3NmI1ZTVhYmI4ZGQwYjMyOGQxOGQ5MDgyMmE0NjliN2NmYWUwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9zdHlsZS9TdHlsZUJ1aWxkZXJDdXN0b20uaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9zdHlsZS9TdHlsZUJ1aWxkZXJDdXN0b20uaApAQCAtMTI3Nyw2ICsxMjc3LDkgQEAgaW5saW5l
IHZvaWQgQnVpbGRlckN1c3RvbTo6YXBwbHlWYWx1ZUNvbnRhaW4oQnVpbGRlclN0YXRlJiBidWls
ZGVyU3RhdGUsIENTU1ZhbHUKICAgICAgICAgY2FzZSBDU1NWYWx1ZVBhaW50OgogICAgICAgICAg
ICAgY29udGFpbm1lbnQuYWRkKENvbnRhaW5tZW50OjpQYWludCk7CiAgICAgICAgICAgICBicmVh
azsKKyAgICAgICAgY2FzZSBDU1NWYWx1ZVN0eWxlOgorICAgICAgICAgICAgY29udGFpbm1lbnQu
YWRkKENvbnRhaW5tZW50OjpTdHlsZSk7CisgICAgICAgICAgICBicmVhazsKICAgICAgICAgZGVm
YXVsdDoKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9OwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9D
aGFuZ2VMb2cKaW5kZXggY2UzYTkyMmY5MDNlNDBiZDMyZGI3MGNjYmU3OGNkYzAyNGY0YjQ5MC4u
MDY5YjJiYzBjMjk2OTQ0ZTljMjZkMTdiYjNhODg4ZTgzYzQ5ZDQwNSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjEtMDUtMzEgIFJvYiBCdWlzICA8
cmJ1aXNAaWdhbGlhLmNvbT4KKworICAgICAgICBbY3NzLWNvbnRhaW5dIFN1cHBvcnQgY29udGFp
bjpzdHlsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjI2NDU4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL3BhcnNpbmcvY29udGFpbi1jb21w
dXRlZC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9wYXJzaW5nL2NvbnRhaW4tdmFsaWQtZXhwZWN0ZWQudHh0OgorCiAyMDIxLTA1LTI4
ICBNYXJ0aW4gUm9iaW5zb24gIDxtcm9iaW5zb25Ad2Via2l0Lm9yZz4KIAogICAgICAgICBNb3Jl
IHJlYWRpbHkgbGF5b3V0IHdoZW4gc2Nyb2xsLXNuYXAgcHJvcGVydGllcyBjaGFuZ2UKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL3BhcnNpbmcvY29udGFpbi1jb21wdXRlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9wYXJz
aW5nL2NvbnRhaW4tY29tcHV0ZWQtZXhwZWN0ZWQudHh0CmluZGV4IDRhMWEwZTY2MzVmZjhkYjdj
MGM1OTU1MjM5MjIxMTkwZWI3Y2RhNmYuLjViZmM5ZTQ1ZTNjNWZlMWIxNDc4OTRiZWIxZGM1OWIz
ZjI3MTYyNWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL3BhcnNpbmcvY29udGFpbi1jb21wdXRlZC1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vcGFyc2luZy9jb250YWluLWNvbXB1dGVkLWV4cGVjdGVkLnR4dApAQCAt
NCwxMiArNCwxMiBAQCBQQVNTIFByb3BlcnR5IGNvbnRhaW4gdmFsdWUgJ3N0cmljdCcKIFBBU1Mg
UHJvcGVydHkgY29udGFpbiB2YWx1ZSAnY29udGVudCcKIFBBU1MgUHJvcGVydHkgY29udGFpbiB2
YWx1ZSAnc2l6ZScKIFBBU1MgUHJvcGVydHkgY29udGFpbiB2YWx1ZSAnbGF5b3V0JwotRkFJTCBQ
cm9wZXJ0eSBjb250YWluIHZhbHVlICdzdHlsZScgYXNzZXJ0X3RydWU6ICdzdHlsZScgaXMgYSBz
dXBwb3J0ZWQgdmFsdWUgZm9yIGNvbnRhaW4uIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitQQVNT
IFByb3BlcnR5IGNvbnRhaW4gdmFsdWUgJ3N0eWxlJwogUEFTUyBQcm9wZXJ0eSBjb250YWluIHZh
bHVlICdwYWludCcKIFBBU1MgUHJvcGVydHkgY29udGFpbiB2YWx1ZSAnc2l6ZSBsYXlvdXQnCi1G
QUlMIFByb3BlcnR5IGNvbnRhaW4gdmFsdWUgJ3N0eWxlIHBhaW50JyBhc3NlcnRfdHJ1ZTogJ3N0
eWxlIHBhaW50JyBpcyBhIHN1cHBvcnRlZCB2YWx1ZSBmb3IgY29udGFpbi4gZXhwZWN0ZWQgdHJ1
ZSBnb3QgZmFsc2UKLUZBSUwgUHJvcGVydHkgY29udGFpbiB2YWx1ZSAnbGF5b3V0IHN0eWxlIHBh
aW50JyBhc3NlcnRfdHJ1ZTogJ2xheW91dCBzdHlsZSBwYWludCcgaXMgYSBzdXBwb3J0ZWQgdmFs
dWUgZm9yIGNvbnRhaW4uIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFByb3BlcnR5IGNv
bnRhaW4gdmFsdWUgJ3NpemUgbGF5b3V0IHN0eWxlIHBhaW50JyBhc3NlcnRfdHJ1ZTogJ3NpemUg
bGF5b3V0IHN0eWxlIHBhaW50JyBpcyBhIHN1cHBvcnRlZCB2YWx1ZSBmb3IgY29udGFpbi4gZXhw
ZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK1BBU1MgUHJvcGVydHkgY29udGFpbiB2YWx1ZSAnc3R5bGUg
cGFpbnQnCitQQVNTIFByb3BlcnR5IGNvbnRhaW4gdmFsdWUgJ2xheW91dCBzdHlsZSBwYWludCcK
K1BBU1MgUHJvcGVydHkgY29udGFpbiB2YWx1ZSAnc2l6ZSBsYXlvdXQgc3R5bGUgcGFpbnQnCiBQ
QVNTIFByb3BlcnR5IGNvbnRhaW4gdmFsdWUgJ3NpemUgbGF5b3V0IHBhaW50JwogUEFTUyBQcm9w
ZXJ0eSBjb250YWluIHZhbHVlICdsYXlvdXQgcGFpbnQnCiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL3BhcnNp
bmcvY29udGFpbi12YWxpZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9wYXJzaW5nL2NvbnRhaW4tdmFsaWQt
ZXhwZWN0ZWQudHh0CmluZGV4IGU1MTU1MGUxNDA1ZWE0ZTE4NzQ5NTQxYWI4NTAyNzc3NzI2NGRk
MzcuLjg1ZmNmZTE3Mzk3YjI5NjZhMDk2YWVhNjgzODhkM2M3ZjE3NTNhZjYgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL3BhcnNpbmcvY29udGFpbi12YWxpZC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vcGFyc2luZy9j
b250YWluLXZhbGlkLWV4cGVjdGVkLnR4dApAQCAtNCwxMCArNCwxMCBAQCBQQVNTIGUuc3R5bGVb
J2NvbnRhaW4nXSA9ICJzdHJpY3QiIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlCiBQQVNT
IGUuc3R5bGVbJ2NvbnRhaW4nXSA9ICJjb250ZW50IiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2
YWx1ZQogUEFTUyBlLnN0eWxlWydjb250YWluJ10gPSAic2l6ZSIgc2hvdWxkIHNldCB0aGUgcHJv
cGVydHkgdmFsdWUKIFBBU1MgZS5zdHlsZVsnY29udGFpbiddID0gImxheW91dCIgc2hvdWxkIHNl
dCB0aGUgcHJvcGVydHkgdmFsdWUKLUZBSUwgZS5zdHlsZVsnY29udGFpbiddID0gInN0eWxlIiBz
aG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZSBhc3NlcnRfbm90X2VxdWFsczogcHJvcGVydHkg
c2hvdWxkIGJlIHNldCBnb3QgZGlzYWxsb3dlZCB2YWx1ZSAiIgorUEFTUyBlLnN0eWxlWydjb250
YWluJ10gPSAic3R5bGUiIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlCiBQQVNTIGUuc3R5
bGVbJ2NvbnRhaW4nXSA9ICJwYWludCIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUKIFBB
U1MgZS5zdHlsZVsnY29udGFpbiddID0gImxheW91dCBzaXplIiBzaG91bGQgc2V0IHRoZSBwcm9w
ZXJ0eSB2YWx1ZQotRkFJTCBlLnN0eWxlWydjb250YWluJ10gPSAicGFpbnQgc3R5bGUiIHNob3Vs
ZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlIGFzc2VydF9ub3RfZXF1YWxzOiBwcm9wZXJ0eSBzaG91
bGQgYmUgc2V0IGdvdCBkaXNhbGxvd2VkIHZhbHVlICIiCi1GQUlMIGUuc3R5bGVbJ2NvbnRhaW4n
XSA9ICJsYXlvdXQgc3R5bGUgcGFpbnQiIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlIGFz
c2VydF9ub3RfZXF1YWxzOiBwcm9wZXJ0eSBzaG91bGQgYmUgc2V0IGdvdCBkaXNhbGxvd2VkIHZh
bHVlICIiCi1GQUlMIGUuc3R5bGVbJ2NvbnRhaW4nXSA9ICJsYXlvdXQgcGFpbnQgc3R5bGUgc2l6
ZSIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUgYXNzZXJ0X25vdF9lcXVhbHM6IHByb3Bl
cnR5IHNob3VsZCBiZSBzZXQgZ290IGRpc2FsbG93ZWQgdmFsdWUgIiIKK1BBU1MgZS5zdHlsZVsn
Y29udGFpbiddID0gInBhaW50IHN0eWxlIiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZQor
UEFTUyBlLnN0eWxlWydjb250YWluJ10gPSAibGF5b3V0IHN0eWxlIHBhaW50IiBzaG91bGQgc2V0
IHRoZSBwcm9wZXJ0eSB2YWx1ZQorUEFTUyBlLnN0eWxlWydjb250YWluJ10gPSAibGF5b3V0IHBh
aW50IHN0eWxlIHNpemUiIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>430680</attachid>
            <date>2021-06-06 04:33:19 -0700</date>
            <delta_ts>2021-06-06 07:24:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226458-20210606133317.patch</filename>
            <type>text/plain</type>
            <size>18340</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4NTMzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODU5NDU3ZTM4NzQzYTZk
YjIyZWM2ZGIxMTU2MzRiOTRmZWVlZmFkZi4uMTkyYTJlYWE4YTgxZjYwY2I3NmU3ODViMzk2OGFj
YWRhNDFhNDJkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDIxLTA2LTA2ICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgW2Nzcy1jb250YWluXSBTdXBwb3J0
IGNvbnRhaW46c3R5bGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIyNjQ1OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFdJUC4KKworICAgICAgICAqIGNzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24u
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29tcHV0ZWRTdHlsZUV4dHJhY3Rvcjo6dmFsdWVGb3JQ
cm9wZXJ0eUluU3R5bGUpOgorICAgICAgICAqIGNzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Y29uc3VtZUNvbnRhaW4pOgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJDb3VudGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmFuY2VzdG9yU3R5bGVD
b250YWlubWVudE9iamVjdCk6CisgICAgICAgIChXZWJDb3JlOjpwcmV2aW91c0luUHJlT3JkZXIp
OgorICAgICAgICAoV2ViQ29yZTo6cHJldmlvdXNTaWJsaW5nT3JQYXJlbnRFbGVtZW50KToKKyAg
ICAgICAgKFdlYkNvcmU6Om1ha2VDb3VudGVyTm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJDb3VudGVyOjpyZW5kZXJlclN1YnRyZWVBdHRhY2hlZCk6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlck9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpzaG91bGRBcHBseVN0eWxlQ29u
dGFpbm1lbnQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuaDoKKyAgICAgICAg
KiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
clN0eWxlOjpjb250YWluc1N0eWxlIGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUv
UmVuZGVyU3R5bGVDb25zdGFudHMuaDoKKyAgICAgICAgKiBzdHlsZS9TdHlsZUJ1aWxkZXJDdXN0
b20uaDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlOjpCdWlsZGVyQ3VzdG9tOjphcHBseVZhbHVl
Q29udGFpbik6CisKIDIwMjEtMDYtMDUgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4K
IAogICAgICAgICBGaXggcmVwZWF0ZWQgY2FsbCB0byBTdHJpbmc6OnV0ZjgoKSBpbiBTUUxpdGVG
aWxlU3lzdGVtOjpjb21wdXRlSGFzaEZvckZpbGVOYW1lKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKaW5kZXggYTUwZWRmZTJjZWNj
MmZlOTk0NTAxYTcwMzdiNmQwMmE2ZTI3M2ZlNC4uYzljNDlmNzI5NTc2OWFkNjJlZWFjYzdiNTBm
MzFlZGQzNjFjNDM1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVk
U3R5bGVEZWNsYXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVk
U3R5bGVEZWNsYXJhdGlvbi5jcHAKQEAgLTM0ODgsNiArMzQ4OCw4IEBAIFJlZlB0cjxDU1NWYWx1
ZT4gQ29tcHV0ZWRTdHlsZUV4dHJhY3Rvcjo6dmFsdWVGb3JQcm9wZXJ0eUluU3R5bGUoY29uc3Qg
UmVuZGVyU3R5CiAgICAgICAgICAgICAgICAgbGlzdC0+YXBwZW5kKGNzc1ZhbHVlUG9vbC5jcmVh
dGVJZGVudGlmaWVyVmFsdWUoQ1NTVmFsdWVTaXplKSk7CiAgICAgICAgICAgICBpZiAoY29udGFp
bm1lbnQgJiBDb250YWlubWVudDo6TGF5b3V0KQogICAgICAgICAgICAgICAgIGxpc3QtPmFwcGVu
ZChjc3NWYWx1ZVBvb2wuY3JlYXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVlTGF5b3V0KSk7Cisg
ICAgICAgICAgICBpZiAoY29udGFpbm1lbnQgJiBDb250YWlubWVudDo6U3R5bGUpCisgICAgICAg
ICAgICAgICAgbGlzdC0+YXBwZW5kKGNzc1ZhbHVlUG9vbC5jcmVhdGVJZGVudGlmaWVyVmFsdWUo
Q1NTVmFsdWVTdHlsZSkpOwogICAgICAgICAgICAgaWYgKGNvbnRhaW5tZW50ICYgQ29udGFpbm1l
bnQ6OlBhaW50KQogICAgICAgICAgICAgICAgIGxpc3QtPmFwcGVuZChjc3NWYWx1ZVBvb2wuY3Jl
YXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVlUGFpbnQpKTsKICAgICAgICAgICAgIHJldHVybiBs
aXN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBh
cnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNw
cAppbmRleCBkNzRmOTRlMTA1NjJhYTg0NWFhZjc3OTdlNjZhM2RjMjkwN2NhZDZjLi4zNDY5ZTEz
OWZhNTUxODk2MWU1MWJmYTY5YzM2ZDVmN2MzNjk3NmI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNwcApAQCAtMzg1MCw3ICszODUwLDcgQEAg
c3RhdGljIFJlZlB0cjxDU1NWYWx1ZT4gY29uc3VtZUNvbnRhaW4oQ1NTUGFyc2VyVG9rZW5SYW5n
ZSYgcmFuZ2UpCiAgICAgaWYgKGF1dG8gc2luZ2xlVmFsdWUgPSBjb25zdW1lSWRlbnQ8Q1NTVmFs
dWVOb25lLCBDU1NWYWx1ZVN0cmljdCwgQ1NTVmFsdWVDb250ZW50PihyYW5nZSkpCiAgICAgICAg
IHJldHVybiBzaW5nbGVWYWx1ZTsKICAgICBhdXRvIGxpc3QgPSBDU1NWYWx1ZUxpc3Q6OmNyZWF0
ZVNwYWNlU2VwYXJhdGVkKCk7Ci0gICAgUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBzaXplLCBs
YXlvdXQsIHBhaW50OworICAgIFJlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gc2l6ZSwgbGF5b3V0
LCBwYWludCwgc3R5bGU7CiAgICAgd2hpbGUgKCFyYW5nZS5hdEVuZCgpKSB7CiAgICAgICAgIHN3
aXRjaCAocmFuZ2UucGVlaygpLmlkKCkpIHsKICAgICAgICAgY2FzZSBDU1NWYWx1ZVNpemU6CkBA
IC0zODY4LDYgKzM4NjgsMTEgQEAgc3RhdGljIFJlZlB0cjxDU1NWYWx1ZT4gY29uc3VtZUNvbnRh
aW4oQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UpCiAgICAgICAgICAgICAgICAgcmV0dXJuIG51
bGxwdHI7CiAgICAgICAgICAgICBwYWludCA9IGNvbnN1bWVJZGVudChyYW5nZSk7CiAgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgY2FzZSBDU1NWYWx1ZVN0eWxlOgorICAgICAgICAgICAgaWYg
KHN0eWxlKQorICAgICAgICAgICAgICAgIHJldHVybiBudWxscHRyOworICAgICAgICAgICAgc3R5
bGUgPSBjb25zdW1lSWRlbnQocmFuZ2UpOworICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGRl
ZmF1bHQ6CiAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICAgICAgfQpAQCAtMzg3Niw2
ICszODgxLDggQEAgc3RhdGljIFJlZlB0cjxDU1NWYWx1ZT4gY29uc3VtZUNvbnRhaW4oQ1NTUGFy
c2VyVG9rZW5SYW5nZSYgcmFuZ2UpCiAgICAgICAgIGxpc3QtPmFwcGVuZChzaXplLnJlbGVhc2VO
b25OdWxsKCkpOwogICAgIGlmIChsYXlvdXQpCiAgICAgICAgIGxpc3QtPmFwcGVuZChsYXlvdXQu
cmVsZWFzZU5vbk51bGwoKSk7CisgICAgaWYgKHN0eWxlKQorICAgICAgICBsaXN0LT5hcHBlbmQo
c3R5bGUucmVsZWFzZU5vbk51bGwoKSk7CiAgICAgaWYgKHBhaW50KQogICAgICAgICBsaXN0LT5h
cHBlbmQocGFpbnQucmVsZWFzZU5vbk51bGwoKSk7CiAgICAgaWYgKCFsaXN0LT5sZW5ndGgoKSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJDb3VudGVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJDb3VudGVyLmNwcAppbmRleCA2MzFmYzFk
NDVlNDE1OGU4OTAxM2IwMjM0ODI1NjU2YzI0MWFjYjYyLi5hMTBhMmZmMzgxMzVlNDIxNmU5N2I0
MGNjMjg0ODYwMDZkMzhmN2I0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQ291bnRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckNv
dW50ZXIuY3BwCkBAIC01NywxNSArNTcsMzggQEAgc3RhdGljIENvdW50ZXJNYXBzJiBjb3VudGVy
TWFwcygpCiAgICAgcmV0dXJuIHN0YXRpY0NvdW50ZXJNYXBzOwogfQogCitzdGF0aWMgRWxlbWVu
dCogYW5jZXN0b3JTdHlsZUNvbnRhaW5tZW50T2JqZWN0KGNvbnN0IEVsZW1lbnQmIGVsZW1lbnQp
Cit7CisgICAgd2hpbGUgKEVsZW1lbnQqIGFuY2VzdG9yID0gaXM8UHNldWRvRWxlbWVudD4oZWxl
bWVudCkgPyBkb3duY2FzdDxQc2V1ZG9FbGVtZW50PihlbGVtZW50KS5ob3N0RWxlbWVudCgpIDog
ZWxlbWVudC5wYXJlbnRFbGVtZW50KCkpIHsKKyAgICAgICAgaWYgKGF1dG8qIHN0eWxlID0gYW5j
ZXN0b3ItPmV4aXN0aW5nQ29tcHV0ZWRTdHlsZSgpKSB7CisgICAgICAgICAgICBpZiAoc3R5bGUt
PmNvbnRhaW5zU3R5bGUoKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gYW5jZXN0b3I7CisgICAg
ICAgIH0KKyAgICAgICAgYW5jZXN0b3IgPSBhbmNlc3Rvci0+cGFyZW50RWxlbWVudCgpOworICAg
IH0KKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKwogLy8gVGhpcyBmdW5jdGlvbiBwcm9jZXNzZXMg
dGhlIHJlbmRlcmVyIHRyZWUgaW4gdGhlIG9yZGVyIG9mIHRoZSBET00gdHJlZQogLy8gaW5jbHVk
aW5nIHBzZXVkbyBlbGVtZW50cyBhcyBkZWZpbmVkIGluIENTUyAyLjEuCiBzdGF0aWMgUmVuZGVy
RWxlbWVudCogcHJldmlvdXNJblByZU9yZGVyKGNvbnN0IFJlbmRlckVsZW1lbnQmIHJlbmRlcmVy
KQogewogICAgIEFTU0VSVChyZW5kZXJlci5lbGVtZW50KCkpOwogICAgIEVsZW1lbnQqIHByZXZp
b3VzID0gRWxlbWVudFRyYXZlcnNhbDo6cHJldmlvdXNJbmNsdWRpbmdQc2V1ZG8oKnJlbmRlcmVy
LmVsZW1lbnQoKSk7Ci0gICAgd2hpbGUgKHByZXZpb3VzICYmICFwcmV2aW91cy0+cmVuZGVyZXIo
KSkKLSAgICAgICAgcHJldmlvdXMgPSBFbGVtZW50VHJhdmVyc2FsOjpwcmV2aW91c0luY2x1ZGlu
Z1BzZXVkbygqcHJldmlvdXMpOwotICAgIHJldHVybiBwcmV2aW91cyA/IHByZXZpb3VzLT5yZW5k
ZXJlcigpIDogMDsKKyAgICBFbGVtZW50KiBzdHlsZUNvbnRhaW5BbmNlc3RvciA9IGFuY2VzdG9y
U3R5bGVDb250YWlubWVudE9iamVjdCgqcmVuZGVyZXIuZWxlbWVudCgpKTsKKworICAgIHdoaWxl
ICh0cnVlKSB7CisgICAgICAgIHdoaWxlIChwcmV2aW91cyAmJiAhcHJldmlvdXMtPnJlbmRlcmVy
KCkgJiYgIXByZXZpb3VzLT5oYXNEaXNwbGF5Q29udGVudHMoKSkKKyAgICAgICAgICAgIHByZXZp
b3VzID0gRWxlbWVudFRyYXZlcnNhbDo6cHJldmlvdXNJbmNsdWRpbmdQc2V1ZG8oKnByZXZpb3Vz
KTsKKyAgICAgICAgaWYgKCFwcmV2aW91cykKKyAgICAgICAgICAgIHJldHVybiBudWxscHRyOwor
ICAgICAgICBFbGVtZW50KiBwcmV2aW91c1N0eWxlQ29udGFpbkFuY2VzdG9yID0gYW5jZXN0b3JT
dHlsZUNvbnRhaW5tZW50T2JqZWN0KCpwcmV2aW91cyk7CisgICAgICAgIGlmIChwcmV2aW91c1N0
eWxlQ29udGFpbkFuY2VzdG9yID09IHN0eWxlQ29udGFpbkFuY2VzdG9yKQorICAgICAgICAgICAg
cmV0dXJuIHByZXZpb3VzLT5yZW5kZXJlcigpOworICAgICAgICBpZiAoIXByZXZpb3VzU3R5bGVD
b250YWluQW5jZXN0b3IpCisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAgICAgcHJl
dmlvdXMgPSBwcmV2aW91c1N0eWxlQ29udGFpbkFuY2VzdG9yOworICAgIH0KIH0KIAogc3RhdGlj
IGlubGluZSBFbGVtZW50KiBwYXJlbnRPclBzZXVkb0hvc3RFbGVtZW50KGNvbnN0IFJlbmRlckVs
ZW1lbnQmIHJlbmRlcmVyKQpAQCAtNzgsNyArMTAxLDcgQEAgc3RhdGljIGlubGluZSBFbGVtZW50
KiBwYXJlbnRPclBzZXVkb0hvc3RFbGVtZW50KGNvbnN0IFJlbmRlckVsZW1lbnQmIHJlbmRlcmVy
KQogc3RhdGljIEVsZW1lbnQqIHByZXZpb3VzU2libGluZ09yUGFyZW50RWxlbWVudChjb25zdCBF
bGVtZW50JiBlbGVtZW50KQogewogICAgIGlmIChhdXRvKiBwcmV2aW91cyA9IEVsZW1lbnRUcmF2
ZXJzYWw6OnBzZXVkb0F3YXJlUHJldmlvdXNTaWJsaW5nKGVsZW1lbnQpKSB7Ci0gICAgICAgIHdo
aWxlIChwcmV2aW91cyAmJiAhcHJldmlvdXMtPnJlbmRlcmVyKCkpCisgICAgICAgIHdoaWxlIChw
cmV2aW91cyAmJiAhcHJldmlvdXMtPnJlbmRlcmVyKCkgJiYgIXByZXZpb3VzLT5oYXNEaXNwbGF5
Q29udGVudHMoKSkKICAgICAgICAgICAgIHByZXZpb3VzID0gRWxlbWVudFRyYXZlcnNhbDo6cHNl
dWRvQXdhcmVQcmV2aW91c1NpYmxpbmcoKnByZXZpb3VzKTsKIAogICAgICAgICBpZiAocHJldmlv
dXMpCkBAIC05MiwxMCArMTE1LDExIEBAIHN0YXRpYyBFbGVtZW50KiBwcmV2aW91c1NpYmxpbmdP
clBhcmVudEVsZW1lbnQoY29uc3QgRWxlbWVudCYgZWxlbWVudCkKICAgICAgICAgICAgIHJldHVy
biBob3N0RWxlbWVudDsKICAgICAgICAgcmV0dXJuIHByZXZpb3VzU2libGluZ09yUGFyZW50RWxl
bWVudCgqaG9zdEVsZW1lbnQpOwogICAgIH0KLSAgICAKICAgICBhdXRvKiBwYXJlbnQgPSBlbGVt
ZW50LnBhcmVudEVsZW1lbnQoKTsKICAgICBpZiAocGFyZW50ICYmICFwYXJlbnQtPnJlbmRlcmVy
KCkpCiAgICAgICAgIHBhcmVudCA9IHByZXZpb3VzU2libGluZ09yUGFyZW50RWxlbWVudCgqcGFy
ZW50KTsKKyAgICBpZiAocGFyZW50ICYmIHBhcmVudC0+cmVuZGVyZXIoKSAmJiBwYXJlbnQtPnJl
bmRlcmVyKCktPnN0eWxlKCkuY29udGFpbnNTdHlsZSgpKQorICAgICAgICByZXR1cm4gbnVsbHB0
cjsKICAgICByZXR1cm4gcGFyZW50OwogfQogCkBAIC0yMjMsNiArMjQ3LDcgQEAgc3RhdGljIENv
dW50ZXJJbnNlcnRpb25Qb2ludCBmaW5kUGxhY2VGb3JDb3VudGVyKFJlbmRlckVsZW1lbnQmIGNv
dW50ZXJPd25lciwgY28KICAgICAvLyB0b3dhcmRzIHRoZSBiZWdpbmluZyBvZiB0aGUgZG9jdW1l
bnQgZm9yIGNvdW50ZXJzIHdpdGggdGhlIHNhbWUgaWRlbnRpZmllciBhcyB0aGUgb25lCiAgICAg
Ly8gd2UgYXJlIHRyeWluZyB0byBmaW5kIGEgcGxhY2UgZm9yLiBUaGlzIGlzIHRoZSBuZXh0IHJl
bmRlcmVyIHRvIGJlIGNoZWNrZWQuCiAgICAgUmVuZGVyRWxlbWVudCogY3VycmVudFJlbmRlcmVy
ID0gcHJldmlvdXNJblByZU9yZGVyKGNvdW50ZXJPd25lcik7CisKICAgICBSZWZQdHI8Q291bnRl
ck5vZGU+IHByZXZpb3VzU2libGluZzsKIAogICAgIHdoaWxlIChjdXJyZW50UmVuZGVyZXIpIHsK
QEAgLTMzNSw3ICszNjAsNyBAQCBzdGF0aWMgQ291bnRlck5vZGUqIG1ha2VDb3VudGVyTm9kZShS
ZW5kZXJFbGVtZW50JiByZW5kZXJlciwgY29uc3QgQXRvbVN0cmluZyYgaQogICAgIG1hcHMuYWRk
KCZyZW5kZXJlciwgbWFrZVVuaXF1ZTxDb3VudGVyTWFwPigpKS5pdGVyYXRvci0+dmFsdWUtPmFk
ZChpZGVudGlmaWVyLCBuZXdOb2RlLmNvcHlSZWYoKSk7CiAgICAgcmVuZGVyZXIuc2V0SGFzQ291
bnRlck5vZGVNYXAodHJ1ZSk7CiAKLSAgICBpZiAobmV3Tm9kZS0+cGFyZW50KCkpCisgICAgaWYg
KG5ld05vZGUtPnBhcmVudCgpIHx8IHNob3VsZEFwcGx5U3R5bGVDb250YWlubWVudChyZW5kZXJl
cikpCiAgICAgICAgIHJldHVybiBuZXdOb2RlLnB0cigpOwogCiAgICAgLy8gQ2hlY2sgaWYgc29t
ZSBub2RlcyB0aGF0IHdlcmUgcHJldmlvdXNseSByb290IG5vZGVzIHNob3VsZCBiZWNvbWUgY2hp
bGRyZW4gb2YgdGhpcyBub2RlIG5vdy4KQEAgLTM0Myw3ICszNjgsNyBAQCBzdGF0aWMgQ291bnRl
ck5vZGUqIG1ha2VDb3VudGVyTm9kZShSZW5kZXJFbGVtZW50JiByZW5kZXJlciwgY29uc3QgQXRv
bVN0cmluZyYgaQogICAgIGF1dG8qIHN0YXlXaXRoaW4gPSBwYXJlbnRPclBzZXVkb0hvc3RFbGVt
ZW50KHJlbmRlcmVyKTsKICAgICBib29sIHNraXBEZXNjZW5kYW50cyA9IGZhbHNlOwogICAgIHdo
aWxlICgoY3VycmVudFJlbmRlcmVyID0gbmV4dEluUHJlT3JkZXIoKmN1cnJlbnRSZW5kZXJlciwg
c3RheVdpdGhpbiwgc2tpcERlc2NlbmRhbnRzKSkpIHsKLSAgICAgICAgc2tpcERlc2NlbmRhbnRz
ID0gZmFsc2U7CisgICAgICAgIHNraXBEZXNjZW5kYW50cyA9IHNob3VsZEFwcGx5U3R5bGVDb250
YWlubWVudCgqY3VycmVudFJlbmRlcmVyKTsKICAgICAgICAgaWYgKCFjdXJyZW50UmVuZGVyZXIt
Pmhhc0NvdW50ZXJOb2RlTWFwKCkpCiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgYXV0
byogY3VycmVudENvdW50ZXIgPSBtYXBzLmZpbmQoY3VycmVudFJlbmRlcmVyKS0+dmFsdWUtPmdl
dChpZGVudGlmaWVyKTsKQEAgLTU0OSw4ICs1NzQsMTAgQEAgdm9pZCBSZW5kZXJDb3VudGVyOjpy
ZW5kZXJlclN1YnRyZWVBdHRhY2hlZChSZW5kZXJFbGVtZW50JiByZW5kZXJlcikKICAgICAgICAg
ZWxlbWVudCA9IHJlbmRlcmVyLmdlbmVyYXRpbmdFbGVtZW50KCk7CiAgICAgaWYgKGVsZW1lbnQg
JiYgIWVsZW1lbnQtPnJlbmRlcmVyKCkpCiAgICAgICAgIHJldHVybjsgLy8gTm8gbmVlZCB0byB1
cGRhdGUgaWYgdGhlIHBhcmVudCBpcyBub3QgYXR0YWNoZWQgeWV0CisgICAgYm9vbCBjcm9zc2Vk
Qm91bmRhcnkgPSBmYWxzZTsKICAgICBmb3IgKFJlbmRlck9iamVjdCogZGVzY2VuZGFudCA9ICZy
ZW5kZXJlcjsgZGVzY2VuZGFudDsgZGVzY2VuZGFudCA9IGRlc2NlbmRhbnQtPm5leHRJblByZU9y
ZGVyKCZyZW5kZXJlcikpIHsKLSAgICAgICAgaWYgKGlzPFJlbmRlckVsZW1lbnQ+KCpkZXNjZW5k
YW50KSkKKyAgICAgICAgY3Jvc3NlZEJvdW5kYXJ5IHw9IHNob3VsZEFwcGx5U3R5bGVDb250YWlu
bWVudCgqZGVzY2VuZGFudCk7CisgICAgICAgIGlmIChjcm9zc2VkQm91bmRhcnkgJiYgaXM8UmVu
ZGVyRWxlbWVudD4oKmRlc2NlbmRhbnQpKQogICAgICAgICAgICAgdXBkYXRlQ291bnRlcnMoZG93
bmNhc3Q8UmVuZGVyRWxlbWVudD4oKmRlc2NlbmRhbnQpKTsKICAgICB9CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCmluZGV4IDBkY2ZiY2Y2MDFkMzc4ZTI4NmM4
MTgyYzRmZGM4NmEwMmRhMzk5MDAuLmJiMzE2MWIxMTFkYTQ0Mjg1OWNlYzRlODI3MGRhMmVkMmNj
MmU0ZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3Qu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCkBAIC0y
NTE0LDMgKzI1MTQsOCBAQCBib29sIFdlYkNvcmU6OnNob3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50
KGNvbnN0IFdlYkNvcmU6OlJlbmRlck9iamVjdCYgcmVuZGVyZXIpCiB7CiAgICAgcmV0dXJuIHJl
bmRlcmVyLnN0eWxlKCkuY29udGFpbnNTaXplKCkgJiYgKCFyZW5kZXJlci5pc0lubGluZSgpIHx8
IHJlbmRlcmVyLmlzQXRvbWljSW5saW5lTGV2ZWxCb3goKSkgJiYgIXJlbmRlcmVyLmlzUnVieVRl
eHQoKSAmJiAoIXJlbmRlcmVyLmlzVGFibGVQYXJ0KCkgfHwgcmVuZGVyZXIuaXNUYWJsZUNhcHRp
b24oKSkgJiYgIXJlbmRlcmVyLmlzVGFibGUoKTsKIH0KKworYm9vbCBXZWJDb3JlOjpzaG91bGRB
cHBseVN0eWxlQ29udGFpbm1lbnQoY29uc3QgV2ViQ29yZTo6UmVuZGVyT2JqZWN0JiByZW5kZXJl
cikKK3sKKyAgICByZXR1cm4gcmVuZGVyZXIuc3R5bGUoKS5jb250YWluc1N0eWxlKCkgJiYgKCFy
ZW5kZXJlci5pc0lubGluZSgpIHx8IHJlbmRlcmVyLmlzQXRvbWljSW5saW5lTGV2ZWxCb3goKSkg
JiYgIXJlbmRlcmVyLmlzUnVieVRleHQoKSAmJiAoIXJlbmRlcmVyLmlzVGFibGVQYXJ0KCkgfHwg
cmVuZGVyZXIuaXNUYWJsZUNhcHRpb24oKSkgJiYgIXJlbmRlcmVyLmlzVGFibGUoKTsKK30KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAppbmRleCBmMjBmNzU5NWQ1ZTA0YzVi
MzI1ZDQ3YThkZTA1NmNjOWYxODQzYzA3Li44ZjQzMWU5YTZmN2ZkMjcwNGYxYjg0ZjZmZWZmZDY0
NThmMzJjMmZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2Jq
ZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCkBAIC0x
MTk3LDYgKzExOTcsNyBAQCB2b2lkIHByaW50R3JhcGhpY3NMYXllclRyZWVGb3JMaXZlRG9jdW1l
bnRzKCk7CiAKIGJvb2wgc2hvdWxkQXBwbHlMYXlvdXRDb250YWlubWVudChjb25zdCBSZW5kZXJP
YmplY3QmKTsKIGJvb2wgc2hvdWxkQXBwbHlTaXplQ29udGFpbm1lbnQoY29uc3QgUmVuZGVyT2Jq
ZWN0Jik7Citib29sIHNob3VsZEFwcGx5U3R5bGVDb250YWlubWVudChjb25zdCBSZW5kZXJPYmpl
Y3QmKTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCmluZGV4IDkzZDk1NzFlNmRlNTU1N2E3NmNkMDQ5NWQ0
MjU1OTBiNmEwZmVhNzEuLmQ4MzcxNWEwMWI4NzVkNTBlMDY0MzYxN2VmODQzMTU5YzRjZjNlZWMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCkBAIC01
MjgsNiArNTI4LDcgQEAgcHVibGljOgogICAgIE9wdGlvblNldDxDb250YWlubWVudD4gY29udGFp
bigpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmNvbnRhaW47IH0KICAg
ICBib29sIGNvbnRhaW5zTGF5b3V0KCkgY29uc3QgeyByZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVk
RGF0YS0+Y29udGFpbi5jb250YWlucyhDb250YWlubWVudDo6TGF5b3V0KTsgfQogICAgIGJvb2wg
Y29udGFpbnNTaXplKCkgY29uc3QgeyByZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+Y29u
dGFpbi5jb250YWlucyhDb250YWlubWVudDo6U2l6ZSk7IH0KKyAgICBib29sIGNvbnRhaW5zU3R5
bGUoKSBjb25zdCB7IHJldHVybiBtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5jb250YWluLmNvbnRh
aW5zKENvbnRhaW5tZW50OjpTdHlsZSk7IH0KICAgICBCb3hBbGlnbm1lbnQgYm94QWxpZ24oKSBj
b25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxCb3hBbGlnbm1lbnQ+KG1fcmFyZU5vbkluaGVyaXRl
ZERhdGEtPmRlcHJlY2F0ZWRGbGV4aWJsZUJveC0+YWxpZ24pOyB9CiAgICAgQm94RGlyZWN0aW9u
IGJveERpcmVjdGlvbigpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PEJveERpcmVjdGlvbj4o
bV9pbmhlcml0ZWRGbGFncy5ib3hEaXJlY3Rpb24pOyB9CiAgICAgZmxvYXQgYm94RmxleCgpIGNv
bnN0IHsgcmV0dXJuIG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmRlcHJlY2F0ZWRGbGV4aWJsZUJv
eC0+ZmxleDsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1Jl
bmRlclN0eWxlQ29uc3RhbnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVu
ZGVyU3R5bGVDb25zdGFudHMuaAppbmRleCA0OTkwNGE2ZjIxZWU2ZDI2MWI4OTI5YzY3M2NiNDQx
YzJjOTc0Nzg1Li5iNTJlOWJjMzkxMWNkNmY1ZTBkZGQ5Y2M4ODBmYTdjNmI2ZDQ1N2ViIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFu
dHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25z
dGFudHMuaApAQCAtMTIyMyw2ICsxMjIzLDcgQEAgZW51bSBjbGFzcyBDb250YWlubWVudCA6IHVp
bnQ4X3QgewogICAgIExheW91dCAgID0gMSA8PCAwLAogICAgIFBhaW50ICAgID0gMSA8PCAxLAog
ICAgIFNpemUgICAgID0gMSA8PCAyLAorICAgIFN0eWxlICAgID0gMSA8PCAzLAogfTsKIAogZXh0
ZXJuIGNvbnN0IGZsb2F0IGRlZmF1bHRNaXRlckxpbWl0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvc3R5bGUvU3R5bGVCdWlsZGVyQ3VzdG9tLmggYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9T
dHlsZUJ1aWxkZXJDdXN0b20uaAppbmRleCBmNmU2ZjdhODI3MDc5ZDY0ZjczZTgxNjA2YzFjNjdk
ODM2NGY5ZGYwLi41ZDZjY2E2N2NkNGE4NjJhOTk0YzQyMDM2OTg1OTM4NjRhYWE2MjIyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZUJ1aWxkZXJDdXN0b20uaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZUJ1aWxkZXJDdXN0b20uaApAQCAtMTI3Nyw2ICsxMjc3
LDkgQEAgaW5saW5lIHZvaWQgQnVpbGRlckN1c3RvbTo6YXBwbHlWYWx1ZUNvbnRhaW4oQnVpbGRl
clN0YXRlJiBidWlsZGVyU3RhdGUsIENTU1ZhbHUKICAgICAgICAgY2FzZSBDU1NWYWx1ZVBhaW50
OgogICAgICAgICAgICAgY29udGFpbm1lbnQuYWRkKENvbnRhaW5tZW50OjpQYWludCk7CiAgICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBDU1NWYWx1ZVN0eWxlOgorICAgICAgICAgICAg
Y29udGFpbm1lbnQuYWRkKENvbnRhaW5tZW50OjpTdHlsZSk7CisgICAgICAgICAgICBicmVhazsK
ICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9OwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggOWU3ODQ5ZjgxMWM3ZDRiMDlkODBmNDk1OTcxMzQx
ODIzMWZmNWU5YS4uY2IyMWI0YTI5Y2JkNjVlNTYwMWQwZjI1MWNjZDA5Zjk1NTYzOTFmOSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjEtMDYtMDYg
IFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KKworICAgICAgICBbY3NzLWNvbnRhaW5dIFN1
cHBvcnQgY29udGFpbjpzdHlsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjI2NDU4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL3BhcnNpbmcv
Y29udGFpbi1jb21wdXRlZC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9wYXJzaW5nL2NvbnRhaW4tdmFsaWQtZXhwZWN0ZWQudHh0Ogor
CiAyMDIxLTA2LTA0ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAg
V29ya2VyLmNvbnN0cnVjdG9yIHRocm93cyBhbiBleGNlcHRpb24gd2hlbiB0aGUgdXJsIHBhcmFt
IGlzIGFuIGVtcHR5IHN0cmluZwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0
aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggZmY3Y2Y4ZjdjYjg5Njdk
ODk4ZWE3MDZmYmYzYzAzMTlhMjhhNTk1Ny4uODQzY2JiNDA5NWU0MTVjODAxOTM2ZWFjNDdjNzAy
ODllNTY4YTM1ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucworKysg
Yi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCkBAIC00Njc2LDEwICs0Njc2LDYgQEAgaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWlu
dC10YWJsZS0wMDIuaHRtbCBbIEkKIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRhaW4tc3RyaWN0LTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
CiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWlu
LXN0cmljdC0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zdHJpY3QtMDExLmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRhaW4tc3R5bGUtY291bnRlcnMtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRhaW4tc3R5bGUtY291bnRlcnMtMDAyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc3R5bGUt
Y291bnRlcnMtMDAzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc3R5bGUtY291bnRlcnMtMDA0
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHkt
MDMyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxp
dHktMDMzLnN1Yi5odHRwcy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29u
dGVudC12aXNpYmlsaXR5LTAzNC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9wYXJzaW5nL2NvbnRhaW4tY29tcHV0ZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vcGFyc2luZy9j
b250YWluLWNvbXB1dGVkLWV4cGVjdGVkLnR4dAppbmRleCA0YTFhMGU2NjM1ZmY4ZGI3YzBjNTk1
NTIzOTIyMTE5MGViN2NkYTZmLi41YmZjOWU0NWUzYzVmZTFiMTQ3ODk0YmViMWRjNTliM2YyNzE2
MjViIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9wYXJzaW5nL2NvbnRhaW4tY29tcHV0ZWQtZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL3BhcnNpbmcvY29udGFpbi1jb21wdXRlZC1leHBlY3RlZC50eHQKQEAgLTQsMTIg
KzQsMTIgQEAgUEFTUyBQcm9wZXJ0eSBjb250YWluIHZhbHVlICdzdHJpY3QnCiBQQVNTIFByb3Bl
cnR5IGNvbnRhaW4gdmFsdWUgJ2NvbnRlbnQnCiBQQVNTIFByb3BlcnR5IGNvbnRhaW4gdmFsdWUg
J3NpemUnCiBQQVNTIFByb3BlcnR5IGNvbnRhaW4gdmFsdWUgJ2xheW91dCcKLUZBSUwgUHJvcGVy
dHkgY29udGFpbiB2YWx1ZSAnc3R5bGUnIGFzc2VydF90cnVlOiAnc3R5bGUnIGlzIGEgc3VwcG9y
dGVkIHZhbHVlIGZvciBjb250YWluLiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorUEFTUyBQcm9w
ZXJ0eSBjb250YWluIHZhbHVlICdzdHlsZScKIFBBU1MgUHJvcGVydHkgY29udGFpbiB2YWx1ZSAn
cGFpbnQnCiBQQVNTIFByb3BlcnR5IGNvbnRhaW4gdmFsdWUgJ3NpemUgbGF5b3V0JwotRkFJTCBQ
cm9wZXJ0eSBjb250YWluIHZhbHVlICdzdHlsZSBwYWludCcgYXNzZXJ0X3RydWU6ICdzdHlsZSBw
YWludCcgaXMgYSBzdXBwb3J0ZWQgdmFsdWUgZm9yIGNvbnRhaW4uIGV4cGVjdGVkIHRydWUgZ290
IGZhbHNlCi1GQUlMIFByb3BlcnR5IGNvbnRhaW4gdmFsdWUgJ2xheW91dCBzdHlsZSBwYWludCcg
YXNzZXJ0X3RydWU6ICdsYXlvdXQgc3R5bGUgcGFpbnQnIGlzIGEgc3VwcG9ydGVkIHZhbHVlIGZv
ciBjb250YWluLiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBQcm9wZXJ0eSBjb250YWlu
IHZhbHVlICdzaXplIGxheW91dCBzdHlsZSBwYWludCcgYXNzZXJ0X3RydWU6ICdzaXplIGxheW91
dCBzdHlsZSBwYWludCcgaXMgYSBzdXBwb3J0ZWQgdmFsdWUgZm9yIGNvbnRhaW4uIGV4cGVjdGVk
IHRydWUgZ290IGZhbHNlCitQQVNTIFByb3BlcnR5IGNvbnRhaW4gdmFsdWUgJ3N0eWxlIHBhaW50
JworUEFTUyBQcm9wZXJ0eSBjb250YWluIHZhbHVlICdsYXlvdXQgc3R5bGUgcGFpbnQnCitQQVNT
IFByb3BlcnR5IGNvbnRhaW4gdmFsdWUgJ3NpemUgbGF5b3V0IHN0eWxlIHBhaW50JwogUEFTUyBQ
cm9wZXJ0eSBjb250YWluIHZhbHVlICdzaXplIGxheW91dCBwYWludCcKIFBBU1MgUHJvcGVydHkg
Y29udGFpbiB2YWx1ZSAnbGF5b3V0IHBhaW50JwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9wYXJzaW5nL2Nv
bnRhaW4tdmFsaWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vcGFyc2luZy9jb250YWluLXZhbGlkLWV4cGVj
dGVkLnR4dAppbmRleCBlNTE1NTBlMTQwNWVhNGUxODc0OTU0MWFiODUwMjc3NzcyNjRkZDM3Li44
NWZjZmUxNzM5N2IyOTY2YTA5NmFlYTY4Mzg4ZDNjN2YxNzUzYWY2IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9w
YXJzaW5nL2NvbnRhaW4tdmFsaWQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL3BhcnNpbmcvY29udGFp
bi12YWxpZC1leHBlY3RlZC50eHQKQEAgLTQsMTAgKzQsMTAgQEAgUEFTUyBlLnN0eWxlWydjb250
YWluJ10gPSAic3RyaWN0IiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZQogUEFTUyBlLnN0
eWxlWydjb250YWluJ10gPSAiY29udGVudCIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUK
IFBBU1MgZS5zdHlsZVsnY29udGFpbiddID0gInNpemUiIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5
IHZhbHVlCiBQQVNTIGUuc3R5bGVbJ2NvbnRhaW4nXSA9ICJsYXlvdXQiIHNob3VsZCBzZXQgdGhl
IHByb3BlcnR5IHZhbHVlCi1GQUlMIGUuc3R5bGVbJ2NvbnRhaW4nXSA9ICJzdHlsZSIgc2hvdWxk
IHNldCB0aGUgcHJvcGVydHkgdmFsdWUgYXNzZXJ0X25vdF9lcXVhbHM6IHByb3BlcnR5IHNob3Vs
ZCBiZSBzZXQgZ290IGRpc2FsbG93ZWQgdmFsdWUgIiIKK1BBU1MgZS5zdHlsZVsnY29udGFpbidd
ID0gInN0eWxlIiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZQogUEFTUyBlLnN0eWxlWydj
b250YWluJ10gPSAicGFpbnQiIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlCiBQQVNTIGUu
c3R5bGVbJ2NvbnRhaW4nXSA9ICJsYXlvdXQgc2l6ZSIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkg
dmFsdWUKLUZBSUwgZS5zdHlsZVsnY29udGFpbiddID0gInBhaW50IHN0eWxlIiBzaG91bGQgc2V0
IHRoZSBwcm9wZXJ0eSB2YWx1ZSBhc3NlcnRfbm90X2VxdWFsczogcHJvcGVydHkgc2hvdWxkIGJl
IHNldCBnb3QgZGlzYWxsb3dlZCB2YWx1ZSAiIgotRkFJTCBlLnN0eWxlWydjb250YWluJ10gPSAi
bGF5b3V0IHN0eWxlIHBhaW50IiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZSBhc3NlcnRf
bm90X2VxdWFsczogcHJvcGVydHkgc2hvdWxkIGJlIHNldCBnb3QgZGlzYWxsb3dlZCB2YWx1ZSAi
IgotRkFJTCBlLnN0eWxlWydjb250YWluJ10gPSAibGF5b3V0IHBhaW50IHN0eWxlIHNpemUiIHNo
b3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlIGFzc2VydF9ub3RfZXF1YWxzOiBwcm9wZXJ0eSBz
aG91bGQgYmUgc2V0IGdvdCBkaXNhbGxvd2VkIHZhbHVlICIiCitQQVNTIGUuc3R5bGVbJ2NvbnRh
aW4nXSA9ICJwYWludCBzdHlsZSIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUKK1BBU1Mg
ZS5zdHlsZVsnY29udGFpbiddID0gImxheW91dCBzdHlsZSBwYWludCIgc2hvdWxkIHNldCB0aGUg
cHJvcGVydHkgdmFsdWUKK1BBU1MgZS5zdHlsZVsnY29udGFpbiddID0gImxheW91dCBwYWludCBz
dHlsZSBzaXplIiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZQogCg==
</data>
<flag name="commit-queue"
          id="452230"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>430681</attachid>
            <date>2021-06-06 07:02:53 -0700</date>
            <delta_ts>2021-06-07 00:17:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226458-20210606160252.patch</filename>
            <type>text/plain</type>
            <size>18355</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4NTMzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODU5NDU3ZTM4NzQzYTZk
YjIyZWM2ZGIxMTU2MzRiOTRmZWVlZmFkZi4uMTkyYTJlYWE4YTgxZjYwY2I3NmU3ODViMzk2OGFj
YWRhNDFhNDJkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDIxLTA2LTA2ICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgW2Nzcy1jb250YWluXSBTdXBwb3J0
IGNvbnRhaW46c3R5bGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIyNjQ1OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFdJUC4KKworICAgICAgICAqIGNzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24u
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29tcHV0ZWRTdHlsZUV4dHJhY3Rvcjo6dmFsdWVGb3JQ
cm9wZXJ0eUluU3R5bGUpOgorICAgICAgICAqIGNzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Y29uc3VtZUNvbnRhaW4pOgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJDb3VudGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmFuY2VzdG9yU3R5bGVD
b250YWlubWVudE9iamVjdCk6CisgICAgICAgIChXZWJDb3JlOjpwcmV2aW91c0luUHJlT3JkZXIp
OgorICAgICAgICAoV2ViQ29yZTo6cHJldmlvdXNTaWJsaW5nT3JQYXJlbnRFbGVtZW50KToKKyAg
ICAgICAgKFdlYkNvcmU6Om1ha2VDb3VudGVyTm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJDb3VudGVyOjpyZW5kZXJlclN1YnRyZWVBdHRhY2hlZCk6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlck9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpzaG91bGRBcHBseVN0eWxlQ29u
dGFpbm1lbnQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuaDoKKyAgICAgICAg
KiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
clN0eWxlOjpjb250YWluc1N0eWxlIGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUv
UmVuZGVyU3R5bGVDb25zdGFudHMuaDoKKyAgICAgICAgKiBzdHlsZS9TdHlsZUJ1aWxkZXJDdXN0
b20uaDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlOjpCdWlsZGVyQ3VzdG9tOjphcHBseVZhbHVl
Q29udGFpbik6CisKIDIwMjEtMDYtMDUgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4K
IAogICAgICAgICBGaXggcmVwZWF0ZWQgY2FsbCB0byBTdHJpbmc6OnV0ZjgoKSBpbiBTUUxpdGVG
aWxlU3lzdGVtOjpjb21wdXRlSGFzaEZvckZpbGVOYW1lKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKaW5kZXggYTUwZWRmZTJjZWNj
MmZlOTk0NTAxYTcwMzdiNmQwMmE2ZTI3M2ZlNC4uYzljNDlmNzI5NTc2OWFkNjJlZWFjYzdiNTBm
MzFlZGQzNjFjNDM1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVk
U3R5bGVEZWNsYXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVk
U3R5bGVEZWNsYXJhdGlvbi5jcHAKQEAgLTM0ODgsNiArMzQ4OCw4IEBAIFJlZlB0cjxDU1NWYWx1
ZT4gQ29tcHV0ZWRTdHlsZUV4dHJhY3Rvcjo6dmFsdWVGb3JQcm9wZXJ0eUluU3R5bGUoY29uc3Qg
UmVuZGVyU3R5CiAgICAgICAgICAgICAgICAgbGlzdC0+YXBwZW5kKGNzc1ZhbHVlUG9vbC5jcmVh
dGVJZGVudGlmaWVyVmFsdWUoQ1NTVmFsdWVTaXplKSk7CiAgICAgICAgICAgICBpZiAoY29udGFp
bm1lbnQgJiBDb250YWlubWVudDo6TGF5b3V0KQogICAgICAgICAgICAgICAgIGxpc3QtPmFwcGVu
ZChjc3NWYWx1ZVBvb2wuY3JlYXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVlTGF5b3V0KSk7Cisg
ICAgICAgICAgICBpZiAoY29udGFpbm1lbnQgJiBDb250YWlubWVudDo6U3R5bGUpCisgICAgICAg
ICAgICAgICAgbGlzdC0+YXBwZW5kKGNzc1ZhbHVlUG9vbC5jcmVhdGVJZGVudGlmaWVyVmFsdWUo
Q1NTVmFsdWVTdHlsZSkpOwogICAgICAgICAgICAgaWYgKGNvbnRhaW5tZW50ICYgQ29udGFpbm1l
bnQ6OlBhaW50KQogICAgICAgICAgICAgICAgIGxpc3QtPmFwcGVuZChjc3NWYWx1ZVBvb2wuY3Jl
YXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVlUGFpbnQpKTsKICAgICAgICAgICAgIHJldHVybiBs
aXN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBh
cnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNw
cAppbmRleCBkNzRmOTRlMTA1NjJhYTg0NWFhZjc3OTdlNjZhM2RjMjkwN2NhZDZjLi4zNDY5ZTEz
OWZhNTUxODk2MWU1MWJmYTY5YzM2ZDVmN2MzNjk3NmI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNwcApAQCAtMzg1MCw3ICszODUwLDcgQEAg
c3RhdGljIFJlZlB0cjxDU1NWYWx1ZT4gY29uc3VtZUNvbnRhaW4oQ1NTUGFyc2VyVG9rZW5SYW5n
ZSYgcmFuZ2UpCiAgICAgaWYgKGF1dG8gc2luZ2xlVmFsdWUgPSBjb25zdW1lSWRlbnQ8Q1NTVmFs
dWVOb25lLCBDU1NWYWx1ZVN0cmljdCwgQ1NTVmFsdWVDb250ZW50PihyYW5nZSkpCiAgICAgICAg
IHJldHVybiBzaW5nbGVWYWx1ZTsKICAgICBhdXRvIGxpc3QgPSBDU1NWYWx1ZUxpc3Q6OmNyZWF0
ZVNwYWNlU2VwYXJhdGVkKCk7Ci0gICAgUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBzaXplLCBs
YXlvdXQsIHBhaW50OworICAgIFJlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gc2l6ZSwgbGF5b3V0
LCBwYWludCwgc3R5bGU7CiAgICAgd2hpbGUgKCFyYW5nZS5hdEVuZCgpKSB7CiAgICAgICAgIHN3
aXRjaCAocmFuZ2UucGVlaygpLmlkKCkpIHsKICAgICAgICAgY2FzZSBDU1NWYWx1ZVNpemU6CkBA
IC0zODY4LDYgKzM4NjgsMTEgQEAgc3RhdGljIFJlZlB0cjxDU1NWYWx1ZT4gY29uc3VtZUNvbnRh
aW4oQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UpCiAgICAgICAgICAgICAgICAgcmV0dXJuIG51
bGxwdHI7CiAgICAgICAgICAgICBwYWludCA9IGNvbnN1bWVJZGVudChyYW5nZSk7CiAgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgY2FzZSBDU1NWYWx1ZVN0eWxlOgorICAgICAgICAgICAgaWYg
KHN0eWxlKQorICAgICAgICAgICAgICAgIHJldHVybiBudWxscHRyOworICAgICAgICAgICAgc3R5
bGUgPSBjb25zdW1lSWRlbnQocmFuZ2UpOworICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGRl
ZmF1bHQ6CiAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICAgICAgfQpAQCAtMzg3Niw2
ICszODgxLDggQEAgc3RhdGljIFJlZlB0cjxDU1NWYWx1ZT4gY29uc3VtZUNvbnRhaW4oQ1NTUGFy
c2VyVG9rZW5SYW5nZSYgcmFuZ2UpCiAgICAgICAgIGxpc3QtPmFwcGVuZChzaXplLnJlbGVhc2VO
b25OdWxsKCkpOwogICAgIGlmIChsYXlvdXQpCiAgICAgICAgIGxpc3QtPmFwcGVuZChsYXlvdXQu
cmVsZWFzZU5vbk51bGwoKSk7CisgICAgaWYgKHN0eWxlKQorICAgICAgICBsaXN0LT5hcHBlbmQo
c3R5bGUucmVsZWFzZU5vbk51bGwoKSk7CiAgICAgaWYgKHBhaW50KQogICAgICAgICBsaXN0LT5h
cHBlbmQocGFpbnQucmVsZWFzZU5vbk51bGwoKSk7CiAgICAgaWYgKCFsaXN0LT5sZW5ndGgoKSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJDb3VudGVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJDb3VudGVyLmNwcAppbmRleCA2MzFmYzFk
NDVlNDE1OGU4OTAxM2IwMjM0ODI1NjU2YzI0MWFjYjYyLi40ODVkYzY0ZDc2NGU1MjYyODI0N2Uz
ZDQ5ZWNkYWJkYjRlOTMxMmQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQ291bnRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckNv
dW50ZXIuY3BwCkBAIC01NywxNSArNTcsMzkgQEAgc3RhdGljIENvdW50ZXJNYXBzJiBjb3VudGVy
TWFwcygpCiAgICAgcmV0dXJuIHN0YXRpY0NvdW50ZXJNYXBzOwogfQogCitzdGF0aWMgRWxlbWVu
dCogYW5jZXN0b3JTdHlsZUNvbnRhaW5tZW50T2JqZWN0KGNvbnN0IEVsZW1lbnQmIGVsZW1lbnQp
Cit7CisgICAgRWxlbWVudCogYW5jZXN0b3IgPSBpczxQc2V1ZG9FbGVtZW50PihlbGVtZW50KSA/
IGRvd25jYXN0PFBzZXVkb0VsZW1lbnQ+KGVsZW1lbnQpLmhvc3RFbGVtZW50KCkgOiBlbGVtZW50
LnBhcmVudEVsZW1lbnQoKTsKKyAgICB3aGlsZSAoYW5jZXN0b3IpIHsKKyAgICAgICAgaWYgKGF1
dG8qIHN0eWxlID0gYW5jZXN0b3ItPmV4aXN0aW5nQ29tcHV0ZWRTdHlsZSgpKSB7CisgICAgICAg
ICAgICBpZiAoc3R5bGUtPmNvbnRhaW5zU3R5bGUoKSkKKyAgICAgICAgICAgICAgICByZXR1cm4g
YW5jZXN0b3I7CisgICAgICAgIH0KKyAgICAgICAgYW5jZXN0b3IgPSBhbmNlc3Rvci0+cGFyZW50
RWxlbWVudCgpOworICAgIH0KKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKwogLy8gVGhpcyBmdW5j
dGlvbiBwcm9jZXNzZXMgdGhlIHJlbmRlcmVyIHRyZWUgaW4gdGhlIG9yZGVyIG9mIHRoZSBET00g
dHJlZQogLy8gaW5jbHVkaW5nIHBzZXVkbyBlbGVtZW50cyBhcyBkZWZpbmVkIGluIENTUyAyLjEu
CiBzdGF0aWMgUmVuZGVyRWxlbWVudCogcHJldmlvdXNJblByZU9yZGVyKGNvbnN0IFJlbmRlckVs
ZW1lbnQmIHJlbmRlcmVyKQogewogICAgIEFTU0VSVChyZW5kZXJlci5lbGVtZW50KCkpOwogICAg
IEVsZW1lbnQqIHByZXZpb3VzID0gRWxlbWVudFRyYXZlcnNhbDo6cHJldmlvdXNJbmNsdWRpbmdQ
c2V1ZG8oKnJlbmRlcmVyLmVsZW1lbnQoKSk7Ci0gICAgd2hpbGUgKHByZXZpb3VzICYmICFwcmV2
aW91cy0+cmVuZGVyZXIoKSkKLSAgICAgICAgcHJldmlvdXMgPSBFbGVtZW50VHJhdmVyc2FsOjpw
cmV2aW91c0luY2x1ZGluZ1BzZXVkbygqcHJldmlvdXMpOwotICAgIHJldHVybiBwcmV2aW91cyA/
IHByZXZpb3VzLT5yZW5kZXJlcigpIDogMDsKKyAgICBFbGVtZW50KiBzdHlsZUNvbnRhaW5BbmNl
c3RvciA9IGFuY2VzdG9yU3R5bGVDb250YWlubWVudE9iamVjdCgqcmVuZGVyZXIuZWxlbWVudCgp
KTsKKworICAgIHdoaWxlICh0cnVlKSB7CisgICAgICAgIHdoaWxlIChwcmV2aW91cyAmJiAhcHJl
dmlvdXMtPnJlbmRlcmVyKCkgJiYgIXByZXZpb3VzLT5oYXNEaXNwbGF5Q29udGVudHMoKSkKKyAg
ICAgICAgICAgIHByZXZpb3VzID0gRWxlbWVudFRyYXZlcnNhbDo6cHJldmlvdXNJbmNsdWRpbmdQ
c2V1ZG8oKnByZXZpb3VzKTsKKyAgICAgICAgaWYgKCFwcmV2aW91cykKKyAgICAgICAgICAgIHJl
dHVybiBudWxscHRyOworICAgICAgICBFbGVtZW50KiBwcmV2aW91c1N0eWxlQ29udGFpbkFuY2Vz
dG9yID0gYW5jZXN0b3JTdHlsZUNvbnRhaW5tZW50T2JqZWN0KCpwcmV2aW91cyk7CisgICAgICAg
IGlmIChwcmV2aW91c1N0eWxlQ29udGFpbkFuY2VzdG9yID09IHN0eWxlQ29udGFpbkFuY2VzdG9y
KQorICAgICAgICAgICAgcmV0dXJuIHByZXZpb3VzLT5yZW5kZXJlcigpOworICAgICAgICBpZiAo
IXByZXZpb3VzU3R5bGVDb250YWluQW5jZXN0b3IpCisgICAgICAgICAgICByZXR1cm4gbnVsbHB0
cjsKKyAgICAgICAgcHJldmlvdXMgPSBwcmV2aW91c1N0eWxlQ29udGFpbkFuY2VzdG9yOworICAg
IH0KIH0KIAogc3RhdGljIGlubGluZSBFbGVtZW50KiBwYXJlbnRPclBzZXVkb0hvc3RFbGVtZW50
KGNvbnN0IFJlbmRlckVsZW1lbnQmIHJlbmRlcmVyKQpAQCAtNzgsNyArMTAyLDcgQEAgc3RhdGlj
IGlubGluZSBFbGVtZW50KiBwYXJlbnRPclBzZXVkb0hvc3RFbGVtZW50KGNvbnN0IFJlbmRlckVs
ZW1lbnQmIHJlbmRlcmVyKQogc3RhdGljIEVsZW1lbnQqIHByZXZpb3VzU2libGluZ09yUGFyZW50
RWxlbWVudChjb25zdCBFbGVtZW50JiBlbGVtZW50KQogewogICAgIGlmIChhdXRvKiBwcmV2aW91
cyA9IEVsZW1lbnRUcmF2ZXJzYWw6OnBzZXVkb0F3YXJlUHJldmlvdXNTaWJsaW5nKGVsZW1lbnQp
KSB7Ci0gICAgICAgIHdoaWxlIChwcmV2aW91cyAmJiAhcHJldmlvdXMtPnJlbmRlcmVyKCkpCisg
ICAgICAgIHdoaWxlIChwcmV2aW91cyAmJiAhcHJldmlvdXMtPnJlbmRlcmVyKCkgJiYgIXByZXZp
b3VzLT5oYXNEaXNwbGF5Q29udGVudHMoKSkKICAgICAgICAgICAgIHByZXZpb3VzID0gRWxlbWVu
dFRyYXZlcnNhbDo6cHNldWRvQXdhcmVQcmV2aW91c1NpYmxpbmcoKnByZXZpb3VzKTsKIAogICAg
ICAgICBpZiAocHJldmlvdXMpCkBAIC05MiwxMCArMTE2LDExIEBAIHN0YXRpYyBFbGVtZW50KiBw
cmV2aW91c1NpYmxpbmdPclBhcmVudEVsZW1lbnQoY29uc3QgRWxlbWVudCYgZWxlbWVudCkKICAg
ICAgICAgICAgIHJldHVybiBob3N0RWxlbWVudDsKICAgICAgICAgcmV0dXJuIHByZXZpb3VzU2li
bGluZ09yUGFyZW50RWxlbWVudCgqaG9zdEVsZW1lbnQpOwogICAgIH0KLSAgICAKICAgICBhdXRv
KiBwYXJlbnQgPSBlbGVtZW50LnBhcmVudEVsZW1lbnQoKTsKICAgICBpZiAocGFyZW50ICYmICFw
YXJlbnQtPnJlbmRlcmVyKCkpCiAgICAgICAgIHBhcmVudCA9IHByZXZpb3VzU2libGluZ09yUGFy
ZW50RWxlbWVudCgqcGFyZW50KTsKKyAgICBpZiAocGFyZW50ICYmIHBhcmVudC0+cmVuZGVyZXIo
KSAmJiBwYXJlbnQtPnJlbmRlcmVyKCktPnN0eWxlKCkuY29udGFpbnNTdHlsZSgpKQorICAgICAg
ICByZXR1cm4gbnVsbHB0cjsKICAgICByZXR1cm4gcGFyZW50OwogfQogCkBAIC0yMjMsNiArMjQ4
LDcgQEAgc3RhdGljIENvdW50ZXJJbnNlcnRpb25Qb2ludCBmaW5kUGxhY2VGb3JDb3VudGVyKFJl
bmRlckVsZW1lbnQmIGNvdW50ZXJPd25lciwgY28KICAgICAvLyB0b3dhcmRzIHRoZSBiZWdpbmlu
ZyBvZiB0aGUgZG9jdW1lbnQgZm9yIGNvdW50ZXJzIHdpdGggdGhlIHNhbWUgaWRlbnRpZmllciBh
cyB0aGUgb25lCiAgICAgLy8gd2UgYXJlIHRyeWluZyB0byBmaW5kIGEgcGxhY2UgZm9yLiBUaGlz
IGlzIHRoZSBuZXh0IHJlbmRlcmVyIHRvIGJlIGNoZWNrZWQuCiAgICAgUmVuZGVyRWxlbWVudCog
Y3VycmVudFJlbmRlcmVyID0gcHJldmlvdXNJblByZU9yZGVyKGNvdW50ZXJPd25lcik7CisKICAg
ICBSZWZQdHI8Q291bnRlck5vZGU+IHByZXZpb3VzU2libGluZzsKIAogICAgIHdoaWxlIChjdXJy
ZW50UmVuZGVyZXIpIHsKQEAgLTMzNSw3ICszNjEsNyBAQCBzdGF0aWMgQ291bnRlck5vZGUqIG1h
a2VDb3VudGVyTm9kZShSZW5kZXJFbGVtZW50JiByZW5kZXJlciwgY29uc3QgQXRvbVN0cmluZyYg
aQogICAgIG1hcHMuYWRkKCZyZW5kZXJlciwgbWFrZVVuaXF1ZTxDb3VudGVyTWFwPigpKS5pdGVy
YXRvci0+dmFsdWUtPmFkZChpZGVudGlmaWVyLCBuZXdOb2RlLmNvcHlSZWYoKSk7CiAgICAgcmVu
ZGVyZXIuc2V0SGFzQ291bnRlck5vZGVNYXAodHJ1ZSk7CiAKLSAgICBpZiAobmV3Tm9kZS0+cGFy
ZW50KCkpCisgICAgaWYgKG5ld05vZGUtPnBhcmVudCgpIHx8IHNob3VsZEFwcGx5U3R5bGVDb250
YWlubWVudChyZW5kZXJlcikpCiAgICAgICAgIHJldHVybiBuZXdOb2RlLnB0cigpOwogCiAgICAg
Ly8gQ2hlY2sgaWYgc29tZSBub2RlcyB0aGF0IHdlcmUgcHJldmlvdXNseSByb290IG5vZGVzIHNo
b3VsZCBiZWNvbWUgY2hpbGRyZW4gb2YgdGhpcyBub2RlIG5vdy4KQEAgLTM0Myw3ICszNjksNyBA
QCBzdGF0aWMgQ291bnRlck5vZGUqIG1ha2VDb3VudGVyTm9kZShSZW5kZXJFbGVtZW50JiByZW5k
ZXJlciwgY29uc3QgQXRvbVN0cmluZyYgaQogICAgIGF1dG8qIHN0YXlXaXRoaW4gPSBwYXJlbnRP
clBzZXVkb0hvc3RFbGVtZW50KHJlbmRlcmVyKTsKICAgICBib29sIHNraXBEZXNjZW5kYW50cyA9
IGZhbHNlOwogICAgIHdoaWxlICgoY3VycmVudFJlbmRlcmVyID0gbmV4dEluUHJlT3JkZXIoKmN1
cnJlbnRSZW5kZXJlciwgc3RheVdpdGhpbiwgc2tpcERlc2NlbmRhbnRzKSkpIHsKLSAgICAgICAg
c2tpcERlc2NlbmRhbnRzID0gZmFsc2U7CisgICAgICAgIHNraXBEZXNjZW5kYW50cyA9IHNob3Vs
ZEFwcGx5U3R5bGVDb250YWlubWVudCgqY3VycmVudFJlbmRlcmVyKTsKICAgICAgICAgaWYgKCFj
dXJyZW50UmVuZGVyZXItPmhhc0NvdW50ZXJOb2RlTWFwKCkpCiAgICAgICAgICAgICBjb250aW51
ZTsKICAgICAgICAgYXV0byogY3VycmVudENvdW50ZXIgPSBtYXBzLmZpbmQoY3VycmVudFJlbmRl
cmVyKS0+dmFsdWUtPmdldChpZGVudGlmaWVyKTsKQEAgLTU0OSw4ICs1NzUsMTAgQEAgdm9pZCBS
ZW5kZXJDb3VudGVyOjpyZW5kZXJlclN1YnRyZWVBdHRhY2hlZChSZW5kZXJFbGVtZW50JiByZW5k
ZXJlcikKICAgICAgICAgZWxlbWVudCA9IHJlbmRlcmVyLmdlbmVyYXRpbmdFbGVtZW50KCk7CiAg
ICAgaWYgKGVsZW1lbnQgJiYgIWVsZW1lbnQtPnJlbmRlcmVyKCkpCiAgICAgICAgIHJldHVybjsg
Ly8gTm8gbmVlZCB0byB1cGRhdGUgaWYgdGhlIHBhcmVudCBpcyBub3QgYXR0YWNoZWQgeWV0Cisg
ICAgYm9vbCBjcm9zc2VkQm91bmRhcnkgPSBmYWxzZTsKICAgICBmb3IgKFJlbmRlck9iamVjdCog
ZGVzY2VuZGFudCA9ICZyZW5kZXJlcjsgZGVzY2VuZGFudDsgZGVzY2VuZGFudCA9IGRlc2NlbmRh
bnQtPm5leHRJblByZU9yZGVyKCZyZW5kZXJlcikpIHsKLSAgICAgICAgaWYgKGlzPFJlbmRlckVs
ZW1lbnQ+KCpkZXNjZW5kYW50KSkKKyAgICAgICAgY3Jvc3NlZEJvdW5kYXJ5IHw9IHNob3VsZEFw
cGx5U3R5bGVDb250YWlubWVudCgqZGVzY2VuZGFudCk7CisgICAgICAgIGlmIChjcm9zc2VkQm91
bmRhcnkgJiYgaXM8UmVuZGVyRWxlbWVudD4oKmRlc2NlbmRhbnQpKQogICAgICAgICAgICAgdXBk
YXRlQ291bnRlcnMoZG93bmNhc3Q8UmVuZGVyRWxlbWVudD4oKmRlc2NlbmRhbnQpKTsKICAgICB9
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCmluZGV4IDBkY2Zi
Y2Y2MDFkMzc4ZTI4NmM4MTgyYzRmZGM4NmEwMmRhMzk5MDAuLmJiMzE2MWIxMTFkYTQ0Mjg1OWNl
YzRlODI3MGRhMmVkMmNjMmU0ZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJP
YmplY3QuY3BwCkBAIC0yNTE0LDMgKzI1MTQsOCBAQCBib29sIFdlYkNvcmU6OnNob3VsZEFwcGx5
U2l6ZUNvbnRhaW5tZW50KGNvbnN0IFdlYkNvcmU6OlJlbmRlck9iamVjdCYgcmVuZGVyZXIpCiB7
CiAgICAgcmV0dXJuIHJlbmRlcmVyLnN0eWxlKCkuY29udGFpbnNTaXplKCkgJiYgKCFyZW5kZXJl
ci5pc0lubGluZSgpIHx8IHJlbmRlcmVyLmlzQXRvbWljSW5saW5lTGV2ZWxCb3goKSkgJiYgIXJl
bmRlcmVyLmlzUnVieVRleHQoKSAmJiAoIXJlbmRlcmVyLmlzVGFibGVQYXJ0KCkgfHwgcmVuZGVy
ZXIuaXNUYWJsZUNhcHRpb24oKSkgJiYgIXJlbmRlcmVyLmlzVGFibGUoKTsKIH0KKworYm9vbCBX
ZWJDb3JlOjpzaG91bGRBcHBseVN0eWxlQ29udGFpbm1lbnQoY29uc3QgV2ViQ29yZTo6UmVuZGVy
T2JqZWN0JiByZW5kZXJlcikKK3sKKyAgICByZXR1cm4gcmVuZGVyZXIuc3R5bGUoKS5jb250YWlu
c1N0eWxlKCkgJiYgKCFyZW5kZXJlci5pc0lubGluZSgpIHx8IHJlbmRlcmVyLmlzQXRvbWljSW5s
aW5lTGV2ZWxCb3goKSkgJiYgIXJlbmRlcmVyLmlzUnVieVRleHQoKSAmJiAoIXJlbmRlcmVyLmlz
VGFibGVQYXJ0KCkgfHwgcmVuZGVyZXIuaXNUYWJsZUNhcHRpb24oKSkgJiYgIXJlbmRlcmVyLmlz
VGFibGUoKTsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJP
YmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAppbmRleCBm
MjBmNzU5NWQ1ZTA0YzViMzI1ZDQ3YThkZTA1NmNjOWYxODQzYzA3Li44ZjQzMWU5YTZmN2ZkMjcw
NGYxYjg0ZjZmZWZmZDY0NThmMzJjMmZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ck9iamVjdC5oCkBAIC0xMTk3LDYgKzExOTcsNyBAQCB2b2lkIHByaW50R3JhcGhpY3NMYXllclRy
ZWVGb3JMaXZlRG9jdW1lbnRzKCk7CiAKIGJvb2wgc2hvdWxkQXBwbHlMYXlvdXRDb250YWlubWVu
dChjb25zdCBSZW5kZXJPYmplY3QmKTsKIGJvb2wgc2hvdWxkQXBwbHlTaXplQ29udGFpbm1lbnQo
Y29uc3QgUmVuZGVyT2JqZWN0Jik7Citib29sIHNob3VsZEFwcGx5U3R5bGVDb250YWlubWVudChj
b25zdCBSZW5kZXJPYmplY3QmKTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCmluZGV4IDkzZDk1NzFlNmRl
NTU1N2E3NmNkMDQ5NWQ0MjU1OTBiNmEwZmVhNzEuLmQ4MzcxNWEwMWI4NzVkNTBlMDY0MzYxN2Vm
ODQzMTU5YzRjZjNlZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9SZW5kZXJTdHlsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5k
ZXJTdHlsZS5oCkBAIC01MjgsNiArNTI4LDcgQEAgcHVibGljOgogICAgIE9wdGlvblNldDxDb250
YWlubWVudD4gY29udGFpbigpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZU5vbkluaGVyaXRlZERhdGEt
PmNvbnRhaW47IH0KICAgICBib29sIGNvbnRhaW5zTGF5b3V0KCkgY29uc3QgeyByZXR1cm4gbV9y
YXJlTm9uSW5oZXJpdGVkRGF0YS0+Y29udGFpbi5jb250YWlucyhDb250YWlubWVudDo6TGF5b3V0
KTsgfQogICAgIGJvb2wgY29udGFpbnNTaXplKCkgY29uc3QgeyByZXR1cm4gbV9yYXJlTm9uSW5o
ZXJpdGVkRGF0YS0+Y29udGFpbi5jb250YWlucyhDb250YWlubWVudDo6U2l6ZSk7IH0KKyAgICBi
b29sIGNvbnRhaW5zU3R5bGUoKSBjb25zdCB7IHJldHVybiBtX3JhcmVOb25Jbmhlcml0ZWREYXRh
LT5jb250YWluLmNvbnRhaW5zKENvbnRhaW5tZW50OjpTdHlsZSk7IH0KICAgICBCb3hBbGlnbm1l
bnQgYm94QWxpZ24oKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxCb3hBbGlnbm1lbnQ+KG1f
cmFyZU5vbkluaGVyaXRlZERhdGEtPmRlcHJlY2F0ZWRGbGV4aWJsZUJveC0+YWxpZ24pOyB9CiAg
ICAgQm94RGlyZWN0aW9uIGJveERpcmVjdGlvbigpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0
PEJveERpcmVjdGlvbj4obV9pbmhlcml0ZWRGbGFncy5ib3hEaXJlY3Rpb24pOyB9CiAgICAgZmxv
YXQgYm94RmxleCgpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmRlcHJl
Y2F0ZWRGbGV4aWJsZUJveC0+ZmxleDsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaAppbmRleCA0OTkwNGE2ZjIxZWU2ZDI2
MWI4OTI5YzY3M2NiNDQxYzJjOTc0Nzg1Li5iNTJlOWJjMzkxMWNkNmY1ZTBkZGQ5Y2M4ODBmYTdj
NmI2ZDQ1N2ViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVu
ZGVyU3R5bGVDb25zdGFudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
UmVuZGVyU3R5bGVDb25zdGFudHMuaApAQCAtMTIyMyw2ICsxMjIzLDcgQEAgZW51bSBjbGFzcyBD
b250YWlubWVudCA6IHVpbnQ4X3QgewogICAgIExheW91dCAgID0gMSA8PCAwLAogICAgIFBhaW50
ICAgID0gMSA8PCAxLAogICAgIFNpemUgICAgID0gMSA8PCAyLAorICAgIFN0eWxlICAgID0gMSA8
PCAzLAogfTsKIAogZXh0ZXJuIGNvbnN0IGZsb2F0IGRlZmF1bHRNaXRlckxpbWl0OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVCdWlsZGVyQ3VzdG9tLmggYi9Tb3VyY2Uv
V2ViQ29yZS9zdHlsZS9TdHlsZUJ1aWxkZXJDdXN0b20uaAppbmRleCBmNmU2ZjdhODI3MDc5ZDY0
ZjczZTgxNjA2YzFjNjdkODM2NGY5ZGYwLi41ZDZjY2E2N2NkNGE4NjJhOTk0YzQyMDM2OTg1OTM4
NjRhYWE2MjIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZUJ1aWxkZXJD
dXN0b20uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZUJ1aWxkZXJDdXN0b20uaApA
QCAtMTI3Nyw2ICsxMjc3LDkgQEAgaW5saW5lIHZvaWQgQnVpbGRlckN1c3RvbTo6YXBwbHlWYWx1
ZUNvbnRhaW4oQnVpbGRlclN0YXRlJiBidWlsZGVyU3RhdGUsIENTU1ZhbHUKICAgICAgICAgY2Fz
ZSBDU1NWYWx1ZVBhaW50OgogICAgICAgICAgICAgY29udGFpbm1lbnQuYWRkKENvbnRhaW5tZW50
OjpQYWludCk7CiAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBDU1NWYWx1ZVN0eWxl
OgorICAgICAgICAgICAgY29udGFpbm1lbnQuYWRkKENvbnRhaW5tZW50OjpTdHlsZSk7CisgICAg
ICAgICAgICBicmVhazsKICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgIGJyZWFrOwogICAg
ICAgICB9OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggOWU3ODQ5ZjgxMWM3ZDRi
MDlkODBmNDk1OTcxMzQxODIzMWZmNWU5YS4uY2IyMWI0YTI5Y2JkNjVlNTYwMWQwZjI1MWNjZDA5
Zjk1NTYzOTFmOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMg
QEAKKzIwMjEtMDYtMDYgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KKworICAgICAgICBb
Y3NzLWNvbnRhaW5dIFN1cHBvcnQgY29udGFpbjpzdHlsZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI2NDU4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL3BhcnNpbmcvY29udGFpbi1jb21wdXRlZC1leHBlY3RlZC50eHQ6CisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9wYXJzaW5nL2NvbnRhaW4tdmFsaWQt
ZXhwZWN0ZWQudHh0OgorCiAyMDIxLTA2LTA0ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5j
b20+CiAKICAgICAgICAgV29ya2VyLmNvbnN0cnVjdG9yIHRocm93cyBhbiBleGNlcHRpb24gd2hl
biB0aGUgdXJsIHBhcmFtIGlzIGFuIGVtcHR5IHN0cmluZwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXgg
ZmY3Y2Y4ZjdjYjg5NjdkODk4ZWE3MDZmYmYzYzAzMTlhMjhhNTk1Ny4uODQzY2JiNDA5NWU0MTVj
ODAxOTM2ZWFjNDdjNzAyODllNTY4YTM1ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvVGVzdEV4
cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCkBAIC00Njc2LDEw
ICs0Njc2LDYgQEAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vY29udGFpbi1wYWludC10YWJsZS0wMDIuaHRtbCBbIEkKIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc3RyaWN0LTAwMS5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250YWluLXN0cmljdC0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zdHJp
Y3QtMDExLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc3R5bGUtY291bnRlcnMtMDAxLmh0bWwg
WyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRhaW4tc3R5bGUtY291bnRlcnMtMDAyLmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRhaW4tc3R5bGUtY291bnRlcnMtMDAzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc3R5
bGUtY291bnRlcnMtMDA0Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250
ZW50LXZpc2liaWxpdHktMDMyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9j
b250ZW50LXZpc2liaWxpdHktMDMzLnN1Yi5odHRwcy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
CiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50
LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAzNC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9wYXJzaW5nL2NvbnRhaW4tY29tcHV0ZWQtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vcGFyc2luZy9jb250YWluLWNvbXB1dGVkLWV4cGVjdGVkLnR4dAppbmRleCA0YTFhMGU2
NjM1ZmY4ZGI3YzBjNTk1NTIzOTIyMTE5MGViN2NkYTZmLi41YmZjOWU0NWUzYzVmZTFiMTQ3ODk0
YmViMWRjNTliM2YyNzE2MjViIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9wYXJzaW5nL2NvbnRhaW4tY29tcHV0
ZWQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL3BhcnNpbmcvY29udGFpbi1jb21wdXRlZC1leHBlY3Rl
ZC50eHQKQEAgLTQsMTIgKzQsMTIgQEAgUEFTUyBQcm9wZXJ0eSBjb250YWluIHZhbHVlICdzdHJp
Y3QnCiBQQVNTIFByb3BlcnR5IGNvbnRhaW4gdmFsdWUgJ2NvbnRlbnQnCiBQQVNTIFByb3BlcnR5
IGNvbnRhaW4gdmFsdWUgJ3NpemUnCiBQQVNTIFByb3BlcnR5IGNvbnRhaW4gdmFsdWUgJ2xheW91
dCcKLUZBSUwgUHJvcGVydHkgY29udGFpbiB2YWx1ZSAnc3R5bGUnIGFzc2VydF90cnVlOiAnc3R5
bGUnIGlzIGEgc3VwcG9ydGVkIHZhbHVlIGZvciBjb250YWluLiBleHBlY3RlZCB0cnVlIGdvdCBm
YWxzZQorUEFTUyBQcm9wZXJ0eSBjb250YWluIHZhbHVlICdzdHlsZScKIFBBU1MgUHJvcGVydHkg
Y29udGFpbiB2YWx1ZSAncGFpbnQnCiBQQVNTIFByb3BlcnR5IGNvbnRhaW4gdmFsdWUgJ3NpemUg
bGF5b3V0JwotRkFJTCBQcm9wZXJ0eSBjb250YWluIHZhbHVlICdzdHlsZSBwYWludCcgYXNzZXJ0
X3RydWU6ICdzdHlsZSBwYWludCcgaXMgYSBzdXBwb3J0ZWQgdmFsdWUgZm9yIGNvbnRhaW4uIGV4
cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFByb3BlcnR5IGNvbnRhaW4gdmFsdWUgJ2xheW91
dCBzdHlsZSBwYWludCcgYXNzZXJ0X3RydWU6ICdsYXlvdXQgc3R5bGUgcGFpbnQnIGlzIGEgc3Vw
cG9ydGVkIHZhbHVlIGZvciBjb250YWluLiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBQ
cm9wZXJ0eSBjb250YWluIHZhbHVlICdzaXplIGxheW91dCBzdHlsZSBwYWludCcgYXNzZXJ0X3Ry
dWU6ICdzaXplIGxheW91dCBzdHlsZSBwYWludCcgaXMgYSBzdXBwb3J0ZWQgdmFsdWUgZm9yIGNv
bnRhaW4uIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitQQVNTIFByb3BlcnR5IGNvbnRhaW4gdmFs
dWUgJ3N0eWxlIHBhaW50JworUEFTUyBQcm9wZXJ0eSBjb250YWluIHZhbHVlICdsYXlvdXQgc3R5
bGUgcGFpbnQnCitQQVNTIFByb3BlcnR5IGNvbnRhaW4gdmFsdWUgJ3NpemUgbGF5b3V0IHN0eWxl
IHBhaW50JwogUEFTUyBQcm9wZXJ0eSBjb250YWluIHZhbHVlICdzaXplIGxheW91dCBwYWludCcK
IFBBU1MgUHJvcGVydHkgY29udGFpbiB2YWx1ZSAnbGF5b3V0IHBhaW50JwogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9wYXJzaW5nL2NvbnRhaW4tdmFsaWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vcGFyc2luZy9jb250
YWluLXZhbGlkLWV4cGVjdGVkLnR4dAppbmRleCBlNTE1NTBlMTQwNWVhNGUxODc0OTU0MWFiODUw
Mjc3NzcyNjRkZDM3Li44NWZjZmUxNzM5N2IyOTY2YTA5NmFlYTY4Mzg4ZDNjN2YxNzUzYWY2IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9wYXJzaW5nL2NvbnRhaW4tdmFsaWQtZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L3BhcnNpbmcvY29udGFpbi12YWxpZC1leHBlY3RlZC50eHQKQEAgLTQsMTAgKzQsMTAgQEAgUEFT
UyBlLnN0eWxlWydjb250YWluJ10gPSAic3RyaWN0IiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2
YWx1ZQogUEFTUyBlLnN0eWxlWydjb250YWluJ10gPSAiY29udGVudCIgc2hvdWxkIHNldCB0aGUg
cHJvcGVydHkgdmFsdWUKIFBBU1MgZS5zdHlsZVsnY29udGFpbiddID0gInNpemUiIHNob3VsZCBz
ZXQgdGhlIHByb3BlcnR5IHZhbHVlCiBQQVNTIGUuc3R5bGVbJ2NvbnRhaW4nXSA9ICJsYXlvdXQi
IHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlCi1GQUlMIGUuc3R5bGVbJ2NvbnRhaW4nXSA9
ICJzdHlsZSIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUgYXNzZXJ0X25vdF9lcXVhbHM6
IHByb3BlcnR5IHNob3VsZCBiZSBzZXQgZ290IGRpc2FsbG93ZWQgdmFsdWUgIiIKK1BBU1MgZS5z
dHlsZVsnY29udGFpbiddID0gInN0eWxlIiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZQog
UEFTUyBlLnN0eWxlWydjb250YWluJ10gPSAicGFpbnQiIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5
IHZhbHVlCiBQQVNTIGUuc3R5bGVbJ2NvbnRhaW4nXSA9ICJsYXlvdXQgc2l6ZSIgc2hvdWxkIHNl
dCB0aGUgcHJvcGVydHkgdmFsdWUKLUZBSUwgZS5zdHlsZVsnY29udGFpbiddID0gInBhaW50IHN0
eWxlIiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZSBhc3NlcnRfbm90X2VxdWFsczogcHJv
cGVydHkgc2hvdWxkIGJlIHNldCBnb3QgZGlzYWxsb3dlZCB2YWx1ZSAiIgotRkFJTCBlLnN0eWxl
Wydjb250YWluJ10gPSAibGF5b3V0IHN0eWxlIHBhaW50IiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0
eSB2YWx1ZSBhc3NlcnRfbm90X2VxdWFsczogcHJvcGVydHkgc2hvdWxkIGJlIHNldCBnb3QgZGlz
YWxsb3dlZCB2YWx1ZSAiIgotRkFJTCBlLnN0eWxlWydjb250YWluJ10gPSAibGF5b3V0IHBhaW50
IHN0eWxlIHNpemUiIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlIGFzc2VydF9ub3RfZXF1
YWxzOiBwcm9wZXJ0eSBzaG91bGQgYmUgc2V0IGdvdCBkaXNhbGxvd2VkIHZhbHVlICIiCitQQVNT
IGUuc3R5bGVbJ2NvbnRhaW4nXSA9ICJwYWludCBzdHlsZSIgc2hvdWxkIHNldCB0aGUgcHJvcGVy
dHkgdmFsdWUKK1BBU1MgZS5zdHlsZVsnY29udGFpbiddID0gImxheW91dCBzdHlsZSBwYWludCIg
c2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUKK1BBU1MgZS5zdHlsZVsnY29udGFpbiddID0g
ImxheW91dCBwYWludCBzdHlsZSBzaXplIiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZQog
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>430717</attachid>
            <date>2021-06-07 00:17:45 -0700</date>
            <delta_ts>2021-06-07 01:21:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226458-20210607091743.patch</filename>
            <type>text/plain</type>
            <size>17820</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4NTMzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODU5NDU3ZTM4NzQzYTZk
YjIyZWM2ZGIxMTU2MzRiOTRmZWVlZmFkZi4uMTkyYTJlYWE4YTgxZjYwY2I3NmU3ODViMzk2OGFj
YWRhNDFhNDJkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDIxLTA2LTA2ICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgW2Nzcy1jb250YWluXSBTdXBwb3J0
IGNvbnRhaW46c3R5bGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIyNjQ1OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFdJUC4KKworICAgICAgICAqIGNzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24u
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29tcHV0ZWRTdHlsZUV4dHJhY3Rvcjo6dmFsdWVGb3JQ
cm9wZXJ0eUluU3R5bGUpOgorICAgICAgICAqIGNzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Y29uc3VtZUNvbnRhaW4pOgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJDb3VudGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmFuY2VzdG9yU3R5bGVD
b250YWlubWVudE9iamVjdCk6CisgICAgICAgIChXZWJDb3JlOjpwcmV2aW91c0luUHJlT3JkZXIp
OgorICAgICAgICAoV2ViQ29yZTo6cHJldmlvdXNTaWJsaW5nT3JQYXJlbnRFbGVtZW50KToKKyAg
ICAgICAgKFdlYkNvcmU6Om1ha2VDb3VudGVyTm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJDb3VudGVyOjpyZW5kZXJlclN1YnRyZWVBdHRhY2hlZCk6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlck9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpzaG91bGRBcHBseVN0eWxlQ29u
dGFpbm1lbnQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuaDoKKyAgICAgICAg
KiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
clN0eWxlOjpjb250YWluc1N0eWxlIGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUv
UmVuZGVyU3R5bGVDb25zdGFudHMuaDoKKyAgICAgICAgKiBzdHlsZS9TdHlsZUJ1aWxkZXJDdXN0
b20uaDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlOjpCdWlsZGVyQ3VzdG9tOjphcHBseVZhbHVl
Q29udGFpbik6CisKIDIwMjEtMDYtMDUgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4K
IAogICAgICAgICBGaXggcmVwZWF0ZWQgY2FsbCB0byBTdHJpbmc6OnV0ZjgoKSBpbiBTUUxpdGVG
aWxlU3lzdGVtOjpjb21wdXRlSGFzaEZvckZpbGVOYW1lKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKaW5kZXggYTUwZWRmZTJjZWNj
MmZlOTk0NTAxYTcwMzdiNmQwMmE2ZTI3M2ZlNC4uYzljNDlmNzI5NTc2OWFkNjJlZWFjYzdiNTBm
MzFlZGQzNjFjNDM1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVk
U3R5bGVEZWNsYXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVk
U3R5bGVEZWNsYXJhdGlvbi5jcHAKQEAgLTM0ODgsNiArMzQ4OCw4IEBAIFJlZlB0cjxDU1NWYWx1
ZT4gQ29tcHV0ZWRTdHlsZUV4dHJhY3Rvcjo6dmFsdWVGb3JQcm9wZXJ0eUluU3R5bGUoY29uc3Qg
UmVuZGVyU3R5CiAgICAgICAgICAgICAgICAgbGlzdC0+YXBwZW5kKGNzc1ZhbHVlUG9vbC5jcmVh
dGVJZGVudGlmaWVyVmFsdWUoQ1NTVmFsdWVTaXplKSk7CiAgICAgICAgICAgICBpZiAoY29udGFp
bm1lbnQgJiBDb250YWlubWVudDo6TGF5b3V0KQogICAgICAgICAgICAgICAgIGxpc3QtPmFwcGVu
ZChjc3NWYWx1ZVBvb2wuY3JlYXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVlTGF5b3V0KSk7Cisg
ICAgICAgICAgICBpZiAoY29udGFpbm1lbnQgJiBDb250YWlubWVudDo6U3R5bGUpCisgICAgICAg
ICAgICAgICAgbGlzdC0+YXBwZW5kKGNzc1ZhbHVlUG9vbC5jcmVhdGVJZGVudGlmaWVyVmFsdWUo
Q1NTVmFsdWVTdHlsZSkpOwogICAgICAgICAgICAgaWYgKGNvbnRhaW5tZW50ICYgQ29udGFpbm1l
bnQ6OlBhaW50KQogICAgICAgICAgICAgICAgIGxpc3QtPmFwcGVuZChjc3NWYWx1ZVBvb2wuY3Jl
YXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVlUGFpbnQpKTsKICAgICAgICAgICAgIHJldHVybiBs
aXN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBh
cnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNw
cAppbmRleCBkNzRmOTRlMTA1NjJhYTg0NWFhZjc3OTdlNjZhM2RjMjkwN2NhZDZjLi4zNDY5ZTEz
OWZhNTUxODk2MWU1MWJmYTY5YzM2ZDVmN2MzNjk3NmI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNwcApAQCAtMzg1MCw3ICszODUwLDcgQEAg
c3RhdGljIFJlZlB0cjxDU1NWYWx1ZT4gY29uc3VtZUNvbnRhaW4oQ1NTUGFyc2VyVG9rZW5SYW5n
ZSYgcmFuZ2UpCiAgICAgaWYgKGF1dG8gc2luZ2xlVmFsdWUgPSBjb25zdW1lSWRlbnQ8Q1NTVmFs
dWVOb25lLCBDU1NWYWx1ZVN0cmljdCwgQ1NTVmFsdWVDb250ZW50PihyYW5nZSkpCiAgICAgICAg
IHJldHVybiBzaW5nbGVWYWx1ZTsKICAgICBhdXRvIGxpc3QgPSBDU1NWYWx1ZUxpc3Q6OmNyZWF0
ZVNwYWNlU2VwYXJhdGVkKCk7Ci0gICAgUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBzaXplLCBs
YXlvdXQsIHBhaW50OworICAgIFJlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gc2l6ZSwgbGF5b3V0
LCBwYWludCwgc3R5bGU7CiAgICAgd2hpbGUgKCFyYW5nZS5hdEVuZCgpKSB7CiAgICAgICAgIHN3
aXRjaCAocmFuZ2UucGVlaygpLmlkKCkpIHsKICAgICAgICAgY2FzZSBDU1NWYWx1ZVNpemU6CkBA
IC0zODY4LDYgKzM4NjgsMTEgQEAgc3RhdGljIFJlZlB0cjxDU1NWYWx1ZT4gY29uc3VtZUNvbnRh
aW4oQ1NTUGFyc2VyVG9rZW5SYW5nZSYgcmFuZ2UpCiAgICAgICAgICAgICAgICAgcmV0dXJuIG51
bGxwdHI7CiAgICAgICAgICAgICBwYWludCA9IGNvbnN1bWVJZGVudChyYW5nZSk7CiAgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgY2FzZSBDU1NWYWx1ZVN0eWxlOgorICAgICAgICAgICAgaWYg
KHN0eWxlKQorICAgICAgICAgICAgICAgIHJldHVybiBudWxscHRyOworICAgICAgICAgICAgc3R5
bGUgPSBjb25zdW1lSWRlbnQocmFuZ2UpOworICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGRl
ZmF1bHQ6CiAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICAgICAgfQpAQCAtMzg3Niw2
ICszODgxLDggQEAgc3RhdGljIFJlZlB0cjxDU1NWYWx1ZT4gY29uc3VtZUNvbnRhaW4oQ1NTUGFy
c2VyVG9rZW5SYW5nZSYgcmFuZ2UpCiAgICAgICAgIGxpc3QtPmFwcGVuZChzaXplLnJlbGVhc2VO
b25OdWxsKCkpOwogICAgIGlmIChsYXlvdXQpCiAgICAgICAgIGxpc3QtPmFwcGVuZChsYXlvdXQu
cmVsZWFzZU5vbk51bGwoKSk7CisgICAgaWYgKHN0eWxlKQorICAgICAgICBsaXN0LT5hcHBlbmQo
c3R5bGUucmVsZWFzZU5vbk51bGwoKSk7CiAgICAgaWYgKHBhaW50KQogICAgICAgICBsaXN0LT5h
cHBlbmQocGFpbnQucmVsZWFzZU5vbk51bGwoKSk7CiAgICAgaWYgKCFsaXN0LT5sZW5ndGgoKSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJDb3VudGVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJDb3VudGVyLmNwcAppbmRleCA2MzFmYzFk
NDVlNDE1OGU4OTAxM2IwMjM0ODI1NjU2YzI0MWFjYjYyLi5mZGM3ZDExNDg0ZmZhMzUzOTAyMGQx
OTg2NzQyOGQxMzBhMmJiMmE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQ291bnRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckNv
dW50ZXIuY3BwCkBAIC01NywxNSArNTcsMzkgQEAgc3RhdGljIENvdW50ZXJNYXBzJiBjb3VudGVy
TWFwcygpCiAgICAgcmV0dXJuIHN0YXRpY0NvdW50ZXJNYXBzOwogfQogCitzdGF0aWMgRWxlbWVu
dCogYW5jZXN0b3JTdHlsZUNvbnRhaW5tZW50T2JqZWN0KGNvbnN0IEVsZW1lbnQmIGVsZW1lbnQp
Cit7CisgICAgRWxlbWVudCogYW5jZXN0b3IgPSBpczxQc2V1ZG9FbGVtZW50PihlbGVtZW50KSA/
IGRvd25jYXN0PFBzZXVkb0VsZW1lbnQ+KGVsZW1lbnQpLmhvc3RFbGVtZW50KCkgOiBlbGVtZW50
LnBhcmVudEVsZW1lbnQoKTsKKyAgICB3aGlsZSAoYW5jZXN0b3IpIHsKKyAgICAgICAgaWYgKGF1
dG8qIHN0eWxlID0gYW5jZXN0b3ItPmV4aXN0aW5nQ29tcHV0ZWRTdHlsZSgpKSB7CisgICAgICAg
ICAgICBpZiAoc3R5bGUtPmNvbnRhaW5zU3R5bGUoKSkKKyAgICAgICAgICAgICAgICByZXR1cm4g
YW5jZXN0b3I7CisgICAgICAgIH0KKyAgICAgICAgYW5jZXN0b3IgPSBhbmNlc3Rvci0+cGFyZW50
RWxlbWVudCgpOworICAgIH0KKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKwogLy8gVGhpcyBmdW5j
dGlvbiBwcm9jZXNzZXMgdGhlIHJlbmRlcmVyIHRyZWUgaW4gdGhlIG9yZGVyIG9mIHRoZSBET00g
dHJlZQogLy8gaW5jbHVkaW5nIHBzZXVkbyBlbGVtZW50cyBhcyBkZWZpbmVkIGluIENTUyAyLjEu
CiBzdGF0aWMgUmVuZGVyRWxlbWVudCogcHJldmlvdXNJblByZU9yZGVyKGNvbnN0IFJlbmRlckVs
ZW1lbnQmIHJlbmRlcmVyKQogewogICAgIEFTU0VSVChyZW5kZXJlci5lbGVtZW50KCkpOwogICAg
IEVsZW1lbnQqIHByZXZpb3VzID0gRWxlbWVudFRyYXZlcnNhbDo6cHJldmlvdXNJbmNsdWRpbmdQ
c2V1ZG8oKnJlbmRlcmVyLmVsZW1lbnQoKSk7Ci0gICAgd2hpbGUgKHByZXZpb3VzICYmICFwcmV2
aW91cy0+cmVuZGVyZXIoKSkKLSAgICAgICAgcHJldmlvdXMgPSBFbGVtZW50VHJhdmVyc2FsOjpw
cmV2aW91c0luY2x1ZGluZ1BzZXVkbygqcHJldmlvdXMpOwotICAgIHJldHVybiBwcmV2aW91cyA/
IHByZXZpb3VzLT5yZW5kZXJlcigpIDogMDsKKyAgICBFbGVtZW50KiBzdHlsZUNvbnRhaW5BbmNl
c3RvciA9IGFuY2VzdG9yU3R5bGVDb250YWlubWVudE9iamVjdCgqcmVuZGVyZXIuZWxlbWVudCgp
KTsKKworICAgIHdoaWxlICh0cnVlKSB7CisgICAgICAgIHdoaWxlIChwcmV2aW91cyAmJiAhcHJl
dmlvdXMtPnJlbmRlcmVyKCkpCisgICAgICAgICAgICBwcmV2aW91cyA9IEVsZW1lbnRUcmF2ZXJz
YWw6OnByZXZpb3VzSW5jbHVkaW5nUHNldWRvKCpwcmV2aW91cyk7CisgICAgICAgIGlmICghcHJl
dmlvdXMpCisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAgICAgRWxlbWVudCogcHJl
dmlvdXNTdHlsZUNvbnRhaW5BbmNlc3RvciA9IGFuY2VzdG9yU3R5bGVDb250YWlubWVudE9iamVj
dCgqcHJldmlvdXMpOworICAgICAgICBpZiAocHJldmlvdXNTdHlsZUNvbnRhaW5BbmNlc3RvciA9
PSBzdHlsZUNvbnRhaW5BbmNlc3RvcikKKyAgICAgICAgICAgIHJldHVybiBwcmV2aW91cy0+cmVu
ZGVyZXIoKTsKKyAgICAgICAgaWYgKCFwcmV2aW91c1N0eWxlQ29udGFpbkFuY2VzdG9yKQorICAg
ICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgIHByZXZpb3VzID0gcHJldmlvdXNTdHls
ZUNvbnRhaW5BbmNlc3RvcjsKKyAgICB9CiB9CiAKIHN0YXRpYyBpbmxpbmUgRWxlbWVudCogcGFy
ZW50T3JQc2V1ZG9Ib3N0RWxlbWVudChjb25zdCBSZW5kZXJFbGVtZW50JiByZW5kZXJlcikKQEAg
LTkyLDEwICsxMTYsMTEgQEAgc3RhdGljIEVsZW1lbnQqIHByZXZpb3VzU2libGluZ09yUGFyZW50
RWxlbWVudChjb25zdCBFbGVtZW50JiBlbGVtZW50KQogICAgICAgICAgICAgcmV0dXJuIGhvc3RF
bGVtZW50OwogICAgICAgICByZXR1cm4gcHJldmlvdXNTaWJsaW5nT3JQYXJlbnRFbGVtZW50KCpo
b3N0RWxlbWVudCk7CiAgICAgfQotICAgIAogICAgIGF1dG8qIHBhcmVudCA9IGVsZW1lbnQucGFy
ZW50RWxlbWVudCgpOwogICAgIGlmIChwYXJlbnQgJiYgIXBhcmVudC0+cmVuZGVyZXIoKSkKICAg
ICAgICAgcGFyZW50ID0gcHJldmlvdXNTaWJsaW5nT3JQYXJlbnRFbGVtZW50KCpwYXJlbnQpOwor
ICAgIGlmIChwYXJlbnQgJiYgcGFyZW50LT5yZW5kZXJlcigpICYmIHBhcmVudC0+cmVuZGVyZXIo
KS0+c3R5bGUoKS5jb250YWluc1N0eWxlKCkpCisgICAgICAgIHJldHVybiBudWxscHRyOwogICAg
IHJldHVybiBwYXJlbnQ7CiB9CiAKQEAgLTIyMyw2ICsyNDgsNyBAQCBzdGF0aWMgQ291bnRlcklu
c2VydGlvblBvaW50IGZpbmRQbGFjZUZvckNvdW50ZXIoUmVuZGVyRWxlbWVudCYgY291bnRlck93
bmVyLCBjbwogICAgIC8vIHRvd2FyZHMgdGhlIGJlZ2luaW5nIG9mIHRoZSBkb2N1bWVudCBmb3Ig
Y291bnRlcnMgd2l0aCB0aGUgc2FtZSBpZGVudGlmaWVyIGFzIHRoZSBvbmUKICAgICAvLyB3ZSBh
cmUgdHJ5aW5nIHRvIGZpbmQgYSBwbGFjZSBmb3IuIFRoaXMgaXMgdGhlIG5leHQgcmVuZGVyZXIg
dG8gYmUgY2hlY2tlZC4KICAgICBSZW5kZXJFbGVtZW50KiBjdXJyZW50UmVuZGVyZXIgPSBwcmV2
aW91c0luUHJlT3JkZXIoY291bnRlck93bmVyKTsKKwogICAgIFJlZlB0cjxDb3VudGVyTm9kZT4g
cHJldmlvdXNTaWJsaW5nOwogCiAgICAgd2hpbGUgKGN1cnJlbnRSZW5kZXJlcikgewpAQCAtMzM1
LDcgKzM2MSw3IEBAIHN0YXRpYyBDb3VudGVyTm9kZSogbWFrZUNvdW50ZXJOb2RlKFJlbmRlckVs
ZW1lbnQmIHJlbmRlcmVyLCBjb25zdCBBdG9tU3RyaW5nJiBpCiAgICAgbWFwcy5hZGQoJnJlbmRl
cmVyLCBtYWtlVW5pcXVlPENvdW50ZXJNYXA+KCkpLml0ZXJhdG9yLT52YWx1ZS0+YWRkKGlkZW50
aWZpZXIsIG5ld05vZGUuY29weVJlZigpKTsKICAgICByZW5kZXJlci5zZXRIYXNDb3VudGVyTm9k
ZU1hcCh0cnVlKTsKIAotICAgIGlmIChuZXdOb2RlLT5wYXJlbnQoKSkKKyAgICBpZiAobmV3Tm9k
ZS0+cGFyZW50KCkgfHwgc2hvdWxkQXBwbHlTdHlsZUNvbnRhaW5tZW50KHJlbmRlcmVyKSkKICAg
ICAgICAgcmV0dXJuIG5ld05vZGUucHRyKCk7CiAKICAgICAvLyBDaGVjayBpZiBzb21lIG5vZGVz
IHRoYXQgd2VyZSBwcmV2aW91c2x5IHJvb3Qgbm9kZXMgc2hvdWxkIGJlY29tZSBjaGlsZHJlbiBv
ZiB0aGlzIG5vZGUgbm93LgpAQCAtMzQzLDcgKzM2OSw3IEBAIHN0YXRpYyBDb3VudGVyTm9kZSog
bWFrZUNvdW50ZXJOb2RlKFJlbmRlckVsZW1lbnQmIHJlbmRlcmVyLCBjb25zdCBBdG9tU3RyaW5n
JiBpCiAgICAgYXV0byogc3RheVdpdGhpbiA9IHBhcmVudE9yUHNldWRvSG9zdEVsZW1lbnQocmVu
ZGVyZXIpOwogICAgIGJvb2wgc2tpcERlc2NlbmRhbnRzID0gZmFsc2U7CiAgICAgd2hpbGUgKChj
dXJyZW50UmVuZGVyZXIgPSBuZXh0SW5QcmVPcmRlcigqY3VycmVudFJlbmRlcmVyLCBzdGF5V2l0
aGluLCBza2lwRGVzY2VuZGFudHMpKSkgewotICAgICAgICBza2lwRGVzY2VuZGFudHMgPSBmYWxz
ZTsKKyAgICAgICAgc2tpcERlc2NlbmRhbnRzID0gc2hvdWxkQXBwbHlTdHlsZUNvbnRhaW5tZW50
KCpjdXJyZW50UmVuZGVyZXIpOwogICAgICAgICBpZiAoIWN1cnJlbnRSZW5kZXJlci0+aGFzQ291
bnRlck5vZGVNYXAoKSkKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICBhdXRvKiBjdXJy
ZW50Q291bnRlciA9IG1hcHMuZmluZChjdXJyZW50UmVuZGVyZXIpLT52YWx1ZS0+Z2V0KGlkZW50
aWZpZXIpOwpAQCAtNTQ5LDggKzU3NSwxMCBAQCB2b2lkIFJlbmRlckNvdW50ZXI6OnJlbmRlcmVy
U3VidHJlZUF0dGFjaGVkKFJlbmRlckVsZW1lbnQmIHJlbmRlcmVyKQogICAgICAgICBlbGVtZW50
ID0gcmVuZGVyZXIuZ2VuZXJhdGluZ0VsZW1lbnQoKTsKICAgICBpZiAoZWxlbWVudCAmJiAhZWxl
bWVudC0+cmVuZGVyZXIoKSkKICAgICAgICAgcmV0dXJuOyAvLyBObyBuZWVkIHRvIHVwZGF0ZSBp
ZiB0aGUgcGFyZW50IGlzIG5vdCBhdHRhY2hlZCB5ZXQKKyAgICBib29sIGNyb3NzZWRCb3VuZGFy
eSA9IGZhbHNlOwogICAgIGZvciAoUmVuZGVyT2JqZWN0KiBkZXNjZW5kYW50ID0gJnJlbmRlcmVy
OyBkZXNjZW5kYW50OyBkZXNjZW5kYW50ID0gZGVzY2VuZGFudC0+bmV4dEluUHJlT3JkZXIoJnJl
bmRlcmVyKSkgewotICAgICAgICBpZiAoaXM8UmVuZGVyRWxlbWVudD4oKmRlc2NlbmRhbnQpKQor
ICAgICAgICBjcm9zc2VkQm91bmRhcnkgfD0gc2hvdWxkQXBwbHlTdHlsZUNvbnRhaW5tZW50KCpk
ZXNjZW5kYW50KTsKKyAgICAgICAgaWYgKGNyb3NzZWRCb3VuZGFyeSAmJiBpczxSZW5kZXJFbGVt
ZW50PigqZGVzY2VuZGFudCkpCiAgICAgICAgICAgICB1cGRhdGVDb3VudGVycyhkb3duY2FzdDxS
ZW5kZXJFbGVtZW50PigqZGVzY2VuZGFudCkpOwogICAgIH0KIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKaW5kZXggMGRjZmJjZjYwMWQzNzhlMjg2YzgxODJjNGZk
Yzg2YTAyZGEzOTkwMC4uYmIzMTYxYjExMWRhNDQyODU5Y2VjNGU4MjcwZGEyZWQyY2MyZTRlMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKQEAgLTI1MTQsMyAr
MjUxNCw4IEBAIGJvb2wgV2ViQ29yZTo6c2hvdWxkQXBwbHlTaXplQ29udGFpbm1lbnQoY29uc3Qg
V2ViQ29yZTo6UmVuZGVyT2JqZWN0JiByZW5kZXJlcikKIHsKICAgICByZXR1cm4gcmVuZGVyZXIu
c3R5bGUoKS5jb250YWluc1NpemUoKSAmJiAoIXJlbmRlcmVyLmlzSW5saW5lKCkgfHwgcmVuZGVy
ZXIuaXNBdG9taWNJbmxpbmVMZXZlbEJveCgpKSAmJiAhcmVuZGVyZXIuaXNSdWJ5VGV4dCgpICYm
ICghcmVuZGVyZXIuaXNUYWJsZVBhcnQoKSB8fCByZW5kZXJlci5pc1RhYmxlQ2FwdGlvbigpKSAm
JiAhcmVuZGVyZXIuaXNUYWJsZSgpOwogfQorCitib29sIFdlYkNvcmU6OnNob3VsZEFwcGx5U3R5
bGVDb250YWlubWVudChjb25zdCBXZWJDb3JlOjpSZW5kZXJPYmplY3QmIHJlbmRlcmVyKQorewor
ICAgIHJldHVybiByZW5kZXJlci5zdHlsZSgpLmNvbnRhaW5zU3R5bGUoKSAmJiAoIXJlbmRlcmVy
LmlzSW5saW5lKCkgfHwgcmVuZGVyZXIuaXNBdG9taWNJbmxpbmVMZXZlbEJveCgpKSAmJiAhcmVu
ZGVyZXIuaXNSdWJ5VGV4dCgpICYmICghcmVuZGVyZXIuaXNUYWJsZVBhcnQoKSB8fCByZW5kZXJl
ci5pc1RhYmxlQ2FwdGlvbigpKSAmJiAhcmVuZGVyZXIuaXNUYWJsZSgpOworfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCmluZGV4IGYyMGY3NTk1ZDVlMDRjNWIzMjVkNDdh
OGRlMDU2Y2M5ZjE4NDNjMDcuLjhmNDMxZTlhNmY3ZmQyNzA0ZjFiODRmNmZlZmZkNjQ1OGYzMmMy
ZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKQEAgLTExOTcsNiAr
MTE5Nyw3IEBAIHZvaWQgcHJpbnRHcmFwaGljc0xheWVyVHJlZUZvckxpdmVEb2N1bWVudHMoKTsK
IAogYm9vbCBzaG91bGRBcHBseUxheW91dENvbnRhaW5tZW50KGNvbnN0IFJlbmRlck9iamVjdCYp
OwogYm9vbCBzaG91bGRBcHBseVNpemVDb250YWlubWVudChjb25zdCBSZW5kZXJPYmplY3QmKTsK
K2Jvb2wgc2hvdWxkQXBwbHlTdHlsZUNvbnRhaW5tZW50KGNvbnN0IFJlbmRlck9iamVjdCYpOwog
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL1JlbmRlclN0eWxlLmgKaW5kZXggOTNkOTU3MWU2ZGU1NTU3YTc2Y2QwNDk1ZDQyNTU5MGI2
YTBmZWE3MS4uZDgzNzE1YTAxYjg3NWQ1MGUwNjQzNjE3ZWY4NDMxNTljNGNmM2VlYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKQEAgLTUyOCw2ICs1
MjgsNyBAQCBwdWJsaWM6CiAgICAgT3B0aW9uU2V0PENvbnRhaW5tZW50PiBjb250YWluKCkgY29u
c3QgeyByZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+Y29udGFpbjsgfQogICAgIGJvb2wg
Y29udGFpbnNMYXlvdXQoKSBjb25zdCB7IHJldHVybiBtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5j
b250YWluLmNvbnRhaW5zKENvbnRhaW5tZW50OjpMYXlvdXQpOyB9CiAgICAgYm9vbCBjb250YWlu
c1NpemUoKSBjb25zdCB7IHJldHVybiBtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5jb250YWluLmNv
bnRhaW5zKENvbnRhaW5tZW50OjpTaXplKTsgfQorICAgIGJvb2wgY29udGFpbnNTdHlsZSgpIGNv
bnN0IHsgcmV0dXJuIG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmNvbnRhaW4uY29udGFpbnMoQ29u
dGFpbm1lbnQ6OlN0eWxlKTsgfQogICAgIEJveEFsaWdubWVudCBib3hBbGlnbigpIGNvbnN0IHsg
cmV0dXJuIHN0YXRpY19jYXN0PEJveEFsaWdubWVudD4obV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+
ZGVwcmVjYXRlZEZsZXhpYmxlQm94LT5hbGlnbik7IH0KICAgICBCb3hEaXJlY3Rpb24gYm94RGly
ZWN0aW9uKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8Qm94RGlyZWN0aW9uPihtX2luaGVy
aXRlZEZsYWdzLmJveERpcmVjdGlvbik7IH0KICAgICBmbG9hdCBib3hGbGV4KCkgY29uc3QgeyBy
ZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+ZGVwcmVjYXRlZEZsZXhpYmxlQm94LT5mbGV4
OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5
bGVDb25zdGFudHMuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHls
ZUNvbnN0YW50cy5oCmluZGV4IDQ5OTA0YTZmMjFlZTZkMjYxYjg5MjljNjczY2I0NDFjMmM5NzQ3
ODUuLmI1MmU5YmMzOTExY2Q2ZjVlMGRkZDljYzg4MGZhN2M2YjZkNDU3ZWIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5o
CkBAIC0xMjIzLDYgKzEyMjMsNyBAQCBlbnVtIGNsYXNzIENvbnRhaW5tZW50IDogdWludDhfdCB7
CiAgICAgTGF5b3V0ICAgPSAxIDw8IDAsCiAgICAgUGFpbnQgICAgPSAxIDw8IDEsCiAgICAgU2l6
ZSAgICAgPSAxIDw8IDIsCisgICAgU3R5bGUgICAgPSAxIDw8IDMsCiB9OwogCiBleHRlcm4gY29u
c3QgZmxvYXQgZGVmYXVsdE1pdGVyTGltaXQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9z
dHlsZS9TdHlsZUJ1aWxkZXJDdXN0b20uaCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQnVp
bGRlckN1c3RvbS5oCmluZGV4IGY2ZTZmN2E4MjcwNzlkNjRmNzNlODE2MDZjMWM2N2Q4MzY0Zjlk
ZjAuLjVkNmNjYTY3Y2Q0YTg2MmE5OTRjNDIwMzY5ODU5Mzg2NGFhYTYyMjIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQnVpbGRlckN1c3RvbS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3N0eWxlL1N0eWxlQnVpbGRlckN1c3RvbS5oCkBAIC0xMjc3LDYgKzEyNzcsOSBAQCBp
bmxpbmUgdm9pZCBCdWlsZGVyQ3VzdG9tOjphcHBseVZhbHVlQ29udGFpbihCdWlsZGVyU3RhdGUm
IGJ1aWxkZXJTdGF0ZSwgQ1NTVmFsdQogICAgICAgICBjYXNlIENTU1ZhbHVlUGFpbnQ6CiAgICAg
ICAgICAgICBjb250YWlubWVudC5hZGQoQ29udGFpbm1lbnQ6OlBhaW50KTsKICAgICAgICAgICAg
IGJyZWFrOworICAgICAgICBjYXNlIENTU1ZhbHVlU3R5bGU6CisgICAgICAgICAgICBjb250YWlu
bWVudC5hZGQoQ29udGFpbm1lbnQ6OlN0eWxlKTsKKyAgICAgICAgICAgIGJyZWFrOwogICAgICAg
ICBkZWZhdWx0OgogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH07CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL0NoYW5nZUxvZwppbmRleCA5ZTc4NDlmODExYzdkNGIwOWQ4MGY0OTU5NzEzNDE4MjMxZmY1
ZTlhLi5jYjIxYjRhMjljYmQ2NWU1NjAxZDBmMjUxY2NkMDlmOTU1NjM5MWY5IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAyMS0wNi0wNiAgUm9iIEJ1
aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIFtjc3MtY29udGFpbl0gU3VwcG9ydCBj
b250YWluOnN0eWxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMjY0NTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vcGFyc2luZy9jb250YWlu
LWNvbXB1dGVkLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL3BhcnNpbmcvY29udGFpbi12YWxpZC1leHBlY3RlZC50eHQ6CisKIDIwMjEt
MDYtMDQgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBXb3JrZXIu
Y29uc3RydWN0b3IgdGhyb3dzIGFuIGV4Y2VwdGlvbiB3aGVuIHRoZSB1cmwgcGFyYW0gaXMgYW4g
ZW1wdHkgc3RyaW5nCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zIGIv
TGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBmZjdjZjhmN2NiODk2N2Q4OThlYTcw
NmZiZjNjMDMxOWEyOGE1OTU3Li44NDNjYmI0MDk1ZTQxNWM4MDE5MzZlYWM0N2M3MDI4OWU1Njhh
MzVmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91
dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTQ2NzYsMTAgKzQ2NzYsNiBAQCBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LXRhYmxl
LTAwMi5odG1sIFsgSQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGFpbi1zdHJpY3QtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc3RyaWN0
LTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXN0cmljdC0wMTEuaHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vY29udGFpbi1zdHlsZS1jb3VudGVycy0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQot
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1z
dHlsZS1jb3VudGVycy0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zdHlsZS1jb3VudGVy
cy0wMDMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zdHlsZS1jb3VudGVycy0wMDQuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMzIuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMzMu
c3ViLmh0dHBzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZp
c2liaWxpdHktMDM0Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL3Bh
cnNpbmcvY29udGFpbi1jb21wdXRlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9wYXJzaW5nL2NvbnRhaW4t
Y29tcHV0ZWQtZXhwZWN0ZWQudHh0CmluZGV4IDRhMWEwZTY2MzVmZjhkYjdjMGM1OTU1MjM5MjIx
MTkwZWI3Y2RhNmYuLjViZmM5ZTQ1ZTNjNWZlMWIxNDc4OTRiZWIxZGM1OWIzZjI3MTYyNWIgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL3BhcnNpbmcvY29udGFpbi1jb21wdXRlZC1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vcGFyc2luZy9jb250YWluLWNvbXB1dGVkLWV4cGVjdGVkLnR4dApAQCAtNCwxMiArNCwxMiBA
QCBQQVNTIFByb3BlcnR5IGNvbnRhaW4gdmFsdWUgJ3N0cmljdCcKIFBBU1MgUHJvcGVydHkgY29u
dGFpbiB2YWx1ZSAnY29udGVudCcKIFBBU1MgUHJvcGVydHkgY29udGFpbiB2YWx1ZSAnc2l6ZScK
IFBBU1MgUHJvcGVydHkgY29udGFpbiB2YWx1ZSAnbGF5b3V0JwotRkFJTCBQcm9wZXJ0eSBjb250
YWluIHZhbHVlICdzdHlsZScgYXNzZXJ0X3RydWU6ICdzdHlsZScgaXMgYSBzdXBwb3J0ZWQgdmFs
dWUgZm9yIGNvbnRhaW4uIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitQQVNTIFByb3BlcnR5IGNv
bnRhaW4gdmFsdWUgJ3N0eWxlJwogUEFTUyBQcm9wZXJ0eSBjb250YWluIHZhbHVlICdwYWludCcK
IFBBU1MgUHJvcGVydHkgY29udGFpbiB2YWx1ZSAnc2l6ZSBsYXlvdXQnCi1GQUlMIFByb3BlcnR5
IGNvbnRhaW4gdmFsdWUgJ3N0eWxlIHBhaW50JyBhc3NlcnRfdHJ1ZTogJ3N0eWxlIHBhaW50JyBp
cyBhIHN1cHBvcnRlZCB2YWx1ZSBmb3IgY29udGFpbi4gZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UK
LUZBSUwgUHJvcGVydHkgY29udGFpbiB2YWx1ZSAnbGF5b3V0IHN0eWxlIHBhaW50JyBhc3NlcnRf
dHJ1ZTogJ2xheW91dCBzdHlsZSBwYWludCcgaXMgYSBzdXBwb3J0ZWQgdmFsdWUgZm9yIGNvbnRh
aW4uIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFByb3BlcnR5IGNvbnRhaW4gdmFsdWUg
J3NpemUgbGF5b3V0IHN0eWxlIHBhaW50JyBhc3NlcnRfdHJ1ZTogJ3NpemUgbGF5b3V0IHN0eWxl
IHBhaW50JyBpcyBhIHN1cHBvcnRlZCB2YWx1ZSBmb3IgY29udGFpbi4gZXhwZWN0ZWQgdHJ1ZSBn
b3QgZmFsc2UKK1BBU1MgUHJvcGVydHkgY29udGFpbiB2YWx1ZSAnc3R5bGUgcGFpbnQnCitQQVNT
IFByb3BlcnR5IGNvbnRhaW4gdmFsdWUgJ2xheW91dCBzdHlsZSBwYWludCcKK1BBU1MgUHJvcGVy
dHkgY29udGFpbiB2YWx1ZSAnc2l6ZSBsYXlvdXQgc3R5bGUgcGFpbnQnCiBQQVNTIFByb3BlcnR5
IGNvbnRhaW4gdmFsdWUgJ3NpemUgbGF5b3V0IHBhaW50JwogUEFTUyBQcm9wZXJ0eSBjb250YWlu
IHZhbHVlICdsYXlvdXQgcGFpbnQnCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL3BhcnNpbmcvY29udGFpbi12
YWxpZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9wYXJzaW5nL2NvbnRhaW4tdmFsaWQtZXhwZWN0ZWQudHh0
CmluZGV4IGU1MTU1MGUxNDA1ZWE0ZTE4NzQ5NTQxYWI4NTAyNzc3NzI2NGRkMzcuLjg1ZmNmZTE3
Mzk3YjI5NjZhMDk2YWVhNjgzODhkM2M3ZjE3NTNhZjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL3BhcnNpbmcv
Y29udGFpbi12YWxpZC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vcGFyc2luZy9jb250YWluLXZhbGlk
LWV4cGVjdGVkLnR4dApAQCAtNCwxMCArNCwxMCBAQCBQQVNTIGUuc3R5bGVbJ2NvbnRhaW4nXSA9
ICJzdHJpY3QiIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlCiBQQVNTIGUuc3R5bGVbJ2Nv
bnRhaW4nXSA9ICJjb250ZW50IiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZQogUEFTUyBl
LnN0eWxlWydjb250YWluJ10gPSAic2l6ZSIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUK
IFBBU1MgZS5zdHlsZVsnY29udGFpbiddID0gImxheW91dCIgc2hvdWxkIHNldCB0aGUgcHJvcGVy
dHkgdmFsdWUKLUZBSUwgZS5zdHlsZVsnY29udGFpbiddID0gInN0eWxlIiBzaG91bGQgc2V0IHRo
ZSBwcm9wZXJ0eSB2YWx1ZSBhc3NlcnRfbm90X2VxdWFsczogcHJvcGVydHkgc2hvdWxkIGJlIHNl
dCBnb3QgZGlzYWxsb3dlZCB2YWx1ZSAiIgorUEFTUyBlLnN0eWxlWydjb250YWluJ10gPSAic3R5
bGUiIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlCiBQQVNTIGUuc3R5bGVbJ2NvbnRhaW4n
XSA9ICJwYWludCIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUKIFBBU1MgZS5zdHlsZVsn
Y29udGFpbiddID0gImxheW91dCBzaXplIiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZQot
RkFJTCBlLnN0eWxlWydjb250YWluJ10gPSAicGFpbnQgc3R5bGUiIHNob3VsZCBzZXQgdGhlIHBy
b3BlcnR5IHZhbHVlIGFzc2VydF9ub3RfZXF1YWxzOiBwcm9wZXJ0eSBzaG91bGQgYmUgc2V0IGdv
dCBkaXNhbGxvd2VkIHZhbHVlICIiCi1GQUlMIGUuc3R5bGVbJ2NvbnRhaW4nXSA9ICJsYXlvdXQg
c3R5bGUgcGFpbnQiIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlIGFzc2VydF9ub3RfZXF1
YWxzOiBwcm9wZXJ0eSBzaG91bGQgYmUgc2V0IGdvdCBkaXNhbGxvd2VkIHZhbHVlICIiCi1GQUlM
IGUuc3R5bGVbJ2NvbnRhaW4nXSA9ICJsYXlvdXQgcGFpbnQgc3R5bGUgc2l6ZSIgc2hvdWxkIHNl
dCB0aGUgcHJvcGVydHkgdmFsdWUgYXNzZXJ0X25vdF9lcXVhbHM6IHByb3BlcnR5IHNob3VsZCBi
ZSBzZXQgZ290IGRpc2FsbG93ZWQgdmFsdWUgIiIKK1BBU1MgZS5zdHlsZVsnY29udGFpbiddID0g
InBhaW50IHN0eWxlIiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZQorUEFTUyBlLnN0eWxl
Wydjb250YWluJ10gPSAibGF5b3V0IHN0eWxlIHBhaW50IiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0
eSB2YWx1ZQorUEFTUyBlLnN0eWxlWydjb250YWluJ10gPSAibGF5b3V0IHBhaW50IHN0eWxlIHNp
emUiIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>430721</attachid>
            <date>2021-06-07 01:21:21 -0700</date>
            <delta_ts>2021-06-07 08:49:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226458-20210607102120.patch</filename>
            <type>text/plain</type>
            <size>19898</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4NTMzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODU5NDU3ZTM4NzQzYTZk
YjIyZWM2ZGIxMTU2MzRiOTRmZWVlZmFkZi4uY2FkYWI1YWI2Y2QwZGI4OTFjYTQ5NjFjZDA3NmE0
MzY0OTVhMjVlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDIxLTA2LTA3ICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgW2Nzcy1jb250YWluXSBTdXBwb3J0
IGNvbnRhaW46c3R5bGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIyNjQ1OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFdJUC4KKworICAgICAgICAqIGNzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24u
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29tcHV0ZWRTdHlsZUV4dHJhY3Rvcjo6dmFsdWVGb3JQ
cm9wZXJ0eUluU3R5bGUpOgorICAgICAgICAqIGNzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Y29uc3VtZUNvbnRhaW4pOgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJDb3VudGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmFuY2VzdG9yU3R5bGVD
b250YWlubWVudE9iamVjdCk6CisgICAgICAgIChXZWJDb3JlOjpwcmV2aW91c0luUHJlT3JkZXIp
OgorICAgICAgICAoV2ViQ29yZTo6cHJldmlvdXNTaWJsaW5nT3JQYXJlbnRFbGVtZW50KToKKyAg
ICAgICAgKFdlYkNvcmU6OmZpbmRQbGFjZUZvckNvdW50ZXIpOgorICAgICAgICAoV2ViQ29yZTo6
bWFrZUNvdW50ZXJOb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckNvdW50ZXI6OnJlbmRl
cmVyU3VidHJlZUF0dGFjaGVkKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OnNob3VsZEFwcGx5U3R5bGVDb250YWlubWVudCk6CisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdHls
ZS9SZW5kZXJTdHlsZS5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OmNvbnRhaW5z
U3R5bGUgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0
YW50cy5oOgorICAgICAgICAqIHN0eWxlL1N0eWxlQnVpbGRlckN1c3RvbS5oOgorICAgICAgICAo
V2ViQ29yZTo6U3R5bGU6OkJ1aWxkZXJDdXN0b206OmFwcGx5VmFsdWVDb250YWluKToKKwogMjAy
MS0wNi0wNSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIEZpeCBy
ZXBlYXRlZCBjYWxsIHRvIFN0cmluZzo6dXRmOCgpIGluIFNRTGl0ZUZpbGVTeXN0ZW06OmNvbXB1
dGVIYXNoRm9yRmlsZU5hbWUoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0Nv
bXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0
ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAppbmRleCBhNTBlZGZlMmNlY2MyZmU5OTQ1MDFhNzAzN2I2
ZDAyYTZlMjczZmU0Li5jOWM0OWY3Mjk1NzY5YWQ2MmVlYWNjN2I1MGYzMWVkZDM2MWM0MzViIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9u
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9u
LmNwcApAQCAtMzQ4OCw2ICszNDg4LDggQEAgUmVmUHRyPENTU1ZhbHVlPiBDb21wdXRlZFN0eWxl
RXh0cmFjdG9yOjp2YWx1ZUZvclByb3BlcnR5SW5TdHlsZShjb25zdCBSZW5kZXJTdHkKICAgICAg
ICAgICAgICAgICBsaXN0LT5hcHBlbmQoY3NzVmFsdWVQb29sLmNyZWF0ZUlkZW50aWZpZXJWYWx1
ZShDU1NWYWx1ZVNpemUpKTsKICAgICAgICAgICAgIGlmIChjb250YWlubWVudCAmIENvbnRhaW5t
ZW50OjpMYXlvdXQpCiAgICAgICAgICAgICAgICAgbGlzdC0+YXBwZW5kKGNzc1ZhbHVlUG9vbC5j
cmVhdGVJZGVudGlmaWVyVmFsdWUoQ1NTVmFsdWVMYXlvdXQpKTsKKyAgICAgICAgICAgIGlmIChj
b250YWlubWVudCAmIENvbnRhaW5tZW50OjpTdHlsZSkKKyAgICAgICAgICAgICAgICBsaXN0LT5h
cHBlbmQoY3NzVmFsdWVQb29sLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1ZVN0eWxlKSk7
CiAgICAgICAgICAgICBpZiAoY29udGFpbm1lbnQgJiBDb250YWlubWVudDo6UGFpbnQpCiAgICAg
ICAgICAgICAgICAgbGlzdC0+YXBwZW5kKGNzc1ZhbHVlUG9vbC5jcmVhdGVJZGVudGlmaWVyVmFs
dWUoQ1NTVmFsdWVQYWludCkpOwogICAgICAgICAgICAgcmV0dXJuIGxpc3Q7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwCmluZGV4IGQ3NGY5NGUx
MDU2MmFhODQ1YWFmNzc5N2U2NmEzZGMyOTA3Y2FkNmMuLjM0NjllMTM5ZmE1NTE4OTYxZTUxYmZh
NjljMzZkNWY3YzM2OTc2YjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIv
Q1NTUHJvcGVydHlQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NT
UHJvcGVydHlQYXJzZXIuY3BwCkBAIC0zODUwLDcgKzM4NTAsNyBAQCBzdGF0aWMgUmVmUHRyPENT
U1ZhbHVlPiBjb25zdW1lQ29udGFpbihDU1NQYXJzZXJUb2tlblJhbmdlJiByYW5nZSkKICAgICBp
ZiAoYXV0byBzaW5nbGVWYWx1ZSA9IGNvbnN1bWVJZGVudDxDU1NWYWx1ZU5vbmUsIENTU1ZhbHVl
U3RyaWN0LCBDU1NWYWx1ZUNvbnRlbnQ+KHJhbmdlKSkKICAgICAgICAgcmV0dXJuIHNpbmdsZVZh
bHVlOwogICAgIGF1dG8gbGlzdCA9IENTU1ZhbHVlTGlzdDo6Y3JlYXRlU3BhY2VTZXBhcmF0ZWQo
KTsKLSAgICBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IHNpemUsIGxheW91dCwgcGFpbnQ7Cisg
ICAgUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBzaXplLCBsYXlvdXQsIHBhaW50LCBzdHlsZTsK
ICAgICB3aGlsZSAoIXJhbmdlLmF0RW5kKCkpIHsKICAgICAgICAgc3dpdGNoIChyYW5nZS5wZWVr
KCkuaWQoKSkgewogICAgICAgICBjYXNlIENTU1ZhbHVlU2l6ZToKQEAgLTM4NjgsNiArMzg2OCwx
MSBAQCBzdGF0aWMgUmVmUHRyPENTU1ZhbHVlPiBjb25zdW1lQ29udGFpbihDU1NQYXJzZXJUb2tl
blJhbmdlJiByYW5nZSkKICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICAgICAg
ICAgIHBhaW50ID0gY29uc3VtZUlkZW50KHJhbmdlKTsKICAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICBjYXNlIENTU1ZhbHVlU3R5bGU6CisgICAgICAgICAgICBpZiAoc3R5bGUpCisgICAgICAg
ICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgICAgICBzdHlsZSA9IGNvbnN1bWVJZGVu
dChyYW5nZSk7CisgICAgICAgICAgICBicmVhazsKICAgICAgICAgZGVmYXVsdDoKICAgICAgICAg
ICAgIHJldHVybiBudWxscHRyOwogICAgICAgICB9CkBAIC0zODc2LDYgKzM4ODEsOCBAQCBzdGF0
aWMgUmVmUHRyPENTU1ZhbHVlPiBjb25zdW1lQ29udGFpbihDU1NQYXJzZXJUb2tlblJhbmdlJiBy
YW5nZSkKICAgICAgICAgbGlzdC0+YXBwZW5kKHNpemUucmVsZWFzZU5vbk51bGwoKSk7CiAgICAg
aWYgKGxheW91dCkKICAgICAgICAgbGlzdC0+YXBwZW5kKGxheW91dC5yZWxlYXNlTm9uTnVsbCgp
KTsKKyAgICBpZiAoc3R5bGUpCisgICAgICAgIGxpc3QtPmFwcGVuZChzdHlsZS5yZWxlYXNlTm9u
TnVsbCgpKTsKICAgICBpZiAocGFpbnQpCiAgICAgICAgIGxpc3QtPmFwcGVuZChwYWludC5yZWxl
YXNlTm9uTnVsbCgpKTsKICAgICBpZiAoIWxpc3QtPmxlbmd0aCgpKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckNvdW50ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckNvdW50ZXIuY3BwCmluZGV4IDYzMWZjMWQ0NWU0MTU4ZTg5MDEzYjAy
MzQ4MjU2NTZjMjQxYWNiNjIuLmZkYzdkMTE0ODRmZmEzNTM5MDIwZDE5ODY3NDI4ZDEzMGEyYmIy
YTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJDb3VudGVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQ291bnRlci5jcHAKQEAgLTU3
LDE1ICs1NywzOSBAQCBzdGF0aWMgQ291bnRlck1hcHMmIGNvdW50ZXJNYXBzKCkKICAgICByZXR1
cm4gc3RhdGljQ291bnRlck1hcHM7CiB9CiAKK3N0YXRpYyBFbGVtZW50KiBhbmNlc3RvclN0eWxl
Q29udGFpbm1lbnRPYmplY3QoY29uc3QgRWxlbWVudCYgZWxlbWVudCkKK3sKKyAgICBFbGVtZW50
KiBhbmNlc3RvciA9IGlzPFBzZXVkb0VsZW1lbnQ+KGVsZW1lbnQpID8gZG93bmNhc3Q8UHNldWRv
RWxlbWVudD4oZWxlbWVudCkuaG9zdEVsZW1lbnQoKSA6IGVsZW1lbnQucGFyZW50RWxlbWVudCgp
OworICAgIHdoaWxlIChhbmNlc3RvcikgeworICAgICAgICBpZiAoYXV0byogc3R5bGUgPSBhbmNl
c3Rvci0+ZXhpc3RpbmdDb21wdXRlZFN0eWxlKCkpIHsKKyAgICAgICAgICAgIGlmIChzdHlsZS0+
Y29udGFpbnNTdHlsZSgpKQorICAgICAgICAgICAgICAgIHJldHVybiBhbmNlc3RvcjsKKyAgICAg
ICAgfQorICAgICAgICBhbmNlc3RvciA9IGFuY2VzdG9yLT5wYXJlbnRFbGVtZW50KCk7CisgICAg
fQorICAgIHJldHVybiBudWxscHRyOworfQorCiAvLyBUaGlzIGZ1bmN0aW9uIHByb2Nlc3NlcyB0
aGUgcmVuZGVyZXIgdHJlZSBpbiB0aGUgb3JkZXIgb2YgdGhlIERPTSB0cmVlCiAvLyBpbmNsdWRp
bmcgcHNldWRvIGVsZW1lbnRzIGFzIGRlZmluZWQgaW4gQ1NTIDIuMS4KIHN0YXRpYyBSZW5kZXJF
bGVtZW50KiBwcmV2aW91c0luUHJlT3JkZXIoY29uc3QgUmVuZGVyRWxlbWVudCYgcmVuZGVyZXIp
CiB7CiAgICAgQVNTRVJUKHJlbmRlcmVyLmVsZW1lbnQoKSk7CiAgICAgRWxlbWVudCogcHJldmlv
dXMgPSBFbGVtZW50VHJhdmVyc2FsOjpwcmV2aW91c0luY2x1ZGluZ1BzZXVkbygqcmVuZGVyZXIu
ZWxlbWVudCgpKTsKLSAgICB3aGlsZSAocHJldmlvdXMgJiYgIXByZXZpb3VzLT5yZW5kZXJlcigp
KQotICAgICAgICBwcmV2aW91cyA9IEVsZW1lbnRUcmF2ZXJzYWw6OnByZXZpb3VzSW5jbHVkaW5n
UHNldWRvKCpwcmV2aW91cyk7Ci0gICAgcmV0dXJuIHByZXZpb3VzID8gcHJldmlvdXMtPnJlbmRl
cmVyKCkgOiAwOworICAgIEVsZW1lbnQqIHN0eWxlQ29udGFpbkFuY2VzdG9yID0gYW5jZXN0b3JT
dHlsZUNvbnRhaW5tZW50T2JqZWN0KCpyZW5kZXJlci5lbGVtZW50KCkpOworCisgICAgd2hpbGUg
KHRydWUpIHsKKyAgICAgICAgd2hpbGUgKHByZXZpb3VzICYmICFwcmV2aW91cy0+cmVuZGVyZXIo
KSkKKyAgICAgICAgICAgIHByZXZpb3VzID0gRWxlbWVudFRyYXZlcnNhbDo6cHJldmlvdXNJbmNs
dWRpbmdQc2V1ZG8oKnByZXZpb3VzKTsKKyAgICAgICAgaWYgKCFwcmV2aW91cykKKyAgICAgICAg
ICAgIHJldHVybiBudWxscHRyOworICAgICAgICBFbGVtZW50KiBwcmV2aW91c1N0eWxlQ29udGFp
bkFuY2VzdG9yID0gYW5jZXN0b3JTdHlsZUNvbnRhaW5tZW50T2JqZWN0KCpwcmV2aW91cyk7Cisg
ICAgICAgIGlmIChwcmV2aW91c1N0eWxlQ29udGFpbkFuY2VzdG9yID09IHN0eWxlQ29udGFpbkFu
Y2VzdG9yKQorICAgICAgICAgICAgcmV0dXJuIHByZXZpb3VzLT5yZW5kZXJlcigpOworICAgICAg
ICBpZiAoIXByZXZpb3VzU3R5bGVDb250YWluQW5jZXN0b3IpCisgICAgICAgICAgICByZXR1cm4g
bnVsbHB0cjsKKyAgICAgICAgcHJldmlvdXMgPSBwcmV2aW91c1N0eWxlQ29udGFpbkFuY2VzdG9y
OworICAgIH0KIH0KIAogc3RhdGljIGlubGluZSBFbGVtZW50KiBwYXJlbnRPclBzZXVkb0hvc3RF
bGVtZW50KGNvbnN0IFJlbmRlckVsZW1lbnQmIHJlbmRlcmVyKQpAQCAtOTIsMTAgKzExNiwxMSBA
QCBzdGF0aWMgRWxlbWVudCogcHJldmlvdXNTaWJsaW5nT3JQYXJlbnRFbGVtZW50KGNvbnN0IEVs
ZW1lbnQmIGVsZW1lbnQpCiAgICAgICAgICAgICByZXR1cm4gaG9zdEVsZW1lbnQ7CiAgICAgICAg
IHJldHVybiBwcmV2aW91c1NpYmxpbmdPclBhcmVudEVsZW1lbnQoKmhvc3RFbGVtZW50KTsKICAg
ICB9Ci0gICAgCiAgICAgYXV0byogcGFyZW50ID0gZWxlbWVudC5wYXJlbnRFbGVtZW50KCk7CiAg
ICAgaWYgKHBhcmVudCAmJiAhcGFyZW50LT5yZW5kZXJlcigpKQogICAgICAgICBwYXJlbnQgPSBw
cmV2aW91c1NpYmxpbmdPclBhcmVudEVsZW1lbnQoKnBhcmVudCk7CisgICAgaWYgKHBhcmVudCAm
JiBwYXJlbnQtPnJlbmRlcmVyKCkgJiYgcGFyZW50LT5yZW5kZXJlcigpLT5zdHlsZSgpLmNvbnRh
aW5zU3R5bGUoKSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgcmV0dXJuIHBhcmVudDsK
IH0KIApAQCAtMjIzLDYgKzI0OCw3IEBAIHN0YXRpYyBDb3VudGVySW5zZXJ0aW9uUG9pbnQgZmlu
ZFBsYWNlRm9yQ291bnRlcihSZW5kZXJFbGVtZW50JiBjb3VudGVyT3duZXIsIGNvCiAgICAgLy8g
dG93YXJkcyB0aGUgYmVnaW5pbmcgb2YgdGhlIGRvY3VtZW50IGZvciBjb3VudGVycyB3aXRoIHRo
ZSBzYW1lIGlkZW50aWZpZXIgYXMgdGhlIG9uZQogICAgIC8vIHdlIGFyZSB0cnlpbmcgdG8gZmlu
ZCBhIHBsYWNlIGZvci4gVGhpcyBpcyB0aGUgbmV4dCByZW5kZXJlciB0byBiZSBjaGVja2VkLgog
ICAgIFJlbmRlckVsZW1lbnQqIGN1cnJlbnRSZW5kZXJlciA9IHByZXZpb3VzSW5QcmVPcmRlcihj
b3VudGVyT3duZXIpOworCiAgICAgUmVmUHRyPENvdW50ZXJOb2RlPiBwcmV2aW91c1NpYmxpbmc7
CiAKICAgICB3aGlsZSAoY3VycmVudFJlbmRlcmVyKSB7CkBAIC0zMzUsNyArMzYxLDcgQEAgc3Rh
dGljIENvdW50ZXJOb2RlKiBtYWtlQ291bnRlck5vZGUoUmVuZGVyRWxlbWVudCYgcmVuZGVyZXIs
IGNvbnN0IEF0b21TdHJpbmcmIGkKICAgICBtYXBzLmFkZCgmcmVuZGVyZXIsIG1ha2VVbmlxdWU8
Q291bnRlck1hcD4oKSkuaXRlcmF0b3ItPnZhbHVlLT5hZGQoaWRlbnRpZmllciwgbmV3Tm9kZS5j
b3B5UmVmKCkpOwogICAgIHJlbmRlcmVyLnNldEhhc0NvdW50ZXJOb2RlTWFwKHRydWUpOwogCi0g
ICAgaWYgKG5ld05vZGUtPnBhcmVudCgpKQorICAgIGlmIChuZXdOb2RlLT5wYXJlbnQoKSB8fCBz
aG91bGRBcHBseVN0eWxlQ29udGFpbm1lbnQocmVuZGVyZXIpKQogICAgICAgICByZXR1cm4gbmV3
Tm9kZS5wdHIoKTsKIAogICAgIC8vIENoZWNrIGlmIHNvbWUgbm9kZXMgdGhhdCB3ZXJlIHByZXZp
b3VzbHkgcm9vdCBub2RlcyBzaG91bGQgYmVjb21lIGNoaWxkcmVuIG9mIHRoaXMgbm9kZSBub3cu
CkBAIC0zNDMsNyArMzY5LDcgQEAgc3RhdGljIENvdW50ZXJOb2RlKiBtYWtlQ291bnRlck5vZGUo
UmVuZGVyRWxlbWVudCYgcmVuZGVyZXIsIGNvbnN0IEF0b21TdHJpbmcmIGkKICAgICBhdXRvKiBz
dGF5V2l0aGluID0gcGFyZW50T3JQc2V1ZG9Ib3N0RWxlbWVudChyZW5kZXJlcik7CiAgICAgYm9v
bCBza2lwRGVzY2VuZGFudHMgPSBmYWxzZTsKICAgICB3aGlsZSAoKGN1cnJlbnRSZW5kZXJlciA9
IG5leHRJblByZU9yZGVyKCpjdXJyZW50UmVuZGVyZXIsIHN0YXlXaXRoaW4sIHNraXBEZXNjZW5k
YW50cykpKSB7Ci0gICAgICAgIHNraXBEZXNjZW5kYW50cyA9IGZhbHNlOworICAgICAgICBza2lw
RGVzY2VuZGFudHMgPSBzaG91bGRBcHBseVN0eWxlQ29udGFpbm1lbnQoKmN1cnJlbnRSZW5kZXJl
cik7CiAgICAgICAgIGlmICghY3VycmVudFJlbmRlcmVyLT5oYXNDb3VudGVyTm9kZU1hcCgpKQog
ICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIGF1dG8qIGN1cnJlbnRDb3VudGVyID0gbWFw
cy5maW5kKGN1cnJlbnRSZW5kZXJlciktPnZhbHVlLT5nZXQoaWRlbnRpZmllcik7CkBAIC01NDks
OCArNTc1LDEwIEBAIHZvaWQgUmVuZGVyQ291bnRlcjo6cmVuZGVyZXJTdWJ0cmVlQXR0YWNoZWQo
UmVuZGVyRWxlbWVudCYgcmVuZGVyZXIpCiAgICAgICAgIGVsZW1lbnQgPSByZW5kZXJlci5nZW5l
cmF0aW5nRWxlbWVudCgpOwogICAgIGlmIChlbGVtZW50ICYmICFlbGVtZW50LT5yZW5kZXJlcigp
KQogICAgICAgICByZXR1cm47IC8vIE5vIG5lZWQgdG8gdXBkYXRlIGlmIHRoZSBwYXJlbnQgaXMg
bm90IGF0dGFjaGVkIHlldAorICAgIGJvb2wgY3Jvc3NlZEJvdW5kYXJ5ID0gZmFsc2U7CiAgICAg
Zm9yIChSZW5kZXJPYmplY3QqIGRlc2NlbmRhbnQgPSAmcmVuZGVyZXI7IGRlc2NlbmRhbnQ7IGRl
c2NlbmRhbnQgPSBkZXNjZW5kYW50LT5uZXh0SW5QcmVPcmRlcigmcmVuZGVyZXIpKSB7Ci0gICAg
ICAgIGlmIChpczxSZW5kZXJFbGVtZW50PigqZGVzY2VuZGFudCkpCisgICAgICAgIGNyb3NzZWRC
b3VuZGFyeSB8PSBzaG91bGRBcHBseVN0eWxlQ29udGFpbm1lbnQoKmRlc2NlbmRhbnQpOworICAg
ICAgICBpZiAoY3Jvc3NlZEJvdW5kYXJ5ICYmIGlzPFJlbmRlckVsZW1lbnQ+KCpkZXNjZW5kYW50
KSkKICAgICAgICAgICAgIHVwZGF0ZUNvdW50ZXJzKGRvd25jYXN0PFJlbmRlckVsZW1lbnQ+KCpk
ZXNjZW5kYW50KSk7CiAgICAgfQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlck9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2Jq
ZWN0LmNwcAppbmRleCAwZGNmYmNmNjAxZDM3OGUyODZjODE4MmM0ZmRjODZhMDJkYTM5OTAwLi5i
YjMxNjFiMTExZGE0NDI4NTljZWM0ZTgyNzBkYTJlZDJjYzJlNGUwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcApAQCAtMjUxNCwzICsyNTE0LDggQEAgYm9vbCBX
ZWJDb3JlOjpzaG91bGRBcHBseVNpemVDb250YWlubWVudChjb25zdCBXZWJDb3JlOjpSZW5kZXJP
YmplY3QmIHJlbmRlcmVyKQogewogICAgIHJldHVybiByZW5kZXJlci5zdHlsZSgpLmNvbnRhaW5z
U2l6ZSgpICYmICghcmVuZGVyZXIuaXNJbmxpbmUoKSB8fCByZW5kZXJlci5pc0F0b21pY0lubGlu
ZUxldmVsQm94KCkpICYmICFyZW5kZXJlci5pc1J1YnlUZXh0KCkgJiYgKCFyZW5kZXJlci5pc1Rh
YmxlUGFydCgpIHx8IHJlbmRlcmVyLmlzVGFibGVDYXB0aW9uKCkpICYmICFyZW5kZXJlci5pc1Rh
YmxlKCk7CiB9CisKK2Jvb2wgV2ViQ29yZTo6c2hvdWxkQXBwbHlTdHlsZUNvbnRhaW5tZW50KGNv
bnN0IFdlYkNvcmU6OlJlbmRlck9iamVjdCYgcmVuZGVyZXIpCit7CisgICAgcmV0dXJuIHJlbmRl
cmVyLnN0eWxlKCkuY29udGFpbnNTdHlsZSgpICYmICghcmVuZGVyZXIuaXNJbmxpbmUoKSB8fCBy
ZW5kZXJlci5pc0F0b21pY0lubGluZUxldmVsQm94KCkpICYmICFyZW5kZXJlci5pc1J1YnlUZXh0
KCkgJiYgKCFyZW5kZXJlci5pc1RhYmxlUGFydCgpIHx8IHJlbmRlcmVyLmlzVGFibGVDYXB0aW9u
KCkpICYmICFyZW5kZXJlci5pc1RhYmxlKCk7Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyT2JqZWN0LmgKaW5kZXggZjIwZjc1OTVkNWUwNGM1YjMyNWQ0N2E4ZGUwNTZjYzlmMTg0M2Mw
Ny4uOGY0MzFlOWE2ZjdmZDI3MDRmMWI4NGY2ZmVmZmQ2NDU4ZjMyYzJmYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaApAQCAtMTE5Nyw2ICsxMTk3LDcgQEAgdm9pZCBw
cmludEdyYXBoaWNzTGF5ZXJUcmVlRm9yTGl2ZURvY3VtZW50cygpOwogCiBib29sIHNob3VsZEFw
cGx5TGF5b3V0Q29udGFpbm1lbnQoY29uc3QgUmVuZGVyT2JqZWN0Jik7CiBib29sIHNob3VsZEFw
cGx5U2l6ZUNvbnRhaW5tZW50KGNvbnN0IFJlbmRlck9iamVjdCYpOworYm9vbCBzaG91bGRBcHBs
eVN0eWxlQ29udGFpbm1lbnQoY29uc3QgUmVuZGVyT2JqZWN0Jik7CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1Jl
bmRlclN0eWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUu
aAppbmRleCA5M2Q5NTcxZTZkZTU1NTdhNzZjZDA0OTVkNDI1NTkwYjZhMGZlYTcxLi5kODM3MTVh
MDFiODc1ZDUwZTA2NDM2MTdlZjg0MzE1OWM0Y2YzZWVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaApAQCAtNTI4LDYgKzUyOCw3IEBAIHB1YmxpYzoK
ICAgICBPcHRpb25TZXQ8Q29udGFpbm1lbnQ+IGNvbnRhaW4oKSBjb25zdCB7IHJldHVybiBtX3Jh
cmVOb25Jbmhlcml0ZWREYXRhLT5jb250YWluOyB9CiAgICAgYm9vbCBjb250YWluc0xheW91dCgp
IGNvbnN0IHsgcmV0dXJuIG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmNvbnRhaW4uY29udGFpbnMo
Q29udGFpbm1lbnQ6OkxheW91dCk7IH0KICAgICBib29sIGNvbnRhaW5zU2l6ZSgpIGNvbnN0IHsg
cmV0dXJuIG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmNvbnRhaW4uY29udGFpbnMoQ29udGFpbm1l
bnQ6OlNpemUpOyB9CisgICAgYm9vbCBjb250YWluc1N0eWxlKCkgY29uc3QgeyByZXR1cm4gbV9y
YXJlTm9uSW5oZXJpdGVkRGF0YS0+Y29udGFpbi5jb250YWlucyhDb250YWlubWVudDo6U3R5bGUp
OyB9CiAgICAgQm94QWxpZ25tZW50IGJveEFsaWduKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nh
c3Q8Qm94QWxpZ25tZW50PihtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5kZXByZWNhdGVkRmxleGli
bGVCb3gtPmFsaWduKTsgfQogICAgIEJveERpcmVjdGlvbiBib3hEaXJlY3Rpb24oKSBjb25zdCB7
IHJldHVybiBzdGF0aWNfY2FzdDxCb3hEaXJlY3Rpb24+KG1faW5oZXJpdGVkRmxhZ3MuYm94RGly
ZWN0aW9uKTsgfQogICAgIGZsb2F0IGJveEZsZXgoKSBjb25zdCB7IHJldHVybiBtX3JhcmVOb25J
bmhlcml0ZWREYXRhLT5kZXByZWNhdGVkRmxleGlibGVCb3gtPmZsZXg7IH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmgKaW5k
ZXggNDk5MDRhNmYyMWVlNmQyNjFiODkyOWM2NzNjYjQ0MWMyYzk3NDc4NS4uYjUyZTliYzM5MTFj
ZDZmNWUwZGRkOWNjODgwZmE3YzZiNmQ0NTdlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmgKQEAgLTEyMjMsNiArMTIy
Myw3IEBAIGVudW0gY2xhc3MgQ29udGFpbm1lbnQgOiB1aW50OF90IHsKICAgICBMYXlvdXQgICA9
IDEgPDwgMCwKICAgICBQYWludCAgICA9IDEgPDwgMSwKICAgICBTaXplICAgICA9IDEgPDwgMiwK
KyAgICBTdHlsZSAgICA9IDEgPDwgMywKIH07CiAKIGV4dGVybiBjb25zdCBmbG9hdCBkZWZhdWx0
TWl0ZXJMaW1pdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQnVpbGRl
ckN1c3RvbS5oIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVCdWlsZGVyQ3VzdG9tLmgKaW5k
ZXggZjZlNmY3YTgyNzA3OWQ2NGY3M2U4MTYwNmMxYzY3ZDgzNjRmOWRmMC4uNWQ2Y2NhNjdjZDRh
ODYyYTk5NGM0MjAzNjk4NTkzODY0YWFhNjIyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
c3R5bGUvU3R5bGVCdWlsZGVyQ3VzdG9tLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5
bGVCdWlsZGVyQ3VzdG9tLmgKQEAgLTEyNzcsNiArMTI3Nyw5IEBAIGlubGluZSB2b2lkIEJ1aWxk
ZXJDdXN0b206OmFwcGx5VmFsdWVDb250YWluKEJ1aWxkZXJTdGF0ZSYgYnVpbGRlclN0YXRlLCBD
U1NWYWx1CiAgICAgICAgIGNhc2UgQ1NTVmFsdWVQYWludDoKICAgICAgICAgICAgIGNvbnRhaW5t
ZW50LmFkZChDb250YWlubWVudDo6UGFpbnQpOwogICAgICAgICAgICAgYnJlYWs7CisgICAgICAg
IGNhc2UgQ1NTVmFsdWVTdHlsZToKKyAgICAgICAgICAgIGNvbnRhaW5tZW50LmFkZChDb250YWlu
bWVudDo6U3R5bGUpOworICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGRlZmF1bHQ6CiAgICAg
ICAgICAgICBicmVhazsKICAgICAgICAgfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA5MzE5ZWQ2MGUyMWQxNzViZWI5ZTdh
Njk5MGEzNGRiZGQwODhhNjFhLi41NmFjYWQ0NGZlMzc5OTFjZGRjOWQ0MDEyYzQ2ZTg3YmRhYTEy
MTkzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjEtMDYtMDcgIFJvYiBCdWlzICA8cmJ1aXNA
aWdhbGlhLmNvbT4KKworICAgICAgICBbY3NzLWNvbnRhaW5dIFN1cHBvcnQgY29udGFpbjpzdHls
ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI2NDU4
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVW5za2lw
IHRlc3RzIHRoYXQgbm93IHBhc3MuCisKKyAgICAgICAgKiBUZXN0RXhwZWN0YXRpb25zOgorCiAy
MDIxLTA2LTA1ICBDYW1lcm9uIE1jQ29ybWFjayAgPGhleWNhbUBhcHBsZS5jb20+CiAKICAgICAg
ICAgRGlmZiBhc3BlY3QtcmF0aW8gcHJvcGVydHkgdmFsdWVzIGNvcnJlY3RseQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggOWU3ODQ5ZjgxMWM3ZDRiMDlkODBmNDk1OTcxMzQxODIz
MWZmNWU5YS4uZmQyY2ExOTAyOWJiZDJjZjg2YzY2MDRkYjZhOWM1OWIyOTM0ZTA0YiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjEtMDYtMDcgIFJv
YiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KKworICAgICAgICBbY3NzLWNvbnRhaW5dIFN1cHBv
cnQgY29udGFpbjpzdHlsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjI2NDU4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlz
aWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDI2LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL3BhcnNpbmcvY29udGFpbi1jb21wdXRl
ZC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9wYXJzaW5nL2NvbnRhaW4tdmFsaWQtZXhwZWN0ZWQudHh0OgorCiAyMDIxLTA2LTA0ICBD
aHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgV29ya2VyLmNvbnN0cnVj
dG9yIHRocm93cyBhbiBleGNlcHRpb24gd2hlbiB0aGUgdXJsIHBhcmFtIGlzIGFuIGVtcHR5IHN0
cmluZwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRl
c3RzL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggZmY3Y2Y4ZjdjYjg5NjdkODk4ZWE3MDZmYmYzYzAz
MTlhMjhhNTk1Ny4uODQzY2JiNDA5NWU0MTVjODAxOTM2ZWFjNDdjNzAyODllNTY4YTM1ZiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9U
ZXN0RXhwZWN0YXRpb25zCkBAIC00Njc2LDEwICs0Njc2LDYgQEAgaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC10YWJsZS0wMDIuaHRt
bCBbIEkKIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRhaW4tc3RyaWN0LTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXN0cmljdC0wMDIuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGFpbi1zdHJpY3QtMDExLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJl
IF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRh
aW4tc3R5bGUtY291bnRlcnMtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc3R5bGUtY291
bnRlcnMtMDAyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc3R5bGUtY291bnRlcnMtMDAzLmh0
bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc3R5bGUtY291bnRlcnMtMDA0Lmh0bWwgWyBJbWFnZU9u
bHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDMyLmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDMzLnN1Yi5odHRw
cy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5
LTAzNC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZp
c2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAyNi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50
LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAyNi1leHBlY3RlZC50eHQKaW5kZXggMDEx
NTZkZDg4YjEyMjY3MTVhZTVhMTk2YWFiYTQxNmQ4MTdkMDYyYS4uNjVlMTUzMDg0OTZhOTJmMjcx
Mjc1MTY4MWZlNjg5ZWE2ZmYzMDY1NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5
L2NvbnRlbnQtdmlzaWJpbGl0eS0wMjYtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlz
aWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDI2LWV4cGVjdGVkLnR4dApAQCAtMSw2ICsxLDYg
QEAKIAogRkFJTCBjb250ZW50LXZpc2liaWxpdHk6IGhpZGRlbiBhZGRzIGNvbnRhaW46IHNpemUg
bGF5b3V0IHN0eWxlOyBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAic2l6ZSBsYXlvdXQgc3R5bGUg
cGFpbnQiIGJ1dCBnb3QgIm5vbmUiCiBGQUlMIGNvbnRlbnQtdmlzaWJpbGl0eTogYXV0byBhZGRz
IGNvbnRhaW46IHNpemUgbGF5b3V0IHN0eWxlIHBhaW50OyBhc3NlcnRfZXF1YWxzOiBpbml0aWFs
IG9uc2NyZWVuIGV4cGVjdGVkICJzaXplIGxheW91dCBzdHlsZSBwYWludCIgYnV0IGdvdCAibm9u
ZSIKLUZBSUwgY29udGVudC12aXNpYmlsaXR5OiBhdXRvIGFkZHMgY29udGFpbjogc2l6ZSBsYXlv
dXQgc3R5bGUgcGFpbnQsIGNhbid0IGJlIG92ZXJyaWRkZW4gYXNzZXJ0X2VxdWFsczogZXhwZWN0
ZWQgInNpemUgbGF5b3V0IHN0eWxlIHBhaW50IiBidXQgZ290ICJub25lIgorRkFJTCBjb250ZW50
LXZpc2liaWxpdHk6IGF1dG8gYWRkcyBjb250YWluOiBzaXplIGxheW91dCBzdHlsZSBwYWludCwg
Y2FuJ3QgYmUgb3ZlcnJpZGRlbiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAic2l6ZSBsYXlvdXQg
c3R5bGUgcGFpbnQiIGJ1dCBnb3QgInN0eWxlIgogRkFJTCBjb250ZW50LXZpc2liaWxpdHkga2Vl
cHMgYWxsIGNvbnRhaW5tZW50IGV2ZW4gd2hlbiBzaG9ydGhhbmRzIGFyZSBzcGVjaWZpZWQgYXNz
ZXJ0X2VxdWFsczogZXhwZWN0ZWQgInNpemUgbGF5b3V0IHN0eWxlIHBhaW50IiBidXQgZ290ICJw
YWludCIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vcGFyc2luZy9jb250YWluLWNvbXB1dGVkLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL3BhcnNpbmcvY29udGFpbi1jb21wdXRlZC1leHBlY3RlZC50eHQKaW5kZXggNGEx
YTBlNjYzNWZmOGRiN2MwYzU5NTUyMzkyMjExOTBlYjdjZGE2Zi4uNWJmYzllNDVlM2M1ZmUxYjE0
Nzg5NGJlYjFkYzU5YjNmMjcxNjI1YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vcGFyc2luZy9jb250YWluLWNv
bXB1dGVkLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9wYXJzaW5nL2NvbnRhaW4tY29tcHV0ZWQtZXhw
ZWN0ZWQudHh0CkBAIC00LDEyICs0LDEyIEBAIFBBU1MgUHJvcGVydHkgY29udGFpbiB2YWx1ZSAn
c3RyaWN0JwogUEFTUyBQcm9wZXJ0eSBjb250YWluIHZhbHVlICdjb250ZW50JwogUEFTUyBQcm9w
ZXJ0eSBjb250YWluIHZhbHVlICdzaXplJwogUEFTUyBQcm9wZXJ0eSBjb250YWluIHZhbHVlICds
YXlvdXQnCi1GQUlMIFByb3BlcnR5IGNvbnRhaW4gdmFsdWUgJ3N0eWxlJyBhc3NlcnRfdHJ1ZTog
J3N0eWxlJyBpcyBhIHN1cHBvcnRlZCB2YWx1ZSBmb3IgY29udGFpbi4gZXhwZWN0ZWQgdHJ1ZSBn
b3QgZmFsc2UKK1BBU1MgUHJvcGVydHkgY29udGFpbiB2YWx1ZSAnc3R5bGUnCiBQQVNTIFByb3Bl
cnR5IGNvbnRhaW4gdmFsdWUgJ3BhaW50JwogUEFTUyBQcm9wZXJ0eSBjb250YWluIHZhbHVlICdz
aXplIGxheW91dCcKLUZBSUwgUHJvcGVydHkgY29udGFpbiB2YWx1ZSAnc3R5bGUgcGFpbnQnIGFz
c2VydF90cnVlOiAnc3R5bGUgcGFpbnQnIGlzIGEgc3VwcG9ydGVkIHZhbHVlIGZvciBjb250YWlu
LiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBQcm9wZXJ0eSBjb250YWluIHZhbHVlICds
YXlvdXQgc3R5bGUgcGFpbnQnIGFzc2VydF90cnVlOiAnbGF5b3V0IHN0eWxlIHBhaW50JyBpcyBh
IHN1cHBvcnRlZCB2YWx1ZSBmb3IgY29udGFpbi4gZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZB
SUwgUHJvcGVydHkgY29udGFpbiB2YWx1ZSAnc2l6ZSBsYXlvdXQgc3R5bGUgcGFpbnQnIGFzc2Vy
dF90cnVlOiAnc2l6ZSBsYXlvdXQgc3R5bGUgcGFpbnQnIGlzIGEgc3VwcG9ydGVkIHZhbHVlIGZv
ciBjb250YWluLiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorUEFTUyBQcm9wZXJ0eSBjb250YWlu
IHZhbHVlICdzdHlsZSBwYWludCcKK1BBU1MgUHJvcGVydHkgY29udGFpbiB2YWx1ZSAnbGF5b3V0
IHN0eWxlIHBhaW50JworUEFTUyBQcm9wZXJ0eSBjb250YWluIHZhbHVlICdzaXplIGxheW91dCBz
dHlsZSBwYWludCcKIFBBU1MgUHJvcGVydHkgY29udGFpbiB2YWx1ZSAnc2l6ZSBsYXlvdXQgcGFp
bnQnCiBQQVNTIFByb3BlcnR5IGNvbnRhaW4gdmFsdWUgJ2xheW91dCBwYWludCcKIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vcGFyc2luZy9jb250YWluLXZhbGlkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL3BhcnNpbmcv
Y29udGFpbi12YWxpZC1leHBlY3RlZC50eHQKaW5kZXggZTUxNTUwZTE0MDVlYTRlMTg3NDk1NDFh
Yjg1MDI3Nzc3MjY0ZGQzNy4uODVmY2ZlMTczOTdiMjk2NmEwOTZhZWE2ODM4OGQzYzdmMTc1M2Fm
NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vcGFyc2luZy9jb250YWluLXZhbGlkLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9wYXJzaW5nL2NvbnRhaW4tdmFsaWQtZXhwZWN0ZWQudHh0CkBAIC00LDEwICs0LDEwIEBA
IFBBU1MgZS5zdHlsZVsnY29udGFpbiddID0gInN0cmljdCIgc2hvdWxkIHNldCB0aGUgcHJvcGVy
dHkgdmFsdWUKIFBBU1MgZS5zdHlsZVsnY29udGFpbiddID0gImNvbnRlbnQiIHNob3VsZCBzZXQg
dGhlIHByb3BlcnR5IHZhbHVlCiBQQVNTIGUuc3R5bGVbJ2NvbnRhaW4nXSA9ICJzaXplIiBzaG91
bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZQogUEFTUyBlLnN0eWxlWydjb250YWluJ10gPSAibGF5
b3V0IiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZQotRkFJTCBlLnN0eWxlWydjb250YWlu
J10gPSAic3R5bGUiIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlIGFzc2VydF9ub3RfZXF1
YWxzOiBwcm9wZXJ0eSBzaG91bGQgYmUgc2V0IGdvdCBkaXNhbGxvd2VkIHZhbHVlICIiCitQQVNT
IGUuc3R5bGVbJ2NvbnRhaW4nXSA9ICJzdHlsZSIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFs
dWUKIFBBU1MgZS5zdHlsZVsnY29udGFpbiddID0gInBhaW50IiBzaG91bGQgc2V0IHRoZSBwcm9w
ZXJ0eSB2YWx1ZQogUEFTUyBlLnN0eWxlWydjb250YWluJ10gPSAibGF5b3V0IHNpemUiIHNob3Vs
ZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlCi1GQUlMIGUuc3R5bGVbJ2NvbnRhaW4nXSA9ICJwYWlu
dCBzdHlsZSIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUgYXNzZXJ0X25vdF9lcXVhbHM6
IHByb3BlcnR5IHNob3VsZCBiZSBzZXQgZ290IGRpc2FsbG93ZWQgdmFsdWUgIiIKLUZBSUwgZS5z
dHlsZVsnY29udGFpbiddID0gImxheW91dCBzdHlsZSBwYWludCIgc2hvdWxkIHNldCB0aGUgcHJv
cGVydHkgdmFsdWUgYXNzZXJ0X25vdF9lcXVhbHM6IHByb3BlcnR5IHNob3VsZCBiZSBzZXQgZ290
IGRpc2FsbG93ZWQgdmFsdWUgIiIKLUZBSUwgZS5zdHlsZVsnY29udGFpbiddID0gImxheW91dCBw
YWludCBzdHlsZSBzaXplIiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZSBhc3NlcnRfbm90
X2VxdWFsczogcHJvcGVydHkgc2hvdWxkIGJlIHNldCBnb3QgZGlzYWxsb3dlZCB2YWx1ZSAiIgor
UEFTUyBlLnN0eWxlWydjb250YWluJ10gPSAicGFpbnQgc3R5bGUiIHNob3VsZCBzZXQgdGhlIHBy
b3BlcnR5IHZhbHVlCitQQVNTIGUuc3R5bGVbJ2NvbnRhaW4nXSA9ICJsYXlvdXQgc3R5bGUgcGFp
bnQiIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlCitQQVNTIGUuc3R5bGVbJ2NvbnRhaW4n
XSA9ICJsYXlvdXQgcGFpbnQgc3R5bGUgc2l6ZSIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFs
dWUKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>430750</attachid>
            <date>2021-06-07 08:49:16 -0700</date>
            <delta_ts>2021-10-21 07:12:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226458-20210607174913.patch</filename>
            <type>text/plain</type>
            <size>19998</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4NTU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2YzOGEzNTBkOTdlODM0
OWJmZGM1YWVjMjgxYWI4YmFjNjQ1YTU0ZS4uOTM5MGIyNDgwZGMxMTEyM2MzYzJhN2M3Yzc2Y2Jl
MmQ1ZmQwMWQ0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDIxLTA2LTA3ICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgW2Nzcy1jb250YWluXSBTdXBwb3J0
IGNvbnRhaW46c3R5bGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIyNjQ1OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFBhcnNlIGNvbnRhaW46IHN0eWxlIGFuZCB1c2UgaXQgKGlmIHNldCkgdG8gc2NvcGUK
KyAgICAgICAgY291bnRlci1pbmNyZW1lbnQgdG8gdGhlIGVsZW1lbnQncyBzdWItdHJlZSBbMV0u
CisKKyAgICAgICAgVGVzdHM6IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRhaW4tc3R5bGUtY291bnRlcnMtMDAxLmh0bWwKKyAgICAgICAgICAgICAg
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4t
c3R5bGUtY291bnRlcnMtMDAyLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc3R5bGUtY291bnRlcnMtMDAz
Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRhaW4tc3R5bGUtY291bnRlcnMtMDA0Lmh0bWwKKworICAgICAgICBb
MV0gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1jb250YWluLTIvI2NvbnRhaW5tZW50LXN0
eWxlCisKKyAgICAgICAgKiBjc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNvbXB1dGVkU3R5bGVFeHRyYWN0b3I6OnZhbHVlRm9yUHJvcGVydHlJ
blN0eWxlKToKKyAgICAgICAgKiBjc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OmNvbnN1bWVDb250YWluKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyQ291bnRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjphbmNlc3RvclN0eWxlQ29udGFpbm1l
bnRPYmplY3QpOgorICAgICAgICAoV2ViQ29yZTo6cHJldmlvdXNJblByZU9yZGVyKToKKyAgICAg
ICAgKFdlYkNvcmU6OnByZXZpb3VzU2libGluZ09yUGFyZW50RWxlbWVudCk6CisgICAgICAgIChX
ZWJDb3JlOjpmaW5kUGxhY2VGb3JDb3VudGVyKToKKyAgICAgICAgKFdlYkNvcmU6Om1ha2VDb3Vu
dGVyTm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJDb3VudGVyOjpyZW5kZXJlclN1YnRy
ZWVBdHRhY2hlZCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpzaG91bGRBcHBseVN0eWxlQ29udGFpbm1lbnQpOgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJPYmplY3QuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVy
U3R5bGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpjb250YWluc1N0eWxlIGNv
bnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaDoK
KyAgICAgICAgKiBzdHlsZS9TdHlsZUJ1aWxkZXJDdXN0b20uaDoKKyAgICAgICAgKFdlYkNvcmU6
OlN0eWxlOjpCdWlsZGVyQ3VzdG9tOjphcHBseVZhbHVlQ29udGFpbik6CisKIDIwMjEtMDYtMDcg
IEFsaWNpYSBCb3lhIEdhcmPDrWEgIDxhYm95YUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHU3Ry
ZWFtZXJdIEFkZCBjbGFuZyBUU0EgYW5ub3RhdGlvbnM6IE1haW5UaHJlYWROb3RpZmllcgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcApp
bmRleCBjZDU2N2Q5MGVhMmViMmY3MGFiODA2YjBlYzJkY2M4MjY0NmRkNzgxLi5kN2I3MWJlYTQ0
ZjQwMmRmMzlmNjgwMDg3ZWZjNTRhMzE4Yzg1NTlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcApAQCAtMzQ5Myw2ICszNDkzLDgg
QEAgUmVmUHRyPENTU1ZhbHVlPiBDb21wdXRlZFN0eWxlRXh0cmFjdG9yOjp2YWx1ZUZvclByb3Bl
cnR5SW5TdHlsZShjb25zdCBSZW5kZXJTdHkKICAgICAgICAgICAgICAgICBsaXN0LT5hcHBlbmQo
Y3NzVmFsdWVQb29sLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1ZVNpemUpKTsKICAgICAg
ICAgICAgIGlmIChjb250YWlubWVudCAmIENvbnRhaW5tZW50OjpMYXlvdXQpCiAgICAgICAgICAg
ICAgICAgbGlzdC0+YXBwZW5kKGNzc1ZhbHVlUG9vbC5jcmVhdGVJZGVudGlmaWVyVmFsdWUoQ1NT
VmFsdWVMYXlvdXQpKTsKKyAgICAgICAgICAgIGlmIChjb250YWlubWVudCAmIENvbnRhaW5tZW50
OjpTdHlsZSkKKyAgICAgICAgICAgICAgICBsaXN0LT5hcHBlbmQoY3NzVmFsdWVQb29sLmNyZWF0
ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1ZVN0eWxlKSk7CiAgICAgICAgICAgICBpZiAoY29udGFp
bm1lbnQgJiBDb250YWlubWVudDo6UGFpbnQpCiAgICAgICAgICAgICAgICAgbGlzdC0+YXBwZW5k
KGNzc1ZhbHVlUG9vbC5jcmVhdGVJZGVudGlmaWVyVmFsdWUoQ1NTVmFsdWVQYWludCkpOwogICAg
ICAgICAgICAgcmV0dXJuIGxpc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFy
c2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NT
UHJvcGVydHlQYXJzZXIuY3BwCmluZGV4IDY4NDUyMzc4NjkzMjYwODZjYmNhZTBlZDk0ZGJjM2E1
NmRlYjUyZjUuLmQwNGJjODZhNjgyZjQ1ZTk5MmJiNDg0MmFkYjdhZGMyZGFhNDY4NmEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwCkBAIC0z
ODM3LDcgKzM4MzcsNyBAQCBzdGF0aWMgUmVmUHRyPENTU1ZhbHVlPiBjb25zdW1lQ29udGFpbihD
U1NQYXJzZXJUb2tlblJhbmdlJiByYW5nZSkKICAgICBpZiAoYXV0byBzaW5nbGVWYWx1ZSA9IGNv
bnN1bWVJZGVudDxDU1NWYWx1ZU5vbmUsIENTU1ZhbHVlU3RyaWN0LCBDU1NWYWx1ZUNvbnRlbnQ+
KHJhbmdlKSkKICAgICAgICAgcmV0dXJuIHNpbmdsZVZhbHVlOwogICAgIGF1dG8gbGlzdCA9IENT
U1ZhbHVlTGlzdDo6Y3JlYXRlU3BhY2VTZXBhcmF0ZWQoKTsKLSAgICBSZWZQdHI8Q1NTUHJpbWl0
aXZlVmFsdWU+IHNpemUsIGxheW91dCwgcGFpbnQ7CisgICAgUmVmUHRyPENTU1ByaW1pdGl2ZVZh
bHVlPiBzaXplLCBsYXlvdXQsIHBhaW50LCBzdHlsZTsKICAgICB3aGlsZSAoIXJhbmdlLmF0RW5k
KCkpIHsKICAgICAgICAgc3dpdGNoIChyYW5nZS5wZWVrKCkuaWQoKSkgewogICAgICAgICBjYXNl
IENTU1ZhbHVlU2l6ZToKQEAgLTM4NTUsNiArMzg1NSwxMSBAQCBzdGF0aWMgUmVmUHRyPENTU1Zh
bHVlPiBjb25zdW1lQ29udGFpbihDU1NQYXJzZXJUb2tlblJhbmdlJiByYW5nZSkKICAgICAgICAg
ICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICAgICAgICAgIHBhaW50ID0gY29uc3VtZUlkZW50
KHJhbmdlKTsKICAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIENTU1ZhbHVlU3R5bGU6
CisgICAgICAgICAgICBpZiAoc3R5bGUpCisgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7
CisgICAgICAgICAgICBzdHlsZSA9IGNvbnN1bWVJZGVudChyYW5nZSk7CisgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgIHJldHVybiBudWxscHRyOwogICAg
ICAgICB9CkBAIC0zODYzLDYgKzM4NjgsOCBAQCBzdGF0aWMgUmVmUHRyPENTU1ZhbHVlPiBjb25z
dW1lQ29udGFpbihDU1NQYXJzZXJUb2tlblJhbmdlJiByYW5nZSkKICAgICAgICAgbGlzdC0+YXBw
ZW5kKHNpemUucmVsZWFzZU5vbk51bGwoKSk7CiAgICAgaWYgKGxheW91dCkKICAgICAgICAgbGlz
dC0+YXBwZW5kKGxheW91dC5yZWxlYXNlTm9uTnVsbCgpKTsKKyAgICBpZiAoc3R5bGUpCisgICAg
ICAgIGxpc3QtPmFwcGVuZChzdHlsZS5yZWxlYXNlTm9uTnVsbCgpKTsKICAgICBpZiAocGFpbnQp
CiAgICAgICAgIGxpc3QtPmFwcGVuZChwYWludC5yZWxlYXNlTm9uTnVsbCgpKTsKICAgICBpZiAo
IWxpc3QtPmxlbmd0aCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckNvdW50ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckNvdW50ZXIu
Y3BwCmluZGV4IDYzMWZjMWQ0NWU0MTU4ZTg5MDEzYjAyMzQ4MjU2NTZjMjQxYWNiNjIuLjUwZjY1
NTA1NjgzOGE4OWNiMTdjY2M5ZTViZjVlMTIyZDZlNzI4ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJDb3VudGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQ291bnRlci5jcHAKQEAgLTU3LDE1ICs1NywzOSBAQCBzdGF0aWMgQ291
bnRlck1hcHMmIGNvdW50ZXJNYXBzKCkKICAgICByZXR1cm4gc3RhdGljQ291bnRlck1hcHM7CiB9
CiAKK3N0YXRpYyBFbGVtZW50KiBhbmNlc3RvclN0eWxlQ29udGFpbm1lbnRPYmplY3QoY29uc3Qg
RWxlbWVudCYgZWxlbWVudCkKK3sKKyAgICBFbGVtZW50KiBhbmNlc3RvciA9IGlzPFBzZXVkb0Vs
ZW1lbnQ+KGVsZW1lbnQpID8gZG93bmNhc3Q8UHNldWRvRWxlbWVudD4oZWxlbWVudCkuaG9zdEVs
ZW1lbnQoKSA6IGVsZW1lbnQucGFyZW50RWxlbWVudCgpOworICAgIHdoaWxlIChhbmNlc3Rvcikg
eworICAgICAgICBpZiAoYXV0byogc3R5bGUgPSBhbmNlc3Rvci0+ZXhpc3RpbmdDb21wdXRlZFN0
eWxlKCkpIHsKKyAgICAgICAgICAgIGlmIChzdHlsZS0+Y29udGFpbnNTdHlsZSgpKQorICAgICAg
ICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgICAgIGFuY2VzdG9yID0gYW5jZXN0b3It
PnBhcmVudEVsZW1lbnQoKTsKKyAgICB9CisgICAgcmV0dXJuIGFuY2VzdG9yOworfQorCiAvLyBU
aGlzIGZ1bmN0aW9uIHByb2Nlc3NlcyB0aGUgcmVuZGVyZXIgdHJlZSBpbiB0aGUgb3JkZXIgb2Yg
dGhlIERPTSB0cmVlCiAvLyBpbmNsdWRpbmcgcHNldWRvIGVsZW1lbnRzIGFzIGRlZmluZWQgaW4g
Q1NTIDIuMS4KIHN0YXRpYyBSZW5kZXJFbGVtZW50KiBwcmV2aW91c0luUHJlT3JkZXIoY29uc3Qg
UmVuZGVyRWxlbWVudCYgcmVuZGVyZXIpCiB7CiAgICAgQVNTRVJUKHJlbmRlcmVyLmVsZW1lbnQo
KSk7CiAgICAgRWxlbWVudCogcHJldmlvdXMgPSBFbGVtZW50VHJhdmVyc2FsOjpwcmV2aW91c0lu
Y2x1ZGluZ1BzZXVkbygqcmVuZGVyZXIuZWxlbWVudCgpKTsKLSAgICB3aGlsZSAocHJldmlvdXMg
JiYgIXByZXZpb3VzLT5yZW5kZXJlcigpKQotICAgICAgICBwcmV2aW91cyA9IEVsZW1lbnRUcmF2
ZXJzYWw6OnByZXZpb3VzSW5jbHVkaW5nUHNldWRvKCpwcmV2aW91cyk7Ci0gICAgcmV0dXJuIHBy
ZXZpb3VzID8gcHJldmlvdXMtPnJlbmRlcmVyKCkgOiAwOworICAgIEVsZW1lbnQqIHN0eWxlQ29u
dGFpbkFuY2VzdG9yID0gYW5jZXN0b3JTdHlsZUNvbnRhaW5tZW50T2JqZWN0KCpyZW5kZXJlci5l
bGVtZW50KCkpOworCisgICAgd2hpbGUgKHRydWUpIHsKKyAgICAgICAgd2hpbGUgKHByZXZpb3Vz
ICYmICFwcmV2aW91cy0+cmVuZGVyZXIoKSkKKyAgICAgICAgICAgIHByZXZpb3VzID0gRWxlbWVu
dFRyYXZlcnNhbDo6cHJldmlvdXNJbmNsdWRpbmdQc2V1ZG8oKnByZXZpb3VzKTsKKyAgICAgICAg
aWYgKCFwcmV2aW91cykKKyAgICAgICAgICAgIHJldHVybiBudWxscHRyOworICAgICAgICBFbGVt
ZW50KiBwcmV2aW91c1N0eWxlQ29udGFpbkFuY2VzdG9yID0gYW5jZXN0b3JTdHlsZUNvbnRhaW5t
ZW50T2JqZWN0KCpwcmV2aW91cyk7CisgICAgICAgIGlmIChwcmV2aW91c1N0eWxlQ29udGFpbkFu
Y2VzdG9yID09IHN0eWxlQ29udGFpbkFuY2VzdG9yKQorICAgICAgICAgICAgcmV0dXJuIHByZXZp
b3VzLT5yZW5kZXJlcigpOworICAgICAgICBpZiAoIXByZXZpb3VzU3R5bGVDb250YWluQW5jZXN0
b3IpCisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAgICAgcHJldmlvdXMgPSBwcmV2
aW91c1N0eWxlQ29udGFpbkFuY2VzdG9yOworICAgIH0KIH0KIAogc3RhdGljIGlubGluZSBFbGVt
ZW50KiBwYXJlbnRPclBzZXVkb0hvc3RFbGVtZW50KGNvbnN0IFJlbmRlckVsZW1lbnQmIHJlbmRl
cmVyKQpAQCAtOTYsNiArMTIwLDggQEAgc3RhdGljIEVsZW1lbnQqIHByZXZpb3VzU2libGluZ09y
UGFyZW50RWxlbWVudChjb25zdCBFbGVtZW50JiBlbGVtZW50KQogICAgIGF1dG8qIHBhcmVudCA9
IGVsZW1lbnQucGFyZW50RWxlbWVudCgpOwogICAgIGlmIChwYXJlbnQgJiYgIXBhcmVudC0+cmVu
ZGVyZXIoKSkKICAgICAgICAgcGFyZW50ID0gcHJldmlvdXNTaWJsaW5nT3JQYXJlbnRFbGVtZW50
KCpwYXJlbnQpOworICAgIGlmIChwYXJlbnQgJiYgcGFyZW50LT5yZW5kZXJlcigpICYmIHBhcmVu
dC0+cmVuZGVyZXIoKS0+c3R5bGUoKS5jb250YWluc1N0eWxlKCkpCisgICAgICAgIHJldHVybiBu
dWxscHRyOwogICAgIHJldHVybiBwYXJlbnQ7CiB9CiAKQEAgLTMzNSw3ICszNjEsNyBAQCBzdGF0
aWMgQ291bnRlck5vZGUqIG1ha2VDb3VudGVyTm9kZShSZW5kZXJFbGVtZW50JiByZW5kZXJlciwg
Y29uc3QgQXRvbVN0cmluZyYgaQogICAgIG1hcHMuYWRkKCZyZW5kZXJlciwgbWFrZVVuaXF1ZTxD
b3VudGVyTWFwPigpKS5pdGVyYXRvci0+dmFsdWUtPmFkZChpZGVudGlmaWVyLCBuZXdOb2RlLmNv
cHlSZWYoKSk7CiAgICAgcmVuZGVyZXIuc2V0SGFzQ291bnRlck5vZGVNYXAodHJ1ZSk7CiAKLSAg
ICBpZiAobmV3Tm9kZS0+cGFyZW50KCkpCisgICAgaWYgKG5ld05vZGUtPnBhcmVudCgpIHx8IHNo
b3VsZEFwcGx5U3R5bGVDb250YWlubWVudChyZW5kZXJlcikpCiAgICAgICAgIHJldHVybiBuZXdO
b2RlLnB0cigpOwogCiAgICAgLy8gQ2hlY2sgaWYgc29tZSBub2RlcyB0aGF0IHdlcmUgcHJldmlv
dXNseSByb290IG5vZGVzIHNob3VsZCBiZWNvbWUgY2hpbGRyZW4gb2YgdGhpcyBub2RlIG5vdy4K
QEAgLTM0Myw3ICszNjksNyBAQCBzdGF0aWMgQ291bnRlck5vZGUqIG1ha2VDb3VudGVyTm9kZShS
ZW5kZXJFbGVtZW50JiByZW5kZXJlciwgY29uc3QgQXRvbVN0cmluZyYgaQogICAgIGF1dG8qIHN0
YXlXaXRoaW4gPSBwYXJlbnRPclBzZXVkb0hvc3RFbGVtZW50KHJlbmRlcmVyKTsKICAgICBib29s
IHNraXBEZXNjZW5kYW50cyA9IGZhbHNlOwogICAgIHdoaWxlICgoY3VycmVudFJlbmRlcmVyID0g
bmV4dEluUHJlT3JkZXIoKmN1cnJlbnRSZW5kZXJlciwgc3RheVdpdGhpbiwgc2tpcERlc2NlbmRh
bnRzKSkpIHsKLSAgICAgICAgc2tpcERlc2NlbmRhbnRzID0gZmFsc2U7CisgICAgICAgIHNraXBE
ZXNjZW5kYW50cyA9IHNob3VsZEFwcGx5U3R5bGVDb250YWlubWVudCgqY3VycmVudFJlbmRlcmVy
KTsKICAgICAgICAgaWYgKCFjdXJyZW50UmVuZGVyZXItPmhhc0NvdW50ZXJOb2RlTWFwKCkpCiAg
ICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgYXV0byogY3VycmVudENvdW50ZXIgPSBtYXBz
LmZpbmQoY3VycmVudFJlbmRlcmVyKS0+dmFsdWUtPmdldChpZGVudGlmaWVyKTsKQEAgLTU0OSw4
ICs1NzUsMTAgQEAgdm9pZCBSZW5kZXJDb3VudGVyOjpyZW5kZXJlclN1YnRyZWVBdHRhY2hlZChS
ZW5kZXJFbGVtZW50JiByZW5kZXJlcikKICAgICAgICAgZWxlbWVudCA9IHJlbmRlcmVyLmdlbmVy
YXRpbmdFbGVtZW50KCk7CiAgICAgaWYgKGVsZW1lbnQgJiYgIWVsZW1lbnQtPnJlbmRlcmVyKCkp
CiAgICAgICAgIHJldHVybjsgLy8gTm8gbmVlZCB0byB1cGRhdGUgaWYgdGhlIHBhcmVudCBpcyBu
b3QgYXR0YWNoZWQgeWV0CisgICAgYm9vbCBjcm9zc2VkQm91bmRhcnkgPSBmYWxzZTsKICAgICBm
b3IgKFJlbmRlck9iamVjdCogZGVzY2VuZGFudCA9ICZyZW5kZXJlcjsgZGVzY2VuZGFudDsgZGVz
Y2VuZGFudCA9IGRlc2NlbmRhbnQtPm5leHRJblByZU9yZGVyKCZyZW5kZXJlcikpIHsKLSAgICAg
ICAgaWYgKGlzPFJlbmRlckVsZW1lbnQ+KCpkZXNjZW5kYW50KSkKKyAgICAgICAgY3Jvc3NlZEJv
dW5kYXJ5IHw9IHNob3VsZEFwcGx5U3R5bGVDb250YWlubWVudCgqZGVzY2VuZGFudCk7CisgICAg
ICAgIGlmIChjcm9zc2VkQm91bmRhcnkgJiYgaXM8UmVuZGVyRWxlbWVudD4oKmRlc2NlbmRhbnQp
KQogICAgICAgICAgICAgdXBkYXRlQ291bnRlcnMoZG93bmNhc3Q8UmVuZGVyRWxlbWVudD4oKmRl
c2NlbmRhbnQpKTsKICAgICB9CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmpl
Y3QuY3BwCmluZGV4IDBkY2ZiY2Y2MDFkMzc4ZTI4NmM4MTgyYzRmZGM4NmEwMmRhMzk5MDAuLmJi
MzE2MWIxMTFkYTQ0Mjg1OWNlYzRlODI3MGRhMmVkMmNjMmU0ZTAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCkBAIC0yNTE0LDMgKzI1MTQsOCBAQCBib29sIFdl
YkNvcmU6OnNob3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50KGNvbnN0IFdlYkNvcmU6OlJlbmRlck9i
amVjdCYgcmVuZGVyZXIpCiB7CiAgICAgcmV0dXJuIHJlbmRlcmVyLnN0eWxlKCkuY29udGFpbnNT
aXplKCkgJiYgKCFyZW5kZXJlci5pc0lubGluZSgpIHx8IHJlbmRlcmVyLmlzQXRvbWljSW5saW5l
TGV2ZWxCb3goKSkgJiYgIXJlbmRlcmVyLmlzUnVieVRleHQoKSAmJiAoIXJlbmRlcmVyLmlzVGFi
bGVQYXJ0KCkgfHwgcmVuZGVyZXIuaXNUYWJsZUNhcHRpb24oKSkgJiYgIXJlbmRlcmVyLmlzVGFi
bGUoKTsKIH0KKworYm9vbCBXZWJDb3JlOjpzaG91bGRBcHBseVN0eWxlQ29udGFpbm1lbnQoY29u
c3QgV2ViQ29yZTo6UmVuZGVyT2JqZWN0JiByZW5kZXJlcikKK3sKKyAgICByZXR1cm4gcmVuZGVy
ZXIuc3R5bGUoKS5jb250YWluc1N0eWxlKCkgJiYgKCFyZW5kZXJlci5pc0lubGluZSgpIHx8IHJl
bmRlcmVyLmlzQXRvbWljSW5saW5lTGV2ZWxCb3goKSkgJiYgIXJlbmRlcmVyLmlzUnVieVRleHQo
KSAmJiAoIXJlbmRlcmVyLmlzVGFibGVQYXJ0KCkgfHwgcmVuZGVyZXIuaXNUYWJsZUNhcHRpb24o
KSkgJiYgIXJlbmRlcmVyLmlzVGFibGUoKTsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJPYmplY3QuaAppbmRleCBmMjBmNzU5NWQ1ZTA0YzViMzI1ZDQ3YThkZTA1NmNjOWYxODQzYzA3
Li44ZjQzMWU5YTZmN2ZkMjcwNGYxYjg0ZjZmZWZmZDY0NThmMzJjMmZjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCkBAIC0xMTk3LDYgKzExOTcsNyBAQCB2b2lkIHBy
aW50R3JhcGhpY3NMYXllclRyZWVGb3JMaXZlRG9jdW1lbnRzKCk7CiAKIGJvb2wgc2hvdWxkQXBw
bHlMYXlvdXRDb250YWlubWVudChjb25zdCBSZW5kZXJPYmplY3QmKTsKIGJvb2wgc2hvdWxkQXBw
bHlTaXplQ29udGFpbm1lbnQoY29uc3QgUmVuZGVyT2JqZWN0Jik7Citib29sIHNob3VsZEFwcGx5
U3R5bGVDb250YWlubWVudChjb25zdCBSZW5kZXJPYmplY3QmKTsKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVu
ZGVyU3R5bGUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5o
CmluZGV4IDkzZDk1NzFlNmRlNTU1N2E3NmNkMDQ5NWQ0MjU1OTBiNmEwZmVhNzEuLmQ4MzcxNWEw
MWI4NzVkNTBlMDY0MzYxN2VmODQzMTU5YzRjZjNlZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCkBAIC01MjgsNiArNTI4LDcgQEAgcHVibGljOgog
ICAgIE9wdGlvblNldDxDb250YWlubWVudD4gY29udGFpbigpIGNvbnN0IHsgcmV0dXJuIG1fcmFy
ZU5vbkluaGVyaXRlZERhdGEtPmNvbnRhaW47IH0KICAgICBib29sIGNvbnRhaW5zTGF5b3V0KCkg
Y29uc3QgeyByZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+Y29udGFpbi5jb250YWlucyhD
b250YWlubWVudDo6TGF5b3V0KTsgfQogICAgIGJvb2wgY29udGFpbnNTaXplKCkgY29uc3QgeyBy
ZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+Y29udGFpbi5jb250YWlucyhDb250YWlubWVu
dDo6U2l6ZSk7IH0KKyAgICBib29sIGNvbnRhaW5zU3R5bGUoKSBjb25zdCB7IHJldHVybiBtX3Jh
cmVOb25Jbmhlcml0ZWREYXRhLT5jb250YWluLmNvbnRhaW5zKENvbnRhaW5tZW50OjpTdHlsZSk7
IH0KICAgICBCb3hBbGlnbm1lbnQgYm94QWxpZ24oKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2Fz
dDxCb3hBbGlnbm1lbnQ+KG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmRlcHJlY2F0ZWRGbGV4aWJs
ZUJveC0+YWxpZ24pOyB9CiAgICAgQm94RGlyZWN0aW9uIGJveERpcmVjdGlvbigpIGNvbnN0IHsg
cmV0dXJuIHN0YXRpY19jYXN0PEJveERpcmVjdGlvbj4obV9pbmhlcml0ZWRGbGFncy5ib3hEaXJl
Y3Rpb24pOyB9CiAgICAgZmxvYXQgYm94RmxleCgpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZU5vbklu
aGVyaXRlZERhdGEtPmRlcHJlY2F0ZWRGbGV4aWJsZUJveC0+ZmxleDsgfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmggYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaAppbmRl
eCA0OTkwNGE2ZjIxZWU2ZDI2MWI4OTI5YzY3M2NiNDQxYzJjOTc0Nzg1Li5iNTJlOWJjMzkxMWNk
NmY1ZTBkZGQ5Y2M4ODBmYTdjNmI2ZDQ1N2ViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaApAQCAtMTIyMyw2ICsxMjIz
LDcgQEAgZW51bSBjbGFzcyBDb250YWlubWVudCA6IHVpbnQ4X3QgewogICAgIExheW91dCAgID0g
MSA8PCAwLAogICAgIFBhaW50ICAgID0gMSA8PCAxLAogICAgIFNpemUgICAgID0gMSA8PCAyLAor
ICAgIFN0eWxlICAgID0gMSA8PCAzLAogfTsKIAogZXh0ZXJuIGNvbnN0IGZsb2F0IGRlZmF1bHRN
aXRlckxpbWl0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVCdWlsZGVy
Q3VzdG9tLmggYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZUJ1aWxkZXJDdXN0b20uaAppbmRl
eCBmNmU2ZjdhODI3MDc5ZDY0ZjczZTgxNjA2YzFjNjdkODM2NGY5ZGYwLi41ZDZjY2E2N2NkNGE4
NjJhOTk0YzQyMDM2OTg1OTM4NjRhYWE2MjIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9z
dHlsZS9TdHlsZUJ1aWxkZXJDdXN0b20uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHls
ZUJ1aWxkZXJDdXN0b20uaApAQCAtMTI3Nyw2ICsxMjc3LDkgQEAgaW5saW5lIHZvaWQgQnVpbGRl
ckN1c3RvbTo6YXBwbHlWYWx1ZUNvbnRhaW4oQnVpbGRlclN0YXRlJiBidWlsZGVyU3RhdGUsIENT
U1ZhbHUKICAgICAgICAgY2FzZSBDU1NWYWx1ZVBhaW50OgogICAgICAgICAgICAgY29udGFpbm1l
bnQuYWRkKENvbnRhaW5tZW50OjpQYWludCk7CiAgICAgICAgICAgICBicmVhazsKKyAgICAgICAg
Y2FzZSBDU1NWYWx1ZVN0eWxlOgorICAgICAgICAgICAgY29udGFpbm1lbnQuYWRkKENvbnRhaW5t
ZW50OjpTdHlsZSk7CisgICAgICAgICAgICBicmVhazsKICAgICAgICAgZGVmYXVsdDoKICAgICAg
ICAgICAgIGJyZWFrOwogICAgICAgICB9OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDdjN2I4Mzc5MGNmM2JmYWM1NzkxMDVj
NmM5ODMzYTc4ZjFhNmEzNDAuLjliZWZlOTYzY2ExODEyMzc1YTQ3MzA4MzU1ZDQwOTI5MjM4ZTIx
YjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMS0wNi0wNyAgUm9iIEJ1aXMgIDxyYnVpc0Bp
Z2FsaWEuY29tPgorCisgICAgICAgIFtjc3MtY29udGFpbl0gU3VwcG9ydCBjb250YWluOnN0eWxl
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjY0NTgK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVbnNraXAg
dGVzdHMgdGhhdCBub3cgcGFzcy4KKworICAgICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6CisKIDIw
MjEtMDYtMDcgIEFkaXR5YSBLZWVydGhpICA8YWtlZXJ0aGlAYXBwbGUuY29tPgogCiAgICAgICAg
IFtpT1NdIFVuZXhwZWN0ZWQgc2Nyb2xsaW5nIHdoZW4gc3dpdGNoaW5nIGZvY3VzIGZyb20gYSB0
ZXh0IGlucHV0IHRvIGEgc2VsZWN0IGVsZW1lbnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9n
CmluZGV4IGFjMmY1NGMxOWJiNGZjZWMyYTU3OTAwY2VkYzQ1MjY5ZDdiMmVmNTcuLmRlNDIyZGM1
M2ZmMDM3NTY0MWExYmZhOTRhOGRlOWJkMjQ5ZDg0MWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIxLTA2LTA3ICBSb2IgQnVpcyAgPHJidWlzQGln
YWxpYS5jb20+CisKKyAgICAgICAgW2Nzcy1jb250YWluXSBTdXBwb3J0IGNvbnRhaW46c3R5bGUK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNjQ1OAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0ZSBp
bXByb3ZlZCB0ZXN0IHJlc3VsdHMuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDI2LWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L3BhcnNpbmcvY29udGFpbi1jb21wdXRlZC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9wYXJzaW5nL2NvbnRhaW4tdmFsaWQtZXhwZWN0
ZWQudHh0OgorCiAyMDIxLTA2LTA2ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAog
ICAgICAgICBIYW5kbGUgY3VzdG9tIGlkZW50aWZpZXJzIGFuZCBzdHJpbmdzIHNlcGFyYXRlbHks
IHNvIHdlIGNhbiBxdW90ZSBzdHJpbmdzIGNvcnJlY3RseSBjb25zaXN0ZW50bHkKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0
YXRpb25zCmluZGV4IDk3NzQ4MmIyNDBkZTkxMzQzYWNjN2I4ODNiYjQzYzRmNTExN2I4MDAuLmVm
NTRhNDk0YTBhMTE2MTI4NzJmZTZhZGU3ODYxYWJlNzAyY2ZmN2UgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9u
cwpAQCAtNDY3NiwxMCArNDY3Niw2IEBAIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtdGFibGUtMDAyLmh0bWwgWyBJCiBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXN0cmljdC0w
MDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zdHJpY3QtMDAyLmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRhaW4tc3RyaWN0LTAxMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXN0eWxlLWNvdW50
ZXJzLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXN0eWxlLWNvdW50ZXJzLTAwMi5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250YWluLXN0eWxlLWNvdW50ZXJzLTAwMy5odG1sIFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250YWluLXN0eWxlLWNvdW50ZXJzLTAwNC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZp
c2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAzMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
CiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50
LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAzMy5zdWIuaHR0cHMuaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMzQuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRl
bnQtdmlzaWJpbGl0eS0wMjYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2Nv
bnRlbnQtdmlzaWJpbGl0eS0wMjYtZXhwZWN0ZWQudHh0CmluZGV4IDAxMTU2ZGQ4OGIxMjI2NzE1
YWU1YTE5NmFhYmE0MTZkODE3ZDA2MmEuLjY1ZTE1MzA4NDk2YTkyZjI3MTI3NTE2ODFmZTY4OWVh
NmZmMzA2NTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2li
aWxpdHktMDI2LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVu
dC12aXNpYmlsaXR5LTAyNi1leHBlY3RlZC50eHQKQEAgLTEsNiArMSw2IEBACiAKIEZBSUwgY29u
dGVudC12aXNpYmlsaXR5OiBoaWRkZW4gYWRkcyBjb250YWluOiBzaXplIGxheW91dCBzdHlsZTsg
YXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInNpemUgbGF5b3V0IHN0eWxlIHBhaW50IiBidXQgZ290
ICJub25lIgogRkFJTCBjb250ZW50LXZpc2liaWxpdHk6IGF1dG8gYWRkcyBjb250YWluOiBzaXpl
IGxheW91dCBzdHlsZSBwYWludDsgYXNzZXJ0X2VxdWFsczogaW5pdGlhbCBvbnNjcmVlbiBleHBl
Y3RlZCAic2l6ZSBsYXlvdXQgc3R5bGUgcGFpbnQiIGJ1dCBnb3QgIm5vbmUiCi1GQUlMIGNvbnRl
bnQtdmlzaWJpbGl0eTogYXV0byBhZGRzIGNvbnRhaW46IHNpemUgbGF5b3V0IHN0eWxlIHBhaW50
LCBjYW4ndCBiZSBvdmVycmlkZGVuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJzaXplIGxheW91
dCBzdHlsZSBwYWludCIgYnV0IGdvdCAibm9uZSIKK0ZBSUwgY29udGVudC12aXNpYmlsaXR5OiBh
dXRvIGFkZHMgY29udGFpbjogc2l6ZSBsYXlvdXQgc3R5bGUgcGFpbnQsIGNhbid0IGJlIG92ZXJy
aWRkZW4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInNpemUgbGF5b3V0IHN0eWxlIHBhaW50IiBi
dXQgZ290ICJzdHlsZSIKIEZBSUwgY29udGVudC12aXNpYmlsaXR5IGtlZXBzIGFsbCBjb250YWlu
bWVudCBldmVuIHdoZW4gc2hvcnRoYW5kcyBhcmUgc3BlY2lmaWVkIGFzc2VydF9lcXVhbHM6IGV4
cGVjdGVkICJzaXplIGxheW91dCBzdHlsZSBwYWludCIgYnV0IGdvdCAicGFpbnQiCiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL3BhcnNpbmcvY29udGFpbi1jb21wdXRlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9wYXJz
aW5nL2NvbnRhaW4tY29tcHV0ZWQtZXhwZWN0ZWQudHh0CmluZGV4IDRhMWEwZTY2MzVmZjhkYjdj
MGM1OTU1MjM5MjIxMTkwZWI3Y2RhNmYuLjViZmM5ZTQ1ZTNjNWZlMWIxNDc4OTRiZWIxZGM1OWIz
ZjI3MTYyNWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL3BhcnNpbmcvY29udGFpbi1jb21wdXRlZC1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vcGFyc2luZy9jb250YWluLWNvbXB1dGVkLWV4cGVjdGVkLnR4dApAQCAt
NCwxMiArNCwxMiBAQCBQQVNTIFByb3BlcnR5IGNvbnRhaW4gdmFsdWUgJ3N0cmljdCcKIFBBU1Mg
UHJvcGVydHkgY29udGFpbiB2YWx1ZSAnY29udGVudCcKIFBBU1MgUHJvcGVydHkgY29udGFpbiB2
YWx1ZSAnc2l6ZScKIFBBU1MgUHJvcGVydHkgY29udGFpbiB2YWx1ZSAnbGF5b3V0JwotRkFJTCBQ
cm9wZXJ0eSBjb250YWluIHZhbHVlICdzdHlsZScgYXNzZXJ0X3RydWU6ICdzdHlsZScgaXMgYSBz
dXBwb3J0ZWQgdmFsdWUgZm9yIGNvbnRhaW4uIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitQQVNT
IFByb3BlcnR5IGNvbnRhaW4gdmFsdWUgJ3N0eWxlJwogUEFTUyBQcm9wZXJ0eSBjb250YWluIHZh
bHVlICdwYWludCcKIFBBU1MgUHJvcGVydHkgY29udGFpbiB2YWx1ZSAnc2l6ZSBsYXlvdXQnCi1G
QUlMIFByb3BlcnR5IGNvbnRhaW4gdmFsdWUgJ3N0eWxlIHBhaW50JyBhc3NlcnRfdHJ1ZTogJ3N0
eWxlIHBhaW50JyBpcyBhIHN1cHBvcnRlZCB2YWx1ZSBmb3IgY29udGFpbi4gZXhwZWN0ZWQgdHJ1
ZSBnb3QgZmFsc2UKLUZBSUwgUHJvcGVydHkgY29udGFpbiB2YWx1ZSAnbGF5b3V0IHN0eWxlIHBh
aW50JyBhc3NlcnRfdHJ1ZTogJ2xheW91dCBzdHlsZSBwYWludCcgaXMgYSBzdXBwb3J0ZWQgdmFs
dWUgZm9yIGNvbnRhaW4uIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFByb3BlcnR5IGNv
bnRhaW4gdmFsdWUgJ3NpemUgbGF5b3V0IHN0eWxlIHBhaW50JyBhc3NlcnRfdHJ1ZTogJ3NpemUg
bGF5b3V0IHN0eWxlIHBhaW50JyBpcyBhIHN1cHBvcnRlZCB2YWx1ZSBmb3IgY29udGFpbi4gZXhw
ZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK1BBU1MgUHJvcGVydHkgY29udGFpbiB2YWx1ZSAnc3R5bGUg
cGFpbnQnCitQQVNTIFByb3BlcnR5IGNvbnRhaW4gdmFsdWUgJ2xheW91dCBzdHlsZSBwYWludCcK
K1BBU1MgUHJvcGVydHkgY29udGFpbiB2YWx1ZSAnc2l6ZSBsYXlvdXQgc3R5bGUgcGFpbnQnCiBQ
QVNTIFByb3BlcnR5IGNvbnRhaW4gdmFsdWUgJ3NpemUgbGF5b3V0IHBhaW50JwogUEFTUyBQcm9w
ZXJ0eSBjb250YWluIHZhbHVlICdsYXlvdXQgcGFpbnQnCiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL3BhcnNp
bmcvY29udGFpbi12YWxpZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9wYXJzaW5nL2NvbnRhaW4tdmFsaWQt
ZXhwZWN0ZWQudHh0CmluZGV4IGU1MTU1MGUxNDA1ZWE0ZTE4NzQ5NTQxYWI4NTAyNzc3NzI2NGRk
MzcuLjg1ZmNmZTE3Mzk3YjI5NjZhMDk2YWVhNjgzODhkM2M3ZjE3NTNhZjYgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL3BhcnNpbmcvY29udGFpbi12YWxpZC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vcGFyc2luZy9j
b250YWluLXZhbGlkLWV4cGVjdGVkLnR4dApAQCAtNCwxMCArNCwxMCBAQCBQQVNTIGUuc3R5bGVb
J2NvbnRhaW4nXSA9ICJzdHJpY3QiIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlCiBQQVNT
IGUuc3R5bGVbJ2NvbnRhaW4nXSA9ICJjb250ZW50IiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2
YWx1ZQogUEFTUyBlLnN0eWxlWydjb250YWluJ10gPSAic2l6ZSIgc2hvdWxkIHNldCB0aGUgcHJv
cGVydHkgdmFsdWUKIFBBU1MgZS5zdHlsZVsnY29udGFpbiddID0gImxheW91dCIgc2hvdWxkIHNl
dCB0aGUgcHJvcGVydHkgdmFsdWUKLUZBSUwgZS5zdHlsZVsnY29udGFpbiddID0gInN0eWxlIiBz
aG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZSBhc3NlcnRfbm90X2VxdWFsczogcHJvcGVydHkg
c2hvdWxkIGJlIHNldCBnb3QgZGlzYWxsb3dlZCB2YWx1ZSAiIgorUEFTUyBlLnN0eWxlWydjb250
YWluJ10gPSAic3R5bGUiIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlCiBQQVNTIGUuc3R5
bGVbJ2NvbnRhaW4nXSA9ICJwYWludCIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUKIFBB
U1MgZS5zdHlsZVsnY29udGFpbiddID0gImxheW91dCBzaXplIiBzaG91bGQgc2V0IHRoZSBwcm9w
ZXJ0eSB2YWx1ZQotRkFJTCBlLnN0eWxlWydjb250YWluJ10gPSAicGFpbnQgc3R5bGUiIHNob3Vs
ZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlIGFzc2VydF9ub3RfZXF1YWxzOiBwcm9wZXJ0eSBzaG91
bGQgYmUgc2V0IGdvdCBkaXNhbGxvd2VkIHZhbHVlICIiCi1GQUlMIGUuc3R5bGVbJ2NvbnRhaW4n
XSA9ICJsYXlvdXQgc3R5bGUgcGFpbnQiIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlIGFz
c2VydF9ub3RfZXF1YWxzOiBwcm9wZXJ0eSBzaG91bGQgYmUgc2V0IGdvdCBkaXNhbGxvd2VkIHZh
bHVlICIiCi1GQUlMIGUuc3R5bGVbJ2NvbnRhaW4nXSA9ICJsYXlvdXQgcGFpbnQgc3R5bGUgc2l6
ZSIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUgYXNzZXJ0X25vdF9lcXVhbHM6IHByb3Bl
cnR5IHNob3VsZCBiZSBzZXQgZ290IGRpc2FsbG93ZWQgdmFsdWUgIiIKK1BBU1MgZS5zdHlsZVsn
Y29udGFpbiddID0gInBhaW50IHN0eWxlIiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZQor
UEFTUyBlLnN0eWxlWydjb250YWluJ10gPSAibGF5b3V0IHN0eWxlIHBhaW50IiBzaG91bGQgc2V0
IHRoZSBwcm9wZXJ0eSB2YWx1ZQorUEFTUyBlLnN0eWxlWydjb250YWluJ10gPSAibGF5b3V0IHBh
aW50IHN0eWxlIHNpemUiIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>442017</attachid>
            <date>2021-10-21 07:12:51 -0700</date>
            <delta_ts>2021-10-24 04:15:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226458-20211021161249.patch</filename>
            <type>text/plain</type>
            <size>21114</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0NjAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGE4YjYzMDkzYzczYjgw
MjIwZTZlZmQ4ZWVkM2MwMjMwNDU0MTEzZS4uOTJjZmU4ZDI4NTE3MmVkNWY3NGZiNGE4ZmY0OTM0
ODFlOGY1NjA1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDIxLTEwLTIxICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgW2Nzcy1jb250YWluXSBTdXBwb3J0
IGNvbnRhaW46c3R5bGUgZm9yIGNvdW50ZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMjY0NTgKKworICAgICAgICBSZXZpZXdlZCBieSBBbnR0aSBL
b2l2aXN0by4KKworICAgICAgICBQYXJzZSBjb250YWluOiBzdHlsZSBhbmQgdXNlIGl0IChpZiBz
ZXQpIHRvIHNjb3BlCisgICAgICAgIGNvdW50ZXItaW5jcmVtZW50IHRvIHRoZSBlbGVtZW50J3Mg
c3ViLXRyZWUgWzFdLgorCisgICAgICAgIFRlc3RzOiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXN0eWxlLWNvdW50ZXJzLTAwMS5odG1sCisg
ICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250YWluLXN0eWxlLWNvdW50ZXJzLTAwMi5odG1sCisgICAgICAgICAgICAgICBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXN0eWxl
LWNvdW50ZXJzLTAwMy5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXN0eWxlLWNvdW50ZXJzLTAwNC5odG1s
CisKKyAgICAgICAgWzFdIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtY29udGFpbi0yLyNj
b250YWlubWVudC1zdHlsZQorCisgICAgICAgICogY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJh
dGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb21wdXRlZFN0eWxlRXh0cmFjdG9yOjp2YWx1
ZUZvclByb3BlcnR5SW5TdHlsZSk6CisgICAgICAgICogY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBh
cnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjb25zdW1lQ29udGFpbik6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlckNvdW50ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6YW5jZXN0b3JT
dHlsZUNvbnRhaW5tZW50T2JqZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OnByZXZpb3VzSW5QcmVP
cmRlcik6CisgICAgICAgIChXZWJDb3JlOjpwcmV2aW91c1NpYmxpbmdPclBhcmVudEVsZW1lbnQp
OgorICAgICAgICAoV2ViQ29yZTo6bWFrZUNvdW50ZXJOb2RlKToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckNvdW50ZXI6OnJlbmRlcmVyU3VidHJlZUF0dGFjaGVkKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNob3VsZEFwcGx5U3R5
bGVDb250YWlubWVudCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oOgorICAg
ICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyU3R5bGU6OmNvbnRhaW5zU3R5bGUgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9z
dHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oOgorICAgICAgICAqIHN0eWxlL1N0eWxlQnVpbGRl
ckN1c3RvbS5oOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OkJ1aWxkZXJDdXN0b206OmFwcGx5
VmFsdWVDb250YWluKToKKwogMjAyMS0xMC0yMSAgQW50b2luZSBRdWludCAgPGdyYW91dHNAd2Vi
a2l0Lm9yZz4KIAogICAgICAgICBQYXNzIENvbXBvc2l0ZU9wZXJhdGlvbiB0byBDU1NQcm9wZXJ0
eUFuaW1hdGlvbjo6YmxlbmRQcm9wZXJ0aWVzIGFuZCB0aHJvdWdoIG1vcmUgYmxlbmRpbmcgZnVu
Y3Rpb25zCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURl
Y2xhcmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFy
YXRpb24uY3BwCmluZGV4IDA1NzBkOWVkODVmMjFhNzc1NTYxYzIyMzExYWJiOGMxZTgyMzllMDcu
LmVlYTZmN2JhZDRjZGI4NWJjZGI2NzYzYTI4YmFkNWYwMjkyNTlmZjAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCkBAIC0zNTcy
LDYgKzM1NzIsOCBAQCBSZWZQdHI8Q1NTVmFsdWU+IENvbXB1dGVkU3R5bGVFeHRyYWN0b3I6OnZh
bHVlRm9yUHJvcGVydHlJblN0eWxlKGNvbnN0IFJlbmRlclN0eQogICAgICAgICAgICAgICAgIGxp
c3QtPmFwcGVuZChjc3NWYWx1ZVBvb2wuY3JlYXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVlU2l6
ZSkpOwogICAgICAgICAgICAgaWYgKGNvbnRhaW5tZW50ICYgQ29udGFpbm1lbnQ6OkxheW91dCkK
ICAgICAgICAgICAgICAgICBsaXN0LT5hcHBlbmQoY3NzVmFsdWVQb29sLmNyZWF0ZUlkZW50aWZp
ZXJWYWx1ZShDU1NWYWx1ZUxheW91dCkpOworICAgICAgICAgICAgaWYgKGNvbnRhaW5tZW50ICYg
Q29udGFpbm1lbnQ6OlN0eWxlKQorICAgICAgICAgICAgICAgIGxpc3QtPmFwcGVuZChjc3NWYWx1
ZVBvb2wuY3JlYXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVlU3R5bGUpKTsKICAgICAgICAgICAg
IGlmIChjb250YWlubWVudCAmIENvbnRhaW5tZW50OjpQYWludCkKICAgICAgICAgICAgICAgICBs
aXN0LT5hcHBlbmQoY3NzVmFsdWVQb29sLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1ZVBh
aW50KSk7CiAgICAgICAgICAgICByZXR1cm4gbGlzdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3Nz
L3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5jcHAKaW5kZXggOTI2NGY4N2Y2OWM2NmY3MzRjNmVi
NWM1MDlhZWI1OTA5MDU1ZTk1MS4uODU5MThlNWE3Y2ZjNWJjNTUxMDFkMjkxZGIzOTQxZTYzMThm
ZGI3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBh
cnNlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNl
ci5jcHAKQEAgLTM4NjcsNyArMzg2Nyw3IEBAIHN0YXRpYyBSZWZQdHI8Q1NTVmFsdWU+IGNvbnN1
bWVDb250YWluKENTU1BhcnNlclRva2VuUmFuZ2UmIHJhbmdlKQogICAgIGlmIChhdXRvIHNpbmds
ZVZhbHVlID0gY29uc3VtZUlkZW50PENTU1ZhbHVlTm9uZSwgQ1NTVmFsdWVTdHJpY3QsIENTU1Zh
bHVlQ29udGVudD4ocmFuZ2UpKQogICAgICAgICByZXR1cm4gc2luZ2xlVmFsdWU7CiAgICAgYXV0
byBsaXN0ID0gQ1NTVmFsdWVMaXN0OjpjcmVhdGVTcGFjZVNlcGFyYXRlZCgpOwotICAgIFJlZlB0
cjxDU1NQcmltaXRpdmVWYWx1ZT4gc2l6ZSwgbGF5b3V0LCBwYWludDsKKyAgICBSZWZQdHI8Q1NT
UHJpbWl0aXZlVmFsdWU+IHNpemUsIGxheW91dCwgcGFpbnQsIHN0eWxlOwogICAgIHdoaWxlICgh
cmFuZ2UuYXRFbmQoKSkgewogICAgICAgICBzd2l0Y2ggKHJhbmdlLnBlZWsoKS5pZCgpKSB7CiAg
ICAgICAgIGNhc2UgQ1NTVmFsdWVTaXplOgpAQCAtMzg4NSw2ICszODg1LDExIEBAIHN0YXRpYyBS
ZWZQdHI8Q1NTVmFsdWU+IGNvbnN1bWVDb250YWluKENTU1BhcnNlclRva2VuUmFuZ2UmIHJhbmdl
KQogICAgICAgICAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgICAgICAgICAgcGFpbnQgPSBj
b25zdW1lSWRlbnQocmFuZ2UpOwogICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgQ1NT
VmFsdWVTdHlsZToKKyAgICAgICAgICAgIGlmIChzdHlsZSkKKyAgICAgICAgICAgICAgICByZXR1
cm4gbnVsbHB0cjsKKyAgICAgICAgICAgIHN0eWxlID0gY29uc3VtZUlkZW50KHJhbmdlKTsKKyAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgcmV0dXJuIG51
bGxwdHI7CiAgICAgICAgIH0KQEAgLTM4OTMsNiArMzg5OCw4IEBAIHN0YXRpYyBSZWZQdHI8Q1NT
VmFsdWU+IGNvbnN1bWVDb250YWluKENTU1BhcnNlclRva2VuUmFuZ2UmIHJhbmdlKQogICAgICAg
ICBsaXN0LT5hcHBlbmQoc2l6ZS5yZWxlYXNlTm9uTnVsbCgpKTsKICAgICBpZiAobGF5b3V0KQog
ICAgICAgICBsaXN0LT5hcHBlbmQobGF5b3V0LnJlbGVhc2VOb25OdWxsKCkpOworICAgIGlmIChz
dHlsZSkKKyAgICAgICAgbGlzdC0+YXBwZW5kKHN0eWxlLnJlbGVhc2VOb25OdWxsKCkpOwogICAg
IGlmIChwYWludCkKICAgICAgICAgbGlzdC0+YXBwZW5kKHBhaW50LnJlbGVhc2VOb25OdWxsKCkp
OwogICAgIGlmICghbGlzdC0+bGVuZ3RoKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQ291bnRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQ291bnRlci5jcHAKaW5kZXggNjMxZmMxZDQ1ZTQxNThlODkwMTNiMDIzNDgyNTY1NmMyNDFh
Y2I2Mi4uMWI3Njc5M2EyNjk4MTRlNjZmN2NhMDZlNmY5ZjQxYWVkMTRkMTk3YSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckNvdW50ZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJDb3VudGVyLmNwcApAQCAtNTcsMTUgKzU3LDQwIEBA
IHN0YXRpYyBDb3VudGVyTWFwcyYgY291bnRlck1hcHMoKQogICAgIHJldHVybiBzdGF0aWNDb3Vu
dGVyTWFwczsKIH0KIAorc3RhdGljIEVsZW1lbnQqIGFuY2VzdG9yU3R5bGVDb250YWlubWVudE9i
amVjdChjb25zdCBFbGVtZW50JiBlbGVtZW50KQoreworICAgIEVsZW1lbnQqIGFuY2VzdG9yID0g
aXM8UHNldWRvRWxlbWVudD4oZWxlbWVudCkgPyBkb3duY2FzdDxQc2V1ZG9FbGVtZW50PihlbGVt
ZW50KS5ob3N0RWxlbWVudCgpIDogZWxlbWVudC5wYXJlbnRFbGVtZW50KCk7CisgICAgd2hpbGUg
KGFuY2VzdG9yKSB7CisgICAgICAgIGlmIChhdXRvKiBzdHlsZSA9IGFuY2VzdG9yLT5leGlzdGlu
Z0NvbXB1dGVkU3R5bGUoKSkgeworICAgICAgICAgICAgaWYgKHN0eWxlLT5jb250YWluc1N0eWxl
KCkpCisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgLy8gRklYTUU6
IHRoaXMgc2hvdWxkIHVzZSBwYXJlbnRJbkNvbXBvc2VkVHJlZSBidXQgZm9yIG5vdyBtYXRjaGVz
IHRoZSByZXN0IG9mIFJlbmRlckNvdW50ZXIuCisgICAgICAgIGFuY2VzdG9yID0gYW5jZXN0b3It
PnBhcmVudEVsZW1lbnQoKTsKKyAgICB9CisgICAgcmV0dXJuIGFuY2VzdG9yOworfQorCiAvLyBU
aGlzIGZ1bmN0aW9uIHByb2Nlc3NlcyB0aGUgcmVuZGVyZXIgdHJlZSBpbiB0aGUgb3JkZXIgb2Yg
dGhlIERPTSB0cmVlCiAvLyBpbmNsdWRpbmcgcHNldWRvIGVsZW1lbnRzIGFzIGRlZmluZWQgaW4g
Q1NTIDIuMS4KIHN0YXRpYyBSZW5kZXJFbGVtZW50KiBwcmV2aW91c0luUHJlT3JkZXIoY29uc3Qg
UmVuZGVyRWxlbWVudCYgcmVuZGVyZXIpCiB7CiAgICAgQVNTRVJUKHJlbmRlcmVyLmVsZW1lbnQo
KSk7CiAgICAgRWxlbWVudCogcHJldmlvdXMgPSBFbGVtZW50VHJhdmVyc2FsOjpwcmV2aW91c0lu
Y2x1ZGluZ1BzZXVkbygqcmVuZGVyZXIuZWxlbWVudCgpKTsKLSAgICB3aGlsZSAocHJldmlvdXMg
JiYgIXByZXZpb3VzLT5yZW5kZXJlcigpKQotICAgICAgICBwcmV2aW91cyA9IEVsZW1lbnRUcmF2
ZXJzYWw6OnByZXZpb3VzSW5jbHVkaW5nUHNldWRvKCpwcmV2aW91cyk7Ci0gICAgcmV0dXJuIHBy
ZXZpb3VzID8gcHJldmlvdXMtPnJlbmRlcmVyKCkgOiAwOworICAgIEVsZW1lbnQqIHN0eWxlQ29u
dGFpbkFuY2VzdG9yID0gYW5jZXN0b3JTdHlsZUNvbnRhaW5tZW50T2JqZWN0KCpyZW5kZXJlci5l
bGVtZW50KCkpOworCisgICAgd2hpbGUgKHRydWUpIHsKKyAgICAgICAgd2hpbGUgKHByZXZpb3Vz
ICYmICFwcmV2aW91cy0+cmVuZGVyZXIoKSkKKyAgICAgICAgICAgIHByZXZpb3VzID0gRWxlbWVu
dFRyYXZlcnNhbDo6cHJldmlvdXNJbmNsdWRpbmdQc2V1ZG8oKnByZXZpb3VzLCBzdHlsZUNvbnRh
aW5BbmNlc3Rvcik7CisgICAgICAgIGlmICghcHJldmlvdXMpCisgICAgICAgICAgICByZXR1cm4g
bnVsbHB0cjsKKyAgICAgICAgRWxlbWVudCogcHJldmlvdXNTdHlsZUNvbnRhaW5BbmNlc3RvciA9
IGFuY2VzdG9yU3R5bGVDb250YWlubWVudE9iamVjdCgqcHJldmlvdXMpOworICAgICAgICBpZiAo
cHJldmlvdXNTdHlsZUNvbnRhaW5BbmNlc3RvciA9PSBzdHlsZUNvbnRhaW5BbmNlc3RvcikKKyAg
ICAgICAgICAgIHJldHVybiBwcmV2aW91cy0+cmVuZGVyZXIoKTsKKyAgICAgICAgaWYgKCFwcmV2
aW91c1N0eWxlQ29udGFpbkFuY2VzdG9yKQorICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7Cisg
ICAgICAgIHByZXZpb3VzID0gcHJldmlvdXNTdHlsZUNvbnRhaW5BbmNlc3RvcjsKKyAgICB9CiB9
CiAKIHN0YXRpYyBpbmxpbmUgRWxlbWVudCogcGFyZW50T3JQc2V1ZG9Ib3N0RWxlbWVudChjb25z
dCBSZW5kZXJFbGVtZW50JiByZW5kZXJlcikKQEAgLTk2LDYgKzEyMSw4IEBAIHN0YXRpYyBFbGVt
ZW50KiBwcmV2aW91c1NpYmxpbmdPclBhcmVudEVsZW1lbnQoY29uc3QgRWxlbWVudCYgZWxlbWVu
dCkKICAgICBhdXRvKiBwYXJlbnQgPSBlbGVtZW50LnBhcmVudEVsZW1lbnQoKTsKICAgICBpZiAo
cGFyZW50ICYmICFwYXJlbnQtPnJlbmRlcmVyKCkpCiAgICAgICAgIHBhcmVudCA9IHByZXZpb3Vz
U2libGluZ09yUGFyZW50RWxlbWVudCgqcGFyZW50KTsKKyAgICBpZiAocGFyZW50ICYmIHBhcmVu
dC0+cmVuZGVyZXIoKSAmJiBwYXJlbnQtPnJlbmRlcmVyKCktPnN0eWxlKCkuY29udGFpbnNTdHls
ZSgpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICByZXR1cm4gcGFyZW50OwogfQogCkBA
IC0zMzUsNyArMzYyLDcgQEAgc3RhdGljIENvdW50ZXJOb2RlKiBtYWtlQ291bnRlck5vZGUoUmVu
ZGVyRWxlbWVudCYgcmVuZGVyZXIsIGNvbnN0IEF0b21TdHJpbmcmIGkKICAgICBtYXBzLmFkZCgm
cmVuZGVyZXIsIG1ha2VVbmlxdWU8Q291bnRlck1hcD4oKSkuaXRlcmF0b3ItPnZhbHVlLT5hZGQo
aWRlbnRpZmllciwgbmV3Tm9kZS5jb3B5UmVmKCkpOwogICAgIHJlbmRlcmVyLnNldEhhc0NvdW50
ZXJOb2RlTWFwKHRydWUpOwogCi0gICAgaWYgKG5ld05vZGUtPnBhcmVudCgpKQorICAgIGlmIChu
ZXdOb2RlLT5wYXJlbnQoKSB8fCBzaG91bGRBcHBseVN0eWxlQ29udGFpbm1lbnQocmVuZGVyZXIp
KQogICAgICAgICByZXR1cm4gbmV3Tm9kZS5wdHIoKTsKIAogICAgIC8vIENoZWNrIGlmIHNvbWUg
bm9kZXMgdGhhdCB3ZXJlIHByZXZpb3VzbHkgcm9vdCBub2RlcyBzaG91bGQgYmVjb21lIGNoaWxk
cmVuIG9mIHRoaXMgbm9kZSBub3cuCkBAIC0zNDMsNyArMzcwLDcgQEAgc3RhdGljIENvdW50ZXJO
b2RlKiBtYWtlQ291bnRlck5vZGUoUmVuZGVyRWxlbWVudCYgcmVuZGVyZXIsIGNvbnN0IEF0b21T
dHJpbmcmIGkKICAgICBhdXRvKiBzdGF5V2l0aGluID0gcGFyZW50T3JQc2V1ZG9Ib3N0RWxlbWVu
dChyZW5kZXJlcik7CiAgICAgYm9vbCBza2lwRGVzY2VuZGFudHMgPSBmYWxzZTsKICAgICB3aGls
ZSAoKGN1cnJlbnRSZW5kZXJlciA9IG5leHRJblByZU9yZGVyKCpjdXJyZW50UmVuZGVyZXIsIHN0
YXlXaXRoaW4sIHNraXBEZXNjZW5kYW50cykpKSB7Ci0gICAgICAgIHNraXBEZXNjZW5kYW50cyA9
IGZhbHNlOworICAgICAgICBza2lwRGVzY2VuZGFudHMgPSBzaG91bGRBcHBseVN0eWxlQ29udGFp
bm1lbnQoKmN1cnJlbnRSZW5kZXJlcik7CiAgICAgICAgIGlmICghY3VycmVudFJlbmRlcmVyLT5o
YXNDb3VudGVyTm9kZU1hcCgpKQogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIGF1dG8q
IGN1cnJlbnRDb3VudGVyID0gbWFwcy5maW5kKGN1cnJlbnRSZW5kZXJlciktPnZhbHVlLT5nZXQo
aWRlbnRpZmllcik7CkBAIC01NDksOCArNTc2LDEwIEBAIHZvaWQgUmVuZGVyQ291bnRlcjo6cmVu
ZGVyZXJTdWJ0cmVlQXR0YWNoZWQoUmVuZGVyRWxlbWVudCYgcmVuZGVyZXIpCiAgICAgICAgIGVs
ZW1lbnQgPSByZW5kZXJlci5nZW5lcmF0aW5nRWxlbWVudCgpOwogICAgIGlmIChlbGVtZW50ICYm
ICFlbGVtZW50LT5yZW5kZXJlcigpKQogICAgICAgICByZXR1cm47IC8vIE5vIG5lZWQgdG8gdXBk
YXRlIGlmIHRoZSBwYXJlbnQgaXMgbm90IGF0dGFjaGVkIHlldAorICAgIGJvb2wgY3Jvc3NlZFN0
eWxlQ29udGFpbm1lbnRCb3VuZGFyeSA9IGZhbHNlOwogICAgIGZvciAoUmVuZGVyT2JqZWN0KiBk
ZXNjZW5kYW50ID0gJnJlbmRlcmVyOyBkZXNjZW5kYW50OyBkZXNjZW5kYW50ID0gZGVzY2VuZGFu
dC0+bmV4dEluUHJlT3JkZXIoJnJlbmRlcmVyKSkgewotICAgICAgICBpZiAoaXM8UmVuZGVyRWxl
bWVudD4oKmRlc2NlbmRhbnQpKQorICAgICAgICBjcm9zc2VkU3R5bGVDb250YWlubWVudEJvdW5k
YXJ5ID0gY3Jvc3NlZFN0eWxlQ29udGFpbm1lbnRCb3VuZGFyeSB8fCBzaG91bGRBcHBseVN0eWxl
Q29udGFpbm1lbnQoKmRlc2NlbmRhbnQpOworICAgICAgICBpZiAoY3Jvc3NlZFN0eWxlQ29udGFp
bm1lbnRCb3VuZGFyeSAmJiBpczxSZW5kZXJFbGVtZW50PigqZGVzY2VuZGFudCkpCiAgICAgICAg
ICAgICB1cGRhdGVDb3VudGVycyhkb3duY2FzdDxSZW5kZXJFbGVtZW50PigqZGVzY2VuZGFudCkp
OwogICAgIH0KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJP
YmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKaW5k
ZXggZTdkYWIyYTlmMDQ2N2I1YTRkZWQxNGQxM2E2NTBkM2U5OWJmNzQwMy4uZmI5MTkwYWI1YTU3
ZGIxNzcxZjBlOTNkMjI1Njg5ZWRiNTFkM2E3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlck9iamVjdC5jcHAKQEAgLTI1MzksMyArMjUzOSwxMCBAQCBib29sIFdlYkNvcmU6OnNo
b3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50KGNvbnN0IFdlYkNvcmU6OlJlbmRlck9iamVjdCYgcmVu
ZGVyZXIpCiB7CiAgICAgcmV0dXJuIHJlbmRlcmVyLnN0eWxlKCkuY29udGFpbnNTaXplKCkgJiYg
KCFyZW5kZXJlci5pc0lubGluZSgpIHx8IHJlbmRlcmVyLmlzQXRvbWljSW5saW5lTGV2ZWxCb3go
KSkgJiYgIXJlbmRlcmVyLmlzUnVieVRleHQoKSAmJiAoIXJlbmRlcmVyLmlzVGFibGVQYXJ0KCkg
fHwgcmVuZGVyZXIuaXNUYWJsZUNhcHRpb24oKSkgJiYgIXJlbmRlcmVyLmlzVGFibGUoKTsKIH0K
KworYm9vbCBXZWJDb3JlOjpzaG91bGRBcHBseVN0eWxlQ29udGFpbm1lbnQoY29uc3QgV2ViQ29y
ZTo6UmVuZGVyT2JqZWN0JiByZW5kZXJlcikKK3sKKyAgICBpZiAoIXJlbmRlcmVyLnN0eWxlKCku
Y29udGFpbnNTdHlsZSgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuICghcmVu
ZGVyZXIuaXNJbmxpbmUoKSB8fCByZW5kZXJlci5pc0F0b21pY0lubGluZUxldmVsQm94KCkpICYm
ICFyZW5kZXJlci5pc1J1YnlUZXh0KCkgJiYgKCFyZW5kZXJlci5pc1RhYmxlUGFydCgpIHx8IHJl
bmRlcmVyLmlzVGFibGVDYXB0aW9uKCkpICYmICFyZW5kZXJlci5pc1RhYmxlKCk7Cit9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmggYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKaW5kZXggYzUzNGM5ZmRkMDVkNTg0NzBm
YTdlNjYxNDg2YTZhZWFjY2Q2NjhkMi4uN2QwYmViZGJhMjRhMzVlYjA4OWNmOGRlMzM1YjA1MWQ5
NDQyNDdkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVj
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaApAQCAtMTIw
OCw2ICsxMjA4LDcgQEAgdm9pZCBwcmludEdyYXBoaWNzTGF5ZXJUcmVlRm9yTGl2ZURvY3VtZW50
cygpOwogCiBib29sIHNob3VsZEFwcGx5TGF5b3V0Q29udGFpbm1lbnQoY29uc3QgUmVuZGVyT2Jq
ZWN0Jik7CiBib29sIHNob3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50KGNvbnN0IFJlbmRlck9iamVj
dCYpOworYm9vbCBzaG91bGRBcHBseVN0eWxlQ29udGFpbm1lbnQoY29uc3QgUmVuZGVyT2JqZWN0
Jik7CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3R5bGUvUmVuZGVyU3R5bGUuaAppbmRleCA3ZWNiNGIzZDI1ZGRhZjdmNzI3NzZlN2FkNDBk
ZDZiZDY1OGUwY2M4Li4zYmZiMTI4ZTUzOGM0ZDBiM2M4OWRjMjczMzFjZDc5ODEzMjdiZDliIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaApAQCAtNTMx
LDYgKzUzMSw3IEBAIHB1YmxpYzoKICAgICBPcHRpb25TZXQ8Q29udGFpbm1lbnQ+IGNvbnRhaW4o
KSBjb25zdCB7IHJldHVybiBtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5jb250YWluOyB9CiAgICAg
Ym9vbCBjb250YWluc0xheW91dCgpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZU5vbkluaGVyaXRlZERh
dGEtPmNvbnRhaW4uY29udGFpbnMoQ29udGFpbm1lbnQ6OkxheW91dCk7IH0KICAgICBib29sIGNv
bnRhaW5zU2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmNvbnRh
aW4uY29udGFpbnMoQ29udGFpbm1lbnQ6OlNpemUpOyB9CisgICAgYm9vbCBjb250YWluc1N0eWxl
KCkgY29uc3QgeyByZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+Y29udGFpbi5jb250YWlu
cyhDb250YWlubWVudDo6U3R5bGUpOyB9CiAgICAgQm94QWxpZ25tZW50IGJveEFsaWduKCkgY29u
c3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8Qm94QWxpZ25tZW50PihtX3JhcmVOb25Jbmhlcml0ZWRE
YXRhLT5kZXByZWNhdGVkRmxleGlibGVCb3gtPmFsaWduKTsgfQogICAgIEJveERpcmVjdGlvbiBi
b3hEaXJlY3Rpb24oKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxCb3hEaXJlY3Rpb24+KG1f
aW5oZXJpdGVkRmxhZ3MuYm94RGlyZWN0aW9uKTsgfQogICAgIGZsb2F0IGJveEZsZXgoKSBjb25z
dCB7IHJldHVybiBtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5kZXByZWNhdGVkRmxleGlibGVCb3gt
PmZsZXg7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5k
ZXJTdHlsZUNvbnN0YW50cy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRl
clN0eWxlQ29uc3RhbnRzLmgKaW5kZXggNTJkNGFlZWJjNzFiNDI1MTZjYTcyMjBlZTZmM2NhYWY2
YmQ0NTIzYS4uNWQ2ZTcwY2EyYWRhNDIzMmVjMjg4YWI3M2U2MzczNTFiMDc5MDE3ZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRz
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3Rh
bnRzLmgKQEAgLTEyNDEsNiArMTI0MSw3IEBAIGVudW0gY2xhc3MgQ29udGFpbm1lbnQgOiB1aW50
OF90IHsKICAgICBMYXlvdXQgICA9IDEgPDwgMCwKICAgICBQYWludCAgICA9IDEgPDwgMSwKICAg
ICBTaXplICAgICA9IDEgPDwgMiwKKyAgICBTdHlsZSAgICA9IDEgPDwgMywKIH07CiAKIENTU0Jv
eFR5cGUgdHJhbnNmb3JtQm94VG9DU1NCb3hUeXBlKFRyYW5zZm9ybUJveCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZUJ1aWxkZXJDdXN0b20uaCBiL1NvdXJjZS9XZWJD
b3JlL3N0eWxlL1N0eWxlQnVpbGRlckN1c3RvbS5oCmluZGV4IDNmZmZlMzM1MDcyYjg1MDQ3MWY5
N2NhNDRlYjdjYTM1ZDI2NzJmOTEuLjllZTNhNDI3Nzg3MzJjNWVhM2RiNWNiNWI2NGMwM2EyMjRm
OWYxYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQnVpbGRlckN1c3Rv
bS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQnVpbGRlckN1c3RvbS5oCkBAIC0x
Mjc3LDYgKzEyNzcsOSBAQCBpbmxpbmUgdm9pZCBCdWlsZGVyQ3VzdG9tOjphcHBseVZhbHVlQ29u
dGFpbihCdWlsZGVyU3RhdGUmIGJ1aWxkZXJTdGF0ZSwgQ1NTVmFsdQogICAgICAgICBjYXNlIENT
U1ZhbHVlUGFpbnQ6CiAgICAgICAgICAgICBjb250YWlubWVudC5hZGQoQ29udGFpbm1lbnQ6OlBh
aW50KTsKICAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIENTU1ZhbHVlU3R5bGU6Cisg
ICAgICAgICAgICBjb250YWlubWVudC5hZGQoQ29udGFpbm1lbnQ6OlN0eWxlKTsKKyAgICAgICAg
ICAgIGJyZWFrOwogICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
IH07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKaW5kZXggYzI5NWFiNzQwMTU2ZjM2MjVmYWZhZDkzYWJkOGRlZTkyYWYyN2IxOC4uNjNl
YmNiZTFiYmM5MzI2ZWJjOTM5ODQ1YTczY2M1ZjMwNTk4ZmJhZSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0
IEBACisyMDIxLTEwLTIxICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAg
W2Nzcy1jb250YWluXSBTdXBwb3J0IGNvbnRhaW46c3R5bGUgZm9yIGNvdW50ZXJzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjY0NTgKKworICAgICAg
ICBSZXZpZXdlZCBieSBBbnR0aSBLb2l2aXN0by4KKworICAgICAgICBVbnNraXAgdGVzdHMgdGhh
dCBub3cgcGFzcy4KKworICAgICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6CisKIDIwMjEtMTAtMjEg
IEVucmlxdWUgT2Nhw7FhIEdvbnrDoWxleiAgPGVvY2FuaGFAaWdhbGlhLmNvbT4KIAogICAgICAg
ICBSRUdSRVNTSU9OKHIyODIwNTkpIFtHU3RyZWFtZXJdIFRlc3QgbWVkaWEvbWVkaWEtc291cmNl
L21lZGlhLXNvdXJjZS1zdGFsbGVkLWhvbGRzLXNsZWVwLWFzc2VydGlvbi5odG1sIHRpbWVvdXRz
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCAzOGE1NjBhM2RjYWMzMjk0ODljZGQz
ZjEyMjVlMWM2N2RlMmNiNDg0Li42ZDI2NmM5ZGQ2MjY5YTcyZGY4MDA3ZTU0NThiZTQ4MGU4N2Fj
YTc2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAy
MS0xMC0yMSAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIFtjc3MtY29u
dGFpbl0gU3VwcG9ydCBjb250YWluOnN0eWxlIGZvciBjb3VudGVycworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI2NDU4CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgQW50dGkgS29pdmlzdG8uCisKKyAgICAgICAgVXBkYXRlIGltcHJvdmVkIHRlc3QgcmVz
dWx0cy4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMjYtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vcGFyc2luZy9jb250YWlu
LWNvbXB1dGVkLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL3BhcnNpbmcvY29udGFpbi12YWxpZC1leHBlY3RlZC50eHQ6CisKIDIwMjEt
MTAtMjAgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAg
ICAgICBVUkxQYXJzZXIgc2hvdWxkIHJlamVjdCBob3N0cyB3aXRoIEMwIGNvbnRyb2wgY2hhcmFj
dGVycyBvciBVKzAwN0YKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMg
Yi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDU3ODBiZjVkZjkyMTFlYjI2MTFl
MWJiZTVkYTAwMzI1NmNiYWEwYmIuLjI2NjVjY2NjNWYxNGUxZTNjZjFiMzkzMzU0ZDI1ZTMzMTIz
YWM4MjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5
b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtNDg1NSwxMCArNDg1NSw2IEBAIGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtdGFi
bGUtMDAyLmh0bWwgWyBJCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250YWluLXN0cmljdC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zdHJp
Y3QtMDAyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc3RyaWN0LTAxMS5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250YWluLXN0eWxlLWNvdW50ZXJzLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
Ci1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWlu
LXN0eWxlLWNvdW50ZXJzLTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXN0eWxlLWNvdW50
ZXJzLTAwMy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXN0eWxlLWNvdW50ZXJzLTAwNC5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAzMi5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAz
My5zdWIuaHR0cHMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQt
dmlzaWJpbGl0eS0wMzQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQpAQCAtNDg4MSw3ICs0ODc3
LDYgQEAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGVudC12aXNpYmlsaXR5L2VsZW1lbnQtcmVhc3MKIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9lbGVtZW50LXJlYXNzaWdu
ZWQtdG8tc2xvdC1pbi1za2lwcGVkLXN1YnRyZWUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQog
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY291bnRlci1z
Y29waW5nLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb3VudGVyLXNjb3BpbmctMDAyLmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvdW50ZXItc2NvcGluZy0wMDMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQog
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vcXVvdGUtc2Nv
cGluZy0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vcXVvdGUtc2NvcGluZy0wMDIuaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vcXVvdGUtc2NvcGluZy0wMDMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMjYtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMjYtZXhw
ZWN0ZWQudHh0CmluZGV4IDAxMTU2ZGQ4OGIxMjI2NzE1YWU1YTE5NmFhYmE0MTZkODE3ZDA2MmEu
LjY1ZTE1MzA4NDk2YTkyZjI3MTI3NTE2ODFmZTY4OWVhNmZmMzA2NTUgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDI2LWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAyNi1leHBlY3Rl
ZC50eHQKQEAgLTEsNiArMSw2IEBACiAKIEZBSUwgY29udGVudC12aXNpYmlsaXR5OiBoaWRkZW4g
YWRkcyBjb250YWluOiBzaXplIGxheW91dCBzdHlsZTsgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQg
InNpemUgbGF5b3V0IHN0eWxlIHBhaW50IiBidXQgZ290ICJub25lIgogRkFJTCBjb250ZW50LXZp
c2liaWxpdHk6IGF1dG8gYWRkcyBjb250YWluOiBzaXplIGxheW91dCBzdHlsZSBwYWludDsgYXNz
ZXJ0X2VxdWFsczogaW5pdGlhbCBvbnNjcmVlbiBleHBlY3RlZCAic2l6ZSBsYXlvdXQgc3R5bGUg
cGFpbnQiIGJ1dCBnb3QgIm5vbmUiCi1GQUlMIGNvbnRlbnQtdmlzaWJpbGl0eTogYXV0byBhZGRz
IGNvbnRhaW46IHNpemUgbGF5b3V0IHN0eWxlIHBhaW50LCBjYW4ndCBiZSBvdmVycmlkZGVuIGFz
c2VydF9lcXVhbHM6IGV4cGVjdGVkICJzaXplIGxheW91dCBzdHlsZSBwYWludCIgYnV0IGdvdCAi
bm9uZSIKK0ZBSUwgY29udGVudC12aXNpYmlsaXR5OiBhdXRvIGFkZHMgY29udGFpbjogc2l6ZSBs
YXlvdXQgc3R5bGUgcGFpbnQsIGNhbid0IGJlIG92ZXJyaWRkZW4gYXNzZXJ0X2VxdWFsczogZXhw
ZWN0ZWQgInNpemUgbGF5b3V0IHN0eWxlIHBhaW50IiBidXQgZ290ICJzdHlsZSIKIEZBSUwgY29u
dGVudC12aXNpYmlsaXR5IGtlZXBzIGFsbCBjb250YWlubWVudCBldmVuIHdoZW4gc2hvcnRoYW5k
cyBhcmUgc3BlY2lmaWVkIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJzaXplIGxheW91dCBzdHls
ZSBwYWludCIgYnV0IGdvdCAicGFpbnQiCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL3BhcnNpbmcvY29udGFp
bi1jb21wdXRlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9wYXJzaW5nL2NvbnRhaW4tY29tcHV0ZWQtZXhw
ZWN0ZWQudHh0CmluZGV4IDRhMWEwZTY2MzVmZjhkYjdjMGM1OTU1MjM5MjIxMTkwZWI3Y2RhNmYu
LjViZmM5ZTQ1ZTNjNWZlMWIxNDc4OTRiZWIxZGM1OWIzZjI3MTYyNWIgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L3BhcnNpbmcvY29udGFpbi1jb21wdXRlZC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vcGFyc2luZy9j
b250YWluLWNvbXB1dGVkLWV4cGVjdGVkLnR4dApAQCAtNCwxMiArNCwxMiBAQCBQQVNTIFByb3Bl
cnR5IGNvbnRhaW4gdmFsdWUgJ3N0cmljdCcKIFBBU1MgUHJvcGVydHkgY29udGFpbiB2YWx1ZSAn
Y29udGVudCcKIFBBU1MgUHJvcGVydHkgY29udGFpbiB2YWx1ZSAnc2l6ZScKIFBBU1MgUHJvcGVy
dHkgY29udGFpbiB2YWx1ZSAnbGF5b3V0JwotRkFJTCBQcm9wZXJ0eSBjb250YWluIHZhbHVlICdz
dHlsZScgYXNzZXJ0X3RydWU6ICdzdHlsZScgaXMgYSBzdXBwb3J0ZWQgdmFsdWUgZm9yIGNvbnRh
aW4uIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitQQVNTIFByb3BlcnR5IGNvbnRhaW4gdmFsdWUg
J3N0eWxlJwogUEFTUyBQcm9wZXJ0eSBjb250YWluIHZhbHVlICdwYWludCcKIFBBU1MgUHJvcGVy
dHkgY29udGFpbiB2YWx1ZSAnc2l6ZSBsYXlvdXQnCi1GQUlMIFByb3BlcnR5IGNvbnRhaW4gdmFs
dWUgJ3N0eWxlIHBhaW50JyBhc3NlcnRfdHJ1ZTogJ3N0eWxlIHBhaW50JyBpcyBhIHN1cHBvcnRl
ZCB2YWx1ZSBmb3IgY29udGFpbi4gZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgUHJvcGVy
dHkgY29udGFpbiB2YWx1ZSAnbGF5b3V0IHN0eWxlIHBhaW50JyBhc3NlcnRfdHJ1ZTogJ2xheW91
dCBzdHlsZSBwYWludCcgaXMgYSBzdXBwb3J0ZWQgdmFsdWUgZm9yIGNvbnRhaW4uIGV4cGVjdGVk
IHRydWUgZ290IGZhbHNlCi1GQUlMIFByb3BlcnR5IGNvbnRhaW4gdmFsdWUgJ3NpemUgbGF5b3V0
IHN0eWxlIHBhaW50JyBhc3NlcnRfdHJ1ZTogJ3NpemUgbGF5b3V0IHN0eWxlIHBhaW50JyBpcyBh
IHN1cHBvcnRlZCB2YWx1ZSBmb3IgY29udGFpbi4gZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK1BB
U1MgUHJvcGVydHkgY29udGFpbiB2YWx1ZSAnc3R5bGUgcGFpbnQnCitQQVNTIFByb3BlcnR5IGNv
bnRhaW4gdmFsdWUgJ2xheW91dCBzdHlsZSBwYWludCcKK1BBU1MgUHJvcGVydHkgY29udGFpbiB2
YWx1ZSAnc2l6ZSBsYXlvdXQgc3R5bGUgcGFpbnQnCiBQQVNTIFByb3BlcnR5IGNvbnRhaW4gdmFs
dWUgJ3NpemUgbGF5b3V0IHBhaW50JwogUEFTUyBQcm9wZXJ0eSBjb250YWluIHZhbHVlICdsYXlv
dXQgcGFpbnQnCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL3BhcnNpbmcvY29udGFpbi12YWxpZC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9wYXJzaW5nL2NvbnRhaW4tdmFsaWQtZXhwZWN0ZWQudHh0CmluZGV4IGU1MTU1
MGUxNDA1ZWE0ZTE4NzQ5NTQxYWI4NTAyNzc3NzI2NGRkMzcuLjg1ZmNmZTE3Mzk3YjI5NjZhMDk2
YWVhNjgzODhkM2M3ZjE3NTNhZjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL3BhcnNpbmcvY29udGFpbi12YWxp
ZC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vcGFyc2luZy9jb250YWluLXZhbGlkLWV4cGVjdGVkLnR4
dApAQCAtNCwxMCArNCwxMCBAQCBQQVNTIGUuc3R5bGVbJ2NvbnRhaW4nXSA9ICJzdHJpY3QiIHNo
b3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlCiBQQVNTIGUuc3R5bGVbJ2NvbnRhaW4nXSA9ICJj
b250ZW50IiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZQogUEFTUyBlLnN0eWxlWydjb250
YWluJ10gPSAic2l6ZSIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUKIFBBU1MgZS5zdHls
ZVsnY29udGFpbiddID0gImxheW91dCIgc2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUKLUZB
SUwgZS5zdHlsZVsnY29udGFpbiddID0gInN0eWxlIiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2
YWx1ZSBhc3NlcnRfbm90X2VxdWFsczogcHJvcGVydHkgc2hvdWxkIGJlIHNldCBnb3QgZGlzYWxs
b3dlZCB2YWx1ZSAiIgorUEFTUyBlLnN0eWxlWydjb250YWluJ10gPSAic3R5bGUiIHNob3VsZCBz
ZXQgdGhlIHByb3BlcnR5IHZhbHVlCiBQQVNTIGUuc3R5bGVbJ2NvbnRhaW4nXSA9ICJwYWludCIg
c2hvdWxkIHNldCB0aGUgcHJvcGVydHkgdmFsdWUKIFBBU1MgZS5zdHlsZVsnY29udGFpbiddID0g
ImxheW91dCBzaXplIiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZQotRkFJTCBlLnN0eWxl
Wydjb250YWluJ10gPSAicGFpbnQgc3R5bGUiIHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVl
IGFzc2VydF9ub3RfZXF1YWxzOiBwcm9wZXJ0eSBzaG91bGQgYmUgc2V0IGdvdCBkaXNhbGxvd2Vk
IHZhbHVlICIiCi1GQUlMIGUuc3R5bGVbJ2NvbnRhaW4nXSA9ICJsYXlvdXQgc3R5bGUgcGFpbnQi
IHNob3VsZCBzZXQgdGhlIHByb3BlcnR5IHZhbHVlIGFzc2VydF9ub3RfZXF1YWxzOiBwcm9wZXJ0
eSBzaG91bGQgYmUgc2V0IGdvdCBkaXNhbGxvd2VkIHZhbHVlICIiCi1GQUlMIGUuc3R5bGVbJ2Nv
bnRhaW4nXSA9ICJsYXlvdXQgcGFpbnQgc3R5bGUgc2l6ZSIgc2hvdWxkIHNldCB0aGUgcHJvcGVy
dHkgdmFsdWUgYXNzZXJ0X25vdF9lcXVhbHM6IHByb3BlcnR5IHNob3VsZCBiZSBzZXQgZ290IGRp
c2FsbG93ZWQgdmFsdWUgIiIKK1BBU1MgZS5zdHlsZVsnY29udGFpbiddID0gInBhaW50IHN0eWxl
IiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZQorUEFTUyBlLnN0eWxlWydjb250YWluJ10g
PSAibGF5b3V0IHN0eWxlIHBhaW50IiBzaG91bGQgc2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZQorUEFT
UyBlLnN0eWxlWydjb250YWluJ10gPSAibGF5b3V0IHBhaW50IHN0eWxlIHNpemUiIHNob3VsZCBz
ZXQgdGhlIHByb3BlcnR5IHZhbHVlCiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>442303</attachid>
            <date>2021-10-24 04:15:43 -0700</date>
            <delta_ts>2021-10-24 07:50:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226458-20211024131541.patch</filename>
            <type>text/plain</type>
            <size>2131</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0NzU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmM1ZGM5N2E4NTI4ZDIz
NzYxZTU1Njc0NjU3YTA0YWZkNjVjMmRkYi4uOWMyMjUzZTAxZjAzNDMxODg2OGI2ODQ0NTk0ODI4
ZDFhODM5YmY0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTEwLTI0ICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgW2Nzcy1jb250YWluXSBTdXBwb3J0
IGNvbnRhaW46c3R5bGUgZm9yIGNvdW50ZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMjY0NTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBSZW1vdmUgdW5uZWVkZWQgbG9naWMgZnJvbSByMjg0NjQyIGNo
YW5nZS4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJDb3VudGVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OnByZXZpb3VzSW5QcmVPcmRlcik6CisKIDIwMjEtMTAtMjMgIFJvYiBCdWlzICA8
cmJ1aXNAaWdhbGlhLmNvbT4KIAogICAgICAgICBOdWxsIGNoZWNrIGluIHRyYXZlcnNlTm9kZXNG
b3JTZXJpYWxpemF0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQ291bnRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQ291bnRlci5j
cHAKaW5kZXggMWI3Njc5M2EyNjk4MTRlNjZmN2NhMDZlNmY5ZjQxYWVkMTRkMTk3YS4uNDYzZDBk
ZTdmZDYzNzBhY2I4N2QwYmNkYjYyNjFmMTE4NDZlNjNiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckNvdW50ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJDb3VudGVyLmNwcApAQCAtNzksMTggKzc5LDExIEBAIHN0YXRpYyBSZW5k
ZXJFbGVtZW50KiBwcmV2aW91c0luUHJlT3JkZXIoY29uc3QgUmVuZGVyRWxlbWVudCYgcmVuZGVy
ZXIpCiAgICAgRWxlbWVudCogcHJldmlvdXMgPSBFbGVtZW50VHJhdmVyc2FsOjpwcmV2aW91c0lu
Y2x1ZGluZ1BzZXVkbygqcmVuZGVyZXIuZWxlbWVudCgpKTsKICAgICBFbGVtZW50KiBzdHlsZUNv
bnRhaW5BbmNlc3RvciA9IGFuY2VzdG9yU3R5bGVDb250YWlubWVudE9iamVjdCgqcmVuZGVyZXIu
ZWxlbWVudCgpKTsKIAotICAgIHdoaWxlICh0cnVlKSB7Ci0gICAgICAgIHdoaWxlIChwcmV2aW91
cyAmJiAhcHJldmlvdXMtPnJlbmRlcmVyKCkpCi0gICAgICAgICAgICBwcmV2aW91cyA9IEVsZW1l
bnRUcmF2ZXJzYWw6OnByZXZpb3VzSW5jbHVkaW5nUHNldWRvKCpwcmV2aW91cywgc3R5bGVDb250
YWluQW5jZXN0b3IpOwotICAgICAgICBpZiAoIXByZXZpb3VzKQotICAgICAgICAgICAgcmV0dXJu
IG51bGxwdHI7Ci0gICAgICAgIEVsZW1lbnQqIHByZXZpb3VzU3R5bGVDb250YWluQW5jZXN0b3Ig
PSBhbmNlc3RvclN0eWxlQ29udGFpbm1lbnRPYmplY3QoKnByZXZpb3VzKTsKLSAgICAgICAgaWYg
KHByZXZpb3VzU3R5bGVDb250YWluQW5jZXN0b3IgPT0gc3R5bGVDb250YWluQW5jZXN0b3IpCi0g
ICAgICAgICAgICByZXR1cm4gcHJldmlvdXMtPnJlbmRlcmVyKCk7Ci0gICAgICAgIGlmICghcHJl
dmlvdXNTdHlsZUNvbnRhaW5BbmNlc3RvcikKLSAgICAgICAgICAgIHJldHVybiBudWxscHRyOwot
ICAgICAgICBwcmV2aW91cyA9IHByZXZpb3VzU3R5bGVDb250YWluQW5jZXN0b3I7Ci0gICAgfQor
ICAgIHdoaWxlIChwcmV2aW91cyAmJiAhcHJldmlvdXMtPnJlbmRlcmVyKCkpCisgICAgICAgIHBy
ZXZpb3VzID0gRWxlbWVudFRyYXZlcnNhbDo6cHJldmlvdXNJbmNsdWRpbmdQc2V1ZG8oKnByZXZp
b3VzLCBzdHlsZUNvbnRhaW5BbmNlc3Rvcik7CisgICAgaWYgKCFwcmV2aW91cykKKyAgICAgICAg
cmV0dXJuIG51bGxwdHI7CisgICAgcmV0dXJuIHByZXZpb3VzLT5yZW5kZXJlcigpOwogfQogCiBz
dGF0aWMgaW5saW5lIEVsZW1lbnQqIHBhcmVudE9yUHNldWRvSG9zdEVsZW1lbnQoY29uc3QgUmVu
ZGVyRWxlbWVudCYgcmVuZGVyZXIpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>