<?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>231952</bug_id>
          
          <creation_ts>2021-10-19 07:24:47 -0700</creation_ts>
          <short_desc>[css-flexbox] Add support for replaced elements with intrinsic ratio and no intrinsic size</short_desc>
          <delta_ts>2022-02-10 16:51:13 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=231955</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>221474</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Sergio Villar Senin">svillar</reporter>
          <assigned_to name="Sergio Villar Senin">svillar</assigned_to>
          <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jfernandez</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>pdr</cc>
    
    <cc>rbuis</cc>
    
    <cc>rego</cc>
    
    <cc>sam</cc>
    
    <cc>svillar</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1805978</commentid>
    <comment_count>0</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2021-10-19 07:24:47 -0700</bug_when>
    <thetext>[css-flexbox] Add support for replaced elements with intrinsic ratio and no intrinsic size</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1805985</commentid>
    <comment_count>1</comment_count>
      <attachid>441722</attachid>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2021-10-19 07:32:28 -0700</bug_when>
    <thetext>Created attachment 441722
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1806000</commentid>
    <comment_count>2</comment_count>
      <attachid>441722</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-10-19 07:57:49 -0700</bug_when>
    <thetext>Comment on attachment 441722
Patch

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

&gt; Source/WebCore/rendering/RenderFlexibleBox.cpp:621
&gt; +static bool isRenderReplacedWithIntrinsicAspectRatio(const RenderBox&amp; child)

I think it is worth trying to make this a method on RenderReplaced instead of static, so we do not need to make computeIntrinsicRatioInformation public on RenderReplaced.h.

&gt; Source/WebCore/rendering/RenderFlexibleBox.cpp:625
&gt; +    // It&apos;s common for some replaced elements, such SVGs, to have intrinsic aspect ratios but no intrinsic sizes.

&quot;such as SVGs&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1806018</commentid>
    <comment_count>3</comment_count>
      <attachid>441729</attachid>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2021-10-19 08:24:36 -0700</bug_when>
    <thetext>Created attachment 441729
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1806019</commentid>
    <comment_count>4</comment_count>
      <attachid>441722</attachid>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2021-10-19 08:25:59 -0700</bug_when>
    <thetext>Comment on attachment 441722
Patch

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

&gt;&gt; Source/WebCore/rendering/RenderFlexibleBox.cpp:621
&gt;&gt; +static bool isRenderReplacedWithIntrinsicAspectRatio(const RenderBox&amp; child)
&gt; 
&gt; I think it is worth trying to make this a method on RenderReplaced instead of static, so we do not need to make computeIntrinsicRatioInformation public on RenderReplaced.h.

Good suggestion. I filed wkb.ug/231955 to tackle this.

&gt;&gt; Source/WebCore/rendering/RenderFlexibleBox.cpp:625
&gt;&gt; +    // It&apos;s common for some replaced elements, such SVGs, to have intrinsic aspect ratios but no intrinsic sizes.
&gt; 
&gt; &quot;such as SVGs&quot;

OK</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1808840</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-10-26 07:25:28 -0700</bug_when>
    <thetext>&lt;rdar://problem/84662305&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1809341</commentid>
    <comment_count>6</comment_count>
      <attachid>442613</attachid>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2021-10-27 11:20:56 -0700</bug_when>
    <thetext>Created attachment 442613
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1817773</commentid>
    <comment_count>7</comment_count>
      <attachid>442613</attachid>
    <who name="Manuel Rego Casasnovas">rego</who>
    <bug_when>2021-11-25 03:45:03 -0800</bug_when>
    <thetext>Comment on attachment 442613
Patch

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

&gt; Source/WebCore/rendering/RenderFlexibleBox.cpp:898
&gt; +        ratio = downcast&lt;RenderReplaced&gt;(child).computeIntrinsicAspectRatio();

One question, is this always using the intrinsic aspect ratio for replaced elements? Even if you set your own value (e.g. &quot;aspect-ratio: 1;&quot;)?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1817799</commentid>
    <comment_count>8</comment_count>
      <attachid>442613</attachid>
    <who name="Javier Fernandez">jfernandez</who>
    <bug_when>2021-11-25 06:03:28 -0800</bug_when>
    <thetext>Comment on attachment 442613
Patch

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

&gt; Source/WebCore/rendering/RenderFlexibleBox.cpp:904
&gt; +            ASSERT(childIntrinsicSize.height());

Is this ASSERT correct ? How we can guarantee that the child&apos;s intrinsic size isn&apos;t 0 ? 
For instance, for replaced elements, if shouldApplySizeContainment() is true we would return LayoutSize()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1817820</commentid>
    <comment_count>9</comment_count>
      <attachid>442613</attachid>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2021-11-25 09:52:06 -0800</bug_when>
    <thetext>Comment on attachment 442613
Patch

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

Thanks for taking a look!

&gt;&gt; Source/WebCore/rendering/RenderFlexibleBox.cpp:898
&gt;&gt; +        ratio = downcast&lt;RenderReplaced&gt;(child).computeIntrinsicAspectRatio();
&gt; 
&gt; One question, is this always using the intrinsic aspect ratio for replaced elements? Even if you set your own value (e.g. &quot;aspect-ratio: 1;&quot;)?

It considers all the situations. This method just calls RenderReplaced::computeAspectRatioInformationForRenderBox() which already takes care of many different situations, like having/not having intrinsic sizes, using aspect-ratio etc...

&gt;&gt; Source/WebCore/rendering/RenderFlexibleBox.cpp:904
&gt;&gt; +            ASSERT(childIntrinsicSize.height());
&gt; 
&gt; Is this ASSERT correct ? How we can guarantee that the child&apos;s intrinsic size isn&apos;t 0 ? 
&gt; For instance, for replaced elements, if shouldApplySizeContainment() is true we would return LayoutSize()

Well that ASSERT was there before this patch so I am not adding anything.

Anyway as you ask, it&apos;s true that it&apos;s far from obvious. This is the rationale, this method computeMainSizeFromAspectRatioUsing() is only called whenever childHasComputableAspectRatio() is true.  That method is implemented as follows.

return child.intrinsicSize().height() || child.style().hasAspectRatio()

So we either have a positive intrinsic height (in which case the ASSERT is true) or hasAspectRatio() is true. If you check hasAspectRatio() implementation it&apos;s almost equal to the condition in the if branch, something like this:

return child.style().aspectRatioType() == AspectRatioType::Ratio || (child.style().aspectRatioType() == AspectRatioType::AutoAndRatio;

So we have two possibilities for hasAspectRatio() == true:
a) child.style().aspectRatioType() == AspectRatioType::Ratio. If that&apos;s the case then the code should have taken the if branch not the else
b) child.style().aspectRatioType() == AspectRatioType::AutoAndRatio. If that condition is true the only possibility to end up in the else branch is that the intrinsic size is not empty, because otherwise we should have taken the if branch as well.

Summing up, if we take the else branch we know that child.intrinsicSize().height() is true in childHasComputableAspectRatio() or that we are in the above case b) in which case we know that the height is also valid.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1817836</commentid>
    <comment_count>10</comment_count>
      <attachid>442613</attachid>
    <who name="Manuel Rego Casasnovas">rego</who>
    <bug_when>2021-11-25 12:38:41 -0800</bug_when>
    <thetext>Comment on attachment 442613
Patch

Ok, thanks for the clarifications. r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1818158</commentid>
    <comment_count>11</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2021-11-29 02:01:03 -0800</bug_when>
    <thetext>Committed r286206 (244588@main): &lt;https://commits.webkit.org/244588@main&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>441722</attachid>
            <date>2021-10-19 07:32:28 -0700</date>
            <delta_ts>2022-02-10 16:51:13 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231952-20211019163226.patch</filename>
            <type>text/plain</type>
            <size>7673</size>
            <attacher name="Sergio Villar Senin">svillar</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0NDQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjVhMGEzZThlZWRhYjUw
YzBkMzY0NjdkNzg3MjNkM2QxZjBlYjM2Ny4uYmY2ZjlhYjQxYjY1M2JmNmI4OGE1NjE1ZjM1NGQx
YWI3MTFiYjhlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDIxLTEwLTE5ICBTZXJn
aW8gVmlsbGFyIFNlbmluICA8c3ZpbGxhckBpZ2FsaWEuY29tPgorCisgICAgICAgIFtjc3MtZmxl
eGJveF0gQWRkIHN1cHBvcnQgZm9yIHJlcGxhY2VkIGVsZW1lbnRzIHdpdGggaW50cmluc2ljIHJh
dGlvIGFuZCBubyBpbnRyaW5zaWMgc2l6ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjMxOTUyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgSXQgbWlnaHQgYmUgdGhlIGNhc2UgdGhhdCByZXBsYWNlZCBlbGVt
ZW50cyBoYXZlIGludHJpbnNpYyBhc3BlY3QgcmF0aW8gYnV0IG5vCisgICAgICAgIGludHJpbnNp
YyBkaW1lbnNpb25zLiBBY3R1YWxseSB0aGF0J3MgcXVpdGUgY29tbW9uIGZvciBTVkdzIGZvciBl
eGFtcGxlLiBXZSdyZQorICAgICAgICBpbmNvcnJlY3RseSBhc3N1bWluZyB0aGF0IGZsZXggaXRl
bXMgd2l0aCBubyBpbnRyaW5zaWMgZGltZW5zaW9ucyBkaWRuJ3QgaGF2ZQorICAgICAgICBpbnRy
aW5zaWMgYXNwZWN0IHJhdGlvcyB3aGljaCBpcyB3cm9uZy4KKworICAgICAgICBBZGRlZCBuZXcg
Y2hlY2tzIHRoYXQgYXJlIGFibGUgdG8gZGV0ZWN0IHRob3NlIGNhc2VzIHdlcmUgd2UgaGF2ZSBh
biBpbnRyaW5zaWMKKyAgICAgICAgYXNwZWN0IHJhdGlvIGV2ZW4gdGhvdWdoIHRoZXJlIGFyZSBu
byBpbnRyaW5zaWMgZGltZW5zaW9ucy4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJGbGV4
aWJsZUJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjppc1JlbmRlclJlcGxhY2VkV2l0aEludHJp
bnNpY0FzcGVjdFJhdGlvKToKKyAgICAgICAgKFdlYkNvcmU6OmNoaWxkSGFzQXNwZWN0UmF0aW8p
OgorICAgICAgICBDb25zaWRlciByZXBsYWNlZCBlbGVtZW50cyB3aXRoIGludHJpbnNpYyByYXRp
b3MgYW5kIG5vIGludHJpbnNpYyBkaW1lbnNpb25zLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
RmxleGlibGVCb3g6OmNvbXB1dGVNYWluU2l6ZUZyb21Bc3BlY3RSYXRpb1VzaW5nIGNvbnN0KToK
KyAgICAgICAgTGV0IHJlcGxhY2VkIGVsZW1lbnRzIGNvbXB1dGUgdGhlIGFzcGVjdCByYXRpbyBi
eSB0aGVtc2VsdmVzLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRmxleGlibGVCb3g6OmNoaWxk
SGFzQ29tcHV0YWJsZUFzcGVjdFJhdGlvIGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyUmVwbGFjZWQuaDogTWFkZSBjb21wdXRlSW50cmluc2ljUmF0aW9JbmZvcm1hdGlvbigpIHB1
YmxpYy4KKwogMjAyMS0xMC0xOCAgU2VyZ2lvIFZpbGxhciBTZW5pbiAgPHN2aWxsYXJAaWdhbGlh
LmNvbT4KIAogICAgICAgICBbY3NzLWZsZXhib3hdIEFkZCBmbGV4LWJhc2lzOiBjb250ZW50IHN1
cHBvcnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJs
ZUJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3Bw
CmluZGV4IGZkNTE4OWI1N2ZkZDQ1Y2Y0MWM0NjQyNzVhMDEyNDNhNTczZjNjMDQuLmU0NGM5Mjgy
NDRiZGQ4ZTYxODQ0MGZiYThhZTFiNzE5Y2UxNTRkY2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcApAQCAtNDAsNiArNDAsNyBAQAogI2luY2x1
ZGUgIlJlbmRlckxheWVyLmgiCiAjaW5jbHVkZSAiUmVuZGVyTGF5b3V0U3RhdGUuaCIKICNpbmNs
dWRlICJSZW5kZXJPYmplY3RFbnVtcy5oIgorI2luY2x1ZGUgIlJlbmRlclJlcGxhY2VkLmgiCiAj
aW5jbHVkZSAiUmVuZGVyU3R5bGVDb25zdGFudHMuaCIKICNpbmNsdWRlICJSZW5kZXJWaWV3Lmgi
CiAjaW5jbHVkZSAiV3JpdGluZ01vZGUuaCIKQEAgLTYxNyw5ICs2MTgsMjEgQEAgTGF5b3V0VW5p
dCBSZW5kZXJGbGV4aWJsZUJveDo6bWFpbkF4aXNDb250ZW50RXh0ZW50KExheW91dFVuaXQgY29u
dGVudExvZ2ljYWxIZWkKICAgICByZXR1cm4gc3RkOjptYXgoMF9sdSwgY29tcHV0ZWRWYWx1ZXMu
bV9leHRlbnQgLSBib3JkZXJQYWRkaW5nQW5kU2Nyb2xsYmFyKTsKIH0KIAorc3RhdGljIGJvb2wg
aXNSZW5kZXJSZXBsYWNlZFdpdGhJbnRyaW5zaWNBc3BlY3RSYXRpbyhjb25zdCBSZW5kZXJCb3gm
IGNoaWxkKQoreworICAgIGlmICghaXM8UmVuZGVyUmVwbGFjZWQ+KGNoaWxkKSkKKyAgICAgICAg
cmV0dXJuIGZhbHNlOworICAgIC8vIEl0J3MgY29tbW9uIGZvciBzb21lIHJlcGxhY2VkIGVsZW1l
bnRzLCBzdWNoIFNWR3MsIHRvIGhhdmUgaW50cmluc2ljIGFzcGVjdCByYXRpb3MgYnV0IG5vIGlu
dHJpbnNpYyBzaXplcy4KKyAgICAvLyBUaGF0J3Mgd2h5IGl0IGlzbid0IGVub3VnaCBqdXN0IHRv
IGNoZWNrIGZvciBpbnRyaW5zaWMgc2l6ZXMgaW4gdGhvc2UgY2FzZXMuCisgICAgRmxvYXRTaXpl
IGludHJpbnNpY1NpemU7CisgICAgZG91YmxlIGludHJpbnNpY1JhdGlvID0gMDsKKyAgICBkb3du
Y2FzdDxSZW5kZXJSZXBsYWNlZD4oY2hpbGQpLmNvbXB1dGVJbnRyaW5zaWNSYXRpb0luZm9ybWF0
aW9uKGludHJpbnNpY1NpemUsIGludHJpbnNpY1JhdGlvKTsKKyAgICByZXR1cm4gaW50cmluc2lj
UmF0aW8gPiAwOworfTsKKwogc3RhdGljIGJvb2wgY2hpbGRIYXNBc3BlY3RSYXRpbyhjb25zdCBS
ZW5kZXJCb3gmIGNoaWxkKQogewotICAgIHJldHVybiBjaGlsZC5oYXNJbnRyaW5zaWNBc3BlY3RS
YXRpbygpIHx8IGNoaWxkLnN0eWxlKCkuaGFzQXNwZWN0UmF0aW8oKTsKKyAgICByZXR1cm4gY2hp
bGQuaGFzSW50cmluc2ljQXNwZWN0UmF0aW8oKSB8fCBjaGlsZC5zdHlsZSgpLmhhc0FzcGVjdFJh
dGlvKCkgfHwgaXNSZW5kZXJSZXBsYWNlZFdpdGhJbnRyaW5zaWNBc3BlY3RSYXRpbyhjaGlsZCk7
CiB9CiAKIHN0ZDo6b3B0aW9uYWw8TGF5b3V0VW5pdD4gUmVuZGVyRmxleGlibGVCb3g6OmNvbXB1
dGVNYWluQXhpc0V4dGVudEZvckNoaWxkKFJlbmRlckJveCYgY2hpbGQsIFNpemVUeXBlIHNpemVU
eXBlLCBjb25zdCBMZW5ndGgmIHNpemUpCkBAIC04ODAsMTMgKzg5MywxOCBAQCBMYXlvdXRVbml0
IFJlbmRlckZsZXhpYmxlQm94Ojpjb21wdXRlTWFpblNpemVGcm9tQXNwZWN0UmF0aW9Vc2luZyhj
b25zdCBSZW5kZXJCbwogICAgICAgICAgICAgcmV0dXJuIDBfbHU7CiAgICAgfQogCi0gICAgY29u
c3QgTGF5b3V0U2l6ZSYgY2hpbGRJbnRyaW5zaWNTaXplID0gY2hpbGQuaW50cmluc2ljU2l6ZSgp
OwogICAgIGRvdWJsZSByYXRpbzsKLSAgICBpZiAoY2hpbGQuc3R5bGUoKS5hc3BlY3RSYXRpb1R5
cGUoKSA9PSBBc3BlY3RSYXRpb1R5cGU6OlJhdGlvIHx8IChjaGlsZC5zdHlsZSgpLmFzcGVjdFJh
dGlvVHlwZSgpID09IEFzcGVjdFJhdGlvVHlwZTo6QXV0b0FuZFJhdGlvICYmIGNoaWxkSW50cmlu
c2ljU2l6ZS5pc0VtcHR5KCkpKQotICAgICAgICByYXRpbyA9IGNoaWxkLnN0eWxlKCkuYXNwZWN0
UmF0aW9XaWR0aCgpIC8gY2hpbGQuc3R5bGUoKS5hc3BlY3RSYXRpb0hlaWdodCgpOwotICAgIGVs
c2UgewotICAgICAgICBBU1NFUlQoY2hpbGRJbnRyaW5zaWNTaXplLmhlaWdodCgpKTsKLSAgICAg
ICAgcmF0aW8gPSBjaGlsZEludHJpbnNpY1NpemUud2lkdGgoKS50b0Zsb2F0KCkgLyBjaGlsZElu
dHJpbnNpY1NpemUuaGVpZ2h0KCkudG9GbG9hdCgpOworICAgIGlmIChpczxSZW5kZXJSZXBsYWNl
ZD4oY2hpbGQpKSB7CisgICAgICAgIEZsb2F0U2l6ZSBpbnRyaW5zaWNTaXplOworICAgICAgICBk
b3duY2FzdDxSZW5kZXJSZXBsYWNlZD4oY2hpbGQpLmNvbXB1dGVJbnRyaW5zaWNSYXRpb0luZm9y
bWF0aW9uKGludHJpbnNpY1NpemUsIHJhdGlvKTsKKyAgICB9IGVsc2UgeworICAgICAgICBhdXRv
IGNoaWxkSW50cmluc2ljU2l6ZSA9IGNoaWxkLmludHJpbnNpY1NpemUoKTsKKyAgICAgICAgaWYg
KGNoaWxkLnN0eWxlKCkuYXNwZWN0UmF0aW9UeXBlKCkgPT0gQXNwZWN0UmF0aW9UeXBlOjpSYXRp
byB8fCAoY2hpbGQuc3R5bGUoKS5hc3BlY3RSYXRpb1R5cGUoKSA9PSBBc3BlY3RSYXRpb1R5cGU6
OkF1dG9BbmRSYXRpbyAmJiBjaGlsZEludHJpbnNpY1NpemUuaXNFbXB0eSgpKSkKKyAgICAgICAg
ICAgIHJhdGlvID0gY2hpbGQuc3R5bGUoKS5hc3BlY3RSYXRpb1dpZHRoKCkgLyBjaGlsZC5zdHls
ZSgpLmFzcGVjdFJhdGlvSGVpZ2h0KCk7CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgQVNT
RVJUKGNoaWxkSW50cmluc2ljU2l6ZS5oZWlnaHQoKSk7CisgICAgICAgICAgICByYXRpbyA9IGNo
aWxkSW50cmluc2ljU2l6ZS53aWR0aCgpLnRvRmxvYXQoKSAvIGNoaWxkSW50cmluc2ljU2l6ZS5o
ZWlnaHQoKS50b0Zsb2F0KCk7CisgICAgICAgIH0KICAgICB9CiAgICAgaWYgKGlzSG9yaXpvbnRh
bEZsb3coKSkKICAgICAgICAgcmV0dXJuIExheW91dFVuaXQoY3Jvc3NTaXplLnZhbHVlKCkgKiBy
YXRpbyk7CkBAIC05MzEsNyArOTQ5LDcgQEAgYm9vbCBSZW5kZXJGbGV4aWJsZUJveDo6Y2hpbGRI
YXNDb21wdXRhYmxlQXNwZWN0UmF0aW8oY29uc3QgUmVuZGVyQm94JiBjaGlsZCkgY28KIHsKICAg
ICBpZiAoIWNoaWxkSGFzQXNwZWN0UmF0aW8oY2hpbGQpKQogICAgICAgICByZXR1cm4gZmFsc2U7
Ci0gICAgcmV0dXJuIGNoaWxkLmludHJpbnNpY1NpemUoKS5oZWlnaHQoKSB8fCBjaGlsZC5zdHls
ZSgpLmhhc0FzcGVjdFJhdGlvKCk7CisgICAgcmV0dXJuIGNoaWxkLmludHJpbnNpY1NpemUoKS5o
ZWlnaHQoKSB8fCBjaGlsZC5zdHlsZSgpLmhhc0FzcGVjdFJhdGlvKCkgfHwgaXNSZW5kZXJSZXBs
YWNlZFdpdGhJbnRyaW5zaWNBc3BlY3RSYXRpbyhjaGlsZCk7CiB9CiAKIGJvb2wgUmVuZGVyRmxl
eGlibGVCb3g6OmNoaWxkSGFzQ29tcHV0YWJsZUFzcGVjdFJhdGlvQW5kQ3Jvc3NTaXplSXNDb25z
aWRlcmVkRGVmaW5pdGUoY29uc3QgUmVuZGVyQm94JiBjaGlsZCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5oIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclJlcGxhY2VkLmgKaW5kZXggMWM3ZDM1NDdmZDRhZWJiMTk2MmYzZWM3MmY0
MTYzNTY3MmZkOGY2Zi4uNWMxYzBlMTQ0YWQ1MmZiMDk4OWFiZjE4Mjg0ZjA2NjAxYzBlNTRjNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmgKQEAgLTQ2LDcgKzQ2
LDggQEAgcHVibGljOgogICAgICAgICAgICAgcmV0dXJuIExheW91dFNpemUoKTsKICAgICAgICAg
cmV0dXJuIG1faW50cmluc2ljU2l6ZTsKICAgICB9Ci0gICAgCisgICAgdm9pZCBjb21wdXRlSW50
cmluc2ljUmF0aW9JbmZvcm1hdGlvbihGbG9hdFNpemUmIGludHJpbnNpY1NpemUsIGRvdWJsZSYg
aW50cmluc2ljUmF0aW8pIGNvbnN0IG92ZXJyaWRlOworCiAgICAgUm91bmRlZFJlY3Qgcm91bmRl
ZENvbnRlbnRCb3hSZWN0KCkgY29uc3Q7CiAgICAgCiAgICAgYm9vbCBpc0NvbnRlbnRMaWtlbHlW
aXNpYmxlSW5WaWV3cG9ydCgpOwpAQCAtNTksOCArNjAsNiBAQCBwcm90ZWN0ZWQ6CiAKICAgICB2
b2lkIGxheW91dCgpIG92ZXJyaWRlOwogCi0gICAgdm9pZCBjb21wdXRlSW50cmluc2ljUmF0aW9J
bmZvcm1hdGlvbihGbG9hdFNpemUmIGludHJpbnNpY1NpemUsIGRvdWJsZSYgaW50cmluc2ljUmF0
aW8pIGNvbnN0IG92ZXJyaWRlOwotCiAgICAgdm9pZCBjb21wdXRlSW50cmluc2ljTG9naWNhbFdp
ZHRocyhMYXlvdXRVbml0JiBtaW5Mb2dpY2FsV2lkdGgsIExheW91dFVuaXQmIG1heExvZ2ljYWxX
aWR0aCkgY29uc3QgZmluYWw7CiAKICAgICB2aXJ0dWFsIExheW91dFVuaXQgbWluaW11bVJlcGxh
Y2VkSGVpZ2h0KCkgY29uc3QgeyByZXR1cm4gMF9sdTsgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDdlMjU1MjQ4OWU5MGZi
YmE0NjAxZGU2Nzk3N2NlNWIyNTUzMzE0NjEuLmRkMmQ4NWYxZDJiN2Y0OGZiYjQ3ZDQwZjkxYWNk
ZTc0NDY0YTE1NWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAyMS0xMC0xOSAgU2VyZ2lvIFZp
bGxhciBTZW5pbiAgPHN2aWxsYXJAaWdhbGlhLmNvbT4KKworICAgICAgICBbY3NzLWZsZXhib3hd
IEFkZCBzdXBwb3J0IGZvciByZXBsYWNlZCBlbGVtZW50cyB3aXRoIGludHJpbnNpYyByYXRpbyBh
bmQgbm8gaW50cmluc2ljIHNpemUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIzMTk1MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogVGVzdEV4cGVjdGF0aW9uczogVW5za2lwcGVkIGEgdGVzdCBjYXNlIHRo
YXQgaXMgbm93IHBhc3NpbmcuCisKIDIwMjEtMTAtMTggIFNlcmdpbyBWaWxsYXIgU2VuaW4gIDxz
dmlsbGFyQGlnYWxpYS5jb20+CiAKICAgICAgICAgW2Nzcy1mbGV4Ym94XSBBZGQgZmxleC1iYXNp
czogY29udGVudCBzdXBwb3J0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRp
b25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBiZWQ4ZTc2YjExODVhZDU1
MmMwZGM3OWE2ZWFjMGQ4ZjdhMDExMWJmLi5lOWY5Y2JlNTY0NTVhY2M0OTgyYWQ1NGEyMjIwMTVh
M2VjY2QxYWQwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCisrKyBi
L0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTQxOTMsNyArNDE5Myw2IEBAIHdlYmtp
dC5vcmcvYi8yMjE0NzMgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZs
ZXhib3gvdGFibGUtYXMtaXRlCiAKICMgU1ZHcyBhcyBmbGV4IGl0ZW1zLgogd2Via2l0Lm9yZy9i
LzIyMTQ3NCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZmxleGJveC9z
dmctcm9vdC1hcy1mbGV4LWl0ZW0tMDAyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLXdlYmtp
dC5vcmcvYi8yMjE0NzQgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZs
ZXhib3gvc3ZnLXJvb3QtYXMtZmxleC1pdGVtLTAwMy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
CiAKICMgVGhlIHRlc3Qgd29ya3MgZmluZSBidXQgdGhlIGV4cGVjdGVkIHJlc3VsdCBmYWlscyBk
dWUgdG8gYSBtaXNzaW5nIGxheW91dC4KIHdlYmtpdC5vcmcvYi8yMjE0NjggaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZsZXhib3gvZmxleGJveC1hbGlnbi1zZWxmLWhv
cml6LTAwMi54aHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>441729</attachid>
            <date>2021-10-19 08:24:36 -0700</date>
            <delta_ts>2021-10-27 11:20:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231952-20211019172435.patch</filename>
            <type>text/plain</type>
            <size>7925</size>
            <attacher name="Sergio Villar Senin">svillar</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0NDQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjVhMGEzZThlZWRhYjUw
YzBkMzY0NjdkNzg3MjNkM2QxZjBlYjM2Ny4uYmY2ZjlhYjQxYjY1M2JmNmI4OGE1NjE1ZjM1NGQx
YWI3MTFiYjhlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDIxLTEwLTE5ICBTZXJn
aW8gVmlsbGFyIFNlbmluICA8c3ZpbGxhckBpZ2FsaWEuY29tPgorCisgICAgICAgIFtjc3MtZmxl
eGJveF0gQWRkIHN1cHBvcnQgZm9yIHJlcGxhY2VkIGVsZW1lbnRzIHdpdGggaW50cmluc2ljIHJh
dGlvIGFuZCBubyBpbnRyaW5zaWMgc2l6ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjMxOTUyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgSXQgbWlnaHQgYmUgdGhlIGNhc2UgdGhhdCByZXBsYWNlZCBlbGVt
ZW50cyBoYXZlIGludHJpbnNpYyBhc3BlY3QgcmF0aW8gYnV0IG5vCisgICAgICAgIGludHJpbnNp
YyBkaW1lbnNpb25zLiBBY3R1YWxseSB0aGF0J3MgcXVpdGUgY29tbW9uIGZvciBTVkdzIGZvciBl
eGFtcGxlLiBXZSdyZQorICAgICAgICBpbmNvcnJlY3RseSBhc3N1bWluZyB0aGF0IGZsZXggaXRl
bXMgd2l0aCBubyBpbnRyaW5zaWMgZGltZW5zaW9ucyBkaWRuJ3QgaGF2ZQorICAgICAgICBpbnRy
aW5zaWMgYXNwZWN0IHJhdGlvcyB3aGljaCBpcyB3cm9uZy4KKworICAgICAgICBBZGRlZCBuZXcg
Y2hlY2tzIHRoYXQgYXJlIGFibGUgdG8gZGV0ZWN0IHRob3NlIGNhc2VzIHdlcmUgd2UgaGF2ZSBh
biBpbnRyaW5zaWMKKyAgICAgICAgYXNwZWN0IHJhdGlvIGV2ZW4gdGhvdWdoIHRoZXJlIGFyZSBu
byBpbnRyaW5zaWMgZGltZW5zaW9ucy4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJGbGV4
aWJsZUJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjppc1JlbmRlclJlcGxhY2VkV2l0aEludHJp
bnNpY0FzcGVjdFJhdGlvKToKKyAgICAgICAgKFdlYkNvcmU6OmNoaWxkSGFzQXNwZWN0UmF0aW8p
OgorICAgICAgICBDb25zaWRlciByZXBsYWNlZCBlbGVtZW50cyB3aXRoIGludHJpbnNpYyByYXRp
b3MgYW5kIG5vIGludHJpbnNpYyBkaW1lbnNpb25zLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
RmxleGlibGVCb3g6OmNvbXB1dGVNYWluU2l6ZUZyb21Bc3BlY3RSYXRpb1VzaW5nIGNvbnN0KToK
KyAgICAgICAgTGV0IHJlcGxhY2VkIGVsZW1lbnRzIGNvbXB1dGUgdGhlIGFzcGVjdCByYXRpbyBi
eSB0aGVtc2VsdmVzLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRmxleGlibGVCb3g6OmNoaWxk
SGFzQ29tcHV0YWJsZUFzcGVjdFJhdGlvIGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyUmVwbGFjZWQuaDogTWFkZSBjb21wdXRlSW50cmluc2ljUmF0aW9JbmZvcm1hdGlvbigpIHB1
YmxpYy4KKwogMjAyMS0xMC0xOCAgU2VyZ2lvIFZpbGxhciBTZW5pbiAgPHN2aWxsYXJAaWdhbGlh
LmNvbT4KIAogICAgICAgICBbY3NzLWZsZXhib3hdIEFkZCBmbGV4LWJhc2lzOiBjb250ZW50IHN1
cHBvcnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJs
ZUJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3Bw
CmluZGV4IGZkNTE4OWI1N2ZkZDQ1Y2Y0MWM0NjQyNzVhMDEyNDNhNTczZjNjMDQuLjhhYmQxZmIy
ZmM0MWQ2ZDI2NWIxNjU0YTM4ZTMxOTRjODYxMTU5N2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcApAQCAtNDAsNiArNDAsNyBAQAogI2luY2x1
ZGUgIlJlbmRlckxheWVyLmgiCiAjaW5jbHVkZSAiUmVuZGVyTGF5b3V0U3RhdGUuaCIKICNpbmNs
dWRlICJSZW5kZXJPYmplY3RFbnVtcy5oIgorI2luY2x1ZGUgIlJlbmRlclJlcGxhY2VkLmgiCiAj
aW5jbHVkZSAiUmVuZGVyU3R5bGVDb25zdGFudHMuaCIKICNpbmNsdWRlICJSZW5kZXJWaWV3Lmgi
CiAjaW5jbHVkZSAiV3JpdGluZ01vZGUuaCIKQEAgLTYxNyw5ICs2MTgsMjQgQEAgTGF5b3V0VW5p
dCBSZW5kZXJGbGV4aWJsZUJveDo6bWFpbkF4aXNDb250ZW50RXh0ZW50KExheW91dFVuaXQgY29u
dGVudExvZ2ljYWxIZWkKICAgICByZXR1cm4gc3RkOjptYXgoMF9sdSwgY29tcHV0ZWRWYWx1ZXMu
bV9leHRlbnQgLSBib3JkZXJQYWRkaW5nQW5kU2Nyb2xsYmFyKTsKIH0KIAorLy8gRklYTUU6IGNv
bnNpZGVyIGFkZGluZyB0aGlzIGNoZWNrIHRvIFJlbmRlckJveDo6aGFzSW50cmluc2ljQXNwZWN0
UmF0aW8oKS4gV2UgY291bGQgZXZlbiBtYWtlIGl0CisvLyB2aXJ0dWFsIHJldHVybmluZyBmYWxz
ZSBieSBkZWZhdWx0LiBSZW5kZXJSZXBsYWNlZCB3aWxsIG92ZXJ3cml0ZSBpdCB3aXRoIHRoZSBj
dXJyZW50IGltcGxlbWVudGF0aW9uCisvLyBwbHVzIHRoaXMgZXh0cmEgY2hlY2suIFNlZSB3a2Iu
dWcvMjMxOTU1Lgorc3RhdGljIGJvb2wgaXNSZW5kZXJSZXBsYWNlZFdpdGhJbnRyaW5zaWNBc3Bl
Y3RSYXRpbyhjb25zdCBSZW5kZXJCb3gmIGNoaWxkKQoreworICAgIGlmICghaXM8UmVuZGVyUmVw
bGFjZWQ+KGNoaWxkKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIC8vIEl0J3MgY29tbW9u
IGZvciBzb21lIHJlcGxhY2VkIGVsZW1lbnRzLCBzdWNoIFNWR3MsIHRvIGhhdmUgaW50cmluc2lj
IGFzcGVjdCByYXRpb3MgYnV0IG5vIGludHJpbnNpYyBzaXplcy4KKyAgICAvLyBUaGF0J3Mgd2h5
IGl0IGlzbid0IGVub3VnaCBqdXN0IHRvIGNoZWNrIGZvciBpbnRyaW5zaWMgc2l6ZXMgaW4gdGhv
c2UgY2FzZXMuCisgICAgRmxvYXRTaXplIGludHJpbnNpY1NpemU7CisgICAgZG91YmxlIGludHJp
bnNpY1JhdGlvID0gMDsKKyAgICBkb3duY2FzdDxSZW5kZXJSZXBsYWNlZD4oY2hpbGQpLmNvbXB1
dGVJbnRyaW5zaWNSYXRpb0luZm9ybWF0aW9uKGludHJpbnNpY1NpemUsIGludHJpbnNpY1JhdGlv
KTsKKyAgICByZXR1cm4gaW50cmluc2ljUmF0aW8gPiAwOworfTsKKwogc3RhdGljIGJvb2wgY2hp
bGRIYXNBc3BlY3RSYXRpbyhjb25zdCBSZW5kZXJCb3gmIGNoaWxkKQogewotICAgIHJldHVybiBj
aGlsZC5oYXNJbnRyaW5zaWNBc3BlY3RSYXRpbygpIHx8IGNoaWxkLnN0eWxlKCkuaGFzQXNwZWN0
UmF0aW8oKTsKKyAgICByZXR1cm4gY2hpbGQuaGFzSW50cmluc2ljQXNwZWN0UmF0aW8oKSB8fCBj
aGlsZC5zdHlsZSgpLmhhc0FzcGVjdFJhdGlvKCkgfHwgaXNSZW5kZXJSZXBsYWNlZFdpdGhJbnRy
aW5zaWNBc3BlY3RSYXRpbyhjaGlsZCk7CiB9CiAKIHN0ZDo6b3B0aW9uYWw8TGF5b3V0VW5pdD4g
UmVuZGVyRmxleGlibGVCb3g6OmNvbXB1dGVNYWluQXhpc0V4dGVudEZvckNoaWxkKFJlbmRlckJv
eCYgY2hpbGQsIFNpemVUeXBlIHNpemVUeXBlLCBjb25zdCBMZW5ndGgmIHNpemUpCkBAIC04ODAs
MTMgKzg5NiwxOCBAQCBMYXlvdXRVbml0IFJlbmRlckZsZXhpYmxlQm94Ojpjb21wdXRlTWFpblNp
emVGcm9tQXNwZWN0UmF0aW9Vc2luZyhjb25zdCBSZW5kZXJCbwogICAgICAgICAgICAgcmV0dXJu
IDBfbHU7CiAgICAgfQogCi0gICAgY29uc3QgTGF5b3V0U2l6ZSYgY2hpbGRJbnRyaW5zaWNTaXpl
ID0gY2hpbGQuaW50cmluc2ljU2l6ZSgpOwogICAgIGRvdWJsZSByYXRpbzsKLSAgICBpZiAoY2hp
bGQuc3R5bGUoKS5hc3BlY3RSYXRpb1R5cGUoKSA9PSBBc3BlY3RSYXRpb1R5cGU6OlJhdGlvIHx8
IChjaGlsZC5zdHlsZSgpLmFzcGVjdFJhdGlvVHlwZSgpID09IEFzcGVjdFJhdGlvVHlwZTo6QXV0
b0FuZFJhdGlvICYmIGNoaWxkSW50cmluc2ljU2l6ZS5pc0VtcHR5KCkpKQotICAgICAgICByYXRp
byA9IGNoaWxkLnN0eWxlKCkuYXNwZWN0UmF0aW9XaWR0aCgpIC8gY2hpbGQuc3R5bGUoKS5hc3Bl
Y3RSYXRpb0hlaWdodCgpOwotICAgIGVsc2UgewotICAgICAgICBBU1NFUlQoY2hpbGRJbnRyaW5z
aWNTaXplLmhlaWdodCgpKTsKLSAgICAgICAgcmF0aW8gPSBjaGlsZEludHJpbnNpY1NpemUud2lk
dGgoKS50b0Zsb2F0KCkgLyBjaGlsZEludHJpbnNpY1NpemUuaGVpZ2h0KCkudG9GbG9hdCgpOwor
ICAgIGlmIChpczxSZW5kZXJSZXBsYWNlZD4oY2hpbGQpKSB7CisgICAgICAgIEZsb2F0U2l6ZSBp
bnRyaW5zaWNTaXplOworICAgICAgICBkb3duY2FzdDxSZW5kZXJSZXBsYWNlZD4oY2hpbGQpLmNv
bXB1dGVJbnRyaW5zaWNSYXRpb0luZm9ybWF0aW9uKGludHJpbnNpY1NpemUsIHJhdGlvKTsKKyAg
ICB9IGVsc2UgeworICAgICAgICBhdXRvIGNoaWxkSW50cmluc2ljU2l6ZSA9IGNoaWxkLmludHJp
bnNpY1NpemUoKTsKKyAgICAgICAgaWYgKGNoaWxkLnN0eWxlKCkuYXNwZWN0UmF0aW9UeXBlKCkg
PT0gQXNwZWN0UmF0aW9UeXBlOjpSYXRpbyB8fCAoY2hpbGQuc3R5bGUoKS5hc3BlY3RSYXRpb1R5
cGUoKSA9PSBBc3BlY3RSYXRpb1R5cGU6OkF1dG9BbmRSYXRpbyAmJiBjaGlsZEludHJpbnNpY1Np
emUuaXNFbXB0eSgpKSkKKyAgICAgICAgICAgIHJhdGlvID0gY2hpbGQuc3R5bGUoKS5hc3BlY3RS
YXRpb1dpZHRoKCkgLyBjaGlsZC5zdHlsZSgpLmFzcGVjdFJhdGlvSGVpZ2h0KCk7CisgICAgICAg
IGVsc2UgeworICAgICAgICAgICAgQVNTRVJUKGNoaWxkSW50cmluc2ljU2l6ZS5oZWlnaHQoKSk7
CisgICAgICAgICAgICByYXRpbyA9IGNoaWxkSW50cmluc2ljU2l6ZS53aWR0aCgpLnRvRmxvYXQo
KSAvIGNoaWxkSW50cmluc2ljU2l6ZS5oZWlnaHQoKS50b0Zsb2F0KCk7CisgICAgICAgIH0KICAg
ICB9CiAgICAgaWYgKGlzSG9yaXpvbnRhbEZsb3coKSkKICAgICAgICAgcmV0dXJuIExheW91dFVu
aXQoY3Jvc3NTaXplLnZhbHVlKCkgKiByYXRpbyk7CkBAIC05MzEsNyArOTUyLDcgQEAgYm9vbCBS
ZW5kZXJGbGV4aWJsZUJveDo6Y2hpbGRIYXNDb21wdXRhYmxlQXNwZWN0UmF0aW8oY29uc3QgUmVu
ZGVyQm94JiBjaGlsZCkgY28KIHsKICAgICBpZiAoIWNoaWxkSGFzQXNwZWN0UmF0aW8oY2hpbGQp
KQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgcmV0dXJuIGNoaWxkLmludHJpbnNpY1NpemUo
KS5oZWlnaHQoKSB8fCBjaGlsZC5zdHlsZSgpLmhhc0FzcGVjdFJhdGlvKCk7CisgICAgcmV0dXJu
IGNoaWxkLmludHJpbnNpY1NpemUoKS5oZWlnaHQoKSB8fCBjaGlsZC5zdHlsZSgpLmhhc0FzcGVj
dFJhdGlvKCkgfHwgaXNSZW5kZXJSZXBsYWNlZFdpdGhJbnRyaW5zaWNBc3BlY3RSYXRpbyhjaGls
ZCk7CiB9CiAKIGJvb2wgUmVuZGVyRmxleGlibGVCb3g6OmNoaWxkSGFzQ29tcHV0YWJsZUFzcGVj
dFJhdGlvQW5kQ3Jvc3NTaXplSXNDb25zaWRlcmVkRGVmaW5pdGUoY29uc3QgUmVuZGVyQm94JiBj
aGlsZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNl
ZC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmgKaW5kZXggMWM3
ZDM1NDdmZDRhZWJiMTk2MmYzZWM3MmY0MTYzNTY3MmZkOGY2Zi4uNWMxYzBlMTQ0YWQ1MmZiMDk4
OWFiZjE4Mjg0ZjA2NjAxYzBlNTRjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclJlcGxhY2VkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clJlcGxhY2VkLmgKQEAgLTQ2LDcgKzQ2LDggQEAgcHVibGljOgogICAgICAgICAgICAgcmV0dXJu
IExheW91dFNpemUoKTsKICAgICAgICAgcmV0dXJuIG1faW50cmluc2ljU2l6ZTsKICAgICB9Ci0g
ICAgCisgICAgdm9pZCBjb21wdXRlSW50cmluc2ljUmF0aW9JbmZvcm1hdGlvbihGbG9hdFNpemUm
IGludHJpbnNpY1NpemUsIGRvdWJsZSYgaW50cmluc2ljUmF0aW8pIGNvbnN0IG92ZXJyaWRlOwor
CiAgICAgUm91bmRlZFJlY3Qgcm91bmRlZENvbnRlbnRCb3hSZWN0KCkgY29uc3Q7CiAgICAgCiAg
ICAgYm9vbCBpc0NvbnRlbnRMaWtlbHlWaXNpYmxlSW5WaWV3cG9ydCgpOwpAQCAtNTksOCArNjAs
NiBAQCBwcm90ZWN0ZWQ6CiAKICAgICB2b2lkIGxheW91dCgpIG92ZXJyaWRlOwogCi0gICAgdm9p
ZCBjb21wdXRlSW50cmluc2ljUmF0aW9JbmZvcm1hdGlvbihGbG9hdFNpemUmIGludHJpbnNpY1Np
emUsIGRvdWJsZSYgaW50cmluc2ljUmF0aW8pIGNvbnN0IG92ZXJyaWRlOwotCiAgICAgdm9pZCBj
b21wdXRlSW50cmluc2ljTG9naWNhbFdpZHRocyhMYXlvdXRVbml0JiBtaW5Mb2dpY2FsV2lkdGgs
IExheW91dFVuaXQmIG1heExvZ2ljYWxXaWR0aCkgY29uc3QgZmluYWw7CiAKICAgICB2aXJ0dWFs
IExheW91dFVuaXQgbWluaW11bVJlcGxhY2VkSGVpZ2h0KCkgY29uc3QgeyByZXR1cm4gMF9sdTsg
fQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCmluZGV4IDdlMjU1MjQ4OWU5MGZiYmE0NjAxZGU2Nzk3N2NlNWIyNTUzMzE0NjEuLmRkMmQ4
NWYxZDJiN2Y0OGZiYjQ3ZDQwZjkxYWNkZTc0NDY0YTE1NWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBA
QAorMjAyMS0xMC0xOSAgU2VyZ2lvIFZpbGxhciBTZW5pbiAgPHN2aWxsYXJAaWdhbGlhLmNvbT4K
KworICAgICAgICBbY3NzLWZsZXhib3hdIEFkZCBzdXBwb3J0IGZvciByZXBsYWNlZCBlbGVtZW50
cyB3aXRoIGludHJpbnNpYyByYXRpbyBhbmQgbm8gaW50cmluc2ljIHNpemUKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMTk1MgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdEV4cGVjdGF0aW9uczog
VW5za2lwcGVkIGEgdGVzdCBjYXNlIHRoYXQgaXMgbm93IHBhc3NpbmcuCisKIDIwMjEtMTAtMTgg
IFNlcmdpbyBWaWxsYXIgU2VuaW4gIDxzdmlsbGFyQGlnYWxpYS5jb20+CiAKICAgICAgICAgW2Nz
cy1mbGV4Ym94XSBBZGQgZmxleC1iYXNpczogY29udGVudCBzdXBwb3J0CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9u
cwppbmRleCBiZWQ4ZTc2YjExODVhZDU1MmMwZGM3OWE2ZWFjMGQ4ZjdhMDExMWJmLi5lOWY5Y2Jl
NTY0NTVhY2M0OTgyYWQ1NGEyMjIwMTVhM2VjY2QxYWQwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAg
LTQxOTMsNyArNDE5Myw2IEBAIHdlYmtpdC5vcmcvYi8yMjE0NzMgaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZsZXhib3gvdGFibGUtYXMtaXRlCiAKICMgU1ZHcyBhcyBm
bGV4IGl0ZW1zLgogd2Via2l0Lm9yZy9iLzIyMTQ3NCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtZmxleGJveC9zdmctcm9vdC1hcy1mbGV4LWl0ZW0tMDAyLmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi8yMjE0NzQgaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZsZXhib3gvc3ZnLXJvb3QtYXMtZmxleC1pdGVtLTAwMy5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiAKICMgVGhlIHRlc3Qgd29ya3MgZmluZSBidXQgdGhl
IGV4cGVjdGVkIHJlc3VsdCBmYWlscyBkdWUgdG8gYSBtaXNzaW5nIGxheW91dC4KIHdlYmtpdC5v
cmcvYi8yMjE0NjggaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZsZXhi
b3gvZmxleGJveC1hbGlnbi1zZWxmLWhvcml6LTAwMi54aHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>442613</attachid>
            <date>2021-10-27 11:20:56 -0700</date>
            <delta_ts>2021-11-25 12:38:41 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231952-20211027202055.patch</filename>
            <type>text/plain</type>
            <size>8426</size>
            <attacher name="Sergio Villar Senin">svillar</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0OTIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjIxN2JjMjBlOGE1OGE3
NWYzZWRjYjY1NjRjOWI2MmJlYTBjZTA3ZS4uOGU1MDhkNWZiMjg0NGIyNmFjMDBjMTQxYmYzOTIx
ZTQ5YzQ2N2IzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDIxLTEwLTI3ICBTZXJn
aW8gVmlsbGFyIFNlbmluICA8c3ZpbGxhckBpZ2FsaWEuY29tPgorCisgICAgICAgIFtjc3MtZmxl
eGJveF0gQWRkIHN1cHBvcnQgZm9yIHJlcGxhY2VkIGVsZW1lbnRzIHdpdGggaW50cmluc2ljIHJh
dGlvIGFuZCBubyBpbnRyaW5zaWMgc2l6ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjMxOTUyCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84NDY2MjMw
NT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJdCBt
aWdodCBiZSB0aGUgY2FzZSB0aGF0IHJlcGxhY2VkIGVsZW1lbnRzIGhhdmUgaW50cmluc2ljIGFz
cGVjdCByYXRpbyBidXQgbm8KKyAgICAgICAgaW50cmluc2ljIGRpbWVuc2lvbnMuIEFjdHVhbGx5
IHRoYXQncyBxdWl0ZSBjb21tb24gZm9yIFNWR3MgZm9yIGV4YW1wbGUuIFdlJ3JlCisgICAgICAg
IGluY29ycmVjdGx5IGFzc3VtaW5nIHRoYXQgZmxleCBpdGVtcyB3aXRoIG5vIGludHJpbnNpYyBk
aW1lbnNpb25zIGRpZG4ndCBoYXZlCisgICAgICAgIGludHJpbnNpYyBhc3BlY3QgcmF0aW9zIHdo
aWNoIGlzIHdyb25nLgorCisgICAgICAgIEFkZGVkIG5ldyBjaGVja3MgdGhhdCBhcmUgYWJsZSB0
byBkZXRlY3QgdGhvc2UgY2FzZXMgd2VyZSB3ZSBoYXZlIGFuIGludHJpbnNpYworICAgICAgICBh
c3BlY3QgcmF0aW8gZXZlbiB0aG91Z2ggdGhlcmUgYXJlIG5vIGludHJpbnNpYyBkaW1lbnNpb25z
LgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OmlzUmVuZGVyUmVwbGFjZWRXaXRoSW50cmluc2ljQXNwZWN0UmF0aW8pOgorICAg
ICAgICAoV2ViQ29yZTo6Y2hpbGRIYXNBc3BlY3RSYXRpbyk6CisgICAgICAgIENvbnNpZGVyIHJl
cGxhY2VkIGVsZW1lbnRzIHdpdGggaW50cmluc2ljIHJhdGlvcyBhbmQgbm8gaW50cmluc2ljIGRp
bWVuc2lvbnMuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGbGV4aWJsZUJveDo6Y29tcHV0ZU1h
aW5TaXplRnJvbUFzcGVjdFJhdGlvVXNpbmcgY29uc3QpOgorICAgICAgICBMZXQgcmVwbGFjZWQg
ZWxlbWVudHMgY29tcHV0ZSB0aGUgYXNwZWN0IHJhdGlvIGJ5IHRoZW1zZWx2ZXMuCisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJGbGV4aWJsZUJveDo6Y2hpbGRIYXNDb21wdXRhYmxlQXNwZWN0UmF0
aW8gY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJSZXBsYWNlZDo6Y29tcHV0ZUludHJpbnNpY0FzcGVjdFJhdGlv
IGNvbnN0KTogTmV3IG1ldGhvZCB0aGF0CisgICAgICAgIGNvbXB1dGVzIHRoZSBhc3BlY3QgcmF0
aW8gZm9yIHJlcGxhY2VkIGVsZW1lbnRzLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJSZXBs
YWNlZC5oOgorCiAyMDIxLTEwLTI3ICBNYXJ0aW4gUm9iaW5zb24gIDxtcm9iaW5zb25Ad2Via2l0
Lm9yZz4KIAogICAgICAgICBFbGltaW5hdGUgZHVwbGljYXRlZCBwbGF0Zm9ybS1zcGVjaWZpYyBj
b2RlIGluIFNjcm9sbGluZ1RyZWVTdGlja3lOb2RlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcAppbmRleCBmZDUxODliNTdmZGQ0NWNmNDFjNDY0Mjc1
YTAxMjQzYTU3M2YzYzA0Li4xODg0ZWU5NzA3YzNkNWZlMWEwMTdiZjQwZGZlYWVlYmE4NWZmMGU3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3gu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHAK
QEAgLTQwLDYgKzQwLDcgQEAKICNpbmNsdWRlICJSZW5kZXJMYXllci5oIgogI2luY2x1ZGUgIlJl
bmRlckxheW91dFN0YXRlLmgiCiAjaW5jbHVkZSAiUmVuZGVyT2JqZWN0RW51bXMuaCIKKyNpbmNs
dWRlICJSZW5kZXJSZXBsYWNlZC5oIgogI2luY2x1ZGUgIlJlbmRlclN0eWxlQ29uc3RhbnRzLmgi
CiAjaW5jbHVkZSAiUmVuZGVyVmlldy5oIgogI2luY2x1ZGUgIldyaXRpbmdNb2RlLmgiCkBAIC02
MTcsOSArNjE4LDIxIEBAIExheW91dFVuaXQgUmVuZGVyRmxleGlibGVCb3g6Om1haW5BeGlzQ29u
dGVudEV4dGVudChMYXlvdXRVbml0IGNvbnRlbnRMb2dpY2FsSGVpCiAgICAgcmV0dXJuIHN0ZDo6
bWF4KDBfbHUsIGNvbXB1dGVkVmFsdWVzLm1fZXh0ZW50IC0gYm9yZGVyUGFkZGluZ0FuZFNjcm9s
bGJhcik7CiB9CiAKKy8vIEZJWE1FOiBjb25zaWRlciBhZGRpbmcgdGhpcyBjaGVjayB0byBSZW5k
ZXJCb3g6Omhhc0ludHJpbnNpY0FzcGVjdFJhdGlvKCkuIFdlIGNvdWxkIGV2ZW4gbWFrZSBpdAor
Ly8gdmlydHVhbCByZXR1cm5pbmcgZmFsc2UgYnkgZGVmYXVsdC4gUmVuZGVyUmVwbGFjZWQgd2ls
bCBvdmVyd3JpdGUgaXQgd2l0aCB0aGUgY3VycmVudCBpbXBsZW1lbnRhdGlvbgorLy8gcGx1cyB0
aGlzIGV4dHJhIGNoZWNrLiBTZWUgd2tiLnVnLzIzMTk1NS4KK3N0YXRpYyBib29sIGlzUmVuZGVy
UmVwbGFjZWRXaXRoSW50cmluc2ljQXNwZWN0UmF0aW8oY29uc3QgUmVuZGVyQm94JiBjaGlsZCkK
K3sKKyAgICBpZiAoIWlzPFJlbmRlclJlcGxhY2VkPihjaGlsZCkpCisgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICAvLyBJdCdzIGNvbW1vbiBmb3Igc29tZSByZXBsYWNlZCBlbGVtZW50cywgc3Vj
aCBhcyBTVkdzLCB0byBoYXZlIGludHJpbnNpYyBhc3BlY3QgcmF0aW9zIGJ1dCBubyBpbnRyaW5z
aWMgc2l6ZXMuCisgICAgLy8gVGhhdCdzIHdoeSBpdCBpc24ndCBlbm91Z2gganVzdCB0byBjaGVj
ayBmb3IgaW50cmluc2ljIHNpemVzIGluIHRob3NlIGNhc2VzLgorICAgIHJldHVybiBkb3duY2Fz
dDxSZW5kZXJSZXBsYWNlZD4oY2hpbGQpLmNvbXB1dGVJbnRyaW5zaWNBc3BlY3RSYXRpbygpID4g
MDsKK307CisKIHN0YXRpYyBib29sIGNoaWxkSGFzQXNwZWN0UmF0aW8oY29uc3QgUmVuZGVyQm94
JiBjaGlsZCkKIHsKLSAgICByZXR1cm4gY2hpbGQuaGFzSW50cmluc2ljQXNwZWN0UmF0aW8oKSB8
fCBjaGlsZC5zdHlsZSgpLmhhc0FzcGVjdFJhdGlvKCk7CisgICAgcmV0dXJuIGNoaWxkLmhhc0lu
dHJpbnNpY0FzcGVjdFJhdGlvKCkgfHwgY2hpbGQuc3R5bGUoKS5oYXNBc3BlY3RSYXRpbygpIHx8
IGlzUmVuZGVyUmVwbGFjZWRXaXRoSW50cmluc2ljQXNwZWN0UmF0aW8oY2hpbGQpOwogfQogCiBz
dGQ6Om9wdGlvbmFsPExheW91dFVuaXQ+IFJlbmRlckZsZXhpYmxlQm94Ojpjb21wdXRlTWFpbkF4
aXNFeHRlbnRGb3JDaGlsZChSZW5kZXJCb3gmIGNoaWxkLCBTaXplVHlwZSBzaXplVHlwZSwgY29u
c3QgTGVuZ3RoJiBzaXplKQpAQCAtODgwLDEzICs4OTMsMTcgQEAgTGF5b3V0VW5pdCBSZW5kZXJG
bGV4aWJsZUJveDo6Y29tcHV0ZU1haW5TaXplRnJvbUFzcGVjdFJhdGlvVXNpbmcoY29uc3QgUmVu
ZGVyQm8KICAgICAgICAgICAgIHJldHVybiAwX2x1OwogICAgIH0KIAotICAgIGNvbnN0IExheW91
dFNpemUmIGNoaWxkSW50cmluc2ljU2l6ZSA9IGNoaWxkLmludHJpbnNpY1NpemUoKTsKICAgICBk
b3VibGUgcmF0aW87Ci0gICAgaWYgKGNoaWxkLnN0eWxlKCkuYXNwZWN0UmF0aW9UeXBlKCkgPT0g
QXNwZWN0UmF0aW9UeXBlOjpSYXRpbyB8fCAoY2hpbGQuc3R5bGUoKS5hc3BlY3RSYXRpb1R5cGUo
KSA9PSBBc3BlY3RSYXRpb1R5cGU6OkF1dG9BbmRSYXRpbyAmJiBjaGlsZEludHJpbnNpY1NpemUu
aXNFbXB0eSgpKSkKLSAgICAgICAgcmF0aW8gPSBjaGlsZC5zdHlsZSgpLmFzcGVjdFJhdGlvV2lk
dGgoKSAvIGNoaWxkLnN0eWxlKCkuYXNwZWN0UmF0aW9IZWlnaHQoKTsKKyAgICBpZiAoaXM8UmVu
ZGVyUmVwbGFjZWQ+KGNoaWxkKSkKKyAgICAgICAgcmF0aW8gPSBkb3duY2FzdDxSZW5kZXJSZXBs
YWNlZD4oY2hpbGQpLmNvbXB1dGVJbnRyaW5zaWNBc3BlY3RSYXRpbygpOwogICAgIGVsc2Ugewot
ICAgICAgICBBU1NFUlQoY2hpbGRJbnRyaW5zaWNTaXplLmhlaWdodCgpKTsKLSAgICAgICAgcmF0
aW8gPSBjaGlsZEludHJpbnNpY1NpemUud2lkdGgoKS50b0Zsb2F0KCkgLyBjaGlsZEludHJpbnNp
Y1NpemUuaGVpZ2h0KCkudG9GbG9hdCgpOworICAgICAgICBhdXRvIGNoaWxkSW50cmluc2ljU2l6
ZSA9IGNoaWxkLmludHJpbnNpY1NpemUoKTsKKyAgICAgICAgaWYgKGNoaWxkLnN0eWxlKCkuYXNw
ZWN0UmF0aW9UeXBlKCkgPT0gQXNwZWN0UmF0aW9UeXBlOjpSYXRpbyB8fCAoY2hpbGQuc3R5bGUo
KS5hc3BlY3RSYXRpb1R5cGUoKSA9PSBBc3BlY3RSYXRpb1R5cGU6OkF1dG9BbmRSYXRpbyAmJiBj
aGlsZEludHJpbnNpY1NpemUuaXNFbXB0eSgpKSkKKyAgICAgICAgICAgIHJhdGlvID0gY2hpbGQu
c3R5bGUoKS5hc3BlY3RSYXRpb1dpZHRoKCkgLyBjaGlsZC5zdHlsZSgpLmFzcGVjdFJhdGlvSGVp
Z2h0KCk7CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgQVNTRVJUKGNoaWxkSW50cmluc2lj
U2l6ZS5oZWlnaHQoKSk7CisgICAgICAgICAgICByYXRpbyA9IGNoaWxkSW50cmluc2ljU2l6ZS53
aWR0aCgpLnRvRmxvYXQoKSAvIGNoaWxkSW50cmluc2ljU2l6ZS5oZWlnaHQoKS50b0Zsb2F0KCk7
CisgICAgICAgIH0KICAgICB9CiAgICAgaWYgKGlzSG9yaXpvbnRhbEZsb3coKSkKICAgICAgICAg
cmV0dXJuIExheW91dFVuaXQoY3Jvc3NTaXplLnZhbHVlKCkgKiByYXRpbyk7CkBAIC05MzEsNyAr
OTQ4LDcgQEAgYm9vbCBSZW5kZXJGbGV4aWJsZUJveDo6Y2hpbGRIYXNDb21wdXRhYmxlQXNwZWN0
UmF0aW8oY29uc3QgUmVuZGVyQm94JiBjaGlsZCkgY28KIHsKICAgICBpZiAoIWNoaWxkSGFzQXNw
ZWN0UmF0aW8oY2hpbGQpKQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgcmV0dXJuIGNoaWxk
LmludHJpbnNpY1NpemUoKS5oZWlnaHQoKSB8fCBjaGlsZC5zdHlsZSgpLmhhc0FzcGVjdFJhdGlv
KCk7CisgICAgcmV0dXJuIGNoaWxkLmludHJpbnNpY1NpemUoKS5oZWlnaHQoKSB8fCBjaGlsZC5z
dHlsZSgpLmhhc0FzcGVjdFJhdGlvKCkgfHwgaXNSZW5kZXJSZXBsYWNlZFdpdGhJbnRyaW5zaWNB
c3BlY3RSYXRpbyhjaGlsZCk7CiB9CiAKIGJvb2wgUmVuZGVyRmxleGlibGVCb3g6OmNoaWxkSGFz
Q29tcHV0YWJsZUFzcGVjdFJhdGlvQW5kQ3Jvc3NTaXplSXNDb25zaWRlcmVkRGVmaW5pdGUoY29u
c3QgUmVuZGVyQm94JiBjaGlsZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJSZXBsYWNlZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVw
bGFjZWQuY3BwCmluZGV4IGZmOGVhMWQ5NmMxNzA1N2NmNTdmMWNlYmU0NjAyOTFiMTdiMjU1OWIu
LmZlZDkyM2JmYjYxN2YxNjgxMzI5NTQyOTI4Mzc5ODc0ZWVlOThmY2YgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNwcApAQCAtNDc1LDYgKzQ3NSwxNCBAQCBM
YXlvdXRSZWN0IFJlbmRlclJlcGxhY2VkOjpyZXBsYWNlZENvbnRlbnRSZWN0KGNvbnN0IExheW91
dFNpemUmIGludHJpbnNpY1NpemUpCiAgICAgcmV0dXJuIGZpbmFsUmVjdDsKIH0KIAorZG91Ymxl
IFJlbmRlclJlcGxhY2VkOjpjb21wdXRlSW50cmluc2ljQXNwZWN0UmF0aW8oKSBjb25zdAorewor
ICAgIGRvdWJsZSBpbnRyaW5zaWNSYXRpbzsKKyAgICBGbG9hdFNpemUgaW50cmluc2ljU2l6ZTsK
KyAgICBjb21wdXRlQXNwZWN0UmF0aW9JbmZvcm1hdGlvbkZvclJlbmRlckJveChlbWJlZGRlZENv
bnRlbnRCb3goKSwgaW50cmluc2ljU2l6ZSwgaW50cmluc2ljUmF0aW8pOworICAgIHJldHVybiBp
bnRyaW5zaWNSYXRpbzsKK30KKwogUm91bmRlZFJlY3QgUmVuZGVyUmVwbGFjZWQ6OnJvdW5kZWRD
b250ZW50Qm94UmVjdCgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIHN0eWxlKCkuZ2V0Um91bmRlZElu
bmVyQm9yZGVyRm9yKGJvcmRlckJveFJlY3QoKSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclJlcGxhY2VkLmgKaW5kZXggMWM3ZDM1NDdmZDRhZWJiMTk2MmYzZWM3MmY0MTYzNTY3MmZk
OGY2Zi4uYmNjYTYzNGM2MzU5MjM0NTE3MWUxZmQzOWRjMTQzOWEwNDBlNWQwOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmgKQEAgLTUyLDYgKzUyLDggQEAgcHVi
bGljOgogICAgIGJvb2wgaXNDb250ZW50TGlrZWx5VmlzaWJsZUluVmlld3BvcnQoKTsKICAgICBi
b29sIG5lZWRzUHJlZmVycmVkV2lkdGhzUmVjYWxjdWxhdGlvbigpIGNvbnN0IG92ZXJyaWRlOwog
CisgICAgZG91YmxlIGNvbXB1dGVJbnRyaW5zaWNBc3BlY3RSYXRpbygpIGNvbnN0OworCiBwcm90
ZWN0ZWQ6CiAgICAgUmVuZGVyUmVwbGFjZWQoRWxlbWVudCYsIFJlbmRlclN0eWxlJiYpOwogICAg
IFJlbmRlclJlcGxhY2VkKEVsZW1lbnQmLCBSZW5kZXJTdHlsZSYmLCBjb25zdCBMYXlvdXRTaXpl
JiBpbnRyaW5zaWNTaXplKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAyMWMyN2RjMmJkNjJlZTFlZjA5YWQ2NGM3ZDBkNmVl
MTk1OWJmZjhlLi5hMzMzNjRlZDU2MTYyZDFkODUwZDIzOTE2NjU3NjZlYmQ3NzNjOWIxIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTMgQEAKKzIwMjEtMTAtMjcgIFNlcmdpbyBWaWxsYXIgU2VuaW4gIDxzdmls
bGFyQGlnYWxpYS5jb20+CisKKyAgICAgICAgW2Nzcy1mbGV4Ym94XSBBZGQgc3VwcG9ydCBmb3Ig
cmVwbGFjZWQgZWxlbWVudHMgd2l0aCBpbnRyaW5zaWMgcmF0aW8gYW5kIG5vIGludHJpbnNpYyBz
aXplCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzE5
NTIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzg0NjYyMzA1PgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdEV4cGVjdGF0aW9uczogVW5za2lw
cGVkIGEgdGVzdCBjYXNlIHRoYXQgaXMgbm93IHBhc3NpbmcuCisKIDIwMjEtMTAtMjcgIE1hcnRp
biBSb2JpbnNvbiAgPG1yb2JpbnNvbkB3ZWJraXQub3JnPgogCiAgICAgICAgIE1hcmsgc29tZSBX
UFQgdHJhbnNmb3JtcyB0ZXN0cyBhcyBwYXNzaW5nCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9U
ZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBkOTll
NzUxZDY0NTFmZDFjMTRkZGJmMWZhMTdmYzA1ZWY3MDYyNzQ5Li41ZjVhODE5ZGUwYWJhOTRlYTgx
Mjk3NzZiMGE1ODY3YjBmNTU2YmNlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0
YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTQyMjksNyArNDIy
OSw2IEBAIHdlYmtpdC5vcmcvYi8yMjE0NzMgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWZsZXhib3gvdGFibGUtYXMtaXRlCiAKICMgU1ZHcyBhcyBmbGV4IGl0ZW1zLgog
d2Via2l0Lm9yZy9iLzIyMTQ3NCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtZmxleGJveC9zdmctcm9vdC1hcy1mbGV4LWl0ZW0tMDAyLmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KLXdlYmtpdC5vcmcvYi8yMjE0NzQgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWZsZXhib3gvc3ZnLXJvb3QtYXMtZmxleC1pdGVtLTAwMy5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCiAKICMgVGhlIHRlc3Qgd29ya3MgZmluZSBidXQgdGhlIGV4cGVjdGVkIHJl
c3VsdCBmYWlscyBkdWUgdG8gYSBtaXNzaW5nIGxheW91dC4KIHdlYmtpdC5vcmcvYi8yMjE0Njgg
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZsZXhib3gvZmxleGJveC1h
bGlnbi1zZWxmLWhvcml6LTAwMi54aHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQo=
</data>
<flag name="review"
          id="467145"
          type_id="1"
          status="+"
          setter="rego"
    />
          </attachment>
      

    </bug>

</bugzilla>