<?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>220972</bug_id>
          
          <creation_ts>2021-01-26 05:05:47 -0800</creation_ts>
          <short_desc>Color Gamut for VP8 and VP9 seems wrong</short_desc>
          <delta_ts>2021-05-01 11:50:52 -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>WebRTC</component>
          <version>Safari 14</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=224960</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=225257</see_also>
          <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="Alex. Gouaillard">agouaillard</reporter>
          <assigned_to name="Jean-Yves Avenard [:jya]">jean-yves.avenard</assigned_to>
          <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>hta</cc>
    
    <cc>jean-yves.avenard</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>tommyw</cc>
    
    <cc>tsavell</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1722463</commentid>
    <comment_count>0</comment_count>
    <who name="Alex. Gouaillard">agouaillard</who>
    <bug_when>2021-01-26 05:05:47 -0800</bug_when>
    <thetext>Problem:
Safari and iOS incorrectly interprets video levels with VP8/9 encoded content.

My understanding is that most UVC devices as well as Chrome and OBS publish methods by default use “partial” video levels. (Partial is OBS terminology, This is similar to the “legal” vs “Full Range&quot; broadcast video levels). Almost all UVC/Webcams that I’ve used transmit with partial video levels by default. This is also true of hardware encoders. Chrome and Firefox both assume and interpret partial video levels, thus displaying a correct looking image. Safari and iOS for some reason expects and interprets video as Full Range levels. This means that blacks appear dark grey instead of truly black, and whites appear light grey instead of truly white. This has a significantly negative effect on the image accuracy and quality.

This is not a problem with H.264. Safari/iOS correctly interprets video as “partial” and looks correct and similar to Chrome.

I&apos;ve found this issue is present in Millicast, Google Meet, and Jitsi Meet. It appears to be an issue specifically with how Safari/iOS interprets video that’s encoded in VP8/VP9.

Here is a link to a test video clip with a greyscale ramp. Also in this folder are two screenshots from a waveform monitor showing the difference between Chrome output and Safari output
https://f.io/qdncjeuk

Let me know if you have any questions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1722513</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-01-26 08:02:10 -0800</bug_when>
    <thetext>&lt;rdar://problem/73616455&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1753169</commentid>
    <comment_count>2</comment_count>
      <attachid>426812</attachid>
    <who name="Jean-Yves Avenard [:jya]">jean-yves.avenard</who>
    <bug_when>2021-04-22 08:09:20 -0700</bug_when>
    <thetext>Created attachment 426812
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1753172</commentid>
    <comment_count>3</comment_count>
      <attachid>426812</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-04-22 08:21:54 -0700</bug_when>
    <thetext>Comment on attachment 426812
Patch

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

&gt; LayoutTests/webrtc/video-vp8-videorange.html:43
&gt; +        testRunner.setUserMediaPermission(true);

Not needed.

&gt; LayoutTests/webrtc/video-vp8-videorange.html:45
&gt; +    return new Promise((resolve, reject) =&gt; {

You could do: promise_test(async (test) =&gt; {
And then use await:
const remoteStream = await new Promise(...)

&gt; LayoutTests/webrtc/video-vp8-videorange.html:81
&gt; +}, &quot;Ensuring connection state is connected&quot;);

Not sure this is actually needed, video.play() will resolve once it gets a remove video frame which means connection is ok.

&gt; LayoutTests/webrtc/video-vp8-videorange.html:84
&gt; +    return checkVideoBlack(false, canvas2, video).then(() =&gt; {

async (test) and await checkVideoBlack(...); would make it a bit nicer.

&gt; LayoutTests/webrtc/video-vp8-videorange.html:88
&gt; +        assert_equals([ pixelData[0], pixelData[1], pixelData[2] ].join(), [0, 0, 0].join());

Are we sure they will always be 0,0,0 given we do compression?

&gt; LayoutTests/webrtc/video-vp8-videorange.html:91
&gt; +        assert_equals([ pixelData[0], pixelData[1], pixelData[2] ].join(), [255, 255, 255].join());

Ditto here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1753184</commentid>
    <comment_count>4</comment_count>
      <attachid>426812</attachid>
    <who name="Jean-Yves Avenard [:jya]">jean-yves.avenard</who>
    <bug_when>2021-04-22 08:55:35 -0700</bug_when>
    <thetext>Comment on attachment 426812
Patch

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

&gt;&gt; LayoutTests/webrtc/video-vp8-videorange.html:45
&gt;&gt; +    return new Promise((resolve, reject) =&gt; {
&gt; 
&gt; You could do: promise_test(async (test) =&gt; {
&gt; And then use await:
&gt; const remoteStream = await new Promise(...)

Always amazed on how much code using JS promises can get simplified.

&gt;&gt; LayoutTests/webrtc/video-vp8-videorange.html:81
&gt;&gt; +}, &quot;Ensuring connection state is connected&quot;);
&gt; 
&gt; Not sure this is actually needed, video.play() will resolve once it gets a remove video frame which means connection is ok.

I copied an existing test (video-mute-vp8.html) likely can be removed there too then.

&gt;&gt; LayoutTests/webrtc/video-vp8-videorange.html:88
&gt;&gt; +        assert_equals([ pixelData[0], pixelData[1], pixelData[2] ].join(), [0, 0, 0].join());
&gt; 
&gt; Are we sure they will always be 0,0,0 given we do compression?

I can&apos;t imagine sur simple pattern, with colours at the edge of the range to ever show colour artefacts.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1753186</commentid>
    <comment_count>5</comment_count>
      <attachid>426816</attachid>
    <who name="Jean-Yves Avenard [:jya]">jean-yves.avenard</who>
    <bug_when>2021-04-22 09:02:52 -0700</bug_when>
    <thetext>Created attachment 426816
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1753188</commentid>
    <comment_count>6</comment_count>
      <attachid>426817</attachid>
    <who name="Jean-Yves Avenard [:jya]">jean-yves.avenard</who>
    <bug_when>2021-04-22 09:07:19 -0700</bug_when>
    <thetext>Created attachment 426817
Patch

Set reviewer name in Changelog</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1753195</commentid>
    <comment_count>7</comment_count>
      <attachid>426817</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2021-04-22 09:25:57 -0700</bug_when>
    <thetext>Comment on attachment 426817
Patch

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

&gt; Source/WebCore/ChangeLog:18
&gt; +        In memory of Dr. Alex. May he rest in peace.

❤️

&gt; LayoutTests/webrtc/video-vp8-videorange.html:38
&gt; +// Repeatidly redraw the checker to get the video stream going.

s/Repeatidly/Repeatedly/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1753392</commentid>
    <comment_count>8</comment_count>
      <attachid>426874</attachid>
    <who name="Jean-Yves Avenard [:jya]">jean-yves.avenard</who>
    <bug_when>2021-04-22 17:24:02 -0700</bug_when>
    <thetext>Created attachment 426874
Patch

Fix typo, add link to bug 224960</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1753412</commentid>
    <comment_count>9</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-04-22 17:57:05 -0700</bug_when>
    <thetext>Committed r276478 (236937@main): &lt;https://commits.webkit.org/236937@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 426874.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1755857</commentid>
    <comment_count>10</comment_count>
    <who name="Truitt Savell">tsavell</who>
    <bug_when>2021-04-30 16:13:49 -0700</bug_when>
    <thetext>It looks like the new test webrtc/video-vp8-videorange.html

added in https://trac.webkit.org/changeset/276478/webkit

is a constant failure on macmini8,1

History:
https://results.webkit.org/?suite=layout-tests&amp;test=webrtc%2Fvideo-vp8-videorange.html

filed https://bugs.webkit.org/show_bug.cgi?id=225257</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>426812</attachid>
            <date>2021-04-22 08:09:20 -0700</date>
            <delta_ts>2021-04-22 09:02:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220972-20210423010918.patch</filename>
            <type>text/plain</type>
            <size>8010</size>
            <attacher name="Jean-Yves Avenard [:jya]">jean-yves.avenard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2NDIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2Q5OTQ5MGFlZmYzNmQy
YWI1YjA0YTU2MTI3ZWNmM2E0YmMzM2JlMS4uYzcxMDA4ZDkyZThjOGRmOTgyMTk3Yzk0ZjA2NTM1
OTRjZGYxZjZhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDIxLTA0LTIyICBKZWFu
LVl2ZXMgQXZlbmFyZCAgPGp5YUBhcHBsZS5jb20+CisKKyAgICAgICAgRml4IGNvbG9yIGdhbXV0
IGluIFdlYlJUQyB3aGVuIHVzaW5nIFZQeCBzb2Z0d2FyZSBkZWNvZGVyLgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIwOTcyCisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS83MzYxNjQ1NT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBCeSBkZWZhdWx0LCBhbmQgaG93IGxpYndlYnJ0YyBpcyBjb25maWd1cmlu
ZyBpdHMgZW5jb2RlcnMgYW5kIGRlY29kZXIsIHZpZGVvIHJhbmdlIGxldmVscyBhcmUgdXNlZAor
ICAgICAgICAoMTYtMjM1KS4gVmlkZW8gcmFuZ2Ugd2FzIGFzc3VtZWQgdG8gdXNlIGZ1bGwgcmFu
Z2UgaW5zdGVhZCAoMC0yNTUpLCBjYXVzaW5nIGJsYWNrcyB0byBsb29rIGdyZXkgYW5kCisgICAg
ICAgIHdoaXRlcyB0byBhcHBlYXIgd2FzaGVkLW91dC4KKyAgICAgICAgSXQgaXMgdGhlb3JldGlj
YWxseSBwb3NzaWJsZSwgd2hlbiB1c2luZyBWUDkgdGhhdCBmdWxsLXJhbmdlIGxldmVsIGFyZSB1
c2VkLiBXaGlsZSB0aGUgaW5mb3JtYXRpb24KKyAgICAgICAgcmVsYXRlZCB0byB2aWRlbyBsZXZl
bHMgaXMgYXZhaWxhYmxlIGF0IHRoZSBWUDkgY29kZWMgbGV2ZWw7IG9ubHkgdGhlIGNvbG9yIHNw
YWNlIGluZm9ybWF0aW9uIGlzCisgICAgICAgIGJlaW5nIG1hZGUgYXZhaWxhYmxlIGluIGxpYndl
YnJ0YydzIHB1YmxpYyBpbWFnZSBkYXRhIHN0cnVjdHVyZSwgY29sb3IgcmFuZ2UgaXNuJ3QuCisg
ICAgICAgIEZvciBub3cgd2UgY2FuIGFzc3VtZSB0aGUgZGVmYXVsdCBpcyBzdWZmaWNpZW50LCBh
bmQgYSBmb2xsb3ctdXAgY2hhbmdlIHdpbGwgYmUgc3VibWl0dGVkIHRvIGxpYndlYnJ0YworICAg
ICAgICBsYXRlciBvbi4KKworICAgICAgICBJbiBtZW1vcnkgb2YgRHIuIEFsZXguIE1heSBoZSBy
ZXN0IGluIHBlYWNlLgorICAgICAgICBUZXN0OiB3ZWJydGMvdmlkZW8tdnA4LXZpZGVvcmFuZ2Uu
aHRtbAorCisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lSW5jb21p
bmdWaWRlb1NvdXJjZUNvY29hLm1tOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVJbmNvbWlu
Z1ZpZGVvU291cmNlQ29jb2E6OnBpeGVsQnVmZmVyUG9vbCk6CisKIDIwMjEtMDQtMjEgIEZ1amlp
IEhpcm9ub3JpICA8SGlyb25vcmkuRnVqaWlAc29ueS5jb20+CiAKICAgICAgICAgW1dpbl0gR2V0
RG91YmxlQ2xpY2tUaW1lKCkgcmV0dXJucyAwIGluIHRoZSBub24taW50ZXJhY3RpdmUgd2luZG93
IHN0YXRpb24gb24gV2luZG93cyAxMCB2ZXJzaW9uIDIwMDQKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZUluY29taW5nVmlkZW9Tb3Vy
Y2VDb2NvYS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFs
dGltZUluY29taW5nVmlkZW9Tb3VyY2VDb2NvYS5tbQppbmRleCA1N2JkMDQ3OTg4Mzk3NzBlYzRh
NDY2MTUzOTFmZDUzMDhkYmZmMWEyLi44ZGY4ZjY4ZjZmNzI0MDQ3NWRiZDQzMjMwNmFhM2E1Njlm
NmU0OGNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9t
YWMvUmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlQ29jb2EubW0KKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZUNv
Y29hLm1tCkBAIC05NCwxMCArOTQsMTAgQEAgQ1ZQaXhlbEJ1ZmZlclBvb2xSZWYgUmVhbHRpbWVJ
bmNvbWluZ1ZpZGVvU291cmNlQ29jb2E6OnBpeGVsQnVmZmVyUG9vbChzaXplX3Qgd2kKICAgICAg
ICAgT1NUeXBlIHBvb2xCdWZmZXJUeXBlOwogICAgICAgICBzd2l0Y2ggKGJ1ZmZlclR5cGUpIHsK
ICAgICAgICAgY2FzZSB3ZWJydGM6OkJ1ZmZlclR5cGU6Okk0MjA6Ci0gICAgICAgICAgICBwb29s
QnVmZmVyVHlwZSA9IGtDVlBpeGVsRm9ybWF0VHlwZV80MjBZcENiQ3I4QmlQbGFuYXJGdWxsUmFu
Z2U7CisgICAgICAgICAgICBwb29sQnVmZmVyVHlwZSA9IGtDVlBpeGVsRm9ybWF0VHlwZV80MjBZ
cENiQ3I4QmlQbGFuYXJWaWRlb1JhbmdlOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNh
c2Ugd2VicnRjOjpCdWZmZXJUeXBlOjpJMDEwOgotICAgICAgICAgICAgcG9vbEJ1ZmZlclR5cGUg
PSBrQ1ZQaXhlbEZvcm1hdFR5cGVfNDIwWXBDYkNyMTBCaVBsYW5hckZ1bGxSYW5nZTsKKyAgICAg
ICAgICAgIHBvb2xCdWZmZXJUeXBlID0ga0NWUGl4ZWxGb3JtYXRUeXBlXzQyMFlwQ2JDcjEwQmlQ
bGFuYXJWaWRlb1JhbmdlOwogICAgICAgICB9CiAgICAgICAgIG1fcGl4ZWxCdWZmZXJQb29sID0g
Y3JlYXRlUGl4ZWxCdWZmZXJQb29sKHdpZHRoLCBoZWlnaHQsIHBvb2xCdWZmZXJUeXBlKTsKICAg
ICAgICAgbV9waXhlbEJ1ZmZlclBvb2xXaWR0aCA9IHdpZHRoOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDdhOGFmMTMzNmFj
YWMwNDBjZmI3ZmE3MzgwOWI5NjJmMmE3NDQyZGIuLjA4NDA3YjRlMGI1MzY1MWFmM2MxNjk4ZTRk
MWE5ZDk3NzFhMGJlM2QgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMS0wNC0yMiAgSmVhbi1Z
dmVzIEF2ZW5hcmQgIDxqeWFAYXBwbGUuY29tPgorCisgICAgICAgIEZpeCBjb2xvciBnYW11dCBp
biBXZWJSVEMgd2hlbiB1c2luZyBWUHggc29mdHdhcmUgZGVjb2Rlci4KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMDk3MgorICAgICAgICA8cmRhcjov
L3Byb2JsZW0vNzM2MTY0NTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiB3ZWJydGMvdmlkZW8tdnA4LXZpZGVvcmFuZ2UtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWJydGMvdmlkZW8tdnA4LXZpZGVvcmFuZ2UuaHRtbDogQWRkZWQu
CisKIDIwMjEtMDQtMjEgIFRpbSBOZ3V5ZW4gIDxudGltQGFwcGxlLmNvbT4KIAogICAgICAgICBJ
bXBvcnQgY3NzL2Nzcy13aWxsLWNoYW5nZSB0ZXN0cyBmcm9tIFdQVApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvd2VicnRjL3ZpZGVvLXZwOC12aWRlb3JhbmdlLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL3dlYnJ0Yy92aWRlby12cDgtdmlkZW9yYW5nZS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMjgxYjY0MGViOWMyY2FkOWY3YzEzNDc1MGQyMTJjY2FjNDgxMjBmZgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3dlYnJ0Yy92aWRlby12cDgtdmlkZW9yYW5nZS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSw3IEBACitWaWRlbyBzaG91bGQgYmUgcnVubmluZywgYSBjaGVja2VyIGJl
IGRyYXduIGFuZCBjb2xvcnMgbWF0Y2hpbmcgdGhlIG9yaWdpbmFsLgorCisKK1BBU1MgU2V0dGlu
ZyB2aWRlbyBleGNoYW5nZQorUEFTUyBFbnN1cmluZyBjb25uZWN0aW9uIHN0YXRlIGlzIGNvbm5l
Y3RlZAorUEFTUyBUcmFjayBpcyBlbmFibGVkLCB2aWRlbyBzaG91bGQgbm90IGJlIGJsYWNrCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYnJ0Yy92aWRlby12cDgtdmlkZW9yYW5nZS5odG1s
IGIvTGF5b3V0VGVzdHMvd2VicnRjL3ZpZGVvLXZwOC12aWRlb3JhbmdlLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uOWZiMjE0MThiZjQ1N2EyNTVjOWZhZjdmZDVjYWQ3MmFjMGYwZjNjMQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3dlYnJ0Yy92aWRlby12cDgtdmlkZW9yYW5nZS5odG1sCkBAIC0w
LDAgKzEsOTYgQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKyAgICAgICAgPHRpdGxlPlRlc3RpbmcgdGhhdCBWUDgg
dmlkZW9zIGFyZSB1c2luZyBsaW1pdGVkIHZpZGVvIHJhbmdlPC90aXRsZT4KKyAgICAgICAgPHNj
cmlwdCBzcmM9Ii4uL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CisgICAgICAg
IDxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgorICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGRpdj5WaWRlbyBzaG91bGQgYmUg
cnVubmluZywgYSBjaGVja2VyIGJlIGRyYXduIGFuZCBjb2xvcnMgbWF0Y2hpbmcgdGhlIG9yaWdp
bmFsLjwvZGl2PgorICAgICAgICA8Y2FudmFzIGlkPSJjYW52YXMxIiB3aWR0aD0iMzIwIiBoZWln
aHQ9IjMyMCI+PC9jYW52YXM+CisgICAgICAgIDx2aWRlbyBpZD0idmlkZW8iIGF1dG9wbGF5IHBs
YXlzSW5saW5lIHdpZHRoPSIzMjAiIGhlaWdodD0iMzIwIj48L3ZpZGVvPgorICAgICAgICA8Y2Fu
dmFzIGlkPSJjYW52YXMyIiB3aWR0aD0iMzIwIiBoZWlnaHQ9IjMyMCI+PC9jYW52YXM+CisgICAg
ICAgIDxzY3JpcHQgc3JjID0icm91dGluZXMuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0
PgorCit2YXIgY3R4ID0gY2FudmFzMS5nZXRDb250ZXh0KCIyZCIpOworCisvLyBkcmF3IGJsYWNr
IGFuZCB3aGl0ZSBjaGVja2VyLgorZnVuY3Rpb24gZHJhd0NoZWNrZXIoY3R4LCB4LCB5LCB3aWR0
aCwgaGVpZ2h0KSB7CisgIGZvciAodmFyIGkgPSAwOyBpIDwgeDsgaSsrKSB7CisgICAgICBmb3Ig
KHZhciBqID0gMDsgaiA8IHk7IGorKykgeworICAgICAgICBpZiAoKGkgKyBqKSAlIDIgPT0gMCkK
KyAgICAgICAgICAgIGN0eC5maWxsU3R5bGUgPSAiIzAwMDAwMCI7CisgICAgICAgIGVsc2UKKyAg
ICAgICAgICAgIGN0eC5maWxsU3R5bGUgPSAiI0ZGRkZGRiI7CisgICAgICAgIGN0eC5maWxsUmVj
dChpICogd2lkdGggLyB4LCBqICogaGVpZ2h0IC8geSwgd2lkdGggLyB4LCBoZWlnaHQgLyB5KTsK
KyAgICAgIH0KKyAgfQorfQorCitjb25zdCBGUFMgPSAzMDsKK3ZhciB0cmFjazsKK3ZhciByZW1v
dGVUcmFjazsKK3ZhciByZWNlaXZpbmdDb25uZWN0aW9uOwordmFyIGxvY2FsU3RyZWFtOworCisv
LyBSZXBlYXRpZGx5IHJlZHJhdyB0aGUgY2hlY2tlciB0byBnZXQgdGhlIHZpZGVvIHN0cmVhbSBn
b2luZy4KK3NldEludGVydmFsKCgpID0+IGRyYXdDaGVja2VyKGN0eCwgMiwgMiwgY2FudmFzMS53
aWR0aCwgY2FudmFzMS5oZWlnaHQpLCAxMDAwIC8gRlBTKTsKKworcHJvbWlzZV90ZXN0KCh0ZXN0
KSA9PiB7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVyLnNl
dFVzZXJNZWRpYVBlcm1pc3Npb24odHJ1ZSk7CisKKyAgICByZXR1cm4gbmV3IFByb21pc2UoKHJl
c29sdmUsIHJlamVjdCkgPT4geworICAgICAgICBsb2NhbFN0cmVhbSA9IGNhbnZhczEuY2FwdHVy
ZVN0cmVhbShGUFMpOworICAgICAgICB0cmFjayA9IGxvY2FsU3RyZWFtLmdldFZpZGVvVHJhY2tz
KClbMF07CisKKyAgICAgICAgY3JlYXRlQ29ubmVjdGlvbnMoKGZpcnN0Q29ubmVjdGlvbikgPT4g
eworICAgICAgICAgICAgZmlyc3RDb25uZWN0aW9uLmFkZFRyYWNrKHRyYWNrLCBsb2NhbFN0cmVh
bSk7CisgICAgICAgICAgICBmaXJzdENvbm5lY3Rpb24uZ2V0VHJhbnNjZWl2ZXJzKClbMF0uc2V0
Q29kZWNQcmVmZXJlbmNlcyhbe21pbWVUeXBlOiAidmlkZW8vVlA4IiwgY2xvY2tSYXRlOiA5MDAw
MH1dKTsKKyAgICAgICAgfSwgKHNlY29uZENvbm5lY3Rpb24pID0+IHsKKyAgICAgICAgICAgIHJl
Y2VpdmluZ0Nvbm5lY3Rpb24gPSBzZWNvbmRDb25uZWN0aW9uOworICAgICAgICAgICAgc2Vjb25k
Q29ubmVjdGlvbi5vbnRyYWNrID0gKHRyYWNrRXZlbnQpID0+IHsKKyAgICAgICAgICAgICAgICBy
ZW1vdGVUcmFjayA9IHRyYWNrRXZlbnQudHJhY2s7CisgICAgICAgICAgICAgICAgcmVzb2x2ZSh0
cmFja0V2ZW50LnN0cmVhbXNbMF0pOworICAgICAgICAgICAgfTsKKyAgICAgICAgfSwgeyBvYnNl
cnZlT2ZmZXIgOiB0ZXN0LnN0ZXBfZnVuYygob2ZmZXIpID0+IHsKKyAgICAgICAgICAgIGFzc2Vy
dF9mYWxzZShvZmZlci5zZHAuaW5jbHVkZXMoIkgyNjQiKSwgIk5vIEgyNjQiKTsKKyAgICAgICAg
ICAgIGFzc2VydF90cnVlKG9mZmVyLnNkcC5pbmNsdWRlcygiVlA4IiksICJWUDgiKTsKKyAgICAg
ICAgICAgIHJldHVybiBvZmZlcjsKKyAgICAgICAgfSkKKyAgICAgICAgfSk7CisgICAgICAgIHNl
dFRpbWVvdXQoKCkgPT4gcmVqZWN0KCJUZXN0IHRpbWVkIG91dCIpLCA1MDAwKTsKKyAgICB9KS50
aGVuKChyZW1vdGVTdHJlYW0pID0+IHsKKyAgICAgICAgdmlkZW8uc3JjT2JqZWN0ID0gcmVtb3Rl
U3RyZWFtOworICAgICAgICByZXR1cm4gdmlkZW8ucGxheSgpOworICAgIH0pOworfSwgIlNldHRp
bmcgdmlkZW8gZXhjaGFuZ2UiKTsKKworcHJvbWlzZV90ZXN0KCgpID0+IHsKKyAgICBpZiAocmVj
ZWl2aW5nQ29ubmVjdGlvbi5jb25uZWN0aW9uU3RhdGUgPT09ICJjb25uZWN0ZWQiKQorICAgICAg
ICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7CisgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNv
bHZlLCByZWplY3QpID0+IHsKKyAgICAgICAgcmVjZWl2aW5nQ29ubmVjdGlvbi5vbmNvbm5lY3Rp
b25zdGF0ZWNoYW5nZSA9ICgpID0+IHsKKyAgICAgICAgICAgIGlmIChyZWNlaXZpbmdDb25uZWN0
aW9uLmNvbm5lY3Rpb25TdGF0ZSA9PT0gImNvbm5lY3RlZCIpCisgICAgICAgICAgICAgICAgcmVz
b2x2ZSgpOworICAgICAgICB9OworICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHJlamVjdCgiVGVz
dCB0aW1lZCBvdXQiKSwgNTAwMCk7CisgICAgfSk7Cit9LCAiRW5zdXJpbmcgY29ubmVjdGlvbiBz
dGF0ZSBpcyBjb25uZWN0ZWQiKTsKKworcHJvbWlzZV90ZXN0KCh0ZXN0KSA9PiB7CisgICAgcmV0
dXJuIGNoZWNrVmlkZW9CbGFjayhmYWxzZSwgY2FudmFzMiwgdmlkZW8pLnRoZW4oKCkgPT4gewor
ICAgICAgICBsZXQgY29udGV4dCA9IGNhbnZhczIuZ2V0Q29udGV4dCgnMmQnKTsKKyAgICAgICAg
Ly8gQ2hlY2sgcGl4ZWwgaXMgcHVyZSBibGFjayBpbiB0b3AgbGVmdCBzcXVhcmUuCisgICAgICAg
IGxldCBwaXhlbERhdGEgPSBjb250ZXh0LmdldEltYWdlRGF0YShjYW52YXMyLndpZHRoIC8gNCwg
Y2FudmFzMi5oZWlnaHQgLyA0LCAxLCAxKS5kYXRhOworICAgICAgICBhc3NlcnRfZXF1YWxzKFsg
cGl4ZWxEYXRhWzBdLCBwaXhlbERhdGFbMV0sIHBpeGVsRGF0YVsyXSBdLmpvaW4oKSwgWzAsIDAs
IDBdLmpvaW4oKSk7CisgICAgICAgIC8vIENoZWNrIHBpeGVsIGlzIHB1cmUgd2hpdGUgaW4gdG9w
IHJpZ2h0IHNxdWFyZS4KKyAgICAgICAgcGl4ZWxEYXRhID0gY29udGV4dC5nZXRJbWFnZURhdGEo
MyAqIGNhbnZhczIud2lkdGggLyA0LCBjYW52YXMyLmhlaWdodCAvIDQsIDEsIDEpLmRhdGE7Cisg
ICAgICAgIGFzc2VydF9lcXVhbHMoWyBwaXhlbERhdGFbMF0sIHBpeGVsRGF0YVsxXSwgcGl4ZWxE
YXRhWzJdIF0uam9pbigpLCBbMjU1LCAyNTUsIDI1NV0uam9pbigpKTsKKyAgICB9KTsKK30sICJU
cmFjayBpcyBlbmFibGVkLCB2aWRlbyBzaG91bGQgbm90IGJlIGJsYWNrIik7CisgICAgICAgIDwv
c2NyaXB0PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>426816</attachid>
            <date>2021-04-22 09:02:52 -0700</date>
            <delta_ts>2021-04-22 09:07:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220972-20210423020251.patch</filename>
            <type>text/plain</type>
            <size>7370</size>
            <attacher name="Jean-Yves Avenard [:jya]">jean-yves.avenard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2NDIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2Q5OTQ5MGFlZmYzNmQy
YWI1YjA0YTU2MTI3ZWNmM2E0YmMzM2JlMS4uYzcxMDA4ZDkyZThjOGRmOTgyMTk3Yzk0ZjA2NTM1
OTRjZGYxZjZhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDIxLTA0LTIyICBKZWFu
LVl2ZXMgQXZlbmFyZCAgPGp5YUBhcHBsZS5jb20+CisKKyAgICAgICAgRml4IGNvbG9yIGdhbXV0
IGluIFdlYlJUQyB3aGVuIHVzaW5nIFZQeCBzb2Z0d2FyZSBkZWNvZGVyLgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIwOTcyCisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS83MzYxNjQ1NT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBCeSBkZWZhdWx0LCBhbmQgaG93IGxpYndlYnJ0YyBpcyBjb25maWd1cmlu
ZyBpdHMgZW5jb2RlcnMgYW5kIGRlY29kZXIsIHZpZGVvIHJhbmdlIGxldmVscyBhcmUgdXNlZAor
ICAgICAgICAoMTYtMjM1KS4gVmlkZW8gcmFuZ2Ugd2FzIGFzc3VtZWQgdG8gdXNlIGZ1bGwgcmFu
Z2UgaW5zdGVhZCAoMC0yNTUpLCBjYXVzaW5nIGJsYWNrcyB0byBsb29rIGdyZXkgYW5kCisgICAg
ICAgIHdoaXRlcyB0byBhcHBlYXIgd2FzaGVkLW91dC4KKyAgICAgICAgSXQgaXMgdGhlb3JldGlj
YWxseSBwb3NzaWJsZSwgd2hlbiB1c2luZyBWUDkgdGhhdCBmdWxsLXJhbmdlIGxldmVsIGFyZSB1
c2VkLiBXaGlsZSB0aGUgaW5mb3JtYXRpb24KKyAgICAgICAgcmVsYXRlZCB0byB2aWRlbyBsZXZl
bHMgaXMgYXZhaWxhYmxlIGF0IHRoZSBWUDkgY29kZWMgbGV2ZWw7IG9ubHkgdGhlIGNvbG9yIHNw
YWNlIGluZm9ybWF0aW9uIGlzCisgICAgICAgIGJlaW5nIG1hZGUgYXZhaWxhYmxlIGluIGxpYndl
YnJ0YydzIHB1YmxpYyBpbWFnZSBkYXRhIHN0cnVjdHVyZSwgY29sb3IgcmFuZ2UgaXNuJ3QuCisg
ICAgICAgIEZvciBub3cgd2UgY2FuIGFzc3VtZSB0aGUgZGVmYXVsdCBpcyBzdWZmaWNpZW50LCBh
bmQgYSBmb2xsb3ctdXAgY2hhbmdlIHdpbGwgYmUgc3VibWl0dGVkIHRvIGxpYndlYnJ0YworICAg
ICAgICBsYXRlciBvbi4KKworICAgICAgICBJbiBtZW1vcnkgb2YgRHIuIEFsZXguIE1heSBoZSBy
ZXN0IGluIHBlYWNlLgorICAgICAgICBUZXN0OiB3ZWJydGMvdmlkZW8tdnA4LXZpZGVvcmFuZ2Uu
aHRtbAorCisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lSW5jb21p
bmdWaWRlb1NvdXJjZUNvY29hLm1tOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVJbmNvbWlu
Z1ZpZGVvU291cmNlQ29jb2E6OnBpeGVsQnVmZmVyUG9vbCk6CisKIDIwMjEtMDQtMjEgIEZ1amlp
IEhpcm9ub3JpICA8SGlyb25vcmkuRnVqaWlAc29ueS5jb20+CiAKICAgICAgICAgW1dpbl0gR2V0
RG91YmxlQ2xpY2tUaW1lKCkgcmV0dXJucyAwIGluIHRoZSBub24taW50ZXJhY3RpdmUgd2luZG93
IHN0YXRpb24gb24gV2luZG93cyAxMCB2ZXJzaW9uIDIwMDQKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZUluY29taW5nVmlkZW9Tb3Vy
Y2VDb2NvYS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFs
dGltZUluY29taW5nVmlkZW9Tb3VyY2VDb2NvYS5tbQppbmRleCA1N2JkMDQ3OTg4Mzk3NzBlYzRh
NDY2MTUzOTFmZDUzMDhkYmZmMWEyLi44ZGY4ZjY4ZjZmNzI0MDQ3NWRiZDQzMjMwNmFhM2E1Njlm
NmU0OGNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9t
YWMvUmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlQ29jb2EubW0KKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZUNv
Y29hLm1tCkBAIC05NCwxMCArOTQsMTAgQEAgQ1ZQaXhlbEJ1ZmZlclBvb2xSZWYgUmVhbHRpbWVJ
bmNvbWluZ1ZpZGVvU291cmNlQ29jb2E6OnBpeGVsQnVmZmVyUG9vbChzaXplX3Qgd2kKICAgICAg
ICAgT1NUeXBlIHBvb2xCdWZmZXJUeXBlOwogICAgICAgICBzd2l0Y2ggKGJ1ZmZlclR5cGUpIHsK
ICAgICAgICAgY2FzZSB3ZWJydGM6OkJ1ZmZlclR5cGU6Okk0MjA6Ci0gICAgICAgICAgICBwb29s
QnVmZmVyVHlwZSA9IGtDVlBpeGVsRm9ybWF0VHlwZV80MjBZcENiQ3I4QmlQbGFuYXJGdWxsUmFu
Z2U7CisgICAgICAgICAgICBwb29sQnVmZmVyVHlwZSA9IGtDVlBpeGVsRm9ybWF0VHlwZV80MjBZ
cENiQ3I4QmlQbGFuYXJWaWRlb1JhbmdlOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNh
c2Ugd2VicnRjOjpCdWZmZXJUeXBlOjpJMDEwOgotICAgICAgICAgICAgcG9vbEJ1ZmZlclR5cGUg
PSBrQ1ZQaXhlbEZvcm1hdFR5cGVfNDIwWXBDYkNyMTBCaVBsYW5hckZ1bGxSYW5nZTsKKyAgICAg
ICAgICAgIHBvb2xCdWZmZXJUeXBlID0ga0NWUGl4ZWxGb3JtYXRUeXBlXzQyMFlwQ2JDcjEwQmlQ
bGFuYXJWaWRlb1JhbmdlOwogICAgICAgICB9CiAgICAgICAgIG1fcGl4ZWxCdWZmZXJQb29sID0g
Y3JlYXRlUGl4ZWxCdWZmZXJQb29sKHdpZHRoLCBoZWlnaHQsIHBvb2xCdWZmZXJUeXBlKTsKICAg
ICAgICAgbV9waXhlbEJ1ZmZlclBvb2xXaWR0aCA9IHdpZHRoOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDdhOGFmMTMzNmFj
YWMwNDBjZmI3ZmE3MzgwOWI5NjJmMmE3NDQyZGIuLjA4NDA3YjRlMGI1MzY1MWFmM2MxNjk4ZTRk
MWE5ZDk3NzFhMGJlM2QgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMS0wNC0yMiAgSmVhbi1Z
dmVzIEF2ZW5hcmQgIDxqeWFAYXBwbGUuY29tPgorCisgICAgICAgIEZpeCBjb2xvciBnYW11dCBp
biBXZWJSVEMgd2hlbiB1c2luZyBWUHggc29mdHdhcmUgZGVjb2Rlci4KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMDk3MgorICAgICAgICA8cmRhcjov
L3Byb2JsZW0vNzM2MTY0NTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiB3ZWJydGMvdmlkZW8tdnA4LXZpZGVvcmFuZ2UtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWJydGMvdmlkZW8tdnA4LXZpZGVvcmFuZ2UuaHRtbDogQWRkZWQu
CisKIDIwMjEtMDQtMjEgIFRpbSBOZ3V5ZW4gIDxudGltQGFwcGxlLmNvbT4KIAogICAgICAgICBJ
bXBvcnQgY3NzL2Nzcy13aWxsLWNoYW5nZSB0ZXN0cyBmcm9tIFdQVApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvd2VicnRjL3ZpZGVvLXZwOC12aWRlb3JhbmdlLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL3dlYnJ0Yy92aWRlby12cDgtdmlkZW9yYW5nZS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZDMzMTFiMzQwOTQ3ZDNkYTVlMDIyZDFjMmFkMWVhMTVmMzFjMjY0MgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3dlYnJ0Yy92aWRlby12cDgtdmlkZW9yYW5nZS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSw2IEBACitWaWRlbyBzaG91bGQgYmUgcnVubmluZywgYSBjaGVja2VyIGJl
IGRyYXduIGFuZCBjb2xvcnMgbWF0Y2hpbmcgdGhlIG9yaWdpbmFsLgorCisKK1BBU1MgU2V0dGlu
ZyB2aWRlbyBleGNoYW5nZQorUEFTUyBUcmFjayBpcyBlbmFibGVkLCB2aWRlbyBzaG91bGQgbm90
IGJlIGJsYWNrCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYnJ0Yy92aWRlby12cDgtdmlk
ZW9yYW5nZS5odG1sIGIvTGF5b3V0VGVzdHMvd2VicnRjL3ZpZGVvLXZwOC12aWRlb3JhbmdlLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODllZDY2ZmU4NTU2ZTdkMGE2NjRiODU4YWVjZmRmZTRlNzNiOWVkNgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYnJ0Yy92aWRlby12cDgtdmlkZW9yYW5n
ZS5odG1sCkBAIC0wLDAgKzEsNzkgQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWw+CisgICAgPGhl
YWQ+CisgICAgICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKyAgICAgICAgPHRpdGxlPlRlc3Rp
bmcgdGhhdCBWUDggdmlkZW9zIGFyZSB1c2luZyBsaW1pdGVkIHZpZGVvIHJhbmdlPC90aXRsZT4K
KyAgICAgICAgPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgorICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAgICAgICAgPGRpdj5WaWRl
byBzaG91bGQgYmUgcnVubmluZywgYSBjaGVja2VyIGJlIGRyYXduIGFuZCBjb2xvcnMgbWF0Y2hp
bmcgdGhlIG9yaWdpbmFsLjwvZGl2PgorICAgICAgICA8Y2FudmFzIGlkPSJjYW52YXMxIiB3aWR0
aD0iMzIwIiBoZWlnaHQ9IjMyMCI+PC9jYW52YXM+CisgICAgICAgIDx2aWRlbyBpZD0idmlkZW8i
IGF1dG9wbGF5IHBsYXlzSW5saW5lIHdpZHRoPSIzMjAiIGhlaWdodD0iMzIwIj48L3ZpZGVvPgor
ICAgICAgICA8Y2FudmFzIGlkPSJjYW52YXMyIiB3aWR0aD0iMzIwIiBoZWlnaHQ9IjMyMCI+PC9j
YW52YXM+CisgICAgICAgIDxzY3JpcHQgc3JjID0icm91dGluZXMuanMiPjwvc2NyaXB0PgorICAg
ICAgICA8c2NyaXB0PgorCit2YXIgY3R4ID0gY2FudmFzMS5nZXRDb250ZXh0KCIyZCIpOworCisv
LyBkcmF3IGJsYWNrIGFuZCB3aGl0ZSBjaGVja2VyLgorZnVuY3Rpb24gZHJhd0NoZWNrZXIoY3R4
LCB4LCB5LCB3aWR0aCwgaGVpZ2h0KSB7CisgIGZvciAodmFyIGkgPSAwOyBpIDwgeDsgaSsrKSB7
CisgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IHk7IGorKykgeworICAgICAgICBpZiAoKGkgKyBq
KSAlIDIgPT0gMCkKKyAgICAgICAgICAgIGN0eC5maWxsU3R5bGUgPSAiIzAwMDAwMCI7CisgICAg
ICAgIGVsc2UKKyAgICAgICAgICAgIGN0eC5maWxsU3R5bGUgPSAiI0ZGRkZGRiI7CisgICAgICAg
IGN0eC5maWxsUmVjdChpICogd2lkdGggLyB4LCBqICogaGVpZ2h0IC8geSwgd2lkdGggLyB4LCBo
ZWlnaHQgLyB5KTsKKyAgICAgIH0KKyAgfQorfQorCitjb25zdCBGUFMgPSAzMDsKK3ZhciB0cmFj
azsKK3ZhciByZW1vdGVUcmFjazsKK3ZhciByZWNlaXZpbmdDb25uZWN0aW9uOwordmFyIGxvY2Fs
U3RyZWFtOworCisvLyBSZXBlYXRpZGx5IHJlZHJhdyB0aGUgY2hlY2tlciB0byBnZXQgdGhlIHZp
ZGVvIHN0cmVhbSBnb2luZy4KK3NldEludGVydmFsKCgpID0+IGRyYXdDaGVja2VyKGN0eCwgMiwg
MiwgY2FudmFzMS53aWR0aCwgY2FudmFzMS5oZWlnaHQpLCAxMDAwIC8gRlBTKTsKKworcHJvbWlz
ZV90ZXN0KGFzeW5jICh0ZXN0KSA9PiB7CisgICAgY29uc3QgcmVtb3RlU3RyZWFtID0gYXdhaXQg
bmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4geworICAgICAgICBsb2NhbFN0cmVhbSA9
IGNhbnZhczEuY2FwdHVyZVN0cmVhbShGUFMpOworICAgICAgICB0cmFjayA9IGxvY2FsU3RyZWFt
LmdldFZpZGVvVHJhY2tzKClbMF07CisKKyAgICAgICAgY3JlYXRlQ29ubmVjdGlvbnMoKGZpcnN0
Q29ubmVjdGlvbikgPT4geworICAgICAgICAgICAgZmlyc3RDb25uZWN0aW9uLmFkZFRyYWNrKHRy
YWNrLCBsb2NhbFN0cmVhbSk7CisgICAgICAgICAgICBmaXJzdENvbm5lY3Rpb24uZ2V0VHJhbnNj
ZWl2ZXJzKClbMF0uc2V0Q29kZWNQcmVmZXJlbmNlcyhbe21pbWVUeXBlOiAidmlkZW8vVlA4Iiwg
Y2xvY2tSYXRlOiA5MDAwMH1dKTsKKyAgICAgICAgfSwgKHNlY29uZENvbm5lY3Rpb24pID0+IHsK
KyAgICAgICAgICAgIHJlY2VpdmluZ0Nvbm5lY3Rpb24gPSBzZWNvbmRDb25uZWN0aW9uOworICAg
ICAgICAgICAgc2Vjb25kQ29ubmVjdGlvbi5vbnRyYWNrID0gKHRyYWNrRXZlbnQpID0+IHsKKyAg
ICAgICAgICAgICAgICByZW1vdGVUcmFjayA9IHRyYWNrRXZlbnQudHJhY2s7CisgICAgICAgICAg
ICAgICAgcmVzb2x2ZSh0cmFja0V2ZW50LnN0cmVhbXNbMF0pOworICAgICAgICAgICAgfTsKKyAg
ICAgICAgfSwgeyBvYnNlcnZlT2ZmZXIgOiB0ZXN0LnN0ZXBfZnVuYygob2ZmZXIpID0+IHsKKyAg
ICAgICAgICAgIGFzc2VydF9mYWxzZShvZmZlci5zZHAuaW5jbHVkZXMoIkgyNjQiKSwgIk5vIEgy
NjQiKTsKKyAgICAgICAgICAgIGFzc2VydF90cnVlKG9mZmVyLnNkcC5pbmNsdWRlcygiVlA4Iiks
ICJWUDgiKTsKKyAgICAgICAgICAgIHJldHVybiBvZmZlcjsKKyAgICAgICAgfSkKKyAgICAgICAg
fSk7CisgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gcmVqZWN0KCJUZXN0IHRpbWVkIG91dCIpLCA1
MDAwKTsKKyAgICB9KTsKKyAgICB2aWRlby5zcmNPYmplY3QgPSByZW1vdGVTdHJlYW07CisgICAg
cmV0dXJuIHZpZGVvLnBsYXkoKTsKK30sICJTZXR0aW5nIHZpZGVvIGV4Y2hhbmdlIik7CisKK3By
b21pc2VfdGVzdChhc3luYyAodGVzdCkgPT4geworICAgIGF3YWl0IGNoZWNrVmlkZW9CbGFjayhm
YWxzZSwgY2FudmFzMiwgdmlkZW8pOworICAgIGxldCBjb250ZXh0ID0gY2FudmFzMi5nZXRDb250
ZXh0KCcyZCcpOworICAgIC8vIENoZWNrIHBpeGVsIGlzIHB1cmUgYmxhY2sgaW4gdG9wIGxlZnQg
c3F1YXJlLgorICAgIGxldCBwaXhlbERhdGEgPSBjb250ZXh0LmdldEltYWdlRGF0YShjYW52YXMy
LndpZHRoIC8gNCwgY2FudmFzMi5oZWlnaHQgLyA0LCAxLCAxKS5kYXRhOworICAgIGFzc2VydF9l
cXVhbHMoWyBwaXhlbERhdGFbMF0sIHBpeGVsRGF0YVsxXSwgcGl4ZWxEYXRhWzJdIF0uam9pbigp
LCBbMCwgMCwgMF0uam9pbigpKTsKKyAgICAvLyBDaGVjayBwaXhlbCBpcyBwdXJlIHdoaXRlIGlu
IHRvcCByaWdodCBzcXVhcmUuCisgICAgcGl4ZWxEYXRhID0gY29udGV4dC5nZXRJbWFnZURhdGEo
MyAqIGNhbnZhczIud2lkdGggLyA0LCBjYW52YXMyLmhlaWdodCAvIDQsIDEsIDEpLmRhdGE7Cisg
ICAgYXNzZXJ0X2VxdWFscyhbIHBpeGVsRGF0YVswXSwgcGl4ZWxEYXRhWzFdLCBwaXhlbERhdGFb
Ml0gXS5qb2luKCksIFsyNTUsIDI1NSwgMjU1XS5qb2luKCkpOworfSwgIlRyYWNrIGlzIGVuYWJs
ZWQsIHZpZGVvIHNob3VsZCBub3QgYmUgYmxhY2siKTsKKyAgICAgICAgPC9zY3JpcHQ+CisgICAg
PC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>426817</attachid>
            <date>2021-04-22 09:07:19 -0700</date>
            <delta_ts>2021-04-22 17:23:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220972-20210423020717.patch</filename>
            <type>text/plain</type>
            <size>7368</size>
            <attacher name="Jean-Yves Avenard [:jya]">jean-yves.avenard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2NDIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2Q5OTQ5MGFlZmYzNmQy
YWI1YjA0YTU2MTI3ZWNmM2E0YmMzM2JlMS4uZDAxYTk0ZjZmOWI0NGRiNzZhOWMyODJhMDA1ZTFh
Zjc4YTFhMTVlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDIxLTA0LTIyICBKZWFu
LVl2ZXMgQXZlbmFyZCAgPGp5YUBhcHBsZS5jb20+CisKKyAgICAgICAgRml4IGNvbG9yIGdhbXV0
IGluIFdlYlJUQyB3aGVuIHVzaW5nIFZQeCBzb2Z0d2FyZSBkZWNvZGVyLgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIwOTcyCisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS83MzYxNjQ1NT4KKworICAgICAgICBSZXZpZXdlZCBieSBZb3Vlbm4gRmFibGV0
LgorCisgICAgICAgIEJ5IGRlZmF1bHQsIGFuZCBob3cgbGlid2VicnRjIGlzIGNvbmZpZ3VyaW5n
IGl0cyBlbmNvZGVycyBhbmQgZGVjb2RlciwgdmlkZW8gcmFuZ2UgbGV2ZWxzIGFyZSB1c2VkCisg
ICAgICAgICgxNi0yMzUpLiBWaWRlbyByYW5nZSB3YXMgYXNzdW1lZCB0byB1c2UgZnVsbCByYW5n
ZSBpbnN0ZWFkICgwLTI1NSksIGNhdXNpbmcgYmxhY2tzIHRvIGxvb2sgZ3JleSBhbmQKKyAgICAg
ICAgd2hpdGVzIHRvIGFwcGVhciB3YXNoZWQtb3V0LgorICAgICAgICBJdCBpcyB0aGVvcmV0aWNh
bGx5IHBvc3NpYmxlLCB3aGVuIHVzaW5nIFZQOSB0aGF0IGZ1bGwtcmFuZ2UgbGV2ZWwgYXJlIHVz
ZWQuIFdoaWxlIHRoZSBpbmZvcm1hdGlvbgorICAgICAgICByZWxhdGVkIHRvIHZpZGVvIGxldmVs
cyBpcyBhdmFpbGFibGUgYXQgdGhlIFZQOSBjb2RlYyBsZXZlbDsgb25seSB0aGUgY29sb3Igc3Bh
Y2UgaW5mb3JtYXRpb24gaXMKKyAgICAgICAgYmVpbmcgbWFkZSBhdmFpbGFibGUgaW4gbGlid2Vi
cnRjJ3MgcHVibGljIGltYWdlIGRhdGEgc3RydWN0dXJlLCBjb2xvciByYW5nZSBpc24ndC4KKyAg
ICAgICAgRm9yIG5vdyB3ZSBjYW4gYXNzdW1lIHRoZSBkZWZhdWx0IGlzIHN1ZmZpY2llbnQsIGFu
ZCBhIGZvbGxvdy11cCBjaGFuZ2Ugd2lsbCBiZSBzdWJtaXR0ZWQgdG8gbGlid2VicnRjCisgICAg
ICAgIGxhdGVyIG9uLgorCisgICAgICAgIEluIG1lbW9yeSBvZiBEci4gQWxleC4gTWF5IGhlIHJl
c3QgaW4gcGVhY2UuCisgICAgICAgIFRlc3Q6IHdlYnJ0Yy92aWRlby12cDgtdmlkZW9yYW5nZS5o
dG1sCisKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVJbmNvbWlu
Z1ZpZGVvU291cmNlQ29jb2EubW06CisgICAgICAgIChXZWJDb3JlOjpSZWFsdGltZUluY29taW5n
VmlkZW9Tb3VyY2VDb2NvYTo6cGl4ZWxCdWZmZXJQb29sKToKKwogMjAyMS0wNC0yMSAgRnVqaWkg
SGlyb25vcmkgIDxIaXJvbm9yaS5GdWppaUBzb255LmNvbT4KIAogICAgICAgICBbV2luXSBHZXRE
b3VibGVDbGlja1RpbWUoKSByZXR1cm5zIDAgaW4gdGhlIG5vbi1pbnRlcmFjdGl2ZSB3aW5kb3cg
c3RhdGlvbiBvbiBXaW5kb3dzIDEwIHZlcnNpb24gMjAwNApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJj
ZUNvY29hLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0
aW1lSW5jb21pbmdWaWRlb1NvdXJjZUNvY29hLm1tCmluZGV4IDU3YmQwNDc5ODgzOTc3MGVjNGE0
NjYxNTM5MWZkNTMwOGRiZmYxYTIuLjhkZjhmNjhmNmY3MjQwNDc1ZGJkNDMyMzA2YWEzYTU2OWY2
ZTQ4Y2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21h
Yy9SZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2VDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlQ29j
b2EubW0KQEAgLTk0LDEwICs5NCwxMCBAQCBDVlBpeGVsQnVmZmVyUG9vbFJlZiBSZWFsdGltZUlu
Y29taW5nVmlkZW9Tb3VyY2VDb2NvYTo6cGl4ZWxCdWZmZXJQb29sKHNpemVfdCB3aQogICAgICAg
ICBPU1R5cGUgcG9vbEJ1ZmZlclR5cGU7CiAgICAgICAgIHN3aXRjaCAoYnVmZmVyVHlwZSkgewog
ICAgICAgICBjYXNlIHdlYnJ0Yzo6QnVmZmVyVHlwZTo6STQyMDoKLSAgICAgICAgICAgIHBvb2xC
dWZmZXJUeXBlID0ga0NWUGl4ZWxGb3JtYXRUeXBlXzQyMFlwQ2JDcjhCaVBsYW5hckZ1bGxSYW5n
ZTsKKyAgICAgICAgICAgIHBvb2xCdWZmZXJUeXBlID0ga0NWUGl4ZWxGb3JtYXRUeXBlXzQyMFlw
Q2JDcjhCaVBsYW5hclZpZGVvUmFuZ2U7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2Fz
ZSB3ZWJydGM6OkJ1ZmZlclR5cGU6OkkwMTA6Ci0gICAgICAgICAgICBwb29sQnVmZmVyVHlwZSA9
IGtDVlBpeGVsRm9ybWF0VHlwZV80MjBZcENiQ3IxMEJpUGxhbmFyRnVsbFJhbmdlOworICAgICAg
ICAgICAgcG9vbEJ1ZmZlclR5cGUgPSBrQ1ZQaXhlbEZvcm1hdFR5cGVfNDIwWXBDYkNyMTBCaVBs
YW5hclZpZGVvUmFuZ2U7CiAgICAgICAgIH0KICAgICAgICAgbV9waXhlbEJ1ZmZlclBvb2wgPSBj
cmVhdGVQaXhlbEJ1ZmZlclBvb2wod2lkdGgsIGhlaWdodCwgcG9vbEJ1ZmZlclR5cGUpOwogICAg
ICAgICBtX3BpeGVsQnVmZmVyUG9vbFdpZHRoID0gd2lkdGg7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggN2E4YWYxMzM2YWNh
YzA0MGNmYjdmYTczODA5Yjk2MmYyYTc0NDJkYi4uNDdkYTY4MmY1MTlhYzUzZWYxMDcxNjE0ZWI4
ZmEzODg3ZmU1MGIwNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIxLTA0LTIyICBKZWFuLVl2
ZXMgQXZlbmFyZCAgPGp5YUBhcHBsZS5jb20+CisKKyAgICAgICAgRml4IGNvbG9yIGdhbXV0IGlu
IFdlYlJUQyB3aGVuIHVzaW5nIFZQeCBzb2Z0d2FyZSBkZWNvZGVyLgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIwOTcyCisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS83MzYxNjQ1NT4KKworICAgICAgICBSZXZpZXdlZCBieSBZb3Vlbm4gRmFibGV0Lgor
CisgICAgICAgICogd2VicnRjL3ZpZGVvLXZwOC12aWRlb3JhbmdlLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogd2VicnRjL3ZpZGVvLXZwOC12aWRlb3JhbmdlLmh0bWw6IEFkZGVkLgor
CiAyMDIxLTA0LTIxICBUaW0gTmd1eWVuICA8bnRpbUBhcHBsZS5jb20+CiAKICAgICAgICAgSW1w
b3J0IGNzcy9jc3Mtd2lsbC1jaGFuZ2UgdGVzdHMgZnJvbSBXUFQKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3dlYnJ0Yy92aWRlby12cDgtdmlkZW9yYW5nZS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy93ZWJydGMvdmlkZW8tdnA4LXZpZGVvcmFuZ2UtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmQzMzExYjM0MDk0N2QzZGE1ZTAyMmQxYzJhZDFlYTE1ZjMxYzI2NDIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy93ZWJydGMvdmlkZW8tdnA4LXZpZGVvcmFuZ2UtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsNiBAQAorVmlkZW8gc2hvdWxkIGJlIHJ1bm5pbmcsIGEgY2hlY2tlciBiZSBk
cmF3biBhbmQgY29sb3JzIG1hdGNoaW5nIHRoZSBvcmlnaW5hbC4KKworCitQQVNTIFNldHRpbmcg
dmlkZW8gZXhjaGFuZ2UKK1BBU1MgVHJhY2sgaXMgZW5hYmxlZCwgdmlkZW8gc2hvdWxkIG5vdCBi
ZSBibGFjaworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJydGMvdmlkZW8tdnA4LXZpZGVv
cmFuZ2UuaHRtbCBiL0xheW91dFRlc3RzL3dlYnJ0Yy92aWRlby12cDgtdmlkZW9yYW5nZS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjg5ZWQ2NmZlODU1NmU3ZDBhNjY0Yjg1OGFlY2ZkZmU0ZTczYjllZDYKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJydGMvdmlkZW8tdnA4LXZpZGVvcmFuZ2Uu
aHRtbApAQCAtMCwwICsxLDc5IEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CisgICAgICAgIDx0aXRsZT5UZXN0aW5n
IHRoYXQgVlA4IHZpZGVvcyBhcmUgdXNpbmcgbGltaXRlZCB2aWRlbyByYW5nZTwvdGl0bGU+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDxkaXY+VmlkZW8g
c2hvdWxkIGJlIHJ1bm5pbmcsIGEgY2hlY2tlciBiZSBkcmF3biBhbmQgY29sb3JzIG1hdGNoaW5n
IHRoZSBvcmlnaW5hbC48L2Rpdj4KKyAgICAgICAgPGNhbnZhcyBpZD0iY2FudmFzMSIgd2lkdGg9
IjMyMCIgaGVpZ2h0PSIzMjAiPjwvY2FudmFzPgorICAgICAgICA8dmlkZW8gaWQ9InZpZGVvIiBh
dXRvcGxheSBwbGF5c0lubGluZSB3aWR0aD0iMzIwIiBoZWlnaHQ9IjMyMCI+PC92aWRlbz4KKyAg
ICAgICAgPGNhbnZhcyBpZD0iY2FudmFzMiIgd2lkdGg9IjMyMCIgaGVpZ2h0PSIzMjAiPjwvY2Fu
dmFzPgorICAgICAgICA8c2NyaXB0IHNyYyA9InJvdXRpbmVzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdD4KKwordmFyIGN0eCA9IGNhbnZhczEuZ2V0Q29udGV4dCgiMmQiKTsKKworLy8g
ZHJhdyBibGFjayBhbmQgd2hpdGUgY2hlY2tlci4KK2Z1bmN0aW9uIGRyYXdDaGVja2VyKGN0eCwg
eCwgeSwgd2lkdGgsIGhlaWdodCkgeworICBmb3IgKHZhciBpID0gMDsgaSA8IHg7IGkrKykgewor
ICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCB5OyBqKyspIHsKKyAgICAgICAgaWYgKChpICsgaikg
JSAyID09IDApCisgICAgICAgICAgICBjdHguZmlsbFN0eWxlID0gIiMwMDAwMDAiOworICAgICAg
ICBlbHNlCisgICAgICAgICAgICBjdHguZmlsbFN0eWxlID0gIiNGRkZGRkYiOworICAgICAgICBj
dHguZmlsbFJlY3QoaSAqIHdpZHRoIC8geCwgaiAqIGhlaWdodCAvIHksIHdpZHRoIC8geCwgaGVp
Z2h0IC8geSk7CisgICAgICB9CisgIH0KK30KKworY29uc3QgRlBTID0gMzA7Cit2YXIgdHJhY2s7
Cit2YXIgcmVtb3RlVHJhY2s7Cit2YXIgcmVjZWl2aW5nQ29ubmVjdGlvbjsKK3ZhciBsb2NhbFN0
cmVhbTsKKworLy8gUmVwZWF0aWRseSByZWRyYXcgdGhlIGNoZWNrZXIgdG8gZ2V0IHRoZSB2aWRl
byBzdHJlYW0gZ29pbmcuCitzZXRJbnRlcnZhbCgoKSA9PiBkcmF3Q2hlY2tlcihjdHgsIDIsIDIs
IGNhbnZhczEud2lkdGgsIGNhbnZhczEuaGVpZ2h0KSwgMTAwMCAvIEZQUyk7CisKK3Byb21pc2Vf
dGVzdChhc3luYyAodGVzdCkgPT4geworICAgIGNvbnN0IHJlbW90ZVN0cmVhbSA9IGF3YWl0IG5l
dyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHsKKyAgICAgICAgbG9jYWxTdHJlYW0gPSBj
YW52YXMxLmNhcHR1cmVTdHJlYW0oRlBTKTsKKyAgICAgICAgdHJhY2sgPSBsb2NhbFN0cmVhbS5n
ZXRWaWRlb1RyYWNrcygpWzBdOworCisgICAgICAgIGNyZWF0ZUNvbm5lY3Rpb25zKChmaXJzdENv
bm5lY3Rpb24pID0+IHsKKyAgICAgICAgICAgIGZpcnN0Q29ubmVjdGlvbi5hZGRUcmFjayh0cmFj
aywgbG9jYWxTdHJlYW0pOworICAgICAgICAgICAgZmlyc3RDb25uZWN0aW9uLmdldFRyYW5zY2Vp
dmVycygpWzBdLnNldENvZGVjUHJlZmVyZW5jZXMoW3ttaW1lVHlwZTogInZpZGVvL1ZQOCIsIGNs
b2NrUmF0ZTogOTAwMDB9XSk7CisgICAgICAgIH0sIChzZWNvbmRDb25uZWN0aW9uKSA9PiB7Cisg
ICAgICAgICAgICByZWNlaXZpbmdDb25uZWN0aW9uID0gc2Vjb25kQ29ubmVjdGlvbjsKKyAgICAg
ICAgICAgIHNlY29uZENvbm5lY3Rpb24ub250cmFjayA9ICh0cmFja0V2ZW50KSA9PiB7CisgICAg
ICAgICAgICAgICAgcmVtb3RlVHJhY2sgPSB0cmFja0V2ZW50LnRyYWNrOworICAgICAgICAgICAg
ICAgIHJlc29sdmUodHJhY2tFdmVudC5zdHJlYW1zWzBdKTsKKyAgICAgICAgICAgIH07CisgICAg
ICAgIH0sIHsgb2JzZXJ2ZU9mZmVyIDogdGVzdC5zdGVwX2Z1bmMoKG9mZmVyKSA9PiB7CisgICAg
ICAgICAgICBhc3NlcnRfZmFsc2Uob2ZmZXIuc2RwLmluY2x1ZGVzKCJIMjY0IiksICJObyBIMjY0
Iik7CisgICAgICAgICAgICBhc3NlcnRfdHJ1ZShvZmZlci5zZHAuaW5jbHVkZXMoIlZQOCIpLCAi
VlA4Iik7CisgICAgICAgICAgICByZXR1cm4gb2ZmZXI7CisgICAgICAgIH0pCisgICAgICAgIH0p
OworICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHJlamVjdCgiVGVzdCB0aW1lZCBvdXQiKSwgNTAw
MCk7CisgICAgfSk7CisgICAgdmlkZW8uc3JjT2JqZWN0ID0gcmVtb3RlU3RyZWFtOworICAgIHJl
dHVybiB2aWRlby5wbGF5KCk7Cit9LCAiU2V0dGluZyB2aWRlbyBleGNoYW5nZSIpOworCitwcm9t
aXNlX3Rlc3QoYXN5bmMgKHRlc3QpID0+IHsKKyAgICBhd2FpdCBjaGVja1ZpZGVvQmxhY2soZmFs
c2UsIGNhbnZhczIsIHZpZGVvKTsKKyAgICBsZXQgY29udGV4dCA9IGNhbnZhczIuZ2V0Q29udGV4
dCgnMmQnKTsKKyAgICAvLyBDaGVjayBwaXhlbCBpcyBwdXJlIGJsYWNrIGluIHRvcCBsZWZ0IHNx
dWFyZS4KKyAgICBsZXQgcGl4ZWxEYXRhID0gY29udGV4dC5nZXRJbWFnZURhdGEoY2FudmFzMi53
aWR0aCAvIDQsIGNhbnZhczIuaGVpZ2h0IC8gNCwgMSwgMSkuZGF0YTsKKyAgICBhc3NlcnRfZXF1
YWxzKFsgcGl4ZWxEYXRhWzBdLCBwaXhlbERhdGFbMV0sIHBpeGVsRGF0YVsyXSBdLmpvaW4oKSwg
WzAsIDAsIDBdLmpvaW4oKSk7CisgICAgLy8gQ2hlY2sgcGl4ZWwgaXMgcHVyZSB3aGl0ZSBpbiB0
b3AgcmlnaHQgc3F1YXJlLgorICAgIHBpeGVsRGF0YSA9IGNvbnRleHQuZ2V0SW1hZ2VEYXRhKDMg
KiBjYW52YXMyLndpZHRoIC8gNCwgY2FudmFzMi5oZWlnaHQgLyA0LCAxLCAxKS5kYXRhOworICAg
IGFzc2VydF9lcXVhbHMoWyBwaXhlbERhdGFbMF0sIHBpeGVsRGF0YVsxXSwgcGl4ZWxEYXRhWzJd
IF0uam9pbigpLCBbMjU1LCAyNTUsIDI1NV0uam9pbigpKTsKK30sICJUcmFjayBpcyBlbmFibGVk
LCB2aWRlbyBzaG91bGQgbm90IGJlIGJsYWNrIik7CisgICAgICAgIDwvc2NyaXB0PgorICAgIDwv
Ym9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>426874</attachid>
            <date>2021-04-22 17:24:02 -0700</date>
            <delta_ts>2021-04-22 17:57:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220972-20210423102401.patch</filename>
            <type>text/plain</type>
            <size>7478</size>
            <attacher name="Jean-Yves Avenard [:jya]">jean-yves.avenard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2NDIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2Q5OTQ5MGFlZmYzNmQy
YWI1YjA0YTU2MTI3ZWNmM2E0YmMzM2JlMS4uZDAxYTk0ZjZmOWI0NGRiNzZhOWMyODJhMDA1ZTFh
Zjc4YTFhMTVlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDIxLTA0LTIyICBKZWFu
LVl2ZXMgQXZlbmFyZCAgPGp5YUBhcHBsZS5jb20+CisKKyAgICAgICAgRml4IGNvbG9yIGdhbXV0
IGluIFdlYlJUQyB3aGVuIHVzaW5nIFZQeCBzb2Z0d2FyZSBkZWNvZGVyLgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIwOTcyCisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS83MzYxNjQ1NT4KKworICAgICAgICBSZXZpZXdlZCBieSBZb3Vlbm4gRmFibGV0
LgorCisgICAgICAgIEJ5IGRlZmF1bHQsIGFuZCBob3cgbGlid2VicnRjIGlzIGNvbmZpZ3VyaW5n
IGl0cyBlbmNvZGVycyBhbmQgZGVjb2RlciwgdmlkZW8gcmFuZ2UgbGV2ZWxzIGFyZSB1c2VkCisg
ICAgICAgICgxNi0yMzUpLiBWaWRlbyByYW5nZSB3YXMgYXNzdW1lZCB0byB1c2UgZnVsbCByYW5n
ZSBpbnN0ZWFkICgwLTI1NSksIGNhdXNpbmcgYmxhY2tzIHRvIGxvb2sgZ3JleSBhbmQKKyAgICAg
ICAgd2hpdGVzIHRvIGFwcGVhciB3YXNoZWQtb3V0LgorICAgICAgICBJdCBpcyB0aGVvcmV0aWNh
bGx5IHBvc3NpYmxlLCB3aGVuIHVzaW5nIFZQOSB0aGF0IGZ1bGwtcmFuZ2UgbGV2ZWwgYXJlIHVz
ZWQuIFdoaWxlIHRoZSBpbmZvcm1hdGlvbgorICAgICAgICByZWxhdGVkIHRvIHZpZGVvIGxldmVs
cyBpcyBhdmFpbGFibGUgYXQgdGhlIFZQOSBjb2RlYyBsZXZlbDsgb25seSB0aGUgY29sb3Igc3Bh
Y2UgaW5mb3JtYXRpb24gaXMKKyAgICAgICAgYmVpbmcgbWFkZSBhdmFpbGFibGUgaW4gbGlid2Vi
cnRjJ3MgcHVibGljIGltYWdlIGRhdGEgc3RydWN0dXJlLCBjb2xvciByYW5nZSBpc24ndC4KKyAg
ICAgICAgRm9yIG5vdyB3ZSBjYW4gYXNzdW1lIHRoZSBkZWZhdWx0IGlzIHN1ZmZpY2llbnQsIGFu
ZCBhIGZvbGxvdy11cCBjaGFuZ2Ugd2lsbCBiZSBzdWJtaXR0ZWQgdG8gbGlid2VicnRjCisgICAg
ICAgIGxhdGVyIG9uLgorCisgICAgICAgIEluIG1lbW9yeSBvZiBEci4gQWxleC4gTWF5IGhlIHJl
c3QgaW4gcGVhY2UuCisgICAgICAgIFRlc3Q6IHdlYnJ0Yy92aWRlby12cDgtdmlkZW9yYW5nZS5o
dG1sCisKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVJbmNvbWlu
Z1ZpZGVvU291cmNlQ29jb2EubW06CisgICAgICAgIChXZWJDb3JlOjpSZWFsdGltZUluY29taW5n
VmlkZW9Tb3VyY2VDb2NvYTo6cGl4ZWxCdWZmZXJQb29sKToKKwogMjAyMS0wNC0yMSAgRnVqaWkg
SGlyb25vcmkgIDxIaXJvbm9yaS5GdWppaUBzb255LmNvbT4KIAogICAgICAgICBbV2luXSBHZXRE
b3VibGVDbGlja1RpbWUoKSByZXR1cm5zIDAgaW4gdGhlIG5vbi1pbnRlcmFjdGl2ZSB3aW5kb3cg
c3RhdGlvbiBvbiBXaW5kb3dzIDEwIHZlcnNpb24gMjAwNApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJj
ZUNvY29hLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0
aW1lSW5jb21pbmdWaWRlb1NvdXJjZUNvY29hLm1tCmluZGV4IDU3YmQwNDc5ODgzOTc3MGVjNGE0
NjYxNTM5MWZkNTMwOGRiZmYxYTIuLjhkZjhmNjhmNmY3MjQwNDc1ZGJkNDMyMzA2YWEzYTU2OWY2
ZTQ4Y2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21h
Yy9SZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2VDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291cmNlQ29j
b2EubW0KQEAgLTk0LDEwICs5NCwxMCBAQCBDVlBpeGVsQnVmZmVyUG9vbFJlZiBSZWFsdGltZUlu
Y29taW5nVmlkZW9Tb3VyY2VDb2NvYTo6cGl4ZWxCdWZmZXJQb29sKHNpemVfdCB3aQogICAgICAg
ICBPU1R5cGUgcG9vbEJ1ZmZlclR5cGU7CiAgICAgICAgIHN3aXRjaCAoYnVmZmVyVHlwZSkgewog
ICAgICAgICBjYXNlIHdlYnJ0Yzo6QnVmZmVyVHlwZTo6STQyMDoKLSAgICAgICAgICAgIHBvb2xC
dWZmZXJUeXBlID0ga0NWUGl4ZWxGb3JtYXRUeXBlXzQyMFlwQ2JDcjhCaVBsYW5hckZ1bGxSYW5n
ZTsKKyAgICAgICAgICAgIHBvb2xCdWZmZXJUeXBlID0ga0NWUGl4ZWxGb3JtYXRUeXBlXzQyMFlw
Q2JDcjhCaVBsYW5hclZpZGVvUmFuZ2U7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2Fz
ZSB3ZWJydGM6OkJ1ZmZlclR5cGU6OkkwMTA6Ci0gICAgICAgICAgICBwb29sQnVmZmVyVHlwZSA9
IGtDVlBpeGVsRm9ybWF0VHlwZV80MjBZcENiQ3IxMEJpUGxhbmFyRnVsbFJhbmdlOworICAgICAg
ICAgICAgcG9vbEJ1ZmZlclR5cGUgPSBrQ1ZQaXhlbEZvcm1hdFR5cGVfNDIwWXBDYkNyMTBCaVBs
YW5hclZpZGVvUmFuZ2U7CiAgICAgICAgIH0KICAgICAgICAgbV9waXhlbEJ1ZmZlclBvb2wgPSBj
cmVhdGVQaXhlbEJ1ZmZlclBvb2wod2lkdGgsIGhlaWdodCwgcG9vbEJ1ZmZlclR5cGUpOwogICAg
ICAgICBtX3BpeGVsQnVmZmVyUG9vbFdpZHRoID0gd2lkdGg7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggN2E4YWYxMzM2YWNh
YzA0MGNmYjdmYTczODA5Yjk2MmYyYTc0NDJkYi4uNDdkYTY4MmY1MTlhYzUzZWYxMDcxNjE0ZWI4
ZmEzODg3ZmU1MGIwNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIxLTA0LTIyICBKZWFuLVl2
ZXMgQXZlbmFyZCAgPGp5YUBhcHBsZS5jb20+CisKKyAgICAgICAgRml4IGNvbG9yIGdhbXV0IGlu
IFdlYlJUQyB3aGVuIHVzaW5nIFZQeCBzb2Z0d2FyZSBkZWNvZGVyLgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIwOTcyCisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS83MzYxNjQ1NT4KKworICAgICAgICBSZXZpZXdlZCBieSBZb3Vlbm4gRmFibGV0Lgor
CisgICAgICAgICogd2VicnRjL3ZpZGVvLXZwOC12aWRlb3JhbmdlLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogd2VicnRjL3ZpZGVvLXZwOC12aWRlb3JhbmdlLmh0bWw6IEFkZGVkLgor
CiAyMDIxLTA0LTIxICBUaW0gTmd1eWVuICA8bnRpbUBhcHBsZS5jb20+CiAKICAgICAgICAgSW1w
b3J0IGNzcy9jc3Mtd2lsbC1jaGFuZ2UgdGVzdHMgZnJvbSBXUFQKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3dlYnJ0Yy92aWRlby12cDgtdmlkZW9yYW5nZS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy93ZWJydGMvdmlkZW8tdnA4LXZpZGVvcmFuZ2UtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmQzMzExYjM0MDk0N2QzZGE1ZTAyMmQxYzJhZDFlYTE1ZjMxYzI2NDIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy93ZWJydGMvdmlkZW8tdnA4LXZpZGVvcmFuZ2UtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsNiBAQAorVmlkZW8gc2hvdWxkIGJlIHJ1bm5pbmcsIGEgY2hlY2tlciBiZSBk
cmF3biBhbmQgY29sb3JzIG1hdGNoaW5nIHRoZSBvcmlnaW5hbC4KKworCitQQVNTIFNldHRpbmcg
dmlkZW8gZXhjaGFuZ2UKK1BBU1MgVHJhY2sgaXMgZW5hYmxlZCwgdmlkZW8gc2hvdWxkIG5vdCBi
ZSBibGFjaworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJydGMvdmlkZW8tdnA4LXZpZGVv
cmFuZ2UuaHRtbCBiL0xheW91dFRlc3RzL3dlYnJ0Yy92aWRlby12cDgtdmlkZW9yYW5nZS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjYxOWY1ZmQ0MmY3NzliOGJhYzUzODVhZGEyYjhkZjkxM2Q1YjZkZTQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJydGMvdmlkZW8tdnA4LXZpZGVvcmFuZ2Uu
aHRtbApAQCAtMCwwICsxLDgwIEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFk
PgorICAgICAgICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CisgICAgICAgIDx0aXRsZT5UZXN0aW5n
IHRoYXQgVlA4IHZpZGVvcyBhcmUgdXNpbmcgbGltaXRlZCB2aWRlbyByYW5nZTwvdGl0bGU+Cisg
ICAgICAgIDxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDxkaXY+VmlkZW8g
c2hvdWxkIGJlIHJ1bm5pbmcsIGEgY2hlY2tlciBiZSBkcmF3biBhbmQgY29sb3JzIG1hdGNoaW5n
IHRoZSBvcmlnaW5hbC48L2Rpdj4KKyAgICAgICAgPGNhbnZhcyBpZD0iY2FudmFzMSIgd2lkdGg9
IjMyMCIgaGVpZ2h0PSIzMjAiPjwvY2FudmFzPgorICAgICAgICA8dmlkZW8gaWQ9InZpZGVvIiBh
dXRvcGxheSBwbGF5c0lubGluZSB3aWR0aD0iMzIwIiBoZWlnaHQ9IjMyMCI+PC92aWRlbz4KKyAg
ICAgICAgPGNhbnZhcyBpZD0iY2FudmFzMiIgd2lkdGg9IjMyMCIgaGVpZ2h0PSIzMjAiPjwvY2Fu
dmFzPgorICAgICAgICA8c2NyaXB0IHNyYyA9InJvdXRpbmVzLmpzIj48L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdD4KKwordmFyIGN0eCA9IGNhbnZhczEuZ2V0Q29udGV4dCgiMmQiKTsKKworLy8g
ZHJhdyBibGFjayBhbmQgd2hpdGUgY2hlY2tlci4KK2Z1bmN0aW9uIGRyYXdDaGVja2VyKGN0eCwg
eCwgeSwgd2lkdGgsIGhlaWdodCkgeworICBmb3IgKHZhciBpID0gMDsgaSA8IHg7IGkrKykgewor
ICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCB5OyBqKyspIHsKKyAgICAgICAgaWYgKChpICsgaikg
JSAyID09IDApCisgICAgICAgICAgICBjdHguZmlsbFN0eWxlID0gIiMwMDAwMDAiOworICAgICAg
ICBlbHNlCisgICAgICAgICAgICBjdHguZmlsbFN0eWxlID0gIiNGRkZGRkYiOworICAgICAgICBj
dHguZmlsbFJlY3QoaSAqIHdpZHRoIC8geCwgaiAqIGhlaWdodCAvIHksIHdpZHRoIC8geCwgaGVp
Z2h0IC8geSk7CisgICAgICB9CisgIH0KK30KKworY29uc3QgRlBTID0gMzA7Cit2YXIgdHJhY2s7
Cit2YXIgcmVtb3RlVHJhY2s7Cit2YXIgcmVjZWl2aW5nQ29ubmVjdGlvbjsKK3ZhciBsb2NhbFN0
cmVhbTsKKworLy8gVE9ETy4gQnVnIDIyNDk2MDogSW52ZXN0aWdhdGUgd2h5IHdlIG5lZWQgdG8g
cmVkcmF3IHRoZSBjYW52YXMgZm9yIHRoZSBwbGF5IHByb21pc2UgdG8gbGF0ZXIgYmUgcmVzb2x2
ZWQuCisvLyBSZXBlYXRlZGx5IHJlZHJhdyB0aGUgY2hlY2tlciB0byBnZXQgdGhlIHZpZGVvIHN0
cmVhbSBnb2luZy4KK3NldEludGVydmFsKCgpID0+IGRyYXdDaGVja2VyKGN0eCwgMiwgMiwgY2Fu
dmFzMS53aWR0aCwgY2FudmFzMS5oZWlnaHQpLCAxMDAwIC8gRlBTKTsKKworcHJvbWlzZV90ZXN0
KGFzeW5jICh0ZXN0KSA9PiB7CisgICAgY29uc3QgcmVtb3RlU3RyZWFtID0gYXdhaXQgbmV3IFBy
b21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4geworICAgICAgICBsb2NhbFN0cmVhbSA9IGNhbnZh
czEuY2FwdHVyZVN0cmVhbShGUFMpOworICAgICAgICB0cmFjayA9IGxvY2FsU3RyZWFtLmdldFZp
ZGVvVHJhY2tzKClbMF07CisKKyAgICAgICAgY3JlYXRlQ29ubmVjdGlvbnMoKGZpcnN0Q29ubmVj
dGlvbikgPT4geworICAgICAgICAgICAgZmlyc3RDb25uZWN0aW9uLmFkZFRyYWNrKHRyYWNrLCBs
b2NhbFN0cmVhbSk7CisgICAgICAgICAgICBmaXJzdENvbm5lY3Rpb24uZ2V0VHJhbnNjZWl2ZXJz
KClbMF0uc2V0Q29kZWNQcmVmZXJlbmNlcyhbe21pbWVUeXBlOiAidmlkZW8vVlA4IiwgY2xvY2tS
YXRlOiA5MDAwMH1dKTsKKyAgICAgICAgfSwgKHNlY29uZENvbm5lY3Rpb24pID0+IHsKKyAgICAg
ICAgICAgIHJlY2VpdmluZ0Nvbm5lY3Rpb24gPSBzZWNvbmRDb25uZWN0aW9uOworICAgICAgICAg
ICAgc2Vjb25kQ29ubmVjdGlvbi5vbnRyYWNrID0gKHRyYWNrRXZlbnQpID0+IHsKKyAgICAgICAg
ICAgICAgICByZW1vdGVUcmFjayA9IHRyYWNrRXZlbnQudHJhY2s7CisgICAgICAgICAgICAgICAg
cmVzb2x2ZSh0cmFja0V2ZW50LnN0cmVhbXNbMF0pOworICAgICAgICAgICAgfTsKKyAgICAgICAg
fSwgeyBvYnNlcnZlT2ZmZXIgOiB0ZXN0LnN0ZXBfZnVuYygob2ZmZXIpID0+IHsKKyAgICAgICAg
ICAgIGFzc2VydF9mYWxzZShvZmZlci5zZHAuaW5jbHVkZXMoIkgyNjQiKSwgIk5vIEgyNjQiKTsK
KyAgICAgICAgICAgIGFzc2VydF90cnVlKG9mZmVyLnNkcC5pbmNsdWRlcygiVlA4IiksICJWUDgi
KTsKKyAgICAgICAgICAgIHJldHVybiBvZmZlcjsKKyAgICAgICAgfSkKKyAgICAgICAgfSk7Cisg
ICAgICAgIHNldFRpbWVvdXQoKCkgPT4gcmVqZWN0KCJUZXN0IHRpbWVkIG91dCIpLCA1MDAwKTsK
KyAgICB9KTsKKyAgICB2aWRlby5zcmNPYmplY3QgPSByZW1vdGVTdHJlYW07CisgICAgcmV0dXJu
IHZpZGVvLnBsYXkoKTsKK30sICJTZXR0aW5nIHZpZGVvIGV4Y2hhbmdlIik7CisKK3Byb21pc2Vf
dGVzdChhc3luYyAodGVzdCkgPT4geworICAgIGF3YWl0IGNoZWNrVmlkZW9CbGFjayhmYWxzZSwg
Y2FudmFzMiwgdmlkZW8pOworICAgIGxldCBjb250ZXh0ID0gY2FudmFzMi5nZXRDb250ZXh0KCcy
ZCcpOworICAgIC8vIENoZWNrIHBpeGVsIGlzIHB1cmUgYmxhY2sgaW4gdG9wIGxlZnQgc3F1YXJl
LgorICAgIGxldCBwaXhlbERhdGEgPSBjb250ZXh0LmdldEltYWdlRGF0YShjYW52YXMyLndpZHRo
IC8gNCwgY2FudmFzMi5oZWlnaHQgLyA0LCAxLCAxKS5kYXRhOworICAgIGFzc2VydF9lcXVhbHMo
WyBwaXhlbERhdGFbMF0sIHBpeGVsRGF0YVsxXSwgcGl4ZWxEYXRhWzJdIF0uam9pbigpLCBbMCwg
MCwgMF0uam9pbigpKTsKKyAgICAvLyBDaGVjayBwaXhlbCBpcyBwdXJlIHdoaXRlIGluIHRvcCBy
aWdodCBzcXVhcmUuCisgICAgcGl4ZWxEYXRhID0gY29udGV4dC5nZXRJbWFnZURhdGEoMyAqIGNh
bnZhczIud2lkdGggLyA0LCBjYW52YXMyLmhlaWdodCAvIDQsIDEsIDEpLmRhdGE7CisgICAgYXNz
ZXJ0X2VxdWFscyhbIHBpeGVsRGF0YVswXSwgcGl4ZWxEYXRhWzFdLCBwaXhlbERhdGFbMl0gXS5q
b2luKCksIFsyNTUsIDI1NSwgMjU1XS5qb2luKCkpOworfSwgIlRyYWNrIGlzIGVuYWJsZWQsIHZp
ZGVvIHNob3VsZCBub3QgYmUgYmxhY2siKTsKKyAgICAgICAgPC9zY3JpcHQ+CisgICAgPC9ib2R5
PgorPC9odG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>