<?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>238350</bug_id>
          
          <creation_ts>2022-03-24 14:57:07 -0700</creation_ts>
          <short_desc>[css-cascade] Merge getRelatedPropertyId() and shouldApplyPropertyInParseOrder()</short_desc>
          <delta_ts>2022-04-08 14:41:15 -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>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>238356</dependson>
          <blocked>238874</blocked>
    
    <blocked>238125</blocked>
    
    <blocked>238345</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Oriol Brufau">obrufau</reporter>
          <assigned_to name="Oriol Brufau">obrufau</assigned_to>
          <cc>darin</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>joepeck</cc>
    
    <cc>koivisto</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>ntim</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1854873</commentid>
    <comment_count>0</comment_count>
      <attachid>455692</attachid>
    <who name="Oriol Brufau">obrufau</who>
    <bug_when>2022-03-24 14:57:07 -0700</bug_when>
    <thetext>Created attachment 455692
testcase

getRelatedPropertyId() is automatically generated from the &quot;related-property&quot; flag in CSSProperties.json

shouldApplyPropertyInParseOrder() is hardcoded in PropertyCascade.cpp

Both pursue the same thing: if there are two properties (typically a standard one and a -webkit- prefixed one) which share the same field in RenderStyle, then we should take order into account when deciding which one to apply.

For example, this works due to getRelatedPropertyId():

  &lt;div style=&quot;-webkit-text-orientation: mixed; text-orientation: upright&quot;&gt;I&apos;m upright&lt;/div&gt;
  &lt;div style=&quot;text-orientation: mixed; -webkit-text-orientation: upright&quot;&gt;I&apos;m upright&lt;/div&gt;

And this works due to shouldApplyPropertyInParseOrder():

  &lt;div style=&quot;-webkit-box-shadow: 0 0 10px red; box-shadow: 0 0 10px green&quot;&gt;I have green shadow&lt;/div&gt;
  &lt;div style=&quot;box-shadow: 0 0 10px red; -webkit-box-shadow: 0 0 10px green&quot;&gt;I have green shadow&lt;/div&gt;

They are implemented in different ways, though. And getRelatedPropertyId() fails here:

  &lt;style&gt;
  div { -webkit-text-orientation: mixed }
  div { text-orientation: upright }
  &lt;/style&gt;
  &lt;div&gt;upright&lt;/div&gt;

(see attachments for the full testcase)

shouldApplyPropertyInParseOrder() doesn&apos;t relate pairs of properties, but this will be needed for bug 238125.
Also, shouldApplyPropertyInParseOrder() needs to be automatically generated for bug 238345.

So I say:

 - Get rid of all consumers of getRelatedPropertyId().
 - Mark shouldApplyPropertyInParseOrder() properties with the &quot;related-property&quot; flag.
 - Change shouldApplyPropertyInParseOrder() to just return getRelatedPropertyId(id) != CSSPropertyID::CSSPropertyInvalid</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1854910</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-03-24 16:09:56 -0700</bug_when>
    <thetext>&lt;rdar://problem/90799930&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1854927</commentid>
    <comment_count>2</comment_count>
    <who name="Oriol Brufau">obrufau</who>
    <bug_when>2022-03-24 16:30:25 -0700</bug_when>
    <thetext>I realized that this won&apos;t work because text-orientation needs to be high priority, but deferred properties are applied at the end after low priority properties.

So it&apos;s a pity but I guess I will keep text-orientation as-is and add a similar flag for deferred properties in bug 238345.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1854974</commentid>
    <comment_count>3</comment_count>
    <who name="Oriol Brufau">obrufau</who>
    <bug_when>2022-03-24 17:56:38 -0700</bug_when>
    <thetext>Actually, I can do this if in bug 238356 I turn -webkit-text-orientation into a shorthand.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1855089</commentid>
    <comment_count>4</comment_count>
      <attachid>455761</attachid>
    <who name="Oriol Brufau">obrufau</who>
    <bug_when>2022-03-25 07:50:28 -0700</bug_when>
    <thetext>Created attachment 455761
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1855090</commentid>
    <comment_count>5</comment_count>
      <attachid>455762</attachid>
    <who name="Oriol Brufau">obrufau</who>
    <bug_when>2022-03-25 07:52:50 -0700</bug_when>
    <thetext>Created attachment 455762
Patch for EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1855091</commentid>
    <comment_count>6</comment_count>
    <who name="Oriol Brufau">obrufau</who>
    <bug_when>2022-03-25 07:58:20 -0700</bug_when>
    <thetext>PTAL</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1858855</commentid>
    <comment_count>7</comment_count>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2022-04-06 09:06:10 -0700</bug_when>
    <thetext>Seems like this patch needs rebasing, even with the dependent patch landed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1858856</commentid>
    <comment_count>8</comment_count>
    <who name="Oriol Brufau">obrufau</who>
    <bug_when>2022-04-06 09:07:55 -0700</bug_when>
    <thetext>Yes, it needs to be rebased because I also landed bug 237487</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1858867</commentid>
    <comment_count>9</comment_count>
      <attachid>456826</attachid>
    <who name="Oriol Brufau">obrufau</who>
    <bug_when>2022-04-06 09:28:19 -0700</bug_when>
    <thetext>Created attachment 456826
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1859779</commentid>
    <comment_count>10</comment_count>
      <attachid>456826</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2022-04-08 10:05:18 -0700</bug_when>
    <thetext>Comment on attachment 456826
Patch

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

&gt; Source/WebCore/css/PropertySetCSSStyleDeclaration.cpp:305
&gt;      if (!value.isEmpty())
&gt;          return value;

How important is this transformation of an empty string into a null string? I’d like to look at call sites of this function to see how they rely on that.

&gt; Source/WebCore/css/makeprop.pl:608
&gt; +        die &quot;Property $name has an unknown related property: $related&quot; if !exists($nameToId{$related});
&gt; +        die &quot;High priority property $name can&apos;t have a related property: $related&quot; if $nameIsHighPriority{$name};
&gt; +        die &quot;Shorthand property $name can&apos;t have a related property: $related&quot; if exists $propertiesWithStyleBuilderOptions{$name}{&quot;longhands&quot;};
&gt; +        die &quot;Property $name can&apos;t have itself as a related property&quot; if $related eq $name;
&gt; +        die &quot;Property $name has $related as a related property, but it&apos;s not reciprocal&quot; if $relatedProperty{$related} ne $name;

Do we want &quot;\n&quot; in these so we don’t get a perl source file and line number on these error messages?

&gt; Source/WebCore/css/parser/CSSParserImpl.cpp:130
&gt; +        seenProperties.set(propertyIDIndex);

Now that we always do the test-and-set as a single operation, is there an optimization opportunity here? Typically it can be more efficient to test and set in a single atomic operation.

&gt; Source/WebCore/style/PropertyCascade.cpp:43
&gt; +    return getRelatedPropertyId(propertyID) != CSSPropertyInvalid;

This looks like more work. Does this have a measurable performance effect?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1859784</commentid>
    <comment_count>11</comment_count>
      <attachid>456826</attachid>
    <who name="Oriol Brufau">obrufau</who>
    <bug_when>2022-04-08 10:38:48 -0700</bug_when>
    <thetext>Comment on attachment 456826
Patch

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

&gt;&gt; Source/WebCore/css/PropertySetCSSStyleDeclaration.cpp:305
&gt;&gt;          return value;
&gt; 
&gt; How important is this transformation of an empty string into a null string? I’d like to look at call sites of this function to see how they rely on that.

The returned values are used for IDL getters, i.e. they are webexposed.
I don&apos;t know if it&apos;s important, but this condition was already there before related values were added in https://trac.webkit.org/changeset/259006/webkit#file28
So I would keep it just in case.

&gt;&gt; Source/WebCore/css/parser/CSSParserImpl.cpp:130
&gt;&gt; +        seenProperties.set(propertyIDIndex);
&gt; 
&gt; Now that we always do the test-and-set as a single operation, is there an optimization opportunity here? Typically it can be more efficient to test and set in a single atomic operation.

Again, I&apos;m just reverting this to before https://trac.webkit.org/changeset/259006/webkit#file31
seenProperties is a std::bitset, I don&apos;t see a way to simmultaneously test and set.

&gt;&gt; Source/WebCore/style/PropertyCascade.cpp:43
&gt;&gt; +    return getRelatedPropertyId(propertyID) != CSSPropertyInvalid;
&gt; 
&gt; This looks like more work. Does this have a measurable performance effect?

In bug 238345 I will remove shouldApplyPropertyInParseOrder() and just use `id &gt;= firstDeferredProperty`.
That should be fast.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1859788</commentid>
    <comment_count>12</comment_count>
      <attachid>456826</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2022-04-08 10:46:45 -0700</bug_when>
    <thetext>Comment on attachment 456826
Patch

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

&gt;&gt;&gt; Source/WebCore/css/PropertySetCSSStyleDeclaration.cpp:305
&gt;&gt;&gt;          return value;
&gt;&gt; 
&gt;&gt; How important is this transformation of an empty string into a null string? I’d like to look at call sites of this function to see how they rely on that.
&gt; 
&gt; The returned values are used for IDL getters, i.e. they are webexposed.
&gt; I don&apos;t know if it&apos;s important, but this condition was already there before related values were added in https://trac.webkit.org/changeset/259006/webkit#file28
&gt; So I would keep it just in case.

If it’s web-exposed, then it’s very important: JavaScript null. But I wonder in what cases getPropertyValue returns an empty string.

Given the name &quot;internal&quot; I wasn’t so clear this was web-exposed.

&gt;&gt;&gt; Source/WebCore/css/parser/CSSParserImpl.cpp:130
&gt;&gt;&gt; +        seenProperties.set(propertyIDIndex);
&gt;&gt; 
&gt;&gt; Now that we always do the test-and-set as a single operation, is there an optimization opportunity here? Typically it can be more efficient to test and set in a single atomic operation.
&gt; 
&gt; Again, I&apos;m just reverting this to before https://trac.webkit.org/changeset/259006/webkit#file31
&gt; seenProperties is a std::bitset, I don&apos;t see a way to simmultaneously test and set.

Makes sense. I think we might get a tiny performance boost from writing this:

    auto seenPropertyBit = seenProperties[propertyIDIndex];
    if (seenPropertyBit)
        continue;
    seenPropertyBit = true;

The result is a std::bitset::reference.

But maybe not worth trying it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1859807</commentid>
    <comment_count>13</comment_count>
      <attachid>457099</attachid>
    <who name="Oriol Brufau">obrufau</who>
    <bug_when>2022-04-08 11:15:02 -0700</bug_when>
    <thetext>Created attachment 457099
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1859810</commentid>
    <comment_count>14</comment_count>
      <attachid>456826</attachid>
    <who name="Oriol Brufau">obrufau</who>
    <bug_when>2022-04-08 11:18:41 -0700</bug_when>
    <thetext>Comment on attachment 456826
Patch

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

&gt;&gt;&gt;&gt; Source/WebCore/css/PropertySetCSSStyleDeclaration.cpp:305
&gt;&gt;&gt;&gt;          return value;
&gt;&gt;&gt; 
&gt;&gt;&gt; How important is this transformation of an empty string into a null string? I’d like to look at call sites of this function to see how they rely on that.
&gt;&gt; 
&gt;&gt; The returned values are used for IDL getters, i.e. they are webexposed.
&gt;&gt; I don&apos;t know if it&apos;s important, but this condition was already there before related values were added in https://trac.webkit.org/changeset/259006/webkit#file28
&gt;&gt; So I would keep it just in case.
&gt; 
&gt; If it’s web-exposed, then it’s very important: JavaScript null. But I wonder in what cases getPropertyValue returns an empty string.
&gt; 
&gt; Given the name &quot;internal&quot; I wasn’t so clear this was web-exposed.

The webexposed methods are actually

CSSStyleDeclaration::propertyValueForCamelCasedIDLAttribute
CSSStyleDeclaration::propertyValueForWebKitCasedIDLAttribute
CSSStyleDeclaration::propertyValueForDashedIDLAttribute
CSSStyleDeclaration::propertyValueForEpubCasedIDLAttribute
CSSStyleDeclaration::cssFloat

But they use `return getPropertyValueInternal(propertyID)` or `getPropertyValueInternal(CSSPropertyFloat)`

Here is the spec: https://andreubotella.com/csswg-auto-build/cssom-1/#dom-cssstyledeclaration-cssfloat

&gt;&gt; Source/WebCore/css/makeprop.pl:608
&gt;&gt; +        die &quot;Property $name has $related as a related property, but it&apos;s not reciprocal&quot; if $relatedProperty{$related} ne $name;
&gt; 
&gt; Do we want &quot;\n&quot; in these so we don’t get a perl source file and line number on these error messages?

Done.

&gt;&gt;&gt;&gt; Source/WebCore/css/parser/CSSParserImpl.cpp:130
&gt;&gt;&gt;&gt; +        seenProperties.set(propertyIDIndex);
&gt;&gt;&gt; 
&gt;&gt;&gt; Now that we always do the test-and-set as a single operation, is there an optimization opportunity here? Typically it can be more efficient to test and set in a single atomic operation.
&gt;&gt; 
&gt;&gt; Again, I&apos;m just reverting this to before https://trac.webkit.org/changeset/259006/webkit#file31
&gt;&gt; seenProperties is a std::bitset, I don&apos;t see a way to simmultaneously test and set.
&gt; 
&gt; Makes sense. I think we might get a tiny performance boost from writing this:
&gt; 
&gt;     auto seenPropertyBit = seenProperties[propertyIDIndex];
&gt;     if (seenPropertyBit)
&gt;         continue;
&gt;     seenPropertyBit = true;
&gt; 
&gt; The result is a std::bitset::reference.
&gt; 
&gt; But maybe not worth trying it.

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1859895</commentid>
    <comment_count>15</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-04-08 14:41:10 -0700</bug_when>
    <thetext>Committed r292636 (249456@main): &lt;https://commits.webkit.org/249456@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 457099.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>455692</attachid>
            <date>2022-03-24 14:57:07 -0700</date>
            <delta_ts>2022-03-24 14:57:07 -0700</delta_ts>
            <desc>testcase</desc>
            <filename>text-orientation.html</filename>
            <type>text/html</type>
            <size>889</size>
            <attacher name="Oriol Brufau">obrufau</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjxzdHlsZT4KbWFpbiB7CiAgd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1s
cjsKfQpkaXYgewogIG1hcmdpbjogMTBweDsKICBoZWlnaHQ6IDJlbTsKICB3aWR0aDogMmVtOwp9
CgojdGVzdDEgewogIHRleHQtb3JpZW50YXRpb246IG1peGVkOwogIC13ZWJraXQtdGV4dC1vcmll
bnRhdGlvbjogdXByaWdodDsKICBib3gtc2hhZG93OiAwIDAgMTBweCByZWQ7CiAgLXdlYmtpdC1i
b3gtc2hhZG93OiAwIDAgMTBweCBncmVlbjsKfQoKI3Rlc3QyIHsKICAtd2Via2l0LXRleHQtb3Jp
ZW50YXRpb246IG1peGVkOwogIHRleHQtb3JpZW50YXRpb246IHVwcmlnaHQ7CiAgLXdlYmtpdC1i
b3gtc2hhZG93OiAwIDAgMTBweCByZWQ7CiAgYm94LXNoYWRvdzogMCAwIDEwcHggZ3JlZW47Cn0K
CiN0ZXN0MyB7CiAgdGV4dC1vcmllbnRhdGlvbjogbWl4ZWQ7CiAgYm94LXNoYWRvdzogMCAwIDEw
cHggcmVkOwp9CiN0ZXN0MyB7CiAgLXdlYmtpdC10ZXh0LW9yaWVudGF0aW9uOiB1cHJpZ2h0Owog
IC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDEwcHggZ3JlZW4KfQoKI3Rlc3Q0IHsKICAtd2Via2l0
LXRleHQtb3JpZW50YXRpb246IG1peGVkOwogIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDEwcHgg
cmVkOwp9CiN0ZXN0NCB7CiAgdGV4dC1vcmllbnRhdGlvbjogdXByaWdodDsKICBib3gtc2hhZG93
OiAwIDAgMTBweCBncmVlbjsKfQo8L3N0eWxlPgpBbGwgb2YgdGhlc2Ugc2hvdWxkIGhhdmUgdXBy
aWdodCB0ZXh0IGFuZCBhIGdyZWVuIHNoYWRvdzoKPG1haW4+CiAgPGRpdiBpZD0idGVzdDEiPjE8
L2Rpdj4KICA8ZGl2IGlkPSJ0ZXN0MiI+MjwvZGl2PgogIDxkaXYgaWQ9InRlc3QzIj4zPC9kaXY+
CiAgPGRpdiBpZD0idGVzdDQiPjQ8L2Rpdj4KPC9tYWluPg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>455761</attachid>
            <date>2022-03-25 07:50:28 -0700</date>
            <delta_ts>2022-04-06 09:28:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-238350-20220325155026.patch</filename>
            <type>text/plain</type>
            <size>12140</size>
            <attacher name="Oriol Brufau">obrufau</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkxNzQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2Y3MmY2MjQ4ZWQ4OWM3
NWI1Yzc4ZTk1YTU5N2FlM2QzYmMyYzNiZC4uMWI4MDczNzFkZjdlNzkyNDFmODIzYTkzMzdjM2Yw
MGI2NTBiODA3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUzIEBACisyMDIyLTAzLTI1ICBPcmlv
bCBCcnVmYXUgIDxvYnJ1ZmF1QGlnYWxpYS5jb20+CisKKyAgICAgICAgW2Nzcy1jYXNjYWRlXSBN
ZXJnZSBnZXRSZWxhdGVkUHJvcGVydHlJZCgpIGFuZCBzaG91bGRBcHBseVByb3BlcnR5SW5QYXJz
ZU9yZGVyKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIzODM1MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IGdldFJlbGF0ZWRQcm9wZXJ0eUlkKCkgaXMgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgZnJvbSB0
aGUgInJlbGF0ZWQtcHJvcGVydHkiIGZsYWcgaW4gQ1NTUHJvcGVydGllcy5qc29uCisKKyAgICAg
ICAgc2hvdWxkQXBwbHlQcm9wZXJ0eUluUGFyc2VPcmRlcigpIGlzIGhhcmRjb2RlZCBpbiBQcm9w
ZXJ0eUNhc2NhZGUuY3BwCisKKyAgICAgICAgQm90aCBnZXRSZWxhdGVkUHJvcGVydHlJZCgpIGFu
ZCBzaG91bGRBcHBseVByb3BlcnR5SW5QYXJzZU9yZGVyKCkgcHVyc3VlCisgICAgICAgIHRoZSBz
YW1lIHRoaW5nOiBpZiB0aGVyZSBhcmUgdHdvIHByb3BlcnRpZXMgKHR5cGljYWxseSBhIHN0YW5k
YXJkIG9uZQorICAgICAgICBhbmQgYSAtd2Via2l0LSBwcmVmaXhlZCBvbmUpIHdoaWNoIHNoYXJl
IHRoZSBzYW1lIGZpZWxkIGluIFJlbmRlclN0eWxlLAorICAgICAgICB0aGVuIHdlIHNob3VsZCB0
YWtlIHNwZWNpZmllZCBvcmRlciBpbnRvIGFjY291bnQgd2hlbiBhcHBseWluZyB0aGVtLgorCisg
ICAgICAgIFRoZSBwcm9ibGVtIGlzIHRoYXQgdGhlIGxvZ2ljIGZvciBnZXRSZWxhdGVkUHJvcGVy
dHlJZCgpIGRvZXNuJ3Qgd29yaworICAgICAgICB3ZWxsIGluIGFsbCBjYXNlcy4gSXQgd2FzIG9u
bHkgdXNlZCBmb3IgLXdlYmtpdC10ZXh0LW9yaWVudGF0aW9uIGFuZAorICAgICAgICB0ZXh0LW9y
aWVudGF0aW9uLCBidXQgYnVnIDIzODM1NiBpbXBsZW1lbnRlZCB0aGUgZm9ybWVyIGFzIGEgc2hv
cnRoYW5kLgorICAgICAgICBTbyBub3cgdGhlcmUgaXMgbm8gY29uc3VtZXIgb2YgZ2V0UmVsYXRl
ZFByb3BlcnR5SWQoKS4KKworICAgICAgICBPbiB0aGUgb3RoZXIgaGFuZCwgc2hvdWxkQXBwbHlQ
cm9wZXJ0eUluUGFyc2VPcmRlcigpIHdvcmtzIGJldHRlciwgYnV0CisgICAgICAgIGl0IHdpbGwg
bmVlZCB0byBiZSBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBmb3IgYnVnIDIzODM0NSwgYW5kIGJ1
ZworICAgICAgICAyMzgxMjUgd2lsbCBuZWVkIHRvIGtub3cgd2hpY2ggcHJvcGVydHkgc2hhcmVz
IGEgY29tcHV0ZWQgdmFsdWUgd2l0aCBhCisgICAgICAgIGdpdmVuIG9uZS4KKworICAgICAgICBT
byB0aGlzIHBhdGNoIHJlbW92ZXMgdGhlIGNvbnN1bWVycyBvZiB0aGUgb2xkIGdldFJlbGF0ZWRQ
cm9wZXJ0eUlkKCksCisgICAgICAgIGFuZCBjaGFuZ2VzIHNob3VsZEFwcGx5UHJvcGVydHlJblBh
cnNlT3JkZXIoKSB0byBiZSBiYXNlZCBvbiBpdC4KKworICAgICAgICBObyBuZXcgdGVzdHMgc2lu
Y2UgdGhlcmUgaXMgbm8gY2hhbmdlIGluIGJlaGF2aW9yLgorCisgICAgICAgICogY3NzL0NTU1By
b3BlcnRpZXMuanNvbjoKKyAgICAgICAgTWFyayBwcm9wZXJ0aWVzIGZvciB3aGljaCBzaG91bGRB
cHBseVByb3BlcnR5SW5QYXJzZU9yZGVyKCkgcmV0dXJuZWQKKyAgICAgICAgdHJ1ZSB3aXRoIHRo
ZSAicmVsYXRlZC1wcm9wZXJ0eSIgZmxhZy4KKworICAgICAgICAqIGNzcy9Qcm9wZXJ0eVNldENT
U1N0eWxlRGVjbGFyYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UHJvcGVydHlTZXRDU1NT
dHlsZURlY2xhcmF0aW9uOjpnZXRQcm9wZXJ0eVZhbHVlSW50ZXJuYWwpOgorICAgICAgICBSZW1v
dmUgb2xkIGdldFJlbGF0ZWRQcm9wZXJ0eUlkKCkgbG9naWMgd2hpY2ggd2FzIHVudXNlZC4KKwor
ICAgICAgICAqIGNzcy9tYWtlcHJvcC5wbDoKKyAgICAgICAgVGhyb3cgZXJyb3JzIGlmICJyZWxh
dGVkLXByb3BlcnR5IiBmbGFnIGlzIGludmFsaWQuCisKKyAgICAgICAgKiBjc3MvcGFyc2VyL0NT
U1BhcnNlckltcGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6ZmlsdGVyUHJvcGVydGllcyk6Cisg
ICAgICAgIFJlbW92ZSBvbGQgZ2V0UmVsYXRlZFByb3BlcnR5SWQoKSBsb2dpYyB3aGljaCB3YXMg
dW51c2VkLgorCisgICAgICAgICogc3R5bGUvUHJvcGVydHlDYXNjYWRlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlN0eWxlOjpzaG91bGRBcHBseVByb3BlcnR5SW5QYXJzZU9yZGVyKToKKyAgICAg
ICAgQmFzZSBzaG91bGRBcHBseVByb3BlcnR5SW5QYXJzZU9yZGVyKCkgb24gZ2V0UmVsYXRlZFBy
b3BlcnR5SWQoKS4KKwogMjAyMi0wMy0yNSAgT3Jpb2wgQnJ1ZmF1ICA8b2JydWZhdUBpZ2FsaWEu
Y29tPgogCiAgICAgICAgIFtjc3NdIFR1cm4gLXdlYmtpdC10ZXh0LW9yaWVudGF0aW9uIGludG8g
YSBsZWdhY3kgc2hvcnRoYW5kCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJv
cGVydGllcy5qc29uIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnRpZXMuanNvbgppbmRl
eCAzMjFjZDI5MWU2NWYyODlmNmRiMjFlYThhZDU5YjdhYzJmNmNmZDBlLi4wMTY2ZDIwMjJhMjQ2
ZjM4NTRmNTRiMDNjYzlhYzNkYjZiMTI2MTIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUHJvcGVydGllcy5qc29uCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0
aWVzLmpzb24KQEAgLTE0MiwxMCArMTQyLDEzIEBACiAgICAgICAgICJpbiBDU1MgY2FzY2FkaW5n
IG9yZGVyLiIsCiAgICAgICAgICIiLAogICAgICAgICAiKiByZWxhdGVkLXByb3BlcnR5OiIsCi0g
ICAgICAgICJJbmRpY2F0ZXMgdGhlIHByZWZpeGVkIG9yIHVucHJlZml4ZWQgdmVyc2lvbiBvZiB0
aGUgc2FtZSBwcm9wZXJ0eS4iLAotICAgICAgICAiV2hlbiBwYXJzaW5nIGhpZ2ggcHJpb3JpdHkg
Q1NTIHByb3BlcnRpZXMgd2l0aCBib3RoIHByZWZpeGVkIGFuZCB1bnByZWZpeGVkIiwKLSAgICAg
ICAgInZlcnNpb25zLCB0aGlzIGZsaWcgd2lsbCBoZWxwIHRoZSBwYXJzZXIgdG8gbWFyayBhbGwg
cmVsYXRlZCBwcm9wZXJ0aWVzICIsCi0gICAgICAgICJhcyBzZWVuIHdoZW4gb25lIGlzIHNlZW4u
IFRoaXMgY291bGQgZW5mb3JjZSB0aGUgJ2xhc3Qtb25lLXdpbnMnIHJ1bGUuIiwKKyAgICAgICAg
IkluZGljYXRlcyBhbm90aGVyIHByb3BlcnR5IHdoaWNoIHNoYXJlcyBhIGNvbXB1dGVkIHN0eWxl
IHdpdGggdGhlIGN1cnJlbnQgb25lLiIsCisgICAgICAgICJUeXBpY2FsbHkgdXNlZCBmb3IgdGhl
IHByZWZpeGVkIG9yIHVucHJlZml4ZWQgdmVyc2lvbiBvZiB0aGUgc2FtZSBwcm9wZXJ0eSwgZS5n
LiIsCisgICAgICAgICItd2Via2l0LWJveC1zaGFkb3cgaGFzIGJveC1zaGFkb3cgYXMgdGhlIHJl
bGF0ZWQgcHJvcGVydHksIGFuZCB2aWNlIHZlcnNhLiIsCisgICAgICAgICJQcm9wZXJ0aWVzIHdp
dGggdGhpcyBmbGFnIGNhbid0IGJlIGhpZ2gtcHJpb3JpdHksIHRoZXkgYXJlIGRlZmVycmVkIHRv
IGJlIGFwcGxpZWQiLAorICAgICAgICAiYWZ0ZXIgbG93LXByaW9yaXR5IG9uZXMsIGFuZCB0aGV5
IGFyZSBzcGVjaWFsbHkgaGFuZGxlZCB0byBhcHBseSBpbiBwYXJzZSBvcmRlci4iLAorICAgICAg
ICAiU28gaWYgYSBkZWNsYXJhdGlvbiBibG9jayBjb250YWlucyBib3RoIHByb3BlcnRpZXMsIHRo
ZXkgd2lsbCBiZSBhcHBsaWVkIGluIHRoZSIsCisgICAgICAgICJzcGVjaWZpZWQgb3JkZXIsIG5v
dCBhbHBoYWJldGljYWxseSB3aXRoaW4gdGhlaXIgcHJpb3JpdHkgYnVja2V0IGFzIHVzdWFsLiIs
CiAgICAgICAgICIiLAogICAgICAgICAiKiBhbGlhc2VzOiIsCiAgICAgICAgICJBbiBhcnJheSBv
ZiB0aGUgYWx0ZXJuYXRpdmUgbmFtZXMgZm9yIHRoaXMgcHJvcGVydHkuIEFsaWFzZXMgYXJlIGZv
bGRlZCBhdCIsCkBAIC0xMTIzLDYgKzExMjYsNyBAQAogICAgICAgICAgICAgICAgIH0KICAgICAg
ICAgICAgIF0sCiAgICAgICAgICAgICAiY29kZWdlbi1wcm9wZXJ0aWVzIjogeworICAgICAgICAg
ICAgICAgICJyZWxhdGVkLXByb3BlcnR5IjogIi13ZWJraXQtYmFja2dyb3VuZC1jbGlwIiwKICAg
ICAgICAgICAgICAgICAibmFtZS1mb3ItbWV0aG9kcyI6ICJDbGlwIiwKICAgICAgICAgICAgICAg
ICAiZmlsbC1sYXllci1wcm9wZXJ0eSI6IHRydWUKICAgICAgICAgICAgIH0sCkBAIC0xMTUzLDYg
KzExNTcsNyBAQAogICAgICAgICB9LAogICAgICAgICAiYmFja2dyb3VuZC1vcmlnaW4iOiB7CiAg
ICAgICAgICAgICAiY29kZWdlbi1wcm9wZXJ0aWVzIjogeworICAgICAgICAgICAgICAgICJyZWxh
dGVkLXByb3BlcnR5IjogIi13ZWJraXQtYmFja2dyb3VuZC1vcmlnaW4iLAogICAgICAgICAgICAg
ICAgICJuYW1lLWZvci1tZXRob2RzIjogIk9yaWdpbiIsCiAgICAgICAgICAgICAgICAgImZpbGwt
bGF5ZXItcHJvcGVydHkiOiB0cnVlCiAgICAgICAgICAgICB9LApAQCAtMTI0Myw2ICsxMjQ4LDcg
QEAKICAgICAgICAgfSwKICAgICAgICAgImJhY2tncm91bmQtc2l6ZSI6IHsKICAgICAgICAgICAg
ICJjb2RlZ2VuLXByb3BlcnRpZXMiOiB7CisgICAgICAgICAgICAgICAgInJlbGF0ZWQtcHJvcGVy
dHkiOiAiLXdlYmtpdC1iYWNrZ3JvdW5kLXNpemUiLAogICAgICAgICAgICAgICAgICJuYW1lLWZv
ci1tZXRob2RzIjogIlNpemUiLAogICAgICAgICAgICAgICAgICJmaWxsLWxheWVyLXByb3BlcnR5
IjogdHJ1ZQogICAgICAgICAgICAgfSwKQEAgLTE2ODQsNiArMTY5MCw3IEBACiAgICAgICAgIH0s
CiAgICAgICAgICJib3JkZXItaW1hZ2Utb3V0c2V0IjogewogICAgICAgICAgICAgImNvZGVnZW4t
cHJvcGVydGllcyI6IHsKKyAgICAgICAgICAgICAgICAicmVsYXRlZC1wcm9wZXJ0eSI6ICItd2Vi
a2l0LWJvcmRlci1pbWFnZSIsCiAgICAgICAgICAgICAgICAgImN1c3RvbSI6ICJBbGwiCiAgICAg
ICAgICAgICB9LAogICAgICAgICAgICAgInNwZWNpZmljYXRpb24iOiB7CkBAIC0xNjkzLDYgKzE3
MDAsNyBAQAogICAgICAgICB9LAogICAgICAgICAiYm9yZGVyLWltYWdlLXJlcGVhdCI6IHsKICAg
ICAgICAgICAgICJjb2RlZ2VuLXByb3BlcnRpZXMiOiB7CisgICAgICAgICAgICAgICAgInJlbGF0
ZWQtcHJvcGVydHkiOiAiLXdlYmtpdC1ib3JkZXItaW1hZ2UiLAogICAgICAgICAgICAgICAgICJj
dXN0b20iOiAiQWxsIgogICAgICAgICAgICAgfSwKICAgICAgICAgICAgICJzcGVjaWZpY2F0aW9u
IjogewpAQCAtMTcwMiw2ICsxNzEwLDcgQEAKICAgICAgICAgfSwKICAgICAgICAgImJvcmRlci1p
bWFnZS1zbGljZSI6IHsKICAgICAgICAgICAgICJjb2RlZ2VuLXByb3BlcnRpZXMiOiB7CisgICAg
ICAgICAgICAgICAgInJlbGF0ZWQtcHJvcGVydHkiOiAiLXdlYmtpdC1ib3JkZXItaW1hZ2UiLAog
ICAgICAgICAgICAgICAgICJjdXN0b20iOiAiQWxsIgogICAgICAgICAgICAgfSwKICAgICAgICAg
ICAgICJzcGVjaWZpY2F0aW9uIjogewpAQCAtMTcxMSw2ICsxNzIwLDcgQEAKICAgICAgICAgfSwK
ICAgICAgICAgImJvcmRlci1pbWFnZS1zb3VyY2UiOiB7CiAgICAgICAgICAgICAiY29kZWdlbi1w
cm9wZXJ0aWVzIjogeworICAgICAgICAgICAgICAgICJyZWxhdGVkLXByb3BlcnR5IjogIi13ZWJr
aXQtYm9yZGVyLWltYWdlIiwKICAgICAgICAgICAgICAgICAiY29udmVydGVyIjogIlN0eWxlSW1h
Z2U8Q1NTUHJvcGVydHlCb3JkZXJJbWFnZVNvdXJjZT4iCiAgICAgICAgICAgICB9LAogICAgICAg
ICAgICAgInNwZWNpZmljYXRpb24iOiB7CkBAIC0xNzIwLDYgKzE3MzAsNyBAQAogICAgICAgICB9
LAogICAgICAgICAiYm9yZGVyLWltYWdlLXdpZHRoIjogewogICAgICAgICAgICAgImNvZGVnZW4t
cHJvcGVydGllcyI6IHsKKyAgICAgICAgICAgICAgICAicmVsYXRlZC1wcm9wZXJ0eSI6ICItd2Vi
a2l0LWJvcmRlci1pbWFnZSIsCiAgICAgICAgICAgICAgICAgImN1c3RvbSI6ICJBbGwiCiAgICAg
ICAgICAgICB9LAogICAgICAgICAgICAgInNwZWNpZmljYXRpb24iOiB7CkBAIC0yMjgzLDYgKzIy
OTQsNyBAQAogICAgICAgICB9LAogICAgICAgICAiYm94LXNoYWRvdyI6IHsKICAgICAgICAgICAg
ICJjb2RlZ2VuLXByb3BlcnRpZXMiOiB7CisgICAgICAgICAgICAgICAgInJlbGF0ZWQtcHJvcGVy
dHkiOiAiLXdlYmtpdC1ib3gtc2hhZG93IiwKICAgICAgICAgICAgICAgICAiY3VzdG9tIjogIkFs
bCIKICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAic3BlY2lmaWNhdGlvbiI6IHsKQEAgLTUz
MzUsMTggKzUzNDcsMjEgQEAKICAgICAgICAgfSwKICAgICAgICAgIi13ZWJraXQtYmFja2dyb3Vu
ZC1jbGlwIjogewogICAgICAgICAgICAgImNvZGVnZW4tcHJvcGVydGllcyI6IHsKKyAgICAgICAg
ICAgICAgICAicmVsYXRlZC1wcm9wZXJ0eSI6ICJiYWNrZ3JvdW5kLWNsaXAiLAogICAgICAgICAg
ICAgICAgICJuYW1lLWZvci1tZXRob2RzIjogIkNsaXAiLAogICAgICAgICAgICAgICAgICJmaWxs
LWxheWVyLXByb3BlcnR5IjogdHJ1ZQogICAgICAgICAgICAgfQogICAgICAgICB9LAogICAgICAg
ICAiLXdlYmtpdC1iYWNrZ3JvdW5kLW9yaWdpbiI6IHsKICAgICAgICAgICAgICJjb2RlZ2VuLXBy
b3BlcnRpZXMiOiB7CisgICAgICAgICAgICAgICAgInJlbGF0ZWQtcHJvcGVydHkiOiAiYmFja2dy
b3VuZC1vcmlnaW4iLAogICAgICAgICAgICAgICAgICJuYW1lLWZvci1tZXRob2RzIjogIk9yaWdp
biIsCiAgICAgICAgICAgICAgICAgImZpbGwtbGF5ZXItcHJvcGVydHkiOiB0cnVlCiAgICAgICAg
ICAgICB9CiAgICAgICAgIH0sCiAgICAgICAgICItd2Via2l0LWJhY2tncm91bmQtc2l6ZSI6IHsK
ICAgICAgICAgICAgICJjb2RlZ2VuLXByb3BlcnRpZXMiOiB7CisgICAgICAgICAgICAgICAgInJl
bGF0ZWQtcHJvcGVydHkiOiAiYmFja2dyb3VuZC1zaXplIiwKICAgICAgICAgICAgICAgICAibmFt
ZS1mb3ItbWV0aG9kcyI6ICJTaXplIiwKICAgICAgICAgICAgICAgICAiZmlsbC1sYXllci1wcm9w
ZXJ0eSI6IHRydWUKICAgICAgICAgICAgIH0sCkBAIC01MzY0LDYgKzUzNzksNyBAQAogICAgICAg
ICB9LAogICAgICAgICAiLXdlYmtpdC1ib3JkZXItaW1hZ2UiOiB7CiAgICAgICAgICAgICAiY29k
ZWdlbi1wcm9wZXJ0aWVzIjogeworICAgICAgICAgICAgICAgICJyZWxhdGVkLXByb3BlcnR5Ijog
ImJvcmRlci1pbWFnZSIsCiAgICAgICAgICAgICAgICAgImluaXRpYWwiOiAiaW5pdGlhbE5pbmVQ
aWVjZUltYWdlIiwKICAgICAgICAgICAgICAgICAiY29udmVydGVyIjogIkJvcmRlckltYWdlPENT
U1Byb3BlcnR5V2Via2l0Qm9yZGVySW1hZ2U+IgogICAgICAgICAgICAgfQpAQCAtNTQ4Myw2ICs1
NDk5LDcgQEAKICAgICAgICAgfSwKICAgICAgICAgIi13ZWJraXQtYm94LXNoYWRvdyI6IHsKICAg
ICAgICAgICAgICJjb2RlZ2VuLXByb3BlcnRpZXMiOiB7CisgICAgICAgICAgICAgICAgInJlbGF0
ZWQtcHJvcGVydHkiOiAiYm94LXNoYWRvdyIsCiAgICAgICAgICAgICAgICAgImN1c3RvbSI6ICJB
bGwiCiAgICAgICAgICAgICB9LAogICAgICAgICAgICAgInN0YXR1cyI6IHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9Qcm9wZXJ0eVNldENTU1N0eWxlRGVjbGFyYXRpb24uY3BwIGIv
U291cmNlL1dlYkNvcmUvY3NzL1Byb3BlcnR5U2V0Q1NTU3R5bGVEZWNsYXJhdGlvbi5jcHAKaW5k
ZXggMTU3Y2JiMDdkNjBiNmZkZWJkNzFkM2Y5OTlhNTA4M2YxYzM0NjRkMy4uNWE3MjlkYWRkNTg5
MmJiNzM5YThhNzFmNjRjYzIyMGJlMmIyZGIwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3NzL1Byb3BlcnR5U2V0Q1NTU3R5bGVEZWNsYXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvY3NzL1Byb3BlcnR5U2V0Q1NTU3R5bGVEZWNsYXJhdGlvbi5jcHAKQEAgLTMwMCwxNCArMzAw
LDEwIEBAIFJlZlB0cjxDU1NWYWx1ZT4gUHJvcGVydHlTZXRDU1NTdHlsZURlY2xhcmF0aW9uOjpn
ZXRQcm9wZXJ0eUNTU1ZhbHVlSW50ZXJuYWwoQ1NTCiBTdHJpbmcgUHJvcGVydHlTZXRDU1NTdHls
ZURlY2xhcmF0aW9uOjpnZXRQcm9wZXJ0eVZhbHVlSW50ZXJuYWwoQ1NTUHJvcGVydHlJRCBwcm9w
ZXJ0eUlEKQogewogICAgIFN0cmluZyB2YWx1ZSA9IG1fcHJvcGVydHlTZXQtPmdldFByb3BlcnR5
VmFsdWUocHJvcGVydHlJRCk7Ci0gICAgQ1NTUHJvcGVydHlJRCByZWxhdGVkUHJvcGVydHlJRCA9
IGdldFJlbGF0ZWRQcm9wZXJ0eUlkKHByb3BlcnR5SUQpOwotICAgIFN0cmluZyByZWxhdGVkVmFs
dWUgPSBtX3Byb3BlcnR5U2V0LT5nZXRQcm9wZXJ0eVZhbHVlKHJlbGF0ZWRQcm9wZXJ0eUlEKTsK
LSAgICAgICAgCisKICAgICBpZiAoIXZhbHVlLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuIHZh
bHVlOwotICAgIGlmICghcmVsYXRlZFZhbHVlLmlzRW1wdHkoKSkKLSAgICAgICAgcmV0dXJuIHJl
bGF0ZWRWYWx1ZTsKLSAgICAKKwogICAgIHJldHVybiB7IH07CiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9tYWtlcHJvcC5wbCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9tYWtlcHJv
cC5wbAppbmRleCA5MzBiNzM4OTU1NDE3ODRiYzJhY2MzZTYwNjYyNmU4ODYwNmVmNTg2Li5jOTFm
YWU2MTUzZDg4ZjY3NGY3YTg3ZWIyNDYyOGI5MTAxMDA0MGYwIDEwMDc1NQotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvbWFrZXByb3AucGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL21ha2Vwcm9w
LnBsCkBAIC02MDAsOCArNjAwLDEyIEBAIEVPRgogICAgICAgICBpZiAoISRyZWxhdGVkUHJvcGVy
dHl7JG5hbWV9KSB7CiAgICAgICAgICAgICBuZXh0OwogICAgICAgICB9CisgICAgICAgIG15ICRy
ZWxhdGVkID0gJHJlbGF0ZWRQcm9wZXJ0eXskbmFtZX07CisgICAgICAgIGRpZSAiUHJvcGVydHkg
JG5hbWUgaGFzIGFuIHVua25vd24gcmVsYXRlZCBwcm9wZXJ0eTogJHJlbGF0ZWQiIGlmICFleGlz
dHMoJG5hbWVUb0lkeyRyZWxhdGVkfSk7CisgICAgICAgIGRpZSAiSGlnaCBwcmlvcml0eSBwcm9w
ZXJ0eSAkbmFtZSBjYW4ndCBoYXZlIGEgcmVsYXRlZCBwcm9wZXJ0eTogJHJlbGF0ZWQiIGlmICRu
YW1lSXNIaWdoUHJpb3JpdHl7JG5hbWV9OworICAgICAgICBkaWUgIlNob3J0aGFuZCBwcm9wZXJ0
eSAkbmFtZSBjYW4ndCBoYXZlIGEgcmVsYXRlZCBwcm9wZXJ0eTogJHJlbGF0ZWQiIGlmIGV4aXN0
cyAkcHJvcGVydGllc1dpdGhTdHlsZUJ1aWxkZXJPcHRpb25zeyRuYW1lfXsibG9uZ2hhbmRzIn07
CiAgICAgICAgIHByaW50IEdQRVJGICIgICAgY2FzZSBDU1NQcm9wZXJ0eUlEOjpDU1NQcm9wZXJ0
eSIgLiAkbmFtZVRvSWR7JG5hbWV9IC4gIjpcbiI7Ci0gICAgICAgIHByaW50IEdQRVJGICIgICAg
ICAgIHJldHVybiBDU1NQcm9wZXJ0eUlEOjpDU1NQcm9wZXJ0eSIgLiAkbmFtZVRvSWR7JHJlbGF0
ZWRQcm9wZXJ0eXskbmFtZX19IC4gIjtcbiI7CisgICAgICAgIHByaW50IEdQRVJGICIgICAgICAg
IHJldHVybiBDU1NQcm9wZXJ0eUlEOjpDU1NQcm9wZXJ0eSIgLiAkbmFtZVRvSWR7JHJlbGF0ZWR9
IC4gIjtcbiI7CiAgICAgfQogICAgIHByaW50IEdQRVJGIDw8ICJFT0YiOwogICAgIGRlZmF1bHQ6
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlckltcGwuY3Bw
IGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJJbXBsLmNwcAppbmRleCBjYjhm
NGM4YWJiYjBlNjNmMmQxZDI2NDZjMWFjNDc3YWZhOTU2YjUxLi5mZjRjNTUzOWE2Y2E0Zjg0ZTg0
YzIyNDdmNzg0ODZlYzI5ZWM2MGVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFy
c2VyL0NTU1BhcnNlckltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NT
UGFyc2VySW1wbC5jcHAKQEAgLTEyNywxMyArMTI3LDcgQEAgc3RhdGljIGlubGluZSB2b2lkIGZp
bHRlclByb3BlcnRpZXMoYm9vbCBpbXBvcnRhbnQsIGNvbnN0IFBhcnNlZFByb3BlcnR5VmVjdG9y
JgogCiAgICAgICAgIGlmIChzZWVuUHJvcGVydGllcy50ZXN0KHByb3BlcnR5SURJbmRleCkpCiAg
ICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgY29uc3QgdW5zaWduZWQgcmVsYXRlZFByb3Bl
cnR5SWQgPSBnZXRSZWxhdGVkUHJvcGVydHlJZChwcm9wZXJ0eS5pZCgpKTsKLSAgICAgICAgaWYg
KHByb3BlcnR5LmlkKCkgIT0gQ1NTUHJvcGVydHlJbnZhbGlkICYmIHJlbGF0ZWRQcm9wZXJ0eUlk
ICE9IENTU1Byb3BlcnR5SW52YWxpZCkgewotICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgcmVs
YXRlZFByb3BlcnR5SURJbmRleCA9IHJlbGF0ZWRQcm9wZXJ0eUlkIC0gZmlyc3RDU1NQcm9wZXJ0
eTsKLSAgICAgICAgICAgIHNlZW5Qcm9wZXJ0aWVzLnNldChyZWxhdGVkUHJvcGVydHlJREluZGV4
KTsKLSAgICAgICAgICAgIHNlZW5Qcm9wZXJ0aWVzLnNldChwcm9wZXJ0eUlESW5kZXgpOwotICAg
ICAgICB9IGVsc2UKLSAgICAgICAgICAgIHNlZW5Qcm9wZXJ0aWVzLnNldChwcm9wZXJ0eUlESW5k
ZXgpOworICAgICAgICBzZWVuUHJvcGVydGllcy5zZXQocHJvcGVydHlJREluZGV4KTsKIAogICAg
ICAgICBvdXRwdXRbLS11bnVzZWRFbnRyaWVzXSA9IHByb3BlcnR5OwogICAgIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1Byb3BlcnR5Q2FzY2FkZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9zdHlsZS9Qcm9wZXJ0eUNhc2NhZGUuY3BwCmluZGV4IDkwZmVkNjE3YWY3NTZlNzczOGJj
OWI1MzVkZGRhMTI4ZWUwYzAxMmYuLjVkNDQ3Nzc4MGI5M2E0OWMwMTY0ZDNiMzM5MTMxOWE5MGMx
MjA2YTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1Byb3BlcnR5Q2FzY2FkZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvUHJvcGVydHlDYXNjYWRlLmNwcApAQCAtNDAs
MjYgKzQwLDcgQEAgbmFtZXNwYWNlIFN0eWxlIHsKIAogc3RhdGljIGlubGluZSBib29sIHNob3Vs
ZEFwcGx5UHJvcGVydHlJblBhcnNlT3JkZXIoQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlEKQogewot
ICAgIHN3aXRjaCAocHJvcGVydHlJRCkgewotICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRCYWNr
Z3JvdW5kQ2xpcDoKLSAgICBjYXNlIENTU1Byb3BlcnR5QmFja2dyb3VuZENsaXA6Ci0gICAgY2Fz
ZSBDU1NQcm9wZXJ0eVdlYmtpdEJhY2tncm91bmRPcmlnaW46Ci0gICAgY2FzZSBDU1NQcm9wZXJ0
eUJhY2tncm91bmRPcmlnaW46Ci0gICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEJhY2tncm91bmRT
aXplOgotICAgIGNhc2UgQ1NTUHJvcGVydHlCYWNrZ3JvdW5kU2l6ZToKLSAgICBjYXNlIENTU1By
b3BlcnR5V2Via2l0Qm9yZGVySW1hZ2U6Ci0gICAgY2FzZSBDU1NQcm9wZXJ0eUJvcmRlckltYWdl
OgotICAgIGNhc2UgQ1NTUHJvcGVydHlCb3JkZXJJbWFnZVNsaWNlOgotICAgIGNhc2UgQ1NTUHJv
cGVydHlCb3JkZXJJbWFnZVNvdXJjZToKLSAgICBjYXNlIENTU1Byb3BlcnR5Qm9yZGVySW1hZ2VP
dXRzZXQ6Ci0gICAgY2FzZSBDU1NQcm9wZXJ0eUJvcmRlckltYWdlUmVwZWF0OgotICAgIGNhc2Ug
Q1NTUHJvcGVydHlCb3JkZXJJbWFnZVdpZHRoOgotICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRC
b3hTaGFkb3c6Ci0gICAgY2FzZSBDU1NQcm9wZXJ0eUJveFNoYWRvdzoKLSAgICAgICAgcmV0dXJu
IHRydWU7Ci0gICAgZGVmYXVsdDoKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KKyAgICBy
ZXR1cm4gZ2V0UmVsYXRlZFByb3BlcnR5SWQocHJvcGVydHlJRCkgIT0gQ1NTUHJvcGVydHlJbnZh
bGlkOwogfQogCiBQcm9wZXJ0eUNhc2NhZGU6OlByb3BlcnR5Q2FzY2FkZShjb25zdCBNYXRjaFJl
c3VsdCYgbWF0Y2hSZXN1bHQsIENhc2NhZGVMZXZlbCBtYXhpbXVtQ2FzY2FkZUxldmVsLCBJbmNs
dWRlZFByb3BlcnRpZXMgaW5jbHVkZWRQcm9wZXJ0aWVzLCBEaXJlY3Rpb24gZGlyZWN0aW9uKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>455762</attachid>
            <date>2022-03-25 07:52:50 -0700</date>
            <delta_ts>2022-04-06 09:28:14 -0700</delta_ts>
            <desc>Patch for EWS</desc>
            <filename>bug-238350-20220325155249.patch</filename>
            <type>text/plain</type>
            <size>35326</size>
            <attacher name="Oriol Brufau">obrufau</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkxNzQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzI5OTFmYTkzYjc0MWRh
MDc2ZTk4MTFmYTYxMDExZGQ2MzdiNWYyMC4uMWI4MDczNzFkZjdlNzkyNDFmODIzYTkzMzdjM2Yw
MGI2NTBiODA3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDExOCBAQAorMjAyMi0wMy0yNSAgT3Jp
b2wgQnJ1ZmF1ICA8b2JydWZhdUBpZ2FsaWEuY29tPgorCisgICAgICAgIFtjc3MtY2FzY2FkZV0g
TWVyZ2UgZ2V0UmVsYXRlZFByb3BlcnR5SWQoKSBhbmQgc2hvdWxkQXBwbHlQcm9wZXJ0eUluUGFy
c2VPcmRlcigpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMzgzNTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBnZXRSZWxhdGVkUHJvcGVydHlJZCgpIGlzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGZyb20g
dGhlICJyZWxhdGVkLXByb3BlcnR5IiBmbGFnIGluIENTU1Byb3BlcnRpZXMuanNvbgorCisgICAg
ICAgIHNob3VsZEFwcGx5UHJvcGVydHlJblBhcnNlT3JkZXIoKSBpcyBoYXJkY29kZWQgaW4gUHJv
cGVydHlDYXNjYWRlLmNwcAorCisgICAgICAgIEJvdGggZ2V0UmVsYXRlZFByb3BlcnR5SWQoKSBh
bmQgc2hvdWxkQXBwbHlQcm9wZXJ0eUluUGFyc2VPcmRlcigpIHB1cnN1ZQorICAgICAgICB0aGUg
c2FtZSB0aGluZzogaWYgdGhlcmUgYXJlIHR3byBwcm9wZXJ0aWVzICh0eXBpY2FsbHkgYSBzdGFu
ZGFyZCBvbmUKKyAgICAgICAgYW5kIGEgLXdlYmtpdC0gcHJlZml4ZWQgb25lKSB3aGljaCBzaGFy
ZSB0aGUgc2FtZSBmaWVsZCBpbiBSZW5kZXJTdHlsZSwKKyAgICAgICAgdGhlbiB3ZSBzaG91bGQg
dGFrZSBzcGVjaWZpZWQgb3JkZXIgaW50byBhY2NvdW50IHdoZW4gYXBwbHlpbmcgdGhlbS4KKwor
ICAgICAgICBUaGUgcHJvYmxlbSBpcyB0aGF0IHRoZSBsb2dpYyBmb3IgZ2V0UmVsYXRlZFByb3Bl
cnR5SWQoKSBkb2Vzbid0IHdvcmsKKyAgICAgICAgd2VsbCBpbiBhbGwgY2FzZXMuIEl0IHdhcyBv
bmx5IHVzZWQgZm9yIC13ZWJraXQtdGV4dC1vcmllbnRhdGlvbiBhbmQKKyAgICAgICAgdGV4dC1v
cmllbnRhdGlvbiwgYnV0IGJ1ZyAyMzgzNTYgaW1wbGVtZW50ZWQgdGhlIGZvcm1lciBhcyBhIHNo
b3J0aGFuZC4KKyAgICAgICAgU28gbm93IHRoZXJlIGlzIG5vIGNvbnN1bWVyIG9mIGdldFJlbGF0
ZWRQcm9wZXJ0eUlkKCkuCisKKyAgICAgICAgT24gdGhlIG90aGVyIGhhbmQsIHNob3VsZEFwcGx5
UHJvcGVydHlJblBhcnNlT3JkZXIoKSB3b3JrcyBiZXR0ZXIsIGJ1dAorICAgICAgICBpdCB3aWxs
IG5lZWQgdG8gYmUgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgZm9yIGJ1ZyAyMzgzNDUsIGFuZCBi
dWcKKyAgICAgICAgMjM4MTI1IHdpbGwgbmVlZCB0byBrbm93IHdoaWNoIHByb3BlcnR5IHNoYXJl
cyBhIGNvbXB1dGVkIHZhbHVlIHdpdGggYQorICAgICAgICBnaXZlbiBvbmUuCisKKyAgICAgICAg
U28gdGhpcyBwYXRjaCByZW1vdmVzIHRoZSBjb25zdW1lcnMgb2YgdGhlIG9sZCBnZXRSZWxhdGVk
UHJvcGVydHlJZCgpLAorICAgICAgICBhbmQgY2hhbmdlcyBzaG91bGRBcHBseVByb3BlcnR5SW5Q
YXJzZU9yZGVyKCkgdG8gYmUgYmFzZWQgb24gaXQuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIHNp
bmNlIHRoZXJlIGlzIG5vIGNoYW5nZSBpbiBiZWhhdmlvci4KKworICAgICAgICAqIGNzcy9DU1NQ
cm9wZXJ0aWVzLmpzb246CisgICAgICAgIE1hcmsgcHJvcGVydGllcyBmb3Igd2hpY2ggc2hvdWxk
QXBwbHlQcm9wZXJ0eUluUGFyc2VPcmRlcigpIHJldHVybmVkCisgICAgICAgIHRydWUgd2l0aCB0
aGUgInJlbGF0ZWQtcHJvcGVydHkiIGZsYWcuCisKKyAgICAgICAgKiBjc3MvUHJvcGVydHlTZXRD
U1NTdHlsZURlY2xhcmF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlByb3BlcnR5U2V0Q1NT
U3R5bGVEZWNsYXJhdGlvbjo6Z2V0UHJvcGVydHlWYWx1ZUludGVybmFsKToKKyAgICAgICAgUmVt
b3ZlIG9sZCBnZXRSZWxhdGVkUHJvcGVydHlJZCgpIGxvZ2ljIHdoaWNoIHdhcyB1bnVzZWQuCisK
KyAgICAgICAgKiBjc3MvbWFrZXByb3AucGw6CisgICAgICAgIFRocm93IGVycm9ycyBpZiAicmVs
YXRlZC1wcm9wZXJ0eSIgZmxhZyBpcyBpbnZhbGlkLgorCisgICAgICAgICogY3NzL3BhcnNlci9D
U1NQYXJzZXJJbXBsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmZpbHRlclByb3BlcnRpZXMpOgor
ICAgICAgICBSZW1vdmUgb2xkIGdldFJlbGF0ZWRQcm9wZXJ0eUlkKCkgbG9naWMgd2hpY2ggd2Fz
IHVudXNlZC4KKworICAgICAgICAqIHN0eWxlL1Byb3BlcnR5Q2FzY2FkZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTdHlsZTo6c2hvdWxkQXBwbHlQcm9wZXJ0eUluUGFyc2VPcmRlcik6CisgICAg
ICAgIEJhc2Ugc2hvdWxkQXBwbHlQcm9wZXJ0eUluUGFyc2VPcmRlcigpIG9uIGdldFJlbGF0ZWRQ
cm9wZXJ0eUlkKCkuCisKKzIwMjItMDMtMjUgIE9yaW9sIEJydWZhdSAgPG9icnVmYXVAaWdhbGlh
LmNvbT4KKworICAgICAgICBbY3NzXSBUdXJuIC13ZWJraXQtdGV4dC1vcmllbnRhdGlvbiBpbnRv
IGEgbGVnYWN5IHNob3J0aGFuZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjM4MzU2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgYC13ZWJraXQtdGV4dC1vcmllbnRhdGlvbmAgYW5kIGB0ZXh0LW9yaWVudGF0
aW9uYCB3ZXJlIGJvdGggaW1wbGVtZW50ZWQKKyAgICAgICAgYXMgbG9uZ2hhbmRzLCBqdXN0IHdp
dGggYSBgcmVsYXRlZC1wcm9wZXJ0eWAgZmxhZyBzbyB0aGF0IGRlY2xhcmF0aW9uCisgICAgICAg
IGJsb2NrcyB3aXRoIGJvdGggb2YgdGhlbSB3b3VsZCB1c2UgdGhlIG9uZSBhcHBlYXJpbmcgbGFz
dC4KKworICAgICAgICBIb3dldmVyLCB0aGUgbG9naWMgZm9yIGByZWxhdGVkLXByb3BlcnR5YCB3
YXNuJ3QgYWx3YXlzIHdvcmtpbmcgd2VsbC4KKyAgICAgICAgSW4gYnVnIDIzODM1MCBJIHBsYW4g
dG8gbWVyZ2UgaXQgd2l0aCBzaG91bGRBcHBseVByb3BlcnR5SW5QYXJzZU9yZGVyKCksCisgICAg
ICAgIHdoaWNoIGhhcyB0aGUgc2FtZSBwdXJwb3NlIGFuZCB3b3JrcyBiZXR0ZXIuIEJ1dCBpdCdz
IG5vdCBzdWl0YWJsZSBmb3IKKyAgICAgICAgaGlnaCBwcmlvcml0eSBwcm9wZXJ0aWVzIGxpa2Ug
YHRleHQtb3JpZW50YXRpb25gLgorCisgICAgICAgIFNvIHRoaXMgcGF0Y2ggdHVybnMgYC13ZWJr
aXQtdGV4dC1vcmllbnRhdGlvbmAgaW50byBhIHNob3J0aGFuZCB0aGF0CisgICAgICAgIGV4cGFu
ZHMgaW50byBgdGV4dC1vcmllbnRhdGlvbmAuCisKKyAgICAgICAgYC13ZWJraXQtdGV4dC1vcmll
bnRhdGlvbmAgY29udGludWVzIGFjY2VwdGluZyB0aGUgbGVnYWN5IHZhbHVlCisgICAgICAgIGBz
aWRld2F5cy1yaWdodGAsIHdoaWNoIGlzIG5vdyBtYXBwZWQgaW50byBgc2lkZXdheXNgIGF0IHBh
cnNlIHRpbWUuCisgICAgICAgIFByZXZpb3VzbHkgdGhpcyBoYXBwZW5lZCBhdCBjb21wdXRlZC12
YWx1ZSB0aW1lLCBidXQgaXQgaW1wbGllZCB0aGF0CisgICAgICAgIHNlcmlhbGl6aW5nIGB0ZXh0
LWRlY29yYXRpb25gIGNvdWxkIHlpZWxkIGFuIGludmFsaWQgdmFsdWUuCisKKyAgICAgICAgVGVz
dHM6IGZhc3QvdGV4dC90ZXh0LW9yaWVudGF0aW9uLXBhcnNlLWNvbXBldGl0aW9uLmh0bWwKKyAg
ICAgICAgICAgICAgIGZhc3QvdGV4dC90ZXh0LW9yaWVudGF0aW9uLXBhcnNlLXN0eWxlc2hlZXQu
aHRtbAorCisgICAgICAgICogY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpvcGVyYXRvciBUZXh0T3JpZW50YXRpb24g
Y29uc3QpOgorICAgICAgICBSZW1vdmUgbWFwcGluZyBvZiBgc2lkZXdheXMtcmlnaHRgIGludG8g
YHNpZGV3YXlzYCwgdGhpcyBpcyBub3cKKyAgICAgICAgZG9uZSBhdCBwYXJzZSB0aW1lLiBBbHNv
IHJlbW92ZSBtYXBwaW5nIG9mIGB2ZXJ0aWNhbC1yaWdodGAgaW50byBgbWl4ZWRgCisgICAgICAg
IHNpbmNlIGB2ZXJ0aWNhbC1yaWdodGAgaXMgYSByZW1uYW50IG9mIHRoZSBwYXN0IHdoaWNoIGhh
cyBub3QgYmVlbgorICAgICAgICBjb25zaWRlcmVkIHZhbGlkIHN5bnRheCBmb3IgeWVhcnMuCisK
KyAgICAgICAgKiBjc3MvQ1NTUHJvcGVydGllcy5qc29uOgorICAgICAgICBUdXJuIGAtd2Via2l0
LXRleHQtb3JpZW50YXRpb25gIGludG8gYSBzaG9ydGhhbmQgb2YgYHRleHQtb3JpZW50YXRpb25g
LgorICAgICAgICBSZW1vdmUgdGhlaXIgYHJlbGF0ZWQtcHJvcGVydHlgIGZsYWdzIGFuZCBhIHJl
bW5hbnQgb2YgYHZlcnRpY2FsLXJpZ2h0YC4KKworICAgICAgICAqIGNzcy9TdHlsZVByb3BlcnRp
ZXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVQcm9wZXJ0aWVzOjpnZXRQcm9wZXJ0eVZh
bHVlIGNvbnN0KToKKyAgICAgICAgQWRkIGNvZGUgZm9yIHNlcmlhbGl6aW5nIHRoZSBgLXdlYmtp
dC10ZXh0LW9yaWVudGF0aW9uYCBzaG9ydGhhbmQuCisKKyAgICAgICAgKiBjc3MvbWFrZXByb3Au
cGw6CisgICAgICAgIEF2b2lkIGEgY29tcGlsZSB3YXJuaW5nIGluIGdldFJlbGF0ZWRQcm9wZXJ0
eUlkKCkgd2hlbiBubyBwcm9wZXJ0eSBoYXMKKyAgICAgICAgdGhlIGByZWxhdGVkLXByb3BlcnR5
YCBmbGFnLgorCisgICAgICAgICogY3NzL3BhcnNlci9DU1NQYXJzZXJGYXN0UGF0aHMuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyRmFzdFBhdGhzOjppc1ZhbGlkS2V5d29yZFByb3Bl
cnR5QW5kVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyRmFzdFBhdGhzOjppc0tl
eXdvcmRQcm9wZXJ0eUlEKToKKyAgICAgICAgUmVtb3ZlIGAtd2Via2l0LXRleHQtb3JpZW50YXRp
b25gIGZyb20gY29kZSB3aGljaCBpcyBvbmx5IHJlbGV2YW50IGZvcgorICAgICAgICBsb25naGFu
ZHMuCisKKyAgICAgICAgKiBjc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU1Byb3BlcnR5UGFyc2VyOjpjb25zdW1lTGVnYWN5VGV4dE9yaWVudGF0
aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Byb3BlcnR5UGFyc2VyOjpwYXJzZVNob3J0aGFu
ZCk6CisgICAgICAgIEFkZCBwYXJzaW5nIGxvZ2ljIGZvciBgLXdlYmtpdC10ZXh0LW9yaWVudGF0
aW9uYCBhcyBhIHNob3J0aGFuZC4KKworICAgICAgICAqIGNzcy9wYXJzZXIvQ1NTUHJvcGVydHlQ
YXJzZXIuaDoKKyAgICAgICAgQWRkIHBhcnNpbmcgbG9naWMgZm9yIGAtd2Via2l0LXRleHQtb3Jp
ZW50YXRpb25gIGFzIGEgc2hvcnRoYW5kLgorCisgICAgICAgICogc3R5bGUvU3R5bGVCdWlsZGVy
Q3VzdG9tLmg6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZTo6QnVpbGRlckN1c3RvbTo6YXBwbHlW
YWx1ZVdlYmtpdFRleHRPcmllbnRhdGlvbik6IERlbGV0ZWQuCisgICAgICAgIFJlbW92ZSBgLXdl
YmtpdC10ZXh0LW9yaWVudGF0aW9uYCBmcm9tIGNvZGUgd2hpY2ggaXMgb25seSByZWxldmFudCBm
b3IKKyAgICAgICAgbG9uZ2hhbmRzLgorCiAyMDIyLTAzLTIzICBZb3Vlbm4gRmFibGV0ICA8eW91
ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBWaWRlb0ZyYW1lIGRvZXMgbm90IG5lZWQgdG8gaW5o
ZXJpdCBmcm9tIE1lZGlhU2FtcGxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2
ZVZhbHVlTWFwcGluZ3MuaAppbmRleCA1MDczZWNhYjRiOTg0N2Y4YjZlYjBjYTM4NDdhZjQ3MDU0
ZTNhMzZmLi5lODU3OGQwMDYyMjM4NTdjZjQ5ZGE3NjJlNjE5NTM4MGJmNDhlMTE1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgKQEAgLTMzMDQs
MTAgKzMzMDQsNiBAQCB0ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmltaXRpdmVWYWx1ZTo6b3BlcmF0
b3IgVGV4dE9yaWVudGF0aW9uKCkgY29uc3QKICAgICBzd2l0Y2ggKG1fdmFsdWUudmFsdWVJRCkg
ewogICAgIGNhc2UgQ1NTVmFsdWVTaWRld2F5czoKICAgICAgICAgcmV0dXJuIFRleHRPcmllbnRh
dGlvbjo6U2lkZXdheXM7Ci0gICAgY2FzZSBDU1NWYWx1ZVNpZGV3YXlzUmlnaHQ6Ci0gICAgICAg
IHJldHVybiBUZXh0T3JpZW50YXRpb246OlNpZGV3YXlzOwotICAgIGNhc2UgQ1NTVmFsdWVWZXJ0
aWNhbFJpZ2h0OgotICAgICAgICByZXR1cm4gVGV4dE9yaWVudGF0aW9uOjpNaXhlZDsKICAgICBj
YXNlIENTU1ZhbHVlTWl4ZWQ6CiAgICAgICAgIHJldHVybiBUZXh0T3JpZW50YXRpb246Ok1peGVk
OwogICAgIGNhc2UgQ1NTVmFsdWVVcHJpZ2h0OgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1Byb3BlcnRpZXMuanNvbiBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0aWVz
Lmpzb24KaW5kZXggNzk2OWUyYmUxMThkOWU1NDY4ZjYzNjM5OWExMjk1ZjAxNjNjNjdiZi4uMDE2
NmQyMDIyYTI0NmYzODU0ZjU0YjAzY2M5YWMzZGI2YjEyNjEyMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1Byb3BlcnRpZXMuanNvbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTUHJvcGVydGllcy5qc29uCkBAIC0xNDIsMTEgKzE0MiwxMyBAQAogICAgICAgICAiaW4gQ1NT
IGNhc2NhZGluZyBvcmRlci4iLAogICAgICAgICAiIiwKICAgICAgICAgIiogcmVsYXRlZC1wcm9w
ZXJ0eToiLAotICAgICAgICAiSW5kaWNhdGVzIHRoZSBwcmVmaXhlZCBvciB1bnByZWZpeGVkIHZl
cnNpb24gb2YgdGhlIHNhbWUgcHJvcGVydHksIiwKLSAgICAgICAgImUuZy4gLXdlYmtpdC10ZXh0
LW9yaWVudGF0aW9uIGhhcyBhIHJlbGF0ZWQgcHJvcGVydHkgdGV4dC1vcmllbnRhdGlvbiIsCi0g
ICAgICAgICJXaGVuIHBhcnNpbmcgaGlnaCBwcmlvcml0eSBDU1MgcHJvcGVydGllcyB3aXRoIGJv
dGggcHJlZml4ZWQgYW5kIHVucHJlZml4ZWQiLAotICAgICAgICAidmVyc2lvbnMsIHRoaXMgZmxp
ZyB3aWxsIGhlbHAgdGhlIHBhcnNlciB0byBtYXJrIGFsbCByZWxhdGVkIHByb3BlcnRpZXMgIiwK
LSAgICAgICAgImFzIHNlZW4gd2hlbiBvbmUgaXMgc2Vlbi4gVGhpcyBjb3VsZCBlbmZvcmNlIHRo
ZSAnbGFzdC1vbmUtd2lucycgcnVsZS4iLAorICAgICAgICAiSW5kaWNhdGVzIGFub3RoZXIgcHJv
cGVydHkgd2hpY2ggc2hhcmVzIGEgY29tcHV0ZWQgc3R5bGUgd2l0aCB0aGUgY3VycmVudCBvbmUu
IiwKKyAgICAgICAgIlR5cGljYWxseSB1c2VkIGZvciB0aGUgcHJlZml4ZWQgb3IgdW5wcmVmaXhl
ZCB2ZXJzaW9uIG9mIHRoZSBzYW1lIHByb3BlcnR5LCBlLmcuIiwKKyAgICAgICAgIi13ZWJraXQt
Ym94LXNoYWRvdyBoYXMgYm94LXNoYWRvdyBhcyB0aGUgcmVsYXRlZCBwcm9wZXJ0eSwgYW5kIHZp
Y2UgdmVyc2EuIiwKKyAgICAgICAgIlByb3BlcnRpZXMgd2l0aCB0aGlzIGZsYWcgY2FuJ3QgYmUg
aGlnaC1wcmlvcml0eSwgdGhleSBhcmUgZGVmZXJyZWQgdG8gYmUgYXBwbGllZCIsCisgICAgICAg
ICJhZnRlciBsb3ctcHJpb3JpdHkgb25lcywgYW5kIHRoZXkgYXJlIHNwZWNpYWxseSBoYW5kbGVk
IHRvIGFwcGx5IGluIHBhcnNlIG9yZGVyLiIsCisgICAgICAgICJTbyBpZiBhIGRlY2xhcmF0aW9u
IGJsb2NrIGNvbnRhaW5zIGJvdGggcHJvcGVydGllcywgdGhleSB3aWxsIGJlIGFwcGxpZWQgaW4g
dGhlIiwKKyAgICAgICAgInNwZWNpZmllZCBvcmRlciwgbm90IGFscGhhYmV0aWNhbGx5IHdpdGhp
biB0aGVpciBwcmlvcml0eSBidWNrZXQgYXMgdXN1YWwuIiwKICAgICAgICAgIiIsCiAgICAgICAg
ICIqIGFsaWFzZXM6IiwKICAgICAgICAgIkFuIGFycmF5IG9mIHRoZSBhbHRlcm5hdGl2ZSBuYW1l
cyBmb3IgdGhpcyBwcm9wZXJ0eS4gQWxpYXNlcyBhcmUgZm9sZGVkIGF0IiwKQEAgLTY5MCw3ICs2
OTIsNiBAQAogICAgICAgICAgICAgXSwKICAgICAgICAgICAgICJjb2RlZ2VuLXByb3BlcnRpZXMi
OiB7CiAgICAgICAgICAgICAgICAgImN1c3RvbSI6ICJWYWx1ZSIsCi0gICAgICAgICAgICAgICAg
InJlbGF0ZWQtcHJvcGVydHkiOiAiLXdlYmtpdC10ZXh0LW9yaWVudGF0aW9uIiwKICAgICAgICAg
ICAgICAgICAiaGlnaC1wcmlvcml0eSI6IHRydWUKICAgICAgICAgICAgIH0sCiAgICAgICAgICAg
ICAic3BlY2lmaWNhdGlvbiI6IHsKQEAgLTcwNiwxMCArNzA3LDYgQEAKICAgICAgICAgICAgICAg
ICAgICAgInZhbHVlIjogInNpZGV3YXlzLXJpZ2h0IiwKICAgICAgICAgICAgICAgICAgICAgInN0
YXR1cyI6ICJkZXByZWNhdGVkIgogICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgICAgICAidmFsdWUiOiAidmVydGljYWwtcmlnaHQiLAotICAgICAg
ICAgICAgICAgICAgICAic3RhdHVzIjogIm5vbi1zdGFuZGFyZCIKLSAgICAgICAgICAgICAgICB9
LAogICAgICAgICAgICAgICAgICJtaXhlZCIsCiAgICAgICAgICAgICAgICAgInVwcmlnaHQiCiAg
ICAgICAgICAgICBdLApAQCAtNzE3LDkgKzcxNCw5IEBACiAgICAgICAgICAgICAgICAgImFsaWFz
ZXMiOiBbCiAgICAgICAgICAgICAgICAgICAgICItZXB1Yi10ZXh0LW9yaWVudGF0aW9uIgogICAg
ICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgInJlbGF0ZWQtcHJvcGVydHkiOiAidGV4
dC1vcmllbnRhdGlvbiIsCi0gICAgICAgICAgICAgICAgImN1c3RvbSI6ICJWYWx1ZSIsCi0gICAg
ICAgICAgICAgICAgImhpZ2gtcHJpb3JpdHkiOiB0cnVlCisgICAgICAgICAgICAgICAgImxvbmdo
YW5kcyI6IFsKKyAgICAgICAgICAgICAgICAgICAgInRleHQtb3JpZW50YXRpb24iCisgICAgICAg
ICAgICAgICAgXQogICAgICAgICAgICAgfSwKICAgICAgICAgICAgICJzcGVjaWZpY2F0aW9uIjog
ewogICAgICAgICAgICAgICAgICJjYXRlZ29yeSI6ICJjc3Mtd3JpdGluZy1tb2RlcyIsCkBAIC0x
MTI5LDYgKzExMjYsNyBAQAogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIF0sCiAgICAg
ICAgICAgICAiY29kZWdlbi1wcm9wZXJ0aWVzIjogeworICAgICAgICAgICAgICAgICJyZWxhdGVk
LXByb3BlcnR5IjogIi13ZWJraXQtYmFja2dyb3VuZC1jbGlwIiwKICAgICAgICAgICAgICAgICAi
bmFtZS1mb3ItbWV0aG9kcyI6ICJDbGlwIiwKICAgICAgICAgICAgICAgICAiZmlsbC1sYXllci1w
cm9wZXJ0eSI6IHRydWUKICAgICAgICAgICAgIH0sCkBAIC0xMTU5LDYgKzExNTcsNyBAQAogICAg
ICAgICB9LAogICAgICAgICAiYmFja2dyb3VuZC1vcmlnaW4iOiB7CiAgICAgICAgICAgICAiY29k
ZWdlbi1wcm9wZXJ0aWVzIjogeworICAgICAgICAgICAgICAgICJyZWxhdGVkLXByb3BlcnR5Ijog
Ii13ZWJraXQtYmFja2dyb3VuZC1vcmlnaW4iLAogICAgICAgICAgICAgICAgICJuYW1lLWZvci1t
ZXRob2RzIjogIk9yaWdpbiIsCiAgICAgICAgICAgICAgICAgImZpbGwtbGF5ZXItcHJvcGVydHki
OiB0cnVlCiAgICAgICAgICAgICB9LApAQCAtMTI0OSw2ICsxMjQ4LDcgQEAKICAgICAgICAgfSwK
ICAgICAgICAgImJhY2tncm91bmQtc2l6ZSI6IHsKICAgICAgICAgICAgICJjb2RlZ2VuLXByb3Bl
cnRpZXMiOiB7CisgICAgICAgICAgICAgICAgInJlbGF0ZWQtcHJvcGVydHkiOiAiLXdlYmtpdC1i
YWNrZ3JvdW5kLXNpemUiLAogICAgICAgICAgICAgICAgICJuYW1lLWZvci1tZXRob2RzIjogIlNp
emUiLAogICAgICAgICAgICAgICAgICJmaWxsLWxheWVyLXByb3BlcnR5IjogdHJ1ZQogICAgICAg
ICAgICAgfSwKQEAgLTE2OTAsNiArMTY5MCw3IEBACiAgICAgICAgIH0sCiAgICAgICAgICJib3Jk
ZXItaW1hZ2Utb3V0c2V0IjogewogICAgICAgICAgICAgImNvZGVnZW4tcHJvcGVydGllcyI6IHsK
KyAgICAgICAgICAgICAgICAicmVsYXRlZC1wcm9wZXJ0eSI6ICItd2Via2l0LWJvcmRlci1pbWFn
ZSIsCiAgICAgICAgICAgICAgICAgImN1c3RvbSI6ICJBbGwiCiAgICAgICAgICAgICB9LAogICAg
ICAgICAgICAgInNwZWNpZmljYXRpb24iOiB7CkBAIC0xNjk5LDYgKzE3MDAsNyBAQAogICAgICAg
ICB9LAogICAgICAgICAiYm9yZGVyLWltYWdlLXJlcGVhdCI6IHsKICAgICAgICAgICAgICJjb2Rl
Z2VuLXByb3BlcnRpZXMiOiB7CisgICAgICAgICAgICAgICAgInJlbGF0ZWQtcHJvcGVydHkiOiAi
LXdlYmtpdC1ib3JkZXItaW1hZ2UiLAogICAgICAgICAgICAgICAgICJjdXN0b20iOiAiQWxsIgog
ICAgICAgICAgICAgfSwKICAgICAgICAgICAgICJzcGVjaWZpY2F0aW9uIjogewpAQCAtMTcwOCw2
ICsxNzEwLDcgQEAKICAgICAgICAgfSwKICAgICAgICAgImJvcmRlci1pbWFnZS1zbGljZSI6IHsK
ICAgICAgICAgICAgICJjb2RlZ2VuLXByb3BlcnRpZXMiOiB7CisgICAgICAgICAgICAgICAgInJl
bGF0ZWQtcHJvcGVydHkiOiAiLXdlYmtpdC1ib3JkZXItaW1hZ2UiLAogICAgICAgICAgICAgICAg
ICJjdXN0b20iOiAiQWxsIgogICAgICAgICAgICAgfSwKICAgICAgICAgICAgICJzcGVjaWZpY2F0
aW9uIjogewpAQCAtMTcxNyw2ICsxNzIwLDcgQEAKICAgICAgICAgfSwKICAgICAgICAgImJvcmRl
ci1pbWFnZS1zb3VyY2UiOiB7CiAgICAgICAgICAgICAiY29kZWdlbi1wcm9wZXJ0aWVzIjogewor
ICAgICAgICAgICAgICAgICJyZWxhdGVkLXByb3BlcnR5IjogIi13ZWJraXQtYm9yZGVyLWltYWdl
IiwKICAgICAgICAgICAgICAgICAiY29udmVydGVyIjogIlN0eWxlSW1hZ2U8Q1NTUHJvcGVydHlC
b3JkZXJJbWFnZVNvdXJjZT4iCiAgICAgICAgICAgICB9LAogICAgICAgICAgICAgInNwZWNpZmlj
YXRpb24iOiB7CkBAIC0xNzI2LDYgKzE3MzAsNyBAQAogICAgICAgICB9LAogICAgICAgICAiYm9y
ZGVyLWltYWdlLXdpZHRoIjogewogICAgICAgICAgICAgImNvZGVnZW4tcHJvcGVydGllcyI6IHsK
KyAgICAgICAgICAgICAgICAicmVsYXRlZC1wcm9wZXJ0eSI6ICItd2Via2l0LWJvcmRlci1pbWFn
ZSIsCiAgICAgICAgICAgICAgICAgImN1c3RvbSI6ICJBbGwiCiAgICAgICAgICAgICB9LAogICAg
ICAgICAgICAgInNwZWNpZmljYXRpb24iOiB7CkBAIC0yMjg5LDYgKzIyOTQsNyBAQAogICAgICAg
ICB9LAogICAgICAgICAiYm94LXNoYWRvdyI6IHsKICAgICAgICAgICAgICJjb2RlZ2VuLXByb3Bl
cnRpZXMiOiB7CisgICAgICAgICAgICAgICAgInJlbGF0ZWQtcHJvcGVydHkiOiAiLXdlYmtpdC1i
b3gtc2hhZG93IiwKICAgICAgICAgICAgICAgICAiY3VzdG9tIjogIkFsbCIKICAgICAgICAgICAg
IH0sCiAgICAgICAgICAgICAic3BlY2lmaWNhdGlvbiI6IHsKQEAgLTUzNDEsMTggKzUzNDcsMjEg
QEAKICAgICAgICAgfSwKICAgICAgICAgIi13ZWJraXQtYmFja2dyb3VuZC1jbGlwIjogewogICAg
ICAgICAgICAgImNvZGVnZW4tcHJvcGVydGllcyI6IHsKKyAgICAgICAgICAgICAgICAicmVsYXRl
ZC1wcm9wZXJ0eSI6ICJiYWNrZ3JvdW5kLWNsaXAiLAogICAgICAgICAgICAgICAgICJuYW1lLWZv
ci1tZXRob2RzIjogIkNsaXAiLAogICAgICAgICAgICAgICAgICJmaWxsLWxheWVyLXByb3BlcnR5
IjogdHJ1ZQogICAgICAgICAgICAgfQogICAgICAgICB9LAogICAgICAgICAiLXdlYmtpdC1iYWNr
Z3JvdW5kLW9yaWdpbiI6IHsKICAgICAgICAgICAgICJjb2RlZ2VuLXByb3BlcnRpZXMiOiB7Cisg
ICAgICAgICAgICAgICAgInJlbGF0ZWQtcHJvcGVydHkiOiAiYmFja2dyb3VuZC1vcmlnaW4iLAog
ICAgICAgICAgICAgICAgICJuYW1lLWZvci1tZXRob2RzIjogIk9yaWdpbiIsCiAgICAgICAgICAg
ICAgICAgImZpbGwtbGF5ZXItcHJvcGVydHkiOiB0cnVlCiAgICAgICAgICAgICB9CiAgICAgICAg
IH0sCiAgICAgICAgICItd2Via2l0LWJhY2tncm91bmQtc2l6ZSI6IHsKICAgICAgICAgICAgICJj
b2RlZ2VuLXByb3BlcnRpZXMiOiB7CisgICAgICAgICAgICAgICAgInJlbGF0ZWQtcHJvcGVydHki
OiAiYmFja2dyb3VuZC1zaXplIiwKICAgICAgICAgICAgICAgICAibmFtZS1mb3ItbWV0aG9kcyI6
ICJTaXplIiwKICAgICAgICAgICAgICAgICAiZmlsbC1sYXllci1wcm9wZXJ0eSI6IHRydWUKICAg
ICAgICAgICAgIH0sCkBAIC01MzcwLDYgKzUzNzksNyBAQAogICAgICAgICB9LAogICAgICAgICAi
LXdlYmtpdC1ib3JkZXItaW1hZ2UiOiB7CiAgICAgICAgICAgICAiY29kZWdlbi1wcm9wZXJ0aWVz
IjogeworICAgICAgICAgICAgICAgICJyZWxhdGVkLXByb3BlcnR5IjogImJvcmRlci1pbWFnZSIs
CiAgICAgICAgICAgICAgICAgImluaXRpYWwiOiAiaW5pdGlhbE5pbmVQaWVjZUltYWdlIiwKICAg
ICAgICAgICAgICAgICAiY29udmVydGVyIjogIkJvcmRlckltYWdlPENTU1Byb3BlcnR5V2Via2l0
Qm9yZGVySW1hZ2U+IgogICAgICAgICAgICAgfQpAQCAtNTQ4OSw2ICs1NDk5LDcgQEAKICAgICAg
ICAgfSwKICAgICAgICAgIi13ZWJraXQtYm94LXNoYWRvdyI6IHsKICAgICAgICAgICAgICJjb2Rl
Z2VuLXByb3BlcnRpZXMiOiB7CisgICAgICAgICAgICAgICAgInJlbGF0ZWQtcHJvcGVydHkiOiAi
Ym94LXNoYWRvdyIsCiAgICAgICAgICAgICAgICAgImN1c3RvbSI6ICJBbGwiCiAgICAgICAgICAg
ICB9LAogICAgICAgICAgICAgInN0YXR1cyI6IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9Qcm9wZXJ0eVNldENTU1N0eWxlRGVjbGFyYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUv
Y3NzL1Byb3BlcnR5U2V0Q1NTU3R5bGVEZWNsYXJhdGlvbi5jcHAKaW5kZXggMTU3Y2JiMDdkNjBi
NmZkZWJkNzFkM2Y5OTlhNTA4M2YxYzM0NjRkMy4uNWE3MjlkYWRkNTg5MmJiNzM5YThhNzFmNjRj
YzIyMGJlMmIyZGIwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1Byb3BlcnR5U2V0
Q1NTU3R5bGVEZWNsYXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1Byb3BlcnR5
U2V0Q1NTU3R5bGVEZWNsYXJhdGlvbi5jcHAKQEAgLTMwMCwxNCArMzAwLDEwIEBAIFJlZlB0cjxD
U1NWYWx1ZT4gUHJvcGVydHlTZXRDU1NTdHlsZURlY2xhcmF0aW9uOjpnZXRQcm9wZXJ0eUNTU1Zh
bHVlSW50ZXJuYWwoQ1NTCiBTdHJpbmcgUHJvcGVydHlTZXRDU1NTdHlsZURlY2xhcmF0aW9uOjpn
ZXRQcm9wZXJ0eVZhbHVlSW50ZXJuYWwoQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlEKQogewogICAg
IFN0cmluZyB2YWx1ZSA9IG1fcHJvcGVydHlTZXQtPmdldFByb3BlcnR5VmFsdWUocHJvcGVydHlJ
RCk7Ci0gICAgQ1NTUHJvcGVydHlJRCByZWxhdGVkUHJvcGVydHlJRCA9IGdldFJlbGF0ZWRQcm9w
ZXJ0eUlkKHByb3BlcnR5SUQpOwotICAgIFN0cmluZyByZWxhdGVkVmFsdWUgPSBtX3Byb3BlcnR5
U2V0LT5nZXRQcm9wZXJ0eVZhbHVlKHJlbGF0ZWRQcm9wZXJ0eUlEKTsKLSAgICAgICAgCisKICAg
ICBpZiAoIXZhbHVlLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuIHZhbHVlOwotICAgIGlmICgh
cmVsYXRlZFZhbHVlLmlzRW1wdHkoKSkKLSAgICAgICAgcmV0dXJuIHJlbGF0ZWRWYWx1ZTsKLSAg
ICAKKwogICAgIHJldHVybiB7IH07CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9TdHlsZVByb3BlcnRpZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUHJvcGVydGll
cy5jcHAKaW5kZXggZjA0MTNjMTdmZmZhMjgzODExZmUyNTE3ZmRmZDYxYmNkY2Y4YjI1OS4uOTky
ZmYxZTcwZTllYjgzZmUyYmI4YjA0OWMwZmMxNTNhMDg0NDRmZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL1N0eWxlUHJvcGVydGllcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L1N0eWxlUHJvcGVydGllcy5jcHAKQEAgLTM0OSw2ICszNDksOCBAQCBTdHJpbmcgU3R5bGVQcm9w
ZXJ0aWVzOjpnZXRQcm9wZXJ0eVZhbHVlKENTU1Byb3BlcnR5SUQgcHJvcGVydHlJRCkgY29uc3QK
ICAgICAgICAgcmV0dXJuIGdldDJWYWx1ZXMoc2Nyb2xsUGFkZGluZ0Jsb2NrU2hvcnRoYW5kKCkp
OwogICAgIGNhc2UgQ1NTUHJvcGVydHlTY3JvbGxQYWRkaW5nSW5saW5lOgogICAgICAgICByZXR1
cm4gZ2V0MlZhbHVlcyhzY3JvbGxQYWRkaW5nSW5saW5lU2hvcnRoYW5kKCkpOworICAgIGNhc2Ug
Q1NTUHJvcGVydHlXZWJraXRUZXh0T3JpZW50YXRpb246CisgICAgICAgIHJldHVybiBnZXRQcm9w
ZXJ0eVZhbHVlKENTU1Byb3BlcnR5VGV4dE9yaWVudGF0aW9uKTsKICAgICBkZWZhdWx0OgogICAg
ICAgICByZXR1cm4gU3RyaW5nKCk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL21ha2Vwcm9wLnBsIGIvU291cmNlL1dlYkNvcmUvY3NzL21ha2Vwcm9wLnBsCmluZGV4IDA4
ZmUwOWY0ZGIxNGZiM2FkNzhiOWQ3OGUzZGZlMmFhMmEyOTk0YWMuLmM5MWZhZTYxNTNkODhmNjc0
ZjdhODdlYjI0NjI4YjkxMDEwMDQwZjAgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9t
YWtlcHJvcC5wbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvbWFrZXByb3AucGwKQEAgLTU4Nywy
MyArNTg3LDQwIEBAIGJvb2wgQ1NTUHJvcGVydHk6OmlzSW5oZXJpdGVkUHJvcGVydHkoQ1NTUHJv
cGVydHlJRCBpZCkKICAgICBBU1NFUlQoaWQgIT0gQ1NTUHJvcGVydHlJbnZhbGlkKTsKICAgICBy
ZXR1cm4gaXNJbmhlcml0ZWRQcm9wZXJ0eVRhYmxlW2lkXTsKIH0KLSAgICAKLUNTU1Byb3BlcnR5
SUQgZ2V0UmVsYXRlZFByb3BlcnR5SWQoQ1NTUHJvcGVydHlJRCBpZCkKKworRU9GCisKK2lmICgl
cmVsYXRlZFByb3BlcnR5KSB7CisgICAgcHJpbnQgR1BFUkYgPDwgIkVPRiI7CitDU1NQcm9wZXJ0
eUlEIGdldFJlbGF0ZWRQcm9wZXJ0eUlkKGNvbnN0IENTU1Byb3BlcnR5SUQgaWQpCiB7CiAgICAg
c3dpdGNoIChpZCkgewogRU9GCi1mb3IgbXkgJG5hbWUgKEBuYW1lcykgewotICAgIGlmICghJHJl
bGF0ZWRQcm9wZXJ0eXskbmFtZX0pIHsKLSAgICAgICAgbmV4dDsKKyAgICBmb3IgbXkgJG5hbWUg
KEBuYW1lcykgeworICAgICAgICBpZiAoISRyZWxhdGVkUHJvcGVydHl7JG5hbWV9KSB7CisgICAg
ICAgICAgICBuZXh0OworICAgICAgICB9CisgICAgICAgIG15ICRyZWxhdGVkID0gJHJlbGF0ZWRQ
cm9wZXJ0eXskbmFtZX07CisgICAgICAgIGRpZSAiUHJvcGVydHkgJG5hbWUgaGFzIGFuIHVua25v
d24gcmVsYXRlZCBwcm9wZXJ0eTogJHJlbGF0ZWQiIGlmICFleGlzdHMoJG5hbWVUb0lkeyRyZWxh
dGVkfSk7CisgICAgICAgIGRpZSAiSGlnaCBwcmlvcml0eSBwcm9wZXJ0eSAkbmFtZSBjYW4ndCBo
YXZlIGEgcmVsYXRlZCBwcm9wZXJ0eTogJHJlbGF0ZWQiIGlmICRuYW1lSXNIaWdoUHJpb3JpdHl7
JG5hbWV9OworICAgICAgICBkaWUgIlNob3J0aGFuZCBwcm9wZXJ0eSAkbmFtZSBjYW4ndCBoYXZl
IGEgcmVsYXRlZCBwcm9wZXJ0eTogJHJlbGF0ZWQiIGlmIGV4aXN0cyAkcHJvcGVydGllc1dpdGhT
dHlsZUJ1aWxkZXJPcHRpb25zeyRuYW1lfXsibG9uZ2hhbmRzIn07CisgICAgICAgIHByaW50IEdQ
RVJGICIgICAgY2FzZSBDU1NQcm9wZXJ0eUlEOjpDU1NQcm9wZXJ0eSIgLiAkbmFtZVRvSWR7JG5h
bWV9IC4gIjpcbiI7CisgICAgICAgIHByaW50IEdQRVJGICIgICAgICAgIHJldHVybiBDU1NQcm9w
ZXJ0eUlEOjpDU1NQcm9wZXJ0eSIgLiAkbmFtZVRvSWR7JHJlbGF0ZWR9IC4gIjtcbiI7CiAgICAg
fQotICAgIHByaW50IEdQRVJGICIgICAgY2FzZSBDU1NQcm9wZXJ0eUlEOjpDU1NQcm9wZXJ0eSIg
LiAkbmFtZVRvSWR7JG5hbWV9IC4gIjpcbiI7Ci0gICAgcHJpbnQgR1BFUkYgIiAgICAgICAgcmV0
dXJuIENTU1Byb3BlcnR5SUQ6OkNTU1Byb3BlcnR5IiAuICRuYW1lVG9JZHskcmVsYXRlZFByb3Bl
cnR5eyRuYW1lfX0gLiAiO1xuIjsKLX0KLSAgICAgICAgCi1wcmludCBHUEVSRiA8PCAiRU9GIjsK
KyAgICBwcmludCBHUEVSRiA8PCAiRU9GIjsKICAgICBkZWZhdWx0OgogICAgICAgICByZXR1cm4g
Q1NTUHJvcGVydHlJRDo6Q1NTUHJvcGVydHlJbnZhbGlkOwogICAgIH0KK0VPRgorfSBlbHNlIHsK
KyAgICBwcmludCBHUEVSRiA8PCAiRU9GIjsKK0NTU1Byb3BlcnR5SUQgZ2V0UmVsYXRlZFByb3Bl
cnR5SWQoY29uc3QgQ1NTUHJvcGVydHlJRCkKK3sKKyAgICByZXR1cm4gQ1NTUHJvcGVydHlJRDo6
Q1NTUHJvcGVydHlJbnZhbGlkOworRU9GCit9CisKK3ByaW50IEdQRVJGIDw8ICJFT0YiOwogfQog
CiBWZWN0b3I8U3RyaW5nPiBDU1NQcm9wZXJ0eTo6YWxpYXNlc0ZvclByb3BlcnR5KENTU1Byb3Bl
cnR5SUQgaWQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNl
ckZhc3RQYXRocy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlckZhc3RQ
YXRocy5jcHAKaW5kZXggYWEzYzI4NzFjMWRmNzg0Y2ViOTc3OTdkNGRhMDI2YWJiMzdjYzY2OC4u
Mzg2ZDgxYzZlMDZjMDU2OGYwOGJjNjIzMzJiY2M1YjlmZTY0ZjMzOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJGYXN0UGF0aHMuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VyRmFzdFBhdGhzLmNwcApAQCAtNzM1LDkgKzcz
NSw4IEBAIGJvb2wgQ1NTUGFyc2VyRmFzdFBhdGhzOjppc1ZhbGlkS2V5d29yZFByb3BlcnR5QW5k
VmFsdWUoQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlkCiAgICAgICAgIC8vIGF1dG8gfCBub25lIHwg
aW50ZXItd29yZCB8IGRpc3RyaWJ1dGUKICAgICAgICAgcmV0dXJuIHZhbHVlSUQgPT0gQ1NTVmFs
dWVJbnRlcldvcmQgfHwgdmFsdWVJRCA9PSBDU1NWYWx1ZURpc3RyaWJ1dGUgfHwgdmFsdWVJRCA9
PSBDU1NWYWx1ZUF1dG8gfHwgdmFsdWVJRCA9PSBDU1NWYWx1ZU5vbmU7CiAjZW5kaWYKLSAgICBj
YXNlIENTU1Byb3BlcnR5V2Via2l0VGV4dE9yaWVudGF0aW9uOiAvLyBtaXhlZCB8IHVwcmlnaHQg
fCBzaWRld2F5cyB8IHNpZGV3YXlzLXJpZ2h0Ci0gICAgICAgIHJldHVybiB2YWx1ZUlEID09IENT
U1ZhbHVlTWl4ZWQgfHwgdmFsdWVJRCA9PSBDU1NWYWx1ZVVwcmlnaHQgfHwgdmFsdWVJRCA9PSBD
U1NWYWx1ZVNpZGV3YXlzIHx8IHZhbHVlSUQgPT0gQ1NTVmFsdWVTaWRld2F5c1JpZ2h0OwogICAg
IGNhc2UgQ1NTUHJvcGVydHlUZXh0T3JpZW50YXRpb246CisgICAgICAgIC8vIG1peGVkIHwgdXBy
aWdodCB8IHNpZGV3YXlzCiAgICAgICAgIHJldHVybiB2YWx1ZUlEID09IENTU1ZhbHVlTWl4ZWQg
fHwgdmFsdWVJRCA9PSBDU1NWYWx1ZVVwcmlnaHQgfHwgdmFsdWVJRCA9PSBDU1NWYWx1ZVNpZGV3
YXlzOwogICAgIGNhc2UgQ1NTUHJvcGVydHlUZXh0T3ZlcmZsb3c6IC8vIGNsaXAgfCBlbGxpcHNp
cwogICAgICAgICByZXR1cm4gdmFsdWVJRCA9PSBDU1NWYWx1ZUNsaXAgfHwgdmFsdWVJRCA9PSBD
U1NWYWx1ZUVsbGlwc2lzOwpAQCAtOTg5LDcgKzk4OCw2IEBAIGJvb2wgQ1NTUGFyc2VyRmFzdFBh
dGhzOjppc0tleXdvcmRQcm9wZXJ0eUlEKENTU1Byb3BlcnR5SUQgcHJvcGVydHlJZCkKICAgICBj
YXNlIENTU1Byb3BlcnR5V2Via2l0VGV4dENvbWJpbmU6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVRl
eHRDb21iaW5lVXByaWdodDoKICAgICBjYXNlIENTU1Byb3BlcnR5VGV4dERlY29yYXRpb25TdHls
ZToKLSAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0VGV4dE9yaWVudGF0aW9uOgogICAgIGNhc2Ug
Q1NTUHJvcGVydHlXZWJraXRUZXh0U2VjdXJpdHk6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtp
dFRleHRab29tOgogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRUcmFuc2Zvcm1TdHlsZToKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VySW1wbC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlckltcGwuY3BwCmluZGV4IGNiOGY0Yzhh
YmJiMGU2M2YyZDFkMjY0NmMxYWM0NzdhZmE5NTZiNTEuLmZmNGM1NTM5YTZjYTRmODRlODRjMjI0
N2Y3ODQ4NmVjMjllYzYwZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIv
Q1NTUGFyc2VySW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJz
ZXJJbXBsLmNwcApAQCAtMTI3LDEzICsxMjcsNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgZmlsdGVy
UHJvcGVydGllcyhib29sIGltcG9ydGFudCwgY29uc3QgUGFyc2VkUHJvcGVydHlWZWN0b3ImCiAK
ICAgICAgICAgaWYgKHNlZW5Qcm9wZXJ0aWVzLnRlc3QocHJvcGVydHlJREluZGV4KSkKICAgICAg
ICAgICAgIGNvbnRpbnVlOwotICAgICAgICBjb25zdCB1bnNpZ25lZCByZWxhdGVkUHJvcGVydHlJ
ZCA9IGdldFJlbGF0ZWRQcm9wZXJ0eUlkKHByb3BlcnR5LmlkKCkpOwotICAgICAgICBpZiAocHJv
cGVydHkuaWQoKSAhPSBDU1NQcm9wZXJ0eUludmFsaWQgJiYgcmVsYXRlZFByb3BlcnR5SWQgIT0g
Q1NTUHJvcGVydHlJbnZhbGlkKSB7Ci0gICAgICAgICAgICBjb25zdCB1bnNpZ25lZCByZWxhdGVk
UHJvcGVydHlJREluZGV4ID0gcmVsYXRlZFByb3BlcnR5SWQgLSBmaXJzdENTU1Byb3BlcnR5Owot
ICAgICAgICAgICAgc2VlblByb3BlcnRpZXMuc2V0KHJlbGF0ZWRQcm9wZXJ0eUlESW5kZXgpOwot
ICAgICAgICAgICAgc2VlblByb3BlcnRpZXMuc2V0KHByb3BlcnR5SURJbmRleCk7Ci0gICAgICAg
IH0gZWxzZQotICAgICAgICAgICAgc2VlblByb3BlcnRpZXMuc2V0KHByb3BlcnR5SURJbmRleCk7
CisgICAgICAgIHNlZW5Qcm9wZXJ0aWVzLnNldChwcm9wZXJ0eUlESW5kZXgpOwogCiAgICAgICAg
IG91dHB1dFstLXVudXNlZEVudHJpZXNdID0gcHJvcGVydHk7CiAgICAgfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNwcAppbmRleCBjNWYzNDQxNjVm
NDYxNjJmZjhlZDExMDNhODBiODhhZTE5MDYyMzdmLi4zNTlmODQxMjhkYmZlOWJkNTE3ZmIzMGM2
YTE5MjE0Zjk1Zjc3MDc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NT
U1Byb3BlcnR5UGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1By
b3BlcnR5UGFyc2VyLmNwcApAQCAtNTY0Miw2ICs1NjQyLDI1IEBAIGJvb2wgQ1NTUHJvcGVydHlQ
YXJzZXI6OmNvbnN1bWVMZWdhY3lCcmVha1Byb3BlcnR5KENTU1Byb3BlcnR5SUQgcHJvcGVydHks
IGJvb2wKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorYm9vbCBDU1NQcm9wZXJ0eVBhcnNlcjo6Y29u
c3VtZUxlZ2FjeVRleHRPcmllbnRhdGlvbihib29sIGltcG9ydGFudCkKK3sKKyAgICAvLyAtd2Vi
a2l0LXRleHQtb3JpZW50YXRpb24gaXMgYSBsZWdhY3kgc2hvcnRoYW5kIGZvciB0ZXh0LW9yaWVu
dGF0aW9uLgorICAgIC8vIFRoZSBvbmx5IGRpZmZlcmVuY2UgaXMgdGhhdCBpdCBhY2NlcHRzICdz
aWRld2F5cy1yaWdodCcsIHdoaWNoIGlzIG1hcHBlZCBpbnRvICdzaWRld2F5cycuCisgICAgUmVm
UHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBrZXl3b3JkOworICAgIGF1dG8gdmFsdWVJRCA9IG1fcmFu
Z2UucGVlaygpLmlkKCk7CisgICAgaWYgKHZhbHVlSUQgPT0gQ1NTVmFsdWVTaWRld2F5c1JpZ2h0
KSB7CisgICAgICAgIGtleXdvcmQgPSBDU1NWYWx1ZVBvb2w6OnNpbmdsZXRvbigpLmNyZWF0ZUlk
ZW50aWZpZXJWYWx1ZShDU1NWYWx1ZVNpZGV3YXlzKTsKKyAgICAgICAgY29uc3VtZUlkZW50UmF3
KG1fcmFuZ2UpOworICAgIH0gZWxzZSBpZiAoQ1NTUGFyc2VyRmFzdFBhdGhzOjppc1ZhbGlkS2V5
d29yZFByb3BlcnR5QW5kVmFsdWUoQ1NTUHJvcGVydHlUZXh0T3JpZW50YXRpb24sIHZhbHVlSUQs
IG1fY29udGV4dCkpCisgICAgICAgIGtleXdvcmQgPSBjb25zdW1lSWRlbnQobV9yYW5nZSk7Cisg
ICAgZWxzZQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKCFrZXl3b3JkIHx8ICFtX3Jh
bmdlLmF0RW5kKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBhZGRQcm9wZXJ0eShDU1NQ
cm9wZXJ0eVRleHRPcmllbnRhdGlvbiwgQ1NTUHJvcGVydHlXZWJraXRUZXh0T3JpZW50YXRpb24s
IGtleXdvcmQucmVsZWFzZU5vbk51bGwoKSwgaW1wb3J0YW50KTsKKyAgICByZXR1cm4gdHJ1ZTsK
K30KKwogc3RhdGljIGJvb2wgY29uc3VtZUJhY2tncm91bmRQb3NpdGlvbihDU1NQYXJzZXJUb2tl
blJhbmdlJiByYW5nZSwgY29uc3QgQ1NTUGFyc2VyQ29udGV4dCYgY29udGV4dCwgQ1NTUHJvcGVy
dHlJRCBwcm9wZXJ0eSwgUmVmUHRyPENTU1ZhbHVlPiYgcmVzdWx0WCwgUmVmUHRyPENTU1ZhbHVl
PiYgcmVzdWx0WSkKIHsKICAgICBkbyB7CkBAIC02NDUwLDYgKzY0NjksOCBAQCBib29sIENTU1By
b3BlcnR5UGFyc2VyOjpwYXJzZVNob3J0aGFuZChDU1NQcm9wZXJ0eUlEIHByb3BlcnR5LCBib29s
IGltcG9ydGFudCkKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0Q29sdW1uQnJlYWtCZWZvcmU6
CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdENvbHVtbkJyZWFrSW5zaWRlOgogICAgICAgICBy
ZXR1cm4gY29uc3VtZUxlZ2FjeUJyZWFrUHJvcGVydHkocHJvcGVydHksIGltcG9ydGFudCk7Cisg
ICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFRleHRPcmllbnRhdGlvbjoKKyAgICAgICAgcmV0dXJu
IGNvbnN1bWVMZWdhY3lUZXh0T3JpZW50YXRpb24oaW1wb3J0YW50KTsKICAgICBjYXNlIENTU1By
b3BlcnR5TWFza1Bvc2l0aW9uOgogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRNYXNrUG9zaXRp
b246CiAgICAgY2FzZSBDU1NQcm9wZXJ0eUJhY2tncm91bmRQb3NpdGlvbjogewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5oIGIvU291cmNl
L1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5oCmluZGV4IDA0M2YyMTExZGQ4
NTRmYjY4ODgzZDZmOTI0MTQzYjU0OGIyNWY2OGYuLmVlNmM0ODdlYWJkYzY1ZmM4NDQ0YzM5ZDk3
MmM3MWRiYzk3OTc3MjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NT
UHJvcGVydHlQYXJzZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Byb3Bl
cnR5UGFyc2VyLmgKQEAgLTExNyw2ICsxMTcsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgY29uc3Vt
ZUZsZXgoYm9vbCBpbXBvcnRhbnQpOwogCiAgICAgYm9vbCBjb25zdW1lTGVnYWN5QnJlYWtQcm9w
ZXJ0eShDU1NQcm9wZXJ0eUlELCBib29sIGltcG9ydGFudCk7CisgICAgYm9vbCBjb25zdW1lTGVn
YWN5VGV4dE9yaWVudGF0aW9uKGJvb2wgaW1wb3J0YW50KTsKIAogICAgIGJvb2wgY29uc3VtZVRy
YW5zZm9ybU9yaWdpbihib29sIGltcG9ydGFudCk7CiAgICAgYm9vbCBjb25zdW1lUGVyc3BlY3Rp
dmVPcmlnaW4oYm9vbCBpbXBvcnRhbnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5
bGUvUHJvcGVydHlDYXNjYWRlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1Byb3BlcnR5Q2Fz
Y2FkZS5jcHAKaW5kZXggOTBmZWQ2MTdhZjc1NmU3NzM4YmM5YjUzNWRkZGExMjhlZTBjMDEyZi4u
NWQ0NDc3NzgwYjkzYTQ5YzAxNjRkM2IzMzkxMzE5YTkwYzEyMDZhMiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvc3R5bGUvUHJvcGVydHlDYXNjYWRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9zdHlsZS9Qcm9wZXJ0eUNhc2NhZGUuY3BwCkBAIC00MCwyNiArNDAsNyBAQCBuYW1lc3BhY2Ug
U3R5bGUgewogCiBzdGF0aWMgaW5saW5lIGJvb2wgc2hvdWxkQXBwbHlQcm9wZXJ0eUluUGFyc2VP
cmRlcihDU1NQcm9wZXJ0eUlEIHByb3BlcnR5SUQpCiB7Ci0gICAgc3dpdGNoIChwcm9wZXJ0eUlE
KSB7Ci0gICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEJhY2tncm91bmRDbGlwOgotICAgIGNhc2Ug
Q1NTUHJvcGVydHlCYWNrZ3JvdW5kQ2xpcDoKLSAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0QmFj
a2dyb3VuZE9yaWdpbjoKLSAgICBjYXNlIENTU1Byb3BlcnR5QmFja2dyb3VuZE9yaWdpbjoKLSAg
ICBjYXNlIENTU1Byb3BlcnR5V2Via2l0QmFja2dyb3VuZFNpemU6Ci0gICAgY2FzZSBDU1NQcm9w
ZXJ0eUJhY2tncm91bmRTaXplOgotICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRCb3JkZXJJbWFn
ZToKLSAgICBjYXNlIENTU1Byb3BlcnR5Qm9yZGVySW1hZ2U6Ci0gICAgY2FzZSBDU1NQcm9wZXJ0
eUJvcmRlckltYWdlU2xpY2U6Ci0gICAgY2FzZSBDU1NQcm9wZXJ0eUJvcmRlckltYWdlU291cmNl
OgotICAgIGNhc2UgQ1NTUHJvcGVydHlCb3JkZXJJbWFnZU91dHNldDoKLSAgICBjYXNlIENTU1By
b3BlcnR5Qm9yZGVySW1hZ2VSZXBlYXQ6Ci0gICAgY2FzZSBDU1NQcm9wZXJ0eUJvcmRlckltYWdl
V2lkdGg6Ci0gICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEJveFNoYWRvdzoKLSAgICBjYXNlIENT
U1Byb3BlcnR5Qm94U2hhZG93OgotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICBkZWZhdWx0Ogot
ICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQorICAgIHJldHVybiBnZXRSZWxhdGVkUHJvcGVy
dHlJZChwcm9wZXJ0eUlEKSAhPSBDU1NQcm9wZXJ0eUludmFsaWQ7CiB9CiAKIFByb3BlcnR5Q2Fz
Y2FkZTo6UHJvcGVydHlDYXNjYWRlKGNvbnN0IE1hdGNoUmVzdWx0JiBtYXRjaFJlc3VsdCwgQ2Fz
Y2FkZUxldmVsIG1heGltdW1DYXNjYWRlTGV2ZWwsIEluY2x1ZGVkUHJvcGVydGllcyBpbmNsdWRl
ZFByb3BlcnRpZXMsIERpcmVjdGlvbiBkaXJlY3Rpb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9zdHlsZS9TdHlsZUJ1aWxkZXJDdXN0b20uaCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0
eWxlQnVpbGRlckN1c3RvbS5oCmluZGV4IGU3YWFkZGQwNGJkMjFjYjY2MDczYjMxZjI5MWFkYjc3
YjgyYzAxMjUuLjYzOWUwYWFlZGM2MjRkN2NlYzlmNjZiOWY1ZTlmODhlZTJiMjE0MWEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQnVpbGRlckN1c3RvbS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQnVpbGRlckN1c3RvbS5oCkBAIC0xNDgsNyArMTQ4LDYg
QEAgcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGFwcGx5SW5pdGlhbFRleHRBbGlnbihCdWlsZGVy
U3RhdGUmKTsKICAgICBzdGF0aWMgdm9pZCBhcHBseVZhbHVlVGV4dEFsaWduKEJ1aWxkZXJTdGF0
ZSYsIENTU1ZhbHVlJik7CiAgICAgc3RhdGljIHZvaWQgYXBwbHlWYWx1ZVdlYmtpdExvY2FsZShC
dWlsZGVyU3RhdGUmLCBDU1NWYWx1ZSYpOwotICAgIHN0YXRpYyB2b2lkIGFwcGx5VmFsdWVXZWJr
aXRUZXh0T3JpZW50YXRpb24oQnVpbGRlclN0YXRlJiwgQ1NTVmFsdWUmKTsKICAgICBzdGF0aWMg
dm9pZCBhcHBseVZhbHVlVGV4dE9yaWVudGF0aW9uKEJ1aWxkZXJTdGF0ZSYsIENTU1ZhbHVlJik7
CiAjaWYgRU5BQkxFKFRFWFRfQVVUT1NJWklORykKICAgICBzdGF0aWMgdm9pZCBhcHBseVZhbHVl
V2Via2l0VGV4dFNpemVBZGp1c3QoQnVpbGRlclN0YXRlJiwgQ1NTVmFsdWUmKTsKQEAgLTg5MCwx
MSArODg5LDYgQEAgaW5saW5lIHZvaWQgQnVpbGRlckN1c3RvbTo6YXBwbHlWYWx1ZVdyaXRpbmdN
b2RlKEJ1aWxkZXJTdGF0ZSYgYnVpbGRlclN0YXRlLCBDU1MKICAgICBidWlsZGVyU3RhdGUuc3R5
bGUoKS5zZXRIYXNFeHBsaWNpdGx5U2V0V3JpdGluZ01vZGUodHJ1ZSk7CiB9CiAKLWlubGluZSB2
b2lkIEJ1aWxkZXJDdXN0b206OmFwcGx5VmFsdWVXZWJraXRUZXh0T3JpZW50YXRpb24oQnVpbGRl
clN0YXRlJiBidWlsZGVyU3RhdGUsIENTU1ZhbHVlJiB2YWx1ZSkKLXsKLSAgICBidWlsZGVyU3Rh
dGUuc2V0VGV4dE9yaWVudGF0aW9uKGRvd25jYXN0PENTU1ByaW1pdGl2ZVZhbHVlPih2YWx1ZSkp
OwotfQotCiBpbmxpbmUgdm9pZCBCdWlsZGVyQ3VzdG9tOjphcHBseVZhbHVlVGV4dE9yaWVudGF0
aW9uKEJ1aWxkZXJTdGF0ZSYgYnVpbGRlclN0YXRlLCBDU1NWYWx1ZSYgdmFsdWUpCiB7CiAgICAg
YnVpbGRlclN0YXRlLnNldFRleHRPcmllbnRhdGlvbihkb3duY2FzdDxDU1NQcmltaXRpdmVWYWx1
ZT4odmFsdWUpKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwppbmRleCBhNDg3N2Q2OTQ0MzE5OGNhODA0ZWQ5MWZmMzk1YTE2OTRmMmEy
NjM2Li43ODZhOWRiN2Q1NjM4MmIyNWE2YTdiZGFjNmM1NmY5ZmIwYTNhYjhmIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjAgQEAKKzIwMjItMDMtMjUgIE9yaW9sIEJydWZhdSAgPG9icnVmYXVAaWdhbGlhLmNv
bT4KKworICAgICAgICBbY3NzXSBUdXJuIC13ZWJraXQtdGV4dC1vcmllbnRhdGlvbiBpbnRvIGEg
bGVnYWN5IHNob3J0aGFuZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjM4MzU2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBmYXN0L3RleHQvdGV4dC1vcmllbnRhdGlvbi1wYXJzZS1jb21wZXRpdGlvbi1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC90ZXh0L3RleHQtb3JpZW50YXRpb24tcGFyc2Ut
Y29tcGV0aXRpb24uaHRtbDoKKyAgICAgICAgQ2hlY2sgdGhhdCBpZiBhIHN0eWxlc2hlZXQgc3Bl
Y2lmaWVzIGJvdGggLXdlYmtpdC10ZXh0LW9yaWVudGF0aW9uIGFuZAorICAgICAgICB0ZXh0LW9y
aWVudGF0aW9uIGZvciB0aGUgc2FtZSBlbGVtZW50LCB0aGUgbGFzdCBzcGVjaWZpZWQgb25lIHdp
bnMuCisKKyAgICAgICAgKiBmYXN0L3RleHQvdGV4dC1vcmllbnRhdGlvbi1wYXJzZS1zdHlsZXNo
ZWV0LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L3RleHQvdGV4dC1vcmllbnRhdGlvbi1w
YXJzZS1zdHlsZXNoZWV0Lmh0bWw6CisgICAgICAgIENoZWNrIHRoYXQgb25seSAtd2Via2l0LXRl
eHQtb3JpZW50YXRpb24gYWNjZXB0cyBgc2lkZXdheXMtcmlnaHRgLCBhbmQKKyAgICAgICAgdGhh
dCBpdCdzIG1hcHBlZCB0byBgc2lkZXdheXNgIGF0IHBhcnNlIHRpbWUuCisKIDIwMjItMDMtMjMg
IFppcmFuIFN1biAgPHpzdW5AaWdhbGlhLmNvbT4KIAogICAgICAgICBbSW5wdXRFbGVtZW50XSBB
ZGQgSFRNTElucHV0RWxlbWVudDo6c2hvd1BpY2tlcigpIG1ldGhvZApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC90ZXh0L3RleHQtb3JpZW50YXRpb24tcGFyc2UtY29tcGV0aXRpb24tZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3RleHQtb3JpZW50YXRpb24tcGFyc2Ut
Y29tcGV0aXRpb24tZXhwZWN0ZWQudHh0CmluZGV4IDZhNmFiMWQ1NDJmNjZiYWI3N2RmOTIxMjJh
ZTQ5MDViMzc2NDM5NjUuLjZhZTBkNjZmZDBlMDBiOTg3NTE3NTMyZDVmMDdjMjYwMjIzZGM2MzYg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC90ZXh0LW9yaWVudGF0aW9uLXBhcnNl
LWNvbXBldGl0aW9uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvdGV4
dC1vcmllbnRhdGlvbi1wYXJzZS1jb21wZXRpdGlvbi1leHBlY3RlZC50eHQKQEAgLTEsOSArMSwy
MSBAQAogUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgndGVzdDEnKSkud2Via2l0VGV4dE9yaWVudGF0aW9uIGlzICJ1cHJpZ2h0IgogUEFTUyB3aW5k
b3cuZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdDInKSkud2Vi
a2l0VGV4dE9yaWVudGF0aW9uIGlzICJ1cHJpZ2h0IgorUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRT
dHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdDMnKSkud2Via2l0VGV4dE9yaWVudGF0
aW9uIGlzICJ1cHJpZ2h0IgorUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgndGVzdDQnKSkud2Via2l0VGV4dE9yaWVudGF0aW9uIGlzICJ1cHJpZ2h0
IgorUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
dGVzdDUnKSkud2Via2l0VGV4dE9yaWVudGF0aW9uIGlzICJ1cHJpZ2h0IgorUEFTUyB3aW5kb3cu
Z2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdDYnKSkud2Via2l0
VGV4dE9yaWVudGF0aW9uIGlzICJ1cHJpZ2h0IgogUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHls
ZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdDEnKSkudGV4dE9yaWVudGF0aW9uIGlzICJ1
cHJpZ2h0IgogUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgndGVzdDInKSkudGV4dE9yaWVudGF0aW9uIGlzICJ1cHJpZ2h0IgorUEFTUyB3aW5kb3cu
Z2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdDMnKSkudGV4dE9y
aWVudGF0aW9uIGlzICJ1cHJpZ2h0IgorUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdDQnKSkudGV4dE9yaWVudGF0aW9uIGlzICJ1cHJpZ2h0
IgorUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
dGVzdDUnKSkudGV4dE9yaWVudGF0aW9uIGlzICJ1cHJpZ2h0IgorUEFTUyB3aW5kb3cuZ2V0Q29t
cHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdDYnKSkudGV4dE9yaWVudGF0
aW9uIGlzICJ1cHJpZ2h0IgogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNU
IENPTVBMRVRFCiDkvaDlpb1BQkMKIOS9oOWlvUFCQwor5L2g5aW9QUJDCivkvaDlpb1BQkMKK+S9
oOWlvUFCQwor5L2g5aW9QUJDCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvdGV4
dC1vcmllbnRhdGlvbi1wYXJzZS1jb21wZXRpdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90
ZXh0L3RleHQtb3JpZW50YXRpb24tcGFyc2UtY29tcGV0aXRpb24uaHRtbAppbmRleCAxMDgwYjcy
MzIwNGI2Yjk0NjYxNDVkMzliZTMzN2MwODViZTcyYmMxLi45NzFjMWIxMzMwMGI5MzFiZGI5OWZm
YzRiNmFkYmE4Zjc4ZGM5OTA5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvdGV4
dC1vcmllbnRhdGlvbi1wYXJzZS1jb21wZXRpdGlvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvdGV4dC90ZXh0LW9yaWVudGF0aW9uLXBhcnNlLWNvbXBldGl0aW9uLmh0bWwKQEAgLTIsMTYg
KzIsMzkgQEAKIDxodG1sPgogCTxoZWFkPgogCTxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKwk8c3R5
bGU+CisJCSN0ZXN0MyB7IC13ZWJraXQtdGV4dC1vcmllbnRhdGlvbjogc2lkZXdheXM7IHRleHQt
b3JpZW50YXRpb246IHVwcmlnaHQ7IH0KKworCQkjdGVzdDQgeyB0ZXh0LW9yaWVudGF0aW9uOiBz
aWRld2F5czsgLXdlYmtpdC10ZXh0LW9yaWVudGF0aW9uOiB1cHJpZ2h0OyB9CisKKwkJI3Rlc3Q1
IHsgLXdlYmtpdC10ZXh0LW9yaWVudGF0aW9uOiBzaWRld2F5czsgfQorCQkjdGVzdDUgeyB0ZXh0
LW9yaWVudGF0aW9uOiB1cHJpZ2h0OyB9CisKKwkJI3Rlc3Q2IHsgdGV4dC1vcmllbnRhdGlvbjog
c2lkZXdheXM7IH0KKwkJI3Rlc3Q2IHsgLXdlYmtpdC10ZXh0LW9yaWVudGF0aW9uOiB1cHJpZ2h0
OyB9CisJPC9zdHlsZT4KIAk8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KIAk8L2hlYWQ+CiAJPGJvZHk+CiAJCTxkaXYgaWQ9InRlc3QxIiBzdHls
ZT0iLXdlYmtpdC13cml0aW5nLW1vZGU6IHZlcnRpY2FsLXJsOyAtd2Via2l0LXRleHQtb3JpZW50
YXRpb246IHNpZGV3YXlzOyB0ZXh0LW9yaWVudGF0aW9uOiB1cHJpZ2h0Ij7kvaDlpb1BQkM8L2Rp
dj4KIAkJPGRpdiBpZD0idGVzdDIiIHN0eWxlPSItd2Via2l0LXdyaXRpbmctbW9kZTogdmVydGlj
YWwtcmw7IHRleHQtb3JpZW50YXRpb246IHNpZGV3YXlzOyAtd2Via2l0LXRleHQtb3JpZW50YXRp
b246IHVwcmlnaHQiPuS9oOWlvUFCQzwvZGl2PgorCQk8ZGl2IGlkPSJ0ZXN0MyIgc3R5bGU9Ii13
ZWJraXQtd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1ybCI+5L2g5aW9QUJDPC9kaXY+CisJCTxkaXYg
aWQ9InRlc3Q0IiBzdHlsZT0iLXdlYmtpdC13cml0aW5nLW1vZGU6IHZlcnRpY2FsLXJsIj7kvaDl
pb1BQkM8L2Rpdj4KKwkJPGRpdiBpZD0idGVzdDUiIHN0eWxlPSItd2Via2l0LXdyaXRpbmctbW9k
ZTogdmVydGljYWwtcmwiPuS9oOWlvUFCQzwvZGl2PgorCQk8ZGl2IGlkPSJ0ZXN0NiIgc3R5bGU9
Ii13ZWJraXQtd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1ybCI+5L2g5aW9QUJDPC9kaXY+CiAJCTxz
Y3JpcHQ+CiAJCQlzaG91bGRCZUVxdWFsVG9TdHJpbmcoIndpbmRvdy5nZXRDb21wdXRlZFN0eWxl
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0MScpKS53ZWJraXRUZXh0T3JpZW50YXRpb24i
LCAidXByaWdodCIpOwogCQkJc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ3aW5kb3cuZ2V0Q29tcHV0
ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdDInKSkud2Via2l0VGV4dE9yaWVu
dGF0aW9uIiwgInVwcmlnaHQiKTsKKwkJCXNob3VsZEJlRXF1YWxUb1N0cmluZygid2luZG93Lmdl
dENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3QzJykpLndlYmtpdFRl
eHRPcmllbnRhdGlvbiIsICJ1cHJpZ2h0Iik7CisJCQlzaG91bGRCZUVxdWFsVG9TdHJpbmcoIndp
bmRvdy5nZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0NCcpKS53
ZWJraXRUZXh0T3JpZW50YXRpb24iLCAidXByaWdodCIpOworCQkJc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCJ3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVz
dDUnKSkud2Via2l0VGV4dE9yaWVudGF0aW9uIiwgInVwcmlnaHQiKTsKKwkJCXNob3VsZEJlRXF1
YWxUb1N0cmluZygid2luZG93LmdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ3Rlc3Q2JykpLndlYmtpdFRleHRPcmllbnRhdGlvbiIsICJ1cHJpZ2h0Iik7CiAJCQlzaG91
bGRCZUVxdWFsVG9TdHJpbmcoIndpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCd0ZXN0MScpKS50ZXh0T3JpZW50YXRpb24iLCAidXByaWdodCIpOwogCQkJc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJ3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgndGVzdDInKSkudGV4dE9yaWVudGF0aW9uIiwgInVwcmlnaHQiKTsKKwkJCXNo
b3VsZEJlRXF1YWxUb1N0cmluZygid2luZG93LmdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ3Rlc3QzJykpLnRleHRPcmllbnRhdGlvbiIsICJ1cHJpZ2h0Iik7CisJCQlz
aG91bGRCZUVxdWFsVG9TdHJpbmcoIndpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCd0ZXN0NCcpKS50ZXh0T3JpZW50YXRpb24iLCAidXByaWdodCIpOworCQkJ
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgndGVzdDUnKSkudGV4dE9yaWVudGF0aW9uIiwgInVwcmlnaHQiKTsKKwkJ
CXNob3VsZEJlRXF1YWxUb1N0cmluZygid2luZG93LmdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ3Rlc3Q2JykpLnRleHRPcmllbnRhdGlvbiIsICJ1cHJpZ2h0Iik7CiAJ
CTwvc2NyaXB0PgogCQk8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+CiAJPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0
L3RleHQtb3JpZW50YXRpb24tcGFyc2Utc3R5bGVzaGVldC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9mYXN0L3RleHQvdGV4dC1vcmllbnRhdGlvbi1wYXJzZS1zdHlsZXNoZWV0LWV4cGVjdGVk
LnR4dAppbmRleCBhNTI1MjQxMGY2OGIzMWNiNDQ3YjUyZTIwMzNiY2M1YzYyNGM1NWVjLi42ZmNi
ZDVkYWRjNmNlNWZhNDUwODhmZGM4NTE2MTAwZDZiNjI3ZTFkIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L3RleHQvdGV4dC1vcmllbnRhdGlvbi1wYXJzZS1zdHlsZXNoZWV0LWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvdGV4dC1vcmllbnRhdGlvbi1wYXJzZS1z
dHlsZXNoZWV0LWV4cGVjdGVkLnR4dApAQCAtMywxMyArMywxNyBAQCBQQVNTIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCd0ZXN0MicpLnNoZWV0LmNzc1J1bGVzWzBdLnN0eWxlLmdldFByb3BlcnR5
VmFsdWUoJwogUEFTUyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdDMnKS5zaGVldC5jc3NS
dWxlc1swXS5zdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCd0ZXh0LW9yaWVudGF0aW9uJykgaXMgInVw
cmlnaHQiCiBQQVNTIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0NCcpLnNoZWV0LmNzc1J1
bGVzWzBdLnN0eWxlLmdldFByb3BlcnR5VmFsdWUoJ3RleHQtb3JpZW50YXRpb24nKSBpcyAibWl4
ZWQiCiBQQVNTIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0NScpLnNoZWV0LmNzc1J1bGVz
WzBdLnN0eWxlLmdldFByb3BlcnR5VmFsdWUoJ3RleHQtb3JpZW50YXRpb24nKSBpcyAibWl4ZWQi
CitQQVNTIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0NicpLnNoZWV0LmNzc1J1bGVzWzBd
LnN0eWxlLmdldFByb3BlcnR5VmFsdWUoJ3RleHQtb3JpZW50YXRpb24nKSBpcyAic2lkZXdheXMi
CitQQVNTIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0NycpLnNoZWV0LmNzc1J1bGVzWzBd
LnN0eWxlLmdldFByb3BlcnR5VmFsdWUoJ3RleHQtb3JpZW50YXRpb24nKSBpcyAic2lkZXdheXMi
CitQQVNTIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0OCcpLnNoZWV0LmNzc1J1bGVzWzBd
LnN0eWxlLmdldFByb3BlcnR5VmFsdWUoJ3RleHQtb3JpZW50YXRpb24nKSBpcyAiIgogUEFTUyBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdDEnKS5zaGVldC5jc3NSdWxlc1swXS5zdHlsZS5n
ZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LXRleHQtb3JpZW50YXRpb24nKSBpcyAidXByaWdodCIK
IFBBU1MgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3QyJykuc2hlZXQuY3NzUnVsZXNbMF0u
c3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC10ZXh0LW9yaWVudGF0aW9uJykgaXMgInVw
cmlnaHQiCiBQQVNTIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0MycpLnNoZWV0LmNzc1J1
bGVzWzBdLnN0eWxlLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtdGV4dC1vcmllbnRhdGlvbicp
IGlzICJ1cHJpZ2h0IgogUEFTUyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdDQnKS5zaGVl
dC5jc3NSdWxlc1swXS5zdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LXRleHQtb3JpZW50
YXRpb24nKSBpcyAibWl4ZWQiCiBQQVNTIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0NScp
LnNoZWV0LmNzc1J1bGVzWzBdLnN0eWxlLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtdGV4dC1v
cmllbnRhdGlvbicpIGlzICJtaXhlZCIKIFBBU1MgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rl
c3Q2Jykuc2hlZXQuY3NzUnVsZXNbMF0uc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC10
ZXh0LW9yaWVudGF0aW9uJykgaXMgInNpZGV3YXlzIgotUEFTUyBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgndGVzdDYnKS5zaGVldC5jc3NSdWxlc1swXS5zdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCd0
ZXh0LW9yaWVudGF0aW9uJykgaXMgInNpZGV3YXlzIgorUEFTUyBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgndGVzdDcnKS5zaGVldC5jc3NSdWxlc1swXS5zdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCct
d2Via2l0LXRleHQtb3JpZW50YXRpb24nKSBpcyAic2lkZXdheXMiCitQQVNTIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCd0ZXN0OCcpLnNoZWV0LmNzc1J1bGVzWzBdLnN0eWxlLmdldFByb3BlcnR5
VmFsdWUoJy13ZWJraXQtdGV4dC1vcmllbnRhdGlvbicpIGlzICIiCiBQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvdGV4dC90ZXh0LW9yaWVudGF0aW9uLXBhcnNlLXN0eWxlc2hlZXQuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvdGV4dC90ZXh0LW9yaWVudGF0aW9uLXBhcnNlLXN0eWxlc2hlZXQuaHRtbApp
bmRleCA1YzUyNDIzYTgwYzVmYWI4NmE5MDFiZWRlNGNlOGZmODk5ZWY5NTQ1Li4zODRkNzI5MGIz
ZTAzNDYyYzBhNzcyZDU1NjMxMWE2ZTQ4ZDUzNDQ1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L3RleHQvdGV4dC1vcmllbnRhdGlvbi1wYXJzZS1zdHlsZXNoZWV0Lmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC90ZXh0L3RleHQtb3JpZW50YXRpb24tcGFyc2Utc3R5bGVzaGVldC5odG1s
CkBAIC0xMSw2ICsxMSw5IEBACiAJCTxzdHlsZSBpZD0idGVzdDQiPiBkdW1teSB7IHRleHQtb3Jp
ZW50YXRpb246IHVwcmlnaHQ7IC13ZWJraXQtdGV4dC1vcmllbnRhdGlvbjogbWl4ZWQ7fSA8L3N0
eWxlPgogCQk8c3R5bGUgaWQ9InRlc3Q1Ij4gZHVtbXkgeyAtd2Via2l0LXRleHQtb3JpZW50YXRp
b246IHVwcmlnaHQ7IHRleHQtb3JpZW50YXRpb246IG1peGVkO30gPC9zdHlsZT4KIAkJPHN0eWxl
IGlkPSJ0ZXN0NiI+IGR1bW15IHsgLXdlYmtpdC10ZXh0LW9yaWVudGF0aW9uOiB1cHJpZ2h0OyB0
ZXh0LW9yaWVudGF0aW9uOiBtaXhlZDsgLXdlYmtpdC10ZXh0LW9yaWVudGF0aW9uOiBzaWRld2F5
czt9IDwvc3R5bGU+CisJCTxzdHlsZSBpZD0idGVzdDciPiBkdW1teSB7IC13ZWJraXQtdGV4dC1v
cmllbnRhdGlvbjogc2lkZXdheXMtcmlnaHQ7fSA8L3N0eWxlPgorCQk8c3R5bGUgaWQ9InRlc3Q4
Ij4gZHVtbXkgeyB0ZXh0LW9yaWVudGF0aW9uOiBzaWRld2F5cy1yaWdodDt9IDwvc3R5bGU+CisK
IAogCQk8c2NyaXB0PgogCQkJc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgndGVzdDEnKS5zaGVldC5jc3NSdWxlc1swXS5zdHlsZS5nZXRQcm9wZXJ0eVZhbHVl
KCd0ZXh0LW9yaWVudGF0aW9uJykiLCAidXByaWdodCIpOwpAQCAtMTgsMTcgKzIxLDE4IEBACiAJ
CQlzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0Mycp
LnNoZWV0LmNzc1J1bGVzWzBdLnN0eWxlLmdldFByb3BlcnR5VmFsdWUoJ3RleHQtb3JpZW50YXRp
b24nKSIsICJ1cHJpZ2h0Iik7CiAJCQlzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCd0ZXN0NCcpLnNoZWV0LmNzc1J1bGVzWzBdLnN0eWxlLmdldFByb3BlcnR5
VmFsdWUoJ3RleHQtb3JpZW50YXRpb24nKSIsICJtaXhlZCIpOwogCQkJc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdDUnKS5zaGVldC5jc3NSdWxlc1sw
XS5zdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCd0ZXh0LW9yaWVudGF0aW9uJykiLCAibWl4ZWQiKTsK
KwkJCXNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3Q2
Jykuc2hlZXQuY3NzUnVsZXNbMF0uc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgndGV4dC1vcmllbnRh
dGlvbicpIiwgInNpZGV3YXlzIik7CisJCQlzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCd0ZXN0NycpLnNoZWV0LmNzc1J1bGVzWzBdLnN0eWxlLmdldFByb3Bl
cnR5VmFsdWUoJ3RleHQtb3JpZW50YXRpb24nKSIsICJzaWRld2F5cyIpOworCQkJc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdDgnKS5zaGVldC5jc3NS
dWxlc1swXS5zdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCd0ZXh0LW9yaWVudGF0aW9uJykiLCAiIik7
CiAKIAkJCXNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rl
c3QxJykuc2hlZXQuY3NzUnVsZXNbMF0uc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC10
ZXh0LW9yaWVudGF0aW9uJykiLCAidXByaWdodCIpOwogCQkJc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdDInKS5zaGVldC5jc3NSdWxlc1swXS5zdHls
ZS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LXRleHQtb3JpZW50YXRpb24nKSIsICJ1cHJpZ2h0
Iik7CiAJCQlzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0
ZXN0MycpLnNoZWV0LmNzc1J1bGVzWzBdLnN0eWxlLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQt
dGV4dC1vcmllbnRhdGlvbicpIiwgInVwcmlnaHQiKTsKIAkJCXNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3Q0Jykuc2hlZXQuY3NzUnVsZXNbMF0uc3R5
bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC10ZXh0LW9yaWVudGF0aW9uJykiLCAibWl4ZWQi
KTsKIAkJCXNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rl
c3Q1Jykuc2hlZXQuY3NzUnVsZXNbMF0uc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC10
ZXh0LW9yaWVudGF0aW9uJykiLCAibWl4ZWQiKTsKLQogCQkJc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdDYnKS5zaGVldC5jc3NSdWxlc1swXS5zdHls
ZS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LXRleHQtb3JpZW50YXRpb24nKSIsICJzaWRld2F5
cyIpOwotCQkJc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
dGVzdDYnKS5zaGVldC5jc3NSdWxlc1swXS5zdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCd0ZXh0LW9y
aWVudGF0aW9uJykiLCAic2lkZXdheXMiKTsKLQotCisJCQlzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0NycpLnNoZWV0LmNzc1J1bGVzWzBdLnN0eWxl
LmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtdGV4dC1vcmllbnRhdGlvbicpIiwgInNpZGV3YXlz
Iik7CisJCQlzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0
ZXN0OCcpLnNoZWV0LmNzc1J1bGVzWzBdLnN0eWxlLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQt
dGV4dC1vcmllbnRhdGlvbicpIiwgIiIpOwogCQk8L3NjcmlwdD4KIAogCQk8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>456826</attachid>
            <date>2022-04-06 09:28:19 -0700</date>
            <delta_ts>2022-04-08 11:14:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-238350-20220406182818.patch</filename>
            <type>text/plain</type>
            <size>10346</size>
            <attacher name="Oriol Brufau">obrufau</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyNDY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzZjOGZlOTcwYzA5NTcz
MzkwYjMyZjc4YjRhYTM0NWY5MDg1NjYyYS4uNTNjMzQ3ZmFiNjlmMjJkYWQyYmIzYTM4MDU3NmIy
OTFkMjJiMWIwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ5IEBACisyMDIyLTAzLTI1ICBPcmlv
bCBCcnVmYXUgIDxvYnJ1ZmF1QGlnYWxpYS5jb20+CisKKyAgICAgICAgW2Nzcy1jYXNjYWRlXSBN
ZXJnZSBnZXRSZWxhdGVkUHJvcGVydHlJZCgpIGFuZCBzaG91bGRBcHBseVByb3BlcnR5SW5QYXJz
ZU9yZGVyKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIzODM1MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEJvdGggZ2V0UmVsYXRlZFByb3BlcnR5SWQoKSBhbmQgc2hvdWxkQXBwbHlQcm9wZXJ0eUluUGFy
c2VPcmRlcigpIHB1cnN1ZQorICAgICAgICB0aGUgc2FtZSB0aGluZzogaWYgdGhlcmUgYXJlIHR3
byBwcm9wZXJ0aWVzICh0eXBpY2FsbHkgYSBzdGFuZGFyZCBvbmUKKyAgICAgICAgYW5kIGEgLXdl
YmtpdC0gcHJlZml4ZWQgb25lKSB3aGljaCBzaGFyZSB0aGUgc2FtZSBmaWVsZCBpbiBSZW5kZXJT
dHlsZSwKKyAgICAgICAgdGhlbiB3ZSBzaG91bGQgdGFrZSBzcGVjaWZpZWQgb3JkZXIgaW50byBh
Y2NvdW50IHdoZW4gYXBwbHlpbmcgdGhlbS4KKworICAgICAgICBUaGUgcHJvYmxlbSBpcyB0aGF0
IHRoZSBsb2dpYyBmb3IgZ2V0UmVsYXRlZFByb3BlcnR5SWQoKSBkb2Vzbid0IHdvcmsKKyAgICAg
ICAgd2VsbCBpbiBhbGwgY2FzZXMuIEl0IHdhcyBvbmx5IHVzZWQgZm9yIC13ZWJraXQtdGV4dC1v
cmllbnRhdGlvbiBhbmQKKyAgICAgICAgdGV4dC1vcmllbnRhdGlvbiwgYnV0IGJ1ZyAyMzgzNTYg
aW1wbGVtZW50ZWQgdGhlIGZvcm1lciBhcyBhIHNob3J0aGFuZC4KKyAgICAgICAgU28gbm93IHRo
ZXJlIGlzIG5vIGNvbnN1bWVyIG9mIGdldFJlbGF0ZWRQcm9wZXJ0eUlkKCkuCisKKyAgICAgICAg
T24gdGhlIG90aGVyIGhhbmQsIHNob3VsZEFwcGx5UHJvcGVydHlJblBhcnNlT3JkZXIoKSB3b3Jr
cyBiZXR0ZXIsIGJ1dAorICAgICAgICBpdCB3aWxsIG5lZWQgdG8gYmUgYXV0b21hdGljYWxseSBn
ZW5lcmF0ZWQgZm9yIGJ1ZyAyMzgzNDUsIGFuZCBidWcKKyAgICAgICAgMjM4MTI1IHdpbGwgbmVl
ZCB0byBrbm93IHdoaWNoIHByb3BlcnR5IHNoYXJlcyBhIGNvbXB1dGVkIHZhbHVlIHdpdGggYQor
ICAgICAgICBnaXZlbiBvbmUuCisKKyAgICAgICAgU28gdGhpcyBwYXRjaCByZW1vdmVzIHRoZSBj
b25zdW1lcnMgb2YgdGhlIG9sZCBnZXRSZWxhdGVkUHJvcGVydHlJZCgpLAorICAgICAgICBhbmQg
Y2hhbmdlcyBzaG91bGRBcHBseVByb3BlcnR5SW5QYXJzZU9yZGVyKCkgdG8gYmUgYmFzZWQgb24g
aXQuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIHNpbmNlIHRoZXJlIGlzIG5vIGNoYW5nZSBpbiBi
ZWhhdmlvci4KKworICAgICAgICAqIGNzcy9DU1NQcm9wZXJ0aWVzLmpzb246CisgICAgICAgIE1h
cmsgcHJvcGVydGllcyBmb3Igd2hpY2ggc2hvdWxkQXBwbHlQcm9wZXJ0eUluUGFyc2VPcmRlcigp
IHJldHVybmVkCisgICAgICAgIHRydWUgd2l0aCB0aGUgInJlbGF0ZWQtcHJvcGVydHkiIGZsYWcu
CisKKyAgICAgICAgKiBjc3MvUHJvcGVydHlTZXRDU1NTdHlsZURlY2xhcmF0aW9uLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlByb3BlcnR5U2V0Q1NTU3R5bGVEZWNsYXJhdGlvbjo6Z2V0UHJvcGVy
dHlWYWx1ZUludGVybmFsKToKKyAgICAgICAgUmVtb3ZlIG9sZCBnZXRSZWxhdGVkUHJvcGVydHlJ
ZCgpIGxvZ2ljIHdoaWNoIHdhcyB1bnVzZWQuCisKKyAgICAgICAgKiBjc3MvbWFrZXByb3AucGw6
CisgICAgICAgIFRocm93IGVycm9ycyBpZiAicmVsYXRlZC1wcm9wZXJ0eSIgZmxhZyBpcyBpbnZh
bGlkLgorCisgICAgICAgICogY3NzL3BhcnNlci9DU1NQYXJzZXJJbXBsLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OmZpbHRlclByb3BlcnRpZXMpOgorICAgICAgICBSZW1vdmUgb2xkIGdldFJlbGF0
ZWRQcm9wZXJ0eUlkKCkgbG9naWMgd2hpY2ggd2FzIHVudXNlZC4KKworICAgICAgICAqIHN0eWxl
L1Byb3BlcnR5Q2FzY2FkZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZTo6c2hvdWxkQXBw
bHlQcm9wZXJ0eUluUGFyc2VPcmRlcik6CisgICAgICAgIEJhc2Ugc2hvdWxkQXBwbHlQcm9wZXJ0
eUluUGFyc2VPcmRlcigpIG9uIGdldFJlbGF0ZWRQcm9wZXJ0eUlkKCkuCisKIDIwMjItMDQtMDYg
IFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgVW5pZnkg
dGhlIHR3byBJbWFnZUJ1ZmZlcjo6Y3JlYXRlKCkgZnVuY3Rpb25zLCBwYXNzaW5nIFJlbmRlcmlu
Z1B1cnBvc2UgZXZlcnl3aGVyZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1By
b3BlcnRpZXMuanNvbiBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0aWVzLmpzb24KaW5k
ZXggZDU1NmQzNGRmY2IzY2MyNjY0OTE2NTEwYTZkNzA5ZTNjMzlmZjJlMS4uYTczYzAwOWQwNmRl
Zjk0YzUyYjJhMjI0NWMyNjg2ZmU0NDQyMzBhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1Byb3BlcnRpZXMuanNvbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVy
dGllcy5qc29uCkBAIC0xNDIsMTAgKzE0MiwxMyBAQAogICAgICAgICAiaW4gQ1NTIGNhc2NhZGlu
ZyBvcmRlci4iLAogICAgICAgICAiIiwKICAgICAgICAgIiogcmVsYXRlZC1wcm9wZXJ0eToiLAot
ICAgICAgICAiSW5kaWNhdGVzIHRoZSBwcmVmaXhlZCBvciB1bnByZWZpeGVkIHZlcnNpb24gb2Yg
dGhlIHNhbWUgcHJvcGVydHkuIiwKLSAgICAgICAgIldoZW4gcGFyc2luZyBoaWdoIHByaW9yaXR5
IENTUyBwcm9wZXJ0aWVzIHdpdGggYm90aCBwcmVmaXhlZCBhbmQgdW5wcmVmaXhlZCIsCi0gICAg
ICAgICJ2ZXJzaW9ucywgdGhpcyBmbGlnIHdpbGwgaGVscCB0aGUgcGFyc2VyIHRvIG1hcmsgYWxs
IHJlbGF0ZWQgcHJvcGVydGllcyAiLAotICAgICAgICAiYXMgc2VlbiB3aGVuIG9uZSBpcyBzZWVu
LiBUaGlzIGNvdWxkIGVuZm9yY2UgdGhlICdsYXN0LW9uZS13aW5zJyBydWxlLiIsCisgICAgICAg
ICJJbmRpY2F0ZXMgYW5vdGhlciBwcm9wZXJ0eSB3aGljaCBzaGFyZXMgYSBjb21wdXRlZCBzdHls
ZSB3aXRoIHRoZSBjdXJyZW50IG9uZS4iLAorICAgICAgICAiVHlwaWNhbGx5IHVzZWQgZm9yIHRo
ZSBwcmVmaXhlZCBvciB1bnByZWZpeGVkIHZlcnNpb24gb2YgdGhlIHNhbWUgcHJvcGVydHksIGUu
Zy4iLAorICAgICAgICAiLXdlYmtpdC1ib3gtc2hhZG93IGhhcyBib3gtc2hhZG93IGFzIHRoZSBy
ZWxhdGVkIHByb3BlcnR5LCBhbmQgdmljZSB2ZXJzYS4iLAorICAgICAgICAiUHJvcGVydGllcyB3
aXRoIHRoaXMgZmxhZyBjYW4ndCBiZSBoaWdoLXByaW9yaXR5LCB0aGV5IGFyZSBkZWZlcnJlZCB0
byBiZSBhcHBsaWVkIiwKKyAgICAgICAgImFmdGVyIGxvdy1wcmlvcml0eSBvbmVzLCBhbmQgdGhl
eSBhcmUgc3BlY2lhbGx5IGhhbmRsZWQgdG8gYXBwbHkgaW4gcGFyc2Ugb3JkZXIuIiwKKyAgICAg
ICAgIlNvIGlmIGEgZGVjbGFyYXRpb24gYmxvY2sgY29udGFpbnMgYm90aCBwcm9wZXJ0aWVzLCB0
aGV5IHdpbGwgYmUgYXBwbGllZCBpbiB0aGUiLAorICAgICAgICAic3BlY2lmaWVkIG9yZGVyLCBu
b3QgYWxwaGFiZXRpY2FsbHkgd2l0aGluIHRoZWlyIHByaW9yaXR5IGJ1Y2tldCBhcyB1c3VhbC4i
LAogICAgICAgICAiIiwKICAgICAgICAgIiogYWxpYXNlczoiLAogICAgICAgICAiQW4gYXJyYXkg
b2YgdGhlIGFsdGVybmF0aXZlIG5hbWVzIGZvciB0aGlzIHByb3BlcnR5LiBBbGlhc2VzIGFyZSBm
b2xkZWQgYXQiLApAQCAtMTEyMyw2ICsxMTI2LDcgQEAKICAgICAgICAgICAgICAgICB9CiAgICAg
ICAgICAgICBdLAogICAgICAgICAgICAgImNvZGVnZW4tcHJvcGVydGllcyI6IHsKKyAgICAgICAg
ICAgICAgICAicmVsYXRlZC1wcm9wZXJ0eSI6ICItd2Via2l0LWJhY2tncm91bmQtY2xpcCIsCiAg
ICAgICAgICAgICAgICAgIm5hbWUtZm9yLW1ldGhvZHMiOiAiQ2xpcCIsCiAgICAgICAgICAgICAg
ICAgImZpbGwtbGF5ZXItcHJvcGVydHkiOiB0cnVlCiAgICAgICAgICAgICB9LApAQCAtMTE1Myw2
ICsxMTU3LDcgQEAKICAgICAgICAgfSwKICAgICAgICAgImJhY2tncm91bmQtb3JpZ2luIjogewog
ICAgICAgICAgICAgImNvZGVnZW4tcHJvcGVydGllcyI6IHsKKyAgICAgICAgICAgICAgICAicmVs
YXRlZC1wcm9wZXJ0eSI6ICItd2Via2l0LWJhY2tncm91bmQtb3JpZ2luIiwKICAgICAgICAgICAg
ICAgICAibmFtZS1mb3ItbWV0aG9kcyI6ICJPcmlnaW4iLAogICAgICAgICAgICAgICAgICJmaWxs
LWxheWVyLXByb3BlcnR5IjogdHJ1ZQogICAgICAgICAgICAgfSwKQEAgLTEyNDMsNiArMTI0OCw3
IEBACiAgICAgICAgIH0sCiAgICAgICAgICJiYWNrZ3JvdW5kLXNpemUiOiB7CiAgICAgICAgICAg
ICAiY29kZWdlbi1wcm9wZXJ0aWVzIjogeworICAgICAgICAgICAgICAgICJyZWxhdGVkLXByb3Bl
cnR5IjogIi13ZWJraXQtYmFja2dyb3VuZC1zaXplIiwKICAgICAgICAgICAgICAgICAibmFtZS1m
b3ItbWV0aG9kcyI6ICJTaXplIiwKICAgICAgICAgICAgICAgICAiZmlsbC1sYXllci1wcm9wZXJ0
eSI6IHRydWUKICAgICAgICAgICAgIH0sCkBAIC0yMjgzLDYgKzIyODksNyBAQAogICAgICAgICB9
LAogICAgICAgICAiYm94LXNoYWRvdyI6IHsKICAgICAgICAgICAgICJjb2RlZ2VuLXByb3BlcnRp
ZXMiOiB7CisgICAgICAgICAgICAgICAgInJlbGF0ZWQtcHJvcGVydHkiOiAiLXdlYmtpdC1ib3gt
c2hhZG93IiwKICAgICAgICAgICAgICAgICAiY3VzdG9tIjogIkFsbCIKICAgICAgICAgICAgIH0s
CiAgICAgICAgICAgICAic3BlY2lmaWNhdGlvbiI6IHsKQEAgLTUzMzksMTggKzUzNDYsMjEgQEAK
ICAgICAgICAgfSwKICAgICAgICAgIi13ZWJraXQtYmFja2dyb3VuZC1jbGlwIjogewogICAgICAg
ICAgICAgImNvZGVnZW4tcHJvcGVydGllcyI6IHsKKyAgICAgICAgICAgICAgICAicmVsYXRlZC1w
cm9wZXJ0eSI6ICJiYWNrZ3JvdW5kLWNsaXAiLAogICAgICAgICAgICAgICAgICJuYW1lLWZvci1t
ZXRob2RzIjogIkNsaXAiLAogICAgICAgICAgICAgICAgICJmaWxsLWxheWVyLXByb3BlcnR5Ijog
dHJ1ZQogICAgICAgICAgICAgfQogICAgICAgICB9LAogICAgICAgICAiLXdlYmtpdC1iYWNrZ3Jv
dW5kLW9yaWdpbiI6IHsKICAgICAgICAgICAgICJjb2RlZ2VuLXByb3BlcnRpZXMiOiB7CisgICAg
ICAgICAgICAgICAgInJlbGF0ZWQtcHJvcGVydHkiOiAiYmFja2dyb3VuZC1vcmlnaW4iLAogICAg
ICAgICAgICAgICAgICJuYW1lLWZvci1tZXRob2RzIjogIk9yaWdpbiIsCiAgICAgICAgICAgICAg
ICAgImZpbGwtbGF5ZXItcHJvcGVydHkiOiB0cnVlCiAgICAgICAgICAgICB9CiAgICAgICAgIH0s
CiAgICAgICAgICItd2Via2l0LWJhY2tncm91bmQtc2l6ZSI6IHsKICAgICAgICAgICAgICJjb2Rl
Z2VuLXByb3BlcnRpZXMiOiB7CisgICAgICAgICAgICAgICAgInJlbGF0ZWQtcHJvcGVydHkiOiAi
YmFja2dyb3VuZC1zaXplIiwKICAgICAgICAgICAgICAgICAibmFtZS1mb3ItbWV0aG9kcyI6ICJT
aXplIiwKICAgICAgICAgICAgICAgICAiZmlsbC1sYXllci1wcm9wZXJ0eSI6IHRydWUKICAgICAg
ICAgICAgIH0sCkBAIC01NDk1LDYgKzU1MDUsNyBAQAogICAgICAgICB9LAogICAgICAgICAiLXdl
YmtpdC1ib3gtc2hhZG93IjogewogICAgICAgICAgICAgImNvZGVnZW4tcHJvcGVydGllcyI6IHsK
KyAgICAgICAgICAgICAgICAicmVsYXRlZC1wcm9wZXJ0eSI6ICJib3gtc2hhZG93IiwKICAgICAg
ICAgICAgICAgICAiY3VzdG9tIjogIkFsbCIKICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAi
c3RhdHVzIjogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1Byb3BlcnR5U2V0Q1NT
U3R5bGVEZWNsYXJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvUHJvcGVydHlTZXRDU1NT
dHlsZURlY2xhcmF0aW9uLmNwcAppbmRleCAxNTdjYmIwN2Q2MGI2ZmRlYmQ3MWQzZjk5OWE1MDgz
ZjFjMzQ2NGQzLi41YTcyOWRhZGQ1ODkyYmI3MzlhOGE3MWY2NGNjMjIwYmUyYjJkYjAxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvUHJvcGVydHlTZXRDU1NTdHlsZURlY2xhcmF0aW9u
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvUHJvcGVydHlTZXRDU1NTdHlsZURlY2xhcmF0
aW9uLmNwcApAQCAtMzAwLDE0ICszMDAsMTAgQEAgUmVmUHRyPENTU1ZhbHVlPiBQcm9wZXJ0eVNl
dENTU1N0eWxlRGVjbGFyYXRpb246OmdldFByb3BlcnR5Q1NTVmFsdWVJbnRlcm5hbChDU1MKIFN0
cmluZyBQcm9wZXJ0eVNldENTU1N0eWxlRGVjbGFyYXRpb246OmdldFByb3BlcnR5VmFsdWVJbnRl
cm5hbChDU1NQcm9wZXJ0eUlEIHByb3BlcnR5SUQpCiB7CiAgICAgU3RyaW5nIHZhbHVlID0gbV9w
cm9wZXJ0eVNldC0+Z2V0UHJvcGVydHlWYWx1ZShwcm9wZXJ0eUlEKTsKLSAgICBDU1NQcm9wZXJ0
eUlEIHJlbGF0ZWRQcm9wZXJ0eUlEID0gZ2V0UmVsYXRlZFByb3BlcnR5SWQocHJvcGVydHlJRCk7
Ci0gICAgU3RyaW5nIHJlbGF0ZWRWYWx1ZSA9IG1fcHJvcGVydHlTZXQtPmdldFByb3BlcnR5VmFs
dWUocmVsYXRlZFByb3BlcnR5SUQpOwotICAgICAgICAKKwogICAgIGlmICghdmFsdWUuaXNFbXB0
eSgpKQogICAgICAgICByZXR1cm4gdmFsdWU7Ci0gICAgaWYgKCFyZWxhdGVkVmFsdWUuaXNFbXB0
eSgpKQotICAgICAgICByZXR1cm4gcmVsYXRlZFZhbHVlOwotICAgIAorCiAgICAgcmV0dXJuIHsg
fTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL21ha2Vwcm9wLnBsIGIvU291
cmNlL1dlYkNvcmUvY3NzL21ha2Vwcm9wLnBsCmluZGV4IDkzMGI3Mzg5NTU0MTc4NGJjMmFjYzNl
NjA2NjI2ZTg4NjA2ZWY1ODYuLjdlMGUwNDIzNjgwOWZjNjhiNTg5ZTE4ZDNhYjY5YmE0ZTQxN2Jl
NjggMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9tYWtlcHJvcC5wbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvbWFrZXByb3AucGwKQEAgLTYwMCw4ICs2MDAsMTQgQEAgRU9GCiAgICAg
ICAgIGlmICghJHJlbGF0ZWRQcm9wZXJ0eXskbmFtZX0pIHsKICAgICAgICAgICAgIG5leHQ7CiAg
ICAgICAgIH0KKyAgICAgICAgbXkgJHJlbGF0ZWQgPSAkcmVsYXRlZFByb3BlcnR5eyRuYW1lfTsK
KyAgICAgICAgZGllICJQcm9wZXJ0eSAkbmFtZSBoYXMgYW4gdW5rbm93biByZWxhdGVkIHByb3Bl
cnR5OiAkcmVsYXRlZCIgaWYgIWV4aXN0cygkbmFtZVRvSWR7JHJlbGF0ZWR9KTsKKyAgICAgICAg
ZGllICJIaWdoIHByaW9yaXR5IHByb3BlcnR5ICRuYW1lIGNhbid0IGhhdmUgYSByZWxhdGVkIHBy
b3BlcnR5OiAkcmVsYXRlZCIgaWYgJG5hbWVJc0hpZ2hQcmlvcml0eXskbmFtZX07CisgICAgICAg
IGRpZSAiU2hvcnRoYW5kIHByb3BlcnR5ICRuYW1lIGNhbid0IGhhdmUgYSByZWxhdGVkIHByb3Bl
cnR5OiAkcmVsYXRlZCIgaWYgZXhpc3RzICRwcm9wZXJ0aWVzV2l0aFN0eWxlQnVpbGRlck9wdGlv
bnN7JG5hbWV9eyJsb25naGFuZHMifTsKKyAgICAgICAgZGllICJQcm9wZXJ0eSAkbmFtZSBjYW4n
dCBoYXZlIGl0c2VsZiBhcyBhIHJlbGF0ZWQgcHJvcGVydHkiIGlmICRyZWxhdGVkIGVxICRuYW1l
OworICAgICAgICBkaWUgIlByb3BlcnR5ICRuYW1lIGhhcyAkcmVsYXRlZCBhcyBhIHJlbGF0ZWQg
cHJvcGVydHksIGJ1dCBpdCdzIG5vdCByZWNpcHJvY2FsIiBpZiAkcmVsYXRlZFByb3BlcnR5eyRy
ZWxhdGVkfSBuZSAkbmFtZTsKICAgICAgICAgcHJpbnQgR1BFUkYgIiAgICBjYXNlIENTU1Byb3Bl
cnR5SUQ6OkNTU1Byb3BlcnR5IiAuICRuYW1lVG9JZHskbmFtZX0gLiAiOlxuIjsKLSAgICAgICAg
cHJpbnQgR1BFUkYgIiAgICAgICAgcmV0dXJuIENTU1Byb3BlcnR5SUQ6OkNTU1Byb3BlcnR5IiAu
ICRuYW1lVG9JZHskcmVsYXRlZFByb3BlcnR5eyRuYW1lfX0gLiAiO1xuIjsKKyAgICAgICAgcHJp
bnQgR1BFUkYgIiAgICAgICAgcmV0dXJuIENTU1Byb3BlcnR5SUQ6OkNTU1Byb3BlcnR5IiAuICRu
YW1lVG9JZHskcmVsYXRlZH0gLiAiO1xuIjsKICAgICB9CiAgICAgcHJpbnQgR1BFUkYgPDwgIkVP
RiI7CiAgICAgZGVmYXVsdDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIv
Q1NTUGFyc2VySW1wbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlcklt
cGwuY3BwCmluZGV4IDgzZmFkMTAyNDU0YzVmMGNjNjY1ZjgwZDg4OTE1NzNjMmFhODA1M2MuLjY5
NTI5OTYxZWE3YWRlYzZhYmQxODkzMzU3YTBiMTExNzg1Y2ZhOWIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VySW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvY3NzL3BhcnNlci9DU1NQYXJzZXJJbXBsLmNwcApAQCAtMTI3LDEzICsxMjcsNyBAQCBzdGF0
aWMgaW5saW5lIHZvaWQgZmlsdGVyUHJvcGVydGllcyhib29sIGltcG9ydGFudCwgY29uc3QgUGFy
c2VkUHJvcGVydHlWZWN0b3ImCiAKICAgICAgICAgaWYgKHNlZW5Qcm9wZXJ0aWVzLnRlc3QocHJv
cGVydHlJREluZGV4KSkKICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICBjb25zdCB1bnNp
Z25lZCByZWxhdGVkUHJvcGVydHlJZCA9IGdldFJlbGF0ZWRQcm9wZXJ0eUlkKHByb3BlcnR5Lmlk
KCkpOwotICAgICAgICBpZiAocHJvcGVydHkuaWQoKSAhPSBDU1NQcm9wZXJ0eUludmFsaWQgJiYg
cmVsYXRlZFByb3BlcnR5SWQgIT0gQ1NTUHJvcGVydHlJbnZhbGlkKSB7Ci0gICAgICAgICAgICBj
b25zdCB1bnNpZ25lZCByZWxhdGVkUHJvcGVydHlJREluZGV4ID0gcmVsYXRlZFByb3BlcnR5SWQg
LSBmaXJzdENTU1Byb3BlcnR5OwotICAgICAgICAgICAgc2VlblByb3BlcnRpZXMuc2V0KHJlbGF0
ZWRQcm9wZXJ0eUlESW5kZXgpOwotICAgICAgICAgICAgc2VlblByb3BlcnRpZXMuc2V0KHByb3Bl
cnR5SURJbmRleCk7Ci0gICAgICAgIH0gZWxzZQotICAgICAgICAgICAgc2VlblByb3BlcnRpZXMu
c2V0KHByb3BlcnR5SURJbmRleCk7CisgICAgICAgIHNlZW5Qcm9wZXJ0aWVzLnNldChwcm9wZXJ0
eUlESW5kZXgpOwogCiAgICAgICAgIG91dHB1dFstLXVudXNlZEVudHJpZXNdID0gcHJvcGVydHk7
CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvUHJvcGVydHlDYXNjYWRl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1Byb3BlcnR5Q2FzY2FkZS5jcHAKaW5kZXggMWVl
OTRiM2UyMjhhZTBjMDVlY2I3Njc4ZDM3ODExNTBkODE0NGJjNy4uNWQ0NDc3NzgwYjkzYTQ5YzAx
NjRkM2IzMzkxMzE5YTkwYzEyMDZhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3R5bGUv
UHJvcGVydHlDYXNjYWRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9Qcm9wZXJ0eUNh
c2NhZGUuY3BwCkBAIC00MCwxOSArNDAsNyBAQCBuYW1lc3BhY2UgU3R5bGUgewogCiBzdGF0aWMg
aW5saW5lIGJvb2wgc2hvdWxkQXBwbHlQcm9wZXJ0eUluUGFyc2VPcmRlcihDU1NQcm9wZXJ0eUlE
IHByb3BlcnR5SUQpCiB7Ci0gICAgc3dpdGNoIChwcm9wZXJ0eUlEKSB7Ci0gICAgY2FzZSBDU1NQ
cm9wZXJ0eVdlYmtpdEJhY2tncm91bmRDbGlwOgotICAgIGNhc2UgQ1NTUHJvcGVydHlCYWNrZ3Jv
dW5kQ2xpcDoKLSAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0QmFja2dyb3VuZE9yaWdpbjoKLSAg
ICBjYXNlIENTU1Byb3BlcnR5QmFja2dyb3VuZE9yaWdpbjoKLSAgICBjYXNlIENTU1Byb3BlcnR5
V2Via2l0QmFja2dyb3VuZFNpemU6Ci0gICAgY2FzZSBDU1NQcm9wZXJ0eUJhY2tncm91bmRTaXpl
OgotICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRCb3hTaGFkb3c6Ci0gICAgY2FzZSBDU1NQcm9w
ZXJ0eUJveFNoYWRvdzoKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgZGVmYXVsdDoKLSAgICAg
ICAgcmV0dXJuIGZhbHNlOwotICAgIH0KKyAgICByZXR1cm4gZ2V0UmVsYXRlZFByb3BlcnR5SWQo
cHJvcGVydHlJRCkgIT0gQ1NTUHJvcGVydHlJbnZhbGlkOwogfQogCiBQcm9wZXJ0eUNhc2NhZGU6
OlByb3BlcnR5Q2FzY2FkZShjb25zdCBNYXRjaFJlc3VsdCYgbWF0Y2hSZXN1bHQsIENhc2NhZGVM
ZXZlbCBtYXhpbXVtQ2FzY2FkZUxldmVsLCBJbmNsdWRlZFByb3BlcnRpZXMgaW5jbHVkZWRQcm9w
ZXJ0aWVzLCBEaXJlY3Rpb24gZGlyZWN0aW9uKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>457099</attachid>
            <date>2022-04-08 11:15:02 -0700</date>
            <delta_ts>2022-04-08 14:41:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-238350-20220408201501.patch</filename>
            <type>text/plain</type>
            <size>10470</size>
            <attacher name="Oriol Brufau">obrufau</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyNDY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzZjOGZlOTcwYzA5NTcz
MzkwYjMyZjc4YjRhYTM0NWY5MDg1NjYyYS4uNjk5MDg4ZTc0ZmMxMGQyYzc1MjhiZTYwMTM5YWZi
MTE0YWQxZGM0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ5IEBACisyMDIyLTA0LTA4ICBPcmlv
bCBCcnVmYXUgIDxvYnJ1ZmF1QGlnYWxpYS5jb20+CisKKyAgICAgICAgW2Nzcy1jYXNjYWRlXSBN
ZXJnZSBnZXRSZWxhdGVkUHJvcGVydHlJZCgpIGFuZCBzaG91bGRBcHBseVByb3BlcnR5SW5QYXJz
ZU9yZGVyKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIzODM1MAorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgIEJv
dGggZ2V0UmVsYXRlZFByb3BlcnR5SWQoKSBhbmQgc2hvdWxkQXBwbHlQcm9wZXJ0eUluUGFyc2VP
cmRlcigpIHB1cnN1ZQorICAgICAgICB0aGUgc2FtZSB0aGluZzogaWYgdGhlcmUgYXJlIHR3byBw
cm9wZXJ0aWVzICh0eXBpY2FsbHkgYSBzdGFuZGFyZCBvbmUKKyAgICAgICAgYW5kIGEgLXdlYmtp
dC0gcHJlZml4ZWQgb25lKSB3aGljaCBzaGFyZSB0aGUgc2FtZSBmaWVsZCBpbiBSZW5kZXJTdHls
ZSwKKyAgICAgICAgdGhlbiB3ZSBzaG91bGQgdGFrZSBzcGVjaWZpZWQgb3JkZXIgaW50byBhY2Nv
dW50IHdoZW4gYXBwbHlpbmcgdGhlbS4KKworICAgICAgICBUaGUgcHJvYmxlbSBpcyB0aGF0IHRo
ZSBsb2dpYyBmb3IgZ2V0UmVsYXRlZFByb3BlcnR5SWQoKSBkb2Vzbid0IHdvcmsKKyAgICAgICAg
d2VsbCBpbiBhbGwgY2FzZXMuIEl0IHdhcyBvbmx5IHVzZWQgZm9yIC13ZWJraXQtdGV4dC1vcmll
bnRhdGlvbiBhbmQKKyAgICAgICAgdGV4dC1vcmllbnRhdGlvbiwgYnV0IGJ1ZyAyMzgzNTYgaW1w
bGVtZW50ZWQgdGhlIGZvcm1lciBhcyBhIHNob3J0aGFuZC4KKyAgICAgICAgU28gbm93IHRoZXJl
IGlzIG5vIGNvbnN1bWVyIG9mIGdldFJlbGF0ZWRQcm9wZXJ0eUlkKCkuCisKKyAgICAgICAgT24g
dGhlIG90aGVyIGhhbmQsIHNob3VsZEFwcGx5UHJvcGVydHlJblBhcnNlT3JkZXIoKSB3b3JrcyBi
ZXR0ZXIsIGJ1dAorICAgICAgICBpdCB3aWxsIG5lZWQgdG8gYmUgYXV0b21hdGljYWxseSBnZW5l
cmF0ZWQgZm9yIGJ1ZyAyMzgzNDUsIGFuZCBidWcKKyAgICAgICAgMjM4MTI1IHdpbGwgbmVlZCB0
byBrbm93IHdoaWNoIHByb3BlcnR5IHNoYXJlcyBhIGNvbXB1dGVkIHZhbHVlIHdpdGggYQorICAg
ICAgICBnaXZlbiBvbmUuCisKKyAgICAgICAgU28gdGhpcyBwYXRjaCByZW1vdmVzIHRoZSBjb25z
dW1lcnMgb2YgdGhlIG9sZCBnZXRSZWxhdGVkUHJvcGVydHlJZCgpLAorICAgICAgICBhbmQgY2hh
bmdlcyBzaG91bGRBcHBseVByb3BlcnR5SW5QYXJzZU9yZGVyKCkgdG8gYmUgYmFzZWQgb24gaXQu
CisKKyAgICAgICAgTm8gbmV3IHRlc3RzIHNpbmNlIHRoZXJlIGlzIG5vIGNoYW5nZSBpbiBiZWhh
dmlvci4KKworICAgICAgICAqIGNzcy9DU1NQcm9wZXJ0aWVzLmpzb246CisgICAgICAgIE1hcmsg
cHJvcGVydGllcyBmb3Igd2hpY2ggc2hvdWxkQXBwbHlQcm9wZXJ0eUluUGFyc2VPcmRlcigpIHJl
dHVybmVkCisgICAgICAgIHRydWUgd2l0aCB0aGUgInJlbGF0ZWQtcHJvcGVydHkiIGZsYWcuCisK
KyAgICAgICAgKiBjc3MvUHJvcGVydHlTZXRDU1NTdHlsZURlY2xhcmF0aW9uLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlByb3BlcnR5U2V0Q1NTU3R5bGVEZWNsYXJhdGlvbjo6Z2V0UHJvcGVydHlW
YWx1ZUludGVybmFsKToKKyAgICAgICAgUmVtb3ZlIG9sZCBnZXRSZWxhdGVkUHJvcGVydHlJZCgp
IGxvZ2ljIHdoaWNoIHdhcyB1bnVzZWQuCisKKyAgICAgICAgKiBjc3MvbWFrZXByb3AucGw6Cisg
ICAgICAgIFRocm93IGVycm9ycyBpZiAicmVsYXRlZC1wcm9wZXJ0eSIgZmxhZyBpcyBpbnZhbGlk
LgorCisgICAgICAgICogY3NzL3BhcnNlci9DU1NQYXJzZXJJbXBsLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OmZpbHRlclByb3BlcnRpZXMpOgorICAgICAgICBSZW1vdmUgb2xkIGdldFJlbGF0ZWRQ
cm9wZXJ0eUlkKCkgbG9naWMgd2hpY2ggd2FzIHVudXNlZC4KKworICAgICAgICAqIHN0eWxlL1By
b3BlcnR5Q2FzY2FkZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZTo6c2hvdWxkQXBwbHlQ
cm9wZXJ0eUluUGFyc2VPcmRlcik6CisgICAgICAgIEJhc2Ugc2hvdWxkQXBwbHlQcm9wZXJ0eUlu
UGFyc2VPcmRlcigpIG9uIGdldFJlbGF0ZWRQcm9wZXJ0eUlkKCkuCisKIDIwMjItMDQtMDYgIFNp
bW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgVW5pZnkgdGhl
IHR3byBJbWFnZUJ1ZmZlcjo6Y3JlYXRlKCkgZnVuY3Rpb25zLCBwYXNzaW5nIFJlbmRlcmluZ1B1
cnBvc2UgZXZlcnl3aGVyZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3Bl
cnRpZXMuanNvbiBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0aWVzLmpzb24KaW5kZXgg
ZDU1NmQzNGRmY2IzY2MyNjY0OTE2NTEwYTZkNzA5ZTNjMzlmZjJlMS4uYTczYzAwOWQwNmRlZjk0
YzUyYjJhMjI0NWMyNjg2ZmU0NDQyMzBhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1Byb3BlcnRpZXMuanNvbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydGll
cy5qc29uCkBAIC0xNDIsMTAgKzE0MiwxMyBAQAogICAgICAgICAiaW4gQ1NTIGNhc2NhZGluZyBv
cmRlci4iLAogICAgICAgICAiIiwKICAgICAgICAgIiogcmVsYXRlZC1wcm9wZXJ0eToiLAotICAg
ICAgICAiSW5kaWNhdGVzIHRoZSBwcmVmaXhlZCBvciB1bnByZWZpeGVkIHZlcnNpb24gb2YgdGhl
IHNhbWUgcHJvcGVydHkuIiwKLSAgICAgICAgIldoZW4gcGFyc2luZyBoaWdoIHByaW9yaXR5IENT
UyBwcm9wZXJ0aWVzIHdpdGggYm90aCBwcmVmaXhlZCBhbmQgdW5wcmVmaXhlZCIsCi0gICAgICAg
ICJ2ZXJzaW9ucywgdGhpcyBmbGlnIHdpbGwgaGVscCB0aGUgcGFyc2VyIHRvIG1hcmsgYWxsIHJl
bGF0ZWQgcHJvcGVydGllcyAiLAotICAgICAgICAiYXMgc2VlbiB3aGVuIG9uZSBpcyBzZWVuLiBU
aGlzIGNvdWxkIGVuZm9yY2UgdGhlICdsYXN0LW9uZS13aW5zJyBydWxlLiIsCisgICAgICAgICJJ
bmRpY2F0ZXMgYW5vdGhlciBwcm9wZXJ0eSB3aGljaCBzaGFyZXMgYSBjb21wdXRlZCBzdHlsZSB3
aXRoIHRoZSBjdXJyZW50IG9uZS4iLAorICAgICAgICAiVHlwaWNhbGx5IHVzZWQgZm9yIHRoZSBw
cmVmaXhlZCBvciB1bnByZWZpeGVkIHZlcnNpb24gb2YgdGhlIHNhbWUgcHJvcGVydHksIGUuZy4i
LAorICAgICAgICAiLXdlYmtpdC1ib3gtc2hhZG93IGhhcyBib3gtc2hhZG93IGFzIHRoZSByZWxh
dGVkIHByb3BlcnR5LCBhbmQgdmljZSB2ZXJzYS4iLAorICAgICAgICAiUHJvcGVydGllcyB3aXRo
IHRoaXMgZmxhZyBjYW4ndCBiZSBoaWdoLXByaW9yaXR5LCB0aGV5IGFyZSBkZWZlcnJlZCB0byBi
ZSBhcHBsaWVkIiwKKyAgICAgICAgImFmdGVyIGxvdy1wcmlvcml0eSBvbmVzLCBhbmQgdGhleSBh
cmUgc3BlY2lhbGx5IGhhbmRsZWQgdG8gYXBwbHkgaW4gcGFyc2Ugb3JkZXIuIiwKKyAgICAgICAg
IlNvIGlmIGEgZGVjbGFyYXRpb24gYmxvY2sgY29udGFpbnMgYm90aCBwcm9wZXJ0aWVzLCB0aGV5
IHdpbGwgYmUgYXBwbGllZCBpbiB0aGUiLAorICAgICAgICAic3BlY2lmaWVkIG9yZGVyLCBub3Qg
YWxwaGFiZXRpY2FsbHkgd2l0aGluIHRoZWlyIHByaW9yaXR5IGJ1Y2tldCBhcyB1c3VhbC4iLAog
ICAgICAgICAiIiwKICAgICAgICAgIiogYWxpYXNlczoiLAogICAgICAgICAiQW4gYXJyYXkgb2Yg
dGhlIGFsdGVybmF0aXZlIG5hbWVzIGZvciB0aGlzIHByb3BlcnR5LiBBbGlhc2VzIGFyZSBmb2xk
ZWQgYXQiLApAQCAtMTEyMyw2ICsxMTI2LDcgQEAKICAgICAgICAgICAgICAgICB9CiAgICAgICAg
ICAgICBdLAogICAgICAgICAgICAgImNvZGVnZW4tcHJvcGVydGllcyI6IHsKKyAgICAgICAgICAg
ICAgICAicmVsYXRlZC1wcm9wZXJ0eSI6ICItd2Via2l0LWJhY2tncm91bmQtY2xpcCIsCiAgICAg
ICAgICAgICAgICAgIm5hbWUtZm9yLW1ldGhvZHMiOiAiQ2xpcCIsCiAgICAgICAgICAgICAgICAg
ImZpbGwtbGF5ZXItcHJvcGVydHkiOiB0cnVlCiAgICAgICAgICAgICB9LApAQCAtMTE1Myw2ICsx
MTU3LDcgQEAKICAgICAgICAgfSwKICAgICAgICAgImJhY2tncm91bmQtb3JpZ2luIjogewogICAg
ICAgICAgICAgImNvZGVnZW4tcHJvcGVydGllcyI6IHsKKyAgICAgICAgICAgICAgICAicmVsYXRl
ZC1wcm9wZXJ0eSI6ICItd2Via2l0LWJhY2tncm91bmQtb3JpZ2luIiwKICAgICAgICAgICAgICAg
ICAibmFtZS1mb3ItbWV0aG9kcyI6ICJPcmlnaW4iLAogICAgICAgICAgICAgICAgICJmaWxsLWxh
eWVyLXByb3BlcnR5IjogdHJ1ZQogICAgICAgICAgICAgfSwKQEAgLTEyNDMsNiArMTI0OCw3IEBA
CiAgICAgICAgIH0sCiAgICAgICAgICJiYWNrZ3JvdW5kLXNpemUiOiB7CiAgICAgICAgICAgICAi
Y29kZWdlbi1wcm9wZXJ0aWVzIjogeworICAgICAgICAgICAgICAgICJyZWxhdGVkLXByb3BlcnR5
IjogIi13ZWJraXQtYmFja2dyb3VuZC1zaXplIiwKICAgICAgICAgICAgICAgICAibmFtZS1mb3It
bWV0aG9kcyI6ICJTaXplIiwKICAgICAgICAgICAgICAgICAiZmlsbC1sYXllci1wcm9wZXJ0eSI6
IHRydWUKICAgICAgICAgICAgIH0sCkBAIC0yMjgzLDYgKzIyODksNyBAQAogICAgICAgICB9LAog
ICAgICAgICAiYm94LXNoYWRvdyI6IHsKICAgICAgICAgICAgICJjb2RlZ2VuLXByb3BlcnRpZXMi
OiB7CisgICAgICAgICAgICAgICAgInJlbGF0ZWQtcHJvcGVydHkiOiAiLXdlYmtpdC1ib3gtc2hh
ZG93IiwKICAgICAgICAgICAgICAgICAiY3VzdG9tIjogIkFsbCIKICAgICAgICAgICAgIH0sCiAg
ICAgICAgICAgICAic3BlY2lmaWNhdGlvbiI6IHsKQEAgLTUzMzksMTggKzUzNDYsMjEgQEAKICAg
ICAgICAgfSwKICAgICAgICAgIi13ZWJraXQtYmFja2dyb3VuZC1jbGlwIjogewogICAgICAgICAg
ICAgImNvZGVnZW4tcHJvcGVydGllcyI6IHsKKyAgICAgICAgICAgICAgICAicmVsYXRlZC1wcm9w
ZXJ0eSI6ICJiYWNrZ3JvdW5kLWNsaXAiLAogICAgICAgICAgICAgICAgICJuYW1lLWZvci1tZXRo
b2RzIjogIkNsaXAiLAogICAgICAgICAgICAgICAgICJmaWxsLWxheWVyLXByb3BlcnR5IjogdHJ1
ZQogICAgICAgICAgICAgfQogICAgICAgICB9LAogICAgICAgICAiLXdlYmtpdC1iYWNrZ3JvdW5k
LW9yaWdpbiI6IHsKICAgICAgICAgICAgICJjb2RlZ2VuLXByb3BlcnRpZXMiOiB7CisgICAgICAg
ICAgICAgICAgInJlbGF0ZWQtcHJvcGVydHkiOiAiYmFja2dyb3VuZC1vcmlnaW4iLAogICAgICAg
ICAgICAgICAgICJuYW1lLWZvci1tZXRob2RzIjogIk9yaWdpbiIsCiAgICAgICAgICAgICAgICAg
ImZpbGwtbGF5ZXItcHJvcGVydHkiOiB0cnVlCiAgICAgICAgICAgICB9CiAgICAgICAgIH0sCiAg
ICAgICAgICItd2Via2l0LWJhY2tncm91bmQtc2l6ZSI6IHsKICAgICAgICAgICAgICJjb2RlZ2Vu
LXByb3BlcnRpZXMiOiB7CisgICAgICAgICAgICAgICAgInJlbGF0ZWQtcHJvcGVydHkiOiAiYmFj
a2dyb3VuZC1zaXplIiwKICAgICAgICAgICAgICAgICAibmFtZS1mb3ItbWV0aG9kcyI6ICJTaXpl
IiwKICAgICAgICAgICAgICAgICAiZmlsbC1sYXllci1wcm9wZXJ0eSI6IHRydWUKICAgICAgICAg
ICAgIH0sCkBAIC01NDk1LDYgKzU1MDUsNyBAQAogICAgICAgICB9LAogICAgICAgICAiLXdlYmtp
dC1ib3gtc2hhZG93IjogewogICAgICAgICAgICAgImNvZGVnZW4tcHJvcGVydGllcyI6IHsKKyAg
ICAgICAgICAgICAgICAicmVsYXRlZC1wcm9wZXJ0eSI6ICJib3gtc2hhZG93IiwKICAgICAgICAg
ICAgICAgICAiY3VzdG9tIjogIkFsbCIKICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAic3Rh
dHVzIjogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1Byb3BlcnR5U2V0Q1NTU3R5
bGVEZWNsYXJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvUHJvcGVydHlTZXRDU1NTdHls
ZURlY2xhcmF0aW9uLmNwcAppbmRleCAxNTdjYmIwN2Q2MGI2ZmRlYmQ3MWQzZjk5OWE1MDgzZjFj
MzQ2NGQzLi41YTcyOWRhZGQ1ODkyYmI3MzlhOGE3MWY2NGNjMjIwYmUyYjJkYjAxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvUHJvcGVydHlTZXRDU1NTdHlsZURlY2xhcmF0aW9uLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvUHJvcGVydHlTZXRDU1NTdHlsZURlY2xhcmF0aW9u
LmNwcApAQCAtMzAwLDE0ICszMDAsMTAgQEAgUmVmUHRyPENTU1ZhbHVlPiBQcm9wZXJ0eVNldENT
U1N0eWxlRGVjbGFyYXRpb246OmdldFByb3BlcnR5Q1NTVmFsdWVJbnRlcm5hbChDU1MKIFN0cmlu
ZyBQcm9wZXJ0eVNldENTU1N0eWxlRGVjbGFyYXRpb246OmdldFByb3BlcnR5VmFsdWVJbnRlcm5h
bChDU1NQcm9wZXJ0eUlEIHByb3BlcnR5SUQpCiB7CiAgICAgU3RyaW5nIHZhbHVlID0gbV9wcm9w
ZXJ0eVNldC0+Z2V0UHJvcGVydHlWYWx1ZShwcm9wZXJ0eUlEKTsKLSAgICBDU1NQcm9wZXJ0eUlE
IHJlbGF0ZWRQcm9wZXJ0eUlEID0gZ2V0UmVsYXRlZFByb3BlcnR5SWQocHJvcGVydHlJRCk7Ci0g
ICAgU3RyaW5nIHJlbGF0ZWRWYWx1ZSA9IG1fcHJvcGVydHlTZXQtPmdldFByb3BlcnR5VmFsdWUo
cmVsYXRlZFByb3BlcnR5SUQpOwotICAgICAgICAKKwogICAgIGlmICghdmFsdWUuaXNFbXB0eSgp
KQogICAgICAgICByZXR1cm4gdmFsdWU7Ci0gICAgaWYgKCFyZWxhdGVkVmFsdWUuaXNFbXB0eSgp
KQotICAgICAgICByZXR1cm4gcmVsYXRlZFZhbHVlOwotICAgIAorCiAgICAgcmV0dXJuIHsgfTsK
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL21ha2Vwcm9wLnBsIGIvU291cmNl
L1dlYkNvcmUvY3NzL21ha2Vwcm9wLnBsCmluZGV4IDkzMGI3Mzg5NTU0MTc4NGJjMmFjYzNlNjA2
NjI2ZTg4NjA2ZWY1ODYuLjc1OWQ1ZTE0ZmY5M2QxMTc2ZmM4YTYzZGFjODkyMDJkZWI2ODlkODUg
MTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9tYWtlcHJvcC5wbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvbWFrZXByb3AucGwKQEAgLTYwMCw4ICs2MDAsMTQgQEAgRU9GCiAgICAgICAg
IGlmICghJHJlbGF0ZWRQcm9wZXJ0eXskbmFtZX0pIHsKICAgICAgICAgICAgIG5leHQ7CiAgICAg
ICAgIH0KKyAgICAgICAgbXkgJHJlbGF0ZWQgPSAkcmVsYXRlZFByb3BlcnR5eyRuYW1lfTsKKyAg
ICAgICAgZGllICJQcm9wZXJ0eSAkbmFtZSBoYXMgYW4gdW5rbm93biByZWxhdGVkIHByb3BlcnR5
OiAkcmVsYXRlZFxuIiBpZiAhZXhpc3RzKCRuYW1lVG9JZHskcmVsYXRlZH0pOworICAgICAgICBk
aWUgIkhpZ2ggcHJpb3JpdHkgcHJvcGVydHkgJG5hbWUgY2FuJ3QgaGF2ZSBhIHJlbGF0ZWQgcHJv
cGVydHk6ICRyZWxhdGVkXG4iIGlmICRuYW1lSXNIaWdoUHJpb3JpdHl7JG5hbWV9OworICAgICAg
ICBkaWUgIlNob3J0aGFuZCBwcm9wZXJ0eSAkbmFtZSBjYW4ndCBoYXZlIGEgcmVsYXRlZCBwcm9w
ZXJ0eTogJHJlbGF0ZWRcbiIgaWYgZXhpc3RzICRwcm9wZXJ0aWVzV2l0aFN0eWxlQnVpbGRlck9w
dGlvbnN7JG5hbWV9eyJsb25naGFuZHMifTsKKyAgICAgICAgZGllICJQcm9wZXJ0eSAkbmFtZSBj
YW4ndCBoYXZlIGl0c2VsZiBhcyBhIHJlbGF0ZWQgcHJvcGVydHlcbiIgaWYgJHJlbGF0ZWQgZXEg
JG5hbWU7CisgICAgICAgIGRpZSAiUHJvcGVydHkgJG5hbWUgaGFzICRyZWxhdGVkIGFzIGEgcmVs
YXRlZCBwcm9wZXJ0eSwgYnV0IGl0J3Mgbm90IHJlY2lwcm9jYWxcbiIgaWYgJHJlbGF0ZWRQcm9w
ZXJ0eXskcmVsYXRlZH0gbmUgJG5hbWU7CiAgICAgICAgIHByaW50IEdQRVJGICIgICAgY2FzZSBD
U1NQcm9wZXJ0eUlEOjpDU1NQcm9wZXJ0eSIgLiAkbmFtZVRvSWR7JG5hbWV9IC4gIjpcbiI7Ci0g
ICAgICAgIHByaW50IEdQRVJGICIgICAgICAgIHJldHVybiBDU1NQcm9wZXJ0eUlEOjpDU1NQcm9w
ZXJ0eSIgLiAkbmFtZVRvSWR7JHJlbGF0ZWRQcm9wZXJ0eXskbmFtZX19IC4gIjtcbiI7CisgICAg
ICAgIHByaW50IEdQRVJGICIgICAgICAgIHJldHVybiBDU1NQcm9wZXJ0eUlEOjpDU1NQcm9wZXJ0
eSIgLiAkbmFtZVRvSWR7JHJlbGF0ZWR9IC4gIjtcbiI7CiAgICAgfQogICAgIHByaW50IEdQRVJG
IDw8ICJFT0YiOwogICAgIGRlZmF1bHQ6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
cGFyc2VyL0NTU1BhcnNlckltcGwuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQ
YXJzZXJJbXBsLmNwcAppbmRleCA4M2ZhZDEwMjQ1NGM1ZjBjYzY2NWY4MGQ4ODkxNTczYzJhYTgw
NTNjLi41MTA4OWNkMjhmMjhmNDdjZDNhN2UzOTFkZDhhMGJkOWE5ODg4ZTMwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlckltcGwuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VySW1wbC5jcHAKQEAgLTEyNSwxNSArMTI1LDEw
IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBmaWx0ZXJQcm9wZXJ0aWVzKGJvb2wgaW1wb3J0YW50LCBj
b25zdCBQYXJzZWRQcm9wZXJ0eVZlY3RvciYKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAg
ICB9CiAKLSAgICAgICAgaWYgKHNlZW5Qcm9wZXJ0aWVzLnRlc3QocHJvcGVydHlJREluZGV4KSkK
KyAgICAgICAgYXV0byBzZWVuUHJvcGVydHlCaXQgPSBzZWVuUHJvcGVydGllc1twcm9wZXJ0eUlE
SW5kZXhdOworICAgICAgICBpZiAoc2VlblByb3BlcnR5Qml0KQogICAgICAgICAgICAgY29udGlu
dWU7Ci0gICAgICAgIGNvbnN0IHVuc2lnbmVkIHJlbGF0ZWRQcm9wZXJ0eUlkID0gZ2V0UmVsYXRl
ZFByb3BlcnR5SWQocHJvcGVydHkuaWQoKSk7Ci0gICAgICAgIGlmIChwcm9wZXJ0eS5pZCgpICE9
IENTU1Byb3BlcnR5SW52YWxpZCAmJiByZWxhdGVkUHJvcGVydHlJZCAhPSBDU1NQcm9wZXJ0eUlu
dmFsaWQpIHsKLSAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIHJlbGF0ZWRQcm9wZXJ0eUlESW5k
ZXggPSByZWxhdGVkUHJvcGVydHlJZCAtIGZpcnN0Q1NTUHJvcGVydHk7Ci0gICAgICAgICAgICBz
ZWVuUHJvcGVydGllcy5zZXQocmVsYXRlZFByb3BlcnR5SURJbmRleCk7Ci0gICAgICAgICAgICBz
ZWVuUHJvcGVydGllcy5zZXQocHJvcGVydHlJREluZGV4KTsKLSAgICAgICAgfSBlbHNlCi0gICAg
ICAgICAgICBzZWVuUHJvcGVydGllcy5zZXQocHJvcGVydHlJREluZGV4KTsKKyAgICAgICAgc2Vl
blByb3BlcnR5Qml0ID0gdHJ1ZTsKIAogICAgICAgICBvdXRwdXRbLS11bnVzZWRFbnRyaWVzXSA9
IHByb3BlcnR5OwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1Byb3Bl
cnR5Q2FzY2FkZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9Qcm9wZXJ0eUNhc2NhZGUuY3Bw
CmluZGV4IDFlZTk0YjNlMjI4YWUwYzA1ZWNiNzY3OGQzNzgxMTUwZDgxNDRiYzcuLjVkNDQ3Nzc4
MGI5M2E0OWMwMTY0ZDNiMzM5MTMxOWE5MGMxMjA2YTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3N0eWxlL1Byb3BlcnR5Q2FzY2FkZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUv
UHJvcGVydHlDYXNjYWRlLmNwcApAQCAtNDAsMTkgKzQwLDcgQEAgbmFtZXNwYWNlIFN0eWxlIHsK
IAogc3RhdGljIGlubGluZSBib29sIHNob3VsZEFwcGx5UHJvcGVydHlJblBhcnNlT3JkZXIoQ1NT
UHJvcGVydHlJRCBwcm9wZXJ0eUlEKQogewotICAgIHN3aXRjaCAocHJvcGVydHlJRCkgewotICAg
IGNhc2UgQ1NTUHJvcGVydHlXZWJraXRCYWNrZ3JvdW5kQ2xpcDoKLSAgICBjYXNlIENTU1Byb3Bl
cnR5QmFja2dyb3VuZENsaXA6Ci0gICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEJhY2tncm91bmRP
cmlnaW46Ci0gICAgY2FzZSBDU1NQcm9wZXJ0eUJhY2tncm91bmRPcmlnaW46Ci0gICAgY2FzZSBD
U1NQcm9wZXJ0eVdlYmtpdEJhY2tncm91bmRTaXplOgotICAgIGNhc2UgQ1NTUHJvcGVydHlCYWNr
Z3JvdW5kU2l6ZToKLSAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0Qm94U2hhZG93OgotICAgIGNh
c2UgQ1NTUHJvcGVydHlCb3hTaGFkb3c6Ci0gICAgICAgIHJldHVybiB0cnVlOwotICAgIGRlZmF1
bHQ6Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9CisgICAgcmV0dXJuIGdldFJlbGF0ZWRQ
cm9wZXJ0eUlkKHByb3BlcnR5SUQpICE9IENTU1Byb3BlcnR5SW52YWxpZDsKIH0KIAogUHJvcGVy
dHlDYXNjYWRlOjpQcm9wZXJ0eUNhc2NhZGUoY29uc3QgTWF0Y2hSZXN1bHQmIG1hdGNoUmVzdWx0
LCBDYXNjYWRlTGV2ZWwgbWF4aW11bUNhc2NhZGVMZXZlbCwgSW5jbHVkZWRQcm9wZXJ0aWVzIGlu
Y2x1ZGVkUHJvcGVydGllcywgRGlyZWN0aW9uIGRpcmVjdGlvbikK
</data>

          </attachment>
      

    </bug>

</bugzilla>