<?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>230008</bug_id>
          
          <creation_ts>2021-09-07 09:56:32 -0700</creation_ts>
          <short_desc>Accelerated animations on ::backdrop shouldn&apos;t affect &lt;dialog&gt; (backdrop-animate-002.html fails)</short_desc>
          <delta_ts>2021-10-22 23:08:00 -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>Animations</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>231906</dependson>
    
    <dependson>232185</dependson>
          <blocked>84635</blocked>
    
    <blocked>229042</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Tim Nguyen (:ntim)">ntim</reporter>
          <assigned_to name="Antoine Quint">graouts</assigned_to>
          <cc>dino</cc>
    
    <cc>graouts</cc>
    
    <cc>graouts</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1791072</commentid>
    <comment_count>0</comment_count>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2021-09-07 09:56:32 -0700</bug_when>
    <thetext>CADebug -s layers


backdrop:

(name &quot;CALayer(0x138610950) GraphicsLayer(0x1006b4f00, 21) RenderBlock (positioned) 0x1008d7960&quot;)
(opacity 0.101961)


dialog:

(values (array
                               (vector 0.1000000015)
                               (vector 0.1000000015)))


For some reason the opacity animation on ::backdrop affects the dialog by adding an opacity on the &lt;dialog&gt;. Also happens when using @keyframes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1792397</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-09-10 09:29:31 -0700</bug_when>
    <thetext>&lt;rdar://problem/82975766&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1804267</commentid>
    <comment_count>2</comment_count>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2021-10-14 07:28:01 -0700</bug_when>
    <thetext>hmm transform animations also affect the &lt;dialog&gt; itself</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1804424</commentid>
    <comment_count>3</comment_count>
      <attachid>441256</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2021-10-14 12:37:31 -0700</bug_when>
    <thetext>Created attachment 441256
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1804450</commentid>
    <comment_count>4</comment_count>
      <attachid>441256</attachid>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2021-10-14 13:00:22 -0700</bug_when>
    <thetext>Comment on attachment 441256
Patch

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

&gt; Source/WebCore/ChangeLog:3
&gt; +        Accelerated animations on ::backdrop shouldn&apos;t affect &lt;dialog&gt; (backdrop-animate-002.html fails)

Not sure this is the best title for this change.

&gt; Source/WebCore/style/Styleable.cpp:55
&gt; +    // FIXME: handle ::marker.

I think you can implement marker as:

```
if (renderer.style().styleType() == PseudoId::Marker) {
    ASSERT(renderer.parent()-&gt;markerRenderer() == &amp;renderer);
    return Styleable(renderer.parent()-&gt;markerRenderer(), PseudoId::Marker);
}
```

::marker is a child in the render tree of RenderListItem: https://webkit-search.igalia.com/webkit/source/Source/WebCore/rendering/updating/RenderTreeBuilderList.cpp#88</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1804451</commentid>
    <comment_count>5</comment_count>
      <attachid>441256</attachid>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2021-10-14 13:02:31 -0700</bug_when>
    <thetext>Comment on attachment 441256
Patch

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

&gt;&gt; Source/WebCore/style/Styleable.cpp:55
&gt;&gt; +    // FIXME: handle ::marker.
&gt; 
&gt; I think you can implement marker as:
&gt; 
&gt; ```
&gt; if (renderer.style().styleType() == PseudoId::Marker) {
&gt;     ASSERT(renderer.parent()-&gt;markerRenderer() == &amp;renderer);
&gt;     return Styleable(renderer.parent()-&gt;markerRenderer(), PseudoId::Marker);
&gt; }
&gt; ```
&gt; 
&gt; ::marker is a child in the render tree of RenderListItem: https://webkit-search.igalia.com/webkit/source/Source/WebCore/rendering/updating/RenderTreeBuilderList.cpp#88

well:

return Styleable(renderer.parent()-&gt;element(), PseudoId::Marker);

I *think*</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1804456</commentid>
    <comment_count>6</comment_count>
      <attachid>441256</attachid>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2021-10-14 13:09:34 -0700</bug_when>
    <thetext>Comment on attachment 441256
Patch

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

&gt; Source/WebCore/style/Styleable.cpp:54
&gt; +{

One thing that would be nice is to `ASSERT` of expected PseudoId types in this function.

So future bugs like this can be caught easily in the future, since the test would just crash and assert at the right place:

```
auto pseudoId = renderer.style().styleType();
ASSERT(pseudoId == PseudoId::None || pseudoId == PseudoId::Before || pseudoId == PseudoId::After || [...], &quot;PseudoId should be handled by Styleable);
```</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1804457</commentid>
    <comment_count>7</comment_count>
      <attachid>441256</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-10-14 13:14:59 -0700</bug_when>
    <thetext>Comment on attachment 441256
Patch

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

&gt; Source/WebCore/style/Styleable.cpp:86
&gt; +    if (pseudoId == PseudoId::After) {
&gt; +        if (auto* afterPseudoElement = element.afterPseudoElement())
&gt; +            return afterPseudoElement-&gt;renderer();
&gt; +    } else if (pseudoId == PseudoId::Backdrop) {
&gt; +        if (auto* hostRenderer = element.renderer())
&gt; +            return hostRenderer-&gt;backdropRenderer().get();
&gt; +    } else if (pseudoId == PseudoId::Before) {
&gt; +        if (auto* beforePseudoElement = element.beforePseudoElement())
&gt; +            return beforePseudoElement-&gt;renderer();
&gt; +    } else if (pseudoId == PseudoId::Marker) {
&gt; +        if (is&lt;RenderListItem&gt;(element.renderer()))
&gt; +            return downcast&lt;RenderListItem&gt;(*element.renderer()).markerRenderer();
&gt; +    } else if (pseudoId == PseudoId::None)
&gt; +        return element.renderer();

Switch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1804459</commentid>
    <comment_count>8</comment_count>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2021-10-14 13:16:35 -0700</bug_when>
    <thetext>(In reply to Simon Fraser (smfr) from comment #7)
&gt; Comment on attachment 441256 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=441256&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/style/Styleable.cpp:86
&gt; &gt; +    if (pseudoId == PseudoId::After) {
&gt; &gt; +        if (auto* afterPseudoElement = element.afterPseudoElement())
&gt; &gt; +            return afterPseudoElement-&gt;renderer();
&gt; &gt; +    } else if (pseudoId == PseudoId::Backdrop) {
&gt; &gt; +        if (auto* hostRenderer = element.renderer())
&gt; &gt; +            return hostRenderer-&gt;backdropRenderer().get();
&gt; &gt; +    } else if (pseudoId == PseudoId::Before) {
&gt; &gt; +        if (auto* beforePseudoElement = element.beforePseudoElement())
&gt; &gt; +            return beforePseudoElement-&gt;renderer();
&gt; &gt; +    } else if (pseudoId == PseudoId::Marker) {
&gt; &gt; +        if (is&lt;RenderListItem&gt;(element.renderer()))
&gt; &gt; +            return downcast&lt;RenderListItem&gt;(*element.renderer()).markerRenderer();
&gt; &gt; +    } else if (pseudoId == PseudoId::None)
&gt; &gt; +        return element.renderer();
&gt; 
&gt; Switch

Use ASSERT_NOT_REACHED(); in unhandled cases too :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1804760</commentid>
    <comment_count>9</comment_count>
      <attachid>441362</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2021-10-15 04:05:13 -0700</bug_when>
    <thetext>Created attachment 441362
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1804788</commentid>
    <comment_count>10</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2021-10-15 06:47:25 -0700</bug_when>
    <thetext>(In reply to Tim Nguyen (:ntim) from comment #6)
&gt; Comment on attachment 441256 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=441256&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/style/Styleable.cpp:54
&gt; &gt; +{
&gt; 
&gt; One thing that would be nice is to `ASSERT` of expected PseudoId types in
&gt; this function.
&gt; 
&gt; So future bugs like this can be caught easily in the future, since the test
&gt; would just crash and assert at the right place:
&gt; 
&gt; ```
&gt; auto pseudoId = renderer.style().styleType();
&gt; ASSERT(pseudoId == PseudoId::None || pseudoId == PseudoId::Before ||
&gt; pseudoId == PseudoId::After || [...], &quot;PseudoId should be handled by
&gt; Styleable);
&gt; ```

In the case of Styleable::renderer(), it currently makes sense to have an ASSERT_NOT_REACHED() call for unhandled pseudo-elements.

However, in the case of Styleable::fromRenderer() it doesn&apos;t, because that function is called under RenderLayerCompositor::requiresCompositingForAnimation() which may be called for any potentially-composited element, which can be the case for :first-letter for instance.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1804790</commentid>
    <comment_count>11</comment_count>
      <attachid>441374</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2021-10-15 06:52:34 -0700</bug_when>
    <thetext>Created attachment 441374
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1804797</commentid>
    <comment_count>12</comment_count>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2021-10-15 07:24:06 -0700</bug_when>
    <thetext>(In reply to Antoine Quint from comment #10)
&gt; However, in the case of Styleable::fromRenderer() it doesn&apos;t, because that
&gt; function is called under
&gt; RenderLayerCompositor::requiresCompositingForAnimation() which may be called
&gt; for any potentially-composited element, which can be the case for
&gt; :first-letter for instance.

I think we should at least warn, it&apos;s fishy to end up in an unhandled case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1805244</commentid>
    <comment_count>13</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2021-10-16 03:25:27 -0700</bug_when>
    <thetext>Landed in r284313.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>441256</attachid>
            <date>2021-10-14 12:37:31 -0700</date>
            <delta_ts>2021-10-14 13:14:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230008-20211014213730.patch</filename>
            <type>text/plain</type>
            <size>7238</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0MTY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDQzYTNhOTc5ZThlMzQ5
NGZmMDkwYzRmYjUzYTliYTA1MWRiYmVlNS4uNTUzYzI5Y2M2ZTQ5YzkyNTVkODA3Zjk1MmNhMmI0
YTRmNTA0ZDMyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIxLTEwLTE0ICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgorCisgICAgICAgIEFjY2VsZXJhdGVkIGFu
aW1hdGlvbnMgb24gOjpiYWNrZHJvcCBzaG91bGRuJ3QgYWZmZWN0IDxkaWFsb2c+IChiYWNrZHJv
cC1hbmltYXRlLTAwMi5odG1sIGZhaWxzKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjMwMDA4CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84Mjk3NTc2
Nj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZSBk
aWQgbm90IGtub3cgaG93IHRvIGFjY2VzcyB0aGUgOjpiYWNrZHJvcCByZW5kZXJlciB3aGVuIHJ1
bm5pbmcgYWNjZWxlcmF0ZWQgYW5pbWF0aW9ucy4gVG8gZG8gc28gd2Ugbm93CisgICAgICAgIGlt
cGxlbWVudCBmdWxsIHN1cHBvcnQgdG8gYWNjZXNzIHRoZSByZW5kZXJlciBmb3Iga25vd24gcHNl
dWRvLWVsZW1lbnRzIG9uIFN0eWxlYWJsZSB3aXRoIGEgbmV3IHJlbmRlcmVyKCkKKyAgICAgICAg
bWV0aG9kLCBpbmNsdWRpbmcgOjpiYWNrZHJvcC4gV2UgYWxzbyBtYWtlIFN0eWxlYWJsZTo6ZnJv
bVJlbmRlcmVyKCkgYXdhcmUgb2YgOjpiYWNrZHJvcCBzdWNoIHRoYXQgdGhlIHZhcmlvdXMKKyAg
ICAgICAgY2FsbCBzaXRlcyBmb3IgdGhpcyBmdW5jdGlvbiB0aGF0IGRlYWwgd2l0aCBhY2NlbGVy
YXRlZCB0cmFuc2Zvcm0gYW5pbWF0aW9ucyBhY2Nlc3MgdGhlIHJpZ2h0IGVsZW1lbnQuCisKKyAg
ICAgICAgKiBhbmltYXRpb24vS2V5ZnJhbWVFZmZlY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
S2V5ZnJhbWVFZmZlY3Q6OnJlbmRlcmVyIGNvbnN0KToKKyAgICAgICAgKiBzdHlsZS9TdHlsZWFi
bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVhYmxlOjpmcm9tUmVuZGVyZXIpOgorICAg
ICAgICAoV2ViQ29yZTo6U3R5bGVhYmxlOjpyZW5kZXJlciBjb25zdCk6CisgICAgICAgICogc3R5
bGUvU3R5bGVhYmxlLmg6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZWFibGU6OmZyb21SZW5kZXJl
cik6IERlbGV0ZWQuCisKIDIwMjEtMTAtMTQgIERhdmlkIEtpbHplciAgPGRka2lsemVyQGFwcGxl
LmNvbT4KIAogICAgICAgICBXZWJDb3JlOjpDYXB0aW9uVXNlclByZWZlcmVuY2VzTWVkaWFBRiBz
aG91bGQgdXNlIGEgd2VhayBvYnNlcnZlciB3aXRoIENGTm90aWZpY2F0aW9uQ2VudGVyCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vS2V5ZnJhbWVFZmZlY3QuY3BwIGIvU291
cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0LmNwcAppbmRleCBhZjI1MDNkMzRh
MzY4ZjQxMjE4ZGMzZGIzMDk5MTQyYTBiY2YyZGVhLi5jZTY4YzcxODAzZGM3MzYwNDg2M2Y5YmUz
MDg2MmU2ZjI2YTA2NTNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vS2V5
ZnJhbWVFZmZlY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9LZXlmcmFtZUVm
ZmVjdC5jcHAKQEAgLTE4NzMsNyArMTg3Myw5IEBAIERvY3VtZW50KiBLZXlmcmFtZUVmZmVjdDo6
ZG9jdW1lbnQoKSBjb25zdAogCiBSZW5kZXJFbGVtZW50KiBLZXlmcmFtZUVmZmVjdDo6cmVuZGVy
ZXIoKSBjb25zdAogewotICAgIHJldHVybiB0YXJnZXRFbGVtZW50T3JQc2V1ZG9FbGVtZW50KCkg
PyB0YXJnZXRFbGVtZW50T3JQc2V1ZG9FbGVtZW50KCktPnJlbmRlcmVyKCkgOiBudWxscHRyOwor
ICAgIGlmIChhdXRvIHRhcmdldCA9IHRhcmdldFN0eWxlYWJsZSgpKQorICAgICAgICByZXR1cm4g
dGFyZ2V0LT5yZW5kZXJlcigpOworICAgIHJldHVybiBudWxscHRyOwogfQogCiBjb25zdCBSZW5k
ZXJTdHlsZSYgS2V5ZnJhbWVFZmZlY3Q6OmN1cnJlbnRTdHlsZSgpIGNvbnN0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZWFibGUuY3BwIGIvU291cmNlL1dlYkNvcmUvc3R5
bGUvU3R5bGVhYmxlLmNwcAppbmRleCAzMDQ4YzY1MDRmM2Y3YjFhMTQ0Yjg3ZDhiYmUxYzg2NzFm
ZDg5OTcxLi5iZWZlNThlYzkxZTc0OTBkMWJkZTVmY2JhYWU0MjM2MzYwMDI0ZDgwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZWFibGUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3N0eWxlL1N0eWxlYWJsZS5jcHAKQEAgLTM5LDYgKzM5LDggQEAKICNpbmNsdWRlICJFbGVt
ZW50LmgiCiAjaW5jbHVkZSAiS2V5ZnJhbWVFZmZlY3QuaCIKICNpbmNsdWRlICJLZXlmcmFtZUVm
ZmVjdFN0YWNrLmgiCisjaW5jbHVkZSAiUmVuZGVyRWxlbWVudC5oIgorI2luY2x1ZGUgIlJlbmRl
ckxpc3RJdGVtLmgiCiAjaW5jbHVkZSAiUmVuZGVyU3R5bGUuaCIKICNpbmNsdWRlICJTdHlsZVBy
b3BlcnR5U2hvcnRoYW5kLmgiCiAjaW5jbHVkZSAiU3R5bGVSZXNvbHZlci5oIgpAQCAtNDgsNiAr
NTAsNDQgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitjb25zdCBzdGQ6Om9wdGlvbmFsPGNv
bnN0IFN0eWxlYWJsZT4gU3R5bGVhYmxlOjpmcm9tUmVuZGVyZXIoY29uc3QgUmVuZGVyRWxlbWVu
dCYgcmVuZGVyZXIpCit7CisgICAgLy8gRklYTUU6IGhhbmRsZSA6Om1hcmtlci4KKworICAgIGlm
IChyZW5kZXJlci5zdHlsZSgpLnN0eWxlVHlwZSgpID09IFBzZXVkb0lkOjpCYWNrZHJvcCkgewor
ICAgICAgICBmb3IgKGF1dG8mIHRvcExheWVyRWxlbWVudCA6IHJlbmRlcmVyLmRvY3VtZW50KCku
dG9wTGF5ZXJFbGVtZW50cygpKSB7CisgICAgICAgICAgICBpZiAodG9wTGF5ZXJFbGVtZW50LT5y
ZW5kZXJlcigpICYmIHRvcExheWVyRWxlbWVudC0+cmVuZGVyZXIoKS0+YmFja2Ryb3BSZW5kZXJl
cigpID09ICZyZW5kZXJlcikKKyAgICAgICAgICAgICAgICByZXR1cm4gU3R5bGVhYmxlKHRvcExh
eWVyRWxlbWVudC5nZXQoKSwgUHNldWRvSWQ6OkJhY2tkcm9wKTsKKyAgICAgICAgfQorICAgICAg
ICByZXR1cm4gc3RkOjpudWxsb3B0OworICAgIH0KKworICAgIGlmIChhdXRvKiBlbGVtZW50ID0g
cmVuZGVyZXIuZWxlbWVudCgpKQorICAgICAgICByZXR1cm4gZnJvbUVsZW1lbnQoKmVsZW1lbnQp
OworCisgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKK30KKworUmVuZGVyRWxlbWVudCogU3R5bGVh
YmxlOjpyZW5kZXJlcigpIGNvbnN0Cit7CisgICAgaWYgKHBzZXVkb0lkID09IFBzZXVkb0lkOjpB
ZnRlcikgeworICAgICAgICBpZiAoYXV0byogYWZ0ZXJQc2V1ZG9FbGVtZW50ID0gZWxlbWVudC5h
ZnRlclBzZXVkb0VsZW1lbnQoKSkKKyAgICAgICAgICAgIHJldHVybiBhZnRlclBzZXVkb0VsZW1l
bnQtPnJlbmRlcmVyKCk7CisgICAgfSBlbHNlIGlmIChwc2V1ZG9JZCA9PSBQc2V1ZG9JZDo6QmFj
a2Ryb3ApIHsKKyAgICAgICAgaWYgKGF1dG8qIGhvc3RSZW5kZXJlciA9IGVsZW1lbnQucmVuZGVy
ZXIoKSkKKyAgICAgICAgICAgIHJldHVybiBob3N0UmVuZGVyZXItPmJhY2tkcm9wUmVuZGVyZXIo
KS5nZXQoKTsKKyAgICB9IGVsc2UgaWYgKHBzZXVkb0lkID09IFBzZXVkb0lkOjpCZWZvcmUpIHsK
KyAgICAgICAgaWYgKGF1dG8qIGJlZm9yZVBzZXVkb0VsZW1lbnQgPSBlbGVtZW50LmJlZm9yZVBz
ZXVkb0VsZW1lbnQoKSkKKyAgICAgICAgICAgIHJldHVybiBiZWZvcmVQc2V1ZG9FbGVtZW50LT5y
ZW5kZXJlcigpOworICAgIH0gZWxzZSBpZiAocHNldWRvSWQgPT0gUHNldWRvSWQ6Ok1hcmtlcikg
eworICAgICAgICBpZiAoaXM8UmVuZGVyTGlzdEl0ZW0+KGVsZW1lbnQucmVuZGVyZXIoKSkpCisg
ICAgICAgICAgICByZXR1cm4gZG93bmNhc3Q8UmVuZGVyTGlzdEl0ZW0+KCplbGVtZW50LnJlbmRl
cmVyKCkpLm1hcmtlclJlbmRlcmVyKCk7CisgICAgfSBlbHNlIGlmIChwc2V1ZG9JZCA9PSBQc2V1
ZG9JZDo6Tm9uZSkKKyAgICAgICAgcmV0dXJuIGVsZW1lbnQucmVuZGVyZXIoKTsKKworICAgIHJl
dHVybiBudWxscHRyOworfQorCiB2b2lkIFN0eWxlYWJsZTo6YW5pbWF0aW9uV2FzQWRkZWQoV2Vi
QW5pbWF0aW9uJiBhbmltYXRpb24pIGNvbnN0CiB7CiAgICAgZW5zdXJlQW5pbWF0aW9ucygpLmFk
ZCgmYW5pbWF0aW9uKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlYWJs
ZS5oIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVhYmxlLmgKaW5kZXggYzBkNDc1NmNkZTRj
YjllNjQ0NjE3NzFkOTVlMGM0MjJjNTcwMzg4YS4uMjNjOGFmYWM5MGM0NmQ0ZDFmMjEzYmNhYWQw
MTA0NjZkY2E0YWI1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVhYmxl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVhYmxlLmgKQEAgLTI4LDEzICsyOCwx
MyBAQAogI2luY2x1ZGUgIkVsZW1lbnQuaCIKICNpbmNsdWRlICJLZXlmcmFtZUVmZmVjdFN0YWNr
LmgiCiAjaW5jbHVkZSAiUHNldWRvRWxlbWVudC5oIgotI2luY2x1ZGUgIlJlbmRlckVsZW1lbnQu
aCIKICNpbmNsdWRlICJSZW5kZXJTdHlsZUNvbnN0YW50cy5oIgogI2luY2x1ZGUgIldlYkFuaW1h
dGlvblR5cGVzLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgS2V5ZnJhbWVFZmZl
Y3RTdGFjazsKK2NsYXNzIFJlbmRlckVsZW1lbnQ7CiBjbGFzcyBSZW5kZXJTdHlsZTsKIGNsYXNz
IFdlYkFuaW1hdGlvbjsKIApAQCAtNTYsMTIgKzU2LDcgQEAgc3RydWN0IFN0eWxlYWJsZSB7CiAg
ICAgICAgIHJldHVybiBTdHlsZWFibGUoZWxlbWVudCwgZWxlbWVudC5wc2V1ZG9JZCgpKTsKICAg
ICB9CiAKLSAgICBzdGF0aWMgY29uc3Qgc3RkOjpvcHRpb25hbDxjb25zdCBTdHlsZWFibGU+IGZy
b21SZW5kZXJlcihjb25zdCBSZW5kZXJFbGVtZW50JiByZW5kZXJlcikKLSAgICB7Ci0gICAgICAg
IGlmIChhdXRvKiBlbGVtZW50ID0gcmVuZGVyZXIuZWxlbWVudCgpKQotICAgICAgICAgICAgcmV0
dXJuIGZyb21FbGVtZW50KCplbGVtZW50KTsKLSAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsK
LSAgICB9CisgICAgc3RhdGljIGNvbnN0IHN0ZDo6b3B0aW9uYWw8Y29uc3QgU3R5bGVhYmxlPiBm
cm9tUmVuZGVyZXIoY29uc3QgUmVuZGVyRWxlbWVudCYpOwogCiAgICAgYm9vbCBvcGVyYXRvcj09
KGNvbnN0IFN0eWxlYWJsZSYgb3RoZXIpIGNvbnN0CiAgICAgewpAQCAtNzMsNiArNjgsOCBAQCBz
dHJ1Y3QgU3R5bGVhYmxlIHsKICAgICAgICAgcmV0dXJuICEoKnRoaXMgPT0gb3RoZXIpOwogICAg
IH0KIAorICAgIFJlbmRlckVsZW1lbnQqIHJlbmRlcmVyKCkgY29uc3Q7CisKICAgICBLZXlmcmFt
ZUVmZmVjdFN0YWNrKiBrZXlmcmFtZUVmZmVjdFN0YWNrKCkgY29uc3QKICAgICB7CiAgICAgICAg
IHJldHVybiBlbGVtZW50LmtleWZyYW1lRWZmZWN0U3RhY2socHNldWRvSWQpOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGM1
NzcxZDdmMDZhN2JiYTYwYTFlYWNkMzFhMzZiZGY5ODFjYjZhODIuLmZjZDk1YTQ3NGE3Mjg5OWE0
MzdiN2MzZWFhYjVmZGY2ZjdhOTRkOGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAyMS0xMC0x
NCAgQW50b2luZSBRdWludCAgPGdyYW91dHNAd2Via2l0Lm9yZz4KKworICAgICAgICBBY2NlbGVy
YXRlZCBhbmltYXRpb25zIG9uIDo6YmFja2Ryb3Agc2hvdWxkbid0IGFmZmVjdCA8ZGlhbG9nPiAo
YmFja2Ryb3AtYW5pbWF0ZS0wMDIuaHRtbCBmYWlscykKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMDAwOAorICAgICAgICA8cmRhcjovL3Byb2JsZW0v
ODI5NzU3NjY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBUZXN0RXhwZWN0YXRpb25zOiBNYXJrIHRoZSBwcmV2aW91c2x5IGZhaWxpbmcgdGVzdCBh
cyBwYXNzaW5nLgorCiAyMDIxLTEwLTE0ICBBbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4K
IAogICAgICAgICBbTEZDXVtJRkNdIEFwcGx5IHRoZSBsaW5lLWdhcCBmb250IG1ldHJpY3Mgd2hl
biBjb21wdXRpbmcgdGhlIGxheW91dCBib3VuZHMgZm9yIGlubGluZSBib3hlcwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3Rh
dGlvbnMKaW5kZXggYzBkZGYxODI4YjY5MzNjNzA5OThkOTNkM2IyMWI1MjZkNmFiNTA3Zi4uY2Fi
MGFmNGRlYjk1NmE3ODM0YmE4MGMyNGQxMjM5ODhlMGMzODU2NyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25z
CkBAIC01MTQxLDggKzUxNDEsNiBAQCB3ZWJraXQub3JnL2IvMjI5NzI3IGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250LWxvYWRpbmcvZm9udGZhYwogCiB3ZWJraXQu
b3JnL2IvMjMwMjM3IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzc29tLXZp
ZXcvc2Nyb2xsSW50b1ZpZXctaW5saW5lLWltYWdlLmh0bWwgWyBGYWlsdXJlIF0KIAotd2Via2l0
Lm9yZy9iLzIzMDAwOCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHNl
dWRvL2JhY2tkcm9wLWFuaW1hdGUtMDAyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLQogd2Vi
a2l0Lm9yZy9iLzIzMDAwNCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
cHNldWRvL2FjdGl2ZS1zZWxlY3Rpb24tMDEyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdl
YmtpdC5vcmcvYi8yMzAwMDQgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LXBzZXVkby9hY3RpdmUtc2VsZWN0aW9uLTAxNC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3
ZWJraXQub3JnL2IvMjMwMDA0IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1wc2V1ZG8vYWN0aXZlLXNlbGVjdGlvbi0wMTguaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQo=
</data>
<flag name="review"
          id="465450"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>441362</attachid>
            <date>2021-10-15 04:05:13 -0700</date>
            <delta_ts>2021-10-15 06:53:37 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-230008-20211015130512.patch</filename>
            <type>text/plain</type>
            <size>7805</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0MTY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDQzYTNhOTc5ZThlMzQ5
NGZmMDkwYzRmYjUzYTliYTA1MWRiYmVlNS4uYWJlNDFmMGUwMTk2OTI1YzAzMWU4NjJmNGEwNDQ1
MDliM2FmYWZlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIxLTEwLTE0ICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgorCisgICAgICAgIEFjY2VsZXJhdGVkIGFu
aW1hdGlvbnMgb24gOjpiYWNrZHJvcCBzaG91bGRuJ3QgYWZmZWN0IDxkaWFsb2c+IChiYWNrZHJv
cC1hbmltYXRlLTAwMi5odG1sIGZhaWxzKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjMwMDA4CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84Mjk3NTc2
Nj4KKworICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIgYW5kIFRpbSBOZ3V5ZW4uCisK
KyAgICAgICAgV2UgZGlkIG5vdCBrbm93IGhvdyB0byBhY2Nlc3MgdGhlIDo6YmFja2Ryb3AgcmVu
ZGVyZXIgd2hlbiBydW5uaW5nIGFjY2VsZXJhdGVkIGFuaW1hdGlvbnMuIFRvIGRvIHNvIHdlIG5v
dworICAgICAgICBpbXBsZW1lbnQgZnVsbCBzdXBwb3J0IHRvIGFjY2VzcyB0aGUgcmVuZGVyZXIg
Zm9yIGtub3duIHBzZXVkby1lbGVtZW50cyBvbiBTdHlsZWFibGUgd2l0aCBhIG5ldyByZW5kZXJl
cigpCisgICAgICAgIG1ldGhvZCwgaW5jbHVkaW5nIDo6YmFja2Ryb3AuIFdlIGFsc28gbWFrZSBT
dHlsZWFibGU6OmZyb21SZW5kZXJlcigpIGF3YXJlIG9mIDo6YmFja2Ryb3Agc3VjaCB0aGF0IHRo
ZSB2YXJpb3VzCisgICAgICAgIGNhbGwgc2l0ZXMgZm9yIHRoaXMgZnVuY3Rpb24gdGhhdCBkZWFs
IHdpdGggYWNjZWxlcmF0ZWQgdHJhbnNmb3JtIGFuaW1hdGlvbnMgYWNjZXNzIHRoZSByaWdodCBl
bGVtZW50LgorCisgICAgICAgICogYW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OktleWZyYW1lRWZmZWN0OjpyZW5kZXJlciBjb25zdCk6CisgICAgICAgICog
c3R5bGUvU3R5bGVhYmxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlYWJsZTo6ZnJvbVJl
bmRlcmVyKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlYWJsZTo6cmVuZGVyZXIgY29uc3QpOgor
ICAgICAgICAqIHN0eWxlL1N0eWxlYWJsZS5oOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVhYmxl
Ojpmcm9tUmVuZGVyZXIpOiBEZWxldGVkLgorCiAyMDIxLTEwLTE0ICBEYXZpZCBLaWx6ZXIgIDxk
ZGtpbHplckBhcHBsZS5jb20+CiAKICAgICAgICAgV2ViQ29yZTo6Q2FwdGlvblVzZXJQcmVmZXJl
bmNlc01lZGlhQUYgc2hvdWxkIHVzZSBhIHdlYWsgb2JzZXJ2ZXIgd2l0aCBDRk5vdGlmaWNhdGlv
bkNlbnRlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tleWZyYW1lRWZm
ZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9LZXlmcmFtZUVmZmVjdC5jcHAKaW5k
ZXggYWYyNTAzZDM0YTM2OGY0MTIxOGRjM2RiMzA5OTE0MmEwYmNmMmRlYS4uY2U2OGM3MTgwM2Rj
NzM2MDQ4NjNmOWJlMzA4NjJlNmYyNmEwNjUzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRp
b24vS2V5ZnJhbWVFZmZlY3QuY3BwCkBAIC0xODczLDcgKzE4NzMsOSBAQCBEb2N1bWVudCogS2V5
ZnJhbWVFZmZlY3Q6OmRvY3VtZW50KCkgY29uc3QKIAogUmVuZGVyRWxlbWVudCogS2V5ZnJhbWVF
ZmZlY3Q6OnJlbmRlcmVyKCkgY29uc3QKIHsKLSAgICByZXR1cm4gdGFyZ2V0RWxlbWVudE9yUHNl
dWRvRWxlbWVudCgpID8gdGFyZ2V0RWxlbWVudE9yUHNldWRvRWxlbWVudCgpLT5yZW5kZXJlcigp
IDogbnVsbHB0cjsKKyAgICBpZiAoYXV0byB0YXJnZXQgPSB0YXJnZXRTdHlsZWFibGUoKSkKKyAg
ICAgICAgcmV0dXJuIHRhcmdldC0+cmVuZGVyZXIoKTsKKyAgICByZXR1cm4gbnVsbHB0cjsKIH0K
IAogY29uc3QgUmVuZGVyU3R5bGUmIEtleWZyYW1lRWZmZWN0OjpjdXJyZW50U3R5bGUoKSBjb25z
dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVhYmxlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3N0eWxlL1N0eWxlYWJsZS5jcHAKaW5kZXggMzA0OGM2NTA0ZjNmN2IxYTE0NGI4
N2Q4YmJlMWM4NjcxZmQ4OTk3MS4uMThjNmUzMTRmYzdhMjllMDc0YjJjOTJlYjNhY2JkMDlmODJi
ODM3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVhYmxlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZWFibGUuY3BwCkBAIC0zOSw2ICszOSw5IEBACiAj
aW5jbHVkZSAiRWxlbWVudC5oIgogI2luY2x1ZGUgIktleWZyYW1lRWZmZWN0LmgiCiAjaW5jbHVk
ZSAiS2V5ZnJhbWVFZmZlY3RTdGFjay5oIgorI2luY2x1ZGUgIlJlbmRlckVsZW1lbnQuaCIKKyNp
bmNsdWRlICJSZW5kZXJMaXN0SXRlbS5oIgorI2luY2x1ZGUgIlJlbmRlckxpc3RNYXJrZXIuaCIK
ICNpbmNsdWRlICJSZW5kZXJTdHlsZS5oIgogI2luY2x1ZGUgIlN0eWxlUHJvcGVydHlTaG9ydGhh
bmQuaCIKICNpbmNsdWRlICJTdHlsZVJlc29sdmVyLmgiCkBAIC00OCw2ICs1MSw2NCBAQAogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NvbnN0IHN0ZDo6b3B0aW9uYWw8Y29uc3QgU3R5bGVhYmxl
PiBTdHlsZWFibGU6OmZyb21SZW5kZXJlcihjb25zdCBSZW5kZXJFbGVtZW50JiByZW5kZXJlcikK
K3sKKyAgICBzd2l0Y2ggKHJlbmRlcmVyLnN0eWxlKCkuc3R5bGVUeXBlKCkpIHsKKyAgICBjYXNl
IFBzZXVkb0lkOjpCYWNrZHJvcDoKKyAgICAgICAgZm9yIChhdXRvJiB0b3BMYXllckVsZW1lbnQg
OiByZW5kZXJlci5kb2N1bWVudCgpLnRvcExheWVyRWxlbWVudHMoKSkgeworICAgICAgICAgICAg
aWYgKHRvcExheWVyRWxlbWVudC0+cmVuZGVyZXIoKSAmJiB0b3BMYXllckVsZW1lbnQtPnJlbmRl
cmVyKCktPmJhY2tkcm9wUmVuZGVyZXIoKSA9PSAmcmVuZGVyZXIpCisgICAgICAgICAgICAgICAg
cmV0dXJuIFN0eWxlYWJsZSh0b3BMYXllckVsZW1lbnQuZ2V0KCksIFBzZXVkb0lkOjpCYWNrZHJv
cCk7CisgICAgICAgIH0KKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBQc2V1ZG9JZDo6TWFya2Vy
OgorICAgICAgICBpZiAoYXV0byogcGFyZW50ID0gcmVuZGVyZXIucGFyZW50KCkpIHsKKyAgICAg
ICAgICAgIEFTU0VSVChwYXJlbnQtPmVsZW1lbnQoKSk7CisgICAgICAgICAgICBBU1NFUlQoaXM8
UmVuZGVyTGlzdEl0ZW0+KHBhcmVudCkpOworICAgICAgICAgICAgQVNTRVJUKGRvd25jYXN0PFJl
bmRlckxpc3RJdGVtPigqcGFyZW50KS5tYXJrZXJSZW5kZXJlcigpID09ICZyZW5kZXJlcik7Cisg
ICAgICAgICAgICByZXR1cm4gU3R5bGVhYmxlKCpwYXJlbnQtPmVsZW1lbnQoKSwgUHNldWRvSWQ6
Ok1hcmtlcik7CisgICAgICAgIH0KKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBQc2V1ZG9JZDo6
QWZ0ZXI6CisgICAgY2FzZSBQc2V1ZG9JZDo6QmVmb3JlOgorICAgIGNhc2UgUHNldWRvSWQ6Ok5v
bmU6CisgICAgICAgIGlmIChhdXRvKiBlbGVtZW50ID0gcmVuZGVyZXIuZWxlbWVudCgpKQorICAg
ICAgICAgICAgcmV0dXJuIGZyb21FbGVtZW50KCplbGVtZW50KTsKKyAgICAgICAgYnJlYWs7Cisg
ICAgZGVmYXVsdDoKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgfQorCisgICAg
cmV0dXJuIHN0ZDo6bnVsbG9wdDsKK30KKworUmVuZGVyRWxlbWVudCogU3R5bGVhYmxlOjpyZW5k
ZXJlcigpIGNvbnN0Cit7CisgICAgc3dpdGNoIChwc2V1ZG9JZCkgeworICAgIGNhc2UgUHNldWRv
SWQ6OkFmdGVyOgorICAgICAgICBpZiAoYXV0byogYWZ0ZXJQc2V1ZG9FbGVtZW50ID0gZWxlbWVu
dC5hZnRlclBzZXVkb0VsZW1lbnQoKSkKKyAgICAgICAgICAgIHJldHVybiBhZnRlclBzZXVkb0Vs
ZW1lbnQtPnJlbmRlcmVyKCk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgUHNldWRvSWQ6OkJh
Y2tkcm9wOgorICAgICAgICBpZiAoYXV0byogaG9zdFJlbmRlcmVyID0gZWxlbWVudC5yZW5kZXJl
cigpKQorICAgICAgICAgICAgcmV0dXJuIGhvc3RSZW5kZXJlci0+YmFja2Ryb3BSZW5kZXJlcigp
LmdldCgpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFBzZXVkb0lkOjpCZWZvcmU6CisgICAg
ICAgIGlmIChhdXRvKiBiZWZvcmVQc2V1ZG9FbGVtZW50ID0gZWxlbWVudC5iZWZvcmVQc2V1ZG9F
bGVtZW50KCkpCisgICAgICAgICAgICByZXR1cm4gYmVmb3JlUHNldWRvRWxlbWVudC0+cmVuZGVy
ZXIoKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBQc2V1ZG9JZDo6TWFya2VyOgorICAgICAg
ICBpZiAoaXM8UmVuZGVyTGlzdEl0ZW0+KGVsZW1lbnQucmVuZGVyZXIoKSkpCisgICAgICAgICAg
ICByZXR1cm4gZG93bmNhc3Q8UmVuZGVyTGlzdEl0ZW0+KCplbGVtZW50LnJlbmRlcmVyKCkpLm1h
cmtlclJlbmRlcmVyKCk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgUHNldWRvSWQ6Ok5vbmU6
CisgICAgICAgIHJldHVybiBlbGVtZW50LnJlbmRlcmVyKCk7CisgICAgZGVmYXVsdDoKKyAgICAg
ICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgfQorCisgICAgcmV0dXJuIG51bGxwdHI7Cit9
CisKIHZvaWQgU3R5bGVhYmxlOjphbmltYXRpb25XYXNBZGRlZChXZWJBbmltYXRpb24mIGFuaW1h
dGlvbikgY29uc3QKIHsKICAgICBlbnN1cmVBbmltYXRpb25zKCkuYWRkKCZhbmltYXRpb24pOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVhYmxlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9zdHlsZS9TdHlsZWFibGUuaAppbmRleCBjMGQ0NzU2Y2RlNGNiOWU2NDQ2MTc3MWQ5NWUw
YzQyMmM1NzAzODhhLi4yM2M4YWZhYzkwYzQ2ZDRkMWYyMTNiY2FhZDAxMDQ2NmRjYTRhYjVjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZWFibGUuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9zdHlsZS9TdHlsZWFibGUuaApAQCAtMjgsMTMgKzI4LDEzIEBACiAjaW5jbHVkZSAi
RWxlbWVudC5oIgogI2luY2x1ZGUgIktleWZyYW1lRWZmZWN0U3RhY2suaCIKICNpbmNsdWRlICJQ
c2V1ZG9FbGVtZW50LmgiCi0jaW5jbHVkZSAiUmVuZGVyRWxlbWVudC5oIgogI2luY2x1ZGUgIlJl
bmRlclN0eWxlQ29uc3RhbnRzLmgiCiAjaW5jbHVkZSAiV2ViQW5pbWF0aW9uVHlwZXMuaCIKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBLZXlmcmFtZUVmZmVjdFN0YWNrOworY2xhc3Mg
UmVuZGVyRWxlbWVudDsKIGNsYXNzIFJlbmRlclN0eWxlOwogY2xhc3MgV2ViQW5pbWF0aW9uOwog
CkBAIC01NiwxMiArNTYsNyBAQCBzdHJ1Y3QgU3R5bGVhYmxlIHsKICAgICAgICAgcmV0dXJuIFN0
eWxlYWJsZShlbGVtZW50LCBlbGVtZW50LnBzZXVkb0lkKCkpOwogICAgIH0KIAotICAgIHN0YXRp
YyBjb25zdCBzdGQ6Om9wdGlvbmFsPGNvbnN0IFN0eWxlYWJsZT4gZnJvbVJlbmRlcmVyKGNvbnN0
IFJlbmRlckVsZW1lbnQmIHJlbmRlcmVyKQotICAgIHsKLSAgICAgICAgaWYgKGF1dG8qIGVsZW1l
bnQgPSByZW5kZXJlci5lbGVtZW50KCkpCi0gICAgICAgICAgICByZXR1cm4gZnJvbUVsZW1lbnQo
KmVsZW1lbnQpOwotICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwotICAgIH0KKyAgICBzdGF0
aWMgY29uc3Qgc3RkOjpvcHRpb25hbDxjb25zdCBTdHlsZWFibGU+IGZyb21SZW5kZXJlcihjb25z
dCBSZW5kZXJFbGVtZW50Jik7CiAKICAgICBib29sIG9wZXJhdG9yPT0oY29uc3QgU3R5bGVhYmxl
JiBvdGhlcikgY29uc3QKICAgICB7CkBAIC03Myw2ICs2OCw4IEBAIHN0cnVjdCBTdHlsZWFibGUg
ewogICAgICAgICByZXR1cm4gISgqdGhpcyA9PSBvdGhlcik7CiAgICAgfQogCisgICAgUmVuZGVy
RWxlbWVudCogcmVuZGVyZXIoKSBjb25zdDsKKwogICAgIEtleWZyYW1lRWZmZWN0U3RhY2sqIGtl
eWZyYW1lRWZmZWN0U3RhY2soKSBjb25zdAogICAgIHsKICAgICAgICAgcmV0dXJuIGVsZW1lbnQu
a2V5ZnJhbWVFZmZlY3RTdGFjayhwc2V1ZG9JZCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYzU3NzFkN2YwNmE3YmJhNjBh
MWVhY2QzMWEzNmJkZjk4MWNiNmE4Mi4uMGJlZWU5OGY1ZjJlOGM0YjQ5MGNkNWFjMTlhZWFhYTRm
YzA5MDNkOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIxLTEwLTE0ICBBbnRvaW5lIFF1aW50
ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgorCisgICAgICAgIEFjY2VsZXJhdGVkIGFuaW1hdGlvbnMg
b24gOjpiYWNrZHJvcCBzaG91bGRuJ3QgYWZmZWN0IDxkaWFsb2c+IChiYWNrZHJvcC1hbmltYXRl
LTAwMi5odG1sIGZhaWxzKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjMwMDA4CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84Mjk3NTc2Nj4KKworICAg
ICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIgYW5kIFRpbSBOZ3V5ZW4uCisKKyAgICAgICAg
KiBUZXN0RXhwZWN0YXRpb25zOiBNYXJrIHRoZSBwcmV2aW91c2x5IGZhaWxpbmcgdGVzdCBhcyBw
YXNzaW5nLgorCiAyMDIxLTEwLTE0ICBBbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAog
ICAgICAgICBbTEZDXVtJRkNdIEFwcGx5IHRoZSBsaW5lLWdhcCBmb250IG1ldHJpY3Mgd2hlbiBj
b21wdXRpbmcgdGhlIGxheW91dCBib3VuZHMgZm9yIGlubGluZSBib3hlcwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlv
bnMKaW5kZXggYzBkZGYxODI4YjY5MzNjNzA5OThkOTNkM2IyMWI1MjZkNmFiNTA3Zi4uY2FiMGFm
NGRlYjk1NmE3ODM0YmE4MGMyNGQxMjM5ODhlMGMzODU2NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCkBA
IC01MTQxLDggKzUxNDEsNiBAQCB3ZWJraXQub3JnL2IvMjI5NzI3IGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250LWxvYWRpbmcvZm9udGZhYwogCiB3ZWJraXQub3Jn
L2IvMjMwMjM3IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzc29tLXZpZXcv
c2Nyb2xsSW50b1ZpZXctaW5saW5lLWltYWdlLmh0bWwgWyBGYWlsdXJlIF0KIAotd2Via2l0Lm9y
Zy9iLzIzMDAwOCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHNldWRv
L2JhY2tkcm9wLWFuaW1hdGUtMDAyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLQogd2Via2l0
Lm9yZy9iLzIzMDAwNCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHNl
dWRvL2FjdGl2ZS1zZWxlY3Rpb24tMDEyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtp
dC5vcmcvYi8yMzAwMDQgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXBz
ZXVkby9hY3RpdmUtc2VsZWN0aW9uLTAxNC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJr
aXQub3JnL2IvMjMwMDA0IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1w
c2V1ZG8vYWN0aXZlLXNlbGVjdGlvbi0wMTguaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQo=
</data>
<flag name="commit-queue"
          id="465604"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>441374</attachid>
            <date>2021-10-15 06:52:34 -0700</date>
            <delta_ts>2021-10-15 10:50:33 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-230008-20211015155233.patch</filename>
            <type>text/plain</type>
            <size>7794</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0MTY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDQzYTNhOTc5ZThlMzQ5
NGZmMDkwYzRmYjUzYTliYTA1MWRiYmVlNS4uZTM4OWNlMWUwZmQxNjM2YmVmZWYxNGQ4M2ZhNzEw
ZDg1YmQ4OGMzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIxLTEwLTE1ICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgorCisgICAgICAgIEFjY2VsZXJhdGVkIGFu
aW1hdGlvbnMgb24gOjpiYWNrZHJvcCBzaG91bGRuJ3QgYWZmZWN0IDxkaWFsb2c+IChiYWNrZHJv
cC1hbmltYXRlLTAwMi5odG1sIGZhaWxzKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjMwMDA4CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84Mjk3NTc2
Nj4KKworICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIgYW5kIFRpbSBOZ3V5ZW4uCisK
KyAgICAgICAgV2UgZGlkIG5vdCBrbm93IGhvdyB0byBhY2Nlc3MgdGhlIDo6YmFja2Ryb3AgcmVu
ZGVyZXIgd2hlbiBydW5uaW5nIGFjY2VsZXJhdGVkIGFuaW1hdGlvbnMuIFRvIGRvIHNvIHdlIG5v
dworICAgICAgICBpbXBsZW1lbnQgZnVsbCBzdXBwb3J0IHRvIGFjY2VzcyB0aGUgcmVuZGVyZXIg
Zm9yIGtub3duIHBzZXVkby1lbGVtZW50cyBvbiBTdHlsZWFibGUgd2l0aCBhIG5ldyByZW5kZXJl
cigpCisgICAgICAgIG1ldGhvZCwgaW5jbHVkaW5nIDo6YmFja2Ryb3AuIFdlIGFsc28gbWFrZSBT
dHlsZWFibGU6OmZyb21SZW5kZXJlcigpIGF3YXJlIG9mIDo6YmFja2Ryb3Agc3VjaCB0aGF0IHRo
ZSB2YXJpb3VzCisgICAgICAgIGNhbGwgc2l0ZXMgZm9yIHRoaXMgZnVuY3Rpb24gdGhhdCBkZWFs
IHdpdGggYWNjZWxlcmF0ZWQgdHJhbnNmb3JtIGFuaW1hdGlvbnMgYWNjZXNzIHRoZSByaWdodCBl
bGVtZW50LgorCisgICAgICAgICogYW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OktleWZyYW1lRWZmZWN0OjpyZW5kZXJlciBjb25zdCk6CisgICAgICAgICog
c3R5bGUvU3R5bGVhYmxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlYWJsZTo6ZnJvbVJl
bmRlcmVyKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlYWJsZTo6cmVuZGVyZXIgY29uc3QpOgor
ICAgICAgICAqIHN0eWxlL1N0eWxlYWJsZS5oOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVhYmxl
Ojpmcm9tUmVuZGVyZXIpOiBEZWxldGVkLgorCiAyMDIxLTEwLTE0ICBEYXZpZCBLaWx6ZXIgIDxk
ZGtpbHplckBhcHBsZS5jb20+CiAKICAgICAgICAgV2ViQ29yZTo6Q2FwdGlvblVzZXJQcmVmZXJl
bmNlc01lZGlhQUYgc2hvdWxkIHVzZSBhIHdlYWsgb2JzZXJ2ZXIgd2l0aCBDRk5vdGlmaWNhdGlv
bkNlbnRlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tleWZyYW1lRWZm
ZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9LZXlmcmFtZUVmZmVjdC5jcHAKaW5k
ZXggYWYyNTAzZDM0YTM2OGY0MTIxOGRjM2RiMzA5OTE0MmEwYmNmMmRlYS4uY2U2OGM3MTgwM2Rj
NzM2MDQ4NjNmOWJlMzA4NjJlNmYyNmEwNjUzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRp
b24vS2V5ZnJhbWVFZmZlY3QuY3BwCkBAIC0xODczLDcgKzE4NzMsOSBAQCBEb2N1bWVudCogS2V5
ZnJhbWVFZmZlY3Q6OmRvY3VtZW50KCkgY29uc3QKIAogUmVuZGVyRWxlbWVudCogS2V5ZnJhbWVF
ZmZlY3Q6OnJlbmRlcmVyKCkgY29uc3QKIHsKLSAgICByZXR1cm4gdGFyZ2V0RWxlbWVudE9yUHNl
dWRvRWxlbWVudCgpID8gdGFyZ2V0RWxlbWVudE9yUHNldWRvRWxlbWVudCgpLT5yZW5kZXJlcigp
IDogbnVsbHB0cjsKKyAgICBpZiAoYXV0byB0YXJnZXQgPSB0YXJnZXRTdHlsZWFibGUoKSkKKyAg
ICAgICAgcmV0dXJuIHRhcmdldC0+cmVuZGVyZXIoKTsKKyAgICByZXR1cm4gbnVsbHB0cjsKIH0K
IAogY29uc3QgUmVuZGVyU3R5bGUmIEtleWZyYW1lRWZmZWN0OjpjdXJyZW50U3R5bGUoKSBjb25z
dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVhYmxlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3N0eWxlL1N0eWxlYWJsZS5jcHAKaW5kZXggMzA0OGM2NTA0ZjNmN2IxYTE0NGI4
N2Q4YmJlMWM4NjcxZmQ4OTk3MS4uNTdiZDZhNzZiYmUyZTM5ZjU0Nzc3MTI0YzEzYjJkZTM0YzNi
NWIxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVhYmxlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZWFibGUuY3BwCkBAIC0zOSw2ICszOSw5IEBACiAj
aW5jbHVkZSAiRWxlbWVudC5oIgogI2luY2x1ZGUgIktleWZyYW1lRWZmZWN0LmgiCiAjaW5jbHVk
ZSAiS2V5ZnJhbWVFZmZlY3RTdGFjay5oIgorI2luY2x1ZGUgIlJlbmRlckVsZW1lbnQuaCIKKyNp
bmNsdWRlICJSZW5kZXJMaXN0SXRlbS5oIgorI2luY2x1ZGUgIlJlbmRlckxpc3RNYXJrZXIuaCIK
ICNpbmNsdWRlICJSZW5kZXJTdHlsZS5oIgogI2luY2x1ZGUgIlN0eWxlUHJvcGVydHlTaG9ydGhh
bmQuaCIKICNpbmNsdWRlICJTdHlsZVJlc29sdmVyLmgiCkBAIC00OCw2ICs1MSw2MiBAQAogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NvbnN0IHN0ZDo6b3B0aW9uYWw8Y29uc3QgU3R5bGVhYmxl
PiBTdHlsZWFibGU6OmZyb21SZW5kZXJlcihjb25zdCBSZW5kZXJFbGVtZW50JiByZW5kZXJlcikK
K3sKKyAgICBzd2l0Y2ggKHJlbmRlcmVyLnN0eWxlKCkuc3R5bGVUeXBlKCkpIHsKKyAgICBjYXNl
IFBzZXVkb0lkOjpCYWNrZHJvcDoKKyAgICAgICAgZm9yIChhdXRvJiB0b3BMYXllckVsZW1lbnQg
OiByZW5kZXJlci5kb2N1bWVudCgpLnRvcExheWVyRWxlbWVudHMoKSkgeworICAgICAgICAgICAg
aWYgKHRvcExheWVyRWxlbWVudC0+cmVuZGVyZXIoKSAmJiB0b3BMYXllckVsZW1lbnQtPnJlbmRl
cmVyKCktPmJhY2tkcm9wUmVuZGVyZXIoKSA9PSAmcmVuZGVyZXIpCisgICAgICAgICAgICAgICAg
cmV0dXJuIFN0eWxlYWJsZSh0b3BMYXllckVsZW1lbnQuZ2V0KCksIFBzZXVkb0lkOjpCYWNrZHJv
cCk7CisgICAgICAgIH0KKyAgICAgICAgRkFMTFRIUk9VR0g7CisgICAgY2FzZSBQc2V1ZG9JZDo6
TWFya2VyOgorICAgICAgICBpZiAoYXV0byogcGFyZW50ID0gcmVuZGVyZXIucGFyZW50KCkpIHsK
KyAgICAgICAgICAgIEFTU0VSVChwYXJlbnQtPmVsZW1lbnQoKSk7CisgICAgICAgICAgICBBU1NF
UlQoaXM8UmVuZGVyTGlzdEl0ZW0+KHBhcmVudCkpOworICAgICAgICAgICAgQVNTRVJUKGRvd25j
YXN0PFJlbmRlckxpc3RJdGVtPigqcGFyZW50KS5tYXJrZXJSZW5kZXJlcigpID09ICZyZW5kZXJl
cik7CisgICAgICAgICAgICByZXR1cm4gU3R5bGVhYmxlKCpwYXJlbnQtPmVsZW1lbnQoKSwgUHNl
dWRvSWQ6Ok1hcmtlcik7CisgICAgICAgIH0KKyAgICAgICAgRkFMTFRIUk9VR0g7CisgICAgY2Fz
ZSBQc2V1ZG9JZDo6QWZ0ZXI6CisgICAgY2FzZSBQc2V1ZG9JZDo6QmVmb3JlOgorICAgIGNhc2Ug
UHNldWRvSWQ6Ok5vbmU6CisgICAgICAgIGlmIChhdXRvKiBlbGVtZW50ID0gcmVuZGVyZXIuZWxl
bWVudCgpKQorICAgICAgICAgICAgcmV0dXJuIGZyb21FbGVtZW50KCplbGVtZW50KTsKKyAgICAg
ICAgRkFMTFRIUk9VR0g7CisgICAgZGVmYXVsdDoKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9w
dDsKKyAgICB9Cit9CisKK1JlbmRlckVsZW1lbnQqIFN0eWxlYWJsZTo6cmVuZGVyZXIoKSBjb25z
dAoreworICAgIHN3aXRjaCAocHNldWRvSWQpIHsKKyAgICBjYXNlIFBzZXVkb0lkOjpBZnRlcjoK
KyAgICAgICAgaWYgKGF1dG8qIGFmdGVyUHNldWRvRWxlbWVudCA9IGVsZW1lbnQuYWZ0ZXJQc2V1
ZG9FbGVtZW50KCkpCisgICAgICAgICAgICByZXR1cm4gYWZ0ZXJQc2V1ZG9FbGVtZW50LT5yZW5k
ZXJlcigpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFBzZXVkb0lkOjpCYWNrZHJvcDoKKyAg
ICAgICAgaWYgKGF1dG8qIGhvc3RSZW5kZXJlciA9IGVsZW1lbnQucmVuZGVyZXIoKSkKKyAgICAg
ICAgICAgIHJldHVybiBob3N0UmVuZGVyZXItPmJhY2tkcm9wUmVuZGVyZXIoKS5nZXQoKTsKKyAg
ICAgICAgYnJlYWs7CisgICAgY2FzZSBQc2V1ZG9JZDo6QmVmb3JlOgorICAgICAgICBpZiAoYXV0
byogYmVmb3JlUHNldWRvRWxlbWVudCA9IGVsZW1lbnQuYmVmb3JlUHNldWRvRWxlbWVudCgpKQor
ICAgICAgICAgICAgcmV0dXJuIGJlZm9yZVBzZXVkb0VsZW1lbnQtPnJlbmRlcmVyKCk7CisgICAg
ICAgIGJyZWFrOworICAgIGNhc2UgUHNldWRvSWQ6Ok1hcmtlcjoKKyAgICAgICAgaWYgKGlzPFJl
bmRlckxpc3RJdGVtPihlbGVtZW50LnJlbmRlcmVyKCkpKQorICAgICAgICAgICAgcmV0dXJuIGRv
d25jYXN0PFJlbmRlckxpc3RJdGVtPigqZWxlbWVudC5yZW5kZXJlcigpKS5tYXJrZXJSZW5kZXJl
cigpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFBzZXVkb0lkOjpOb25lOgorICAgICAgICBy
ZXR1cm4gZWxlbWVudC5yZW5kZXJlcigpOworICAgIGRlZmF1bHQ6CisgICAgICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOworICAgIH0KKworICAgIHJldHVybiBudWxscHRyOworfQorCiB2b2lkIFN0
eWxlYWJsZTo6YW5pbWF0aW9uV2FzQWRkZWQoV2ViQW5pbWF0aW9uJiBhbmltYXRpb24pIGNvbnN0
CiB7CiAgICAgZW5zdXJlQW5pbWF0aW9ucygpLmFkZCgmYW5pbWF0aW9uKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlYWJsZS5oIGIvU291cmNlL1dlYkNvcmUvc3R5bGUv
U3R5bGVhYmxlLmgKaW5kZXggYzBkNDc1NmNkZTRjYjllNjQ0NjE3NzFkOTVlMGM0MjJjNTcwMzg4
YS4uMjNjOGFmYWM5MGM0NmQ0ZDFmMjEzYmNhYWQwMTA0NjZkY2E0YWI1YyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVhYmxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5
bGUvU3R5bGVhYmxlLmgKQEAgLTI4LDEzICsyOCwxMyBAQAogI2luY2x1ZGUgIkVsZW1lbnQuaCIK
ICNpbmNsdWRlICJLZXlmcmFtZUVmZmVjdFN0YWNrLmgiCiAjaW5jbHVkZSAiUHNldWRvRWxlbWVu
dC5oIgotI2luY2x1ZGUgIlJlbmRlckVsZW1lbnQuaCIKICNpbmNsdWRlICJSZW5kZXJTdHlsZUNv
bnN0YW50cy5oIgogI2luY2x1ZGUgIldlYkFuaW1hdGlvblR5cGVzLmgiCiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogY2xhc3MgS2V5ZnJhbWVFZmZlY3RTdGFjazsKK2NsYXNzIFJlbmRlckVsZW1l
bnQ7CiBjbGFzcyBSZW5kZXJTdHlsZTsKIGNsYXNzIFdlYkFuaW1hdGlvbjsKIApAQCAtNTYsMTIg
KzU2LDcgQEAgc3RydWN0IFN0eWxlYWJsZSB7CiAgICAgICAgIHJldHVybiBTdHlsZWFibGUoZWxl
bWVudCwgZWxlbWVudC5wc2V1ZG9JZCgpKTsKICAgICB9CiAKLSAgICBzdGF0aWMgY29uc3Qgc3Rk
OjpvcHRpb25hbDxjb25zdCBTdHlsZWFibGU+IGZyb21SZW5kZXJlcihjb25zdCBSZW5kZXJFbGVt
ZW50JiByZW5kZXJlcikKLSAgICB7Ci0gICAgICAgIGlmIChhdXRvKiBlbGVtZW50ID0gcmVuZGVy
ZXIuZWxlbWVudCgpKQotICAgICAgICAgICAgcmV0dXJuIGZyb21FbGVtZW50KCplbGVtZW50KTsK
LSAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKLSAgICB9CisgICAgc3RhdGljIGNvbnN0IHN0
ZDo6b3B0aW9uYWw8Y29uc3QgU3R5bGVhYmxlPiBmcm9tUmVuZGVyZXIoY29uc3QgUmVuZGVyRWxl
bWVudCYpOwogCiAgICAgYm9vbCBvcGVyYXRvcj09KGNvbnN0IFN0eWxlYWJsZSYgb3RoZXIpIGNv
bnN0CiAgICAgewpAQCAtNzMsNiArNjgsOCBAQCBzdHJ1Y3QgU3R5bGVhYmxlIHsKICAgICAgICAg
cmV0dXJuICEoKnRoaXMgPT0gb3RoZXIpOwogICAgIH0KIAorICAgIFJlbmRlckVsZW1lbnQqIHJl
bmRlcmVyKCkgY29uc3Q7CisKICAgICBLZXlmcmFtZUVmZmVjdFN0YWNrKiBrZXlmcmFtZUVmZmVj
dFN0YWNrKCkgY29uc3QKICAgICB7CiAgICAgICAgIHJldHVybiBlbGVtZW50LmtleWZyYW1lRWZm
ZWN0U3RhY2socHNldWRvSWQpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGM1NzcxZDdmMDZhN2JiYTYwYTFlYWNkMzFhMzZi
ZGY5ODFjYjZhODIuLmUwNzkyYTNiN2U3ZGRhYmI4MTFjZjIwZjkxMjgwMDc2OWY2NDE4ZGUgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxMyBAQAorMjAyMS0xMC0xNSAgQW50b2luZSBRdWludCAgPGdyYW91dHNA
d2Via2l0Lm9yZz4KKworICAgICAgICBBY2NlbGVyYXRlZCBhbmltYXRpb25zIG9uIDo6YmFja2Ry
b3Agc2hvdWxkbid0IGFmZmVjdCA8ZGlhbG9nPiAoYmFja2Ryb3AtYW5pbWF0ZS0wMDIuaHRtbCBm
YWlscykKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIz
MDAwOAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vODI5NzU3NjY+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgU2ltb24gRnJhc2VyIGFuZCBUaW0gTmd1eWVuLgorCisgICAgICAgICogVGVzdEV4cGVj
dGF0aW9uczogTWFyayB0aGUgcHJldmlvdXNseSBmYWlsaW5nIHRlc3QgYXMgcGFzc2luZy4KKwog
MjAyMS0xMC0xNCAgQWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0xG
Q11bSUZDXSBBcHBseSB0aGUgbGluZS1nYXAgZm9udCBtZXRyaWNzIHdoZW4gY29tcHV0aW5nIHRo
ZSBsYXlvdXQgYm91bmRzIGZvciBpbmxpbmUgYm94ZXMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGMw
ZGRmMTgyOGI2OTMzYzcwOTk4ZDkzZDNiMjFiNTI2ZDZhYjUwN2YuLmNhYjBhZjRkZWI5NTZhNzgz
NGJhODBjMjRkMTIzOTg4ZTBjMzg1NjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL1Rlc3RFeHBl
Y3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtNTE0MSw4ICs1
MTQxLDYgQEAgd2Via2l0Lm9yZy9iLzIyOTcyNyBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtZm9udC1sb2FkaW5nL2ZvbnRmYWMKIAogd2Via2l0Lm9yZy9iLzIzMDIzNyBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS12aWV3L3Njcm9sbEludG9W
aWV3LWlubGluZS1pbWFnZS5odG1sIFsgRmFpbHVyZSBdCiAKLXdlYmtpdC5vcmcvYi8yMzAwMDgg
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXBzZXVkby9iYWNrZHJvcC1h
bmltYXRlLTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi0KIHdlYmtpdC5vcmcvYi8yMzAw
MDQgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXBzZXVkby9hY3RpdmUt
c2VsZWN0aW9uLTAxMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMjMw
MDA0IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wc2V1ZG8vYWN0aXZl
LXNlbGVjdGlvbi0wMTQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzIz
MDAwNCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcHNldWRvL2FjdGl2
ZS1zZWxlY3Rpb24tMDE4Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0K
</data>
<flag name="commit-queue"
          id="465650"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
      

    </bug>

</bugzilla>