<?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>224576</bug_id>
          
          <creation_ts>2021-04-14 14:05:26 -0700</creation_ts>
          <short_desc>[macOS] Make image extraction interactions work for elements inside links</short_desc>
          <delta_ts>2021-04-14 19:04:28 -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>HTML Editing</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>bdakin</cc>
    
    <cc>hi</cc>
    
    <cc>megan_gardner</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1750325</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-04-14 14:05:26 -0700</bug_when>
    <thetext>(Similar to #224517, but on macOS this time)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1750327</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-04-14 14:12:26 -0700</bug_when>
    <thetext>&lt;rdar://problem/76664721&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1750328</commentid>
    <comment_count>2</comment_count>
      <attachid>426044</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-04-14 14:15:13 -0700</bug_when>
    <thetext>Created attachment 426044
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1750334</commentid>
    <comment_count>3</comment_count>
      <attachid>426044</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-04-14 14:26:48 -0700</bug_when>
    <thetext>Comment on attachment 426044
Patch

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

r=me

&gt; Source/WebCore/page/EventHandler.cpp:960
&gt; +    VisibleSelection newSelection { oldSelection };

NIT: Do we have a preference as to style of this vs something like `auto newSelection = oldSelection;`?

&gt; Source/WebCore/page/EventHandler.cpp:1009
&gt; +    auto isImageOverlayText = [&amp;] (RefPtr&lt;Node&gt;&amp;&amp; node) {

NIT: Does this need to capture `&amp;`?

NIT: It&apos;s a bit odd that this takes a `RefPtr&lt;Node&gt;&amp;&amp;` instead of just `RefPtr&lt;Node&gt;&amp;` or something 🤔</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1750339</commentid>
    <comment_count>4</comment_count>
      <attachid>426044</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-04-14 14:32:11 -0700</bug_when>
    <thetext>Comment on attachment 426044
Patch

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

Thanks for the review!

&gt;&gt; Source/WebCore/page/EventHandler.cpp:960
&gt;&gt; +    VisibleSelection newSelection { oldSelection };
&gt; 
&gt; NIT: Do we have a preference as to style of this vs something like `auto newSelection = oldSelection;`?

I don&apos;t think the style guidelines cover this, but I do agree that we generally use `auto/=` in new code, so I&apos;ll change it to that.

&gt;&gt; Source/WebCore/page/EventHandler.cpp:1009
&gt;&gt; +    auto isImageOverlayText = [&amp;] (RefPtr&lt;Node&gt;&amp;&amp; node) {
&gt; 
&gt; NIT: Does this need to capture `&amp;`?
&gt; 
&gt; NIT: It&apos;s a bit odd that this takes a `RefPtr&lt;Node&gt;&amp;&amp;` instead of just `RefPtr&lt;Node&gt;&amp;` or something 🤔

Good point — removed the `&amp;` capture, and changed to take `const RefPtr&lt;Node&gt;&amp;`.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1750343</commentid>
    <comment_count>5</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-04-14 14:38:34 -0700</bug_when>
    <thetext>(In reply to Wenson Hsieh from comment #4)
&gt; Comment on attachment 426044 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=426044&amp;action=review
&gt; 
&gt; Thanks for the review!
&gt; 
&gt; &gt;&gt; Source/WebCore/page/EventHandler.cpp:960
&gt; &gt;&gt; +    VisibleSelection newSelection { oldSelection };
&gt; &gt; 
&gt; &gt; NIT: Do we have a preference as to style of this vs something like `auto newSelection = oldSelection;`?
&gt; 
&gt; I don&apos;t think the style guidelines cover this, but I do agree that we
&gt; generally use `auto/=` in new code, so I&apos;ll change it to that.
&gt; 
&gt; &gt;&gt; Source/WebCore/page/EventHandler.cpp:1009
&gt; &gt;&gt; +    auto isImageOverlayText = [&amp;] (RefPtr&lt;Node&gt;&amp;&amp; node) {
&gt; &gt; 
&gt; &gt; NIT: Does this need to capture `&amp;`?
&gt; &gt; 
&gt; &gt; NIT: It&apos;s a bit odd that this takes a `RefPtr&lt;Node&gt;&amp;&amp;` instead of just `RefPtr&lt;Node&gt;&amp;` or something 🤔
&gt; 
&gt; Good point — removed the `&amp;` capture, and changed to take `const
&gt; RefPtr&lt;Node&gt;&amp;`.

I&apos;m going to add a `HTMLElement::isImageOverlayText(const Node*)` overload and use that instead, as you suggested over Slack.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1750354</commentid>
    <comment_count>6</comment_count>
      <attachid>426050</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-04-14 14:52:05 -0700</bug_when>
    <thetext>Created attachment 426050
Address comments</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1750444</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-04-14 19:04:27 -0700</bug_when>
    <thetext>Committed r275988 (236540@main): &lt;https://commits.webkit.org/236540@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 426050.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>426044</attachid>
            <date>2021-04-14 14:15:13 -0700</date>
            <delta_ts>2021-04-14 14:52:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224576-20210414141512.patch</filename>
            <type>text/plain</type>
            <size>6883</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1OTEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzMwYjRkZGZkYTU2MTgw
ODBmMjU2Y2UzM2Y2ZjkzN2VjYTMwZTliMC4uY2FjMzcwNGE5M2M0MDJjN2UxM2RhOWFiMzZlM2U4
MDM0M2I0NWVkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIxLTA0LTE0ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFttYWNPU10gTWFr
ZSBpbWFnZSBleHRyYWN0aW9uIGludGVyYWN0aW9ucyB3b3JrIGZvciBlbGVtZW50cyBpbnNpZGUg
bGlua3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIy
NDU3NgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzY2NjQ3MjE+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWFrZSBhIHNsaWdodCBhZGp1c3RtZW50
IHRvIGBFdmVudEhhbmRsZXI6OmNhbk1vdXNlRG93blN0YXJ0U2VsZWN0YCB0byBhbGxvdyBzZWxl
Y3Rpb24gdG8gYmVnaW4gd2hlbiBoYW5kbGluZyBhCisgICAgICAgIG1vdXNlZG93biBvdmVyIHRl
eHQgaW5zaWRlIGFuIGltYWdlIG92ZXJsYXkuCisKKyAgICAgICAgVGVzdDogZmFzdC9pbWFnZXMv
aW1hZ2UtZXh0cmFjdGlvbi9tYWMvc2VsZWN0LWltYWdlLW92ZXJsYXktaW4tbGluay13aXRoLW1v
dXNlLWRyYWcuaHRtbAorCisgICAgICAgICogcGFnZS9FdmVudEhhbmRsZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpjYW5Nb3VzZURvd25TdGFydFNlbGVjdCk6CisgICAg
ICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OnVwZGF0ZVNlbGVjdGlvbkZvck1vdXNlRHJhZyk6
CisKKyAgICAgICAgQWRkaXRpb25hbGx5LCBtYWtlIGl0IHNvIHRoYXQgd2Ugb25seSBpbnZhbGlk
YXRlIGEgY2xpY2sgKGkuZS4gcHJldmVudCBtb3VzZSByZWxlYXNlIGZyb20gZGlzcGF0Y2hpbmcg
YSBjbGljaworICAgICAgICBldmVudCkgaW4gYEV2ZW50SGFuZGxlcjo6dXBkYXRlU2VsZWN0aW9u
Rm9yTW91c2VEcmFnYCBpbiB0aGUgY2FzZSB3aGVyZSB3ZSdyZSBzZWxlY3RpbmcgdGV4dCBpbiBh
biBpbWFnZQorICAgICAgICBvdmVybGF5LCBpZiB0aGUgc2VsZWN0aW9uIGhhc24ndCBhY3R1YWxs
eSBjaGFuZ2VkLgorCiAyMDIxLTA0LTE0ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBw
bGUuY29tPgogCiAgICAgICAgIFtpT1NdIEltYWdlIGV4dHJhY3Rpb24gZmFpbHMgaW4gR29vZ2xl
IHNlYXJjaCByZXN1bHRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFu
ZGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKaW5kZXggMjc1
OTA4ZGQxZGI2NjMzZWE3NjViZGVmN2UzZTU2OTMwYWViNDZkMy4uODg0OTg0ZGZhOGYzNDk0OWMz
MjMxNjY2ZjhlZGIxYWVhY2VkOTljYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9F
dmVudEhhbmRsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNw
cApAQCAtNjk0LDcgKzY5NCw3IEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpoYW5kbGVNb3VzZVByZXNz
RXZlbnRTaW5nbGVDbGljayhjb25zdCBNb3VzZUV2ZW50V2l0aEhpdFRlc3RSCiAKIGJvb2wgRXZl
bnRIYW5kbGVyOjpjYW5Nb3VzZURvd25TdGFydFNlbGVjdChjb25zdCBNb3VzZUV2ZW50V2l0aEhp
dFRlc3RSZXN1bHRzJiBldmVudCkKIHsKLSAgICBhdXRvKiBub2RlID0gZXZlbnQudGFyZ2V0Tm9k
ZSgpOworICAgIGF1dG8gbm9kZSA9IG1ha2VSZWZQdHIoZXZlbnQudGFyZ2V0Tm9kZSgpKTsKIAog
ICAgIGlmIChQYWdlKiBwYWdlID0gbV9mcmFtZS5wYWdlKCkpIHsKICAgICAgICAgaWYgKCFwYWdl
LT5jaHJvbWUoKS5jbGllbnQoKS5zaG91bGRVc2VNb3VzZUV2ZW50Rm9yU2VsZWN0aW9uKGV2ZW50
LmV2ZW50KCkpKQpAQCAtNzA0LDcgKzcwNCwxMCBAQCBib29sIEV2ZW50SGFuZGxlcjo6Y2FuTW91
c2VEb3duU3RhcnRTZWxlY3QoY29uc3QgTW91c2VFdmVudFdpdGhIaXRUZXN0UmVzdWx0cyYgZQog
ICAgIGlmICghbm9kZSB8fCAhbm9kZS0+cmVuZGVyZXIoKSkKICAgICAgICAgcmV0dXJuIHRydWU7
CiAKLSAgICByZXR1cm4gbm9kZS0+Y2FuU3RhcnRTZWxlY3Rpb24oKSB8fCBQb3NpdGlvbjo6bm9k
ZUlzVXNlclNlbGVjdEFsbChub2RlKTsKKyAgICBpZiAoSFRNTEVsZW1lbnQ6OmlzSW1hZ2VPdmVy
bGF5VGV4dCgqbm9kZSkpCisgICAgICAgIHJldHVybiBub2RlLT5yZW5kZXJlcigpLT5zdHlsZSgp
LnVzZXJTZWxlY3QoKSAhPSBVc2VyU2VsZWN0OjpOb25lOworCisgICAgcmV0dXJuIG5vZGUtPmNh
blN0YXJ0U2VsZWN0aW9uKCkgfHwgUG9zaXRpb246Om5vZGVJc1VzZXJTZWxlY3RBbGwobm9kZS5n
ZXQoKSk7CiB9CiAKIGJvb2wgRXZlbnRIYW5kbGVyOjptb3VzZURvd25NYXlTdGFydFNlbGVjdCgp
IGNvbnN0CkBAIC05NTMsNyArOTU2LDggQEAgdm9pZCBFdmVudEhhbmRsZXI6OnVwZGF0ZVNlbGVj
dGlvbkZvck1vdXNlRHJhZyhjb25zdCBIaXRUZXN0UmVzdWx0JiBoaXRUZXN0UmVzdWwKIAogICAg
IC8vIFJlc3RhcnQgdGhlIHNlbGVjdGlvbiBpZiB0aGlzIGlzIHRoZSBmaXJzdCBtb3VzZSBtb3Zl
LiBUaGlzIHdvcmsgaXMgdXN1YWxseQogICAgIC8vIGRvbmUgaW4gaGFuZGxlTW91c2VQcmVzc0V2
ZW50LCBidXQgbm90IGlmIHRoZSBtb3VzZSBwcmVzcyB3YXMgb24gYW4gZXhpc3Rpbmcgc2VsZWN0
aW9uLgotICAgIFZpc2libGVTZWxlY3Rpb24gbmV3U2VsZWN0aW9uID0gbV9mcmFtZS5zZWxlY3Rp
b24oKS5zZWxlY3Rpb24oKTsKKyAgICBWaXNpYmxlU2VsZWN0aW9uIG9sZFNlbGVjdGlvbiA9IG1f
ZnJhbWUuc2VsZWN0aW9uKCkuc2VsZWN0aW9uKCk7CisgICAgVmlzaWJsZVNlbGVjdGlvbiBuZXdT
ZWxlY3Rpb24geyBvbGRTZWxlY3Rpb24gfTsKIAogICAgIC8vIFNwZWNpYWwgY2FzZSB0byBsaW1p
dCBzZWxlY3Rpb24gdG8gdGhlIGNvbnRhaW5pbmcgYmxvY2sgZm9yIFNWRyB0ZXh0LgogICAgIC8v
IEZJWE1FOiBJc24ndCB0aGVyZSBhIGJldHRlciBub24tU1ZHLXNwZWNpZmljIHdheSB0byBkbyB0
aGlzPwpAQCAtMTAwMiw4ICsxMDA2LDExIEBAIHZvaWQgRXZlbnRIYW5kbGVyOjp1cGRhdGVTZWxl
Y3Rpb25Gb3JNb3VzZURyYWcoY29uc3QgSGl0VGVzdFJlc3VsdCYgaGl0VGVzdFJlc3VsCiAgICAg
bV9mcmFtZS5zZWxlY3Rpb24oKS5zZXRTZWxlY3Rpb25CeU1vdXNlSWZEaWZmZXJlbnQobmV3U2Vs
ZWN0aW9uLCBtX2ZyYW1lLnNlbGVjdGlvbigpLmdyYW51bGFyaXR5KCksCiAgICAgICAgIEZyYW1l
U2VsZWN0aW9uOjpFbmRQb2ludHNBZGp1c3RtZW50TW9kZTo6QWRqdXN0QXRCaWRpQm91bmRhcnkp
OwogCi0gICAgaWYgKG5ld1NlbGVjdGlvbi5zdGFydCgpLmNvbnRhaW5lck5vZGUoKSAmJiBIVE1M
RWxlbWVudDo6aXNJbWFnZU92ZXJsYXlUZXh0KCpuZXdTZWxlY3Rpb24uc3RhcnQoKS5jb250YWlu
ZXJOb2RlKCkpCi0gICAgICAgICYmIG5ld1NlbGVjdGlvbi5lbmQoKS5jb250YWluZXJOb2RlKCkg
JiYgSFRNTEVsZW1lbnQ6OmlzSW1hZ2VPdmVybGF5VGV4dCgqbmV3U2VsZWN0aW9uLmVuZCgpLmNv
bnRhaW5lck5vZGUoKSkpCisgICAgYXV0byBpc0ltYWdlT3ZlcmxheVRleHQgPSBbJl0gKFJlZlB0
cjxOb2RlPiYmIG5vZGUpIHsKKyAgICAgICAgcmV0dXJuIG5vZGUgJiYgSFRNTEVsZW1lbnQ6Omlz
SW1hZ2VPdmVybGF5VGV4dCgqbm9kZSk7CisgICAgfTsKKworICAgIGlmIChvbGRTZWxlY3Rpb24g
IT0gbmV3U2VsZWN0aW9uICYmIGlzSW1hZ2VPdmVybGF5VGV4dChuZXdTZWxlY3Rpb24uc3RhcnQo
KS5jb250YWluZXJOb2RlKCkpICYmIGlzSW1hZ2VPdmVybGF5VGV4dChuZXdTZWxlY3Rpb24uZW5k
KCkuY29udGFpbmVyTm9kZSgpKSkKICAgICAgICAgaW52YWxpZGF0ZUNsaWNrKCk7CiB9CiAjZW5k
aWYgLy8gRU5BQkxFKERSQUdfU1VQUE9SVCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAxN2QyODQ3Yzg3NTQwMDIzOGZiMzAw
OGZmMWE4NDc1YWUzOTMzODBhLi4yYjkxMjQxMTk3MjM0MWNjM2FhY2NhYTE0NWM1MTViMDkzZTIy
YzUzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjEtMDQtMTQgIFdlbnNvbiBIc2llaCAgPHdl
bnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW21hY09TXSBNYWtlIGltYWdlIGV4dHJh
Y3Rpb24gaW50ZXJhY3Rpb25zIHdvcmsgZm9yIGVsZW1lbnRzIGluc2lkZSBsaW5rcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI0NTc2CisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS83NjY2NDcyMT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBBZGQgYSBsYXlvdXQgdGVzdCB0byBleGVyY2lzZSB0aGUgY2hh
bmdlLgorCisgICAgICAgICogZmFzdC9pbWFnZXMvaW1hZ2UtZXh0cmFjdGlvbi9tYWMvc2VsZWN0
LWltYWdlLW92ZXJsYXktaW4tbGluay13aXRoLW1vdXNlLWRyYWctZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBmYXN0L2ltYWdlcy9pbWFnZS1leHRyYWN0aW9uL21hYy9zZWxlY3QtaW1h
Z2Utb3ZlcmxheS1pbi1saW5rLXdpdGgtbW91c2UtZHJhZy5odG1sOiBBZGRlZC4KKwogMjAyMS0w
NC0xNCAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBb
aU9TXSBJbWFnZSBleHRyYWN0aW9uIGZhaWxzIGluIEdvb2dsZSBzZWFyY2ggcmVzdWx0cwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvaW1hZ2UtZXh0cmFjdGlvbi9tYWMvc2Vs
ZWN0LWltYWdlLW92ZXJsYXktaW4tbGluay13aXRoLW1vdXNlLWRyYWctZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvaW1hZ2UtZXh0cmFjdGlvbi9tYWMvc2VsZWN0LWltYWdl
LW92ZXJsYXktaW4tbGluay13aXRoLW1vdXNlLWRyYWctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjQzZTVlZWVkYmYxYjQzNWY5NmMzYTIwYmY4MTQwMWFlZTQzMzE5ODEKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9pbWFnZS1leHRyYWN0aW9uL21hYy9zZWxlY3Qt
aW1hZ2Utb3ZlcmxheS1pbi1saW5rLXdpdGgtbW91c2UtZHJhZy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSw0IEBACitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvaW1hZ2UtZXh0cmFjdGlv
bi9tYWMvc2VsZWN0LWltYWdlLW92ZXJsYXktaW4tbGluay13aXRoLW1vdXNlLWRyYWcuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL2ltYWdlLWV4dHJhY3Rpb24vbWFjL3NlbGVjdC1pbWFn
ZS1vdmVybGF5LWluLWxpbmstd2l0aC1tb3VzZS1kcmFnLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDg3NzI0
YWE4NmNhZTAwOTVmZDdlYjI1NTM1MzUwOTRhZjQ5NWI1NAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvaW1hZ2VzL2ltYWdlLWV4dHJhY3Rpb24vbWFjL3NlbGVjdC1pbWFnZS1v
dmVybGF5LWluLWxpbmstd2l0aC1tb3VzZS1kcmFnLmh0bWwKQEAgLTAsMCArMSwzOSBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KK2ltZyB7CisgICAgcG9zaXRp
b246IGFic29sdXRlOworICAgIHRvcDogMDsKKyAgICBsZWZ0OiAwOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGEgaHJlZj0iaHR0cDovL2xvY2FsaG9zdDo1NDMyMSI+CisgICAgPGlt
ZyBzcmM9Ii4uLy4uL3Jlc291cmNlcy9ncmVlbi00MDB4NDAwLnBuZyI+PC9pbWc+Cis8L2E+Cis8
c2NyaXB0PgorYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsICgpID0+IHsKKyAgICBsZXQgaW1hZ2Ug
PSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJpbWciKTsKKyAgICBpbnRlcm5hbHMuaW5zdGFsbElt
YWdlT3ZlcmxheShpbWFnZSwgW3sKKyAgICAgICAgdGV4dCA6ICJoZWxsbyIsCisgICAgICAgIHRv
cExlZnQgOiBuZXcgRE9NUG9pbnRSZWFkT25seSgwLCAwLjUpLAorICAgICAgICB0b3BSaWdodCA6
IG5ldyBET01Qb2ludFJlYWRPbmx5KDEsIDAuNSksCisgICAgICAgIGJvdHRvbVJpZ2h0IDogbmV3
IERPTVBvaW50UmVhZE9ubHkoMSwgMSksCisgICAgICAgIGJvdHRvbUxlZnQgOiBuZXcgRE9NUG9p
bnRSZWFkT25seSgwLCAxKSwKKyAgICB9XSk7CisKKyAgICBpbWFnZS5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIGV2ZW50ID0+IHsKKyAgICAgICAgdGVzdEZhaWxlZCgiT2JzZXJ2ZWQgY2xpY2su
Iik7CisgICAgfSk7CisKKyAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyg1MCwgMzAwKTsKKyAg
ICBldmVudFNlbmRlci5tb3VzZURvd24oKTsKKyAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbygz
NTAsIDMwMCk7CisgICAgZXZlbnRTZW5kZXIubW91c2VVcCgpOworfSk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>426050</attachid>
            <date>2021-04-14 14:52:05 -0700</date>
            <delta_ts>2021-04-14 19:04:28 -0700</delta_ts>
            <desc>Address comments</desc>
            <filename>bug-224576-20210414145204.patch</filename>
            <type>text/plain</type>
            <size>11705</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1OTEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzMwYjRkZGZkYTU2MTgw
ODBmMjU2Y2UzM2Y2ZjkzN2VjYTMwZTliMC4uY2I3OTRkM2FhOTAxYTlkYzZhNzc1YzA4NjRhM2Fi
ODJhZjUwM2VkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDIxLTA0LTE0ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFttYWNPU10gTWFr
ZSBpbWFnZSBleHRyYWN0aW9uIGludGVyYWN0aW9ucyB3b3JrIGZvciBlbGVtZW50cyBpbnNpZGUg
bGlua3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIy
NDU3NgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzY2NjQ3MjE+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgRGV2aW4gUm91c3NvLgorCisgICAgICAgIE1ha2UgYSBzbGlnaHQgYWRqdXN0bWVudCB0
byBgRXZlbnRIYW5kbGVyOjpjYW5Nb3VzZURvd25TdGFydFNlbGVjdGAgdG8gYWxsb3cgc2VsZWN0
aW9uIHRvIGJlZ2luIHdoZW4gaGFuZGxpbmcgYQorICAgICAgICBtb3VzZWRvd24gb3ZlciB0ZXh0
IGluc2lkZSBhbiBpbWFnZSBvdmVybGF5LgorCisgICAgICAgIFRlc3Q6IGZhc3QvaW1hZ2VzL2lt
YWdlLWV4dHJhY3Rpb24vbWFjL3NlbGVjdC1pbWFnZS1vdmVybGF5LWluLWxpbmstd2l0aC1tb3Vz
ZS1kcmFnLmh0bWwKKworICAgICAgICAqIGh0bWwvSFRNTEVsZW1lbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SFRNTEVsZW1lbnQ6OmlzSW1hZ2VPdmVybGF5VGV4dCk6CisKKyAgICAgICAgQWRk
IGFuIG92ZXJsb2FkZWQgdmVyc2lvbiBvZiB0aGlzIGhlbHBlciBtZXRob2QgdGhhdCB0YWtlcyBh
IHBvaW50ZXIgaW5zdGVhZCBvZiBhIHJlZmVyZW5jZSwgYW5kIHVzZSBpdCBpbgorICAgICAgICBz
ZXZlcmFsIHBsYWNlcyB3aGVyZSB3ZSBjdXJyZW50IGNoZWNrIHRoZSBudWxsaXR5IG9mIGEgYE5v
ZGUqYCBiZWZvcmUgZGVyZWZlcmVuY2luZyBpdCBhbmQgcGFzc2luZyBpdCBpbnRvCisgICAgICAg
IGBpc0ltYWdlT3ZlcmxheVRleHQoKWAuCisKKyAgICAgICAgKiBodG1sL0hUTUxFbGVtZW50Lmg6
CisgICAgICAgICogcGFnZS9EcmFnQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpE
cmFnQ29udHJvbGxlcjo6ZHJhZ2dhYmxlRWxlbWVudCBjb25zdCk6CisgICAgICAgICogcGFnZS9F
dmVudEhhbmRsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpjYW5Nb3Vz
ZURvd25TdGFydFNlbGVjdCk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OmhhbmRs
ZU1vdXNlUHJlc3NFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OnVwZGF0
ZVNlbGVjdGlvbkZvck1vdXNlRHJhZyk6CisKKyAgICAgICAgQWRkaXRpb25hbGx5LCBtYWtlIGl0
IHNvIHRoYXQgd2Ugb25seSBpbnZhbGlkYXRlIGEgY2xpY2sgKGkuZS4gcHJldmVudCBtb3VzZSBy
ZWxlYXNlIGZyb20gZGlzcGF0Y2hpbmcgYSBjbGljaworICAgICAgICBldmVudCkgaW4gYEV2ZW50
SGFuZGxlcjo6dXBkYXRlU2VsZWN0aW9uRm9yTW91c2VEcmFnYCBpbiB0aGUgY2FzZSB3aGVyZSB3
ZSdyZSBzZWxlY3RpbmcgdGV4dCBpbiBhbiBpbWFnZQorICAgICAgICBvdmVybGF5LCBpZiB0aGUg
c2VsZWN0aW9uIGhhc24ndCBhY3R1YWxseSBjaGFuZ2VkLgorCiAyMDIxLTA0LTE0ICBXZW5zb24g
SHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdIEltYWdlIGV4
dHJhY3Rpb24gZmFpbHMgaW4gR29vZ2xlIHNlYXJjaCByZXN1bHRzCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDFjYWU3
ZGRhOGNiMTBlY2Q2ZDIyOGQyMTk5MGE4MmJlMDBhNjRiZjQuLmEwOTQ5NTc0OWU5NjQ2YjVlNDky
YTA3YWRmODUxYWVlNTUyYmFkMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjEtMDQt
MTQgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW21h
Y09TXSBNYWtlIGltYWdlIGV4dHJhY3Rpb24gaW50ZXJhY3Rpb25zIHdvcmsgZm9yIGVsZW1lbnRz
IGluc2lkZSBsaW5rcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjI0NTc2CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83NjY2NDcyMT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBEZXZpbiBSb3Vzc28uCisKKyAgICAgICAgU2VlIFdlYkNvcmUgQ2hhbmdl
TG9nIGZvciBtb3JlIGRldGFpbHMuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvaW9z
L1dlYlBhZ2VJT1MubW06CisgICAgICAgIChXZWJLaXQ6OmVsZW1lbnRQb3NpdGlvbkluZm9ybWF0
aW9uKToKKwogMjAyMS0wNC0xMyAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNv
bT4KIAogICAgICAgICBbaU9TXSBNYWtlIGltYWdlIGV4dHJhY3Rpb24gaW50ZXJhY3Rpb25zIHdv
cmsgZm9yIGVsZW1lbnRzIGluc2lkZSBsaW5rcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmNw
cAppbmRleCBmZWY3YTkwN2RhMGM3NjUyNDhjYzZiMmExNjE1MThhYzU3OWZkYWUxLi41ZDEwMjZi
OGZkNGQ0NjM3MjhhNGE4ODU2NzdjOWRjYzM3MTNjMGI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxF
bGVtZW50LmNwcApAQCAtMTI2Nyw2ICsxMjY3LDExIEBAIGJvb2wgSFRNTEVsZW1lbnQ6OmlzSW5z
aWRlSW1hZ2VPdmVybGF5KGNvbnN0IE5vZGUmIG5vZGUpCiAgICAgcmV0dXJuIGhvc3QtPnVzZXJB
Z2VudFNoYWRvd1Jvb3QoKS0+Y29udGFpbnMobm9kZSk7CiB9CiAKK2Jvb2wgSFRNTEVsZW1lbnQ6
OmlzSW1hZ2VPdmVybGF5VGV4dChjb25zdCBOb2RlKiBub2RlKQoreworICAgIHJldHVybiBub2Rl
ICYmIGlzSW1hZ2VPdmVybGF5VGV4dCgqbm9kZSk7Cit9CisKIGJvb2wgSFRNTEVsZW1lbnQ6Omlz
SW1hZ2VPdmVybGF5VGV4dChjb25zdCBOb2RlJiBub2RlKQogewogICAgIGF1dG8gaG9zdCA9IGlt
YWdlT3ZlcmxheUhvc3Qobm9kZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmgKaW5kZXggMzMw
MGJiMDM2MTNhMGM2MjZkZmI3YWExMDc3YWUyMmJmYTY5YmRhZS4uYWMxYjE1ZmQxMDNkNTkxM2I1
YzQxMGEzNjJmZDlmMjEzYjI4MDFmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuaApAQCAt
MTM0LDYgKzEzNCw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgYm9vbCBpc0luc2lkZUltYWdlT3Zl
cmxheShjb25zdCBTaW1wbGVSYW5nZSYpOwogICAgIHN0YXRpYyBib29sIGlzSW5zaWRlSW1hZ2VP
dmVybGF5KGNvbnN0IE5vZGUmKTsKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgYm9vbCBpc0lt
YWdlT3ZlcmxheVRleHQoY29uc3QgTm9kZSYpOworICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBi
b29sIGlzSW1hZ2VPdmVybGF5VGV4dChjb25zdCBOb2RlKik7CiAKICNpZiBFTkFCTEUoSU1BR0Vf
RVhUUkFDVElPTikKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHVwZGF0ZVdpdGhJbWFnZUV4dHJh
Y3Rpb25SZXN1bHQoSW1hZ2VFeHRyYWN0aW9uUmVzdWx0JiYpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9EcmFnQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Ry
YWdDb250cm9sbGVyLmNwcAppbmRleCA1ZmFmN2JjMTBiM2IzOWVkZGRjMmRiNmM1NjZlYmYyN2Y0
ZjBjODMzLi5jZGQxYmM4ZWMwMGM0MjZkOTlhYmE4ZWNlZmEwMWNjNGIzNjlmZDFiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RyYWdDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0RyYWdDb250cm9sbGVyLmNwcApAQCAtNzg2LDcgKzc4Niw3IEBAIEVsZW1l
bnQqIERyYWdDb250cm9sbGVyOjpkcmFnZ2FibGVFbGVtZW50KGNvbnN0IEZyYW1lKiBzb3VyY2VG
cmFtZSwgRWxlbWVudCogc3RhCiAjZW5kaWYKIAogICAgIGF1dG8gc2VsZWN0aW9uRHJhZ0VsZW1l
bnQgPSBzdGF0ZS50eXBlLmNvbnRhaW5zKERyYWdTb3VyY2VBY3Rpb246OlNlbGVjdGlvbikgJiYg
bV9kcmFnU291cmNlQWN0aW9uLmNvbnRhaW5zKERyYWdTb3VyY2VBY3Rpb246OlNlbGVjdGlvbikg
PyBzdGFydEVsZW1lbnQgOiBudWxscHRyOwotICAgIGlmIChzdGFydEVsZW1lbnQgJiYgSFRNTEVs
ZW1lbnQ6OmlzSW1hZ2VPdmVybGF5VGV4dCgqc3RhcnRFbGVtZW50KSkKKyAgICBpZiAoSFRNTEVs
ZW1lbnQ6OmlzSW1hZ2VPdmVybGF5VGV4dChzdGFydEVsZW1lbnQpKQogICAgICAgICByZXR1cm4g
c2VsZWN0aW9uRHJhZ0VsZW1lbnQ7CiAKICAgICBmb3IgKGF1dG8qIGVsZW1lbnQgPSBzdGFydEVs
ZW1lbnQ7IGVsZW1lbnQ7IGVsZW1lbnQgPSBlbGVtZW50LT5wYXJlbnRPclNoYWRvd0hvc3RFbGVt
ZW50KCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAppbmRleCAyNzU5MDhkZDFk
YjY2MzNlYTc2NWJkZWY3ZTNlNTY5MzBhZWI0NmQzLi5kMzgzNGI1ZGNhYzBiZGU1MDkxNjllOTZj
MjBmYzIyYjQwMWM0NTI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFu
ZGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCkBAIC02
OTQsNyArNjk0LDcgQEAgYm9vbCBFdmVudEhhbmRsZXI6OmhhbmRsZU1vdXNlUHJlc3NFdmVudFNp
bmdsZUNsaWNrKGNvbnN0IE1vdXNlRXZlbnRXaXRoSGl0VGVzdFIKIAogYm9vbCBFdmVudEhhbmRs
ZXI6OmNhbk1vdXNlRG93blN0YXJ0U2VsZWN0KGNvbnN0IE1vdXNlRXZlbnRXaXRoSGl0VGVzdFJl
c3VsdHMmIGV2ZW50KQogewotICAgIGF1dG8qIG5vZGUgPSBldmVudC50YXJnZXROb2RlKCk7Cisg
ICAgYXV0byBub2RlID0gbWFrZVJlZlB0cihldmVudC50YXJnZXROb2RlKCkpOwogCiAgICAgaWYg
KFBhZ2UqIHBhZ2UgPSBtX2ZyYW1lLnBhZ2UoKSkgewogICAgICAgICBpZiAoIXBhZ2UtPmNocm9t
ZSgpLmNsaWVudCgpLnNob3VsZFVzZU1vdXNlRXZlbnRGb3JTZWxlY3Rpb24oZXZlbnQuZXZlbnQo
KSkpCkBAIC03MDQsNyArNzA0LDEwIEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpjYW5Nb3VzZURvd25T
dGFydFNlbGVjdChjb25zdCBNb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzJiBlCiAgICAgaWYg
KCFub2RlIHx8ICFub2RlLT5yZW5kZXJlcigpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAotICAg
IHJldHVybiBub2RlLT5jYW5TdGFydFNlbGVjdGlvbigpIHx8IFBvc2l0aW9uOjpub2RlSXNVc2Vy
U2VsZWN0QWxsKG5vZGUpOworICAgIGlmIChIVE1MRWxlbWVudDo6aXNJbWFnZU92ZXJsYXlUZXh0
KCpub2RlKSkKKyAgICAgICAgcmV0dXJuIG5vZGUtPnJlbmRlcmVyKCktPnN0eWxlKCkudXNlclNl
bGVjdCgpICE9IFVzZXJTZWxlY3Q6Ok5vbmU7CisKKyAgICByZXR1cm4gbm9kZS0+Y2FuU3RhcnRT
ZWxlY3Rpb24oKSB8fCBQb3NpdGlvbjo6bm9kZUlzVXNlclNlbGVjdEFsbChub2RlLmdldCgpKTsK
IH0KIAogYm9vbCBFdmVudEhhbmRsZXI6Om1vdXNlRG93bk1heVN0YXJ0U2VsZWN0KCkgY29uc3QK
QEAgLTc0Nyw3ICs3NTAsNyBAQCBib29sIEV2ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VQcmVzc0V2
ZW50KGNvbnN0IE1vdXNlRXZlbnRXaXRoSGl0VGVzdFJlc3VsdHMmIGV2ZQogICAgIC8vIEJ1Zzog
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NTM5MAogCiAgICAgLy8g
U2luZ2xlIG1vdXNlIGRvd24gb24gbGlua3Mgb3IgaW1hZ2VzIGNhbiBhbHdheXMgdHJpZ2dlciBk
cmFnLW4tZHJvcC4KLSAgICBib29sIGlzSW1hZ2VPdmVybGF5VGV4dCA9IGV2ZW50LnRhcmdldE5v
ZGUoKSAmJiBIVE1MRWxlbWVudDo6aXNJbWFnZU92ZXJsYXlUZXh0KCpldmVudC50YXJnZXROb2Rl
KCkpOworICAgIGJvb2wgaXNJbWFnZU92ZXJsYXlUZXh0ID0gSFRNTEVsZW1lbnQ6OmlzSW1hZ2VP
dmVybGF5VGV4dChldmVudC50YXJnZXROb2RlKCkpOwogICAgIGJvb2wgaXNNb3VzZURvd25Pbkxp
bmtPckltYWdlID0gZXZlbnQuaXNPdmVyTGluaygpIHx8IChldmVudC5oaXRUZXN0UmVzdWx0KCku
aW1hZ2UoKSAmJiAhaXNJbWFnZU92ZXJsYXlUZXh0KTsKICAgICBtX21vdXNlRG93bk1heVN0YXJ0
RHJhZyA9IHNpbmdsZUNsaWNrICYmICghZXZlbnQuZXZlbnQoKS5zaGlmdEtleSgpIHx8IGlzTW91
c2VEb3duT25MaW5rT3JJbWFnZSkgJiYgc2hvdWxkQWxsb3dNb3VzZURvd25Ub1N0YXJ0RHJhZygp
OwogI2VuZGlmCkBAIC05NTMsNyArOTU2LDggQEAgdm9pZCBFdmVudEhhbmRsZXI6OnVwZGF0ZVNl
bGVjdGlvbkZvck1vdXNlRHJhZyhjb25zdCBIaXRUZXN0UmVzdWx0JiBoaXRUZXN0UmVzdWwKIAog
ICAgIC8vIFJlc3RhcnQgdGhlIHNlbGVjdGlvbiBpZiB0aGlzIGlzIHRoZSBmaXJzdCBtb3VzZSBt
b3ZlLiBUaGlzIHdvcmsgaXMgdXN1YWxseQogICAgIC8vIGRvbmUgaW4gaGFuZGxlTW91c2VQcmVz
c0V2ZW50LCBidXQgbm90IGlmIHRoZSBtb3VzZSBwcmVzcyB3YXMgb24gYW4gZXhpc3Rpbmcgc2Vs
ZWN0aW9uLgotICAgIFZpc2libGVTZWxlY3Rpb24gbmV3U2VsZWN0aW9uID0gbV9mcmFtZS5zZWxl
Y3Rpb24oKS5zZWxlY3Rpb24oKTsKKyAgICBWaXNpYmxlU2VsZWN0aW9uIG9sZFNlbGVjdGlvbiA9
IG1fZnJhbWUuc2VsZWN0aW9uKCkuc2VsZWN0aW9uKCk7CisgICAgYXV0byBuZXdTZWxlY3Rpb24g
PSBvbGRTZWxlY3Rpb247CiAKICAgICAvLyBTcGVjaWFsIGNhc2UgdG8gbGltaXQgc2VsZWN0aW9u
IHRvIHRoZSBjb250YWluaW5nIGJsb2NrIGZvciBTVkcgdGV4dC4KICAgICAvLyBGSVhNRTogSXNu
J3QgdGhlcmUgYSBiZXR0ZXIgbm9uLVNWRy1zcGVjaWZpYyB3YXkgdG8gZG8gdGhpcz8KQEAgLTEw
MDIsOCArMTAwNiw3IEBAIHZvaWQgRXZlbnRIYW5kbGVyOjp1cGRhdGVTZWxlY3Rpb25Gb3JNb3Vz
ZURyYWcoY29uc3QgSGl0VGVzdFJlc3VsdCYgaGl0VGVzdFJlc3VsCiAgICAgbV9mcmFtZS5zZWxl
Y3Rpb24oKS5zZXRTZWxlY3Rpb25CeU1vdXNlSWZEaWZmZXJlbnQobmV3U2VsZWN0aW9uLCBtX2Zy
YW1lLnNlbGVjdGlvbigpLmdyYW51bGFyaXR5KCksCiAgICAgICAgIEZyYW1lU2VsZWN0aW9uOjpF
bmRQb2ludHNBZGp1c3RtZW50TW9kZTo6QWRqdXN0QXRCaWRpQm91bmRhcnkpOwogCi0gICAgaWYg
KG5ld1NlbGVjdGlvbi5zdGFydCgpLmNvbnRhaW5lck5vZGUoKSAmJiBIVE1MRWxlbWVudDo6aXNJ
bWFnZU92ZXJsYXlUZXh0KCpuZXdTZWxlY3Rpb24uc3RhcnQoKS5jb250YWluZXJOb2RlKCkpCi0g
ICAgICAgICYmIG5ld1NlbGVjdGlvbi5lbmQoKS5jb250YWluZXJOb2RlKCkgJiYgSFRNTEVsZW1l
bnQ6OmlzSW1hZ2VPdmVybGF5VGV4dCgqbmV3U2VsZWN0aW9uLmVuZCgpLmNvbnRhaW5lck5vZGUo
KSkpCisgICAgaWYgKG9sZFNlbGVjdGlvbiAhPSBuZXdTZWxlY3Rpb24gJiYgSFRNTEVsZW1lbnQ6
OmlzSW1hZ2VPdmVybGF5VGV4dChuZXdTZWxlY3Rpb24uc3RhcnQoKS5jb250YWluZXJOb2RlKCkp
ICYmIEhUTUxFbGVtZW50Ojppc0ltYWdlT3ZlcmxheVRleHQobmV3U2VsZWN0aW9uLmVuZCgpLmNv
bnRhaW5lck5vZGUoKSkpCiAgICAgICAgIGludmFsaWRhdGVDbGljaygpOwogfQogI2VuZGlmIC8v
IEVOQUJMRShEUkFHX1NVUFBPUlQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCmluZGV4IDAxZWI2YzM0MWMxM2RlNzc2MGNjYWYzMDc1
NzE5MWNmNWIxOTg5NGIuLjYwYmM5MDI2YjZmMjY5NmY0N2NlYzkxYTdiMjlmMjJkNGYyYWQ1ZjEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdl
SU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdl
SU9TLm1tCkBAIC0yNzIxLDcgKzI3MjEsNyBAQCBzdGF0aWMgdm9pZCBlbGVtZW50UG9zaXRpb25J
bmZvcm1hdGlvbihXZWJQYWdlJiBwYWdlLCBFbGVtZW50JiBlbGVtZW50LCBjb25zdCBJbgogCiAg
ICAgaW5mby5pc0VsZW1lbnQgPSB0cnVlOwogICAgIGluZm8uaWRBdHRyaWJ1dGUgPSBlbGVtZW50
LmdldElkQXR0cmlidXRlKCk7Ci0gICAgaW5mby5pc0ltYWdlT3ZlcmxheVRleHQgPSBpbm5lck5v
blNoYXJlZE5vZGUgJiYgSFRNTEVsZW1lbnQ6OmlzSW1hZ2VPdmVybGF5VGV4dCgqaW5uZXJOb25T
aGFyZWROb2RlKTsKKyAgICBpbmZvLmlzSW1hZ2VPdmVybGF5VGV4dCA9IEhUTUxFbGVtZW50Ojpp
c0ltYWdlT3ZlcmxheVRleHQoaW5uZXJOb25TaGFyZWROb2RlKTsKIAogICAgIGluZm8udGl0bGUg
PSBlbGVtZW50LmF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oSFRNTE5hbWVzOjp0aXRs
ZUF0dHIpLnN0cmluZygpOwogICAgIGlmIChsaW5rRWxlbWVudCAmJiBpbmZvLnRpdGxlLmlzRW1w
dHkoKSkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwppbmRleCAxN2QyODQ3Yzg3NTQwMDIzOGZiMzAwOGZmMWE4NDc1YWUzOTMzODBhLi41
MjBmMTk3M2ZjYzhjZDEwNzZmZTM5Mjg5MWJkYmZmMDk4NjE3MWQzIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTYgQEAKKzIwMjEtMDQtMTQgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+
CisKKyAgICAgICAgW21hY09TXSBNYWtlIGltYWdlIGV4dHJhY3Rpb24gaW50ZXJhY3Rpb25zIHdv
cmsgZm9yIGVsZW1lbnRzIGluc2lkZSBsaW5rcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI0NTc2CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83NjY2
NDcyMT4KKworICAgICAgICBSZXZpZXdlZCBieSBEZXZpbiBSb3Vzc28uCisKKyAgICAgICAgQWRk
IGEgbGF5b3V0IHRlc3QgdG8gZXhlcmNpc2UgdGhlIGNoYW5nZS4KKworICAgICAgICAqIGZhc3Qv
aW1hZ2VzL2ltYWdlLWV4dHJhY3Rpb24vbWFjL3NlbGVjdC1pbWFnZS1vdmVybGF5LWluLWxpbmst
d2l0aC1tb3VzZS1kcmFnLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9pbWFn
ZXMvaW1hZ2UtZXh0cmFjdGlvbi9tYWMvc2VsZWN0LWltYWdlLW92ZXJsYXktaW4tbGluay13aXRo
LW1vdXNlLWRyYWcuaHRtbDogQWRkZWQuCisKIDIwMjEtMDQtMTQgIFdlbnNvbiBIc2llaCAgPHdl
bnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgW2lPU10gSW1hZ2UgZXh0cmFjdGlvbiBm
YWlscyBpbiBHb29nbGUgc2VhcmNoIHJlc3VsdHMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvaW1hZ2VzL2ltYWdlLWV4dHJhY3Rpb24vbWFjL3NlbGVjdC1pbWFnZS1vdmVybGF5LWluLWxp
bmstd2l0aC1tb3VzZS1kcmFnLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2Vz
L2ltYWdlLWV4dHJhY3Rpb24vbWFjL3NlbGVjdC1pbWFnZS1vdmVybGF5LWluLWxpbmstd2l0aC1t
b3VzZS1kcmFnLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40M2U1ZWVlZGJmMWI0MzVmOTZjM2Ey
MGJmODE0MDFhZWU0MzMxOTgxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9p
bWFnZXMvaW1hZ2UtZXh0cmFjdGlvbi9tYWMvc2VsZWN0LWltYWdlLW92ZXJsYXktaW4tbGluay13
aXRoLW1vdXNlLWRyYWctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvaW1hZ2VzL2ltYWdlLWV4dHJhY3Rpb24vbWFjL3NlbGVjdC1pbWFnZS1vdmVy
bGF5LWluLWxpbmstd2l0aC1tb3VzZS1kcmFnLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ltYWdl
cy9pbWFnZS1leHRyYWN0aW9uL21hYy9zZWxlY3QtaW1hZ2Utb3ZlcmxheS1pbi1saW5rLXdpdGgt
bW91c2UtZHJhZy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ4NzcyNGFhODZjYWUwMDk1ZmQ3ZWIyNTUzNTM1
MDk0YWY0OTViNTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9p
bWFnZS1leHRyYWN0aW9uL21hYy9zZWxlY3QtaW1hZ2Utb3ZlcmxheS1pbi1saW5rLXdpdGgtbW91
c2UtZHJhZy5odG1sCkBAIC0wLDAgKzEsMzkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+Cis8c3R5bGU+CitpbWcgeworICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgICB0b3A6
IDA7CisgICAgbGVmdDogMDsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxhIGhyZWY9
Imh0dHA6Ly9sb2NhbGhvc3Q6NTQzMjEiPgorICAgIDxpbWcgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
Z3JlZW4tNDAweDQwMC5wbmciPjwvaW1nPgorPC9hPgorPHNjcmlwdD4KK2FkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCAoKSA9PiB7CisgICAgbGV0IGltYWdlID0gZG9jdW1lbnQucXVlcnlTZWxlY3Rv
cigiaW1nIik7CisgICAgaW50ZXJuYWxzLmluc3RhbGxJbWFnZU92ZXJsYXkoaW1hZ2UsIFt7Cisg
ICAgICAgIHRleHQgOiAiaGVsbG8iLAorICAgICAgICB0b3BMZWZ0IDogbmV3IERPTVBvaW50UmVh
ZE9ubHkoMCwgMC41KSwKKyAgICAgICAgdG9wUmlnaHQgOiBuZXcgRE9NUG9pbnRSZWFkT25seSgx
LCAwLjUpLAorICAgICAgICBib3R0b21SaWdodCA6IG5ldyBET01Qb2ludFJlYWRPbmx5KDEsIDEp
LAorICAgICAgICBib3R0b21MZWZ0IDogbmV3IERPTVBvaW50UmVhZE9ubHkoMCwgMSksCisgICAg
fV0pOworCisgICAgaW1hZ2UuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBldmVudCA9PiB7Cisg
ICAgICAgIHRlc3RGYWlsZWQoIk9ic2VydmVkIGNsaWNrLiIpOworICAgIH0pOworCisgICAgZXZl
bnRTZW5kZXIubW91c2VNb3ZlVG8oNTAsIDMwMCk7CisgICAgZXZlbnRTZW5kZXIubW91c2VEb3du
KCk7CisgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oMzUwLCAzMDApOworICAgIGV2ZW50U2Vu
ZGVyLm1vdXNlVXAoKTsKK30pOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>