<?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>216813</bug_id>
          
          <creation_ts>2020-09-21 20:44:52 -0700</creation_ts>
          <short_desc>REGRESSION(r267383): fast/mediastream/getUserMedia-webaudio.html is failing</short_desc>
          <delta_ts>2020-09-23 08:18:22 -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="Lauro Moura">lmoura</reporter>
          <assigned_to name="Philippe Normand">pnormand</assigned_to>
          <cc>aperez</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>calvaris</cc>
    
    <cc>cdumez</cc>
    
    <cc>dpino</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>pnormand</cc>
    
    <cc>sergio</cc>
    
    <cc>vjaquez</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1690619</commentid>
    <comment_count>0</comment_count>
    <who name="Lauro Moura">lmoura</who>
    <bug_when>2020-09-21 20:44:52 -0700</bug_when>
    <thetext>fast/mediastream/getUserMedia-webaudio.html

--- /home/buildbot/worker/gtk-linux-64-release-tests/build/layout-test-results/fast/mediastream/getUserMedia-webaudio-expected.txt
+++ /home/buildbot/worker/gtk-linux-64-release-tests/build/layout-test-results/fast/mediastream/getUserMedia-webaudio-actual.txt
@@ -2,5 +2,5 @@
 PASS Plugging in getUserMedia audio stream into Web Audio 
 PASS Web Audio should work even if number of channels of a track increases from 1 to 2 
 PASS Web Audio should work with mock audio destination 
-PASS Check echo cancellation can be disabled in getUserMedia call 
+FAIL Check echo cancellation can be disabled in getUserMedia call assert_true: heard noise expected true got false</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1690772</commentid>
    <comment_count>1</comment_count>
    <who name="Diego Pino">dpino</who>
    <bug_when>2020-09-22 10:44:37 -0700</bug_when>
    <thetext>The following test also started failing in the same revision:

  imported/w3c/web-platform-tests/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html [ Failure ]
  webaudio/Analyser/realtimeanalyser-freq-data-smoothing.html [ Failure ]
  webaudio/Analyser/realtimeanalyser-freq-data.html [ Failure ]
  webrtc/audio-peer-connection-webaudio.html [ Failure ]
  webrtc/peer-connection-audio-unmute.html [ Failure ]


Diff: https://build.webkit.org/results/GTK%20Linux%2064-bit%20Release%20(Tests)/r267411%20(15970)/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling-diff.txt

--- /home/buildbot/worker/gtk-linux-64-release-tests/build/layout-test-results/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling-expected.txt
+++ /home/buildbot/worker/gtk-linux-64-release-tests/build/layout-test-results/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling-actual.txt
@@ -3,28 +3,28 @@
 PASS Executing &quot;FFT scaling tests&quot; 
 PASS Audit report 
 PASS &gt; [FFT scaling tests] Test Scaling of FFT in AnalyserNode 
-PASS   32-point FFT peak position is equal to 1. 
-PASS   32-point FFT peak value in dBFS is greater than or equal to -14.43. 
-PASS   64-point FFT peak position is equal to 2. 
-PASS   64-point FFT peak value in dBFS is greater than or equal to -13.56. 
-PASS   128-point FFT peak position is equal to 4. 
-PASS   128-point FFT peak value in dBFS is greater than or equal to -13.56. 
-PASS   256-point FFT peak position is equal to 8. 
-PASS   256-point FFT peak value in dBFS is greater than or equal to -13.56. 
-PASS   512-point FFT peak position is equal to 16. 
-PASS   512-point FFT peak value in dBFS is greater than or equal to -13.56. 
-PASS   1024-point FFT peak position is equal to 32. 
-PASS   1024-point FFT peak value in dBFS is greater than or equal to -13.56. 
-PASS   2048-point FFT peak position is equal to 64. 
-PASS   2048-point FFT peak value in dBFS is greater than or equal to -13.56. 
-PASS   4096-point FFT peak position is equal to 128. 
-PASS   4096-point FFT peak value in dBFS is greater than or equal to -13.56. 
-PASS   8192-point FFT peak position is equal to 256. 
-PASS   8192-point FFT peak value in dBFS is greater than or equal to -13.56. 
-PASS   16384-point FFT peak position is equal to 512. 
-PASS   16384-point FFT peak value in dBFS is greater than or equal to -13.56. 
-PASS   32768-point FFT peak position is equal to 1024. 
-PASS   32768-point FFT peak value in dBFS is greater than or equal to -13.56. 
-PASS &lt; [FFT scaling tests] All assertions passed. (total 22 assertions) 
-PASS # AUDIT TASK RUNNER FINISHED: 1 tasks ran successfully. 
+FAIL X 32-point FFT peak position is not equal to 1. Got 0. assert_true: expected true got false
+FAIL X 32-point FFT peak value in dBFS is not greater than or equal to -14.43. Got -1000. assert_true: expected true got false
+FAIL X 64-point FFT peak position is not equal to 2. Got 0. assert_true: expected true got false
+FAIL X 64-point FFT peak value in dBFS is not greater than or equal to -13.56. Got -1000. assert_true: expected true got false
+FAIL X 128-point FFT peak position is not equal to 4. Got 0. assert_true: expected true got false
+FAIL X 128-point FFT peak value in dBFS is not greater than or equal to -13.56. Got -1000. assert_true: expected true got false
+FAIL X 256-point FFT peak position is not equal to 8. Got 0. assert_true: expected true got false
+FAIL X 256-point FFT peak value in dBFS is not greater than or equal to -13.56. Got -1000. assert_true: expected true got false
+FAIL X 512-point FFT peak position is not equal to 16. Got 0. assert_true: expected true got false
+FAIL X 512-point FFT peak value in dBFS is not greater than or equal to -13.56. Got -1000. assert_true: expected true got false
+FAIL X 1024-point FFT peak position is not equal to 32. Got 0. assert_true: expected true got false
+FAIL X 1024-point FFT peak value in dBFS is not greater than or equal to -13.56. Got -1000. assert_true: expected true got false
+FAIL X 2048-point FFT peak position is not equal to 64. Got 0. assert_true: expected true got false
+FAIL X 2048-point FFT peak value in dBFS is not greater than or equal to -13.56. Got -1000. assert_true: expected true got false
+FAIL X 4096-point FFT peak position is not equal to 128. Got 0. assert_true: expected true got false
+FAIL X 4096-point FFT peak value in dBFS is not greater than or equal to -13.56. Got -1000. assert_true: expected true got false
+FAIL X 8192-point FFT peak position is not equal to 256. Got 0. assert_true: expected true got false
+FAIL X 8192-point FFT peak value in dBFS is not greater than or equal to -13.56. Got -1000. assert_true: expected true got false
+FAIL X 16384-point FFT peak position is not equal to 512. Got 0. assert_true: expected true got false
+FAIL X 16384-point FFT peak value in dBFS is not greater than or equal to -13.56. Got -1000. assert_true: expected true got false
+FAIL X 32768-point FFT peak position is not equal to 1024. Got 0. assert_true: expected true got false
+FAIL X 32768-point FFT peak value in dBFS is not greater than or equal to -13.56. Got -1000. assert_true: expected true got false
+FAIL &lt; [FFT scaling tests] 22 out of 22 assertions were failed. assert_true: expected true got false
+FAIL # AUDIT TASK RUNNER FINISHED: 1 out of 1 tasks were failed. assert_true: expected true got false

Diff: https://build.webkit.org/results/GTK%20Linux%2064-bit%20Release%20(Tests)/r267411%20(15970)/webaudio/Analyser/realtimeanalyser-freq-data-smoothing-diff.txt

--- /home/buildbot/worker/gtk-linux-64-release-tests/build/layout-test-results/webaudio/Analyser/realtimeanalyser-freq-data-smoothing-expected.txt
+++ /home/buildbot/worker/gtk-linux-64-release-tests/build/layout-test-results/webaudio/Analyser/realtimeanalyser-freq-data-smoothing-actual.txt
@@ -3,10 +3,55 @@
 PASS Executing &quot;smoothing test&quot; 
 PASS Audit report 
 PASS &gt; [smoothing test]  
-PASS   First 512-point FFT at frame 512 equals [expected array] with an element-wise tolerance of {&quot;absoluteThreshold&quot;:0,&quot;relativeThreshold&quot;:0.0000059207}. 
-PASS   512-point byte FFT equals [0,0,14,28,43,209,255,255,252,186,37,53,197,242,250,225...] with an element-wise tolerance of {&quot;absoluteThreshold&quot;:0,&quot;relativeThreshold&quot;:0}. 
-PASS   Smoothed 512-point FFT at frame 1536 equals [expected array] with an element-wise tolerance of {&quot;absoluteThreshold&quot;:0,&quot;relativeThreshold&quot;:0.000025332}. 
-PASS   512-point byte FFT equals [19,25,36,46,52,222,255,255,255,199,45,77,209,255,255,238...] with an element-wise tolerance of {&quot;absoluteThreshold&quot;:0,&quot;relativeThreshold&quot;:0}. 
-PASS &lt; [smoothing test] All assertions passed. (total 4 assertions) 
-PASS # AUDIT TASK RUNNER FINISHED: 1 tasks ran successfully. 
+FAIL X First 512-point FFT at frame 512 does not equal [-100,-100,-96.06226348876953,-92.18651580810547,-88.14221954345703,-42.45729446411133,-28.346561431884766,-24.99445915222168,-30.678197860717773,-48.66815185546875,-89.71967315673828,-85.35321807861328,-45.8773307800293,-33.445945739746094,-31.21860694885254,-38.1253547668457...] with an element-wise tolerance of {&quot;absoluteThreshold&quot;:0,&quot;relativeThreshold&quot;:0.0000059207}.
+	Index	Actual			Expected		AbsError		RelError		Test threshold
+	[2]	-1.0000000000000000e+2	-9.6062263488769531e+1	3.9377365112304688e+0	4.0991502471632087e-2	5.6875584343795771e-4
+	[3]	-1.0000000000000000e+2	-9.2186515808105469e+1	7.8134841918945313e+0	8.4757343559431209e-2	5.4580870414505005e-4
+	[4]	-1.0000000000000000e+2	-8.8142219543457031e+1	1.1857780456542969e+1	1.3453008692045348e-1	5.2186363925094603e-4
+	[5]	-1.0000000000000000e+2	-4.2457294464111328e+1	5.7542705535888672e+1	1.3553078749407566e+0	2.5137690333366393e-4
+	[6]	-1.0000000000000000e+2	-2.8346561431884766e+1	7.1653438568115234e+1	2.5277647428346652e+0	1.6783148626976012e-4
+	...and 177 more errors.
+	Max AbsError of 7.5005540847778320e+1 at index of 7.
+	[7]	-1.0000000000000000e+2	-2.4994459152221680e+1	7.5005540847778320e+1	3.0008867321744512e+0	1.4798469430255890e-4
+	Max RelError of 3.0008867321744512e+0 at index of 7.
+	[7]	-1.0000000000000000e+2	-2.4994459152221680e+1	7.5005540847778320e+1	3.0008867321744512e+0	1.4798469430255890e-4
+ assert_true: expected true got false
+FAIL X 512-point byte FFT does not equal [0,0,14,28,43,209,255,255,252,186,37,53,197,242,250,225...] with an element-wise tolerance of {&quot;absoluteThreshold&quot;:0,&quot;relativeThreshold&quot;:0}.
+	Index	Actual			Expected		AbsError		RelError		Test threshold
+	[2]	0.0000000000000000e+0	1.4000000000000000e+1	1.4000000000000000e+1	1.0000000000000000e+0	0.0000000000000000e+0
+	[3]	0.0000000000000000e+0	2.8000000000000000e+1	2.8000000000000000e+1	1.0000000000000000e+0	0.0000000000000000e+0
+	[4]	0.0000000000000000e+0	4.3000000000000000e+1	4.3000000000000000e+1	1.0000000000000000e+0	0.0000000000000000e+0
+	[5]	0.0000000000000000e+0	2.0900000000000000e+2	2.0900000000000000e+2	1.0000000000000000e+0	0.0000000000000000e+0
+	[6]	0.0000000000000000e+0	2.5500000000000000e+2	2.5500000000000000e+2	1.0000000000000000e+0	0.0000000000000000e+0
+	...and 176 more errors.
+	Max AbsError of 2.5500000000000000e+2 at index of 6.
+	Max RelError of 1.0000000000000000e+0 at index of 2.
+ assert_true: expected true got false
+FAIL X Smoothed 512-point FFT at frame 1536 does not equal [-94.55308532714844,-93.13590240478516,-90.07640838623047,-87.21326446533203,-85.55164337158203,-38.93035125732422,-24.825944900512695,-21.471540451049805,-27.1594295501709,-45.108985900878906,-87.53975677490234,-78.74081420898438,-42.37689208984375,-29.92169761657715,-27.697038650512695,-34.60657501220703...] with an element-wise tolerance of {&quot;absoluteThreshold&quot;:0,&quot;relativeThreshold&quot;:0.000025332}.
+	Index	Actual			Expected		AbsError		RelError		Test threshold
+	[0]	-1.0000000000000000e+2	-9.4553085327148438e+1	5.4469146728515625e+0	5.7606948033536290e-2	2.3952187575073244e-3
+	[1]	-1.0000000000000000e+2	-9.3135902404785156e+1	6.8640975952148438e+0	7.3699802310201040e-2	2.3593186797180176e-3
+	[2]	-1.0000000000000000e+2	-9.0076408386230469e+1	9.9235916137695313e+0	1.1016859787769359e-1	2.2818155772399902e-3
+	[3]	-1.0000000000000000e+2	-8.7213264465332031e+1	1.2786735534667969e+1	1.4661457305901901e-1	2.2092864154357912e-3
+	[4]	-1.0000000000000000e+2	-8.5551643371582031e+1	1.4448356628417969e+1	1.6888461821432790e-1	2.1671942298889160e-3
+	...and 187 more errors.
+	Max AbsError of 7.8528459548950195e+1 at index of 7.
+	[7]	-1.0000000000000000e+2	-2.1471540451049805e+1	7.8528459548950195e+1	3.6573276951403231e+0	5.4391706270599371e-4
+	Max RelError of 3.6573276951403231e+0 at index of 7.
+	[7]	-1.0000000000000000e+2	-2.1471540451049805e+1	7.8528459548950195e+1	3.6573276951403231e+0	5.4391706270599371e-4
+ assert_true: expected true got false
+FAIL X 512-point byte FFT does not equal [19,25,36,46,52,222,255,255,255,199,45,77,209,255,255,238...] with an element-wise tolerance of {&quot;absoluteThreshold&quot;:0,&quot;relativeThreshold&quot;:0}.
+	Index	Actual			Expected		AbsError		RelError		Test threshold
+	[0]	0.0000000000000000e+0	1.9000000000000000e+1	1.9000000000000000e+1	1.0000000000000000e+0	0.0000000000000000e+0
+	[1]	0.0000000000000000e+0	2.5000000000000000e+1	2.5000000000000000e+1	1.0000000000000000e+0	0.0000000000000000e+0
+	[2]	0.0000000000000000e+0	3.6000000000000000e+1	3.6000000000000000e+1	1.0000000000000000e+0	0.0000000000000000e+0
+	[3]	0.0000000000000000e+0	4.6000000000000000e+1	4.6000000000000000e+1	1.0000000000000000e+0	0.0000000000000000e+0
+	[4]	0.0000000000000000e+0	5.2000000000000000e+1	5.2000000000000000e+1	1.0000000000000000e+0	0.0000000000000000e+0
+	...and 187 more errors.
+	Max AbsError of 2.5500000000000000e+2 at index of 6.
+	[6]	0.0000000000000000e+0	2.5500000000000000e+2	2.5500000000000000e+2	1.0000000000000000e+0	0.0000000000000000e+0
+	Max RelError of 1.0000000000000000e+0 at index of 0.
+ assert_true: expected true got false
+FAIL &lt; [smoothing test] 4 out of 4 assertions were failed. assert_true: expected true got false
+FAIL # AUDIT TASK RUNNER FINISHED: 1 out of 1 tasks were failed. assert_true: expected true got false
 
Diff: https://build.webkit.org/results/GTK%20Linux%2064-bit%20Release%20(Tests)/r267411%20(15970)/webrtc/audio-peer-connection-webaudio-diff.txt

--- /home/buildbot/worker/gtk-linux-64-release-tests/build/layout-test-results/webrtc/audio-peer-connection-webaudio-expected.txt
+++ /home/buildbot/worker/gtk-linux-64-release-tests/build/layout-test-results/webrtc/audio-peer-connection-webaudio-actual.txt
@@ -1,3 +1,3 @@
 
-PASS Basic audio playback through a peer connection 
+FAIL Basic audio playback through a peer connection assert_true: heard hum bip bop expected true got false
 
Diff: https://build.webkit.org/results/GTK%20Linux%2064-bit%20Release%20(Tests)/r267411%20(15970)/webrtc/peer-connection-audio-unmute-diff.txt

--- /home/buildbot/worker/gtk-linux-64-release-tests/build/layout-test-results/webrtc/peer-connection-audio-unmute-expected.txt
+++ /home/buildbot/worker/gtk-linux-64-release-tests/build/layout-test-results/webrtc/peer-connection-audio-unmute-actual.txt
@@ -1,3 +1,3 @@
 
-PASS Muting a local audio track before adding it should be correctly handled 
+FAIL Muting a local audio track before adding it should be correctly handled assert_true: Should hear hum expected true got false</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1690786</commentid>
    <comment_count>2</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-09-22 11:22:22 -0700</bug_when>
    <thetext>Something is wrong with the FFTFrameGsteamer implementation it seems.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1690806</commentid>
    <comment_count>3</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-09-22 12:05:21 -0700</bug_when>
    <thetext>I re-introduced the GTK-specific implementation of FFTFrame::multiply() in &lt;https://trac.webkit.org/changeset/267428&gt; to try and be more conservative.

I could use help from a GTK person to figure out these issues if they persist since I am unable to reproduce the issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1690810</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-09-22 12:11:18 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #3)
&gt; I re-introduced the GTK-specific implementation of FFTFrame::multiply() in
&gt; &lt;https://trac.webkit.org/changeset/267428&gt; to try and be more conservative.
&gt; 
&gt; I could use help from a GTK person to figure out these issues if they
&gt; persist since I am unable to reproduce the issue.

One difference between the GTK and the Mac implementation is that FFTFrame::multiply() does this on Mac but not on GTK:
    // Multiply the packed DC/nyquist component
    realP1[0] = real0 * realP2[0];
    imagP1[0] = imag0 * imagP2[0];</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1690812</commentid>
    <comment_count>5</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-09-22 12:14:28 -0700</bug_when>
    <thetext>Would anyone be able to try to following change to see if it helps?

diff --git a/Source/WebCore/platform/audio/gstreamer/FFTFrameGStreamer.cpp b/Source/WebCore/platform/audio/gstreamer/FFTFrameGStreamer.cpp
index 213dd93d8540..21438f80aa1a 100644
--- a/Source/WebCore/platform/audio/gstreamer/FFTFrameGStreamer.cpp
+++ b/Source/WebCore/platform/audio/gstreamer/FFTFrameGStreamer.cpp
@@ -113,8 +113,15 @@ void FFTFrame::multiply(const FFTFrame&amp; frame)
     const float* realP2 = frame2.realData();
     const float* imagP2 = frame2.imagData();
 
+    float real0 = realP1[0];
+    float imag0 = imagP1[0];
+
     size_t size = unpackedFFTDataSize(m_FFTSize);
     VectorMath::zvmul(realP1, imagP1, realP2, imagP2, realP1, imagP1, size);
+
+    // Multiply the packed DC/nyquist component
+    realP1[0] = real0 * realP2[0];
+    imagP1[0] = imag0 * imagP2[0];
 }
 
 void FFTFrame::doFFT(const float* data)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1691064</commentid>
    <comment_count>6</comment_count>
    <who name="Víctor M. Jáquez L.">vjaquez</who>
    <bug_when>2020-09-23 04:09:02 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #5)
&gt; Would anyone be able to try to following change to see if it helps?
&gt; 
&gt; diff --git a/Source/WebCore/platform/audio/gstreamer/FFTFrameGStreamer.cpp
&gt; b/Source/WebCore/platform/audio/gstreamer/FFTFrameGStreamer.cpp
&gt; index 213dd93d8540..21438f80aa1a 100644
&gt; --- a/Source/WebCore/platform/audio/gstreamer/FFTFrameGStreamer.cpp
&gt; +++ b/Source/WebCore/platform/audio/gstreamer/FFTFrameGStreamer.cpp
&gt; @@ -113,8 +113,15 @@ void FFTFrame::multiply(const FFTFrame&amp; frame)
&gt;      const float* realP2 = frame2.realData();
&gt;      const float* imagP2 = frame2.imagData();
&gt;  
&gt; +    float real0 = realP1[0];
&gt; +    float imag0 = imagP1[0];
&gt; +
&gt;      size_t size = unpackedFFTDataSize(m_FFTSize);
&gt;      VectorMath::zvmul(realP1, imagP1, realP2, imagP2, realP1, imagP1, size);
&gt; +
&gt; +    // Multiply the packed DC/nyquist component
&gt; +    realP1[0] = real0 * realP2[0];
&gt; +    imagP1[0] = imag0 * imagP2[0];
&gt;  }
&gt;  
&gt;  void FFTFrame::doFFT(const float* data)

This patch, doing a preliminary test, seems to fix 

imported/w3c/web-platform-tests/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html
webaudio/Analyser/realtimeanalyser-freq-data-smoothing.html
webaudio/Analyser/realtimeanalyser-freq-data.html
webrtc/audio-peer-connection-webaudio.html
webrtc/peer-connection-audio-unmute.html

But not fast/mediastream/getUserMedia-webaudio.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1691068</commentid>
    <comment_count>7</comment_count>
    <who name="Víctor M. Jáquez L.">vjaquez</who>
    <bug_when>2020-09-23 04:19:32 -0700</bug_when>
    <thetext>(In reply to Víctor M. Jáquez L. from comment #6)
&gt; (In reply to Chris Dumez from comment #5)
&gt; &gt; Would anyone be able to try to following change to see if it helps?
&gt; &gt; 
&gt; &gt; diff --git a/Source/WebCore/platform/audio/gstreamer/FFTFrameGStreamer.cpp
&gt; &gt; b/Source/WebCore/platform/audio/gstreamer/FFTFrameGStreamer.cpp
&gt; &gt; index 213dd93d8540..21438f80aa1a 100644
&gt; &gt; --- a/Source/WebCore/platform/audio/gstreamer/FFTFrameGStreamer.cpp
&gt; &gt; +++ b/Source/WebCore/platform/audio/gstreamer/FFTFrameGStreamer.cpp
&gt; &gt; @@ -113,8 +113,15 @@ void FFTFrame::multiply(const FFTFrame&amp; frame)
&gt; &gt;      const float* realP2 = frame2.realData();
&gt; &gt;      const float* imagP2 = frame2.imagData();
&gt; &gt;  
&gt; &gt; +    float real0 = realP1[0];
&gt; &gt; +    float imag0 = imagP1[0];
&gt; &gt; +
&gt; &gt;      size_t size = unpackedFFTDataSize(m_FFTSize);
&gt; &gt;      VectorMath::zvmul(realP1, imagP1, realP2, imagP2, realP1, imagP1, size);
&gt; &gt; +
&gt; &gt; +    // Multiply the packed DC/nyquist component
&gt; &gt; +    realP1[0] = real0 * realP2[0];
&gt; &gt; +    imagP1[0] = imag0 * imagP2[0];
&gt; &gt;  }
&gt; &gt;  
&gt; &gt;  void FFTFrame::doFFT(const float* data)
&gt; 
&gt; This patch, doing a preliminary test, seems to fix 
&gt; 
&gt; imported/w3c/web-platform-tests/webaudio/the-audio-api/the-analysernode-
&gt; interface/realtimeanalyser-fft-scaling.html
&gt; webaudio/Analyser/realtimeanalyser-freq-data-smoothing.html
&gt; webaudio/Analyser/realtimeanalyser-freq-data.html
&gt; webrtc/audio-peer-connection-webaudio.html
&gt; webrtc/peer-connection-audio-unmute.html
&gt; 
&gt; But not fast/mediastream/getUserMedia-webaudio.html

False alarm. Sorry, I didn&apos;t unflagged the tests. :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1691072</commentid>
    <comment_count>8</comment_count>
      <attachid>409462</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-09-23 05:01:11 -0700</bug_when>
    <thetext>Created attachment 409462
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1691088</commentid>
    <comment_count>9</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-09-23 06:36:48 -0700</bug_when>
    <thetext>Committed r267471: &lt;https://trac.webkit.org/changeset/267471&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1691089</commentid>
    <comment_count>10</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-09-23 06:37:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/69432656&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1691112</commentid>
    <comment_count>11</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-09-23 08:18:22 -0700</bug_when>
    <thetext>Nice, Thanks for fixing Philippe!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>409462</attachid>
            <date>2020-09-23 05:01:11 -0700</date>
            <delta_ts>2020-09-23 06:09:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216813-20200923050110.patch</filename>
            <type>text/plain</type>
            <size>19499</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY3NDY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTA2N2Q1ZWRjNDQ5NTNi
NzkzMzNlZmZiYmI1ZGEyMzdiOGNhOTYyNy4uZGVkODgxOTBmZjhmZWE3NWQ4M2FlYWU3MzA5Yjk1
OTI0ODZjMjkyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIwLTA5LTIzICBQaGls
aXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9O
KHIyNjczODMpOiBmYXN0L21lZGlhc3RyZWFtL2dldFVzZXJNZWRpYS13ZWJhdWRpby5odG1sIGlz
IGZhaWxpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIxNjgxMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFJldmVydCByMjY3NDI4IGFuZCBmaXh1cCB0aGUgR1N0cmVhbWVyIEZGVCBpbXBsZW1lbnRhdGlv
biB3aGljaCBicm9rZSBpbiByMjY3MzgzLgorCisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vRkZU
RnJhbWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RkZURnJhbWU6Om11bHRpcGx5KToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9hdWRpby9GRlRGcmFtZVN0dWIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
RkZURnJhbWU6Om11bHRpcGx5KTogRGVsZXRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9n
c3RyZWFtZXIvRkZURnJhbWVHU3RyZWFtZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RkZURnJh
bWU6OmRvRkZUKTogVXBkYXRlIHRoZSByZWFsIGFuZCBpbWFnaW5hcnkgYXJyYXlzIGFmdGVyIGFw
cGx5aW5nIHRoZSBGRlQuCisgICAgICAgIChXZWJDb3JlOjpGRlRGcmFtZTo6bXVsdGlwbHkpOiBE
ZWxldGVkLgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL21hYy9GRlRGcmFtZU1hYy5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpGRlRGcmFtZTo6bXVsdGlwbHkpOiBEZWxldGVkLgorCiAyMDIwLTA5
LTIzICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0xGQ11bSUZD
XSBSZW1vdmUgcmVkdW5kYW50IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmxheW91dEZvcm1hdHRp
bmdDb250ZXh0SW50ZWdyYXRpb25FbmFibGVkIGZyb20gTGluZTo6UnVuOjpoYXNUcmFpbGluZ0xl
dHRlclNwYWNpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0ZG
VEZyYW1lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0ZGVEZyYW1lLmNwcApp
bmRleCBiMTM1MjMwZmFmNDdlNTVlYmZlYTNiODFmNTc3MWI0MDMxNjNmODdjLi45YTNjMzE3MmU4
MDQ2ODczMGIyOTA5OGQyZGI2Y2ZkNTE2YzgzYWU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9hdWRpby9GRlRGcmFtZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vYXVkaW8vRkZURnJhbWUuY3BwCkBAIC0xNzksNiArMTc5LDI4IEBAIHZvaWQgRkZURnJhbWU6
OnNjYWxlRkZUKGZsb2F0IGZhY3RvcikKICAgICBWZWN0b3JNYXRoOjp2c211bChpbWFnRGF0YSgp
LCAxLCAmZmFjdG9yLCBpbWFnRGF0YSgpLCAxLCBmZnRTaXplKCkpOwogfQogCit2b2lkIEZGVEZy
YW1lOjptdWx0aXBseShjb25zdCBGRlRGcmFtZSYgZnJhbWUpCit7CisgICAgRkZURnJhbWUmIGZy
YW1lMSA9ICp0aGlzOworICAgIGNvbnN0IEZGVEZyYW1lJiBmcmFtZTIgPSBmcmFtZTsKKworICAg
IGZsb2F0KiByZWFsUDEgPSBmcmFtZTEucmVhbERhdGEoKTsKKyAgICBmbG9hdCogaW1hZ1AxID0g
ZnJhbWUxLmltYWdEYXRhKCk7CisgICAgY29uc3QgZmxvYXQqIHJlYWxQMiA9IGZyYW1lMi5yZWFs
RGF0YSgpOworICAgIGNvbnN0IGZsb2F0KiBpbWFnUDIgPSBmcmFtZTIuaW1hZ0RhdGEoKTsKKwor
ICAgIHVuc2lnbmVkIGhhbGZTaXplID0gbV9GRlRTaXplIC8gMjsKKyAgICBmbG9hdCByZWFsMCA9
IHJlYWxQMVswXTsKKyAgICBmbG9hdCBpbWFnMCA9IGltYWdQMVswXTsKKworICAgIC8vIENvbXBs
ZXggbXVsdGlwbHkKKyAgICBWZWN0b3JNYXRoOjp6dm11bChyZWFsUDEsIGltYWdQMSwgcmVhbFAy
LCBpbWFnUDIsIHJlYWxQMSwgaW1hZ1AxLCBoYWxmU2l6ZSk7CisKKyAgICAvLyBNdWx0aXBseSB0
aGUgcGFja2VkIERDL255cXVpc3QgY29tcG9uZW50CisgICAgcmVhbFAxWzBdID0gcmVhbDAgKiBy
ZWFsUDJbMF07CisgICAgaW1hZ1AxWzBdID0gaW1hZzAgKiBpbWFnUDJbMF07Cit9CisKIGRvdWJs
ZSBGRlRGcmFtZTo6ZXh0cmFjdEF2ZXJhZ2VHcm91cERlbGF5KCkKIHsKICAgICBmbG9hdCogcmVh
bFAgPSByZWFsRGF0YSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVk
aW8vRkZURnJhbWVTdHViLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0ZGVEZy
YW1lU3R1Yi5jcHAKaW5kZXggM2U0MjU3YTAyNGI4ODZmMTVlZDdkY2M1ZTViYmZjYWFkMTkxMWYy
Ny4uOTA4NTI0ZjZjMzEyZjVjZmI5ZjIwYTUzZDlkNzdhNmQ3OTJmOTdjOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vRkZURnJhbWVTdHViLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9GRlRGcmFtZVN0dWIuY3BwCkBAIC02NCwxMSArNjQs
NiBAQCBGRlRGcmFtZTo6fkZGVEZyYW1lKCkKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKIH0K
IAotdm9pZCBGRlRGcmFtZTo6bXVsdGlwbHkoY29uc3QgRkZURnJhbWUmIGZyYW1lKQotewotICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotfQotCiB2b2lkIEZGVEZyYW1lOjpkb0ZGVChjb25zdCBm
bG9hdCogZGF0YSkKIHsKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2dzdHJlYW1lci9GRlRGcmFtZUdTdHJlYW1lci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9nc3RyZWFtZXIvRkZURnJhbWVHU3Ry
ZWFtZXIuY3BwCmluZGV4IDIxM2RkOTNkODU0MDc1NTVhNTEzYjExY2I5NjE1ODhmZWFkMmQ2YmMu
LmExNWQ1MWVmOTllMWQ4YmM1NzNhMmViNDU3Y2M0NTBkMThiNjU2MzEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2dzdHJlYW1lci9GRlRGcmFtZUdTdHJlYW1lci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vZ3N0cmVhbWVyL0ZGVEZyYW1l
R1N0cmVhbWVyLmNwcApAQCAtMTAzLDIzICsxMDMsMTYgQEAgRkZURnJhbWU6On5GRlRGcmFtZSgp
CiAgICAgbV9pbnZlcnNlRmZ0ID0gMDsKIH0KIAotdm9pZCBGRlRGcmFtZTo6bXVsdGlwbHkoY29u
c3QgRkZURnJhbWUmIGZyYW1lKQotewotICAgIEZGVEZyYW1lJiBmcmFtZTEgPSAqdGhpczsKLSAg
ICBGRlRGcmFtZSYgZnJhbWUyID0gY29uc3RfY2FzdDxGRlRGcmFtZSY+KGZyYW1lKTsKLQotICAg
IGZsb2F0KiByZWFsUDEgPSBmcmFtZTEucmVhbERhdGEoKTsKLSAgICBmbG9hdCogaW1hZ1AxID0g
ZnJhbWUxLmltYWdEYXRhKCk7Ci0gICAgY29uc3QgZmxvYXQqIHJlYWxQMiA9IGZyYW1lMi5yZWFs
RGF0YSgpOwotICAgIGNvbnN0IGZsb2F0KiBpbWFnUDIgPSBmcmFtZTIuaW1hZ0RhdGEoKTsKLQot
ICAgIHNpemVfdCBzaXplID0gdW5wYWNrZWRGRlREYXRhU2l6ZShtX0ZGVFNpemUpOwotICAgIFZl
Y3Rvck1hdGg6Onp2bXVsKHJlYWxQMSwgaW1hZ1AxLCByZWFsUDIsIGltYWdQMiwgcmVhbFAxLCBp
bWFnUDEsIHNpemUpOwotfQotCiB2b2lkIEZGVEZyYW1lOjpkb0ZGVChjb25zdCBmbG9hdCogZGF0
YSkKIHsKICAgICBnc3RfZmZ0X2YzMl9mZnQobV9mZnQsIGRhdGEsIG1fY29tcGxleERhdGEuZ2V0
KCkpOworCisgICAgZmxvYXQqIGltYWdEYXRhID0gbV9pbWFnRGF0YS5kYXRhKCk7CisgICAgZmxv
YXQqIHJlYWxEYXRhID0gbV9yZWFsRGF0YS5kYXRhKCk7CisgICAgZm9yICh1bnNpZ25lZCBpID0g
MDsgaSA8IHVucGFja2VkRkZURGF0YVNpemUobV9GRlRTaXplKTsgKytpKSB7CisgICAgICAgIGlt
YWdEYXRhW2ldID0gbV9jb21wbGV4RGF0YVtpXS5pOworICAgICAgICByZWFsRGF0YVtpXSA9IG1f
Y29tcGxleERhdGFbaV0ucjsKKyAgICB9CiB9CiAKIHZvaWQgRkZURnJhbWU6OmRvSW52ZXJzZUZG
VChmbG9hdCogZGF0YSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlv
L21hYy9GRlRGcmFtZU1hYy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9tYWMv
RkZURnJhbWVNYWMuY3BwCmluZGV4IDgwM2IzNDNkYzJkNGQ1Njg1MWIxOWMwMTlkODVkM2MxNzQw
MTFkYmIuLjM3YmU3YTZmZWI3MWMwMWI0ZWY2NTg0ZTUxZWZlOWMwYWZmZGI0MmUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL21hYy9GRlRGcmFtZU1hYy5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vbWFjL0ZGVEZyYW1lTWFjLmNwcApAQCAt
OTcsMjggKzk3LDYgQEAgRkZURnJhbWU6OkZGVEZyYW1lKGNvbnN0IEZGVEZyYW1lJiBmcmFtZSkK
IAogRkZURnJhbWU6On5GRlRGcmFtZSgpID0gZGVmYXVsdDsKIAotdm9pZCBGRlRGcmFtZTo6bXVs
dGlwbHkoY29uc3QgRkZURnJhbWUmIGZyYW1lKQotewotICAgIEZGVEZyYW1lJiBmcmFtZTEgPSAq
dGhpczsKLSAgICBjb25zdCBGRlRGcmFtZSYgZnJhbWUyID0gZnJhbWU7Ci0KLSAgICBmbG9hdCog
cmVhbFAxID0gZnJhbWUxLnJlYWxEYXRhKCk7Ci0gICAgZmxvYXQqIGltYWdQMSA9IGZyYW1lMS5p
bWFnRGF0YSgpOwotICAgIGNvbnN0IGZsb2F0KiByZWFsUDIgPSBmcmFtZTIucmVhbERhdGEoKTsK
LSAgICBjb25zdCBmbG9hdCogaW1hZ1AyID0gZnJhbWUyLmltYWdEYXRhKCk7Ci0KLSAgICB1bnNp
Z25lZCBoYWxmU2l6ZSA9IG1fRkZUU2l6ZSAvIDI7Ci0gICAgZmxvYXQgcmVhbDAgPSByZWFsUDFb
MF07Ci0gICAgZmxvYXQgaW1hZzAgPSBpbWFnUDFbMF07Ci0KLSAgICAvLyBDb21wbGV4IG11bHRp
cGx5Ci0gICAgVmVjdG9yTWF0aDo6enZtdWwocmVhbFAxLCBpbWFnUDEsIHJlYWxQMiwgaW1hZ1Ay
LCByZWFsUDEsIGltYWdQMSwgaGFsZlNpemUpOwotCi0gICAgLy8gTXVsdGlwbHkgdGhlIHBhY2tl
ZCBEQy9ueXF1aXN0IGNvbXBvbmVudAotICAgIHJlYWxQMVswXSA9IHJlYWwwICogcmVhbFAyWzBd
OwotICAgIGltYWdQMVswXSA9IGltYWcwICogaW1hZ1AyWzBdOwotfQotCiB2b2lkIEZGVEZyYW1l
Ojpkb0ZGVChjb25zdCBmbG9hdCogZGF0YSkKIHsKICAgICB1bnNpZ25lZCBoYWxmU2l6ZSA9IG1f
RkZUU2l6ZSAvIDI7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKaW5kZXggYWIzMzZjYWMzYTQxMDVmZTk2ZTU3ZjM4ODQ0ZDU1M2MzNWNh
NTlmYi4uZGEyZDVmYzE2MmEyMDc2M2I1NGE1MmQ5NGMyMmIzYmMyZGZjZjRiYyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE4IEBACisyMDIwLTA5LTIzICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdh
bGlhLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OKHIyNjczODMpOiBmYXN0L21lZGlhc3RyZWFt
L2dldFVzZXJNZWRpYS13ZWJhdWRpby5odG1sIGlzIGZhaWxpbmcKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNjgxMworCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVuZmxhZyBwYXNzaW5nIHRlc3RzLgorCisg
ICAgICAgICogcGxhdGZvcm0vZ2xpYi9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRm
b3JtL2dsaWIvd2ViYXVkaW8vQW5hbHlzZXIvcmVhbHRpbWVhbmFseXNlci1mZnRzaXplLXJlc2V0
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9nbGliL3dlYmF1ZGlvL0FuYWx5c2Vy
L3JlYWx0aW1lYW5hbHlzZXItZnJlcS1kYXRhLWV4cGVjdGVkLnR4dDogQWRkZWQuIFRoZXJlJ3MK
KyAgICAgICAgc3RpbGwgYSBGQUlMIHRlc3QgdGhlcmUgdGhvdWdoLgorICAgICAgICAqIHBsYXRm
b3JtL2dsaWIvd2ViYXVkaW8vQW5hbHlzZXIvcmVhbHRpbWVhbmFseXNlci1tdWx0aXBsZS1jYWxs
cy1leHBlY3RlZC50eHQ6CisKIDIwMjAtMDktMjMgIERpZWdvIFBpbm8gR2FyY2lhICA8ZHBpbm9A
aWdhbGlhLmNvbT4KIAogICAgICAgICBbR0xJQl0gVW5yZXZpZXdlZCB0ZXN0IGdhcmRlbmluZy4g
R2FyZGVuIG1vcmUgZmFpbHVyZXMgaW4gd2ViYXVkaW8gYW5kIHdlYnJ0YyB0ZXN0cy4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2dsaWIvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL2dsaWIvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA3YWI4NDJlYTMxZDE2
Y2I3Y2M3OTdlYzJlMjg0YjZmNTNkMDU5NDJiLi5mZTZkNDI0NTc1ZjAxOTMzOTIwZjRhMTRkNTlh
NDBiMzhiMDkyNTY1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9nbGliL1Rlc3RF
eHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ2xpYi9UZXN0RXhwZWN0YXRp
b25zCkBAIC0yNzcsMTggKzI3Nyw2IEBAIHdlYmtpdC5vcmcvYi8yMTYxNzEgaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJhdWRpby90aGUtYXVkaW8tYXBpL3RoZS1kCiB3ZWJraXQu
b3JnL2IvMjE2MTE4IHdlYmF1ZGlvL2NvbnZvbHZlci1zZXRCdWZmZXItZGlmZmVyZW50LXNhbXBs
ZXJhdGUuaHRtbCBbIFNraXAgXQogd2Via2l0Lm9yZy9iLzIxNjExOCB3ZWJhdWRpby9jb252b2x2
ZXItc2V0QnVmZmVyLW51bGwuaHRtbCBbIFNraXAgXQogCi13ZWJraXQub3JnL2IvMjE2ODEzIGZh
c3QvbWVkaWFzdHJlYW0vZ2V0VXNlck1lZGlhLXdlYmF1ZGlvLmh0bWwgWyBGYWlsdXJlIF0KLXdl
YmtpdC5vcmcvYi8yMTY4MTMgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJhdWRp
by90aGUtYXVkaW8tYXBpL3RoZS1hbmFseXNlcm5vZGUtaW50ZXJmYWNlL3JlYWx0aW1lYW5hbHlz
ZXItZmZ0LXNjYWxpbmcuaHRtbCBbIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzIxNjgxMyB3ZWJh
dWRpby9BbmFseXNlci9yZWFsdGltZWFuYWx5c2VyLWZyZXEtZGF0YS1zbW9vdGhpbmcuaHRtbCBb
IEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzIxNjgxMyB3ZWJhdWRpby9BbmFseXNlci9yZWFsdGlt
ZWFuYWx5c2VyLWZyZXEtZGF0YS5odG1sIFsgRmFpbHVyZSBdCi13ZWJraXQub3JnL2IvMjE2ODEz
IHdlYmF1ZGlvL0F1ZGlvUGFyYW0vYXVkaW9wYXJhbS1rLXJhdGUuaHRtbCBbIENyYXNoIF0KLXdl
YmtpdC5vcmcvYi8yMTY4MTMgd2VicnRjL2F1ZGlvLXBlZXItY29ubmVjdGlvbi13ZWJhdWRpby5o
dG1sIFsgRmFpbHVyZSBdCi13ZWJraXQub3JnL2IvMjE2ODEzIHdlYnJ0Yy9wZWVyLWNvbm5lY3Rp
b24tYXVkaW8tdW5tdXRlLmh0bWwgWyBGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi8yMTY4MTMgd2Vi
cnRjL3BlZXItY29ubmVjdGlvbi1yZW1vdGUtYXVkaW8tbXV0ZTIuaHRtbCBbIEZhaWx1cmUgXQot
IyBUZXN0cyBiZWxvdyBhcmUgdGltaW5nIG91dC4KLXdlYmtpdC5vcmcvYi8yMTY4MTMgd2VicnRj
L3BlZXItY29ubmVjdGlvbi1hdWRpby1tdXRlLmh0bWwgWyBTa2lwIF0KLXdlYmtpdC5vcmcvYi8y
MTY4MTMgd2VicnRjL3BlZXItY29ubmVjdGlvbi1yZW1vdGUtYXVkaW8tbXV0ZS5odG1sIFsgU2tp
cCBdCi0KICMvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCiAjIEVuZCBvZiBHU3RyZWFt
ZXItcmVsYXRlZCBidWdzCiAjLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ2xpYi93ZWJhdWRpby9BbmFseXNlci9yZWFsdGlt
ZWFuYWx5c2VyLWZmdHNpemUtcmVzZXQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vZ2xpYi93ZWJhdWRpby9BbmFseXNlci9yZWFsdGltZWFuYWx5c2VyLWZmdHNpemUtcmVzZXQt
ZXhwZWN0ZWQudHh0CmluZGV4IGQ0NDczODgwOTNlYTIxNmEyNDc5ODY3MTRkZDEwZWFlNjY2M2M0
YTIuLjNjMGRhMTJiMjYwZTI1YTk2MjY3YzE4ODczZDk3YWU1NWMxNGRmYTAgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL2dsaWIvd2ViYXVkaW8vQW5hbHlzZXIvcmVhbHRpbWVhbmFs
eXNlci1mZnRzaXplLXJlc2V0LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9nbGliL3dlYmF1ZGlvL0FuYWx5c2VyL3JlYWx0aW1lYW5hbHlzZXItZmZ0c2l6ZS1yZXNldC1l
eHBlY3RlZC50eHQKQEAgLTUsMTEgKzUsMTEgQEAgUEFTUyBFeGVjdXRpbmcgIjUxMi0+MjU2Igog
UEFTUyBBdWRpdCByZXBvcnQgCiBQQVNTID4gWzEyOC0+MTAyNF0gIAogUEFTUyAgIFRpbWUgZGF0
YSBlcXVhbHMgW2V4cGVjdGVkIGFycmF5XSB3aXRoIGFuIGVsZW1lbnQtd2lzZSB0b2xlcmFuY2Ug
b2YgeyJhYnNvbHV0ZVRocmVzaG9sZCI6MCwicmVsYXRpdmVUaHJlc2hvbGQiOjB9LiAKLVBBU1Mg
ICBMaW5lYXIgRkZUIGRhdGEgYWZ0ZXIgc2V0dGluZyBmZnRTaXplID0gMTAyNCBlcXVhbHMgWzAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAuLi5dIHdpdGggYW4gZWxlbWVudC13aXNlIHRv
bGVyYW5jZSBvZiB7ImFic29sdXRlVGhyZXNob2xkIjowLCJyZWxhdGl2ZVRocmVzaG9sZCI6MC4w
MDAwMDE5NDU1fS4gCitQQVNTICAgTGluZWFyIEZGVCBkYXRhIGFmdGVyIHNldHRpbmcgZmZ0U2l6
ZSA9IDEwMjQgZXF1YWxzIFtleHBlY3RlZCBhcnJheV0gd2l0aCBhbiBlbGVtZW50LXdpc2UgdG9s
ZXJhbmNlIG9mIHsiYWJzb2x1dGVUaHJlc2hvbGQiOjAsInJlbGF0aXZlVGhyZXNob2xkIjowLjAw
MDAwMTk0NTV9LiAKIFBBU1MgPCBbMTI4LT4xMDI0XSBBbGwgYXNzZXJ0aW9ucyBwYXNzZWQuICh0
b3RhbCAyIGFzc2VydGlvbnMpIAogUEFTUyA+IFs1MTItPjI1Nl0gIAogUEFTUyAgIFRpbWUgZGF0
YSBlcXVhbHMgW2V4cGVjdGVkIGFycmF5XSB3aXRoIGFuIGVsZW1lbnQtd2lzZSB0b2xlcmFuY2Ug
b2YgeyJhYnNvbHV0ZVRocmVzaG9sZCI6MCwicmVsYXRpdmVUaHJlc2hvbGQiOjB9LiAKLVBBU1Mg
ICBMaW5lYXIgRkZUIGRhdGEgYWZ0ZXIgc2V0dGluZyBmZnRTaXplID0gMjU2IGVxdWFscyBbMCww
LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMC4uLl0gd2l0aCBhbiBlbGVtZW50LXdpc2UgdG9s
ZXJhbmNlIG9mIHsiYWJzb2x1dGVUaHJlc2hvbGQiOjAsInJlbGF0aXZlVGhyZXNob2xkIjowLjAw
MDAwMTg1OTJ9LiAKK1BBU1MgICBMaW5lYXIgRkZUIGRhdGEgYWZ0ZXIgc2V0dGluZyBmZnRTaXpl
ID0gMjU2IGVxdWFscyBbZXhwZWN0ZWQgYXJyYXldIHdpdGggYW4gZWxlbWVudC13aXNlIHRvbGVy
YW5jZSBvZiB7ImFic29sdXRlVGhyZXNob2xkIjowLCJyZWxhdGl2ZVRocmVzaG9sZCI6MC4wMDAw
MDE4NTkyfS4gCiBQQVNTIDwgWzUxMi0+MjU2XSBBbGwgYXNzZXJ0aW9ucyBwYXNzZWQuICh0b3Rh
bCAyIGFzc2VydGlvbnMpIAogUEFTUyAjIEFVRElUIFRBU0sgUlVOTkVSIEZJTklTSEVEOiAyIHRh
c2tzIHJhbiBzdWNjZXNzZnVsbHkuIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9nbGliL3dlYmF1ZGlvL0FuYWx5c2VyL3JlYWx0aW1lYW5hbHlzZXItZnJlcS1kYXRhLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2dsaWIvd2ViYXVkaW8vQW5hbHlzZXIvcmVh
bHRpbWVhbmFseXNlci1mcmVxLWRhdGEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVjMTllMWY1
ZDhkNjFiZjA4N2NkYThhYjE2NzllMDI3NzcwNDc0YjEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9nbGliL3dlYmF1ZGlvL0FuYWx5c2VyL3JlYWx0aW1lYW5hbHlzZXIt
ZnJlcS1kYXRhLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDkxIEBACisKK1BBU1MgIyBBVURJVCBU
QVNLIFJVTk5FUiBTVEFSVEVELiAKK1BBU1MgRXhlY3V0aW5nICI1LW9yZGVyIEZGVCIgCitQQVNT
IEV4ZWN1dGluZyAiNi1vcmRlciBGRlQiIAorUEFTUyBFeGVjdXRpbmcgIjctb3JkZXIgRkZUIiAK
K1BBU1MgRXhlY3V0aW5nICI4LW9yZGVyIEZGVCIgCitQQVNTIEV4ZWN1dGluZyAiOS1vcmRlciBG
RlQiIAorUEFTUyBFeGVjdXRpbmcgIjEwLW9yZGVyIEZGVCIgCitQQVNTIEV4ZWN1dGluZyAiMTEt
b3JkZXIgRkZUIiAKK1BBU1MgRXhlY3V0aW5nICIxMi1vcmRlciBGRlQiIAorUEFTUyBFeGVjdXRp
bmcgIjEzLW9yZGVyIEZGVCIgCitQQVNTIEV4ZWN1dGluZyAiMTQtb3JkZXIgRkZUIiAKK1BBU1Mg
RXhlY3V0aW5nICIxNS1vcmRlciBGRlQiIAorUEFTUyBFeGVjdXRpbmcgIm5vIHNtb290aGluZyIg
CitQQVNTIEF1ZGl0IHJlcG9ydCAKK1BBU1MgPiBbNS1vcmRlciBGRlRdICAKK1BBU1MgICAzMi1w
b2ludCBmbG9hdCBGRlQgZXF1YWxzIFtleHBlY3RlZCBhcnJheV0gd2l0aCBhbiBlbGVtZW50LXdp
c2UgdG9sZXJhbmNlIG9mIHsiYWJzb2x1dGVUaHJlc2hvbGQiOjAsInJlbGF0aXZlVGhyZXNob2xk
Ijo5LjY1NDllLTd9LiAKK1BBU1MgICBPcmRlcjogNTogTWluIEZGVCB2YWx1ZSBpcyBsZXNzIHRo
YW4gb3IgZXF1YWwgdG8gLTUwLiAKK1BBU1MgICBPcmRlcjogNTogTWF4IEZGVCB2YWx1ZSBpcyBn
cmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gLTMwLiAKK1BBU1MgICAzMi1wb2ludCBieXRlIEZGVCBl
cXVhbHMgWzE1MywyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI0OSwyMzMsMjA3LDE3
OCwxNDYsNzksMC4uLl0gd2l0aCBhbiBlbGVtZW50LXdpc2UgdG9sZXJhbmNlIG9mIHsiYWJzb2x1
dGVUaHJlc2hvbGQiOjAsInJlbGF0aXZlVGhyZXNob2xkIjowfS4gCitQQVNTIDwgWzUtb3JkZXIg
RkZUXSBBbGwgYXNzZXJ0aW9ucyBwYXNzZWQuICh0b3RhbCA0IGFzc2VydGlvbnMpIAorUEFTUyA+
IFs2LW9yZGVyIEZGVF0gIAorUEFTUyAgIDY0LXBvaW50IGZsb2F0IEZGVCBlcXVhbHMgW2V4cGVj
dGVkIGFycmF5XSB3aXRoIGFuIGVsZW1lbnQtd2lzZSB0b2xlcmFuY2Ugb2YgeyJhYnNvbHV0ZVRo
cmVzaG9sZCI6MCwicmVsYXRpdmVUaHJlc2hvbGQiOjAuMDAwMDEwMDg0fS4gCitQQVNTICAgT3Jk
ZXI6IDY6IE1pbiBGRlQgdmFsdWUgaXMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIC0xMDAuIAorUEFT
UyAgIE9yZGVyOiA2OiBNYXggRkZUIHZhbHVlIGlzIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAt
MzAuIAorUEFTUyAgIDY0LXBvaW50IGJ5dGUgRkZUIGVxdWFscyBbMjU1LDI1NSwyNTUsMjU0LDI0
NiwyMzksMjMzLDIyOCwyMjQsMjIwLDIxNywyMTQsMjExLDIwOCwyMDYsMjA0Li4uXSB3aXRoIGFu
IGVsZW1lbnQtd2lzZSB0b2xlcmFuY2Ugb2YgeyJhYnNvbHV0ZVRocmVzaG9sZCI6MCwicmVsYXRp
dmVUaHJlc2hvbGQiOjB9LiAKK1BBU1MgPCBbNi1vcmRlciBGRlRdIEFsbCBhc3NlcnRpb25zIHBh
c3NlZC4gKHRvdGFsIDQgYXNzZXJ0aW9ucykgCitQQVNTID4gWzctb3JkZXIgRkZUXSAgCitQQVNT
ICAgMTI4LXBvaW50IGZsb2F0IEZGVCBlcXVhbHMgW2V4cGVjdGVkIGFycmF5XSB3aXRoIGFuIGVs
ZW1lbnQtd2lzZSB0b2xlcmFuY2Ugb2YgeyJhYnNvbHV0ZVRocmVzaG9sZCI6MCwicmVsYXRpdmVU
aHJlc2hvbGQiOjAuMDAwMDAxMTQ3M30uIAorUEFTUyAgIE9yZGVyOiA3OiBNaW4gRkZUIHZhbHVl
IGlzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAtMTAwLiAKK1BBU1MgICBPcmRlcjogNzogTWF4IEZG
VCB2YWx1ZSBpcyBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gLTMwLiAKK1BBU1MgICAxMjgtcG9p
bnQgYnl0ZSBGRlQgZXF1YWxzIFsyNTUsMjU1LDI1NSwyNTUsMjU1LDI0OSwyMzksMjQyLDIyOSwy
MzIsMjI3LDIyMSwyMjQsMjEzLDIxOSwyMTIuLi5dIHdpdGggYW4gZWxlbWVudC13aXNlIHRvbGVy
YW5jZSBvZiB7ImFic29sdXRlVGhyZXNob2xkIjowLCJyZWxhdGl2ZVRocmVzaG9sZCI6MH0uIAor
UEFTUyA8IFs3LW9yZGVyIEZGVF0gQWxsIGFzc2VydGlvbnMgcGFzc2VkLiAodG90YWwgNCBhc3Nl
cnRpb25zKSAKK1BBU1MgPiBbOC1vcmRlciBGRlRdICAKK1BBU1MgICAyNTYtcG9pbnQgZmxvYXQg
RkZUIGVxdWFscyBbZXhwZWN0ZWQgYXJyYXldIHdpdGggYW4gZWxlbWVudC13aXNlIHRvbGVyYW5j
ZSBvZiB7ImFic29sdXRlVGhyZXNob2xkIjowLCJyZWxhdGl2ZVRocmVzaG9sZCI6MC4wMDAwMDEw
NDQyfS4gCitQQVNTICAgT3JkZXI6IDg6IE1pbiBGRlQgdmFsdWUgaXMgbGVzcyB0aGFuIG9yIGVx
dWFsIHRvIC0xMDAuIAorUEFTUyAgIE9yZGVyOiA4OiBNYXggRkZUIHZhbHVlIGlzIGdyZWF0ZXIg
dGhhbiBvciBlcXVhbCB0byAtMzAuIAorUEFTUyAgIDI1Ni1wb2ludCBieXRlIEZGVCBlcXVhbHMg
WzEwMiwxNjksMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjUyLDIzMywyNTUsMjUzLDIxOCwyNDIs
MjUwLDIyNi4uLl0gd2l0aCBhbiBlbGVtZW50LXdpc2UgdG9sZXJhbmNlIG9mIHsiYWJzb2x1dGVU
aHJlc2hvbGQiOjAsInJlbGF0aXZlVGhyZXNob2xkIjowfS4gCitQQVNTIDwgWzgtb3JkZXIgRkZU
XSBBbGwgYXNzZXJ0aW9ucyBwYXNzZWQuICh0b3RhbCA0IGFzc2VydGlvbnMpIAorUEFTUyA+IFs5
LW9yZGVyIEZGVF0gIAorUEFTUyAgIDUxMi1wb2ludCBmbG9hdCBGRlQgZXF1YWxzIFtleHBlY3Rl
ZCBhcnJheV0gd2l0aCBhbiBlbGVtZW50LXdpc2UgdG9sZXJhbmNlIG9mIHsiYWJzb2x1dGVUaHJl
c2hvbGQiOjAsInJlbGF0aXZlVGhyZXNob2xkIjowLjAwMDAyNjQyN30uIAorUEFTUyAgIE9yZGVy
OiA5OiBNaW4gRkZUIHZhbHVlIGlzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAtMTAwLiAKK1BBU1Mg
ICBPcmRlcjogOTogTWF4IEZGVCB2YWx1ZSBpcyBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gLTMw
LiAKK1BBU1MgICA1MTItcG9pbnQgYnl0ZSBGRlQgZXF1YWxzIFswLDE2LDM2LDUwLDY1LDIzMSwy
NTUsMjU1LDI1NSwyMDgsNTksNzUsMjE5LDI1NSwyNTUsMjQ3Li4uXSB3aXRoIGFuIGVsZW1lbnQt
d2lzZSB0b2xlcmFuY2Ugb2YgeyJhYnNvbHV0ZVRocmVzaG9sZCI6MCwicmVsYXRpdmVUaHJlc2hv
bGQiOjB9LiAKK1BBU1MgPCBbOS1vcmRlciBGRlRdIEFsbCBhc3NlcnRpb25zIHBhc3NlZC4gKHRv
dGFsIDQgYXNzZXJ0aW9ucykgCitQQVNTID4gWzEwLW9yZGVyIEZGVF0gIAorUEFTUyAgIDEwMjQt
cG9pbnQgZmxvYXQgRkZUIGVxdWFscyBbZXhwZWN0ZWQgYXJyYXldIHdpdGggYW4gZWxlbWVudC13
aXNlIHRvbGVyYW5jZSBvZiB7ImFic29sdXRlVGhyZXNob2xkIjowLCJyZWxhdGl2ZVRocmVzaG9s
ZCI6MC4wMDAwMjk3NzF9LiAKK1BBU1MgICBPcmRlcjogMTA6IE1pbiBGRlQgdmFsdWUgaXMgbGVz
cyB0aGFuIG9yIGVxdWFsIHRvIC0xMDAuIAorUEFTUyAgIE9yZGVyOiAxMDogTWF4IEZGVCB2YWx1
ZSBpcyBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gLTMwLiAKK1BBU1MgICAxMDI0LXBvaW50IGJ5
dGUgRkZUIGVxdWFscyBbMCwwLDAsMCwyLDEyLDIzLDM1LDQ5LDYzLDc0LDEwNywyNDAsMjU1LDI1
NSwyNTUuLi5dIHdpdGggYW4gZWxlbWVudC13aXNlIHRvbGVyYW5jZSBvZiB7ImFic29sdXRlVGhy
ZXNob2xkIjoxLCJyZWxhdGl2ZVRocmVzaG9sZCI6MH0uIAorUEFTUyA8IFsxMC1vcmRlciBGRlRd
IEFsbCBhc3NlcnRpb25zIHBhc3NlZC4gKHRvdGFsIDQgYXNzZXJ0aW9ucykgCitQQVNTID4gWzEx
LW9yZGVyIEZGVF0gIAorUEFTUyAgIDIwNDgtcG9pbnQgZmxvYXQgRkZUIGVxdWFscyBbLTEwMCwt
MTAwLC0xMDAsLTEwMCwtMTAwLC0xMDAsLTEwMCwtMTAwLC0xMDAsLTEwMCwtMTAwLC0xMDAsLTEw
MCwtMTAwLC0xMDAsLTEwMC4uLl0gd2l0aCBhbiBlbGVtZW50LXdpc2UgdG9sZXJhbmNlIG9mIHsi
YWJzb2x1dGVUaHJlc2hvbGQiOjAsInJlbGF0aXZlVGhyZXNob2xkIjowLjAwMDAxMzQ1Nn0uIAor
UEFTUyAgIE9yZGVyOiAxMTogTWluIEZGVCB2YWx1ZSBpcyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8g
LTEwMC4gCitQQVNTICAgT3JkZXI6IDExOiBNYXggRkZUIHZhbHVlIGlzIGdyZWF0ZXIgdGhhbiBv
ciBlcXVhbCB0byAtMzAuIAorUEFTUyAgIDIwNDgtcG9pbnQgYnl0ZSBGRlQgZXF1YWxzIFswLDAs
MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLi4uXSB3aXRoIGFuIGVsZW1lbnQtd2lzZSB0b2xl
cmFuY2Ugb2YgeyJhYnNvbHV0ZVRocmVzaG9sZCI6MCwicmVsYXRpdmVUaHJlc2hvbGQiOjB9LiAK
K1BBU1MgPCBbMTEtb3JkZXIgRkZUXSBBbGwgYXNzZXJ0aW9ucyBwYXNzZWQuICh0b3RhbCA0IGFz
c2VydGlvbnMpIAorUEFTUyA+IFsxMi1vcmRlciBGRlRdICAKK1BBU1MgICA0MDk2LXBvaW50IGZs
b2F0IEZGVCBlcXVhbHMgWy0xMDAsLTEwMCwtMTAwLC0xMDAsLTEwMCwtMTAwLC0xMDAsLTEwMCwt
MTAwLC0xMDAsLTEwMCwtMTAwLC0xMDAsLTEwMCwtMTAwLC0xMDAuLi5dIHdpdGggYW4gZWxlbWVu
dC13aXNlIHRvbGVyYW5jZSBvZiB7ImFic29sdXRlVGhyZXNob2xkIjowLCJyZWxhdGl2ZVRocmVz
aG9sZCI6NC42MTE2ZS03fS4gCitQQVNTICAgT3JkZXI6IDEyOiBNaW4gRkZUIHZhbHVlIGlzIGxl
c3MgdGhhbiBvciBlcXVhbCB0byAtMTAwLiAKK1BBU1MgICBPcmRlcjogMTI6IE1heCBGRlQgdmFs
dWUgaXMgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIC0zMC4gCitQQVNTICAgNDA5Ni1wb2ludCBi
eXRlIEZGVCBlcXVhbHMgWzAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAuLi5dIHdpdGgg
YW4gZWxlbWVudC13aXNlIHRvbGVyYW5jZSBvZiB7ImFic29sdXRlVGhyZXNob2xkIjowLCJyZWxh
dGl2ZVRocmVzaG9sZCI6MH0uIAorUEFTUyA8IFsxMi1vcmRlciBGRlRdIEFsbCBhc3NlcnRpb25z
IHBhc3NlZC4gKHRvdGFsIDQgYXNzZXJ0aW9ucykgCitQQVNTID4gWzEzLW9yZGVyIEZGVF0gIAor
UEFTUyAgIDgxOTItcG9pbnQgZmxvYXQgRkZUIGVxdWFscyBbLTEwMCwtMTAwLC0xMDAsLTEwMCwt
MTAwLC0xMDAsLTEwMCwtMTAwLC0xMDAsLTEwMCwtMTAwLC0xMDAsLTEwMCwtMTAwLC0xMDAsLTEw
MC4uLl0gd2l0aCBhbiBlbGVtZW50LXdpc2UgdG9sZXJhbmNlIG9mIHsiYWJzb2x1dGVUaHJlc2hv
bGQiOjAsInJlbGF0aXZlVGhyZXNob2xkIjozLjIxMDZlLTd9LiAKK1BBU1MgICBPcmRlcjogMTM6
IE1pbiBGRlQgdmFsdWUgaXMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIC0xMDAuIAorUEFTUyAgIE9y
ZGVyOiAxMzogTWF4IEZGVCB2YWx1ZSBpcyBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gLTMwLiAK
K1BBU1MgICA4MTkyLXBvaW50IGJ5dGUgRkZUIGVxdWFscyBbMCwwLDAsMCwwLDAsMCwwLDAsMCww
LDAsMCwwLDAsMC4uLl0gd2l0aCBhbiBlbGVtZW50LXdpc2UgdG9sZXJhbmNlIG9mIHsiYWJzb2x1
dGVUaHJlc2hvbGQiOjAsInJlbGF0aXZlVGhyZXNob2xkIjowfS4gCitQQVNTIDwgWzEzLW9yZGVy
IEZGVF0gQWxsIGFzc2VydGlvbnMgcGFzc2VkLiAodG90YWwgNCBhc3NlcnRpb25zKSAKK1BBU1Mg
PiBbMTQtb3JkZXIgRkZUXSAgCitQQVNTICAgMTYzODQtcG9pbnQgZmxvYXQgRkZUIGVxdWFscyBb
LTEwMCwtMTAwLC0xMDAsLTEwMCwtMTAwLC0xMDAsLTEwMCwtMTAwLC0xMDAsLTEwMCwtMTAwLC0x
MDAsLTEwMCwtMTAwLC0xMDAsLTEwMC4uLl0gd2l0aCBhbiBlbGVtZW50LXdpc2UgdG9sZXJhbmNl
IG9mIHsiYWJzb2x1dGVUaHJlc2hvbGQiOjAsInJlbGF0aXZlVGhyZXNob2xkIjoxLjE3NTZlLTd9
LiAKK1BBU1MgICBPcmRlcjogMTQ6IE1pbiBGRlQgdmFsdWUgaXMgbGVzcyB0aGFuIG9yIGVxdWFs
IHRvIC0xMDAuIAorUEFTUyAgIE9yZGVyOiAxNDogTWF4IEZGVCB2YWx1ZSBpcyBncmVhdGVyIHRo
YW4gb3IgZXF1YWwgdG8gLTMwLiAKK1BBU1MgICAxNjM4NC1wb2ludCBieXRlIEZGVCBlcXVhbHMg
WzAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAuLi5dIHdpdGggYW4gZWxlbWVudC13aXNl
IHRvbGVyYW5jZSBvZiB7ImFic29sdXRlVGhyZXNob2xkIjowLCJyZWxhdGl2ZVRocmVzaG9sZCI6
MH0uIAorUEFTUyA8IFsxNC1vcmRlciBGRlRdIEFsbCBhc3NlcnRpb25zIHBhc3NlZC4gKHRvdGFs
IDQgYXNzZXJ0aW9ucykgCitQQVNTID4gWzE1LW9yZGVyIEZGVF0gIAorRkFJTCBYIDMyNzY4LXBv
aW50IGZsb2F0IEZGVCBkb2VzIG5vdCBlcXVhbCBbLTEwMCwtMTAwLC0xMDAsLTEwMCwtMTAwLC0x
MDAsLTEwMCwtMTAwLC0xMDAsLTEwMCwtMTAwLC0xMDAsLTEwMCwtMTAwLC0xMDAsLTEwMC4uLl0g
d2l0aCBhbiBlbGVtZW50LXdpc2UgdG9sZXJhbmNlIG9mIHsiYWJzb2x1dGVUaHJlc2hvbGQiOjAs
InJlbGF0aXZlVGhyZXNob2xkIjoxLjE3NTZlLTd9LgorCUluZGV4CUFjdHVhbAkJCUV4cGVjdGVk
CQlBYnNFcnJvcgkJUmVsRXJyb3IJCVRlc3QgdGhyZXNob2xkCisJWzE0MDgyXQktNy4zMDk0MzE0
NTc1MTk1MzEzZSsxCS03LjMwOTQyOTkzMTY0MDYyNTBlKzEJMS41MjU4Nzg5MDYyNTAwMDAwZS01
CTIuMDg3NTQ4NDQxNTYxNTg2M2UtNwk4LjU5Mjk2NTgyNzYzNjcxOTNlLTYKKwlNYXggQWJzRXJy
b3Igb2YgMS41MjU4Nzg5MDYyNTAwMDAwZS01IGF0IGluZGV4IG9mIDE0MDgyLgorCU1heCBSZWxF
cnJvciBvZiAyLjA4NzU0ODQ0MTU2MTU4NjNlLTcgYXQgaW5kZXggb2YgMTQwODIuCisgYXNzZXJ0
X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitQQVNTICAgT3JkZXI6IDE1OiBNaW4gRkZU
IHZhbHVlIGlzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAtMTAwLiAKK1BBU1MgICBPcmRlcjogMTU6
IE1heCBGRlQgdmFsdWUgaXMgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIC0zMC4gCitQQVNTICAg
MzI3NjgtcG9pbnQgYnl0ZSBGRlQgZXF1YWxzIFswLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs
MCwwLi4uXSB3aXRoIGFuIGVsZW1lbnQtd2lzZSB0b2xlcmFuY2Ugb2YgeyJhYnNvbHV0ZVRocmVz
aG9sZCI6MCwicmVsYXRpdmVUaHJlc2hvbGQiOjB9LiAKK0ZBSUwgPCBbMTUtb3JkZXIgRkZUXSAx
IG91dCBvZiA0IGFzc2VydGlvbnMgd2VyZSBmYWlsZWQuIGFzc2VydF90cnVlOiBleHBlY3RlZCB0
cnVlIGdvdCBmYWxzZQorUEFTUyA+IFtubyBzbW9vdGhpbmddICAKK1BBU1MgICAxMjgtcG9pbnQg
ZmxvYXQgRkZUIGVxdWFscyBbZXhwZWN0ZWQgYXJyYXldIHdpdGggYW4gZWxlbWVudC13aXNlIHRv
bGVyYW5jZSBvZiB7ImFic29sdXRlVGhyZXNob2xkIjowLCJyZWxhdGl2ZVRocmVzaG9sZCI6MC4w
MDAwMDE1Njg0fS4gCitQQVNTIDwgW25vIHNtb290aGluZ10gQWxsIGFzc2VydGlvbnMgcGFzc2Vk
LiAodG90YWwgMSBhc3NlcnRpb25zKSAKK0ZBSUwgIyBBVURJVCBUQVNLIFJVTk5FUiBGSU5JU0hF
RDogMSBvdXQgb2YgMTIgdGFza3Mgd2VyZSBmYWlsZWQuIGFzc2VydF90cnVlOiBleHBlY3RlZCB0
cnVlIGdvdCBmYWxzZQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9nbGliL3dl
YmF1ZGlvL0FuYWx5c2VyL3JlYWx0aW1lYW5hbHlzZXItbXVsdGlwbGUtY2FsbHMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ2xpYi93ZWJhdWRpby9BbmFseXNlci9yZWFsdGlt
ZWFuYWx5c2VyLW11bHRpcGxlLWNhbGxzLWV4cGVjdGVkLnR4dAppbmRleCA4OWY4NzI5ODRlNzAy
NDc1YjJmZWI0MjVjZmMyMDA4NTI3NjZjYTU3Li40ZDUwNmE1MGQ1YjYyOGIwMTFiNjM3MDQ3NTVi
YjkwNTQ5MjBkNzY3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9nbGliL3dlYmF1
ZGlvL0FuYWx5c2VyL3JlYWx0aW1lYW5hbHlzZXItbXVsdGlwbGUtY2FsbHMtZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2dsaWIvd2ViYXVkaW8vQW5hbHlzZXIvcmVhbHRp
bWVhbmFseXNlci1tdWx0aXBsZS1jYWxscy1leHBlY3RlZC50eHQKQEAgLTMsMTAgKzMsMTAgQEAg
UEFTUyAjIEFVRElUIFRBU0sgUlVOTkVSIFNUQVJURUQuCiBQQVNTIEV4ZWN1dGluZyAidGVzdCIg
CiBQQVNTIEF1ZGl0IHJlcG9ydCAKIFBBU1MgPiBbdGVzdF0gIAotUEFTUyAgIFNlY29uZCBjYWxs
IHRvIGdldEZsb2F0RnJlcXVlbmN5RGF0YSBpcyBpZGVudGljYWwgdG8gdGhlIGFycmF5IFstSW5m
aW5pdHksLUluZmluaXR5LC1JbmZpbml0eSwtSW5maW5pdHksLUluZmluaXR5LC1JbmZpbml0eSwt
SW5maW5pdHksLUluZmluaXR5LC1JbmZpbml0eSwtSW5maW5pdHksLUluZmluaXR5LC1JbmZpbml0
eSwtSW5maW5pdHksLUluZmluaXR5LC1JbmZpbml0eSwtSW5maW5pdHkuLi5dLiAKLVBBU1MgICBT
ZWNvbmQgY2FsbCB0byBnZXRCeXRlRnJlcXVlbmN5RGF0YSBpcyBpZGVudGljYWwgdG8gdGhlIGFy
cmF5IFswLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLi4uXS4gCi1QQVNTICAgT3V0cHV0
IG9mIGdldEJ5dGVGcmVxdWVuY3lEYXRhIGFmdGVyIGdldEZsb2F0RnJlcXVlbmN5RGF0YSBpcyBp
ZGVudGljYWwgdG8gdGhlIGFycmF5IFswLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLi4u
XS4gCi1QQVNTICAgT3V0cHV0IG9mIGdldEZsb2F0RnJlcXVlbnljRGF0YSAoY29udmVydGVkIHRv
IGJ5dGUpIGFmdGVyIGdldEJ5dGVGcmVxdWVuY3lEYXRhIGlzIGlkZW50aWNhbCB0byB0aGUgYXJy
YXkgWzAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAuLi5dLiAKK1BBU1MgICBTZWNvbmQg
Y2FsbCB0byBnZXRGbG9hdEZyZXF1ZW5jeURhdGEgaXMgaWRlbnRpY2FsIHRvIHRoZSBhcnJheSBb
ZXhwZWN0ZWQgYXJyYXldLiAKK1BBU1MgICBTZWNvbmQgY2FsbCB0byBnZXRCeXRlRnJlcXVlbmN5
RGF0YSBpcyBpZGVudGljYWwgdG8gdGhlIGFycmF5IFsxNjcsMjMyLDI1NSwyNTUsMjM4LDIzOSwy
MjMsMjI4LDIxNiwyMTcsMjE0LDIwNiwyMTEsMTk3LDIwNiwxOTYuLi5dLiAKK1BBU1MgICBPdXRw
dXQgb2YgZ2V0Qnl0ZUZyZXF1ZW5jeURhdGEgYWZ0ZXIgZ2V0RmxvYXRGcmVxdWVuY3lEYXRhIGlz
IGlkZW50aWNhbCB0byB0aGUgYXJyYXkgWzE2MywyNDIsMjU1LDI1NSwyNTIsMjUwLDIzNywyMzgs
MjI5LDIyOCwyMjUsMjE5LDIyMSwyMTIsMjE2LDIwOS4uLl0uIAorUEFTUyAgIE91dHB1dCBvZiBn
ZXRGbG9hdEZyZXF1ZW55Y0RhdGEgKGNvbnZlcnRlZCB0byBieXRlKSBhZnRlciBnZXRCeXRlRnJl
cXVlbmN5RGF0YSBpcyBpZGVudGljYWwgdG8gdGhlIGFycmF5IFsxNzYsMjQ4LDI1NSwyNTUsMjU1
LDI1NSwyNDMsMjQ0LDIzNSwyMzQsMjMxLDIyNSwyMjcsMjE3LDIyMiwyMTUuLi5dLiAKIFBBU1Mg
PCBbdGVzdF0gQWxsIGFzc2VydGlvbnMgcGFzc2VkLiAodG90YWwgNCBhc3NlcnRpb25zKSAKIFBB
U1MgIyBBVURJVCBUQVNLIFJVTk5FUiBGSU5JU0hFRDogMSB0YXNrcyByYW4gc3VjY2Vzc2Z1bGx5
LiAKIAo=
</data>
<flag name="review"
          id="425181"
          type_id="1"
          status="+"
          setter="aperez"
    />
          </attachment>
      

    </bug>

</bugzilla>