<?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>215391</bug_id>
          
          <creation_ts>2020-08-11 14:02:36 -0700</creation_ts>
          <short_desc>Fix WaveShaperNode&apos;s waveshaping curve implementation</short_desc>
          <delta_ts>2020-08-12 09:50:40 -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>Web Audio</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>https://www.w3.org/TR/webaudio/#dom-waveshapernode-curve</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>212611</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>clark_wang</cc>
    
    <cc>darin</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sam</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1679545</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-08-11 14:02:36 -0700</bug_when>
    <thetext>fix WaveShapperNode&apos;s curve implementation to match the specification:
- https://www.w3.org/TR/webaudio/#dom-waveshapernode-curve</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1679571</commentid>
    <comment_count>1</comment_count>
      <attachid>406420</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-08-11 14:41:39 -0700</bug_when>
    <thetext>Created attachment 406420
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1679572</commentid>
    <comment_count>2</comment_count>
      <attachid>406420</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-08-11 14:44:16 -0700</bug_when>
    <thetext>Comment on attachment 406420
Patch

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

&gt; Source/WebCore/Modules/webaudio/WaveShaperDSPKernel.cpp:111
&gt; +            unsigned k = floor(v);
&gt; +            double f = v - k;

What&apos;s the rationale for converting v to an unsigned and back to a double? That’s inefficient and I don’t think it’s needed once we’ve done the floor.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1679578</commentid>
    <comment_count>3</comment_count>
      <attachid>406420</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-08-11 14:55:29 -0700</bug_when>
    <thetext>Comment on attachment 406420
Patch

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

&gt;&gt; Source/WebCore/Modules/webaudio/WaveShaperDSPKernel.cpp:111
&gt;&gt; +            double f = v - k;
&gt; 
&gt; What&apos;s the rationale for converting v to an unsigned and back to a double? That’s inefficient and I don’t think it’s needed once we’ve done the floor.

I don&apos;t understand this comment. I tried to match the formula in the specification as closely as possible. That said, the formula does not mention what data type should be used for each variable.
k is used as index in curveData array so it needs to be an unsigned integer. However, v and f are not integers as far as I can tell.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1679601</commentid>
    <comment_count>4</comment_count>
      <attachid>406420</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-08-11 15:24:08 -0700</bug_when>
    <thetext>Comment on attachment 406420
Patch

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

&gt; Source/WebCore/Modules/webaudio/WaveShaperDSPKernel.cpp:102
&gt;          const float input = source[i];

I wonder if we have to convert everything to double to get correct results. Would be more efficient to do the work as float, but may not give identical results.

&gt; Source/WebCore/Modules/webaudio/WaveShaperDSPKernel.cpp:107
&gt; +        else if (v &gt;= (curveLength - 1))

Unnecessary parentheses here.

&gt; Source/WebCore/Modules/webaudio/WaveShaperDSPKernel.cpp:108
&gt; +            destination[i] = curveData[curveLength -1];

Missing space after &quot;-&quot;.

&gt;&gt;&gt; Source/WebCore/Modules/webaudio/WaveShaperDSPKernel.cpp:111
&gt;&gt;&gt; +            double f = v - k;
&gt;&gt; 
&gt;&gt; What&apos;s the rationale for converting v to an unsigned and back to a double? That’s inefficient and I don’t think it’s needed once we’ve done the floor.
&gt; 
&gt; I don&apos;t understand this comment. I tried to match the formula in the specification as closely as possible. That said, the formula does not mention what data type should be used for each variable.
&gt; k is used as index in curveData array so it needs to be an unsigned integer. However, v and f are not integers as far as I can tell.

I see; I didn’t notice that k was used as an array index. Could do this:

    double dk = floor(v);
    unsigned k = dk;
    double f = v - k;

This would be more efficient than the code above.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1679619</commentid>
    <comment_count>5</comment_count>
      <attachid>406428</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-08-11 16:02:43 -0700</bug_when>
    <thetext>Created attachment 406428
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1679620</commentid>
    <comment_count>6</comment_count>
      <attachid>406428</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-08-11 16:04:51 -0700</bug_when>
    <thetext>Comment on attachment 406428
Patch

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

Ok, I have now using float instead of double for the computation. This still passes the tests and should suffice since values use float precision in the end.

&gt; Source/WebCore/Modules/webaudio/WaveShaperDSPKernel.cpp:110
&gt; +            float fk = floorf(v);

Ok, I did it on 2 lines here as suggested. I don&apos;t really understand why it is faster though. If you have time, I&apos;d love to understand why this is faster than:
unsigned k = floorf(v);</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1679631</commentid>
    <comment_count>7</comment_count>
      <attachid>406428</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-08-11 16:14:55 -0700</bug_when>
    <thetext>Comment on attachment 406428
Patch

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

&gt; Source/WebCore/Modules/webaudio/WaveShaperDSPKernel.cpp:112
&gt; +            float f = v - k;

This is where the faster code would be:

    float f = v - fk;

Sorry I wasn’t clear on that before!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1679636</commentid>
    <comment_count>8</comment_count>
      <attachid>406431</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-08-11 16:21:28 -0700</bug_when>
    <thetext>Created attachment 406431
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1679637</commentid>
    <comment_count>9</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-08-11 16:21:47 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #7)
&gt; Comment on attachment 406428 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=406428&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/Modules/webaudio/WaveShaperDSPKernel.cpp:112
&gt; &gt; +            float f = v - k;
&gt; 
&gt; This is where the faster code would be:
&gt; 
&gt;     float f = v - fk;
&gt; 
&gt; Sorry I wasn’t clear on that before!

Oh, it makes sense now. Thanks for clarifying.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1679650</commentid>
    <comment_count>10</comment_count>
      <attachid>406431</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-08-11 16:43:20 -0700</bug_when>
    <thetext>Comment on attachment 406431
Patch

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

&gt; Source/WebCore/Modules/webaudio/WaveShaperDSPKernel.cpp:104
&gt; +        float v = (curveLength - 1) * 0.5 * (input + 1);

This 0.5 is a double, so it makes the expression compute as double and then narrow down to float. Needs to be 0.5f if we want it to be done as float.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1679655</commentid>
    <comment_count>11</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-08-11 16:55:38 -0700</bug_when>
    <thetext>Committed r265536: &lt;https://trac.webkit.org/changeset/265536&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 406431.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1679656</commentid>
    <comment_count>12</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-08-11 16:56:21 -0700</bug_when>
    <thetext>&lt;rdar://problem/66870911&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1679660</commentid>
    <comment_count>13</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-08-11 16:59:42 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #10)
&gt; Comment on attachment 406431 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=406431&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/Modules/webaudio/WaveShaperDSPKernel.cpp:104
&gt; &gt; +        float v = (curveLength - 1) * 0.5 * (input + 1);
&gt; 
&gt; This 0.5 is a double, so it makes the expression compute as double and then
&gt; narrow down to float. Needs to be 0.5f if we want it to be done as float.

Fixed in &lt;https://trac.webkit.org/changeset/265538&gt;, thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1679674</commentid>
    <comment_count>14</comment_count>
      <attachid>406431</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-08-11 18:25:02 -0700</bug_when>
    <thetext>Comment on attachment 406431
Patch

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

&gt; Source/WebCore/Modules/webaudio/WaveShaperDSPKernel.cpp:110
&gt; +            float k = floorf(v);

Tiny nit, but I have been trying to convert to using std::floor() in cases like this (it is overloaded based on type, so will end up calling floorf(), but generalizes better).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1679748</commentid>
    <comment_count>15</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-08-12 09:50:40 -0700</bug_when>
    <thetext>(In reply to Sam Weinig from comment #14)
&gt; Comment on attachment 406431 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=406431&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/Modules/webaudio/WaveShaperDSPKernel.cpp:110
&gt; &gt; +            float k = floorf(v);
&gt; 
&gt; Tiny nit, but I have been trying to convert to using std::floor() in cases
&gt; like this (it is overloaded based on type, so will end up calling floorf(),
&gt; but generalizes better).

Thanks for pointing it out. I agree it is nicer and made the nit fix in &lt;https://trac.webkit.org/changeset/265552&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>406420</attachid>
            <date>2020-08-11 14:41:39 -0700</date>
            <delta_ts>2020-08-11 16:02:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-215391-20200811144138.patch</filename>
            <type>text/plain</type>
            <size>15120</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1NTA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWU4MWVkNzk2NjM3MTZm
NTZkOTcxZDM5NTRhODcxZWI3ODFjZWE0YS4uOTljNjE5Yzk2ODhjNzA2Zjk4MDliNWZhMzllZWUw
OGI5ZGU0MTNiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDIwLTA4LTExICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgRml4IFdhdmVTaGFwcGVyTm9k
ZSdzIHdhdmVzaGFwaW5nIGN1cnZlIGltcGxlbWVudGF0aW9uCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTUzOTEKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGaXggV2F2ZVNoYXBwZXJOb2RlJ3Mgd2F2ZXNo
YXBpbmcgY3VydmUgaW1wbGVtZW50YXRpb24gdXNpbmcgdGhlIGFsZ29yaXRobSBpbiB0aGUgc3Bl
Y2lmaWNhdGlvbjoKKyAgICAgICAgLSBodHRwczovL3d3dy53My5vcmcvVFIvd2ViYXVkaW8vI2Rv
bS13YXZlc2hhcGVybm9kZS1jdXJ2ZQorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgcmViYXNlbGlu
ZWQgZXhpc3RpbmcgdGVzdHMuCisKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL1dhdmVTaGFw
ZXJEU1BLZXJuZWwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2F2ZVNoYXBlckRTUEtlcm5lbDo6
cHJvY2Vzc0N1cnZlKToKKwogMjAyMC0wOC0xMSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUu
Y29tPgogCiAgICAgICAgIEZpeCBCaXF1YWRGaWx0ZXJOb2RlJ3MgbG93cGFzcyBmaWx0ZXIKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vV2F2ZVNoYXBlckRTUEtl
cm5lbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1dhdmVTaGFwZXJEU1BL
ZXJuZWwuY3BwCmluZGV4IGYzZDIxMjJkZjUxYzRmMWEyOTIyNGU2OTNhYjQ5NWJiYzJiOTM4ZTQu
LjUzNmVhZjdiN2YwODVhNDA5ZjQyZTQ5MGM3OTZkNjAxNmQ0Y2RiZDUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vV2F2ZVNoYXBlckRTUEtlcm5lbC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9XYXZlU2hhcGVyRFNQS2VybmVsLmNw
cApAQCAtMTAxLDI1ICsxMDEsMTYgQEAgdm9pZCBXYXZlU2hhcGVyRFNQS2VybmVsOjpwcm9jZXNz
Q3VydmUoY29uc3QgZmxvYXQqIHNvdXJjZSwgZmxvYXQqIGRlc3RpbmF0aW9uLAogICAgIGZvciAo
dW5zaWduZWQgaSA9IDA7IGkgPCBmcmFtZXNUb1Byb2Nlc3M7ICsraSkgewogICAgICAgICBjb25z
dCBmbG9hdCBpbnB1dCA9IHNvdXJjZVtpXTsKIAotICAgICAgICAvLyBDYWxjdWxhdGUgYSB2aXJ0
dWFsIGluZGV4IGJhc2VkIG9uIGlucHV0IC0xIC0+ICsxIHdpdGggMCBiZWluZyBhdCB0aGUgY2Vu
dGVyIG9mIHRoZSBjdXJ2ZSBkYXRhLgotICAgICAgICAvLyBUaGVuIGxpbmVhcmx5IGludGVycG9s
YXRlIGJldHdlZW4gdGhlIHR3byBwb2ludHMgaW4gdGhlIGN1cnZlLgotICAgICAgICBkb3VibGUg
dmlydHVhbEluZGV4ID0gMC41ICogKGlucHV0ICsgMSkgKiBjdXJ2ZUxlbmd0aDsKLSAgICAgICAg
aW50IGluZGV4MSA9IHN0YXRpY19jYXN0PGludD4odmlydHVhbEluZGV4KTsKLSAgICAgICAgaW50
IGluZGV4MiA9IGluZGV4MSArIDE7Ci0gICAgICAgIGRvdWJsZSBpbnRlcnBvbGF0aW9uRmFjdG9y
ID0gdmlydHVhbEluZGV4IC0gaW5kZXgxOwotCi0gICAgICAgIC8vIENsaXAgaW5kZXggdG8gdGhl
IGlucHV0IHJhbmdlIG9mIHRoZSBjdXJ2ZS4KLSAgICAgICAgLy8gVGhpcyB0YWtlcyBjYXJlIG9m
IGlucHV0IG91dHNpZGUgb2Ygbm9taW5hbCByYW5nZSAtMSAtPiArMQotICAgICAgICBpbmRleDEg
PSBzdGQ6Om1heChpbmRleDEsIDApOwotICAgICAgICBpbmRleDEgPSBzdGQ6Om1pbihpbmRleDEs
IGN1cnZlTGVuZ3RoIC0gMSk7Ci0gICAgICAgIGluZGV4MiA9IHN0ZDo6bWF4KGluZGV4MiwgMCk7
Ci0gICAgICAgIGluZGV4MiA9IHN0ZDo6bWluKGluZGV4MiwgY3VydmVMZW5ndGggLSAxKTsKLQot
ICAgICAgICBkb3VibGUgdmFsdWUxID0gY3VydmVEYXRhW2luZGV4MV07Ci0gICAgICAgIGRvdWJs
ZSB2YWx1ZTIgPSBjdXJ2ZURhdGFbaW5kZXgyXTsKLQotICAgICAgICBkb3VibGUgb3V0cHV0ID0g
KDEuMCAtIGludGVycG9sYXRpb25GYWN0b3IpICogdmFsdWUxICsgaW50ZXJwb2xhdGlvbkZhY3Rv
ciAqIHZhbHVlMjsKLSAgICAgICAgZGVzdGluYXRpb25baV0gPSBvdXRwdXQ7CisgICAgICAgIGRv
dWJsZSB2ID0gKGN1cnZlTGVuZ3RoIC0gMSkgKiAwLjUgKiAoaW5wdXQgKyAxKTsKKyAgICAgICAg
aWYgKHYgPCAwKQorICAgICAgICAgICAgZGVzdGluYXRpb25baV0gPSBjdXJ2ZURhdGFbMF07Cisg
ICAgICAgIGVsc2UgaWYgKHYgPj0gKGN1cnZlTGVuZ3RoIC0gMSkpCisgICAgICAgICAgICBkZXN0
aW5hdGlvbltpXSA9IGN1cnZlRGF0YVtjdXJ2ZUxlbmd0aCAtMV07CisgICAgICAgIGVsc2Ugewor
ICAgICAgICAgICAgdW5zaWduZWQgayA9IGZsb29yKHYpOworICAgICAgICAgICAgZG91YmxlIGYg
PSB2IC0gazsKKyAgICAgICAgICAgIGRlc3RpbmF0aW9uW2ldID0gKDEgLSBmKSAqIGN1cnZlRGF0
YVtrXSArIGYgKiBjdXJ2ZURhdGFbayArIDFdOworICAgICAgICB9CiAgICAgfQogfQogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggYTM2YWE2ZmQ0MzVlNDQ4OGQ0NDYwMmY4YTQzMzc5ZThhMjJhMGNmNC4uODY2OTA2NzA3ZmRl
YjY5MTcxZjAzNDQzNWI3Y2FjMzEzMTBlNDE1ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDIw
LTA4LTExICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgRml4IFdh
dmVTaGFwcGVyTm9kZSdzIHdhdmVzaGFwaW5nIGN1cnZlIGltcGxlbWVudGF0aW9uCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTUzOTEKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGaXggZXhpc3RpbmcgdGVz
dHMgdG8gcmVmbGVjdCBiZWhhdmlvciBjaGFuZ2UuIEkgaGF2ZSB2ZXJpZmllZCB0aGF0IHRoZXNl
IHRlc3RzCisgICAgICAgIHdlcmUgZmFpbGluZyBpbiBGaXJlZm94IGFuZCBDaHJvbWUgYmVmb3Jl
IEkgdXBkYXRlZCB0aGVtLgorCisgICAgICAgICogd2ViYXVkaW8vcmVzb3VyY2VzL3dhdmVzaGFw
ZXItdGVzdGluZy5qczoKKyAgICAgICAgKHJ1bldhdmVTaGFwZXJPdmVyc2FtcGxpbmdUZXN0KToK
KyAgICAgICAgKiB3ZWJhdWRpby93YXZlc2hhcGVyLW92ZXJzYW1wbGUtMnguaHRtbDoKKyAgICAg
ICAgKiB3ZWJhdWRpby93YXZlc2hhcGVyLW92ZXJzYW1wbGUtNHguaHRtbDoKKwogMjAyMC0wOC0x
MSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIEZpeCBCaXF1YWRG
aWx0ZXJOb2RlJ3MgbG93cGFzcyBmaWx0ZXIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmlu
ZGV4IGIzZWY4YzEzMTczMGRjYzU3NzZlOWM4MTVhZGQ0NzI3ODI0YTg2NjUuLjI3Y2RkMzFlOGM2
YWJkZTRkNWUwNDAyYzhkNzc3Mzk2YTkyODI0YzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIwLTA4LTExICBDaHJpcyBEdW1leiAgPGNkdW1lekBh
cHBsZS5jb20+CisKKyAgICAgICAgRml4IFdhdmVTaGFwcGVyTm9kZSdzIHdhdmVzaGFwaW5nIGN1
cnZlIGltcGxlbWVudGF0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMTUzOTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBSZWJhc2VsaW5lIFdQVCB0ZXN0cyBub3cgdGhhdCBtb3JlIGNoZWNrcyBhcmUg
cGFzc2luZy4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93ZWJhdWRpby90aGUtYXVk
aW8tYXBpL3RoZS13YXZlc2hhcGVybm9kZS1pbnRlcmZhY2UvY3VydmUtdGVzdHMtZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93ZWJhdWRpby90aGUtYXVkaW8tYXBp
L3RoZS13YXZlc2hhcGVybm9kZS1pbnRlcmZhY2Uvd2F2ZXNoYXBlci1saW1pdHMtZXhwZWN0ZWQu
dHh0OgorCiAyMDIwLTA4LTExICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAg
ICAgICAgRml4IEJpcXVhZEZpbHRlck5vZGUncyBsb3dwYXNzIGZpbHRlcgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJhdWRpby90aGUt
YXVkaW8tYXBpL3RoZS13YXZlc2hhcGVybm9kZS1pbnRlcmZhY2UvY3VydmUtdGVzdHMtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJh
dWRpby90aGUtYXVkaW8tYXBpL3RoZS13YXZlc2hhcGVybm9kZS1pbnRlcmZhY2UvY3VydmUtdGVz
dHMtZXhwZWN0ZWQudHh0CmluZGV4IDBjZmYwOWJmMDRlNDM2MDJiZDFmMGRjMzM2NmJmN2E4Njhi
ZmY5MmMuLjIwNjNkY2M1NzFlM2ViNDdjNGIxOTIxODUzY2E3NzI4OTZkNjhkZGUgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2ViYXVkaW8v
dGhlLWF1ZGlvLWFwaS90aGUtd2F2ZXNoYXBlcm5vZGUtaW50ZXJmYWNlL2N1cnZlLXRlc3RzLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3dlYmF1ZGlvL3RoZS1hdWRpby1hcGkvdGhlLXdhdmVzaGFwZXJub2RlLWludGVyZmFjZS9j
dXJ2ZS10ZXN0cy1leHBlY3RlZC50eHQKQEAgLTEsOSArMSw5IEBACiAKLUZBSUwgV2F2ZVNoYXBl
ck5vZGUgLSBUZXN0aW5nIHRoYXQgLTEsIDAgYW5kICsxIG1hcCBjb3JyZWN0bHkgdG8gY3VydmUg
KHdpdGggMToxIGNvcnJlbGF0aW9uKSBhc3NlcnRfYXBwcm94X2VxdWFsczogSW5wdXQ9MCwgQ3Vy
dmU9WzIsLTMsNF0gPj4+ICBleHBlY3RlZCAtMyArLy0gMC4wMSBidXQgZ290IDAuNQotRkFJTCBX
YXZlU2hhcGVyTm9kZSAtIFRlc3RpbmcgaW50ZXJwb2xhdGlvbiAod2hlcmUgaW5wdXRzIGRvbid0
IGNvcnJlbGF0ZSBkaXJlY3RseSB0byBjdXJ2ZSBlbGVtZW50cykgYXNzZXJ0X2FwcHJveF9lcXVh
bHM6IElucHV0PS0wLjUsIEN1cnZlPVsyLC0zLDRdID4+PiAgZXhwZWN0ZWQgLTAuNSArLy0gMC4w
MSBidXQgZ290IC0xLjc1Ci1GQUlMIFdhdmVTaGFwZXJOb2RlIC0gVGVzdGluZyBvdXQtb2YtcmFu
Z2UgaW5wdXRzIChzaG91bGQgYmUgbWFwcGVkIHRvIHRoZSBmaXJzdC9sYXN0IGVsZW1lbnRzIG9m
IHRoZSBjdXJ2ZSkgYXNzZXJ0X2FwcHJveF9lcXVhbHM6IElucHV0PS0xLjUsIEN1cnZlPVsyLC0z
LDRdID4+PiAgZXhwZWN0ZWQgMiArLy0gMC4wMSBidXQgZ290IDUuNzUKLUZBSUwgV2F2ZVNoYXBl
ck5vZGUgLSBUZXN0aW5nIGEgMi1lbGVtZW50IGN1cnZlIChkb2VzIG5vdCBoYXZlIGEgbWlkZGxl
IGVsZW1lbnQpIGFzc2VydF9hcHByb3hfZXF1YWxzOiBJbnB1dD0wLCBDdXJ2ZT1bMiwtMl0gPj4+
ICBleHBlY3RlZCAwICsvLSAwLjAxIGJ1dCBnb3QgLTIKLUZBSUwgV2F2ZVNoYXBlck5vZGUgLSBU
ZXN0aW5nIGEgNC1lbGVtZW50IGN1cnZlIChkb2VzIG5vdCBoYXZlIGEgbWlkZGxlIGVsZW1lbnQp
IGFzc2VydF9hcHByb3hfZXF1YWxzOiBJbnB1dD0wLCBDdXJ2ZT1bMSwyLDQsN10gPj4+ICBleHBl
Y3RlZCAzICsvLSAwLjAxIGJ1dCBnb3QgNAotRkFJTCBXYXZlU2hhcGVyTm9kZSAtIFRlc3Rpbmcg
YSBodWdlIGN1cnZlIGFzc2VydF9hcHByb3hfZXF1YWxzOiBJbnB1dD0wLCBDdXJ2ZT1bVG9vQmln
VG9EaXNwbGF5ICg2MDAwMCBlbGVtZW50cyldID4+PiAgZXhwZWN0ZWQgODQ2Ni4yMDU3Mjg3OTky
MSArLy0gMC4wMSBidXQgZ290IDg0NjYuMzQ3NjU2MjUKK1BBU1MgV2F2ZVNoYXBlck5vZGUgLSBU
ZXN0aW5nIHRoYXQgLTEsIDAgYW5kICsxIG1hcCBjb3JyZWN0bHkgdG8gY3VydmUgKHdpdGggMTox
IGNvcnJlbGF0aW9uKSAKK1BBU1MgV2F2ZVNoYXBlck5vZGUgLSBUZXN0aW5nIGludGVycG9sYXRp
b24gKHdoZXJlIGlucHV0cyBkb24ndCBjb3JyZWxhdGUgZGlyZWN0bHkgdG8gY3VydmUgZWxlbWVu
dHMpIAorUEFTUyBXYXZlU2hhcGVyTm9kZSAtIFRlc3Rpbmcgb3V0LW9mLXJhbmdlIGlucHV0cyAo
c2hvdWxkIGJlIG1hcHBlZCB0byB0aGUgZmlyc3QvbGFzdCBlbGVtZW50cyBvZiB0aGUgY3VydmUp
IAorUEFTUyBXYXZlU2hhcGVyTm9kZSAtIFRlc3RpbmcgYSAyLWVsZW1lbnQgY3VydmUgKGRvZXMg
bm90IGhhdmUgYSBtaWRkbGUgZWxlbWVudCkgCitQQVNTIFdhdmVTaGFwZXJOb2RlIC0gVGVzdGlu
ZyBhIDQtZWxlbWVudCBjdXJ2ZSAoZG9lcyBub3QgaGF2ZSBhIG1pZGRsZSBlbGVtZW50KSAKK1BB
U1MgV2F2ZVNoYXBlck5vZGUgLSBUZXN0aW5nIGEgaHVnZSBjdXJ2ZSAKIFBBU1MgV2F2ZVNoYXBl
ck5vZGUgLSBUZXN0aW5nIG51bGwgY3VydmUgKHNob3VsZCByZXR1cm4gaW5wdXQgdmFsdWVzKSAK
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy93ZWJhdWRpby90aGUtYXVkaW8tYXBpL3RoZS13YXZlc2hhcGVybm9kZS1pbnRlcmZhY2Uvd2F2
ZXNoYXBlci1saW1pdHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93ZWJhdWRpby90aGUtYXVkaW8tYXBpL3RoZS13YXZlc2hhcGVybm9k
ZS1pbnRlcmZhY2Uvd2F2ZXNoYXBlci1saW1pdHMtZXhwZWN0ZWQudHh0CmluZGV4IGE4Nzc0YjJk
MmVkNGI3MWFhM2RiZmJlNmI2NzgxODVmYjQ4NmNhNWIuLmVlMGM3YzZlYmQxODNhYWNiMmE1MjNk
NTA2NTU0MmJmNTdlYWUxNmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd2ViYXVkaW8vdGhlLWF1ZGlvLWFwaS90aGUtd2F2ZXNoYXBlcm5v
ZGUtaW50ZXJmYWNlL3dhdmVzaGFwZXItbGltaXRzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYmF1ZGlvL3RoZS1hdWRpby1h
cGkvdGhlLXdhdmVzaGFwZXJub2RlLWludGVyZmFjZS93YXZlc2hhcGVyLWxpbWl0cy1leHBlY3Rl
ZC50eHQKQEAgLTMsMjkgKzMsMjkgQEAgUEFTUyAjIEFVRElUIFRBU0sgUlVOTkVSIFNUQVJURUQu
CiBQQVNTIEV4ZWN1dGluZyAidGVzdCIgCiBQQVNTIEF1ZGl0IHJlcG9ydCAKIFBBU1MgPiBbdGVz
dF0gV2F2ZVNoYXBlck5vZGUgaW5jbHVkaW5nIHZhbHVlcyBvdXRzaWRlIHRoZSByYW5nZSBvZiBb
LTEsMV0gCi1GQUlMIFggTWF4IGVycm9yIG1hcHBpbmcgLTEuMTAwMDAwIHRvIC0wLjE1MDAwMCBp
cyBub3QgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIDAuMDAwMDAxLiBHb3QgMC4xNTAwMDAwMzU3NjI3
ODY4Ny4gYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitQQVNTICAgTWF4IGVy
cm9yIG1hcHBpbmcgLTEuMTAwMDAwIHRvIDAuMDAwMDAwIGlzIGxlc3MgdGhhbiBvciBlcXVhbCB0
byAwLjAwMDAwMS4gCiBQQVNTICAgTWF4IGVycm9yIG1hcHBpbmcgLTEuMDAwMDAwIHRvIDAuMDAw
MDAwIGlzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAwLjAwMDAwMS4gCi1GQUlMIFggTWF4IGVycm9y
IG1hcHBpbmcgLTAuOTAwMDAwIHRvIDAuMTUwMDAwIGlzIG5vdCBsZXNzIHRoYW4gb3IgZXF1YWwg
dG8gMC4wMDAwMDEuIEdvdCAwLjA1MDAwMDAzNDI3MjY3MDc0Ni4gYXNzZXJ0X3RydWU6IGV4cGVj
dGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFggTWF4IGVycm9yIG1hcHBpbmcgLTAuODAwMDAwIHRv
IDAuMzAwMDAwIGlzIG5vdCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gMC4wMDAwMDEuIEdvdCAwLjA5
OTk5OTk3OTEzODM3NDMzLiBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZB
SUwgWCBNYXggZXJyb3IgbWFwcGluZyAtMC43MDAwMDAgdG8gMC40NTAwMDAgaXMgbm90IGxlc3Mg
dGhhbiBvciBlcXVhbCB0byAwLjAwMDAwMS4gR290IDAuMTUwMDAwMDA1OTYwNDY0NDguIGFzc2Vy
dF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBYIE1heCBlcnJvciBtYXBwaW5n
IC0wLjYwMDAwMCB0byAwLjYwMDAwMCBpcyBub3QgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIDAuMDAw
MDAxLiBHb3QgMC4xOTk5OTk5NTgyNzY3NDg2Ni4gYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUg
Z290IGZhbHNlCi1GQUlMIFggTWF4IGVycm9yIG1hcHBpbmcgLTAuNTAwMDAwIHRvIDAuNzUwMDAw
IGlzIG5vdCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gMC4wMDAwMDEuIEdvdCAwLjI1LiBhc3NlcnRf
dHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgWCBNYXggZXJyb3IgbWFwcGluZyAt
MC40MDAwMDAgdG8gMC45MDAwMDAgaXMgbm90IGxlc3MgdGhhbiBvciBlcXVhbCB0byAwLjAwMDAw
MS4gR290IDAuMzAwMDAwMDExOTIwOTI4OTYuIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdv
dCBmYWxzZQotRkFJTCBYIE1heCBlcnJvciBtYXBwaW5nIC0wLjMwMDAwMCB0byAwLjk1MDAwMCBp
cyBub3QgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIDAuMDAwMDAxLiBHb3QgMC4yNTAwMDAwNTk2MDQ2
NDQ4LiBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK1BBU1MgICBNYXggZXJy
b3IgbWFwcGluZyAtMC45MDAwMDAgdG8gMC4xMDAwMDAgaXMgbGVzcyB0aGFuIG9yIGVxdWFsIHRv
IDAuMDAwMDAxLiAKK1BBU1MgICBNYXggZXJyb3IgbWFwcGluZyAtMC44MDAwMDAgdG8gMC4yMDAw
MDAgaXMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIDAuMDAwMDAxLiAKK1BBU1MgICBNYXggZXJyb3Ig
bWFwcGluZyAtMC43MDAwMDAgdG8gMC4zMDAwMDAgaXMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIDAu
MDAwMDAxLiAKK1BBU1MgICBNYXggZXJyb3IgbWFwcGluZyAtMC42MDAwMDAgdG8gMC40MDAwMDAg
aXMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIDAuMDAwMDAxLiAKK1BBU1MgICBNYXggZXJyb3IgbWFw
cGluZyAtMC41MDAwMDAgdG8gMC41MDAwMDAgaXMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIDAuMDAw
MDAxLiAKK1BBU1MgICBNYXggZXJyb3IgbWFwcGluZyAtMC40MDAwMDAgdG8gMC42MDAwMDAgaXMg
bGVzcyB0aGFuIG9yIGVxdWFsIHRvIDAuMDAwMDAxLiAKK1BBU1MgICBNYXggZXJyb3IgbWFwcGlu
ZyAtMC4zMDAwMDAgdG8gMC43MDAwMDAgaXMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIDAuMDAwMDAx
LiAKIFBBU1MgICBNYXggZXJyb3IgbWFwcGluZyAtMC4yMDAwMDAgdG8gMC44MDAwMDAgaXMgbGVz
cyB0aGFuIG9yIGVxdWFsIHRvIDAuMDAwMDAxLiAKLUZBSUwgWCBNYXggZXJyb3IgbWFwcGluZyAt
MC4xMDAwMDAgdG8gMC42NTAwMDAgaXMgbm90IGxlc3MgdGhhbiBvciBlcXVhbCB0byAwLjAwMDAw
MS4gR290IDAuMjQ5OTk5OTQwMzk1MzU1MjIuIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdv
dCBmYWxzZQotRkFJTCBYIE1heCBlcnJvciBtYXBwaW5nIDAuMDAwMDAwIHRvIDAuNTAwMDAwIGlz
IG5vdCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gMC4wMDAwMDEuIEdvdCAwLjUuIGFzc2VydF90cnVl
OiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBYIE1heCBlcnJvciBtYXBwaW5nIDAuMTAw
MDAwIHRvIDAuMzUwMDAwIGlzIG5vdCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gMC4wMDAwMDEuIEdv
dCAwLjU1MDAwMDAxMTkyMDkyOS4gYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNl
Ci1GQUlMIFggTWF4IGVycm9yIG1hcHBpbmcgMC4yMDAwMDAgdG8gMC4yMDAwMDAgaXMgbm90IGxl
c3MgdGhhbiBvciBlcXVhbCB0byAwLjAwMDAwMS4gR290IDAuNjAwMDAwMDgzNDQ2NTAyNy4gYXNz
ZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFggTWF4IGVycm9yIG1hcHBp
bmcgMC4zMDAwMDAgdG8gMC4wNTAwMDAgaXMgbm90IGxlc3MgdGhhbiBvciBlcXVhbCB0byAwLjAw
MDAwMS4gR290IDAuNjQ5OTk5OTE2NTUzNDk3My4gYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUg
Z290IGZhbHNlCi1GQUlMIFggTWF4IGVycm9yIG1hcHBpbmcgMC40MDAwMDAgdG8gMC4wMDAwMDAg
aXMgbm90IGxlc3MgdGhhbiBvciBlcXVhbCB0byAwLjAwMDAwMS4gR290IDAuNjAwMDAwMDIzODQx
ODU3OS4gYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFggTWF4IGVy
cm9yIG1hcHBpbmcgMC41MDAwMDAgdG8gMC4wMDAwMDAgaXMgbm90IGxlc3MgdGhhbiBvciBlcXVh
bCB0byAwLjAwMDAwMS4gR290IDAuNS4gYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZh
bHNlCi1GQUlMIFggTWF4IGVycm9yIG1hcHBpbmcgMC42MDAwMDAgdG8gMC4wMDAwMDAgaXMgbm90
IGxlc3MgdGhhbiBvciBlcXVhbCB0byAwLjAwMDAwMS4gR290IDAuNDAwMDAwMDA1OTYwNDY0NS4g
YXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFggTWF4IGVycm9yIG1h
cHBpbmcgMC43MDAwMDAgdG8gMC4wMDAwMDAgaXMgbm90IGxlc3MgdGhhbiBvciBlcXVhbCB0byAw
LjAwMDAwMS4gR290IDAuMzAwMDAwMDExOTIwOTI4OTYuIGFzc2VydF90cnVlOiBleHBlY3RlZCB0
cnVlIGdvdCBmYWxzZQotRkFJTCBYIE1heCBlcnJvciBtYXBwaW5nIDAuODAwMDAwIHRvIDAuMDAw
MDAwIGlzIG5vdCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gMC4wMDAwMDEuIEdvdCAwLjIwMDAwMDAw
Mjk4MDIzMjI0LiBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgWCBN
YXggZXJyb3IgbWFwcGluZyAwLjkwMDAwMCB0byAwLjAwMDAwMCBpcyBub3QgbGVzcyB0aGFuIG9y
IGVxdWFsIHRvIDAuMDAwMDAxLiBHb3QgMC4xMDAwMDAwMDE0OTAxMTYxMi4gYXNzZXJ0X3RydWU6
IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitQQVNTICAgTWF4IGVycm9yIG1hcHBpbmcgLTAuMTAw
MDAwIHRvIDAuOTAwMDAwIGlzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAwLjAwMDAwMS4gCitQQVNT
ICAgTWF4IGVycm9yIG1hcHBpbmcgMC4wMDAwMDAgdG8gMS4wMDAwMDAgaXMgbGVzcyB0aGFuIG9y
IGVxdWFsIHRvIDAuMDAwMDAxLiAKK1BBU1MgICBNYXggZXJyb3IgbWFwcGluZyAwLjEwMDAwMCB0
byAwLjkwMDAwMCBpcyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gMC4wMDAwMDEuIAorUEFTUyAgIE1h
eCBlcnJvciBtYXBwaW5nIDAuMjAwMDAwIHRvIDAuODAwMDAwIGlzIGxlc3MgdGhhbiBvciBlcXVh
bCB0byAwLjAwMDAwMS4gCitQQVNTICAgTWF4IGVycm9yIG1hcHBpbmcgMC4zMDAwMDAgdG8gMC43
MDAwMDAgaXMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIDAuMDAwMDAxLiAKK1BBU1MgICBNYXggZXJy
b3IgbWFwcGluZyAwLjQwMDAwMCB0byAwLjYwMDAwMCBpcyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8g
MC4wMDAwMDEuIAorUEFTUyAgIE1heCBlcnJvciBtYXBwaW5nIDAuNTAwMDAwIHRvIDAuNTAwMDAw
IGlzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAwLjAwMDAwMS4gCitQQVNTICAgTWF4IGVycm9yIG1h
cHBpbmcgMC42MDAwMDAgdG8gMC40MDAwMDAgaXMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIDAuMDAw
MDAxLiAKK1BBU1MgICBNYXggZXJyb3IgbWFwcGluZyAwLjcwMDAwMCB0byAwLjMwMDAwMCBpcyBs
ZXNzIHRoYW4gb3IgZXF1YWwgdG8gMC4wMDAwMDEuIAorUEFTUyAgIE1heCBlcnJvciBtYXBwaW5n
IDAuODAwMDAwIHRvIDAuMjAwMDAwIGlzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAwLjAwMDAwMS4g
CitQQVNTICAgTWF4IGVycm9yIG1hcHBpbmcgMC45MDAwMDAgdG8gMC4xMDAwMDAgaXMgbGVzcyB0
aGFuIG9yIGVxdWFsIHRvIDAuMDAwMDAxLiAKIFBBU1MgICBNYXggZXJyb3IgbWFwcGluZyAxLjAw
MDAwMCB0byAwLjAwMDAwMCBpcyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gMC4wMDAwMDEuIAogUEFT
UyAgIE1heCBlcnJvciBtYXBwaW5nIDEuMTAwMDAwIHRvIDAuMDAwMDAwIGlzIGxlc3MgdGhhbiBv
ciBlcXVhbCB0byAwLjAwMDAwMS4gCi1GQUlMIDwgW3Rlc3RdIDE5IG91dCBvZiAyMyBhc3NlcnRp
b25zIHdlcmUgZmFpbGVkLiBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZB
SUwgIyBBVURJVCBUQVNLIFJVTk5FUiBGSU5JU0hFRDogMSBvdXQgb2YgMSB0YXNrcyB3ZXJlIGZh
aWxlZC4gYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitQQVNTIDwgW3Rlc3Rd
IEFsbCBhc3NlcnRpb25zIHBhc3NlZC4gKHRvdGFsIDIzIGFzc2VydGlvbnMpIAorUEFTUyAjIEFV
RElUIFRBU0sgUlVOTkVSIEZJTklTSEVEOiAxIHRhc2tzIHJhbiBzdWNjZXNzZnVsbHkuIAogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJhdWRpby9yZXNvdXJjZXMvd2F2ZXNoYXBlci10ZXN0
aW5nLmpzIGIvTGF5b3V0VGVzdHMvd2ViYXVkaW8vcmVzb3VyY2VzL3dhdmVzaGFwZXItdGVzdGlu
Zy5qcwppbmRleCA0ZjkwZTc1MGRhMzhjNTRjNWIxY2FkYjFhMWUzZWNjMjU3ZTZiNmMyLi45ZWQ2
Mjk3NzNhYTViMzE4NTc1ODMzZWM2OTMyN2IzOTIxZjBiMDgxIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy93ZWJhdWRpby9yZXNvdXJjZXMvd2F2ZXNoYXBlci10ZXN0aW5nLmpzCisrKyBiL0xheW91
dFRlc3RzL3dlYmF1ZGlvL3Jlc291cmNlcy93YXZlc2hhcGVyLXRlc3RpbmcuanMKQEAgLTEzOCw2
ICsxMzgsOCBAQCBmdW5jdGlvbiBjcmVhdGVJbXB1bHNlQnVmZmVyKGNvbnRleHQsIHNhbXBsZUZy
YW1lTGVuZ3RoKSB7CiAgICAgcmV0dXJuIGF1ZGlvQnVmZmVyOwogfQogCit3aW5kb3cuT2ZmbGlu
ZUF1ZGlvQ29udGV4dCA9IHdpbmRvdy5PZmZsaW5lQXVkaW9Db250ZXh0IHx8IHdpbmRvdy53ZWJr
aXRPZmZsaW5lQXVkaW9Db250ZXh0OworCiBmdW5jdGlvbiBydW5XYXZlU2hhcGVyT3ZlcnNhbXBs
aW5nVGVzdCh0ZXN0UGFyYW1zKSB7CiAgICAgc2FtcGxlUmF0ZSA9IHRlc3RQYXJhbXMuc2FtcGxl
UmF0ZTsKICAgICBueXF1aXN0ID0gMC41ICogc2FtcGxlUmF0ZTsKQEAgLTE1NCw3ICsxNTYsNyBA
QCBmdW5jdGlvbiBydW5XYXZlU2hhcGVyT3ZlcnNhbXBsaW5nVGVzdCh0ZXN0UGFyYW1zKSB7CiAK
ICAgICAvLyBDcmVhdGUgb2ZmbGluZSBhdWRpbyBjb250ZXh0LgogICAgIHZhciBudW1iZXJPZlJl
bmRlckZyYW1lcyA9IHNhbXBsZVJhdGUgKiBsZW5ndGhJblNlY29uZHM7Ci0gICAgY29udGV4dCA9
IG5ldyB3ZWJraXRPZmZsaW5lQXVkaW9Db250ZXh0KDEsIG51bWJlck9mUmVuZGVyRnJhbWVzLCBz
YW1wbGVSYXRlKTsKKyAgICBjb250ZXh0ID0gbmV3IE9mZmxpbmVBdWRpb0NvbnRleHQoMSwgbnVt
YmVyT2ZSZW5kZXJGcmFtZXMsIHNhbXBsZVJhdGUpOwogCiAgICAgLy8gc291cmNlIC0+IHdhdmVz
aGFwZXIgLT4gZGVzdGluYXRpb24KICAgICB2YXIgc291cmNlID0gY29udGV4dC5jcmVhdGVCdWZm
ZXJTb3VyY2UoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmF1ZGlvL3dhdmVzaGFwZXIt
b3ZlcnNhbXBsZS0yeC5odG1sIGIvTGF5b3V0VGVzdHMvd2ViYXVkaW8vd2F2ZXNoYXBlci1vdmVy
c2FtcGxlLTJ4Lmh0bWwKaW5kZXggNWY1OTgwOTgzY2YyZTIwMjdkNzE1ODE5NGRhNjM5YmIzNjEw
NzBmOS4uMWE3MmY0YjU5N2E0OGM2YjQwZjk2NDY0YzliNjg2ZjA3ZjU3NjYwNSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvd2ViYXVkaW8vd2F2ZXNoYXBlci1vdmVyc2FtcGxlLTJ4Lmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvd2ViYXVkaW8vd2F2ZXNoYXBlci1vdmVyc2FtcGxlLTJ4Lmh0bWwKQEAg
LTIzLDcgKzIzLDcgQEAgdmFyIHRlc3RQYXJhbXMgPSB7CiAgICAgLy8gU2hvdWxkIGdlbmVyYXRl
IGhhcm1vbmljcyBhdCA5MDAwLCAxODAwMCwgMjcwMDAsIDM2MDAwCiAgICAgLy8gVGhlIGxhc3Qg
dHdvIHNob3VsZCBiZSBmaWx0ZXJlZCBvdXQgd2l0aCB0aGUgMnggb3ZlcnNhbXBsaW5nLgogICAg
ICJmdW5kYW1lbnRhbEZyZXF1ZW5jeSI6IDkwMDAsCi0gICAgImFjY2VwdGFibGVBbGlhc2luZ1Ro
cmVzaG9sZERlY2liZWxzIjogLTg1CisgICAgImFjY2VwdGFibGVBbGlhc2luZ1RocmVzaG9sZERl
Y2liZWxzIjogLTc1LjMKIH07CiBydW5XYXZlU2hhcGVyT3ZlcnNhbXBsaW5nVGVzdCh0ZXN0UGFy
YW1zKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViYXVkaW8vd2F2ZXNoYXBlci1vdmVy
c2FtcGxlLTR4Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJhdWRpby93YXZlc2hhcGVyLW92ZXJzYW1w
bGUtNHguaHRtbAppbmRleCBhODIxZWY2MGIwNzY2YmRjMDhkNTExZjAzOGJlYWUzN2NlN2VmZjRk
Li5hZjA1MWI5NzM5ODdhZGNjYmI0NTY5ZGI1NDM3MjkwODRjZWM3M2ViIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy93ZWJhdWRpby93YXZlc2hhcGVyLW92ZXJzYW1wbGUtNHguaHRtbAorKysgYi9M
YXlvdXRUZXN0cy93ZWJhdWRpby93YXZlc2hhcGVyLW92ZXJzYW1wbGUtNHguaHRtbApAQCAtMjMs
NyArMjMsNyBAQCB2YXIgdGVzdFBhcmFtcyA9IHsKICAgICAvLyBTaG91bGQgZ2VuZXJhdGUgaGFy
bW9uaWNzIGF0IDE4MDAwLCAzNjAwMCwgNTQwMDAsIDcyMDAwCiAgICAgLy8gQWxsIGV4Y2VwdCBm
b3IgMTgwMDAgc2hvdWxkIGJlIGZpbHRlcmVkIG91dCB3aXRoIHRoZSA0eCBvdmVyc2FtcGxpbmcu
CiAgICAgImZ1bmRhbWVudGFsRnJlcXVlbmN5IjogMTgwMDAsCi0gICAgImFjY2VwdGFibGVBbGlh
c2luZ1RocmVzaG9sZERlY2liZWxzIjogLTg1CisgICAgImFjY2VwdGFibGVBbGlhc2luZ1RocmVz
aG9sZERlY2liZWxzIjogLTc5Ljg4CiB9OwogcnVuV2F2ZVNoYXBlck92ZXJzYW1wbGluZ1Rlc3Qo
dGVzdFBhcmFtcyk7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>406428</attachid>
            <date>2020-08-11 16:02:43 -0700</date>
            <delta_ts>2020-08-11 16:21:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-215391-20200811160242.patch</filename>
            <type>text/plain</type>
            <size>15227</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1NTI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDI3ZGJlN2U3NDg5MWYz
YmUzZmIyNDQ2YzM4OTY5MzExNjIzNjQ4YS4uMTY2MTljODI4YWJiYzViOTg3OGJkNjkzYjNiYTU5
YzUwNjA5YzcxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDIwLTA4LTExICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgRml4IFdhdmVTaGFwcGVyTm9k
ZSdzIHdhdmVzaGFwaW5nIGN1cnZlIGltcGxlbWVudGF0aW9uCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTUzOTEKKworICAgICAgICBSZXZpZXdlZCBi
eSBEYXJpbiBBZGxlci4KKworICAgICAgICBGaXggV2F2ZVNoYXBwZXJOb2RlJ3Mgd2F2ZXNoYXBp
bmcgY3VydmUgaW1wbGVtZW50YXRpb24gdXNpbmcgdGhlIGFsZ29yaXRobSBpbiB0aGUgc3BlY2lm
aWNhdGlvbjoKKyAgICAgICAgLSBodHRwczovL3d3dy53My5vcmcvVFIvd2ViYXVkaW8vI2RvbS13
YXZlc2hhcGVybm9kZS1jdXJ2ZQorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgcmViYXNlbGluZWQg
ZXhpc3RpbmcgdGVzdHMuCisKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL1dhdmVTaGFwZXJE
U1BLZXJuZWwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2F2ZVNoYXBlckRTUEtlcm5lbDo6cHJv
Y2Vzc0N1cnZlKToKKwogMjAyMC0wOC0xMSAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFw
cGxlLmNvbT4KIAogICAgICAgICBIYXZlIHJlbmRlciB0cmVlIGR1bXBzIHNob3cgb3ZlcmZsb3cg
aW5mb3JtYXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8v
V2F2ZVNoYXBlckRTUEtlcm5lbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlv
L1dhdmVTaGFwZXJEU1BLZXJuZWwuY3BwCmluZGV4IGYzZDIxMjJkZjUxYzRmMWEyOTIyNGU2OTNh
YjQ5NWJiYzJiOTM4ZTQuLjI5MGIzZWZjYWNjMzk2YzIwMTQwNGU2NDA1MjM0MjcxMDZhNjQ0NmUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vV2F2ZVNoYXBlckRT
UEtlcm5lbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9XYXZlU2hh
cGVyRFNQS2VybmVsLmNwcApAQCAtMTAxLDI1ICsxMDEsMTcgQEAgdm9pZCBXYXZlU2hhcGVyRFNQ
S2VybmVsOjpwcm9jZXNzQ3VydmUoY29uc3QgZmxvYXQqIHNvdXJjZSwgZmxvYXQqIGRlc3RpbmF0
aW9uLAogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBmcmFtZXNUb1Byb2Nlc3M7ICsraSkg
ewogICAgICAgICBjb25zdCBmbG9hdCBpbnB1dCA9IHNvdXJjZVtpXTsKIAotICAgICAgICAvLyBD
YWxjdWxhdGUgYSB2aXJ0dWFsIGluZGV4IGJhc2VkIG9uIGlucHV0IC0xIC0+ICsxIHdpdGggMCBi
ZWluZyBhdCB0aGUgY2VudGVyIG9mIHRoZSBjdXJ2ZSBkYXRhLgotICAgICAgICAvLyBUaGVuIGxp
bmVhcmx5IGludGVycG9sYXRlIGJldHdlZW4gdGhlIHR3byBwb2ludHMgaW4gdGhlIGN1cnZlLgot
ICAgICAgICBkb3VibGUgdmlydHVhbEluZGV4ID0gMC41ICogKGlucHV0ICsgMSkgKiBjdXJ2ZUxl
bmd0aDsKLSAgICAgICAgaW50IGluZGV4MSA9IHN0YXRpY19jYXN0PGludD4odmlydHVhbEluZGV4
KTsKLSAgICAgICAgaW50IGluZGV4MiA9IGluZGV4MSArIDE7Ci0gICAgICAgIGRvdWJsZSBpbnRl
cnBvbGF0aW9uRmFjdG9yID0gdmlydHVhbEluZGV4IC0gaW5kZXgxOwotCi0gICAgICAgIC8vIENs
aXAgaW5kZXggdG8gdGhlIGlucHV0IHJhbmdlIG9mIHRoZSBjdXJ2ZS4KLSAgICAgICAgLy8gVGhp
cyB0YWtlcyBjYXJlIG9mIGlucHV0IG91dHNpZGUgb2Ygbm9taW5hbCByYW5nZSAtMSAtPiArMQot
ICAgICAgICBpbmRleDEgPSBzdGQ6Om1heChpbmRleDEsIDApOwotICAgICAgICBpbmRleDEgPSBz
dGQ6Om1pbihpbmRleDEsIGN1cnZlTGVuZ3RoIC0gMSk7Ci0gICAgICAgIGluZGV4MiA9IHN0ZDo6
bWF4KGluZGV4MiwgMCk7Ci0gICAgICAgIGluZGV4MiA9IHN0ZDo6bWluKGluZGV4MiwgY3VydmVM
ZW5ndGggLSAxKTsKLQotICAgICAgICBkb3VibGUgdmFsdWUxID0gY3VydmVEYXRhW2luZGV4MV07
Ci0gICAgICAgIGRvdWJsZSB2YWx1ZTIgPSBjdXJ2ZURhdGFbaW5kZXgyXTsKLQotICAgICAgICBk
b3VibGUgb3V0cHV0ID0gKDEuMCAtIGludGVycG9sYXRpb25GYWN0b3IpICogdmFsdWUxICsgaW50
ZXJwb2xhdGlvbkZhY3RvciAqIHZhbHVlMjsKLSAgICAgICAgZGVzdGluYXRpb25baV0gPSBvdXRw
dXQ7CisgICAgICAgIGZsb2F0IHYgPSAoY3VydmVMZW5ndGggLSAxKSAqIDAuNSAqIChpbnB1dCAr
IDEpOworICAgICAgICBpZiAodiA8IDApCisgICAgICAgICAgICBkZXN0aW5hdGlvbltpXSA9IGN1
cnZlRGF0YVswXTsKKyAgICAgICAgZWxzZSBpZiAodiA+PSBjdXJ2ZUxlbmd0aCAtIDEpCisgICAg
ICAgICAgICBkZXN0aW5hdGlvbltpXSA9IGN1cnZlRGF0YVtjdXJ2ZUxlbmd0aCAtIDFdOworICAg
ICAgICBlbHNlIHsKKyAgICAgICAgICAgIGZsb2F0IGZrID0gZmxvb3JmKHYpOworICAgICAgICAg
ICAgdW5zaWduZWQgayA9IGZrOworICAgICAgICAgICAgZmxvYXQgZiA9IHYgLSBrOworICAgICAg
ICAgICAgZGVzdGluYXRpb25baV0gPSAoMSAtIGYpICogY3VydmVEYXRhW2tdICsgZiAqIGN1cnZl
RGF0YVtrICsgMV07CisgICAgICAgIH0KICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBiMGNlZmY1Y2JkMjEw
Y2NiNzAzY2U0YjQ3ZmVlZjY5YjYyNzg5ZGExLi4zOTJjY2Q2NTdmNmNmMjhmNTIwYzk3NzMzNzFh
MTljM2MxYTE5MDljIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMjAtMDgtMTEgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBGaXggV2F2ZVNoYXBwZXJOb2RlJ3Mg
d2F2ZXNoYXBpbmcgY3VydmUgaW1wbGVtZW50YXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNTM5MQorCisgICAgICAgIFJldmlld2VkIGJ5IERh
cmluIEFkbGVyLgorCisgICAgICAgIEZpeCBleGlzdGluZyB0ZXN0cyB0byByZWZsZWN0IGJlaGF2
aW9yIGNoYW5nZS4gSSBoYXZlIHZlcmlmaWVkIHRoYXQgdGhlc2UgdGVzdHMKKyAgICAgICAgd2Vy
ZSBmYWlsaW5nIGluIEZpcmVmb3ggYW5kIENocm9tZSBiZWZvcmUgSSB1cGRhdGVkIHRoZW0uCisK
KyAgICAgICAgKiB3ZWJhdWRpby9yZXNvdXJjZXMvd2F2ZXNoYXBlci10ZXN0aW5nLmpzOgorICAg
ICAgICAocnVuV2F2ZVNoYXBlck92ZXJzYW1wbGluZ1Rlc3QpOgorICAgICAgICAqIHdlYmF1ZGlv
L3dhdmVzaGFwZXItb3ZlcnNhbXBsZS0yeC5odG1sOgorICAgICAgICAqIHdlYmF1ZGlvL3dhdmVz
aGFwZXItb3ZlcnNhbXBsZS00eC5odG1sOgorCiAyMDIwLTA4LTExICBIZWN0b3IgTG9wZXogIDxo
ZWN0b3JfaV9sb3BlekBhcHBsZS5jb20+CiAKICAgICAgICAgWyBtYWNPUyBdIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvd2VibWVzc2FnaW5nL0NoYW5uZWxfcG9zdE1lc3NhZ2VfQmxv
Yi5odG0gaXMgZmxha3kgZmFpbGluZwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXgg
YjNlZjhjMTMxNzMwZGNjNTc3NmU5YzgxNWFkZDQ3Mjc4MjRhODY2NS4uNWI2MTE3ZmEwZjcyOGVk
MjJiM2QyNDk0NThiYjk5NTkxNDQxMTJhYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTUgQEAKKzIwMjAtMDgtMTEgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxl
LmNvbT4KKworICAgICAgICBGaXggV2F2ZVNoYXBwZXJOb2RlJ3Mgd2F2ZXNoYXBpbmcgY3VydmUg
aW1wbGVtZW50YXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIxNTM5MQorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAg
ICAgIFJlYmFzZWxpbmUgV1BUIHRlc3RzIG5vdyB0aGF0IG1vcmUgY2hlY2tzIGFyZSBwYXNzaW5n
LgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3dlYmF1ZGlvL3RoZS1hdWRpby1hcGkv
dGhlLXdhdmVzaGFwZXJub2RlLWludGVyZmFjZS9jdXJ2ZS10ZXN0cy1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3dlYmF1ZGlvL3RoZS1hdWRpby1hcGkvdGhlLXdh
dmVzaGFwZXJub2RlLWludGVyZmFjZS93YXZlc2hhcGVyLWxpbWl0cy1leHBlY3RlZC50eHQ6CisK
IDIwMjAtMDgtMTEgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBG
aXggQmlxdWFkRmlsdGVyTm9kZSdzIGxvd3Bhc3MgZmlsdGVyCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYmF1ZGlvL3RoZS1hdWRpby1h
cGkvdGhlLXdhdmVzaGFwZXJub2RlLWludGVyZmFjZS9jdXJ2ZS10ZXN0cy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYmF1ZGlvL3Ro
ZS1hdWRpby1hcGkvdGhlLXdhdmVzaGFwZXJub2RlLWludGVyZmFjZS9jdXJ2ZS10ZXN0cy1leHBl
Y3RlZC50eHQKaW5kZXggMGNmZjA5YmYwNGU0MzYwMmJkMWYwZGMzMzY2YmY3YTg2OGJmZjkyYy4u
MjA2M2RjYzU3MWUzZWI0N2M0YjE5MjE4NTNjYTc3Mjg5NmQ2OGRkZSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJhdWRpby90aGUtYXVk
aW8tYXBpL3RoZS13YXZlc2hhcGVybm9kZS1pbnRlcmZhY2UvY3VydmUtdGVzdHMtZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2Vi
YXVkaW8vdGhlLWF1ZGlvLWFwaS90aGUtd2F2ZXNoYXBlcm5vZGUtaW50ZXJmYWNlL2N1cnZlLXRl
c3RzLWV4cGVjdGVkLnR4dApAQCAtMSw5ICsxLDkgQEAKIAotRkFJTCBXYXZlU2hhcGVyTm9kZSAt
IFRlc3RpbmcgdGhhdCAtMSwgMCBhbmQgKzEgbWFwIGNvcnJlY3RseSB0byBjdXJ2ZSAod2l0aCAx
OjEgY29ycmVsYXRpb24pIGFzc2VydF9hcHByb3hfZXF1YWxzOiBJbnB1dD0wLCBDdXJ2ZT1bMiwt
Myw0XSA+Pj4gIGV4cGVjdGVkIC0zICsvLSAwLjAxIGJ1dCBnb3QgMC41Ci1GQUlMIFdhdmVTaGFw
ZXJOb2RlIC0gVGVzdGluZyBpbnRlcnBvbGF0aW9uICh3aGVyZSBpbnB1dHMgZG9uJ3QgY29ycmVs
YXRlIGRpcmVjdGx5IHRvIGN1cnZlIGVsZW1lbnRzKSBhc3NlcnRfYXBwcm94X2VxdWFsczogSW5w
dXQ9LTAuNSwgQ3VydmU9WzIsLTMsNF0gPj4+ICBleHBlY3RlZCAtMC41ICsvLSAwLjAxIGJ1dCBn
b3QgLTEuNzUKLUZBSUwgV2F2ZVNoYXBlck5vZGUgLSBUZXN0aW5nIG91dC1vZi1yYW5nZSBpbnB1
dHMgKHNob3VsZCBiZSBtYXBwZWQgdG8gdGhlIGZpcnN0L2xhc3QgZWxlbWVudHMgb2YgdGhlIGN1
cnZlKSBhc3NlcnRfYXBwcm94X2VxdWFsczogSW5wdXQ9LTEuNSwgQ3VydmU9WzIsLTMsNF0gPj4+
ICBleHBlY3RlZCAyICsvLSAwLjAxIGJ1dCBnb3QgNS43NQotRkFJTCBXYXZlU2hhcGVyTm9kZSAt
IFRlc3RpbmcgYSAyLWVsZW1lbnQgY3VydmUgKGRvZXMgbm90IGhhdmUgYSBtaWRkbGUgZWxlbWVu
dCkgYXNzZXJ0X2FwcHJveF9lcXVhbHM6IElucHV0PTAsIEN1cnZlPVsyLC0yXSA+Pj4gIGV4cGVj
dGVkIDAgKy8tIDAuMDEgYnV0IGdvdCAtMgotRkFJTCBXYXZlU2hhcGVyTm9kZSAtIFRlc3Rpbmcg
YSA0LWVsZW1lbnQgY3VydmUgKGRvZXMgbm90IGhhdmUgYSBtaWRkbGUgZWxlbWVudCkgYXNzZXJ0
X2FwcHJveF9lcXVhbHM6IElucHV0PTAsIEN1cnZlPVsxLDIsNCw3XSA+Pj4gIGV4cGVjdGVkIDMg
Ky8tIDAuMDEgYnV0IGdvdCA0Ci1GQUlMIFdhdmVTaGFwZXJOb2RlIC0gVGVzdGluZyBhIGh1Z2Ug
Y3VydmUgYXNzZXJ0X2FwcHJveF9lcXVhbHM6IElucHV0PTAsIEN1cnZlPVtUb29CaWdUb0Rpc3Bs
YXkgKDYwMDAwIGVsZW1lbnRzKV0gPj4+ICBleHBlY3RlZCA4NDY2LjIwNTcyODc5OTIxICsvLSAw
LjAxIGJ1dCBnb3QgODQ2Ni4zNDc2NTYyNQorUEFTUyBXYXZlU2hhcGVyTm9kZSAtIFRlc3Rpbmcg
dGhhdCAtMSwgMCBhbmQgKzEgbWFwIGNvcnJlY3RseSB0byBjdXJ2ZSAod2l0aCAxOjEgY29ycmVs
YXRpb24pIAorUEFTUyBXYXZlU2hhcGVyTm9kZSAtIFRlc3RpbmcgaW50ZXJwb2xhdGlvbiAod2hl
cmUgaW5wdXRzIGRvbid0IGNvcnJlbGF0ZSBkaXJlY3RseSB0byBjdXJ2ZSBlbGVtZW50cykgCitQ
QVNTIFdhdmVTaGFwZXJOb2RlIC0gVGVzdGluZyBvdXQtb2YtcmFuZ2UgaW5wdXRzIChzaG91bGQg
YmUgbWFwcGVkIHRvIHRoZSBmaXJzdC9sYXN0IGVsZW1lbnRzIG9mIHRoZSBjdXJ2ZSkgCitQQVNT
IFdhdmVTaGFwZXJOb2RlIC0gVGVzdGluZyBhIDItZWxlbWVudCBjdXJ2ZSAoZG9lcyBub3QgaGF2
ZSBhIG1pZGRsZSBlbGVtZW50KSAKK1BBU1MgV2F2ZVNoYXBlck5vZGUgLSBUZXN0aW5nIGEgNC1l
bGVtZW50IGN1cnZlIChkb2VzIG5vdCBoYXZlIGEgbWlkZGxlIGVsZW1lbnQpIAorUEFTUyBXYXZl
U2hhcGVyTm9kZSAtIFRlc3RpbmcgYSBodWdlIGN1cnZlIAogUEFTUyBXYXZlU2hhcGVyTm9kZSAt
IFRlc3RpbmcgbnVsbCBjdXJ2ZSAoc2hvdWxkIHJldHVybiBpbnB1dCB2YWx1ZXMpIAogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYmF1
ZGlvL3RoZS1hdWRpby1hcGkvdGhlLXdhdmVzaGFwZXJub2RlLWludGVyZmFjZS93YXZlc2hhcGVy
LWxpbWl0cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3dlYmF1ZGlvL3RoZS1hdWRpby1hcGkvdGhlLXdhdmVzaGFwZXJub2RlLWludGVy
ZmFjZS93YXZlc2hhcGVyLWxpbWl0cy1leHBlY3RlZC50eHQKaW5kZXggYTg3NzRiMmQyZWQ0Yjcx
YWEzZGJmYmU2YjY3ODE4NWZiNDg2Y2E1Yi4uZWUwYzdjNmViZDE4M2FhY2IyYTUyM2Q1MDY1NTQy
YmY1N2VhZTE2YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy93ZWJhdWRpby90aGUtYXVkaW8tYXBpL3RoZS13YXZlc2hhcGVybm9kZS1pbnRl
cmZhY2Uvd2F2ZXNoYXBlci1saW1pdHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2ViYXVkaW8vdGhlLWF1ZGlvLWFwaS90aGUt
d2F2ZXNoYXBlcm5vZGUtaW50ZXJmYWNlL3dhdmVzaGFwZXItbGltaXRzLWV4cGVjdGVkLnR4dApA
QCAtMywyOSArMywyOSBAQCBQQVNTICMgQVVESVQgVEFTSyBSVU5ORVIgU1RBUlRFRC4KIFBBU1Mg
RXhlY3V0aW5nICJ0ZXN0IiAKIFBBU1MgQXVkaXQgcmVwb3J0IAogUEFTUyA+IFt0ZXN0XSBXYXZl
U2hhcGVyTm9kZSBpbmNsdWRpbmcgdmFsdWVzIG91dHNpZGUgdGhlIHJhbmdlIG9mIFstMSwxXSAK
LUZBSUwgWCBNYXggZXJyb3IgbWFwcGluZyAtMS4xMDAwMDAgdG8gLTAuMTUwMDAwIGlzIG5vdCBs
ZXNzIHRoYW4gb3IgZXF1YWwgdG8gMC4wMDAwMDEuIEdvdCAwLjE1MDAwMDAzNTc2Mjc4Njg3LiBh
c3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK1BBU1MgICBNYXggZXJyb3IgbWFw
cGluZyAtMS4xMDAwMDAgdG8gMC4wMDAwMDAgaXMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIDAuMDAw
MDAxLiAKIFBBU1MgICBNYXggZXJyb3IgbWFwcGluZyAtMS4wMDAwMDAgdG8gMC4wMDAwMDAgaXMg
bGVzcyB0aGFuIG9yIGVxdWFsIHRvIDAuMDAwMDAxLiAKLUZBSUwgWCBNYXggZXJyb3IgbWFwcGlu
ZyAtMC45MDAwMDAgdG8gMC4xNTAwMDAgaXMgbm90IGxlc3MgdGhhbiBvciBlcXVhbCB0byAwLjAw
MDAwMS4gR290IDAuMDUwMDAwMDM0MjcyNjcwNzQ2LiBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1
ZSBnb3QgZmFsc2UKLUZBSUwgWCBNYXggZXJyb3IgbWFwcGluZyAtMC44MDAwMDAgdG8gMC4zMDAw
MDAgaXMgbm90IGxlc3MgdGhhbiBvciBlcXVhbCB0byAwLjAwMDAwMS4gR290IDAuMDk5OTk5OTc5
MTM4Mzc0MzMuIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBYIE1h
eCBlcnJvciBtYXBwaW5nIC0wLjcwMDAwMCB0byAwLjQ1MDAwMCBpcyBub3QgbGVzcyB0aGFuIG9y
IGVxdWFsIHRvIDAuMDAwMDAxLiBHb3QgMC4xNTAwMDAwMDU5NjA0NjQ0OC4gYXNzZXJ0X3RydWU6
IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFggTWF4IGVycm9yIG1hcHBpbmcgLTAuNjAw
MDAwIHRvIDAuNjAwMDAwIGlzIG5vdCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gMC4wMDAwMDEuIEdv
dCAwLjE5OTk5OTk1ODI3Njc0ODY2LiBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFs
c2UKLUZBSUwgWCBNYXggZXJyb3IgbWFwcGluZyAtMC41MDAwMDAgdG8gMC43NTAwMDAgaXMgbm90
IGxlc3MgdGhhbiBvciBlcXVhbCB0byAwLjAwMDAwMS4gR290IDAuMjUuIGFzc2VydF90cnVlOiBl
eHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBYIE1heCBlcnJvciBtYXBwaW5nIC0wLjQwMDAw
MCB0byAwLjkwMDAwMCBpcyBub3QgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIDAuMDAwMDAxLiBHb3Qg
MC4zMDAwMDAwMTE5MjA5Mjg5Ni4gYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNl
Ci1GQUlMIFggTWF4IGVycm9yIG1hcHBpbmcgLTAuMzAwMDAwIHRvIDAuOTUwMDAwIGlzIG5vdCBs
ZXNzIHRoYW4gb3IgZXF1YWwgdG8gMC4wMDAwMDEuIEdvdCAwLjI1MDAwMDA1OTYwNDY0NDguIGFz
c2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorUEFTUyAgIE1heCBlcnJvciBtYXBw
aW5nIC0wLjkwMDAwMCB0byAwLjEwMDAwMCBpcyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gMC4wMDAw
MDEuIAorUEFTUyAgIE1heCBlcnJvciBtYXBwaW5nIC0wLjgwMDAwMCB0byAwLjIwMDAwMCBpcyBs
ZXNzIHRoYW4gb3IgZXF1YWwgdG8gMC4wMDAwMDEuIAorUEFTUyAgIE1heCBlcnJvciBtYXBwaW5n
IC0wLjcwMDAwMCB0byAwLjMwMDAwMCBpcyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gMC4wMDAwMDEu
IAorUEFTUyAgIE1heCBlcnJvciBtYXBwaW5nIC0wLjYwMDAwMCB0byAwLjQwMDAwMCBpcyBsZXNz
IHRoYW4gb3IgZXF1YWwgdG8gMC4wMDAwMDEuIAorUEFTUyAgIE1heCBlcnJvciBtYXBwaW5nIC0w
LjUwMDAwMCB0byAwLjUwMDAwMCBpcyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gMC4wMDAwMDEuIAor
UEFTUyAgIE1heCBlcnJvciBtYXBwaW5nIC0wLjQwMDAwMCB0byAwLjYwMDAwMCBpcyBsZXNzIHRo
YW4gb3IgZXF1YWwgdG8gMC4wMDAwMDEuIAorUEFTUyAgIE1heCBlcnJvciBtYXBwaW5nIC0wLjMw
MDAwMCB0byAwLjcwMDAwMCBpcyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gMC4wMDAwMDEuIAogUEFT
UyAgIE1heCBlcnJvciBtYXBwaW5nIC0wLjIwMDAwMCB0byAwLjgwMDAwMCBpcyBsZXNzIHRoYW4g
b3IgZXF1YWwgdG8gMC4wMDAwMDEuIAotRkFJTCBYIE1heCBlcnJvciBtYXBwaW5nIC0wLjEwMDAw
MCB0byAwLjY1MDAwMCBpcyBub3QgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIDAuMDAwMDAxLiBHb3Qg
MC4yNDk5OTk5NDAzOTUzNTUyMi4gYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNl
Ci1GQUlMIFggTWF4IGVycm9yIG1hcHBpbmcgMC4wMDAwMDAgdG8gMC41MDAwMDAgaXMgbm90IGxl
c3MgdGhhbiBvciBlcXVhbCB0byAwLjAwMDAwMS4gR290IDAuNS4gYXNzZXJ0X3RydWU6IGV4cGVj
dGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFggTWF4IGVycm9yIG1hcHBpbmcgMC4xMDAwMDAgdG8g
MC4zNTAwMDAgaXMgbm90IGxlc3MgdGhhbiBvciBlcXVhbCB0byAwLjAwMDAwMS4gR290IDAuNTUw
MDAwMDExOTIwOTI5LiBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwg
WCBNYXggZXJyb3IgbWFwcGluZyAwLjIwMDAwMCB0byAwLjIwMDAwMCBpcyBub3QgbGVzcyB0aGFu
IG9yIGVxdWFsIHRvIDAuMDAwMDAxLiBHb3QgMC42MDAwMDAwODM0NDY1MDI3LiBhc3NlcnRfdHJ1
ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgWCBNYXggZXJyb3IgbWFwcGluZyAwLjMw
MDAwMCB0byAwLjA1MDAwMCBpcyBub3QgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIDAuMDAwMDAxLiBH
b3QgMC42NDk5OTk5MTY1NTM0OTczLiBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFs
c2UKLUZBSUwgWCBNYXggZXJyb3IgbWFwcGluZyAwLjQwMDAwMCB0byAwLjAwMDAwMCBpcyBub3Qg
bGVzcyB0aGFuIG9yIGVxdWFsIHRvIDAuMDAwMDAxLiBHb3QgMC42MDAwMDAwMjM4NDE4NTc5LiBh
c3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgWCBNYXggZXJyb3IgbWFw
cGluZyAwLjUwMDAwMCB0byAwLjAwMDAwMCBpcyBub3QgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIDAu
MDAwMDAxLiBHb3QgMC41LiBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZB
SUwgWCBNYXggZXJyb3IgbWFwcGluZyAwLjYwMDAwMCB0byAwLjAwMDAwMCBpcyBub3QgbGVzcyB0
aGFuIG9yIGVxdWFsIHRvIDAuMDAwMDAxLiBHb3QgMC40MDAwMDAwMDU5NjA0NjQ1LiBhc3NlcnRf
dHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgWCBNYXggZXJyb3IgbWFwcGluZyAw
LjcwMDAwMCB0byAwLjAwMDAwMCBpcyBub3QgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIDAuMDAwMDAx
LiBHb3QgMC4zMDAwMDAwMTE5MjA5Mjg5Ni4gYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290
IGZhbHNlCi1GQUlMIFggTWF4IGVycm9yIG1hcHBpbmcgMC44MDAwMDAgdG8gMC4wMDAwMDAgaXMg
bm90IGxlc3MgdGhhbiBvciBlcXVhbCB0byAwLjAwMDAwMS4gR290IDAuMjAwMDAwMDAyOTgwMjMy
MjQuIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBYIE1heCBlcnJv
ciBtYXBwaW5nIDAuOTAwMDAwIHRvIDAuMDAwMDAwIGlzIG5vdCBsZXNzIHRoYW4gb3IgZXF1YWwg
dG8gMC4wMDAwMDEuIEdvdCAwLjEwMDAwMDAwMTQ5MDExNjEyLiBhc3NlcnRfdHJ1ZTogZXhwZWN0
ZWQgdHJ1ZSBnb3QgZmFsc2UKK1BBU1MgICBNYXggZXJyb3IgbWFwcGluZyAtMC4xMDAwMDAgdG8g
MC45MDAwMDAgaXMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIDAuMDAwMDAxLiAKK1BBU1MgICBNYXgg
ZXJyb3IgbWFwcGluZyAwLjAwMDAwMCB0byAxLjAwMDAwMCBpcyBsZXNzIHRoYW4gb3IgZXF1YWwg
dG8gMC4wMDAwMDEuIAorUEFTUyAgIE1heCBlcnJvciBtYXBwaW5nIDAuMTAwMDAwIHRvIDAuOTAw
MDAwIGlzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAwLjAwMDAwMS4gCitQQVNTICAgTWF4IGVycm9y
IG1hcHBpbmcgMC4yMDAwMDAgdG8gMC44MDAwMDAgaXMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIDAu
MDAwMDAxLiAKK1BBU1MgICBNYXggZXJyb3IgbWFwcGluZyAwLjMwMDAwMCB0byAwLjcwMDAwMCBp
cyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gMC4wMDAwMDEuIAorUEFTUyAgIE1heCBlcnJvciBtYXBw
aW5nIDAuNDAwMDAwIHRvIDAuNjAwMDAwIGlzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAwLjAwMDAw
MS4gCitQQVNTICAgTWF4IGVycm9yIG1hcHBpbmcgMC41MDAwMDAgdG8gMC41MDAwMDAgaXMgbGVz
cyB0aGFuIG9yIGVxdWFsIHRvIDAuMDAwMDAxLiAKK1BBU1MgICBNYXggZXJyb3IgbWFwcGluZyAw
LjYwMDAwMCB0byAwLjQwMDAwMCBpcyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gMC4wMDAwMDEuIAor
UEFTUyAgIE1heCBlcnJvciBtYXBwaW5nIDAuNzAwMDAwIHRvIDAuMzAwMDAwIGlzIGxlc3MgdGhh
biBvciBlcXVhbCB0byAwLjAwMDAwMS4gCitQQVNTICAgTWF4IGVycm9yIG1hcHBpbmcgMC44MDAw
MDAgdG8gMC4yMDAwMDAgaXMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIDAuMDAwMDAxLiAKK1BBU1Mg
ICBNYXggZXJyb3IgbWFwcGluZyAwLjkwMDAwMCB0byAwLjEwMDAwMCBpcyBsZXNzIHRoYW4gb3Ig
ZXF1YWwgdG8gMC4wMDAwMDEuIAogUEFTUyAgIE1heCBlcnJvciBtYXBwaW5nIDEuMDAwMDAwIHRv
IDAuMDAwMDAwIGlzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAwLjAwMDAwMS4gCiBQQVNTICAgTWF4
IGVycm9yIG1hcHBpbmcgMS4xMDAwMDAgdG8gMC4wMDAwMDAgaXMgbGVzcyB0aGFuIG9yIGVxdWFs
IHRvIDAuMDAwMDAxLiAKLUZBSUwgPCBbdGVzdF0gMTkgb3V0IG9mIDIzIGFzc2VydGlvbnMgd2Vy
ZSBmYWlsZWQuIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCAjIEFV
RElUIFRBU0sgUlVOTkVSIEZJTklTSEVEOiAxIG91dCBvZiAxIHRhc2tzIHdlcmUgZmFpbGVkLiBh
c3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK1BBU1MgPCBbdGVzdF0gQWxsIGFz
c2VydGlvbnMgcGFzc2VkLiAodG90YWwgMjMgYXNzZXJ0aW9ucykgCitQQVNTICMgQVVESVQgVEFT
SyBSVU5ORVIgRklOSVNIRUQ6IDEgdGFza3MgcmFuIHN1Y2Nlc3NmdWxseS4gCiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3dlYmF1ZGlvL3Jlc291cmNlcy93YXZlc2hhcGVyLXRlc3RpbmcuanMg
Yi9MYXlvdXRUZXN0cy93ZWJhdWRpby9yZXNvdXJjZXMvd2F2ZXNoYXBlci10ZXN0aW5nLmpzCmlu
ZGV4IDRmOTBlNzUwZGEzOGM1NGM1YjFjYWRiMWExZTNlY2MyNTdlNmI2YzIuLjllZDYyOTc3M2Fh
NWIzMTg1NzU4MzNlYzY5MzI3YjM5MjFmMGIwODEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3dl
YmF1ZGlvL3Jlc291cmNlcy93YXZlc2hhcGVyLXRlc3RpbmcuanMKKysrIGIvTGF5b3V0VGVzdHMv
d2ViYXVkaW8vcmVzb3VyY2VzL3dhdmVzaGFwZXItdGVzdGluZy5qcwpAQCAtMTM4LDYgKzEzOCw4
IEBAIGZ1bmN0aW9uIGNyZWF0ZUltcHVsc2VCdWZmZXIoY29udGV4dCwgc2FtcGxlRnJhbWVMZW5n
dGgpIHsKICAgICByZXR1cm4gYXVkaW9CdWZmZXI7CiB9CiAKK3dpbmRvdy5PZmZsaW5lQXVkaW9D
b250ZXh0ID0gd2luZG93Lk9mZmxpbmVBdWRpb0NvbnRleHQgfHwgd2luZG93LndlYmtpdE9mZmxp
bmVBdWRpb0NvbnRleHQ7CisKIGZ1bmN0aW9uIHJ1bldhdmVTaGFwZXJPdmVyc2FtcGxpbmdUZXN0
KHRlc3RQYXJhbXMpIHsKICAgICBzYW1wbGVSYXRlID0gdGVzdFBhcmFtcy5zYW1wbGVSYXRlOwog
ICAgIG55cXVpc3QgPSAwLjUgKiBzYW1wbGVSYXRlOwpAQCAtMTU0LDcgKzE1Niw3IEBAIGZ1bmN0
aW9uIHJ1bldhdmVTaGFwZXJPdmVyc2FtcGxpbmdUZXN0KHRlc3RQYXJhbXMpIHsKIAogICAgIC8v
IENyZWF0ZSBvZmZsaW5lIGF1ZGlvIGNvbnRleHQuCiAgICAgdmFyIG51bWJlck9mUmVuZGVyRnJh
bWVzID0gc2FtcGxlUmF0ZSAqIGxlbmd0aEluU2Vjb25kczsKLSAgICBjb250ZXh0ID0gbmV3IHdl
YmtpdE9mZmxpbmVBdWRpb0NvbnRleHQoMSwgbnVtYmVyT2ZSZW5kZXJGcmFtZXMsIHNhbXBsZVJh
dGUpOworICAgIGNvbnRleHQgPSBuZXcgT2ZmbGluZUF1ZGlvQ29udGV4dCgxLCBudW1iZXJPZlJl
bmRlckZyYW1lcywgc2FtcGxlUmF0ZSk7CiAKICAgICAvLyBzb3VyY2UgLT4gd2F2ZXNoYXBlciAt
PiBkZXN0aW5hdGlvbgogICAgIHZhciBzb3VyY2UgPSBjb250ZXh0LmNyZWF0ZUJ1ZmZlclNvdXJj
ZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViYXVkaW8vd2F2ZXNoYXBlci1vdmVyc2Ft
cGxlLTJ4Lmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJhdWRpby93YXZlc2hhcGVyLW92ZXJzYW1wbGUt
MnguaHRtbAppbmRleCA1ZjU5ODA5ODNjZjJlMjAyN2Q3MTU4MTk0ZGE2MzliYjM2MTA3MGY5Li4x
YTcyZjRiNTk3YTQ4YzZiNDBmOTY0NjRjOWI2ODZmMDdmNTc2NjA1IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy93ZWJhdWRpby93YXZlc2hhcGVyLW92ZXJzYW1wbGUtMnguaHRtbAorKysgYi9MYXlv
dXRUZXN0cy93ZWJhdWRpby93YXZlc2hhcGVyLW92ZXJzYW1wbGUtMnguaHRtbApAQCAtMjMsNyAr
MjMsNyBAQCB2YXIgdGVzdFBhcmFtcyA9IHsKICAgICAvLyBTaG91bGQgZ2VuZXJhdGUgaGFybW9u
aWNzIGF0IDkwMDAsIDE4MDAwLCAyNzAwMCwgMzYwMDAKICAgICAvLyBUaGUgbGFzdCB0d28gc2hv
dWxkIGJlIGZpbHRlcmVkIG91dCB3aXRoIHRoZSAyeCBvdmVyc2FtcGxpbmcuCiAgICAgImZ1bmRh
bWVudGFsRnJlcXVlbmN5IjogOTAwMCwKLSAgICAiYWNjZXB0YWJsZUFsaWFzaW5nVGhyZXNob2xk
RGVjaWJlbHMiOiAtODUKKyAgICAiYWNjZXB0YWJsZUFsaWFzaW5nVGhyZXNob2xkRGVjaWJlbHMi
OiAtNzUuMwogfTsKIHJ1bldhdmVTaGFwZXJPdmVyc2FtcGxpbmdUZXN0KHRlc3RQYXJhbXMpOwog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJhdWRpby93YXZlc2hhcGVyLW92ZXJzYW1wbGUt
NHguaHRtbCBiL0xheW91dFRlc3RzL3dlYmF1ZGlvL3dhdmVzaGFwZXItb3ZlcnNhbXBsZS00eC5o
dG1sCmluZGV4IGE4MjFlZjYwYjA3NjZiZGMwOGQ1MTFmMDM4YmVhZTM3Y2U3ZWZmNGQuLmFmMDUx
Yjk3Mzk4N2FkY2NiYjQ1NjlkYjU0MzcyOTA4NGNlYzczZWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL3dlYmF1ZGlvL3dhdmVzaGFwZXItb3ZlcnNhbXBsZS00eC5odG1sCisrKyBiL0xheW91dFRl
c3RzL3dlYmF1ZGlvL3dhdmVzaGFwZXItb3ZlcnNhbXBsZS00eC5odG1sCkBAIC0yMyw3ICsyMyw3
IEBAIHZhciB0ZXN0UGFyYW1zID0gewogICAgIC8vIFNob3VsZCBnZW5lcmF0ZSBoYXJtb25pY3Mg
YXQgMTgwMDAsIDM2MDAwLCA1NDAwMCwgNzIwMDAKICAgICAvLyBBbGwgZXhjZXB0IGZvciAxODAw
MCBzaG91bGQgYmUgZmlsdGVyZWQgb3V0IHdpdGggdGhlIDR4IG92ZXJzYW1wbGluZy4KICAgICAi
ZnVuZGFtZW50YWxGcmVxdWVuY3kiOiAxODAwMCwKLSAgICAiYWNjZXB0YWJsZUFsaWFzaW5nVGhy
ZXNob2xkRGVjaWJlbHMiOiAtODUKKyAgICAiYWNjZXB0YWJsZUFsaWFzaW5nVGhyZXNob2xkRGVj
aWJlbHMiOiAtNzkuODgKIH07CiBydW5XYXZlU2hhcGVyT3ZlcnNhbXBsaW5nVGVzdCh0ZXN0UGFy
YW1zKTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>406431</attachid>
            <date>2020-08-11 16:21:28 -0700</date>
            <delta_ts>2020-08-11 16:55:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-215391-20200811162128.patch</filename>
            <type>text/plain</type>
            <size>15205</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1NTM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDI3ZGJlN2U3NDg5MWYz
YmUzZmIyNDQ2YzM4OTY5MzExNjIzNjQ4YS4uMTY2MTljODI4YWJiYzViOTg3OGJkNjkzYjNiYTU5
YzUwNjA5YzcxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDIwLTA4LTExICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgRml4IFdhdmVTaGFwcGVyTm9k
ZSdzIHdhdmVzaGFwaW5nIGN1cnZlIGltcGxlbWVudGF0aW9uCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTUzOTEKKworICAgICAgICBSZXZpZXdlZCBi
eSBEYXJpbiBBZGxlci4KKworICAgICAgICBGaXggV2F2ZVNoYXBwZXJOb2RlJ3Mgd2F2ZXNoYXBp
bmcgY3VydmUgaW1wbGVtZW50YXRpb24gdXNpbmcgdGhlIGFsZ29yaXRobSBpbiB0aGUgc3BlY2lm
aWNhdGlvbjoKKyAgICAgICAgLSBodHRwczovL3d3dy53My5vcmcvVFIvd2ViYXVkaW8vI2RvbS13
YXZlc2hhcGVybm9kZS1jdXJ2ZQorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgcmViYXNlbGluZWQg
ZXhpc3RpbmcgdGVzdHMuCisKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL1dhdmVTaGFwZXJE
U1BLZXJuZWwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2F2ZVNoYXBlckRTUEtlcm5lbDo6cHJv
Y2Vzc0N1cnZlKToKKwogMjAyMC0wOC0xMSAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFw
cGxlLmNvbT4KIAogICAgICAgICBIYXZlIHJlbmRlciB0cmVlIGR1bXBzIHNob3cgb3ZlcmZsb3cg
aW5mb3JtYXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8v
V2F2ZVNoYXBlckRTUEtlcm5lbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlv
L1dhdmVTaGFwZXJEU1BLZXJuZWwuY3BwCmluZGV4IGYzZDIxMjJkZjUxYzRmMWEyOTIyNGU2OTNh
YjQ5NWJiYzJiOTM4ZTQuLjgxOGIyYWQyMWEzNzBkZDQyYWQ0YThlMmEzN2U3ZjRjZjI1MWZmZjEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vV2F2ZVNoYXBlckRT
UEtlcm5lbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9XYXZlU2hh
cGVyRFNQS2VybmVsLmNwcApAQCAtMTAxLDI1ICsxMDEsMTcgQEAgdm9pZCBXYXZlU2hhcGVyRFNQ
S2VybmVsOjpwcm9jZXNzQ3VydmUoY29uc3QgZmxvYXQqIHNvdXJjZSwgZmxvYXQqIGRlc3RpbmF0
aW9uLAogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBmcmFtZXNUb1Byb2Nlc3M7ICsraSkg
ewogICAgICAgICBjb25zdCBmbG9hdCBpbnB1dCA9IHNvdXJjZVtpXTsKIAotICAgICAgICAvLyBD
YWxjdWxhdGUgYSB2aXJ0dWFsIGluZGV4IGJhc2VkIG9uIGlucHV0IC0xIC0+ICsxIHdpdGggMCBi
ZWluZyBhdCB0aGUgY2VudGVyIG9mIHRoZSBjdXJ2ZSBkYXRhLgotICAgICAgICAvLyBUaGVuIGxp
bmVhcmx5IGludGVycG9sYXRlIGJldHdlZW4gdGhlIHR3byBwb2ludHMgaW4gdGhlIGN1cnZlLgot
ICAgICAgICBkb3VibGUgdmlydHVhbEluZGV4ID0gMC41ICogKGlucHV0ICsgMSkgKiBjdXJ2ZUxl
bmd0aDsKLSAgICAgICAgaW50IGluZGV4MSA9IHN0YXRpY19jYXN0PGludD4odmlydHVhbEluZGV4
KTsKLSAgICAgICAgaW50IGluZGV4MiA9IGluZGV4MSArIDE7Ci0gICAgICAgIGRvdWJsZSBpbnRl
cnBvbGF0aW9uRmFjdG9yID0gdmlydHVhbEluZGV4IC0gaW5kZXgxOwotCi0gICAgICAgIC8vIENs
aXAgaW5kZXggdG8gdGhlIGlucHV0IHJhbmdlIG9mIHRoZSBjdXJ2ZS4KLSAgICAgICAgLy8gVGhp
cyB0YWtlcyBjYXJlIG9mIGlucHV0IG91dHNpZGUgb2Ygbm9taW5hbCByYW5nZSAtMSAtPiArMQot
ICAgICAgICBpbmRleDEgPSBzdGQ6Om1heChpbmRleDEsIDApOwotICAgICAgICBpbmRleDEgPSBz
dGQ6Om1pbihpbmRleDEsIGN1cnZlTGVuZ3RoIC0gMSk7Ci0gICAgICAgIGluZGV4MiA9IHN0ZDo6
bWF4KGluZGV4MiwgMCk7Ci0gICAgICAgIGluZGV4MiA9IHN0ZDo6bWluKGluZGV4MiwgY3VydmVM
ZW5ndGggLSAxKTsKLQotICAgICAgICBkb3VibGUgdmFsdWUxID0gY3VydmVEYXRhW2luZGV4MV07
Ci0gICAgICAgIGRvdWJsZSB2YWx1ZTIgPSBjdXJ2ZURhdGFbaW5kZXgyXTsKLQotICAgICAgICBk
b3VibGUgb3V0cHV0ID0gKDEuMCAtIGludGVycG9sYXRpb25GYWN0b3IpICogdmFsdWUxICsgaW50
ZXJwb2xhdGlvbkZhY3RvciAqIHZhbHVlMjsKLSAgICAgICAgZGVzdGluYXRpb25baV0gPSBvdXRw
dXQ7CisgICAgICAgIGZsb2F0IHYgPSAoY3VydmVMZW5ndGggLSAxKSAqIDAuNSAqIChpbnB1dCAr
IDEpOworICAgICAgICBpZiAodiA8IDApCisgICAgICAgICAgICBkZXN0aW5hdGlvbltpXSA9IGN1
cnZlRGF0YVswXTsKKyAgICAgICAgZWxzZSBpZiAodiA+PSBjdXJ2ZUxlbmd0aCAtIDEpCisgICAg
ICAgICAgICBkZXN0aW5hdGlvbltpXSA9IGN1cnZlRGF0YVtjdXJ2ZUxlbmd0aCAtIDFdOworICAg
ICAgICBlbHNlIHsKKyAgICAgICAgICAgIGZsb2F0IGsgPSBmbG9vcmYodik7CisgICAgICAgICAg
ICBmbG9hdCBmID0gdiAtIGs7CisgICAgICAgICAgICB1bnNpZ25lZCBrSW5kZXggPSBrOworICAg
ICAgICAgICAgZGVzdGluYXRpb25baV0gPSAoMSAtIGYpICogY3VydmVEYXRhW2tJbmRleF0gKyBm
ICogY3VydmVEYXRhW2tJbmRleCArIDFdOworICAgICAgICB9CiAgICAgfQogfQogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXgg
OWQ5NWE1YjhjMjIzZGU1Y2M2MDczNTU0YTNiYTM2Yjg4NDM1NzFiYi4uN2VmZWMwNmFlZDk0Mjdh
MDgzZjYzZTY0YjI2Zjg2ZGQ4ODJmMDUyOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDIwLTA4
LTExICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgRml4IFdhdmVT
aGFwcGVyTm9kZSdzIHdhdmVzaGFwaW5nIGN1cnZlIGltcGxlbWVudGF0aW9uCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTUzOTEKKworICAgICAgICBS
ZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBGaXggZXhpc3RpbmcgdGVzdHMgdG8g
cmVmbGVjdCBiZWhhdmlvciBjaGFuZ2UuIEkgaGF2ZSB2ZXJpZmllZCB0aGF0IHRoZXNlIHRlc3Rz
CisgICAgICAgIHdlcmUgZmFpbGluZyBpbiBGaXJlZm94IGFuZCBDaHJvbWUgYmVmb3JlIEkgdXBk
YXRlZCB0aGVtLgorCisgICAgICAgICogd2ViYXVkaW8vcmVzb3VyY2VzL3dhdmVzaGFwZXItdGVz
dGluZy5qczoKKyAgICAgICAgKHJ1bldhdmVTaGFwZXJPdmVyc2FtcGxpbmdUZXN0KToKKyAgICAg
ICAgKiB3ZWJhdWRpby93YXZlc2hhcGVyLW92ZXJzYW1wbGUtMnguaHRtbDoKKyAgICAgICAgKiB3
ZWJhdWRpby93YXZlc2hhcGVyLW92ZXJzYW1wbGUtNHguaHRtbDoKKwogMjAyMC0wOC0xMSAgSmFt
ZXMgRGFycGluaWFuICA8amRhcnBpbmlhbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW1dlYkdM
Ml0gQ29uZm9ybWFuY2UgdGVzdHMgdGhyb3R0bGVkIGJ5IGlmcmFtZSBsZWF2aW5nIHZpZXdwb3J0
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCBiM2VmOGMxMzE3MzBkY2M1Nzc2ZTlj
ODE1YWRkNDcyNzgyNGE4NjY1Li41YjYxMTdmYTBmNzI4ZWQyMmIzZDI0OTQ1OGJiOTk1OTE0NDEx
MmFjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAy
MC0wOC0xMSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIEZpeCBX
YXZlU2hhcHBlck5vZGUncyB3YXZlc2hhcGluZyBjdXJ2ZSBpbXBsZW1lbnRhdGlvbgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE1MzkxCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgUmViYXNlbGluZSBXUFQgdGVz
dHMgbm93IHRoYXQgbW9yZSBjaGVja3MgYXJlIHBhc3NpbmcuCisKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvd2ViYXVkaW8vdGhlLWF1ZGlvLWFwaS90aGUtd2F2ZXNoYXBlcm5vZGUtaW50
ZXJmYWNlL2N1cnZlLXRlc3RzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvd2ViYXVkaW8vdGhlLWF1ZGlvLWFwaS90aGUtd2F2ZXNoYXBlcm5vZGUtaW50ZXJmYWNl
L3dhdmVzaGFwZXItbGltaXRzLWV4cGVjdGVkLnR4dDoKKwogMjAyMC0wOC0xMSAgQ2hyaXMgRHVt
ZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIEZpeCBCaXF1YWRGaWx0ZXJOb2RlJ3Mg
bG93cGFzcyBmaWx0ZXIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd2ViYXVkaW8vdGhlLWF1ZGlvLWFwaS90aGUtd2F2ZXNoYXBlcm5vZGUt
aW50ZXJmYWNlL2N1cnZlLXRlc3RzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2ViYXVkaW8vdGhlLWF1ZGlvLWFwaS90aGUtd2F2ZXNo
YXBlcm5vZGUtaW50ZXJmYWNlL2N1cnZlLXRlc3RzLWV4cGVjdGVkLnR4dAppbmRleCAwY2ZmMDli
ZjA0ZTQzNjAyYmQxZjBkYzMzNjZiZjdhODY4YmZmOTJjLi4yMDYzZGNjNTcxZTNlYjQ3YzRiMTky
MTg1M2NhNzcyODk2ZDY4ZGRlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3dlYmF1ZGlvL3RoZS1hdWRpby1hcGkvdGhlLXdhdmVzaGFwZXJu
b2RlLWludGVyZmFjZS9jdXJ2ZS10ZXN0cy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJhdWRpby90aGUtYXVkaW8tYXBpL3Ro
ZS13YXZlc2hhcGVybm9kZS1pbnRlcmZhY2UvY3VydmUtdGVzdHMtZXhwZWN0ZWQudHh0CkBAIC0x
LDkgKzEsOSBAQAogCi1GQUlMIFdhdmVTaGFwZXJOb2RlIC0gVGVzdGluZyB0aGF0IC0xLCAwIGFu
ZCArMSBtYXAgY29ycmVjdGx5IHRvIGN1cnZlICh3aXRoIDE6MSBjb3JyZWxhdGlvbikgYXNzZXJ0
X2FwcHJveF9lcXVhbHM6IElucHV0PTAsIEN1cnZlPVsyLC0zLDRdID4+PiAgZXhwZWN0ZWQgLTMg
Ky8tIDAuMDEgYnV0IGdvdCAwLjUKLUZBSUwgV2F2ZVNoYXBlck5vZGUgLSBUZXN0aW5nIGludGVy
cG9sYXRpb24gKHdoZXJlIGlucHV0cyBkb24ndCBjb3JyZWxhdGUgZGlyZWN0bHkgdG8gY3VydmUg
ZWxlbWVudHMpIGFzc2VydF9hcHByb3hfZXF1YWxzOiBJbnB1dD0tMC41LCBDdXJ2ZT1bMiwtMyw0
XSA+Pj4gIGV4cGVjdGVkIC0wLjUgKy8tIDAuMDEgYnV0IGdvdCAtMS43NQotRkFJTCBXYXZlU2hh
cGVyTm9kZSAtIFRlc3Rpbmcgb3V0LW9mLXJhbmdlIGlucHV0cyAoc2hvdWxkIGJlIG1hcHBlZCB0
byB0aGUgZmlyc3QvbGFzdCBlbGVtZW50cyBvZiB0aGUgY3VydmUpIGFzc2VydF9hcHByb3hfZXF1
YWxzOiBJbnB1dD0tMS41LCBDdXJ2ZT1bMiwtMyw0XSA+Pj4gIGV4cGVjdGVkIDIgKy8tIDAuMDEg
YnV0IGdvdCA1Ljc1Ci1GQUlMIFdhdmVTaGFwZXJOb2RlIC0gVGVzdGluZyBhIDItZWxlbWVudCBj
dXJ2ZSAoZG9lcyBub3QgaGF2ZSBhIG1pZGRsZSBlbGVtZW50KSBhc3NlcnRfYXBwcm94X2VxdWFs
czogSW5wdXQ9MCwgQ3VydmU9WzIsLTJdID4+PiAgZXhwZWN0ZWQgMCArLy0gMC4wMSBidXQgZ290
IC0yCi1GQUlMIFdhdmVTaGFwZXJOb2RlIC0gVGVzdGluZyBhIDQtZWxlbWVudCBjdXJ2ZSAoZG9l
cyBub3QgaGF2ZSBhIG1pZGRsZSBlbGVtZW50KSBhc3NlcnRfYXBwcm94X2VxdWFsczogSW5wdXQ9
MCwgQ3VydmU9WzEsMiw0LDddID4+PiAgZXhwZWN0ZWQgMyArLy0gMC4wMSBidXQgZ290IDQKLUZB
SUwgV2F2ZVNoYXBlck5vZGUgLSBUZXN0aW5nIGEgaHVnZSBjdXJ2ZSBhc3NlcnRfYXBwcm94X2Vx
dWFsczogSW5wdXQ9MCwgQ3VydmU9W1Rvb0JpZ1RvRGlzcGxheSAoNjAwMDAgZWxlbWVudHMpXSA+
Pj4gIGV4cGVjdGVkIDg0NjYuMjA1NzI4Nzk5MjEgKy8tIDAuMDEgYnV0IGdvdCA4NDY2LjM0NzY1
NjI1CitQQVNTIFdhdmVTaGFwZXJOb2RlIC0gVGVzdGluZyB0aGF0IC0xLCAwIGFuZCArMSBtYXAg
Y29ycmVjdGx5IHRvIGN1cnZlICh3aXRoIDE6MSBjb3JyZWxhdGlvbikgCitQQVNTIFdhdmVTaGFw
ZXJOb2RlIC0gVGVzdGluZyBpbnRlcnBvbGF0aW9uICh3aGVyZSBpbnB1dHMgZG9uJ3QgY29ycmVs
YXRlIGRpcmVjdGx5IHRvIGN1cnZlIGVsZW1lbnRzKSAKK1BBU1MgV2F2ZVNoYXBlck5vZGUgLSBU
ZXN0aW5nIG91dC1vZi1yYW5nZSBpbnB1dHMgKHNob3VsZCBiZSBtYXBwZWQgdG8gdGhlIGZpcnN0
L2xhc3QgZWxlbWVudHMgb2YgdGhlIGN1cnZlKSAKK1BBU1MgV2F2ZVNoYXBlck5vZGUgLSBUZXN0
aW5nIGEgMi1lbGVtZW50IGN1cnZlIChkb2VzIG5vdCBoYXZlIGEgbWlkZGxlIGVsZW1lbnQpIAor
UEFTUyBXYXZlU2hhcGVyTm9kZSAtIFRlc3RpbmcgYSA0LWVsZW1lbnQgY3VydmUgKGRvZXMgbm90
IGhhdmUgYSBtaWRkbGUgZWxlbWVudCkgCitQQVNTIFdhdmVTaGFwZXJOb2RlIC0gVGVzdGluZyBh
IGh1Z2UgY3VydmUgCiBQQVNTIFdhdmVTaGFwZXJOb2RlIC0gVGVzdGluZyBudWxsIGN1cnZlIChz
aG91bGQgcmV0dXJuIGlucHV0IHZhbHVlcykgCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2ViYXVkaW8vdGhlLWF1ZGlvLWFwaS90aGUt
d2F2ZXNoYXBlcm5vZGUtaW50ZXJmYWNlL3dhdmVzaGFwZXItbGltaXRzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2ViYXVkaW8vdGhl
LWF1ZGlvLWFwaS90aGUtd2F2ZXNoYXBlcm5vZGUtaW50ZXJmYWNlL3dhdmVzaGFwZXItbGltaXRz
LWV4cGVjdGVkLnR4dAppbmRleCBhODc3NGIyZDJlZDRiNzFhYTNkYmZiZTZiNjc4MTg1ZmI0ODZj
YTViLi5lZTBjN2M2ZWJkMTgzYWFjYjJhNTIzZDUwNjU1NDJiZjU3ZWFlMTZjIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYmF1ZGlvL3Ro
ZS1hdWRpby1hcGkvdGhlLXdhdmVzaGFwZXJub2RlLWludGVyZmFjZS93YXZlc2hhcGVyLWxpbWl0
cy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93ZWJhdWRpby90aGUtYXVkaW8tYXBpL3RoZS13YXZlc2hhcGVybm9kZS1pbnRlcmZh
Y2Uvd2F2ZXNoYXBlci1saW1pdHMtZXhwZWN0ZWQudHh0CkBAIC0zLDI5ICszLDI5IEBAIFBBU1Mg
IyBBVURJVCBUQVNLIFJVTk5FUiBTVEFSVEVELgogUEFTUyBFeGVjdXRpbmcgInRlc3QiIAogUEFT
UyBBdWRpdCByZXBvcnQgCiBQQVNTID4gW3Rlc3RdIFdhdmVTaGFwZXJOb2RlIGluY2x1ZGluZyB2
YWx1ZXMgb3V0c2lkZSB0aGUgcmFuZ2Ugb2YgWy0xLDFdIAotRkFJTCBYIE1heCBlcnJvciBtYXBw
aW5nIC0xLjEwMDAwMCB0byAtMC4xNTAwMDAgaXMgbm90IGxlc3MgdGhhbiBvciBlcXVhbCB0byAw
LjAwMDAwMS4gR290IDAuMTUwMDAwMDM1NzYyNzg2ODcuIGFzc2VydF90cnVlOiBleHBlY3RlZCB0
cnVlIGdvdCBmYWxzZQorUEFTUyAgIE1heCBlcnJvciBtYXBwaW5nIC0xLjEwMDAwMCB0byAwLjAw
MDAwMCBpcyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gMC4wMDAwMDEuIAogUEFTUyAgIE1heCBlcnJv
ciBtYXBwaW5nIC0xLjAwMDAwMCB0byAwLjAwMDAwMCBpcyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8g
MC4wMDAwMDEuIAotRkFJTCBYIE1heCBlcnJvciBtYXBwaW5nIC0wLjkwMDAwMCB0byAwLjE1MDAw
MCBpcyBub3QgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIDAuMDAwMDAxLiBHb3QgMC4wNTAwMDAwMzQy
NzI2NzA3NDYuIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBYIE1h
eCBlcnJvciBtYXBwaW5nIC0wLjgwMDAwMCB0byAwLjMwMDAwMCBpcyBub3QgbGVzcyB0aGFuIG9y
IGVxdWFsIHRvIDAuMDAwMDAxLiBHb3QgMC4wOTk5OTk5NzkxMzgzNzQzMy4gYXNzZXJ0X3RydWU6
IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFggTWF4IGVycm9yIG1hcHBpbmcgLTAuNzAw
MDAwIHRvIDAuNDUwMDAwIGlzIG5vdCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gMC4wMDAwMDEuIEdv
dCAwLjE1MDAwMDAwNTk2MDQ2NDQ4LiBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFs
c2UKLUZBSUwgWCBNYXggZXJyb3IgbWFwcGluZyAtMC42MDAwMDAgdG8gMC42MDAwMDAgaXMgbm90
IGxlc3MgdGhhbiBvciBlcXVhbCB0byAwLjAwMDAwMS4gR290IDAuMTk5OTk5OTU4Mjc2NzQ4NjYu
IGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBYIE1heCBlcnJvciBt
YXBwaW5nIC0wLjUwMDAwMCB0byAwLjc1MDAwMCBpcyBub3QgbGVzcyB0aGFuIG9yIGVxdWFsIHRv
IDAuMDAwMDAxLiBHb3QgMC4yNS4gYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNl
Ci1GQUlMIFggTWF4IGVycm9yIG1hcHBpbmcgLTAuNDAwMDAwIHRvIDAuOTAwMDAwIGlzIG5vdCBs
ZXNzIHRoYW4gb3IgZXF1YWwgdG8gMC4wMDAwMDEuIEdvdCAwLjMwMDAwMDAxMTkyMDkyODk2LiBh
c3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgWCBNYXggZXJyb3IgbWFw
cGluZyAtMC4zMDAwMDAgdG8gMC45NTAwMDAgaXMgbm90IGxlc3MgdGhhbiBvciBlcXVhbCB0byAw
LjAwMDAwMS4gR290IDAuMjUwMDAwMDU5NjA0NjQ0OC4gYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRy
dWUgZ290IGZhbHNlCitQQVNTICAgTWF4IGVycm9yIG1hcHBpbmcgLTAuOTAwMDAwIHRvIDAuMTAw
MDAwIGlzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAwLjAwMDAwMS4gCitQQVNTICAgTWF4IGVycm9y
IG1hcHBpbmcgLTAuODAwMDAwIHRvIDAuMjAwMDAwIGlzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAw
LjAwMDAwMS4gCitQQVNTICAgTWF4IGVycm9yIG1hcHBpbmcgLTAuNzAwMDAwIHRvIDAuMzAwMDAw
IGlzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAwLjAwMDAwMS4gCitQQVNTICAgTWF4IGVycm9yIG1h
cHBpbmcgLTAuNjAwMDAwIHRvIDAuNDAwMDAwIGlzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAwLjAw
MDAwMS4gCitQQVNTICAgTWF4IGVycm9yIG1hcHBpbmcgLTAuNTAwMDAwIHRvIDAuNTAwMDAwIGlz
IGxlc3MgdGhhbiBvciBlcXVhbCB0byAwLjAwMDAwMS4gCitQQVNTICAgTWF4IGVycm9yIG1hcHBp
bmcgLTAuNDAwMDAwIHRvIDAuNjAwMDAwIGlzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAwLjAwMDAw
MS4gCitQQVNTICAgTWF4IGVycm9yIG1hcHBpbmcgLTAuMzAwMDAwIHRvIDAuNzAwMDAwIGlzIGxl
c3MgdGhhbiBvciBlcXVhbCB0byAwLjAwMDAwMS4gCiBQQVNTICAgTWF4IGVycm9yIG1hcHBpbmcg
LTAuMjAwMDAwIHRvIDAuODAwMDAwIGlzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAwLjAwMDAwMS4g
Ci1GQUlMIFggTWF4IGVycm9yIG1hcHBpbmcgLTAuMTAwMDAwIHRvIDAuNjUwMDAwIGlzIG5vdCBs
ZXNzIHRoYW4gb3IgZXF1YWwgdG8gMC4wMDAwMDEuIEdvdCAwLjI0OTk5OTk0MDM5NTM1NTIyLiBh
c3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgWCBNYXggZXJyb3IgbWFw
cGluZyAwLjAwMDAwMCB0byAwLjUwMDAwMCBpcyBub3QgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIDAu
MDAwMDAxLiBHb3QgMC41LiBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZB
SUwgWCBNYXggZXJyb3IgbWFwcGluZyAwLjEwMDAwMCB0byAwLjM1MDAwMCBpcyBub3QgbGVzcyB0
aGFuIG9yIGVxdWFsIHRvIDAuMDAwMDAxLiBHb3QgMC41NTAwMDAwMTE5MjA5MjkuIGFzc2VydF90
cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBYIE1heCBlcnJvciBtYXBwaW5nIDAu
MjAwMDAwIHRvIDAuMjAwMDAwIGlzIG5vdCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gMC4wMDAwMDEu
IEdvdCAwLjYwMDAwMDA4MzQ0NjUwMjcuIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBm
YWxzZQotRkFJTCBYIE1heCBlcnJvciBtYXBwaW5nIDAuMzAwMDAwIHRvIDAuMDUwMDAwIGlzIG5v
dCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gMC4wMDAwMDEuIEdvdCAwLjY0OTk5OTkxNjU1MzQ5NzMu
IGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBYIE1heCBlcnJvciBt
YXBwaW5nIDAuNDAwMDAwIHRvIDAuMDAwMDAwIGlzIG5vdCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8g
MC4wMDAwMDEuIEdvdCAwLjYwMDAwMDAyMzg0MTg1NzkuIGFzc2VydF90cnVlOiBleHBlY3RlZCB0
cnVlIGdvdCBmYWxzZQotRkFJTCBYIE1heCBlcnJvciBtYXBwaW5nIDAuNTAwMDAwIHRvIDAuMDAw
MDAwIGlzIG5vdCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gMC4wMDAwMDEuIEdvdCAwLjUuIGFzc2Vy
dF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBYIE1heCBlcnJvciBtYXBwaW5n
IDAuNjAwMDAwIHRvIDAuMDAwMDAwIGlzIG5vdCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gMC4wMDAw
MDEuIEdvdCAwLjQwMDAwMDAwNTk2MDQ2NDUuIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdv
dCBmYWxzZQotRkFJTCBYIE1heCBlcnJvciBtYXBwaW5nIDAuNzAwMDAwIHRvIDAuMDAwMDAwIGlz
IG5vdCBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gMC4wMDAwMDEuIEdvdCAwLjMwMDAwMDAxMTkyMDky
ODk2LiBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgWCBNYXggZXJy
b3IgbWFwcGluZyAwLjgwMDAwMCB0byAwLjAwMDAwMCBpcyBub3QgbGVzcyB0aGFuIG9yIGVxdWFs
IHRvIDAuMDAwMDAxLiBHb3QgMC4yMDAwMDAwMDI5ODAyMzIyNC4gYXNzZXJ0X3RydWU6IGV4cGVj
dGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFggTWF4IGVycm9yIG1hcHBpbmcgMC45MDAwMDAgdG8g
MC4wMDAwMDAgaXMgbm90IGxlc3MgdGhhbiBvciBlcXVhbCB0byAwLjAwMDAwMS4gR290IDAuMTAw
MDAwMDAxNDkwMTE2MTIuIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorUEFT
UyAgIE1heCBlcnJvciBtYXBwaW5nIC0wLjEwMDAwMCB0byAwLjkwMDAwMCBpcyBsZXNzIHRoYW4g
b3IgZXF1YWwgdG8gMC4wMDAwMDEuIAorUEFTUyAgIE1heCBlcnJvciBtYXBwaW5nIDAuMDAwMDAw
IHRvIDEuMDAwMDAwIGlzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAwLjAwMDAwMS4gCitQQVNTICAg
TWF4IGVycm9yIG1hcHBpbmcgMC4xMDAwMDAgdG8gMC45MDAwMDAgaXMgbGVzcyB0aGFuIG9yIGVx
dWFsIHRvIDAuMDAwMDAxLiAKK1BBU1MgICBNYXggZXJyb3IgbWFwcGluZyAwLjIwMDAwMCB0byAw
LjgwMDAwMCBpcyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gMC4wMDAwMDEuIAorUEFTUyAgIE1heCBl
cnJvciBtYXBwaW5nIDAuMzAwMDAwIHRvIDAuNzAwMDAwIGlzIGxlc3MgdGhhbiBvciBlcXVhbCB0
byAwLjAwMDAwMS4gCitQQVNTICAgTWF4IGVycm9yIG1hcHBpbmcgMC40MDAwMDAgdG8gMC42MDAw
MDAgaXMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIDAuMDAwMDAxLiAKK1BBU1MgICBNYXggZXJyb3Ig
bWFwcGluZyAwLjUwMDAwMCB0byAwLjUwMDAwMCBpcyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gMC4w
MDAwMDEuIAorUEFTUyAgIE1heCBlcnJvciBtYXBwaW5nIDAuNjAwMDAwIHRvIDAuNDAwMDAwIGlz
IGxlc3MgdGhhbiBvciBlcXVhbCB0byAwLjAwMDAwMS4gCitQQVNTICAgTWF4IGVycm9yIG1hcHBp
bmcgMC43MDAwMDAgdG8gMC4zMDAwMDAgaXMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIDAuMDAwMDAx
LiAKK1BBU1MgICBNYXggZXJyb3IgbWFwcGluZyAwLjgwMDAwMCB0byAwLjIwMDAwMCBpcyBsZXNz
IHRoYW4gb3IgZXF1YWwgdG8gMC4wMDAwMDEuIAorUEFTUyAgIE1heCBlcnJvciBtYXBwaW5nIDAu
OTAwMDAwIHRvIDAuMTAwMDAwIGlzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAwLjAwMDAwMS4gCiBQ
QVNTICAgTWF4IGVycm9yIG1hcHBpbmcgMS4wMDAwMDAgdG8gMC4wMDAwMDAgaXMgbGVzcyB0aGFu
IG9yIGVxdWFsIHRvIDAuMDAwMDAxLiAKIFBBU1MgICBNYXggZXJyb3IgbWFwcGluZyAxLjEwMDAw
MCB0byAwLjAwMDAwMCBpcyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gMC4wMDAwMDEuIAotRkFJTCA8
IFt0ZXN0XSAxOSBvdXQgb2YgMjMgYXNzZXJ0aW9ucyB3ZXJlIGZhaWxlZC4gYXNzZXJ0X3RydWU6
IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMICMgQVVESVQgVEFTSyBSVU5ORVIgRklOSVNI
RUQ6IDEgb3V0IG9mIDEgdGFza3Mgd2VyZSBmYWlsZWQuIGFzc2VydF90cnVlOiBleHBlY3RlZCB0
cnVlIGdvdCBmYWxzZQorUEFTUyA8IFt0ZXN0XSBBbGwgYXNzZXJ0aW9ucyBwYXNzZWQuICh0b3Rh
bCAyMyBhc3NlcnRpb25zKSAKK1BBU1MgIyBBVURJVCBUQVNLIFJVTk5FUiBGSU5JU0hFRDogMSB0
YXNrcyByYW4gc3VjY2Vzc2Z1bGx5LiAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViYXVk
aW8vcmVzb3VyY2VzL3dhdmVzaGFwZXItdGVzdGluZy5qcyBiL0xheW91dFRlc3RzL3dlYmF1ZGlv
L3Jlc291cmNlcy93YXZlc2hhcGVyLXRlc3RpbmcuanMKaW5kZXggNGY5MGU3NTBkYTM4YzU0YzVi
MWNhZGIxYTFlM2VjYzI1N2U2YjZjMi4uOWVkNjI5NzczYWE1YjMxODU3NTgzM2VjNjkzMjdiMzky
MWYwYjA4MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvd2ViYXVkaW8vcmVzb3VyY2VzL3dhdmVz
aGFwZXItdGVzdGluZy5qcworKysgYi9MYXlvdXRUZXN0cy93ZWJhdWRpby9yZXNvdXJjZXMvd2F2
ZXNoYXBlci10ZXN0aW5nLmpzCkBAIC0xMzgsNiArMTM4LDggQEAgZnVuY3Rpb24gY3JlYXRlSW1w
dWxzZUJ1ZmZlcihjb250ZXh0LCBzYW1wbGVGcmFtZUxlbmd0aCkgewogICAgIHJldHVybiBhdWRp
b0J1ZmZlcjsKIH0KIAord2luZG93Lk9mZmxpbmVBdWRpb0NvbnRleHQgPSB3aW5kb3cuT2ZmbGlu
ZUF1ZGlvQ29udGV4dCB8fCB3aW5kb3cud2Via2l0T2ZmbGluZUF1ZGlvQ29udGV4dDsKKwogZnVu
Y3Rpb24gcnVuV2F2ZVNoYXBlck92ZXJzYW1wbGluZ1Rlc3QodGVzdFBhcmFtcykgewogICAgIHNh
bXBsZVJhdGUgPSB0ZXN0UGFyYW1zLnNhbXBsZVJhdGU7CiAgICAgbnlxdWlzdCA9IDAuNSAqIHNh
bXBsZVJhdGU7CkBAIC0xNTQsNyArMTU2LDcgQEAgZnVuY3Rpb24gcnVuV2F2ZVNoYXBlck92ZXJz
YW1wbGluZ1Rlc3QodGVzdFBhcmFtcykgewogCiAgICAgLy8gQ3JlYXRlIG9mZmxpbmUgYXVkaW8g
Y29udGV4dC4KICAgICB2YXIgbnVtYmVyT2ZSZW5kZXJGcmFtZXMgPSBzYW1wbGVSYXRlICogbGVu
Z3RoSW5TZWNvbmRzOwotICAgIGNvbnRleHQgPSBuZXcgd2Via2l0T2ZmbGluZUF1ZGlvQ29udGV4
dCgxLCBudW1iZXJPZlJlbmRlckZyYW1lcywgc2FtcGxlUmF0ZSk7CisgICAgY29udGV4dCA9IG5l
dyBPZmZsaW5lQXVkaW9Db250ZXh0KDEsIG51bWJlck9mUmVuZGVyRnJhbWVzLCBzYW1wbGVSYXRl
KTsKIAogICAgIC8vIHNvdXJjZSAtPiB3YXZlc2hhcGVyIC0+IGRlc3RpbmF0aW9uCiAgICAgdmFy
IHNvdXJjZSA9IGNvbnRleHQuY3JlYXRlQnVmZmVyU291cmNlKCk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy93ZWJhdWRpby93YXZlc2hhcGVyLW92ZXJzYW1wbGUtMnguaHRtbCBiL0xheW91dFRl
c3RzL3dlYmF1ZGlvL3dhdmVzaGFwZXItb3ZlcnNhbXBsZS0yeC5odG1sCmluZGV4IDVmNTk4MDk4
M2NmMmUyMDI3ZDcxNTgxOTRkYTYzOWJiMzYxMDcwZjkuLjFhNzJmNGI1OTdhNDhjNmI0MGY5NjQ2
NGM5YjY4NmYwN2Y1NzY2MDUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3dlYmF1ZGlvL3dhdmVz
aGFwZXItb3ZlcnNhbXBsZS0yeC5odG1sCisrKyBiL0xheW91dFRlc3RzL3dlYmF1ZGlvL3dhdmVz
aGFwZXItb3ZlcnNhbXBsZS0yeC5odG1sCkBAIC0yMyw3ICsyMyw3IEBAIHZhciB0ZXN0UGFyYW1z
ID0gewogICAgIC8vIFNob3VsZCBnZW5lcmF0ZSBoYXJtb25pY3MgYXQgOTAwMCwgMTgwMDAsIDI3
MDAwLCAzNjAwMAogICAgIC8vIFRoZSBsYXN0IHR3byBzaG91bGQgYmUgZmlsdGVyZWQgb3V0IHdp
dGggdGhlIDJ4IG92ZXJzYW1wbGluZy4KICAgICAiZnVuZGFtZW50YWxGcmVxdWVuY3kiOiA5MDAw
LAotICAgICJhY2NlcHRhYmxlQWxpYXNpbmdUaHJlc2hvbGREZWNpYmVscyI6IC04NQorICAgICJh
Y2NlcHRhYmxlQWxpYXNpbmdUaHJlc2hvbGREZWNpYmVscyI6IC03NS4zCiB9OwogcnVuV2F2ZVNo
YXBlck92ZXJzYW1wbGluZ1Rlc3QodGVzdFBhcmFtcyk7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3dlYmF1ZGlvL3dhdmVzaGFwZXItb3ZlcnNhbXBsZS00eC5odG1sIGIvTGF5b3V0VGVzdHMv
d2ViYXVkaW8vd2F2ZXNoYXBlci1vdmVyc2FtcGxlLTR4Lmh0bWwKaW5kZXggYTgyMWVmNjBiMDc2
NmJkYzA4ZDUxMWYwMzhiZWFlMzdjZTdlZmY0ZC4uYWYwNTFiOTczOTg3YWRjY2JiNDU2OWRiNTQz
NzI5MDg0Y2VjNzNlYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvd2ViYXVkaW8vd2F2ZXNoYXBl
ci1vdmVyc2FtcGxlLTR4Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvd2ViYXVkaW8vd2F2ZXNoYXBl
ci1vdmVyc2FtcGxlLTR4Lmh0bWwKQEAgLTIzLDcgKzIzLDcgQEAgdmFyIHRlc3RQYXJhbXMgPSB7
CiAgICAgLy8gU2hvdWxkIGdlbmVyYXRlIGhhcm1vbmljcyBhdCAxODAwMCwgMzYwMDAsIDU0MDAw
LCA3MjAwMAogICAgIC8vIEFsbCBleGNlcHQgZm9yIDE4MDAwIHNob3VsZCBiZSBmaWx0ZXJlZCBv
dXQgd2l0aCB0aGUgNHggb3ZlcnNhbXBsaW5nLgogICAgICJmdW5kYW1lbnRhbEZyZXF1ZW5jeSI6
IDE4MDAwLAotICAgICJhY2NlcHRhYmxlQWxpYXNpbmdUaHJlc2hvbGREZWNpYmVscyI6IC04NQor
ICAgICJhY2NlcHRhYmxlQWxpYXNpbmdUaHJlc2hvbGREZWNpYmVscyI6IC03OS44OAogfTsKIHJ1
bldhdmVTaGFwZXJPdmVyc2FtcGxpbmdUZXN0KHRlc3RQYXJhbXMpOwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>