<?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>213967</bug_id>
          
          <creation_ts>2020-07-04 22:59:20 -0700</creation_ts>
          <short_desc>[macOS 11] Indeterminate progress bar animation periodically jumps</short_desc>
          <delta_ts>2020-07-05 12:01:16 -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>Forms</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>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>hi</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>pdr</cc>
    
    <cc>sam</cc>
    
    <cc>thorton</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1668869</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-07-04 22:59:20 -0700</bug_when>
    <thetext>SSIA</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1668870</commentid>
    <comment_count>1</comment_count>
      <attachid>403547</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-07-04 23:04:49 -0700</bug_when>
    <thetext>Created attachment 403547
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1668891</commentid>
    <comment_count>2</comment_count>
      <attachid>403547</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-07-05 06:38:34 -0700</bug_when>
    <thetext>Comment on attachment 403547
Patch

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

&gt; Source/WebCore/rendering/RenderThemeMac.mm:128
&gt; +#if HAVE(ALTERNATE_ICONS)
&gt; +static const double progressAnimationNumFrames = 120;
&gt; +#else
&gt;  static const double progressAnimationNumFrames = 256;
&gt; +#endif

The CoreUI folks don&apos;t really want anyone using kCUIAnimationFrameKey, which is what requires us to know the number of frames. Can we instead switch to kCUIAnimationStartTimeKey/kCUIAnimationTimeKey and avoid the problem of needing to know the number of frames entirely?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1668896</commentid>
    <comment_count>3</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-07-05 09:41:06 -0700</bug_when>
    <thetext>(In reply to Sam Weinig from comment #2)
&gt; Comment on attachment 403547 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=403547&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/rendering/RenderThemeMac.mm:128
&gt; &gt; +#if HAVE(ALTERNATE_ICONS)
&gt; &gt; +static const double progressAnimationNumFrames = 120;
&gt; &gt; +#else
&gt; &gt;  static const double progressAnimationNumFrames = 256;
&gt; &gt; +#endif
&gt; 
&gt; The CoreUI folks don&apos;t really want anyone using kCUIAnimationFrameKey, which
&gt; is what requires us to know the number of frames. Can we instead switch to
&gt; kCUIAnimationStartTimeKey/kCUIAnimationTimeKey and avoid the problem of
&gt; needing to know the number of frames entirely?

An added benefit of this would be that if we use a shared heartbeat, all the indeterminate progress indicators in a page will animate in sync, just like in a normal app.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1668900</commentid>
    <comment_count>4</comment_count>
      <attachid>403547</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-07-05 10:29:34 -0700</bug_when>
    <thetext>Comment on attachment 403547
Patch

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

&gt;&gt;&gt; Source/WebCore/rendering/RenderThemeMac.mm:128
&gt;&gt;&gt; +#endif
&gt;&gt; 
&gt;&gt; The CoreUI folks don&apos;t really want anyone using kCUIAnimationFrameKey, which is what requires us to know the number of frames. Can we instead switch to kCUIAnimationStartTimeKey/kCUIAnimationTimeKey and avoid the problem of needing to know the number of frames entirely?
&gt; 
&gt; An added benefit of this would be that if we use a shared heartbeat, all the indeterminate progress indicators in a page will animate in sync, just like in a normal app.

Yep, this works great!

I wish this meant we could just remove animationDurationForProgressBar and animationRepeatIntervalForProgressBar, but other ports (Adwaita?) seem to override this and return a non-zero value. That said, I can at least remove the hard-coded constants and stop overriding it in RenderThemeMac (and RenderThemeIOS as well, which for some reason overrides it but returns zero which is the default anyways 🤷🏻‍♂️).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1668902</commentid>
    <comment_count>5</comment_count>
      <attachid>403558</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-07-05 10:53:51 -0700</bug_when>
    <thetext>Created attachment 403558
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1668908</commentid>
    <comment_count>6</comment_count>
      <attachid>403558</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-07-05 11:53:57 -0700</bug_when>
    <thetext>Comment on attachment 403558
Patch

Very nice. We could probably optimize things a bit in the future (and make it match macOS a bit more) if we wanted by having a shared heartbeat timer for all indeterminate progress indicators, instead of using a timer per-RenderProgress.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1668909</commentid>
    <comment_count>7</comment_count>
      <attachid>403558</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-07-05 11:58:01 -0700</bug_when>
    <thetext>Comment on attachment 403558
Patch

(In reply to Sam Weinig from comment #6)
&gt; Comment on attachment 403558 [details]
&gt; Patch
&gt; 
&gt; Very nice. We could probably optimize things a bit in the future (and make
&gt; it match macOS a bit more) if we wanted by having a shared heartbeat timer
&gt; for all indeterminate progress indicators, instead of using a timer
&gt; per-RenderProgress.

Indeed!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1668910</commentid>
    <comment_count>8</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-07-05 12:00:30 -0700</bug_when>
    <thetext>Committed r263952: &lt;https://trac.webkit.org/changeset/263952&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 403558.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1668911</commentid>
    <comment_count>9</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-07-05 12:01:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/65109650&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>403547</attachid>
            <date>2020-07-04 23:04:49 -0700</date>
            <delta_ts>2020-07-05 10:53:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-213967-20200704230448.patch</filename>
            <type>text/plain</type>
            <size>1694</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYzOTMwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTk2MTIxZWI3Yzc2NTNm
MzhmM2EwZDllYzk4NWIxMzg5ODZiZDg3Ni4uYjA1YmZlNjM0MGQ4NzYzNWUzMDk5MGU4ZGQ0ZjM4
Mzg3ZTNiMmUyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIwLTA3LTA0ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFttYWNPUyAxMV0g
SW5kZXRlcm1pbmF0ZSBwcm9ncmVzcyBiYXIgYW5pbWF0aW9uIHBlcmlvZGljYWxseSBqdW1wcwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEzOTY3CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIGFuaW1h
dGlvbiBmb3IgYW4gaW5kZXRlcm1pbmF0ZSBwcm9ncmVzcyBiYXIgb2NjYXNpb25hbGx5IGp1bXBz
IHRvIHRoZSBzdGFydGluZyBmcmFtZSBvbiBtYWNPUyAxMS4gVGhpcyBpcworICAgICAgICBiZWNh
dXNlIHRoZSBpbmRldGVyaW5hdGUgcHJvZ3Jlc3MgYmFyIGFuaW1hdGlvbiBvbmx5IGxhc3RzIGZv
ciAxMjAgZnJhbWVzIG9uIG1hY09TIDExLCBzbyBvdXIgY3VycmVudCBoYXJkLWNvZGVkCisgICAg
ICAgIHZhbHVlIG9mIDI1NiBmcmFtZXMgcmVzdWx0cyBpbiAxNiBleHRyYSBmcmFtZXMgb2YgYW5p
bWF0aW9uLCBiZWZvcmUgYWJydXB0bHkgbG9vcGluZyBiYWNrIHRvIHRoZSBzdGFydGluZyBmcmFt
ZS4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5tbToKKwogMjAyMC0wNy0w
MyAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgTWVkaWFSZWNv
cmRlciBzaG91bGQgc3VwcG9ydCBwZWVyIGNvbm5lY3Rpb24gcmVtb3RlIHZpZGVvIHRyYWNrcwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tCmluZGV4IDFlYzNmZWVm
YmRlYzI1NjljZmJiNTIxMDgyZjc0ZDIxNWUyNmEzOWMuLjA3YzQwZjBiZTE1YzkzMzM4ZTEwYmI1
NjI0YTU1YTRlNGEyNWNhMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUaGVtZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhl
bWVNYWMubW0KQEAgLTEyMCw3ICsxMjAsMTIgQEAgQHByb3BlcnR5IChnZXR0ZXI9aXNDZW50ZXJl
ZExvb2spIEJPT0wgY2VudGVyZWRMb29rOwogQGVuZAogCiBzdGF0aWMgY29uc3QgU2Vjb25kcyBw
cm9ncmVzc0FuaW1hdGlvbkZyYW1lUmF0ZSA9IDMzX21zOyAvLyAzMCBmcHMKKworI2lmIEhBVkUo
QUxURVJOQVRFX0lDT05TKQorc3RhdGljIGNvbnN0IGRvdWJsZSBwcm9ncmVzc0FuaW1hdGlvbk51
bUZyYW1lcyA9IDEyMDsKKyNlbHNlCiBzdGF0aWMgY29uc3QgZG91YmxlIHByb2dyZXNzQW5pbWF0
aW9uTnVtRnJhbWVzID0gMjU2OworI2VuZGlmCiAKIEBpbnRlcmZhY2UgV2ViQ29yZVJlbmRlclRo
ZW1lTm90aWZpY2F0aW9uT2JzZXJ2ZXIgOiBOU09iamVjdAogQGVuZAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>403558</attachid>
            <date>2020-07-05 10:53:51 -0700</date>
            <delta_ts>2020-07-05 12:00:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-213967-20200705105350.patch</filename>
            <type>text/plain</type>
            <size>10007</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYzOTQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWEwOWJlMmYyZTE2ZmFi
MTIwY2JmNGUyOTIwZDA4NzQ0OGQ3Nzc4Ny4uYjcwOGJhOTY4MGM2M2I0YTkxZjcyNmIxZDViMjFm
OTlhODJlYTk5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDIwLTA3LTA1ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFttYWNPUyAxMV0g
SW5kZXRlcm1pbmF0ZSBwcm9ncmVzcyBiYXIgYW5pbWF0aW9uIHBlcmlvZGljYWxseSBqdW1wcwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEzOTY3CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIGFuaW1h
dGlvbiBmb3IgYW4gaW5kZXRlcm1pbmF0ZSBwcm9ncmVzcyBiYXIgb2NjYXNpb25hbGx5IGp1bXBz
IHRvIHRoZSBzdGFydGluZyBmcmFtZSBvbiBtYWNPUyAxMS4gVGhpcyBpcworICAgICAgICBiZWNh
dXNlIHRoZSBpbmRldGVyaW5hdGUgcHJvZ3Jlc3MgYmFyIGFuaW1hdGlvbiBvbmx5IGxhc3RzIGZv
ciAxMjAgZnJhbWVzIG9uIG1hY09TIDExLCBzbyBvdXIgY3VycmVudCBoYXJkLWNvZGVkCisgICAg
ICAgIHZhbHVlIG9mIDI1NiBmcmFtZXMgcmVzdWx0cyBpbiAxNiBleHRyYSBmcmFtZXMgb2YgYW5p
bWF0aW9uLCBiZWZvcmUgYWJydXB0bHkgbG9vcGluZyBiYWNrIHRvIHRoZSBzdGFydGluZyBmcmFt
ZS4KKworICAgICAgICBUbyBmaXggdGhpcywgaW5zdGVhZCBvZiBzcGVjaWZ5aW5nIHRoZSBhbmlt
YXRpb24gZnJhbWUgaW5kZXggd2hlbiBwYWludGluZyBwcm9ncmVzcyBiYXJzIG9uIG1hY09TLCBz
cGVjaWZ5IHRoZQorICAgICAgICBzdGFydGluZyB0aW1lIGFuZCBjdXJyZW50IHRpbWUgZm9yIHRo
ZSBhbmltYXRpb24sIGFuZCBsZXQgQ29yZVVJIGRldGVybWluZSB3aGljaCBmcmFtZSB0byB1c2Uu
CisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyUHJvZ3Jlc3MuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyUHJvZ3Jlc3M6OmFuaW1hdGlvblByb2dyZXNzKToKKworICAgICAgICBBc3Nl
cnQgdGhhdCB0aGlzIG5ldmVyIGdldHMgY2FsbGVkIHdpdGggYSB6ZXJvIGFuaW1hdGlvbiBkdXJh
dGlvbi4KKworICAgICAgICAoV2ViQ29yZTo6UmVuZGVyUHJvZ3Jlc3M6OnVwZGF0ZUFuaW1hdGlv
blN0YXRlKToKKworICAgICAgICBJbnN0ZWFkIG9mIGNoZWNraW5nIGZvciB0aGUgYW5pbWF0aW9u
IGR1cmF0aW9uIHRvIGRldGVybWluZSB3aGV0aGVyIG9yIG5vdCB3ZSBzaG91bGQgdHJ5IGFuZCBh
bmltYXRlIHByb2dyZXNzCisgICAgICAgIGJhciBwYWludGluZywgY2hlY2sgZm9yIHRoZSBhbmlt
YXRpb24gcmVwZWF0IGludGVydmFsIGluc3RlYWQuIFRoaXMgaXMgYmVjYXVzZSBvbiBtYWNPUywg
d2Ugbm8gbG9uZ2VyIGhhcmQtY29kZQorICAgICAgICB0aGUgYW5pbWF0aW9uIGR1cmF0aW9uLCBi
dXQgc3RpbGwgd2FudCB0byBiZSBhYmxlIHRvIGFuaW1hdGUgcHJvZ3Jlc3MgYmFycy4KKworICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZUlPUy5oOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJUaGVtZUlPUy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lSU9TOjphbmlt
YXRpb25SZXBlYXRJbnRlcnZhbEZvclByb2dyZXNzQmFyIGNvbnN0KTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lSU9TOjphbmltYXRpb25EdXJhdGlvbkZvclByb2dyZXNz
QmFyIGNvbnN0KTogRGVsZXRlZC4KKworICAgICAgICBEcml2ZS1ieSBmaXg6IHJlbW92ZSBzb21l
IHVubmVjZXNzYXJ5IG92ZXJyaWRkZW4gbWV0aG9kIGltcGxlbWVudGF0aW9ucyBvbiBSZW5kZXJU
aGVtZUlPUy4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5oOgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
clRoZW1lTWFjOjpwYWludFByb2dyZXNzQmFyKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRo
ZW1lTWFjOjphbmltYXRpb25EdXJhdGlvbkZvclByb2dyZXNzQmFyIGNvbnN0KTogRGVsZXRlZC4K
KworICAgICAgICBTdG9wIG92ZXJyaWRpbmcgdGhpcyBtZXRob2QsIGFuZCByZW1vdmUgdGhlIGBw
cm9ncmVzc0FuaW1hdGlvbk51bUZyYW1lc2AgY29uc3RhbnQgZGVjbGFyZWQgaW4gdGhpcyBmaWxl
LgorCiAyMDIwLTA3LTA0ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAg
ICBbQ29jb2FdIFJlbW92ZSBhbGwgZmVhdHVyZXMgZnJvbSBGZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZyB0aGF0IGFyZSBhbHJlYWR5IG1lbnRpb25lZCBpbiBQbGF0Zm9ybUVuYWJsZUNvY29hLmgKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ2hhbmdlTG9nCmluZGV4IGJjYWE5NTgyMTgxOGRmZWNmODNmZDU0YzJiYzk2MGY5ZTY5ZmFm
ZWIuLjk0MTZmZTcxZDBkYjFkZGQxNzQ0OTRiZTZmMzNlNGRlYzlhY2NmYjAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML0No
YW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDIwLTA3LTA1ICBXZW5zb24gSHNpZWggIDx3ZW5z
b25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFttYWNPUyAxMV0gSW5kZXRlcm1pbmF0ZSBw
cm9ncmVzcyBiYXIgYW5pbWF0aW9uIHBlcmlvZGljYWxseSBqdW1wcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEzOTY3CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwYWwvc3BpL21hYy9Db3JlVUlTUEku
aDogQWRkIGRlY2xhcmF0aW9ucyBmb3IgYGtDVUlBbmltYXRpb25TdGFydFRpbWVLZXlgIGFuZCBg
a0NVSUFuaW1hdGlvblRpbWVLZXlgLgorCiAyMDIwLTA3LTA0ICBEYXJpbiBBZGxlciAgPGRhcmlu
QGFwcGxlLmNvbT4KIAogICAgICAgICBbQ29jb2FdIFJlbW92ZSBhbGwgZmVhdHVyZXMgZnJvbSBG
ZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyB0aGF0IGFyZSBhbHJlYWR5IG1lbnRpb25lZCBpbiBQbGF0
Zm9ybUVuYWJsZUNvY29hLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3Bp
L21hYy9Db3JlVUlTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL21hYy9Db3JlVUlT
UEkuaAppbmRleCAzOTRjYzc4OWM5MGRmNjkzOWNiOWI4YmY3MDU0MDFiMTE0OWZjNmVjLi4zMDBk
MTMzZGVlNWE4NmNiNzkzNTJlMDNjMTJhZGVhYjM3Y2M0MTNiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMvQ29yZVVJU1BJLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
UEFML3BhbC9zcGkvbWFjL0NvcmVVSVNQSS5oCkBAIC01MCw2ICs1MCw3IEBAIGV4dGVybiBjb25z
dCBDRlN0cmluZ1JlZiBrQ1VJVXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbktleTsKIGV4dGVy
biBjb25zdCBDRlN0cmluZ1JlZiBrQ1VJU2NhbGVLZXk7CiBleHRlcm4gY29uc3QgQ0ZTdHJpbmdS
ZWYga0NVSVByZXNlbnRhdGlvblN0YXRlS2V5OwogZXh0ZXJuIGNvbnN0IENGU3RyaW5nUmVmIGtD
VUlPcmllbnRhdGlvbktleTsKLWV4dGVybiBjb25zdCBDRlN0cmluZ1JlZiBrQ1VJQW5pbWF0aW9u
RnJhbWVLZXk7CitleHRlcm4gY29uc3QgQ0ZTdHJpbmdSZWYga0NVSUFuaW1hdGlvblN0YXJ0VGlt
ZUtleTsKK2V4dGVybiBjb25zdCBDRlN0cmluZ1JlZiBrQ1VJQW5pbWF0aW9uVGltZUtleTsKIAog
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUHJvZ3Jl
c3MuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclByb2dyZXNzLmNwcAppbmRl
eCA4MWNiNDMzYjJmYzRmMzFmYmEyZDc4Y2E3NjAwYmUwMDdmMzRkODFmLi4xMDEyNDNiY2MwYzk0
NTBkNjg2NzIzNjJmN2RmMjAwYTUwY2MwNGY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyUHJvZ3Jlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJQcm9ncmVzcy5jcHAKQEAgLTY2LDYgKzY2LDcgQEAgUmVuZGVyQm94OjpMb2dpY2Fs
RXh0ZW50Q29tcHV0ZWRWYWx1ZXMgUmVuZGVyUHJvZ3Jlc3M6OmNvbXB1dGVMb2dpY2FsSGVpZ2h0
KExheW8KIAogZG91YmxlIFJlbmRlclByb2dyZXNzOjphbmltYXRpb25Qcm9ncmVzcygpIGNvbnN0
CiB7CisgICAgQVNTRVJUKG1fYW5pbWF0aW9uRHVyYXRpb24gPiAwX3MpOwogICAgIHJldHVybiBt
X2FuaW1hdGluZyA/IChmbW9kKChNb25vdG9uaWNUaW1lOjpub3coKSAtIG1fYW5pbWF0aW9uU3Rh
cnRUaW1lKS5zZWNvbmRzKCksIG1fYW5pbWF0aW9uRHVyYXRpb24uc2Vjb25kcygpKSAvIG1fYW5p
bWF0aW9uRHVyYXRpb24uc2Vjb25kcygpKSA6IDA7CiB9CiAKQEAgLTg3LDcgKzg4LDcgQEAgdm9p
ZCBSZW5kZXJQcm9ncmVzczo6dXBkYXRlQW5pbWF0aW9uU3RhdGUoKQogICAgIG1fYW5pbWF0aW9u
RHVyYXRpb24gPSB0aGVtZSgpLmFuaW1hdGlvbkR1cmF0aW9uRm9yUHJvZ3Jlc3NCYXIoKnRoaXMp
OwogICAgIG1fYW5pbWF0aW9uUmVwZWF0SW50ZXJ2YWwgPSB0aGVtZSgpLmFuaW1hdGlvblJlcGVh
dEludGVydmFsRm9yUHJvZ3Jlc3NCYXIoKnRoaXMpOwogCi0gICAgYm9vbCBhbmltYXRpbmcgPSBz
dHlsZSgpLmhhc0FwcGVhcmFuY2UoKSAmJiBtX2FuaW1hdGlvbkR1cmF0aW9uID4gMF9zOworICAg
IGJvb2wgYW5pbWF0aW5nID0gc3R5bGUoKS5oYXNBcHBlYXJhbmNlKCkgJiYgbV9hbmltYXRpb25S
ZXBlYXRJbnRlcnZhbCA+IDBfczsKICAgICBpZiAoYW5pbWF0aW5nID09IG1fYW5pbWF0aW5nKQog
ICAgICAgICByZXR1cm47CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUaGVtZUlPUy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lSU9T
LmgKaW5kZXggMDU4Yjg5MWNiYTQ2ZTYxYjg0MDc5YzhkMTVjYjNlOGE2ZDQ4MTA2Ny4uZWY1ZWQ1
YjIwOGNiYTlkMDE2ZDI4YTk0M2ZkN2JkMTY1ZGY0N2RlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRoZW1lSU9TLmgKQEAgLTEwMiwxMSArMTAyLDYgQEAgcHJpdmF0ZToKICAg
ICB2b2lkIGFkanVzdFNsaWRlclRodW1iU2l6ZShSZW5kZXJTdHlsZSYsIGNvbnN0IEVsZW1lbnQq
KSBjb25zdCBvdmVycmlkZTsKICAgICBib29sIHBhaW50U2xpZGVyVGh1bWJEZWNvcmF0aW9ucyhj
b25zdCBSZW5kZXJPYmplY3QmLCBjb25zdCBQYWludEluZm8mLCBjb25zdCBJbnRSZWN0Jikgb3Zl
cnJpZGU7CiAKLSAgICAvLyBSZXR1cm5zIHRoZSByZXBlYXQgaW50ZXJ2YWwgb2YgdGhlIGFuaW1h
dGlvbiBmb3IgdGhlIHByb2dyZXNzIGJhci4KLSAgICBTZWNvbmRzIGFuaW1hdGlvblJlcGVhdElu
dGVydmFsRm9yUHJvZ3Jlc3NCYXIoUmVuZGVyUHJvZ3Jlc3MmKSBjb25zdCBvdmVycmlkZTsKLSAg
ICAvLyBSZXR1cm5zIHRoZSBkdXJhdGlvbiBvZiB0aGUgYW5pbWF0aW9uIGZvciB0aGUgcHJvZ3Jl
c3MgYmFyLgotICAgIFNlY29uZHMgYW5pbWF0aW9uRHVyYXRpb25Gb3JQcm9ncmVzc0JhcihSZW5k
ZXJQcm9ncmVzcyYpIGNvbnN0IG92ZXJyaWRlOwotCiAgICAgYm9vbCBwYWludFByb2dyZXNzQmFy
KGNvbnN0IFJlbmRlck9iamVjdCYsIGNvbnN0IFBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmKSBv
dmVycmlkZTsKIAogI2lmIEVOQUJMRShEQVRBTElTVF9FTEVNRU5UKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLm1tIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLm1tCmluZGV4IGIwYWQ2MDQxYjE1N2MzZDliYzIwNzIw
NzQ1OWQ0YmE0ODNlYzc5YzcuLmVkNGE1MDA3OGUyYzEwY2VjYzgxZDYyMzEzZDllZWU3NjA3ZDVh
NGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUlPUy5t
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MubW0KQEAgLTg5
MywxNiArODkzLDYgQEAgYm9vbCBSZW5kZXJUaGVtZUlPUzo6cGFpbnRTbGlkZXJUaHVtYkRlY29y
YXRpb25zKGNvbnN0IFJlbmRlck9iamVjdCYgYm94LCBjb25zdAogICAgIHJldHVybiBmYWxzZTsK
IH0KIAotU2Vjb25kcyBSZW5kZXJUaGVtZUlPUzo6YW5pbWF0aW9uUmVwZWF0SW50ZXJ2YWxGb3JQ
cm9ncmVzc0JhcihSZW5kZXJQcm9ncmVzcyYpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIDBfczsKLX0K
LQotU2Vjb25kcyBSZW5kZXJUaGVtZUlPUzo6YW5pbWF0aW9uRHVyYXRpb25Gb3JQcm9ncmVzc0Jh
cihSZW5kZXJQcm9ncmVzcyYpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIDBfczsKLX0KLQogYm9vbCBS
ZW5kZXJUaGVtZUlPUzo6cGFpbnRQcm9ncmVzc0Jhcihjb25zdCBSZW5kZXJPYmplY3QmIHJlbmRl
cmVyLCBjb25zdCBQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgSW50UmVjdCYgcmVjdCkKIHsK
ICAgICBpZiAoIWlzPFJlbmRlclByb2dyZXNzPihyZW5kZXJlcikpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMuaCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUaGVtZU1hYy5oCmluZGV4IDA4N2I5ODdkNjNmNmVmZTc3NmU2Njc5NGQ3
NzQ1ZGMzNjVlYTIzNWQuLjNhNTIzYWIyM2UwZDdiNjk0NTQwNjdhZDgzNmUzYmU2Mzc2NTA5YTcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5oCkBAIC05MSw4ICs5
MSw2IEBAIHB1YmxpYzoKIAogICAgIC8vIFJldHVybnMgdGhlIHJlcGVhdCBpbnRlcnZhbCBvZiB0
aGUgYW5pbWF0aW9uIGZvciB0aGUgcHJvZ3Jlc3MgYmFyLgogICAgIFNlY29uZHMgYW5pbWF0aW9u
UmVwZWF0SW50ZXJ2YWxGb3JQcm9ncmVzc0JhcihSZW5kZXJQcm9ncmVzcyYpIGNvbnN0IGZpbmFs
OwotICAgIC8vIFJldHVybnMgdGhlIGR1cmF0aW9uIG9mIHRoZSBhbmltYXRpb24gZm9yIHRoZSBw
cm9ncmVzcyBiYXIuCi0gICAgU2Vjb25kcyBhbmltYXRpb25EdXJhdGlvbkZvclByb2dyZXNzQmFy
KFJlbmRlclByb2dyZXNzJikgY29uc3QgZmluYWw7CiAgICAgSW50UmVjdCBwcm9ncmVzc0JhclJl
Y3RGb3JCb3VuZHMoY29uc3QgUmVuZGVyT2JqZWN0JiwgY29uc3QgSW50UmVjdCYpIGNvbnN0IGZp
bmFsOwogCiAgICAgLy8gQ29udHJvbHMgY29sb3IgdmFsdWVzIHJldHVybmVkIGZyb20gcGxhdGZv
cm1Gb2N1c1JpbmdDb2xvcigpLiBzeXN0ZW1Db2xvcigpIHdpbGwgYmUgdXNlZCB3aGVuIGZhbHNl
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1t
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tCmluZGV4IDFlYzNm
ZWVmYmRlYzI1NjljZmJiNTIxMDgyZjc0ZDIxNWUyNmEzOWMuLjgyYWNmOThlZDRhZTVlYjI2Yjcw
NmE4ZmU0MTU1Y2UwZGM2OGQ5YTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUaGVtZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGhlbWVNYWMubW0KQEAgLTEyMCw3ICsxMjAsNiBAQCBAcHJvcGVydHkgKGdldHRlcj1pc0NlbnRl
cmVkTG9vaykgQk9PTCBjZW50ZXJlZExvb2s7CiBAZW5kCiAKIHN0YXRpYyBjb25zdCBTZWNvbmRz
IHByb2dyZXNzQW5pbWF0aW9uRnJhbWVSYXRlID0gMzNfbXM7IC8vIDMwIGZwcwotc3RhdGljIGNv
bnN0IGRvdWJsZSBwcm9ncmVzc0FuaW1hdGlvbk51bUZyYW1lcyA9IDI1NjsKIAogQGludGVyZmFj
ZSBXZWJDb3JlUmVuZGVyVGhlbWVOb3RpZmljYXRpb25PYnNlcnZlciA6IE5TT2JqZWN0CiBAZW5k
CkBAIC0xMzcwLDExICsxMzY5LDYgQEAgU2Vjb25kcyBSZW5kZXJUaGVtZU1hYzo6YW5pbWF0aW9u
UmVwZWF0SW50ZXJ2YWxGb3JQcm9ncmVzc0JhcihSZW5kZXJQcm9ncmVzcyYpIGMKICAgICByZXR1
cm4gcHJvZ3Jlc3NBbmltYXRpb25GcmFtZVJhdGU7CiB9CiAKLVNlY29uZHMgUmVuZGVyVGhlbWVN
YWM6OmFuaW1hdGlvbkR1cmF0aW9uRm9yUHJvZ3Jlc3NCYXIoUmVuZGVyUHJvZ3Jlc3MmKSBjb25z
dAotewotICAgIHJldHVybiBwcm9ncmVzc0FuaW1hdGlvbkZyYW1lUmF0ZSAqIHByb2dyZXNzQW5p
bWF0aW9uTnVtRnJhbWVzOwotfQotCiB2b2lkIFJlbmRlclRoZW1lTWFjOjphZGp1c3RQcm9ncmVz
c0JhclN0eWxlKFJlbmRlclN0eWxlJiwgY29uc3QgRWxlbWVudCopIGNvbnN0CiB7CiB9CkBAIC0x
Mzg5LDcgKzEzODMsNiBAQCBib29sIFJlbmRlclRoZW1lTWFjOjpwYWludFByb2dyZXNzQmFyKGNv
bnN0IFJlbmRlck9iamVjdCYgcmVuZGVyT2JqZWN0LCBjb25zdCBQYQogICAgIGNvbnN0IGF1dG8m
IHJlbmRlclByb2dyZXNzID0gZG93bmNhc3Q8UmVuZGVyUHJvZ3Jlc3M+KHJlbmRlck9iamVjdCk7
CiAgICAgZmxvYXQgZGV2aWNlU2NhbGVGYWN0b3IgPSByZW5kZXJPYmplY3QuZG9jdW1lbnQoKS5k
ZXZpY2VTY2FsZUZhY3RvcigpOwogICAgIGJvb2wgaXNJbmRldGVybWluYXRlID0gcmVuZGVyUHJv
Z3Jlc3MucG9zaXRpb24oKSA8IDA7Ci0gICAgYXV0byBhbmltYXRpb25GcmFtZSA9IGxyb3VuZChy
ZW5kZXJQcm9ncmVzcy5hbmltYXRpb25Qcm9ncmVzcygpICogbmV4dGFmdGVyKHByb2dyZXNzQW5p
bWF0aW9uTnVtRnJhbWVzLCAwKSAqIGRldmljZVNjYWxlRmFjdG9yKTsKICAgICBhdXRvIGltYWdl
QnVmZmVyID0gSW1hZ2VCdWZmZXI6OmNyZWF0ZUNvbXBhdGlibGVCdWZmZXIoaW5mbGF0ZWRSZWN0
LnNpemUoKSwgZGV2aWNlU2NhbGVGYWN0b3IsIENvbG9yU3BhY2U6OlNSR0IsIHBhaW50SW5mby5j
b250ZXh0KCkpOwogICAgIGlmICghaW1hZ2VCdWZmZXIpCiAgICAgICAgIHJldHVybiB0cnVlOwpA
QCAtMTQxOSw3ICsxNDEyLDggQEAgYm9vbCBSZW5kZXJUaGVtZU1hYzo6cGFpbnRQcm9ncmVzc0Jh
cihjb25zdCBSZW5kZXJPYmplY3QmIHJlbmRlck9iamVjdCwgY29uc3QgUGEKICAgICAgICAgKF9f
YnJpZGdlIE5TU3RyaW5nICopa0NVSVNjYWxlS2V5OiBAKGRldmljZVNjYWxlRmFjdG9yKSwKICAg
ICAgICAgKF9fYnJpZGdlIE5TU3RyaW5nICopa0NVSVByZXNlbnRhdGlvblN0YXRlS2V5OiAoX19i
cmlkZ2UgTlNTdHJpbmcgKikoaXNBY3RpdmUocmVuZGVyT2JqZWN0KSA/IGtDVUlQcmVzZW50YXRp
b25TdGF0ZUFjdGl2ZUtleSA6IGtDVUlQcmVzZW50YXRpb25TdGF0ZUluYWN0aXZlKSwKICAgICAg
ICAgKF9fYnJpZGdlIE5TU3RyaW5nICopa0NVSU9yaWVudGF0aW9uS2V5OiAoX19icmlkZ2UgTlNT
dHJpbmcgKilrQ1VJT3JpZW50SG9yaXpvbnRhbCwKLSAgICAgICAgKF9fYnJpZGdlIE5TU3RyaW5n
ICopa0NVSUFuaW1hdGlvbkZyYW1lS2V5OiBAKGlzSW5kZXRlcm1pbmF0ZSA/IGFuaW1hdGlvbkZy
YW1lIDogMCkKKyAgICAgICAgKF9fYnJpZGdlIE5TU3RyaW5nICopa0NVSUFuaW1hdGlvblN0YXJ0
VGltZUtleTogQChyZW5kZXJQcm9ncmVzcy5hbmltYXRpb25TdGFydFRpbWUoKS5zZWNvbmRzU2lu
Y2VFcG9jaCgpLnNlY29uZHMoKSksCisgICAgICAgIChfX2JyaWRnZSBOU1N0cmluZyAqKWtDVUlB
bmltYXRpb25UaW1lS2V5OiBAKE1vbm90b25pY1RpbWU6Om5vdygpLnNlY29uZHNTaW5jZUVwb2No
KCkuc2Vjb25kcygpKQogICAgIH1dOwogCiAgICAgR3JhcGhpY3NDb250ZXh0U3RhdGVTYXZlciBz
dGF0ZVNhdmVyKHBhaW50SW5mby5jb250ZXh0KCkpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>