<?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>239921</bug_id>
          
          <creation_ts>2022-04-29 19:00:35 -0700</creation_ts>
          <short_desc>[Modern Media Controls] the overflow button sometimes flickers</short_desc>
          <delta_ts>2022-05-01 18:49:10 -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>Media</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="Devin Rousso">hi</reporter>
          <assigned_to name="Devin Rousso">hi</assigned_to>
          <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>hi</cc>
    
    <cc>jer.noble</cc>
    
    <cc>joepeck</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1865601</commentid>
    <comment_count>0</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2022-04-29 19:00:35 -0700</bug_when>
    <thetext>.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1865602</commentid>
    <comment_count>1</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2022-04-29 19:00:52 -0700</bug_when>
    <thetext>&lt;rdar://problem/91329468&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1865605</commentid>
    <comment_count>2</comment_count>
      <attachid>458625</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2022-04-29 19:14:36 -0700</bug_when>
    <thetext>Created attachment 458625
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1865620</commentid>
    <comment_count>3</comment_count>
      <attachid>458630</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2022-04-29 22:51:34 -0700</bug_when>
    <thetext>Created attachment 458630
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1865686</commentid>
    <comment_count>4</comment_count>
      <attachid>458630</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2022-04-30 21:25:40 -0700</bug_when>
    <thetext>Comment on attachment 458630
Patch

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

&gt; Source/WebCore/Modules/modern-media-controls/controls/overflow-button.js:53
&gt; +            for (let key in contextMenuOptions)
&gt; +                return false;
&gt; +            return true;

This is clever, but it made me think twice about what it does and how it works. Is there a more obvious, or idiomatic, way of testing for an empty object?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1865742</commentid>
    <comment_count>5</comment_count>
      <attachid>458630</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2022-05-01 17:58:22 -0700</bug_when>
    <thetext>Comment on attachment 458630
Patch

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

&gt;&gt; Source/WebCore/Modules/modern-media-controls/controls/overflow-button.js:53
&gt;&gt; +            return true;
&gt; 
&gt; This is clever, but it made me think twice about what it does and how it works. Is there a more obvious, or idiomatic, way of testing for an empty object?

There are other ways of doing this (e.g. `Object.getOwnPropertyNames(contextMenuOptions).length`), but the primary issue with many of them is that they require iterating _all_ of the keys before returning a result.  This approach is by far the most efficient in that it requires iterating only a single key.

Yes, that isn&apos;t a huge problem here given that we (currently) will never have more than five keys, but I&apos;d prefer to do the optimal thing nevertheless.

FWIW this is used in Web Inspector as `isEmptyObject`, so there is some &quot;prior art&quot; :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1865747</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-05-01 18:49:08 -0700</bug_when>
    <thetext>Committed r293658 (250162@main): &lt;https://commits.webkit.org/250162@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 458630.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>458625</attachid>
            <date>2022-04-29 19:14:36 -0700</date>
            <delta_ts>2022-04-29 22:51:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-239921-20220429201434.patch</filename>
            <type>text/plain</type>
            <size>8519</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBhMTM4NmI4MjJiMDcxZjA3MTk5ZTBhMjY3MDJmNWUxZjIzZDJlNjZhLi4x
NmZkMTBmNzRiYjk2MjBmNTJiNGE0OWIwNjViZDhmNjE0ZTVkMjdkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsNDUgQEAKKzIwMjItMDQtMjkgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29t
PgorCisgICAgICAgIFtNb2Rlcm4gTWVkaWEgQ29udHJvbHNdIHRoZSBvdmVyZmxvdyBidXR0b24g
c29tZXRpbWVzIGZsaWNrZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMzk5MjEKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzkxMzI5NDY4PgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZXJlIGFyZSB0
d28gdGhpbmdzIHRoYXQgY29udHJvbCB0aGUgdmlzaWJpbGl0eSBvZiB0aGUgYE92ZXJmbG93QnV0
dG9uYDoKKyAgICAgICAgMS4gd2hldGhlciBhbnkgb2YgdGhlICJkZWZhdWx0IiBhY3Rpb25zIChl
LmcuIHBsYXliYWNrIHNwZWVkLCBjaGFwdGVycywgZXRjLikgYXJlIHBvc3NpYmxlCisgICAgICAg
IDIuIGlmIGFueSBvdGhlciBidXR0b25zIHRoYXQgaGF2ZSBgY29udGV4dE1lbnVPcHRpb25zYCBh
cmUgZHJvcHBlZCAoaS5lLiB0aGVyZSdzIG5vdCBlbm91Z2gKKyAgICAgICAgcm9vbSBmb3IgaXQg
YmVjYXVzZSB0aGUgYDx2aWRlbz5gIGlzIG5hcnJvdyBvciB0aGVyZSBhcmUgYWxyZWFkeSB0b28g
bWFueSBidXR0b25zKQorCisgICAgICAgICgxKSBpcyByZWNhbGN1bGF0ZWQgZm9yIG1vc3QgSlMg
bWVkaWEgZXZlbnRzIChlLmcuIHdoZW5ldmVyIHRyYWNrcyBhcmUgY2hhbmdlZCwgaWYKKyAgICAg
ICAgdGhlIGByZWFkeVN0YXRlYCBjaGFuZ2VzLCBldGMuKS4KKworICAgICAgICAoMikgaXMgcmVj
YWxjdWxhdGVkIGluIGBsYXlvdXRgIG9mIGBNZWRpYUNvbnRyb2xzYCwgd2hpY2ggaXMgKHJlbGF0
aXZlbHkpIGxlc3MgZnJlcXVlbnQuCisKKyAgICAgICAgSW4gdGhlIGNhc2UgdGhhdCB0aGUgb25s
eSBjb250ZXh0bWVudSBvcHRpb25zIGFyZSBwcm92aWRlZCBieSAoMikgKGkuZS4gbm9uZSBvZiB0
aGUgImRlZmF1bHQiCisgICAgICAgIGFjdGlvbnMgYXJlIHBvc3NpYmxlKSwgdGhlIGZyZXF1ZW50
IHJlY2FsY3VsYXRpb24gb2YgKDEpIHdpbGwgY29tYmluZWQgd2l0aCB0aGUgZmFjdCB0aGF0Cisg
ICAgICAgIGBsYXlvdXRgIHVzZXMgYSBgcmVxdWVzdEFuaW1hdGlvbkZyYW1lYCB0byBkZWxheS9i
YXRjaCB3b3JrIHdpbGwgY2F1c2UgdGhlcmUgdG8gYmUgYSBzaG9ydAorICAgICAgICBwZXJpb2Qg
b2YgdGltZSBhZnRlciB0aGUgcmVjYWxjdWxhdGlvbiBvZiAoMSkgYW5kIGJlZm9yZSB0aGUgcmVj
YWxjdWxhdGlvbiBvZiAoMikgd2hlcmUKKyAgICAgICAgdGhlcmUgYXJlIG5vIGNvbnRleHRtZW51
IG9wdGlvbnMsIHJlc3VsdGluZyBpbiB0aGUgYE92ZXJmbG93QnV0dG9uYCBiZWluZyBoaWRkZW4u
CisKKyAgICAgICAgKiBNb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9vdmVy
Zmxvdy1idXR0b24uanM6CisgICAgICAgIChPdmVyZmxvd0J1dHRvbik6CisgICAgICAgIChPdmVy
Zmxvd0J1dHRvbi5wcm90b3R5cGUuc2V0IHZpc2libGUpOgorICAgICAgICAoT3ZlcmZsb3dCdXR0
b24ucHJvdG90eXBlLnNldCB2aXNpYmxlLmlzRW1wdHkpOiBBZGRlZC4KKyAgICAgICAgKE92ZXJm
bG93QnV0dG9uLnByb3RvdHlwZS5nZXQgY29udGV4dE1lbnVPcHRpb25zKToKKyAgICAgICAgKE92
ZXJmbG93QnV0dG9uLnByb3RvdHlwZS5hZGRFeHRyYUNvbnRleHRNZW51T3B0aW9ucyk6IFJlbmFt
ZWQgZnJvbSBgYWRkQ29udGV4dE1lbnVPcHRpb25zYC4KKyAgICAgICAgKE92ZXJmbG93QnV0dG9u
LnByb3RvdHlwZS5jbGVhckV4dHJhQ29udGV4dE1lbnVPcHRpb25zKTogUmVuYW1lZCBmcm9tIGBj
bGVhckNvbnRleHRNZW51T3B0aW9uc2AuCisgICAgICAgIChPdmVyZmxvd0J1dHRvbi5wcm90b3R5
cGUuc2V0IGRlZmF1bHRDb250ZXh0TWVudU9wdGlvbnMpOgorICAgICAgICAqIE1vZHVsZXMvbW9k
ZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL2lubGluZS1tZWRpYS1jb250cm9scy5qczoKKyAg
ICAgICAgKElubGluZU1lZGlhQ29udHJvbHMucHJvdG90eXBlLmxheW91dCk6CisgICAgICAgICog
TW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvbWFjb3MtZnVsbHNjcmVlbi1t
ZWRpYS1jb250cm9scy5qczoKKyAgICAgICAgKE1hY09TRnVsbHNjcmVlbk1lZGlhQ29udHJvbHMu
cHJvdG90eXBlLmxheW91dCk6CisgICAgICAgIEluc3RlYWQgb2YgaGF2aW5nIGEgc2luZ2xlIGBf
Y29udGV4dE1lbnVPcHRpb25zYCB0aGF0IGlzIG1vZGlmaWVkIGJ5IGJvdGggKDEpIGFuZCAoMiks
IGhhdmUKKyAgICAgICAgYSBzZXBhcmF0ZSBtZW1iZXIgdmFyaWFibGUgZm9yIGVhY2guIFRoaXMg
d2F5LCB0aGUgcmVjYWxjdWxhdGlvbiBvZiAoMSkgZG9lc24ndCBhbHNvIGNsZWFyCisgICAgICAg
IHRoZSBzdGF0ZSBsZWZ0IG92ZXIgZnJvbSB0aGUgbGFzdCB0aW1lICgyKSB3YXMgY2FsY3VsYXRl
ZCAod2hpY2ggd2lsbCBiZSByZWNhbGN1bGF0ZWQgYnkgKDIpCisgICAgICAgIHNob3J0bHkgdGhl
cmVhZnRlcikuIFVzZSBib3RoIG1lbWJlciB2YXJpYWJsZXMgdG8gZGVjaWRlIHdoZXRoZXIgdGhl
IGBPdmVyZmxvd0J1dHRvbmAgc2hvdWxkCisgICAgICAgIGJlIGB2aXNpYmxlYCwgYWxsb3dpbmcg
KDEpIGFuZCAoMikgdG8gdXBkYXRlIGluZGVwZW5kZW50IG9mIGVhY2hvdGhlci4KKwogMjAyMi0w
NC0yNyAgU2lodWkgTGl1ICA8c2lodWlfbGl1QGFwcGxlLmNvbT4KIAogICAgICAgICBFbnN1cmUg
Y29tcGxldGlvbiBoYW5kbGVyIGlzIGNhbGxlZCBpbiBTV1NlcnZlcjo6Y2xlYXIKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xz
L2lubGluZS1tZWRpYS1jb250cm9scy5qcyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZXJu
LW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL2lubGluZS1tZWRpYS1jb250cm9scy5qcwppbmRleCA0
YjEzMjQyZjgyYTQxNWFiZDgzOTJmNzBlZDIxYmYwYTBmYWYyZTNmLi5kZTMxMWQwYzVmNmI4NWIz
MzBmZWM2Yjg1ZGJhNTExMGY1YmM4MDQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9pbmxpbmUtbWVkaWEtY29udHJvbHMu
anMKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29u
dHJvbHMvaW5saW5lLW1lZGlhLWNvbnRyb2xzLmpzCkBAIC0xNjksNyArMTY5LDcgQEAgY2xhc3Mg
SW5saW5lTWVkaWFDb250cm9scyBleHRlbmRzIE1lZGlhQ29udHJvbHMKICAgICAgICAgdGhpcy5y
aWdodENvbnRhaW5lci5jaGlsZHJlbiA9IHRoaXMuX3JpZ2h0Q29udGFpbmVyQnV0dG9ucygpOwog
ICAgICAgICB0aGlzLnJpZ2h0Q29udGFpbmVyLmNoaWxkcmVuLmNvbmNhdCh0aGlzLmxlZnRDb250
YWluZXIuY2hpbGRyZW4pLmZvckVhY2goYnV0dG9uID0+IGRlbGV0ZSBidXR0b24uZHJvcHBlZCk7
CiAgICAgICAgIHRoaXMubXV0ZUJ1dHRvbi5zdHlsZSA9IHRoaXMucHJlZmVycmVkTXV0ZUJ1dHRv
blN0eWxlOwotICAgICAgICB0aGlzLm92ZXJmbG93QnV0dG9uLmNsZWFyQ29udGV4dE1lbnVPcHRp
b25zKCk7CisgICAgICAgIHRoaXMub3ZlcmZsb3dCdXR0b24uY2xlYXJFeHRyYUNvbnRleHRNZW51
T3B0aW9ucygpOwogCiAgICAgICAgIGZvciAobGV0IGJ1dHRvbiBvZiB0aGlzLl9kcm9wcGFibGVC
dXR0b25zKCkpIHsKICAgICAgICAgICAgIC8vIElmIHRoZSBidXR0b24gaXMgbm90IGVuYWJsZWQs
IHdlIGNhbiBza2lwIGl0LgpAQCAtMTg4LDcgKzE4OCw3IEBAIGNsYXNzIElubGluZU1lZGlhQ29u
dHJvbHMgZXh0ZW5kcyBNZWRpYUNvbnRyb2xzCiAgICAgICAgICAgICBidXR0b24uZHJvcHBlZCA9
IHRydWU7CiAKICAgICAgICAgICAgIGlmIChidXR0b24gIT09IHRoaXMub3ZlcmZsb3dCdXR0b24p
Ci0gICAgICAgICAgICAgICAgdGhpcy5vdmVyZmxvd0J1dHRvbi5hZGRDb250ZXh0TWVudU9wdGlv
bnMoYnV0dG9uLmNvbnRleHRNZW51T3B0aW9ucyk7CisgICAgICAgICAgICAgICAgdGhpcy5vdmVy
Zmxvd0J1dHRvbi5hZGRFeHRyYUNvbnRleHRNZW51T3B0aW9ucyhidXR0b24uY29udGV4dE1lbnVP
cHRpb25zKTsKICAgICAgICAgfQogCiAgICAgICAgIGxldCBjb2xsYXBzYWJsZUJ1dHRvbnMgPSB0
aGlzLl9jb2xsYXBzYWJsZUJ1dHRvbnMoKTsKQEAgLTIwMCw3ICsyMDAsNyBAQCBjbGFzcyBJbmxp
bmVNZWRpYUNvbnRyb2xzIGV4dGVuZHMgTWVkaWFDb250cm9scwogICAgICAgICAgICAgICAgIGNv
bnRpbnVlOwogCiAgICAgICAgICAgICBidXR0b24uZHJvcHBlZCA9IHRydWU7Ci0gICAgICAgICAg
ICB0aGlzLm92ZXJmbG93QnV0dG9uLmFkZENvbnRleHRNZW51T3B0aW9ucyhidXR0b24uY29udGV4
dE1lbnVPcHRpb25zKTsKKyAgICAgICAgICAgIHRoaXMub3ZlcmZsb3dCdXR0b24uYWRkRXh0cmFD
b250ZXh0TWVudU9wdGlvbnMoYnV0dG9uLmNvbnRleHRNZW51T3B0aW9ucyk7CiAgICAgICAgIH0K
IAogICAgICAgICAvLyBVcGRhdGUgbGF5b3V0cyBvbmNlIG1vcmUuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9tYWNvcy1m
dWxsc2NyZWVuLW1lZGlhLWNvbnRyb2xzLmpzIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2Rl
cm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvbWFjb3MtZnVsbHNjcmVlbi1tZWRpYS1jb250cm9s
cy5qcwppbmRleCBhMjA1YWFhZWRkODQyYWY4YzMwYTcyMWUxYzJmMTVhNDRiZGExYjY1Li5hOThi
MGYyYWEzYmU1N2QxOTgyNWIxOTIzMmE5ZWIzNWVlYjUzN2EzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9tYWNvcy1mdWxs
c2NyZWVuLW1lZGlhLWNvbnRyb2xzLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9k
ZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL21hY29zLWZ1bGxzY3JlZW4tbWVkaWEtY29udHJv
bHMuanMKQEAgLTExNCw3ICsxMTQsNyBAQCBjbGFzcyBNYWNPU0Z1bGxzY3JlZW5NZWRpYUNvbnRy
b2xzIGV4dGVuZHMgTWVkaWFDb250cm9scwogICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAg
IHRoaXMuX3JpZ2h0Q29udGFpbmVyLmNoaWxkcmVuLmZvckVhY2goYnV0dG9uID0+IGRlbGV0ZSBi
dXR0b24uZHJvcHBlZCkKLSAgICAgICAgdGhpcy5vdmVyZmxvd0J1dHRvbi5jbGVhckNvbnRleHRN
ZW51T3B0aW9ucygpOworICAgICAgICB0aGlzLm92ZXJmbG93QnV0dG9uLmNsZWFyRXh0cmFDb250
ZXh0TWVudU9wdGlvbnMoKTsKIAogICAgICAgICB0aGlzLl9sZWZ0Q29udGFpbmVyLnZpc2libGUg
PSB0aGlzLm11dGVCdXR0b24uZW5hYmxlZDsKICAgICAgICAgdGhpcy5fbGVmdENvbnRhaW5lci5j
aGlsZHJlbiA9IHRoaXMuX3ZvbHVtZUNvbnRyb2xzRm9yQ3VycmVudERpcmVjdGlvbigpOwpAQCAt
MTI4LDcgKzEyOCw3IEBAIGNsYXNzIE1hY09TRnVsbHNjcmVlbk1lZGlhQ29udHJvbHMgZXh0ZW5k
cyBNZWRpYUNvbnRyb2xzCiAgICAgICAgICAgICAgICAgY29udGludWU7CiAKICAgICAgICAgICAg
IGJ1dHRvbi5kcm9wcGVkID0gdHJ1ZTsKLSAgICAgICAgICAgIHRoaXMub3ZlcmZsb3dCdXR0b24u
YWRkQ29udGV4dE1lbnVPcHRpb25zKGJ1dHRvbi5jb250ZXh0TWVudU9wdGlvbnMpOworICAgICAg
ICAgICAgdGhpcy5vdmVyZmxvd0J1dHRvbi5hZGRFeHRyYU1lbnVPcHRpb25zKGJ1dHRvbi5jb250
ZXh0TWVudU9wdGlvbnMpOwogICAgICAgICB9CiAKICAgICAgICAgdGhpcy5fbGVmdENvbnRhaW5l
ci5sYXlvdXQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZXJuLW1l
ZGlhLWNvbnRyb2xzL2NvbnRyb2xzL292ZXJmbG93LWJ1dHRvbi5qcyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL292ZXJmbG93LWJ1dHRvbi5q
cwppbmRleCBlOTJjMzkxZmZhZTFlY2Y3ZDdiODVhNzExMjdkMjBlOTEyOTZkMWNmLi5kMmJiNDU3
YWJkMzI2MTYwYjdmZjdkZGIxZTUwY2RmMTJmZDc5ODFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9vdmVyZmxvdy1idXR0
b24uanMKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMv
Y29udHJvbHMvb3ZlcmZsb3ctYnV0dG9uLmpzCkBAIC0zNCw4ICszNCw4IEBAIGNsYXNzIE92ZXJm
bG93QnV0dG9uIGV4dGVuZHMgQnV0dG9uCiAgICAgICAgICAgICBsYXlvdXREZWxlZ2F0ZSwKICAg
ICAgICAgfSk7CiAKLSAgICAgICAgdGhpcy5jbGVhckNvbnRleHRNZW51T3B0aW9ucygpOwogICAg
ICAgICB0aGlzLl9kZWZhdWx0Q29udGV4dE1lbnVPcHRpb25zID0ge307CisgICAgICAgIHRoaXMu
X2V4dHJhQ29udGV4dE1lbnVPcHRpb25zID0ge307CiAgICAgfQogCiAgICAgLy8gUHVibGljCkBA
IC00Nyw0OCArNDcsNDYgQEAgY2xhc3MgT3ZlcmZsb3dCdXR0b24gZXh0ZW5kcyBCdXR0b24KIAog
ICAgIHNldCB2aXNpYmxlKGZsYWcpCiAgICAgewotICAgICAgICBsZXQgaGFzQ29udGV4dE1lbnVP
cHRpb25zID0gZmFsc2U7Ci0gICAgICAgIGZvciAobGV0IGtleSBpbiB0aGlzLl9jb250ZXh0TWVu
dU9wdGlvbnMpIHsKLSAgICAgICAgICAgIGhhc0NvbnRleHRNZW51T3B0aW9ucyA9IHRydWU7Ci0g
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgZnVuY3Rpb24gaXNFbXB0eShjb250ZXh0TWVudU9w
dGlvbnMpIHsKKyAgICAgICAgICAgIGZvciAobGV0IGtleSBpbiBjb250ZXh0TWVudU9wdGlvbnMp
CisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAgcmV0dXJuIHRydWU7
CiAgICAgICAgIH0KIAotICAgICAgICBzdXBlci52aXNpYmxlID0gZmxhZyAmJiBoYXNDb250ZXh0
TWVudU9wdGlvbnM7CisgICAgICAgIHN1cGVyLnZpc2libGUgPSBmbGFnICYmICghaXNFbXB0eSh0
aGlzLl9kZWZhdWx0Q29udGV4dE1lbnVPcHRpb25zKSB8fCAhaXNFbXB0eSh0aGlzLl9leHRyYUNv
bnRleHRNZW51T3B0aW9ucykpOwogICAgIH0KIAogICAgIGdldCBjb250ZXh0TWVudU9wdGlvbnMo
KQogICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaXMuX2NvbnRleHRNZW51T3B0aW9uczsKKyAgICAg
ICAgcmV0dXJuIHsKKyAgICAgICAgICAgIC4uLnRoaXMuX2RlZmF1bHRDb250ZXh0TWVudU9wdGlv
bnMsCisgICAgICAgICAgICAuLi50aGlzLl9leHRyYUNvbnRleHRNZW51T3B0aW9ucywKKyAgICAg
ICAgfTsKICAgICB9CiAKLSAgICBhZGRDb250ZXh0TWVudU9wdGlvbnMoY29udGV4dE1lbnVPcHRp
b25zKQorICAgIGFkZEV4dHJhQ29udGV4dE1lbnVPcHRpb25zKGNvbnRleHRNZW51T3B0aW9ucykK
ICAgICB7CiAgICAgICAgIGlmICghdGhpcy5lbmFibGVkKQogICAgICAgICAgICAgcmV0dXJuOwog
CiAgICAgICAgIGZvciAobGV0IGtleSBpbiBjb250ZXh0TWVudU9wdGlvbnMpCi0gICAgICAgICAg
ICB0aGlzLl9jb250ZXh0TWVudU9wdGlvbnNba2V5XSA9IGNvbnRleHRNZW51T3B0aW9uc1trZXld
OworICAgICAgICAgICAgdGhpcy5fZXh0cmFDb250ZXh0TWVudU9wdGlvbnNba2V5XSA9IGNvbnRl
eHRNZW51T3B0aW9uc1trZXldOwogCiAgICAgICAgIHRoaXMudmlzaWJsZSA9IHRydWU7CiAgICAg
fQogCi0gICAgY2xlYXJDb250ZXh0TWVudU9wdGlvbnMoKQorICAgIGNsZWFyRXh0cmFDb250ZXh0
TWVudU9wdGlvbnMoKQogICAgIHsKLSAgICAgICAgdGhpcy5fY29udGV4dE1lbnVPcHRpb25zID0g
e307CisgICAgICAgIHRoaXMuX2V4dHJhQ29udGV4dE1lbnVPcHRpb25zID0ge307CiAKICAgICAg
ICAgdGhpcy52aXNpYmxlID0gZmFsc2U7Ci0KLSAgICAgICAgdGhpcy5hZGRDb250ZXh0TWVudU9w
dGlvbnModGhpcy5fZGVmYXVsdENvbnRleHRNZW51T3B0aW9ucyk7CiAgICAgfQogCiAgICAgc2V0
IGRlZmF1bHRDb250ZXh0TWVudU9wdGlvbnMoZGVmYXVsdENvbnRleHRNZW51T3B0aW9ucykKICAg
ICB7CiAgICAgICAgIHRoaXMuX2RlZmF1bHRDb250ZXh0TWVudU9wdGlvbnMgPSBkZWZhdWx0Q29u
dGV4dE1lbnVPcHRpb25zIHx8IHt9OwogCi0gICAgICAgIHRoaXMuY2xlYXJDb250ZXh0TWVudU9w
dGlvbnMoKTsKLQotICAgICAgICBpZiAodGhpcy5sYXlvdXREZWxlZ2F0ZSkKLSAgICAgICAgICAg
IHRoaXMubGF5b3V0RGVsZWdhdGUubmVlZHNMYXlvdXQgPSB0cnVlOworICAgICAgICB0aGlzLnZp
c2libGUgPSB0cnVlOwogICAgIH0KIAogfQo=
</data>
<flag name="commit-queue"
          id="487513"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>458630</attachid>
            <date>2022-04-29 22:51:34 -0700</date>
            <delta_ts>2022-05-01 18:49:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>239921.diff</filename>
            <type>text/plain</type>
            <size>8526</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBhMTM4NmI4MjJiMDcxZjA3MTk5ZTBhMjY3MDJmNWUxZjIzZDJlNjZhLi4x
NmZkMTBmNzRiYjk2MjBmNTJiNGE0OWIwNjViZDhmNjE0ZTVkMjdkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsNDUgQEAKKzIwMjItMDQtMjkgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29t
PgorCisgICAgICAgIFtNb2Rlcm4gTWVkaWEgQ29udHJvbHNdIHRoZSBvdmVyZmxvdyBidXR0b24g
c29tZXRpbWVzIGZsaWNrZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMzk5MjEKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzkxMzI5NDY4PgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZXJlIGFyZSB0
d28gdGhpbmdzIHRoYXQgY29udHJvbCB0aGUgdmlzaWJpbGl0eSBvZiB0aGUgYE92ZXJmbG93QnV0
dG9uYDoKKyAgICAgICAgMS4gd2hldGhlciBhbnkgb2YgdGhlICJkZWZhdWx0IiBhY3Rpb25zIChl
LmcuIHBsYXliYWNrIHNwZWVkLCBjaGFwdGVycywgZXRjLikgYXJlIHBvc3NpYmxlCisgICAgICAg
IDIuIGlmIGFueSBvdGhlciBidXR0b25zIHRoYXQgaGF2ZSBgY29udGV4dE1lbnVPcHRpb25zYCBh
cmUgZHJvcHBlZCAoaS5lLiB0aGVyZSdzIG5vdCBlbm91Z2gKKyAgICAgICAgcm9vbSBmb3IgaXQg
YmVjYXVzZSB0aGUgYDx2aWRlbz5gIGlzIG5hcnJvdyBvciB0aGVyZSBhcmUgYWxyZWFkeSB0b28g
bWFueSBidXR0b25zKQorCisgICAgICAgICgxKSBpcyByZWNhbGN1bGF0ZWQgZm9yIG1vc3QgSlMg
bWVkaWEgZXZlbnRzIChlLmcuIHdoZW5ldmVyIHRyYWNrcyBhcmUgY2hhbmdlZCwgaWYKKyAgICAg
ICAgdGhlIGByZWFkeVN0YXRlYCBjaGFuZ2VzLCBldGMuKS4KKworICAgICAgICAoMikgaXMgcmVj
YWxjdWxhdGVkIGluIGBsYXlvdXRgIG9mIGBNZWRpYUNvbnRyb2xzYCwgd2hpY2ggaXMgKHJlbGF0
aXZlbHkpIGxlc3MgZnJlcXVlbnQuCisKKyAgICAgICAgSW4gdGhlIGNhc2UgdGhhdCB0aGUgb25s
eSBjb250ZXh0bWVudSBvcHRpb25zIGFyZSBwcm92aWRlZCBieSAoMikgKGkuZS4gbm9uZSBvZiB0
aGUgImRlZmF1bHQiCisgICAgICAgIGFjdGlvbnMgYXJlIHBvc3NpYmxlKSwgdGhlIGZyZXF1ZW50
IHJlY2FsY3VsYXRpb24gb2YgKDEpIHdpbGwgY29tYmluZWQgd2l0aCB0aGUgZmFjdCB0aGF0Cisg
ICAgICAgIGBsYXlvdXRgIHVzZXMgYSBgcmVxdWVzdEFuaW1hdGlvbkZyYW1lYCB0byBkZWxheS9i
YXRjaCB3b3JrIHdpbGwgY2F1c2UgdGhlcmUgdG8gYmUgYSBzaG9ydAorICAgICAgICBwZXJpb2Qg
b2YgdGltZSBhZnRlciB0aGUgcmVjYWxjdWxhdGlvbiBvZiAoMSkgYW5kIGJlZm9yZSB0aGUgcmVj
YWxjdWxhdGlvbiBvZiAoMikgd2hlcmUKKyAgICAgICAgdGhlcmUgYXJlIG5vIGNvbnRleHRtZW51
IG9wdGlvbnMsIHJlc3VsdGluZyBpbiB0aGUgYE92ZXJmbG93QnV0dG9uYCBiZWluZyBoaWRkZW4u
CisKKyAgICAgICAgKiBNb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9vdmVy
Zmxvdy1idXR0b24uanM6CisgICAgICAgIChPdmVyZmxvd0J1dHRvbik6CisgICAgICAgIChPdmVy
Zmxvd0J1dHRvbi5wcm90b3R5cGUuc2V0IHZpc2libGUpOgorICAgICAgICAoT3ZlcmZsb3dCdXR0
b24ucHJvdG90eXBlLnNldCB2aXNpYmxlLmlzRW1wdHkpOiBBZGRlZC4KKyAgICAgICAgKE92ZXJm
bG93QnV0dG9uLnByb3RvdHlwZS5nZXQgY29udGV4dE1lbnVPcHRpb25zKToKKyAgICAgICAgKE92
ZXJmbG93QnV0dG9uLnByb3RvdHlwZS5hZGRFeHRyYUNvbnRleHRNZW51T3B0aW9ucyk6IFJlbmFt
ZWQgZnJvbSBgYWRkQ29udGV4dE1lbnVPcHRpb25zYC4KKyAgICAgICAgKE92ZXJmbG93QnV0dG9u
LnByb3RvdHlwZS5jbGVhckV4dHJhQ29udGV4dE1lbnVPcHRpb25zKTogUmVuYW1lZCBmcm9tIGBj
bGVhckNvbnRleHRNZW51T3B0aW9uc2AuCisgICAgICAgIChPdmVyZmxvd0J1dHRvbi5wcm90b3R5
cGUuc2V0IGRlZmF1bHRDb250ZXh0TWVudU9wdGlvbnMpOgorICAgICAgICAqIE1vZHVsZXMvbW9k
ZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL2lubGluZS1tZWRpYS1jb250cm9scy5qczoKKyAg
ICAgICAgKElubGluZU1lZGlhQ29udHJvbHMucHJvdG90eXBlLmxheW91dCk6CisgICAgICAgICog
TW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvbWFjb3MtZnVsbHNjcmVlbi1t
ZWRpYS1jb250cm9scy5qczoKKyAgICAgICAgKE1hY09TRnVsbHNjcmVlbk1lZGlhQ29udHJvbHMu
cHJvdG90eXBlLmxheW91dCk6CisgICAgICAgIEluc3RlYWQgb2YgaGF2aW5nIGEgc2luZ2xlIGBf
Y29udGV4dE1lbnVPcHRpb25zYCB0aGF0IGlzIG1vZGlmaWVkIGJ5IGJvdGggKDEpIGFuZCAoMiks
IGhhdmUKKyAgICAgICAgYSBzZXBhcmF0ZSBtZW1iZXIgdmFyaWFibGUgZm9yIGVhY2guIFRoaXMg
d2F5LCB0aGUgcmVjYWxjdWxhdGlvbiBvZiAoMSkgZG9lc24ndCBhbHNvIGNsZWFyCisgICAgICAg
IHRoZSBzdGF0ZSBsZWZ0IG92ZXIgZnJvbSB0aGUgbGFzdCB0aW1lICgyKSB3YXMgY2FsY3VsYXRl
ZCAod2hpY2ggd2lsbCBiZSByZWNhbGN1bGF0ZWQgYnkgKDIpCisgICAgICAgIHNob3J0bHkgdGhl
cmVhZnRlcikuIFVzZSBib3RoIG1lbWJlciB2YXJpYWJsZXMgdG8gZGVjaWRlIHdoZXRoZXIgdGhl
IGBPdmVyZmxvd0J1dHRvbmAgc2hvdWxkCisgICAgICAgIGJlIGB2aXNpYmxlYCwgYWxsb3dpbmcg
KDEpIGFuZCAoMikgdG8gdXBkYXRlIGluZGVwZW5kZW50IG9mIGVhY2hvdGhlci4KKwogMjAyMi0w
NC0yNyAgU2lodWkgTGl1ICA8c2lodWlfbGl1QGFwcGxlLmNvbT4KIAogICAgICAgICBFbnN1cmUg
Y29tcGxldGlvbiBoYW5kbGVyIGlzIGNhbGxlZCBpbiBTV1NlcnZlcjo6Y2xlYXIKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xz
L2lubGluZS1tZWRpYS1jb250cm9scy5qcyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZXJu
LW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL2lubGluZS1tZWRpYS1jb250cm9scy5qcwppbmRleCA0
YjEzMjQyZjgyYTQxNWFiZDgzOTJmNzBlZDIxYmYwYTBmYWYyZTNmLi5kZTMxMWQwYzVmNmI4NWIz
MzBmZWM2Yjg1ZGJhNTExMGY1YmM4MDQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9pbmxpbmUtbWVkaWEtY29udHJvbHMu
anMKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29u
dHJvbHMvaW5saW5lLW1lZGlhLWNvbnRyb2xzLmpzCkBAIC0xNjksNyArMTY5LDcgQEAgY2xhc3Mg
SW5saW5lTWVkaWFDb250cm9scyBleHRlbmRzIE1lZGlhQ29udHJvbHMKICAgICAgICAgdGhpcy5y
aWdodENvbnRhaW5lci5jaGlsZHJlbiA9IHRoaXMuX3JpZ2h0Q29udGFpbmVyQnV0dG9ucygpOwog
ICAgICAgICB0aGlzLnJpZ2h0Q29udGFpbmVyLmNoaWxkcmVuLmNvbmNhdCh0aGlzLmxlZnRDb250
YWluZXIuY2hpbGRyZW4pLmZvckVhY2goYnV0dG9uID0+IGRlbGV0ZSBidXR0b24uZHJvcHBlZCk7
CiAgICAgICAgIHRoaXMubXV0ZUJ1dHRvbi5zdHlsZSA9IHRoaXMucHJlZmVycmVkTXV0ZUJ1dHRv
blN0eWxlOwotICAgICAgICB0aGlzLm92ZXJmbG93QnV0dG9uLmNsZWFyQ29udGV4dE1lbnVPcHRp
b25zKCk7CisgICAgICAgIHRoaXMub3ZlcmZsb3dCdXR0b24uY2xlYXJFeHRyYUNvbnRleHRNZW51
T3B0aW9ucygpOwogCiAgICAgICAgIGZvciAobGV0IGJ1dHRvbiBvZiB0aGlzLl9kcm9wcGFibGVC
dXR0b25zKCkpIHsKICAgICAgICAgICAgIC8vIElmIHRoZSBidXR0b24gaXMgbm90IGVuYWJsZWQs
IHdlIGNhbiBza2lwIGl0LgpAQCAtMTg4LDcgKzE4OCw3IEBAIGNsYXNzIElubGluZU1lZGlhQ29u
dHJvbHMgZXh0ZW5kcyBNZWRpYUNvbnRyb2xzCiAgICAgICAgICAgICBidXR0b24uZHJvcHBlZCA9
IHRydWU7CiAKICAgICAgICAgICAgIGlmIChidXR0b24gIT09IHRoaXMub3ZlcmZsb3dCdXR0b24p
Ci0gICAgICAgICAgICAgICAgdGhpcy5vdmVyZmxvd0J1dHRvbi5hZGRDb250ZXh0TWVudU9wdGlv
bnMoYnV0dG9uLmNvbnRleHRNZW51T3B0aW9ucyk7CisgICAgICAgICAgICAgICAgdGhpcy5vdmVy
Zmxvd0J1dHRvbi5hZGRFeHRyYUNvbnRleHRNZW51T3B0aW9ucyhidXR0b24uY29udGV4dE1lbnVP
cHRpb25zKTsKICAgICAgICAgfQogCiAgICAgICAgIGxldCBjb2xsYXBzYWJsZUJ1dHRvbnMgPSB0
aGlzLl9jb2xsYXBzYWJsZUJ1dHRvbnMoKTsKQEAgLTIwMCw3ICsyMDAsNyBAQCBjbGFzcyBJbmxp
bmVNZWRpYUNvbnRyb2xzIGV4dGVuZHMgTWVkaWFDb250cm9scwogICAgICAgICAgICAgICAgIGNv
bnRpbnVlOwogCiAgICAgICAgICAgICBidXR0b24uZHJvcHBlZCA9IHRydWU7Ci0gICAgICAgICAg
ICB0aGlzLm92ZXJmbG93QnV0dG9uLmFkZENvbnRleHRNZW51T3B0aW9ucyhidXR0b24uY29udGV4
dE1lbnVPcHRpb25zKTsKKyAgICAgICAgICAgIHRoaXMub3ZlcmZsb3dCdXR0b24uYWRkRXh0cmFD
b250ZXh0TWVudU9wdGlvbnMoYnV0dG9uLmNvbnRleHRNZW51T3B0aW9ucyk7CiAgICAgICAgIH0K
IAogICAgICAgICAvLyBVcGRhdGUgbGF5b3V0cyBvbmNlIG1vcmUuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9tYWNvcy1m
dWxsc2NyZWVuLW1lZGlhLWNvbnRyb2xzLmpzIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2Rl
cm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvbWFjb3MtZnVsbHNjcmVlbi1tZWRpYS1jb250cm9s
cy5qcwppbmRleCBhMjA1YWFhZWRkODQyYWY4YzMwYTcyMWUxYzJmMTVhNDRiZGExYjY1Li5hOThi
MGYyYWEzYmU1N2QxOTgyNWIxOTIzMmE5ZWIzNWVlYjUzN2EzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9tYWNvcy1mdWxs
c2NyZWVuLW1lZGlhLWNvbnRyb2xzLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9k
ZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL21hY29zLWZ1bGxzY3JlZW4tbWVkaWEtY29udHJv
bHMuanMKQEAgLTExNCw3ICsxMTQsNyBAQCBjbGFzcyBNYWNPU0Z1bGxzY3JlZW5NZWRpYUNvbnRy
b2xzIGV4dGVuZHMgTWVkaWFDb250cm9scwogICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAg
IHRoaXMuX3JpZ2h0Q29udGFpbmVyLmNoaWxkcmVuLmZvckVhY2goYnV0dG9uID0+IGRlbGV0ZSBi
dXR0b24uZHJvcHBlZCkKLSAgICAgICAgdGhpcy5vdmVyZmxvd0J1dHRvbi5jbGVhckNvbnRleHRN
ZW51T3B0aW9ucygpOworICAgICAgICB0aGlzLm92ZXJmbG93QnV0dG9uLmNsZWFyRXh0cmFDb250
ZXh0TWVudU9wdGlvbnMoKTsKIAogICAgICAgICB0aGlzLl9sZWZ0Q29udGFpbmVyLnZpc2libGUg
PSB0aGlzLm11dGVCdXR0b24uZW5hYmxlZDsKICAgICAgICAgdGhpcy5fbGVmdENvbnRhaW5lci5j
aGlsZHJlbiA9IHRoaXMuX3ZvbHVtZUNvbnRyb2xzRm9yQ3VycmVudERpcmVjdGlvbigpOwpAQCAt
MTI4LDcgKzEyOCw3IEBAIGNsYXNzIE1hY09TRnVsbHNjcmVlbk1lZGlhQ29udHJvbHMgZXh0ZW5k
cyBNZWRpYUNvbnRyb2xzCiAgICAgICAgICAgICAgICAgY29udGludWU7CiAKICAgICAgICAgICAg
IGJ1dHRvbi5kcm9wcGVkID0gdHJ1ZTsKLSAgICAgICAgICAgIHRoaXMub3ZlcmZsb3dCdXR0b24u
YWRkQ29udGV4dE1lbnVPcHRpb25zKGJ1dHRvbi5jb250ZXh0TWVudU9wdGlvbnMpOworICAgICAg
ICAgICAgdGhpcy5vdmVyZmxvd0J1dHRvbi5hZGRFeHRyYUNvbnRleHRNZW51T3B0aW9ucyhidXR0
b24uY29udGV4dE1lbnVPcHRpb25zKTsKICAgICAgICAgfQogCiAgICAgICAgIHRoaXMuX2xlZnRD
b250YWluZXIubGF5b3V0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21v
ZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9vdmVyZmxvdy1idXR0b24uanMgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9vdmVyZmxvdy1i
dXR0b24uanMKaW5kZXggZTkyYzM5MWZmYWUxZWNmN2Q3Yjg1YTcxMTI3ZDIwZTkxMjk2ZDFjZi4u
ZDJiYjQ1N2FiZDMyNjE2MGI3ZmY3ZGRiMWU1MGNkZjEyZmQ3OTgxYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvb3ZlcmZs
b3ctYnV0dG9uLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNv
bnRyb2xzL2NvbnRyb2xzL292ZXJmbG93LWJ1dHRvbi5qcwpAQCAtMzQsOCArMzQsOCBAQCBjbGFz
cyBPdmVyZmxvd0J1dHRvbiBleHRlbmRzIEJ1dHRvbgogICAgICAgICAgICAgbGF5b3V0RGVsZWdh
dGUsCiAgICAgICAgIH0pOwogCi0gICAgICAgIHRoaXMuY2xlYXJDb250ZXh0TWVudU9wdGlvbnMo
KTsKICAgICAgICAgdGhpcy5fZGVmYXVsdENvbnRleHRNZW51T3B0aW9ucyA9IHt9OworICAgICAg
ICB0aGlzLl9leHRyYUNvbnRleHRNZW51T3B0aW9ucyA9IHt9OwogICAgIH0KIAogICAgIC8vIFB1
YmxpYwpAQCAtNDcsNDggKzQ3LDQ2IEBAIGNsYXNzIE92ZXJmbG93QnV0dG9uIGV4dGVuZHMgQnV0
dG9uCiAKICAgICBzZXQgdmlzaWJsZShmbGFnKQogICAgIHsKLSAgICAgICAgbGV0IGhhc0NvbnRl
eHRNZW51T3B0aW9ucyA9IGZhbHNlOwotICAgICAgICBmb3IgKGxldCBrZXkgaW4gdGhpcy5fY29u
dGV4dE1lbnVPcHRpb25zKSB7Ci0gICAgICAgICAgICBoYXNDb250ZXh0TWVudU9wdGlvbnMgPSB0
cnVlOwotICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGZ1bmN0aW9uIGlzRW1wdHkoY29udGV4
dE1lbnVPcHRpb25zKSB7CisgICAgICAgICAgICBmb3IgKGxldCBrZXkgaW4gY29udGV4dE1lbnVP
cHRpb25zKQorICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgICAgIHJldHVy
biB0cnVlOwogICAgICAgICB9CiAKLSAgICAgICAgc3VwZXIudmlzaWJsZSA9IGZsYWcgJiYgaGFz
Q29udGV4dE1lbnVPcHRpb25zOworICAgICAgICBzdXBlci52aXNpYmxlID0gZmxhZyAmJiAoIWlz
RW1wdHkodGhpcy5fZGVmYXVsdENvbnRleHRNZW51T3B0aW9ucykgfHwgIWlzRW1wdHkodGhpcy5f
ZXh0cmFDb250ZXh0TWVudU9wdGlvbnMpKTsKICAgICB9CiAKICAgICBnZXQgY29udGV4dE1lbnVP
cHRpb25zKCkKICAgICB7Ci0gICAgICAgIHJldHVybiB0aGlzLl9jb250ZXh0TWVudU9wdGlvbnM7
CisgICAgICAgIHJldHVybiB7CisgICAgICAgICAgICAuLi50aGlzLl9kZWZhdWx0Q29udGV4dE1l
bnVPcHRpb25zLAorICAgICAgICAgICAgLi4udGhpcy5fZXh0cmFDb250ZXh0TWVudU9wdGlvbnMs
CisgICAgICAgIH07CiAgICAgfQogCi0gICAgYWRkQ29udGV4dE1lbnVPcHRpb25zKGNvbnRleHRN
ZW51T3B0aW9ucykKKyAgICBhZGRFeHRyYUNvbnRleHRNZW51T3B0aW9ucyhjb250ZXh0TWVudU9w
dGlvbnMpCiAgICAgewogICAgICAgICBpZiAoIXRoaXMuZW5hYmxlZCkKICAgICAgICAgICAgIHJl
dHVybjsKIAogICAgICAgICBmb3IgKGxldCBrZXkgaW4gY29udGV4dE1lbnVPcHRpb25zKQotICAg
ICAgICAgICAgdGhpcy5fY29udGV4dE1lbnVPcHRpb25zW2tleV0gPSBjb250ZXh0TWVudU9wdGlv
bnNba2V5XTsKKyAgICAgICAgICAgIHRoaXMuX2V4dHJhQ29udGV4dE1lbnVPcHRpb25zW2tleV0g
PSBjb250ZXh0TWVudU9wdGlvbnNba2V5XTsKIAogICAgICAgICB0aGlzLnZpc2libGUgPSB0cnVl
OwogICAgIH0KIAotICAgIGNsZWFyQ29udGV4dE1lbnVPcHRpb25zKCkKKyAgICBjbGVhckV4dHJh
Q29udGV4dE1lbnVPcHRpb25zKCkKICAgICB7Ci0gICAgICAgIHRoaXMuX2NvbnRleHRNZW51T3B0
aW9ucyA9IHt9OworICAgICAgICB0aGlzLl9leHRyYUNvbnRleHRNZW51T3B0aW9ucyA9IHt9Owog
CiAgICAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlOwotCi0gICAgICAgIHRoaXMuYWRkQ29udGV4
dE1lbnVPcHRpb25zKHRoaXMuX2RlZmF1bHRDb250ZXh0TWVudU9wdGlvbnMpOwogICAgIH0KIAog
ICAgIHNldCBkZWZhdWx0Q29udGV4dE1lbnVPcHRpb25zKGRlZmF1bHRDb250ZXh0TWVudU9wdGlv
bnMpCiAgICAgewogICAgICAgICB0aGlzLl9kZWZhdWx0Q29udGV4dE1lbnVPcHRpb25zID0gZGVm
YXVsdENvbnRleHRNZW51T3B0aW9ucyB8fCB7fTsKIAotICAgICAgICB0aGlzLmNsZWFyQ29udGV4
dE1lbnVPcHRpb25zKCk7Ci0KLSAgICAgICAgaWYgKHRoaXMubGF5b3V0RGVsZWdhdGUpCi0gICAg
ICAgICAgICB0aGlzLmxheW91dERlbGVnYXRlLm5lZWRzTGF5b3V0ID0gdHJ1ZTsKKyAgICAgICAg
dGhpcy52aXNpYmxlID0gdHJ1ZTsKICAgICB9CiAKIH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>