<?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>204834</bug_id>
          
          <creation_ts>2019-12-03 20:13:38 -0800</creation_ts>
          <short_desc>Clang 10 reports -Wimplicit-int-float-conversion compilation warnings</short_desc>
          <delta_ts>2024-11-18 17:18:07 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Template Framework</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=210067</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=213972</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>209955</dependson>
    
    <dependson>210038</dependson>
    
    <dependson>224714</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Fujii Hironori">fujii</reporter>
          <assigned_to name="Fujii Hironori">fujii</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>darin</cc>
    
    <cc>dbates</cc>
    
    <cc>don.olmstead</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jer.noble</cc>
    
    <cc>keith_miller</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>macpherson</cc>
    
    <cc>mark.lam</cc>
    
    <cc>menard</cc>
    
    <cc>msaboff</cc>
    
    <cc>pdr</cc>
    
    <cc>philipj</cc>
    
    <cc>saam</cc>
    
    <cc>sergio</cc>
    
    <cc>tzagallo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1595350</commentid>
    <comment_count>0</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-12-03 20:13:38 -0800</bug_when>
    <thetext>Clang 10 reports a compilation warning:

&gt; wtf/MathExtras.h(401,43): warning: implicit conversion from &apos;unsigned long long&apos; to &apos;double&apos; changes value from 18446744073709551615 to 18446744073709551616 [-Wimplicit-int-float-conversion]
&gt;         double fmodValue = fmod(trunc(d), std::numeric_limits&lt;unsigned long long&gt;::max() + 1.0);

doubleToInteger was added in Bug 67980.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1595353</commentid>
    <comment_count>1</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-12-03 20:25:39 -0800</bug_when>
    <thetext>More warnings: 

&gt; [20/129] Building CXX object Source\WTF\wtf\CMakeFiles\WTF.dir\MediaTime.cpp.obj
&gt; ..\..\Source\WTF\wtf\MediaTime.cpp(117,21): warning: implicit conversion from &apos;long long&apos; to &apos;float&apos; changes value from 9223372036854775807 to 9223372036854775808 [-Wimplicit-int-float-conversion]
&gt;     if (floatTime &gt; std::numeric_limits&lt;int64_t&gt;::max())
&gt;                   ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
&gt; ..\..\Source\WTF\wtf\MediaTime.cpp(124,36): warning: implicit conversion from &apos;long long&apos; to &apos;float&apos; changes value from 9223372036854775807 to 9223372036854775808 [-Wimplicit-int-float-conversion]
&gt;     while (floatTime * timeScale &gt; std::numeric_limits&lt;int64_t&gt;::max())
&gt;                                  ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
&gt; ..\..\Source\WTF\wtf\MediaTime.cpp(147,22): warning: implicit conversion from &apos;long long&apos; to &apos;double&apos; changes value from 9223372036854775807 to 9223372036854775808 [-Wimplicit-int-float-conversion]
&gt;     if (doubleTime &gt; std::numeric_limits&lt;int64_t&gt;::max())
&gt;                    ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
&gt; ..\..\Source\WTF\wtf\MediaTime.cpp(154,37): warning: implicit conversion from &apos;long long&apos; to &apos;double&apos; changes value from 9223372036854775807 to 9223372036854775808 [-Wimplicit-int-float-conversion]
&gt;     while (doubleTime * timeScale &gt; std::numeric_limits&lt;int64_t&gt;::max())
&gt;                                   ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
&gt; 4 warnings generated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1595358</commentid>
    <comment_count>2</comment_count>
      <attachid>384784</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-12-03 20:35:54 -0800</bug_when>
    <thetext>Created attachment 384784
WIP patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1595363</commentid>
    <comment_count>3</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-12-03 21:05:12 -0800</bug_when>
    <thetext>Umm, there are more. Here is full compilation log after applying the WIP patch.
https://gist.github.com/fujii/160ae6e66138d6b48dc4e342f58837b6</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1634406</commentid>
    <comment_count>4</comment_count>
    <who name="Don Olmstead">don.olmstead</who>
    <bug_when>2020-03-26 10:31:35 -0700</bug_when>
    <thetext>https://bugzilla.mozilla.org/show_bug.cgi?id=1577236

Here&apos;s Mozilla&apos;s work to fix this warning in their codebase</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1636701</commentid>
    <comment_count>5</comment_count>
      <attachid>395215</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2020-04-01 15:45:30 -0700</bug_when>
    <thetext>Created attachment 395215
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1636730</commentid>
    <comment_count>6</comment_count>
      <attachid>395215</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-04-01 16:26:12 -0700</bug_when>
    <thetext>Comment on attachment 395215
Patch

We don’t use typically function style casts in WebKit. We should look for other ways to do the conversion.

These warnings suggest there are mistakes in some of these places. I am not sure that just quieting the warning without a behavior change is good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1636811</commentid>
    <comment_count>7</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2020-04-01 22:53:30 -0700</bug_when>
    <thetext>https://stackoverflow.com/a/17822304

This is interesting.
They uses an idea using ldexp which is similar approach with my WIP patch (comment 2).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1637272</commentid>
    <comment_count>8</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2020-04-03 01:23:34 -0700</bug_when>
    <thetext>Filed: Bug 209955 – [Clang 10] Fix -Wimplicit-int-float-conversion compilation warnings in WTF</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2076012</commentid>
    <comment_count>9</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2024-11-18 17:18:07 -0800</bug_when>
    <thetext>No more tasks. Closed.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>384784</attachid>
            <date>2019-12-03 20:35:54 -0800</date>
            <delta_ts>2020-04-01 15:45:19 -0700</delta_ts>
            <desc>WIP patch</desc>
            <filename>a.diff</filename>
            <type>text/plain</type>
            <size>740</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL01hdGhFeHRyYXMuaCBiL1NvdXJjZS9XVEYvd3Rm
L01hdGhFeHRyYXMuaAppbmRleCA4ZWM4OTg3NDMyZC4uNGY1ZjA3ZGUxNWUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XVEYvd3RmL01hdGhFeHRyYXMuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9NYXRoRXh0
cmFzLmgKQEAgLTM5Nyw4ICszOTcsOSBAQCBpbmxpbmUgdm9pZCBkb3VibGVUb0ludGVnZXIoZG91
YmxlIGQsIHVuc2lnbmVkIGxvbmcgbG9uZyYgdmFsdWUpCiAgICAgaWYgKHN0ZDo6aXNuYW4oZCkg
fHwgc3RkOjppc2luZihkKSkKICAgICAgICAgdmFsdWUgPSAwOwogICAgIGVsc2UgeworICAgICAg
ICBjb25zdGV4cHIgZG91YmxlIHBvd2VyNjQgPSBkb3VibGUoMXVsbCA8PCAzMikgKiBkb3VibGUo
MXVsbCA8PCAzMik7CiAgICAgICAgIC8vIC0yXns2NH0gPCBmbW9kVmFsdWUgPCAyXns2NH0uCi0g
ICAgICAgIGRvdWJsZSBmbW9kVmFsdWUgPSBmbW9kKHRydW5jKGQpLCBzdGQ6Om51bWVyaWNfbGlt
aXRzPHVuc2lnbmVkIGxvbmcgbG9uZz46Om1heCgpICsgMS4wKTsKKyAgICAgICAgZG91YmxlIGZt
b2RWYWx1ZSA9IGZtb2QodHJ1bmMoZCksIHBvd2VyNjQpOwogICAgICAgICBpZiAoZm1vZFZhbHVl
ID49IDApIHsKICAgICAgICAgICAgIC8vIDAgPD0gZm1vZFZhbHVlIDwgMl57NjR9LgogICAgICAg
ICAgICAgLy8gMCA8PSB2YWx1ZSA8IDJeezY0fS4gVGhpcyBjYXN0IGNhdXNlcyBubyBsb3NzLgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>395215</attachid>
            <date>2020-04-01 15:45:30 -0700</date>
            <delta_ts>2020-04-02 18:21:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-204834-20200402074528.patch</filename>
            <type>text/plain</type>
            <size>11538</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU5MzYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBm
MjE5ZWI2OGJjMjQ4MzZiY2I1M2JjMGRjM2NiZDA2ZmZkMjM2OGUzLi5kYjQ2YTdmOGViOGViMTVl
OTBkODg5YzMwMGQ1MGU3MjU0Zjc4OTg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMyBAQAorMjAyMC0wNC0wMSAgRnVqaWkgSGlyb25vcmkgIDxIaXJvbm9yaS5GdWppaUBz
b255LmNvbT4KKworICAgICAgICBDbGFuZyAxMCByZXBvcnRzIC1XaW1wbGljaXQtaW50LWZsb2F0
LWNvbnZlcnNpb24gY29tcGlsYXRpb24gd2FybmluZ3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNDgzNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcDoKKyAgICAg
ICAgKEpTQzo6Q29kZUJsb2NrOjpwcmVkaWN0ZWRNYWNoaW5lQ29kZVNpemUpOgorCiAyMDIwLTA0
LTAxICBKdXN0aW4gTWljaGF1ZCAgPGp1c3RpbkBqdXN0aW5taWNoYXVkLmNvbT4KIAogICAgICAg
ICBEZWxldGUgSUMgaW5jb3JyZWN0bHkgY2FjaGVzIGZvciBwcm94aWVzCmRpZmYgLS1naXQgYS9T
b3VyY2UvV1RGL0NoYW5nZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGFlY2Q1MGNi
NzExOWJkM2E2Njc0YTkzYzdiNDVjOGYwNjc5Mjg3YTcuLjkzOWVmYzRmMzIzZTYyNzJmNDA4ZTM2
ZDhkNzZiMDExYzk4M2RiOWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XVEYvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMjAtMDQtMDEgIEZ1amlp
IEhpcm9ub3JpICA8SGlyb25vcmkuRnVqaWlAc29ueS5jb20+CisKKyAgICAgICAgQ2xhbmcgMTAg
cmVwb3J0cyAtV2ltcGxpY2l0LWludC1mbG9hdC1jb252ZXJzaW9uIGNvbXBpbGF0aW9uIHdhcm5p
bmdzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDQ4
MzQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDbGFu
ZyAxMCByZXBvcnRzIC1XaW1wbGljaXQtaW50LWZsb2F0LWNvbnZlcnNpb24gY29tcGlsYXRpb24K
KyAgICAgICAgd2FybmluZyBmb3IgbG9zc3kgaW1wbGljaXQgY29udmVyc2lvbiBmcm9tIGludGVn
ZXIgdG8gZmxvYXRpbmcKKyAgICAgICAgdmFsdWUuCisKKyAgICAgICAgPiB3dGYvTWF0aEV4dHJh
cy5oKDQwMSw0Myk6IHdhcm5pbmc6IGltcGxpY2l0IGNvbnZlcnNpb24gZnJvbSAndW5zaWduZWQg
bG9uZyBsb25nJyB0byAnZG91YmxlJyBjaGFuZ2VzIHZhbHVlIGZyb20gMTg0NDY3NDQwNzM3MDk1
NTE2MTUgdG8gMTg0NDY3NDQwNzM3MDk1NTE2MTYgWy1XaW1wbGljaXQtaW50LWZsb2F0LWNvbnZl
cnNpb25dCisKKyAgICAgICAgQ2FzdCBsYXJnZSBpbnRlZ2VyIHZhbHVlcyB0byBmbG9hdCBvciBk
b3VibGUgZXhwbGljaXRseS4KKworICAgICAgICAqIHd0Zi9NYXRoRXh0cmFzLmg6CisgICAgICAg
IChkb3VibGVUb0ludGVnZXIpOgorICAgICAgICAqIHd0Zi9NZWRpYVRpbWUuY3BwOgorICAgICAg
ICAoV1RGOjpNZWRpYVRpbWU6OmNyZWF0ZVdpdGhGbG9hdCk6CisgICAgICAgIChXVEY6Ok1lZGlh
VGltZTo6Y3JlYXRlV2l0aERvdWJsZSk6CisKIDIwMjAtMDMtMzEgIE1pY2hhZWwgQ2F0YW56YXJv
ICA8bWNhdGFuemFyb0Bnbm9tZS5vcmc+CiAKICAgICAgICAgVXBkYXRlIGNoZWNrIGZvciBhYXJj
aDY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKaW5kZXggMGM0ZDg2YzRiMGIyOTIxZjM0NWFmY2QzZGM3OTI2MDJlNDJkOGJk
OS4uZDUxZWQwN2Q2NTBiMTlmMzEzMWU5YTNlY2NlOThhOGQ1MmVlYzkwMSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE3IEBACisyMDIwLTA0LTAxICBGdWppaSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1
amlpQHNvbnkuY29tPgorCisgICAgICAgIENsYW5nIDEwIHJlcG9ydHMgLVdpbXBsaWNpdC1pbnQt
ZmxvYXQtY29udmVyc2lvbiBjb21waWxhdGlvbiB3YXJuaW5ncworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA0ODM0CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBjc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFsdWU6OmNvbXB1dGVMZW5ndGggY29u
c3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyQmxvY2tGbG93OjphZGp1c3RMaW5lUG9zaXRpb25Gb3JQYWdpbmF0aW9u
KToKKyAgICAgICAgKiBzdHlsZS9TdHlsZUJ1aWxkZXJDb252ZXJ0ZXIuaDoKKyAgICAgICAgKFdl
YkNvcmU6OlN0eWxlOjpCdWlsZGVyQ29udmVydGVyOjpjb252ZXJ0V29yZFNwYWNpbmcpOgorCiAy
MDIwLTA0LTAxICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIENS
QVNIIGluIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6YWRkQXVkaW9SZW5k
ZXJlcigpLCB1bmNhdWdodCBPYmpDIGV4Y2VwdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvQ29kZUJsb2NrLmNwcAppbmRleCA2NTdlMmJiM2UyM2JhNzViNDY3MjAzMGFhYzM4
ZjZmODUzYzI0OWY1Li4xNjYxYjVjNDU5ODVlYTYzODQ1OTFkM2NkYmVmMmY5YTVhNjAzNjM0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcApAQCAtMjk5
OSw3ICsyOTk5LDcgQEAgc2l6ZV90IENvZGVCbG9jazo6cHJlZGljdGVkTWFjaGluZUNvZGVTaXpl
KCkKICAgICAvLyB0aGUgZnVuY3Rpb24gaXMgc28gaHVnZSB0aGF0IHdlIGNhbid0IGV2ZW4gZml0
IGl0IGludG8gdmlydHVhbCBtZW1vcnkgdGhlbiB3ZQogICAgIC8vIHNob3VsZCBwcm9iYWJseSBo
YXZlIHNvbWUgb3RoZXIgZ3VhcmRzIGluIHBsYWNlIHRvIHByZXZlbnQgdXMgZnJvbSBldmVuIGdl
dHRpbmcKICAgICAvLyB0byB0aGlzIHBvaW50LgotICAgIGlmIChkb3VibGVSZXN1bHQgPiBzdGQ6
Om51bWVyaWNfbGltaXRzPHNpemVfdD46Om1heCgpKQorICAgIGlmIChkb3VibGVSZXN1bHQgPiBk
b3VibGUoc3RkOjpudW1lcmljX2xpbWl0czxzaXplX3Q+OjptYXgoKSkpCiAgICAgICAgIHJldHVy
biAwOwogICAgIAogICAgIHJldHVybiBzdGF0aWNfY2FzdDxzaXplX3Q+KGRvdWJsZVJlc3VsdCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9NYXRoRXh0cmFzLmggYi9Tb3VyY2UvV1RGL3d0
Zi9NYXRoRXh0cmFzLmgKaW5kZXggOGVjODk4NzQzMmQ5NjQ1MjJiYzNhMjczZDVmNWU3OWY5ODYx
YjYwNy4uOGM3ZjE0YjE2YTRiMTI3ZjAwZWJiNWQ3MjU2NTc3Njc3YmFmMWQ1MyAxMDA2NDQKLS0t
IGEvU291cmNlL1dURi93dGYvTWF0aEV4dHJhcy5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL01hdGhF
eHRyYXMuaApAQCAtMzk4LDcgKzM5OCw3IEBAIGlubGluZSB2b2lkIGRvdWJsZVRvSW50ZWdlcihk
b3VibGUgZCwgdW5zaWduZWQgbG9uZyBsb25nJiB2YWx1ZSkKICAgICAgICAgdmFsdWUgPSAwOwog
ICAgIGVsc2UgewogICAgICAgICAvLyAtMl57NjR9IDwgZm1vZFZhbHVlIDwgMl57NjR9LgotICAg
ICAgICBkb3VibGUgZm1vZFZhbHVlID0gZm1vZCh0cnVuYyhkKSwgc3RkOjpudW1lcmljX2xpbWl0
czx1bnNpZ25lZCBsb25nIGxvbmc+OjptYXgoKSArIDEuMCk7CisgICAgICAgIGRvdWJsZSBmbW9k
VmFsdWUgPSBmbW9kKHRydW5jKGQpLCBkb3VibGUoc3RkOjpudW1lcmljX2xpbWl0czx1bnNpZ25l
ZCBsb25nIGxvbmc+OjptYXgoKSkgKyAxLjApOwogICAgICAgICBpZiAoZm1vZFZhbHVlID49IDAp
IHsKICAgICAgICAgICAgIC8vIDAgPD0gZm1vZFZhbHVlIDwgMl57NjR9LgogICAgICAgICAgICAg
Ly8gMCA8PSB2YWx1ZSA8IDJeezY0fS4gVGhpcyBjYXN0IGNhdXNlcyBubyBsb3NzLgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dURi93dGYvTWVkaWFUaW1lLmNwcCBiL1NvdXJjZS9XVEYvd3RmL01lZGlh
VGltZS5jcHAKaW5kZXggMTNlMDg5OTQ1N2UxNTA5YWE3ZDhiMjZmZmRhYzhmY2U2M2M2ZThjZi4u
YWFhODgxOGM5N2JlMDAwYTZiZjEwNzMzZTFjODgxMWM0ODI4ODhlZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dURi93dGYvTWVkaWFUaW1lLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9NZWRpYVRpbWUu
Y3BwCkBAIC05NSwxNCArOTUsMTQgQEAgTWVkaWFUaW1lIE1lZGlhVGltZTo6Y3JlYXRlV2l0aEZs
b2F0KGZsb2F0IGZsb2F0VGltZSwgdWludDMyX3QgdGltZVNjYWxlKQogICAgICAgICByZXR1cm4g
aW52YWxpZFRpbWUoKTsKICAgICBpZiAoc3RkOjppc2luZihmbG9hdFRpbWUpKQogICAgICAgICBy
ZXR1cm4gc3RkOjpzaWduYml0KGZsb2F0VGltZSkgPyBuZWdhdGl2ZUluZmluaXRlVGltZSgpIDog
cG9zaXRpdmVJbmZpbml0ZVRpbWUoKTsKLSAgICBpZiAoZmxvYXRUaW1lID4gc3RkOjpudW1lcmlj
X2xpbWl0czxpbnQ2NF90Pjo6bWF4KCkpCisgICAgaWYgKGZsb2F0VGltZSA+IGZsb2F0KHN0ZDo6
bnVtZXJpY19saW1pdHM8aW50NjRfdD46Om1heCgpKSkKICAgICAgICAgcmV0dXJuIHBvc2l0aXZl
SW5maW5pdGVUaW1lKCk7CiAgICAgaWYgKGZsb2F0VGltZSA8IHN0ZDo6bnVtZXJpY19saW1pdHM8
aW50NjRfdD46Om1pbigpKQogICAgICAgICByZXR1cm4gbmVnYXRpdmVJbmZpbml0ZVRpbWUoKTsK
ICAgICBpZiAoIXRpbWVTY2FsZSkKICAgICAgICAgcmV0dXJuIHN0ZDo6c2lnbmJpdChmbG9hdFRp
bWUpID8gbmVnYXRpdmVJbmZpbml0ZVRpbWUoKSA6IHBvc2l0aXZlSW5maW5pdGVUaW1lKCk7CiAK
LSAgICB3aGlsZSAoZmxvYXRUaW1lICogdGltZVNjYWxlID4gc3RkOjpudW1lcmljX2xpbWl0czxp
bnQ2NF90Pjo6bWF4KCkpCisgICAgd2hpbGUgKGZsb2F0VGltZSAqIHRpbWVTY2FsZSA+IGZsb2F0
KHN0ZDo6bnVtZXJpY19saW1pdHM8aW50NjRfdD46Om1heCgpKSkKICAgICAgICAgdGltZVNjYWxl
IC89IDI7CiAgICAgcmV0dXJuIE1lZGlhVGltZShzdGF0aWNfY2FzdDxpbnQ2NF90PihmbG9hdFRp
bWUgKiB0aW1lU2NhbGUpLCB0aW1lU2NhbGUsIFZhbGlkKTsKIH0KQEAgLTEyNSwxNCArMTI1LDE0
IEBAIE1lZGlhVGltZSBNZWRpYVRpbWU6OmNyZWF0ZVdpdGhEb3VibGUoZG91YmxlIGRvdWJsZVRp
bWUsIHVpbnQzMl90IHRpbWVTY2FsZSkKICAgICAgICAgcmV0dXJuIGludmFsaWRUaW1lKCk7CiAg
ICAgaWYgKHN0ZDo6aXNpbmYoZG91YmxlVGltZSkpCiAgICAgICAgIHJldHVybiBzdGQ6OnNpZ25i
aXQoZG91YmxlVGltZSkgPyBuZWdhdGl2ZUluZmluaXRlVGltZSgpIDogcG9zaXRpdmVJbmZpbml0
ZVRpbWUoKTsKLSAgICBpZiAoZG91YmxlVGltZSA+IHN0ZDo6bnVtZXJpY19saW1pdHM8aW50NjRf
dD46Om1heCgpKQorICAgIGlmIChkb3VibGVUaW1lID4gZG91YmxlKHN0ZDo6bnVtZXJpY19saW1p
dHM8aW50NjRfdD46Om1heCgpKSkKICAgICAgICAgcmV0dXJuIHBvc2l0aXZlSW5maW5pdGVUaW1l
KCk7CiAgICAgaWYgKGRvdWJsZVRpbWUgPCBzdGQ6Om51bWVyaWNfbGltaXRzPGludDY0X3Q+Ojpt
aW4oKSkKICAgICAgICAgcmV0dXJuIG5lZ2F0aXZlSW5maW5pdGVUaW1lKCk7CiAgICAgaWYgKCF0
aW1lU2NhbGUpCiAgICAgICAgIHJldHVybiBzdGQ6OnNpZ25iaXQoZG91YmxlVGltZSkgPyBuZWdh
dGl2ZUluZmluaXRlVGltZSgpIDogcG9zaXRpdmVJbmZpbml0ZVRpbWUoKTsKIAotICAgIHdoaWxl
IChkb3VibGVUaW1lICogdGltZVNjYWxlID4gc3RkOjpudW1lcmljX2xpbWl0czxpbnQ2NF90Pjo6
bWF4KCkpCisgICAgd2hpbGUgKGRvdWJsZVRpbWUgKiB0aW1lU2NhbGUgPiBkb3VibGUoc3RkOjpu
dW1lcmljX2xpbWl0czxpbnQ2NF90Pjo6bWF4KCkpKQogICAgICAgICB0aW1lU2NhbGUgLz0gMjsK
ICAgICByZXR1cm4gTWVkaWFUaW1lKHN0YXRpY19jYXN0PGludDY0X3Q+KHN0ZDo6cm91bmQoZG91
YmxlVGltZSAqIHRpbWVTY2FsZSkpLCB0aW1lU2NhbGUsIFZhbGlkKTsKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3BwCmluZGV4IDdiOWFhMDcwNDNiNWFjNjg2NjZlMTVm
MjFmN2JjYjAxNGQwZDFjZWIuLjI0NTlmMDFiNWFlMjRkYzIwMDQzOWIzZWY5YzczZWI3MDhmNzYx
YjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcApAQCAtNTQ2LDcg
KzU0Niw3IEBAIHRlbXBsYXRlPD4gdW5zaWduZWQgQ1NTUHJpbWl0aXZlVmFsdWU6OmNvbXB1dGVM
ZW5ndGgoY29uc3QgQ1NTVG9MZW5ndGhDb252ZXJzaW9uCiAKIHRlbXBsYXRlPD4gTGVuZ3RoIENT
U1ByaW1pdGl2ZVZhbHVlOjpjb21wdXRlTGVuZ3RoKGNvbnN0IENTU1RvTGVuZ3RoQ29udmVyc2lv
bkRhdGEmIGNvbnZlcnNpb25EYXRhKSBjb25zdAogewotICAgIHJldHVybiBMZW5ndGgoY2xhbXBU
bzxmbG9hdD4oY29tcHV0ZUxlbmd0aERvdWJsZShjb252ZXJzaW9uRGF0YSksIG1pblZhbHVlRm9y
Q3NzTGVuZ3RoLCBtYXhWYWx1ZUZvckNzc0xlbmd0aCksIEZpeGVkKTsKKyAgICByZXR1cm4gTGVu
Z3RoKGNsYW1wVG88ZmxvYXQ+KGNvbXB1dGVMZW5ndGhEb3VibGUoY29udmVyc2lvbkRhdGEpLCBt
aW5WYWx1ZUZvckNzc0xlbmd0aCwgZmxvYXQobWF4VmFsdWVGb3JDc3NMZW5ndGgpKSwgRml4ZWQp
OwogfQogCiB0ZW1wbGF0ZTw+IHNob3J0IENTU1ByaW1pdGl2ZVZhbHVlOjpjb21wdXRlTGVuZ3Ro
KGNvbnN0IENTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEmIGNvbnZlcnNpb25EYXRhKSBjb25zdApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcAppbmRleCBmOTBj
YjhhZDM1Yzk0M2JmODhlYmU4MjgxZjhkOTMzODE5OTI2NDY2Li42YmM2Yjk2ZmE4ZTVjNTc2NGM2
YjFjODMzM2YxZmVjNGM4YjczMzM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQmxvY2tGbG93LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQmxvY2tGbG93LmNwcApAQCAtMTc3OSw3ICsxNzc5LDcgQEAgdm9pZCBSZW5kZXJCbG9ja0Zs
b3c6OmFkanVzdExpbmVQb3NpdGlvbkZvclBhZ2luYXRpb24oUm9vdElubGluZUJveCogbGluZUJv
eCwgTGEKICAgICAgICAgLy8gdG9wIG9mIHRoZSBwYWdlLgogICAgICAgICAvLyBGSVhNRTogV2Ug
YXJlIHN0aWxsIGhvbm9yaW5nIGdpZ2FudGljIG1hcmdpbnMsIHdoaWNoIGRvZXMgbGVhdmUgb3Bl
biB0aGUgcG9zc2liaWxpdHkgb2YgYmxhbmsgcGFnZXMgY2F1c2VkIGJ5IHRoaXMgaGV1cmlzdGlj
LiBJdCByZW1haW5zIHRvIGJlIHNlZW4gd2hldGhlciBvciBub3QKICAgICAgICAgLy8gdGhpcyB3
aWxsIGJlIGEgcmVhbC13b3JsZCBpc3N1ZS4gRm9yIG5vdyB3ZSBkb24ndCB0cnkgdG8gZGVhbCB3
aXRoIHRoaXMgcHJvYmxlbS4KLSAgICAgICAgbG9naWNhbE9mZnNldCA9IGludE1heEZvckxheW91
dFVuaXQ7CisgICAgICAgIGxvZ2ljYWxPZmZzZXQgPSBmbG9hdChpbnRNYXhGb3JMYXlvdXRVbml0
KTsKICAgICAgICAgbG9naWNhbEJvdHRvbSA9IGludE1pbkZvckxheW91dFVuaXQ7CiAgICAgICAg
IGxpbmVCb3gtPmNvbXB1dGVSZXBsYWNlZEFuZFRleHRMaW5lVG9wQW5kQm90dG9tKGxvZ2ljYWxP
ZmZzZXQsIGxvZ2ljYWxCb3R0b20pOwogICAgICAgICBsaW5lSGVpZ2h0ID0gbG9naWNhbEJvdHRv
bSAtIGxvZ2ljYWxPZmZzZXQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHls
ZUJ1aWxkZXJDb252ZXJ0ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQnVpbGRlckNv
bnZlcnRlci5oCmluZGV4IDhkYTNmYTI0NjcxOGMwZTBlNTJmNjlmYmMxODFhZmI3ZTc2NTFhNTMu
LmE0MzAwMjFjMDVhYWY5ZDI3ZjJjNDMyOGI0MDIzMjc4YzVhOTU1ZmMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQnVpbGRlckNvbnZlcnRlci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3N0eWxlL1N0eWxlQnVpbGRlckNvbnZlcnRlci5oCkBAIC0xMTg1LDcgKzExODUsNyBA
QCBpbmxpbmUgT3B0aW9uYWw8TGVuZ3RoPiBCdWlsZGVyQ29udmVydGVyOjpjb252ZXJ0V29yZFNw
YWNpbmcoQnVpbGRlclN0YXRlJiBidWlsZAogICAgIGVsc2UgaWYgKHByaW1pdGl2ZVZhbHVlLmlz
TGVuZ3RoKCkpCiAgICAgICAgIHdvcmRTcGFjaW5nID0gcHJpbWl0aXZlVmFsdWUuY29tcHV0ZUxl
bmd0aDxMZW5ndGg+KGNzc3RvTGVuZ3RoQ29udmVyc2lvbkRhdGFXaXRoVGV4dFpvb21GYWN0b3Io
YnVpbGRlclN0YXRlKSk7CiAgICAgZWxzZSBpZiAocHJpbWl0aXZlVmFsdWUuaXNQZXJjZW50YWdl
KCkpCi0gICAgICAgIHdvcmRTcGFjaW5nID0gTGVuZ3RoKGNsYW1wVG88ZmxvYXQ+KHByaW1pdGl2
ZVZhbHVlLmRvdWJsZVZhbHVlKCksIG1pblZhbHVlRm9yQ3NzTGVuZ3RoLCBtYXhWYWx1ZUZvckNz
c0xlbmd0aCksIFBlcmNlbnQpOworICAgICAgICB3b3JkU3BhY2luZyA9IExlbmd0aChjbGFtcFRv
PGZsb2F0PihwcmltaXRpdmVWYWx1ZS5kb3VibGVWYWx1ZSgpLCBtaW5WYWx1ZUZvckNzc0xlbmd0
aCwgZmxvYXQobWF4VmFsdWVGb3JDc3NMZW5ndGgpKSwgUGVyY2VudCk7CiAgICAgZWxzZSBpZiAo
cHJpbWl0aXZlVmFsdWUuaXNOdW1iZXIoKSkKICAgICAgICAgd29yZFNwYWNpbmcgPSBMZW5ndGgo
cHJpbWl0aXZlVmFsdWUuZG91YmxlVmFsdWUoKSwgRml4ZWQpOwogCmRpZmYgLS1naXQgYS9Ub29s
cy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMTk4NmNlYjc1Njk5MWFlNjI1MzRi
MWIyMmNlZGZhMmU5NTVkNzg0Yy4uMzgyYzM2NTA1YTM2OTZlYTVmNWMzNmNkMDBmYTVhMWE0YWJj
YjVmMiAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE1IEBACisyMDIwLTA0LTAxICBGdWppaSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1
amlpQHNvbnkuY29tPgorCisgICAgICAgIENsYW5nIDEwIHJlcG9ydHMgLVdpbXBsaWNpdC1pbnQt
ZmxvYXQtY29udmVyc2lvbiBjb21waWxhdGlvbiB3YXJuaW5ncworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA0ODM0CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9N
YXRoRXh0cmFzLmNwcDoKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorICAgICAgICAq
IFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9GbG9hdFJlY3QuY3BwOgorICAgICAgICAoVGVz
dFdlYktpdEFQSTo6VEVTVCk6CisKIDIwMjAtMDQtMDEgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFw
cGxlLmNvbT4KIAogICAgICAgICBSZWdyZXNzaW9uKHIyNTc5NjMpIGRpZEZhaWxQcm92aXNpb25h
bE5hdmlnYXRpb24gZGVsZWdhdGUgbm8gbG9uZ2VyIGdldHMgY2FsbGVkIHdoZW4gY2FuY2VsbGlu
ZyBhIGNyb3NzLXNpdGUgcHJvdmlzaW9uYWwgbmF2aWdhdGlvbgpkaWZmIC0tZ2l0IGEvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvTWF0aEV4dHJhcy5jcHAgYi9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dURi9NYXRoRXh0cmFzLmNwcAppbmRleCA2NzZkMzc1ZTk0NmU1ZGNhMzcyZTlm
NGUwMWI5OGRjZTdlZjUyMzFlLi41OGQwOGUyYTgyZmZhZWQxOWRiZDk4NWMwZGI0ZDJiZDlkODJl
YTU2IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9NYXRoRXh0cmFz
LmNwcAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9NYXRoRXh0cmFzLmNwcApA
QCAtOTMsNyArOTMsNyBAQCBURVNUKFdURiwgY2xhbXBUb0ludGVnZXJGbG9hdCkKICAgICAvLyBU
aGlzIHRlc3QgaXMgaW5hY2N1cmF0ZSBhcyBmbG9hdHMgd2lsbCByb3VuZCB0aGUgbWluIC8gbWF4
IGludGVnZXIKICAgICAvLyBkdWUgdG8gdGhlIG5hcnJvdyBtYW50aXNzYS4gSG93ZXZlciBpdCB3
aWxsIHByb3Blcmx5IGNoZWNrcyB3aXRoaW4KICAgICAvLyAoY2xvc2UgdG8gdGhlIGV4dHJlbWUp
IGFuZCBvdXRzaWRlIHRoZSBpbnRlZ2VyIHJhbmdlLgotICAgIGZsb2F0IG1heEludCA9IHN0ZDo6
bnVtZXJpY19saW1pdHM8aW50Pjo6bWF4KCk7CisgICAgZmxvYXQgbWF4SW50ID0gZmxvYXQoc3Rk
OjpudW1lcmljX2xpbWl0czxpbnQ+OjptYXgoKSk7CiAgICAgZmxvYXQgbWluSW50ID0gc3RkOjpu
dW1lcmljX2xpbWl0czxpbnQ+OjptaW4oKTsKICAgICBmbG9hdCBvdmVyZmxvd0ludCA9IG1heElu
dCAqIDEuMTsKICAgICBmbG9hdCB1bmRlcmZsb3dJbnQgPSBtaW5JbnQgKiAxLjE7CmRpZmYgLS1n
aXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvRmxvYXRSZWN0LmNwcCBiL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9GbG9hdFJlY3QuY3BwCmluZGV4IGVmNmRi
MDFlZmU2NjYxYmI2YmQ4ZmI3YjJhNDE0M2MxZGUzYzY4MWMuLmEwYjk1ZDQ1OWNiNDg3NzJlN2I1
OWQ0MGMyNjI0MzMzNmFkNjIzMjQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViQ29yZS9GbG9hdFJlY3QuY3BwCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViQ29yZS9GbG9hdFJlY3QuY3BwCkBAIC03NzAsOCArNzcwLDggQEAgVEVTVChGbG9hdFJlY3Qs
IEVuY2xvc2luZ0ludFJlY3QpCiAgICAgRVhQRUNUX0VRKDc4OSwgZW5jbG9zZWQubWF4WSgpKTsK
IAogICAgIFdlYkNvcmU6OkZsb2F0UmVjdCBtYXhJbnRSZWN0KElOVF9NSU4sIElOVF9NSU4sIDAs
IDApOwotICAgIG1heEludFJlY3Quc2hpZnRNYXhYRWRnZVRvKElOVF9NQVgpOwotICAgIG1heElu
dFJlY3Quc2hpZnRNYXhZRWRnZVRvKElOVF9NQVgpOworICAgIG1heEludFJlY3Quc2hpZnRNYXhY
RWRnZVRvKGZsb2F0KElOVF9NQVgpKTsKKyAgICBtYXhJbnRSZWN0LnNoaWZ0TWF4WUVkZ2VUbyhm
bG9hdChJTlRfTUFYKSk7CiAKICAgICBhdXRvIGVuY2xvc2VkMiA9IFdlYkNvcmU6OmVuY2xvc2lu
Z0ludFJlY3QobWF4SW50UmVjdCk7CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>