<?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>216407</bug_id>
          
          <creation_ts>2020-09-11 09:08:33 -0700</creation_ts>
          <short_desc>Safely handle overly-long CSS variable values</short_desc>
          <delta_ts>2020-09-12 23:40:16 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Tyler Wilcock">twilco.o</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ap</cc>
    
    <cc>darin</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1687732</commentid>
    <comment_count>0</comment_count>
    <who name="Tyler Wilcock">twilco.o</who>
    <bug_when>2020-09-11 09:08:33 -0700</bug_when>
    <thetext>Safely handle and reject long CSS variable values to prevent unbounded memory consumption.

https://drafts.csswg.org/css-variables/#long-variables

From the spec:

.foo {
  --prop1: lol;
  --prop2: var(--prop1) var(--prop1);
  --prop3: var(--prop2) var(--prop2);
  --prop4: var(--prop3) var(--prop3);
  /* expand to --prop30 */
}

Results in --prop30 containing ~1 billion instances of this identifier.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1687772</commentid>
    <comment_count>1</comment_count>
      <attachid>408548</attachid>
    <who name="Tyler Wilcock">twilco.o</who>
    <bug_when>2020-09-11 11:32:33 -0700</bug_when>
    <thetext>Created attachment 408548
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1687860</commentid>
    <comment_count>2</comment_count>
      <attachid>408571</attachid>
    <who name="Tyler Wilcock">twilco.o</who>
    <bug_when>2020-09-11 17:11:18 -0700</bug_when>
    <thetext>Created attachment 408571
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1687863</commentid>
    <comment_count>3</comment_count>
      <attachid>408573</attachid>
    <who name="Tyler Wilcock">twilco.o</who>
    <bug_when>2020-09-11 17:15:40 -0700</bug_when>
    <thetext>Created attachment 408573
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1687926</commentid>
    <comment_count>4</comment_count>
    <who name="Tyler Wilcock">twilco.o</who>
    <bug_when>2020-09-12 08:32:37 -0700</bug_when>
    <thetext>OK, this patch should be ready for a review.  I added some test machinery to set an explicit timeout for the new test, as if the implementation becomes bugged again in the future this test will consume lots of RAM very fast with a more lenient timeout (17gb in 2min on my machine).

Let me know if there is a better way to do this test vs. the approach I’ve taken here.  Or, if this approach is fine, should this new test machinery work go in a separate bug + patch?

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1687981</commentid>
    <comment_count>5</comment_count>
      <attachid>408573</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-09-12 14:35:45 -0700</bug_when>
    <thetext>Comment on attachment 408573
Patch

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

Thanks for contributing this. I am not sure it’s OK to have a test that needs a multi-second timeout. We should figure out how to handle this without it becoming a drag on the project.

&gt; Source/WebCore/css/CSSVariableReferenceValue.h:55
&gt; +    static const size_t maxSubstitutionTokens = 65536;

Please use constexpr for this kind of thing in new code.

&gt; Tools/ChangeLog:9
&gt; +        Add ability to parse `timeoutMs` from test headers for tests who need a timeout
&gt; +        value different from the command-wide timeout.

Big picture, I am not so sure it’s good to have tests that take a super-long time to run, so not sure we should be adding this feature. Also, I’d think we’d need this feature in DumpRenderTree too, not just WebKitTestRunner, so we can run this test for WebKitLegacy.

&gt; Tools/WebKitTestRunner/TestController.cpp:1407
&gt; +    double val = WTF::String(value.c_str()).toDouble(&amp;successfulConversion);

While this is OK, there’s no need to convert a std::string to a WTF::String just to use WTF’s parsing. The parseDouble function in &lt;wtf/dtoa.h&gt; works directly on C strings without having to first convert them to a WTF::String. Probably the best one to use is the overload that takes a StringView.

WebKit coding style uses words, so we would not use &quot;val&quot; here. We’d use a single word or two words, maybe &quot;doubleValue&quot; or &quot;parsedValue&quot;.

&gt; Tools/WebKitTestRunner/TestOptions.h:109
&gt; +    Seconds timeout { Seconds() };

There’s no need to write { Seconds() } here: unlike scalar types, Seconds objects already get initialized that way without explicitly stating the value.

&gt; LayoutTests/ChangeLog:9
&gt; +        * fast/css/variables/invalidate-overly-long-variable-values.html: Added.
&gt; +        * fast/css/variables/invalidate-overly-long-variable-values-expected.html: Added.

Should this be a WPT test instead of a WebKit-only test?

&gt; LayoutTests/fast/css/variables/invalidate-overly-long-variable-values.html:1
&gt; +&lt;!-- webkit-test-runner [ timeoutMs=5000 ] --&gt;

It’s not good for the project to add a test that takes so long to run; we’re constantly running tests on lots of different computers and a single multi-second test is a huge cost. We’ve already skipped some of the WPT tests since they take so long. Is there some other way we can deal with this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688007</commentid>
    <comment_count>6</comment_count>
      <attachid>408618</attachid>
    <who name="Tyler Wilcock">twilco.o</who>
    <bug_when>2020-09-12 15:38:48 -0700</bug_when>
    <thetext>Created attachment 408618
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688009</commentid>
    <comment_count>7</comment_count>
    <who name="Tyler Wilcock">twilco.o</who>
    <bug_when>2020-09-12 15:51:14 -0700</bug_when>
    <thetext>Thanks for looking this over!  I removed all of the `TestOptions`, `TestController`, etc. changes and simply made the test smaller so that it runs instantly, pass or fail.

&gt; Should this be a WPT test instead of a WebKit-only test?

This is a good question.  Quoting the spec (https://drafts.csswg.org/css-variables/#long-variables):

&gt; To avoid this sort of attack, UAs must impose a UA-defined limit on the allowed length of the token stream that a var() function expands into.
&gt; ...
&gt; This specification does not define what size limit should be imposed. However, since there are valid use-cases for custom properties that contain a kilobyte or more of text, it’s recommended that the limit be set relatively high.
&gt; ...
&gt; Note: The general principle that UAs are allowed to violate standards due to resource constraints is still generally true here

The spec intentionally does not set an explicit limit, while making this a WPT would, in practice, be setting a limit.  So I guess I think the answer to your question is no, but from an author&apos;s perspective I could see having a consistent limit being useful.

FWIW, the test as I have it in this latest patch would pass in Gecko and Chromium.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688026</commentid>
    <comment_count>8</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-09-12 16:32:27 -0700</bug_when>
    <thetext>(In reply to Tyler Wilcock from comment #7)
&gt; The spec intentionally does not set an explicit limit

Such things are always a problem for interoperability. It seems harmless to not specify, but then the limit of the market leader ends up as the de facto standard, and interoperability has been lost and nothing has been gained by specifying that each user agent may come up with its own limit.

We should try to get the specification revised!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688031</commentid>
    <comment_count>9</comment_count>
    <who name="Tyler Wilcock">twilco.o</who>
    <bug_when>2020-09-12 17:30:36 -0700</bug_when>
    <thetext>Agreed.  I&apos;ll open an issue on the spec and post back here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688053</commentid>
    <comment_count>10</comment_count>
      <attachid>408638</attachid>
    <who name="Tyler Wilcock">twilco.o</who>
    <bug_when>2020-09-12 21:32:53 -0700</bug_when>
    <thetext>Created attachment 408638
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688060</commentid>
    <comment_count>11</comment_count>
    <who name="Tyler Wilcock">twilco.o</who>
    <bug_when>2020-09-12 22:09:40 -0700</bug_when>
    <thetext>Created a new patch rebased off the latest mainline to get a fix for a constantly failing test.

Here&apos;s the spec issue: https://github.com/w3c/csswg-drafts/issues/5510</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688069</commentid>
    <comment_count>12</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-09-12 23:39:38 -0700</bug_when>
    <thetext>Committed r266989: &lt;https://trac.webkit.org/changeset/266989&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 408638.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688070</commentid>
    <comment_count>13</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-09-12 23:40:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/68790776&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408548</attachid>
            <date>2020-09-11 11:32:33 -0700</date>
            <delta_ts>2020-09-11 17:11:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216407-20200911133232.patch</filename>
            <type>text/plain</type>
            <size>2719</size>
            <attacher name="Tyler Wilcock">twilco.o</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY2OTI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzRhNWEyNDgzYTM4ZDA2
NDg3ZWYzZDM0ODUzMzdiZDk0YjE4YWMwZC4uMWFmNWE2NDgwNjFiMmMyYjY0OTY2M2QwYWRmNzM5
YzFlODFiZWQ5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDIwLTA5LTExICBUeWxl
ciBXaWxjb2NrICA8dHdpbGNvLm9AcHJvdG9ubWFpbC5jb20+CisKKyAgICAgICAgU2FmZWx5IGhh
bmRsZSBvdmVybHktbG9uZyBDU1MgdmFyaWFibGUgdmFsdWVzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTY0MDcKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQZXIgc3BlYywgdHJlYXQgb3Zlcmx5IGxvbmcg
Q1NTIHZhcmlhYmxlIHZhbHVlcyBhcyBpbnZhbGlkCisgICAgICAgIGF0IGNvbXB1dGVkLXZhbHVl
IHRpbWUuCisKKyAgICAgICAgaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy12YXJpYWJsZXMv
I2xvbmctdmFyaWFibGVzCisKKyAgICAgICAgKiBjc3MvQ1NTVmFyaWFibGVSZWZlcmVuY2VWYWx1
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpyZXNvbHZlVmFyaWFibGVSZWZlcmVuY2UpOiAKKyAg
ICAgICAgUmV0dXJuIGZhbHNlIGZvciBhbnkgdmFyaWFibGUgdmFsdWVzIGdyZWF0ZXIgdGhhbiBg
bWF4U3Vic3RpdHV0aW9uVG9rZW5zYCBsb25nLgorICAgICAgICAqIGNzcy9DU1NWYXJpYWJsZVJl
ZmVyZW5jZVZhbHVlLmg6CisgICAgICAgIEFkZCBgbWF4U3Vic3RpdHV0aW9uVG9rZW5zYC4KKwog
MjAyMC0wOS0xMSAgU2FtIFdlaW5pZyAgPHdlaW5pZ0BhcHBsZS5jb20+CiAKICAgICAgICAgW1dl
YklETF0gU3BsaXQgc3VwcGxlbWVudGFsIGludGVyZmFjZXMgb3V0IG9mIERvY3VtZW50CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFyaWFibGVSZWZlcmVuY2VWYWx1ZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFyaWFibGVSZWZlcmVuY2VWYWx1ZS5jcHAKaW5kZXgg
ODIwZWM3ZjkwMDM5MjAyODZkZDViNGNiMDk2MmY4NTIxZTJlZWZmZS4uZTgzMmE0NThiZDMyYTBj
YWU4ZGM5YjIxMDExMGFmMTk4Zjc5MDRhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1ZhcmlhYmxlUmVmZXJlbmNlVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NWYXJpYWJsZVJlZmVyZW5jZVZhbHVlLmNwcApAQCAtMTAyLDE0ICsxMDIsMTkgQEAgc3RhdGlj
IGJvb2wgcmVzb2x2ZVZhcmlhYmxlUmVmZXJlbmNlKENTU1BhcnNlclRva2VuUmFuZ2UgcmFuZ2Us
IENTU1ZhbHVlSUQgZnVuY3QKICAgICB9CiAKICAgICBpZiAoIXByb3BlcnR5IHx8IHByb3BlcnR5
LT5pc0ludmFsaWQoKSkgeworICAgICAgICBpZiAoZmFsbGJhY2tSZXN1bHQuc2l6ZSgpID4gQ1NT
VmFyaWFibGVSZWZlcmVuY2VWYWx1ZTo6bWF4U3Vic3RpdHV0aW9uVG9rZW5zKQorICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOworCiAgICAgICAgIGlmIChmYWxsYmFja1JldHVybikKICAgICAgICAg
ICAgIHJlc3VsdC5hcHBlbmRWZWN0b3IoZmFsbGJhY2tSZXN1bHQpOwogICAgICAgICByZXR1cm4g
ZmFsbGJhY2tSZXR1cm47CiAgICAgfQogCiAgICAgQVNTRVJUKHByb3BlcnR5LT5pc1Jlc29sdmVk
KCkpOwotICAgIHJlc3VsdC5hcHBlbmRWZWN0b3IocHJvcGVydHktPnRva2VucygpKTsKKyAgICBp
ZiAocHJvcGVydHktPnRva2VucygpLnNpemUoKSA+IENTU1ZhcmlhYmxlUmVmZXJlbmNlVmFsdWU6
Om1heFN1YnN0aXR1dGlvblRva2VucykKKyAgICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAgcmVz
dWx0LmFwcGVuZFZlY3Rvcihwcm9wZXJ0eS0+dG9rZW5zKCkpOwogICAgIHJldHVybiB0cnVlOwog
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFyaWFibGVSZWZlcmVuY2VW
YWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhcmlhYmxlUmVmZXJlbmNlVmFsdWUuaApp
bmRleCAxNjE0YjRjODc2OWViODExNDdiZTE0ZGExZjVlODUxOGNmODJkNmJlLi42NTVjM2EwNzgx
YjNiMmMyNDhiOTA5NmE1MWE5NTM2YWFjODQwMGI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTVmFyaWFibGVSZWZlcmVuY2VWYWx1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NWYXJpYWJsZVJlZmVyZW5jZVZhbHVlLmgKQEAgLTQ5LDYgKzQ5LDEyIEBAIHB1YmxpYzoK
IAogICAgIFJlZlB0cjxDU1NWYXJpYWJsZURhdGE+IHJlc29sdmVWYXJpYWJsZVJlZmVyZW5jZXMo
U3R5bGU6OkJ1aWxkZXJTdGF0ZSYpIGNvbnN0OwogCisgICAgLy8gVGhlIG1heGltdW0gbnVtYmVy
IG9mIHRva2VucyB0aGF0IG1heSBiZSBwcm9kdWNlZCBieSBhIHZhcigpCisgICAgLy8gcmVmZXJl
bmNlLgorICAgIC8vCisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy12YXJpYWJs
ZXMvI2xvbmctdmFyaWFibGVzCisgICAgc3RhdGljIGNvbnN0IHNpemVfdCBtYXhTdWJzdGl0dXRp
b25Ub2tlbnMgPSA2NTUzNjsKKwogcHJpdmF0ZToKICAgICBleHBsaWNpdCBDU1NWYXJpYWJsZVJl
ZmVyZW5jZVZhbHVlKFJlZjxDU1NWYXJpYWJsZURhdGE+JiYpOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408571</attachid>
            <date>2020-09-11 17:11:18 -0700</date>
            <delta_ts>2020-09-11 17:15:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216407-20200911191118.patch</filename>
            <type>text/plain</type>
            <size>11461</size>
            <attacher name="Tyler Wilcock">twilco.o</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY2OTI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzRhNWEyNDgzYTM4ZDA2
NDg3ZWYzZDM0ODUzMzdiZDk0YjE4YWMwZC4uYmNmZTdjOTllYmFkOWY3MDQ3MDM4ZWIzODA4OGZj
YzgyMTNkZjdmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIwLTA5LTExICBUeWxl
ciBXaWxjb2NrICA8dHdpbGNvLm9AcHJvdG9ubWFpbC5jb20+CisKKyAgICAgICAgU2FmZWx5IGhh
bmRsZSBvdmVybHktbG9uZyBDU1MgdmFyaWFibGUgdmFsdWVzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTY0MDcKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQZXIgc3BlYywgdHJlYXQgb3Zlcmx5IGxvbmcg
Q1NTIHZhcmlhYmxlIHZhbHVlcyBhcyBpbnZhbGlkLgorCisgICAgICAgIGh0dHBzOi8vZHJhZnRz
LmNzc3dnLm9yZy9jc3MtdmFyaWFibGVzLyNsb25nLXZhcmlhYmxlcworCisgICAgICAgIFRlc3Q6
IGZhc3QvY3NzL3ZhcmlhYmxlcy9pbnZhbGlkYXRlLW92ZXJseS1sb25nLXZhcmlhYmxlLXZhbHVl
cy5odG1sCisKKyAgICAgICAgKiBjc3MvQ1NTVmFyaWFibGVSZWZlcmVuY2VWYWx1ZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpyZXNvbHZlVmFyaWFibGVSZWZlcmVuY2UpOgorICAgICAgICBSZXR1
cm4gZmFsc2UgZm9yIGFueSB2YXJpYWJsZSB2YWx1ZXMgZ3JlYXRlciB0aGFuIGBtYXhTdWJzdGl0
dXRpb25Ub2tlbnNgIGxvbmcuCisgICAgICAgICogY3NzL0NTU1ZhcmlhYmxlUmVmZXJlbmNlVmFs
dWUuaDoKKyAgICAgICAgQWRkIGBtYXhTdWJzdGl0dXRpb25Ub2tlbnNgLgorCiAyMDIwLTA5LTEx
ICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2ViSURMXSBTcGxp
dCBzdXBwbGVtZW50YWwgaW50ZXJmYWNlcyBvdXQgb2YgRG9jdW1lbnQKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NWYXJpYWJsZVJlZmVyZW5jZVZhbHVlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NWYXJpYWJsZVJlZmVyZW5jZVZhbHVlLmNwcAppbmRleCA4MjBlYzdmOTAw
MzkyMDI4NmRkNWI0Y2IwOTYyZjg1MjFlMmVlZmZlLi5lODMyYTQ1OGJkMzJhMGNhZThkYzliMjEw
MTEwYWYxOThmNzkwNGFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFyaWFi
bGVSZWZlcmVuY2VWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhcmlhYmxl
UmVmZXJlbmNlVmFsdWUuY3BwCkBAIC0xMDIsMTQgKzEwMiwxOSBAQCBzdGF0aWMgYm9vbCByZXNv
bHZlVmFyaWFibGVSZWZlcmVuY2UoQ1NTUGFyc2VyVG9rZW5SYW5nZSByYW5nZSwgQ1NTVmFsdWVJ
RCBmdW5jdAogICAgIH0KIAogICAgIGlmICghcHJvcGVydHkgfHwgcHJvcGVydHktPmlzSW52YWxp
ZCgpKSB7CisgICAgICAgIGlmIChmYWxsYmFja1Jlc3VsdC5zaXplKCkgPiBDU1NWYXJpYWJsZVJl
ZmVyZW5jZVZhbHVlOjptYXhTdWJzdGl0dXRpb25Ub2tlbnMpCisgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CisKICAgICAgICAgaWYgKGZhbGxiYWNrUmV0dXJuKQogICAgICAgICAgICAgcmVzdWx0
LmFwcGVuZFZlY3RvcihmYWxsYmFja1Jlc3VsdCk7CiAgICAgICAgIHJldHVybiBmYWxsYmFja1Jl
dHVybjsKICAgICB9CiAKICAgICBBU1NFUlQocHJvcGVydHktPmlzUmVzb2x2ZWQoKSk7Ci0gICAg
cmVzdWx0LmFwcGVuZFZlY3Rvcihwcm9wZXJ0eS0+dG9rZW5zKCkpOworICAgIGlmIChwcm9wZXJ0
eS0+dG9rZW5zKCkuc2l6ZSgpID4gQ1NTVmFyaWFibGVSZWZlcmVuY2VWYWx1ZTo6bWF4U3Vic3Rp
dHV0aW9uVG9rZW5zKQorICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyAgICByZXN1bHQuYXBwZW5k
VmVjdG9yKHByb3BlcnR5LT50b2tlbnMoKSk7CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYXJpYWJsZVJlZmVyZW5jZVZhbHVlLmggYi9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFyaWFibGVSZWZlcmVuY2VWYWx1ZS5oCmluZGV4IDE2MTRi
NGM4NzY5ZWI4MTE0N2JlMTRkYTFmNWU4NTE4Y2Y4MmQ2YmUuLjNlMDc5OTBmMWZmNzk1MzI4OWYx
MzVkZGRlZWM0ZGNlNDQ1NDY0NWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NW
YXJpYWJsZVJlZmVyZW5jZVZhbHVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Zhcmlh
YmxlUmVmZXJlbmNlVmFsdWUuaApAQCAtNDksNiArNDksMTEgQEAgcHVibGljOgogCiAgICAgUmVm
UHRyPENTU1ZhcmlhYmxlRGF0YT4gcmVzb2x2ZVZhcmlhYmxlUmVmZXJlbmNlcyhTdHlsZTo6QnVp
bGRlclN0YXRlJikgY29uc3Q7CiAKKyAgICAvLyBUaGUgbWF4aW11bSBudW1iZXIgb2YgdG9rZW5z
IHRoYXQgbWF5IGJlIHByb2R1Y2VkIGJ5IGEgdmFyKCkKKyAgICAvLyByZWZlcmVuY2Ugb3IgdmFy
KCkgZmFsbGJhY2sgdmFsdWUuCisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy12
YXJpYWJsZXMvI2xvbmctdmFyaWFibGVzCisgICAgc3RhdGljIGNvbnN0IHNpemVfdCBtYXhTdWJz
dGl0dXRpb25Ub2tlbnMgPSA2NTUzNjsKKwogcHJpdmF0ZToKICAgICBleHBsaWNpdCBDU1NWYXJp
YWJsZVJlZmVyZW5jZVZhbHVlKFJlZjxDU1NWYXJpYWJsZURhdGE+JiYpOwogCmRpZmYgLS1naXQg
YS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggOTUzYzMyMjcyYTkwODZi
NjY4ZDM2YjA5ZmQ1ODc4ZjkxMWUxMWVmMS4uZTU2NzBiM2YwYzcwMzk1MGYyZDk3MTQ5YmRkMzhi
NDBkZGE4NDA4ZSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDIwLTA5LTExICBUeWxlciBXaWxjb2NrIDx0d2lsY28u
b0Bwcm90b25tYWlsLmNvbT4KKworICAgICAgICBTYWZlbHkgaGFuZGxlIG92ZXJseS1sb25nIENT
UyB2YXJpYWJsZSB2YWx1ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIxNjQwNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEFkZCBhYmlsaXR5IHRvIHBhcnNlIGB0aW1lb3V0TXNgIGZyb20gdGVzdCBoZWFk
ZXJzIGZvciB0ZXN0cyB3aG8gbmVlZCBhIHRpbWVvdXQKKyAgICAgICAgdmFsdWUgZGlmZmVyZW50
IGZyb20gdGhlIGNvbW1hbmQtd2lkZSB0aW1lb3V0LgorCisgICAgICAgICogV2ViS2l0VGVzdFJ1
bm5lci9UZXN0Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpw
YXJzZURvdWJsZVRlc3RIZWFkZXJWYWx1ZSk6IEFkZGVkLgorICAgICAgICAoV1RSOjpUZXN0Q29u
dHJvbGxlcjo6cmVzZXRQcmVmZXJlbmNlc1RvQ29uc2lzdGVudFZhbHVlcyk6CisgICAgICAgIChX
VFI6OlRlc3RDb250cm9sbGVyOjpydW5UZXN0KTogUHJlZmVyIGBUZXN0T3B0aW9uc2AgdGltZW91
dCBvdmVyIGNvbW1hbmQtd2lkZSB0aW1lb3V0LgorICAgICAgICAoV1RSOjp1cGRhdGVUZXN0T3B0
aW9uc0Zyb21UZXN0SGVhZGVyKTogQWRkIHN1cHBvcnQgZm9yIGB0aW1lb3V0TXNgIGhlYWRlciB0
ZXN0IG9wdGlvbi4KKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RPcHRpb25zLmg6IEFk
ZCBgdGltZW91dGAgZmllbGQuCisgICAgICAgIChXVFI6OlRlc3RPcHRpb25zOjpoYXNTYW1lSW5p
dGlhbGl6YXRpb25PcHRpb25zIGNvbnN0KTogIENvbXBhcmUgb3B0aW9uIGB0aW1lb3V0YHMuCisK
IDIwMjAtMDktMTAgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBV
bnJldmlld2VkLCByZXZlcnRpbmcgcjI2Njg0MiBhbmQgcjI2Njg4My4KZGlmZiAtLWdpdCBhL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwIGIvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAKaW5kZXggMWViOWFhYjM5ODhjMWFlNGQ2NWEzYzIy
ZTdmY2Q3ZmRiZDZhNjIxMS4uYWYzNjI3ZWQ2NTdiZDZjZjFhY2I1NmRlZjc1ZDY0N2RiNDgyYzk1
OCAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAK
KysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAKQEAgLTg3LDYg
Kzg3LDcgQEAKICNpbmNsdWRlIDx3dGYvVW5pcXVlQXJyYXkuaD4KICNpbmNsdWRlIDx3dGYvdGV4
dC9DU3RyaW5nLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQ29uY2F0ZW5hdGVOdW1iZXJz
Lmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKICNpZiBQTEFURk9STShDT0NP
QSkKICNpbmNsdWRlIDxXZWJLaXQvV0tDb250ZXh0UHJpdmF0ZU1hYy5oPgpAQCAtMTQwMCw2ICsx
NDAxLDE3IEBAIHN0YXRpYyBib29sIHBhcnNlQm9vbGVhblRlc3RIZWFkZXJWYWx1ZShjb25zdCBz
dGQ6OnN0cmluZyYgdmFsdWUpCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCitzdGF0aWMgZG91Ymxl
IHBhcnNlRG91YmxlVGVzdEhlYWRlclZhbHVlKGNvbnN0IHN0ZDo6c3RyaW5nJiB2YWx1ZSkKK3sK
KyAgICBib29sIHN1Y2Nlc3NmdWxDb252ZXJzaW9uID0gdHJ1ZTsKKyAgICBkb3VibGUgdmFsID0g
V1RGOjpTdHJpbmcodmFsdWUuY19zdHIoKSkudG9Eb3VibGUoJnN1Y2Nlc3NmdWxDb252ZXJzaW9u
KTsKKyAgICBpZiAoIXN1Y2Nlc3NmdWxDb252ZXJzaW9uKSB7CisgICAgICAgIExPR19FUlJPUigi
Rm91bmQgdW5leHBlY3RlZCB2YWx1ZSAnJXMnIGZvciBkb3VibGUgb3B0aW9uLiIsIHZhbHVlLmNf
c3RyKCkpOworICAgICAgICByZXR1cm4gMC4wOworICAgIH0KKyAgICByZXR1cm4gdmFsOworfQor
CiBzdGF0aWMgc3RkOjpzdHJpbmcgcGFyc2VTdHJpbmdUZXN0SGVhZGVyVmFsdWVBc1JlbGF0aXZl
UGF0aChjb25zdCBzdGQ6OnN0cmluZyYgdmFsdWUsIGNvbnN0IHN0ZDo6c3RyaW5nJiBwYXRoT3JV
UkwpCiB7CiAgICAgV0tSZXRhaW5QdHI8V0tVUkxSZWY+IGJhc2VVUkwgPSBhZG9wdFdLKGNyZWF0
ZVRlc3RVUkwocGF0aE9yVVJMLmNfc3RyKCkpKTsKQEAgLTE1NzEsNiArMTU4Myw4IEBAIHN0YXRp
YyB2b2lkIHVwZGF0ZVRlc3RPcHRpb25zRnJvbVRlc3RIZWFkZXIoVGVzdE9wdGlvbnMmIHRlc3RP
cHRpb25zLCBjb25zdCBzdGQ6CiAgICAgICAgICAgICB0ZXN0T3B0aW9ucy5zdGFuZGFsb25lV2Vi
QXBwbGljYXRpb25VUkwgPSBwYXJzZVN0cmluZ1Rlc3RIZWFkZXJWYWx1ZUFzVVJMKHZhbHVlKTsK
ICAgICAgICAgZWxzZSBpZiAoa2V5ID09ICJpc0FwcEJvdW5kV2ViVmlldyIpCiAgICAgICAgICAg
ICB0ZXN0T3B0aW9ucy5pc0FwcEJvdW5kV2ViVmlldyA9IHBhcnNlQm9vbGVhblRlc3RIZWFkZXJW
YWx1ZSh2YWx1ZSk7CisgICAgICAgIGVsc2UgaWYgKGtleSA9PSAidGltZW91dE1zIikKKyAgICAg
ICAgICAgIHRlc3RPcHRpb25zLnRpbWVvdXQgPSBTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKHBh
cnNlRG91YmxlVGVzdEhlYWRlclZhbHVlKHZhbHVlKSk7CiAgICAgICAgIHBhaXJTdGFydCA9IHBh
aXJFbmQgKyAxOwogICAgIH0KIH0KQEAgLTE4MjYsNyArMTg0MCwxMCBAQCBib29sIFRlc3RDb250
cm9sbGVyOjpydW5UZXN0KGNvbnN0IGNoYXIqIGlucHV0TGluZSkKICAgICBpZiAoY29tbWFuZC5z
aG91bGREdW1wUGl4ZWxzIHx8IG1fc2hvdWxkRHVtcFBpeGVsc0ZvckFsbFRlc3RzKQogICAgICAg
ICBtX2N1cnJlbnRJbnZvY2F0aW9uLT5zZXRJc1BpeGVsVGVzdChjb21tYW5kLmV4cGVjdGVkUGl4
ZWxIYXNoKTsKIAotICAgIGlmIChjb21tYW5kLnRpbWVvdXQgPiAwX3MpCisgICAgLy8gUHJlZmVy
IHRoZSB0aW1lb3V0IGZyb20gdGhpcyBzcGVjaWZpYyB0ZXN0J3Mgb3B0aW9ucyBvdmVyIHRoZSBj
b21tYW5kLXdpZGUgdGltZW91dC4KKyAgICBpZiAob3B0aW9ucy50aW1lb3V0ID4gMF9zKQorICAg
ICAgICBtX2N1cnJlbnRJbnZvY2F0aW9uLT5zZXRDdXN0b21UaW1lb3V0KG9wdGlvbnMudGltZW91
dCk7CisgICAgZWxzZSBpZiAoY29tbWFuZC50aW1lb3V0ID4gMF9zKQogICAgICAgICBtX2N1cnJl
bnRJbnZvY2F0aW9uLT5zZXRDdXN0b21UaW1lb3V0KGNvbW1hbmQudGltZW91dCk7CiAKICAgICBt
X2N1cnJlbnRJbnZvY2F0aW9uLT5zZXREdW1wSlNDb25zb2xlTG9nSW5TdGRFcnIoY29tbWFuZC5k
dW1wSlNDb25zb2xlTG9nSW5TdGRFcnIgfHwgb3B0aW9ucy5kdW1wSlNDb25zb2xlTG9nSW5TdGRF
cnIpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0T3B0aW9ucy5oIGIv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0T3B0aW9ucy5oCmluZGV4IDhlMGU4NzNmNjhmYzkx
YjQxMjI5YzYwOWMzNWFmYzc2NWVmZDA4MDIuLmQ4ZGZkNTAxNmMwYjgzZThlZDdhMjVlNGI0NDRm
NzVmOTg5NDExYTggMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdE9wdGlv
bnMuaAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RPcHRpb25zLmgKQEAgLTI2LDYg
KzI2LDcgQEAKICNwcmFnbWEgb25jZQogCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KKyNpbmNs
dWRlIDx3dGYvU2Vjb25kcy5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KICNpbmNsdWRlIDx3
dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CkBA
IC0xMDUsNiArMTA2LDcgQEAgc3RydWN0IFRlc3RPcHRpb25zIHsKICAgICBib29sIGFsbG93VG9w
TmF2aWdhdGlvblRvRGF0YVVSTHMgeyB0cnVlIH07CiAgICAgYm9vbCBlbmFibGVJbkFwcEJyb3dz
ZXJQcml2YWN5IHsgZmFsc2UgfTsKICAgICBib29sIGlzQXBwQm91bmRXZWJWaWV3IHsgZmFsc2Ug
fTsKKyAgICBTZWNvbmRzIHRpbWVvdXQgeyBTZWNvbmRzKCkgfTsKIAogICAgIGRvdWJsZSBjb250
ZW50SW5zZXRUb3AgeyAwIH07CiAKQEAgLTE2MCw2ICsxNjIsNyBAQCBzdHJ1Y3QgVGVzdE9wdGlv
bnMgewogICAgICAgICAgICAgfHwgZWRpdGFibGUgIT0gb3B0aW9ucy5lZGl0YWJsZQogICAgICAg
ICAgICAgfHwgc2hvdWxkSGFuZGxlUnVuT3BlblBhbmVsICE9IG9wdGlvbnMuc2hvdWxkSGFuZGxl
UnVuT3BlblBhbmVsCiAgICAgICAgICAgICB8fCBzaG91bGRQcmVzZW50UG9wb3ZlcnMgIT0gb3B0
aW9ucy5zaG91bGRQcmVzZW50UG9wb3ZlcnMKKyAgICAgICAgICAgIHx8IHRpbWVvdXQgIT0gb3B0
aW9ucy50aW1lb3V0CiAgICAgICAgICAgICB8fCBjb250ZW50SW5zZXRUb3AgIT0gb3B0aW9ucy5j
b250ZW50SW5zZXRUb3AKICAgICAgICAgICAgIHx8IGNvbnRlbnRNb2RlICE9IG9wdGlvbnMuY29u
dGVudE1vZGUKICAgICAgICAgICAgIHx8IGFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllciAhPSBv
cHRpb25zLmFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllcgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDAxYzg2OWNmZTg4OTZk
NzM4N2JjNjY3ZjIyNmM3MzkwNTE1NDFkMDAuLjJhNDBjYTQ3NDZjZWExYTVlYzUxYjJjYjMxZmM3
Y2NlMzk4MWE3OGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAyMC0wOS0xMSAgVHlsZXIgV2ls
Y29jayA8dHdpbGNvLm9AcHJvdG9ubWFpbC5jb20+CisKKyAgICAgICAgU2FmZWx5IGhhbmRsZSBv
dmVybHktbG9uZyBDU1MgdmFyaWFibGUgdmFsdWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTY0MDcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvY3NzL3ZhcmlhYmxlcy9pbnZhbGlkYXRlLW92
ZXJseS1sb25nLXZhcmlhYmxlLXZhbHVlcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Nz
cy92YXJpYWJsZXMvaW52YWxpZGF0ZS1vdmVybHktbG9uZy12YXJpYWJsZS12YWx1ZXMtZXhwZWN0
ZWQuaHRtbDogQWRkZWQuCisKIDIwMjAtMDktMTEgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNl
ckBhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTiAoQXN5bmMgb3ZlcmZsb3cgc2Nyb2xs
KTogTW91c2Ugd2hlZWwgc2Nyb2xsaW5nIG92ZXIgYW4gImFsd2F5cy1vbiIgb3ZlcmZsb3cgc2Ny
b2xsYmFyIGRvZXNuJ3Qgd29yawpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFy
aWFibGVzL2ludmFsaWRhdGUtb3Zlcmx5LWxvbmctdmFyaWFibGUtdmFsdWVzLWV4cGVjdGVkLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvaW52YWxpZGF0ZS1vdmVybHktbG9u
Zy12YXJpYWJsZS12YWx1ZXMtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44ZGZmNDAzZWU4Y2M4
YTZkZjAxZjNmMjM1NTE2ZjAwNzhkMmUyZGJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9jc3MvdmFyaWFibGVzL2ludmFsaWRhdGUtb3Zlcmx5LWxvbmctdmFyaWFibGUtdmFs
dWVzLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwxNiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorICAgIDxzdHlsZT4KKyAgICAgICAgI2ZvbyB7CisgICAgICAgICAgICB3aWR0
aDogNDAwcHg7CisgICAgICAgICAgICBoZWlnaHQ6IDQwMHB4OworICAgICAgICAgICAgYmFja2dy
b3VuZC1jb2xvcjogZ3JlZW47CisgICAgICAgIH0KKyAgICA8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2IGlkPSJmb28iPjwvZGl2PgorPC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvaW52YWxpZGF0ZS1vdmVybHktbG9uZy12
YXJpYWJsZS12YWx1ZXMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy9pbnZh
bGlkYXRlLW92ZXJseS1sb25nLXZhcmlhYmxlLXZhbHVlcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY4ZDJj
ZjQwOGZiNjY4N2Y2MTlmMjc2Y2QzYzkzMzFhYzE1ZGE3YzMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvaW52YWxpZGF0ZS1vdmVybHktbG9uZy12YXJp
YWJsZS12YWx1ZXMuaHRtbApAQCAtMCwwICsxLDYyIEBACis8IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHRpbWVvdXRNcz01MDAwIF0gLS0+Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICA8aGVh
ZD4KKyAgICA8c3R5bGU+CisgICAgICAvKiBJZiB3ZSBmdWxseSBleHBhbmQgdGhpcyBwcm9wZXJ0
eSBjaGFpbiwgdGhlcmUgd291bGQgYmUgb3ZlciBhIGJpbGxpb24gaWRlbnRpZmllcnMuICovCisg
ICAgICAvKiBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLXZhcmlhYmxlcy8jbG9uZy12YXJp
YWJsZXMgKi8KKyAgICAgIDpyb290IHsKKyAgICAgICAgLS1wcm9wMTogcmVkOworICAgICAgICAt
LXByb3AyOiB2YXIoLS1wcm9wMSkgdmFyKC0tcHJvcDEpOworICAgICAgICAtLXByb3AzOiB2YXIo
LS1wcm9wMikgdmFyKC0tcHJvcDIpOworICAgICAgICAtLXByb3A0OiB2YXIoLS1wcm9wMykgdmFy
KC0tcHJvcDMpOworICAgICAgICAtLXByb3A1OiB2YXIoLS1wcm9wNCkgdmFyKC0tcHJvcDQpOwor
ICAgICAgICAtLXByb3A2OiB2YXIoLS1wcm9wNSkgdmFyKC0tcHJvcDUpOworICAgICAgICAtLXBy
b3A3OiB2YXIoLS1wcm9wNikgdmFyKC0tcHJvcDYpOworICAgICAgICAtLXByb3A4OiB2YXIoLS1w
cm9wNykgdmFyKC0tcHJvcDcpOworICAgICAgICAtLXByb3A5OiB2YXIoLS1wcm9wOCkgdmFyKC0t
cHJvcDgpOworICAgICAgICAtLXByb3AxMDogdmFyKC0tcHJvcDkpIHZhcigtLXByb3A5KTsKKyAg
ICAgICAgLS1wcm9wMTE6IHZhcigtLXByb3AxMCkgdmFyKC0tcHJvcDEwKTsKKyAgICAgICAgLS1w
cm9wMTI6IHZhcigtLXByb3AxMSkgdmFyKC0tcHJvcDExKTsKKyAgICAgICAgLS1wcm9wMTM6IHZh
cigtLXByb3AxMikgdmFyKC0tcHJvcDEyKTsKKyAgICAgICAgLS1wcm9wMTQ6IHZhcigtLXByb3Ax
MykgdmFyKC0tcHJvcDEzKTsKKyAgICAgICAgLS1wcm9wMTU6IHZhcigtLXByb3AxNCkgdmFyKC0t
cHJvcDE0KTsKKyAgICAgICAgLS1wcm9wMTY6IHZhcigtLXByb3AxNSkgdmFyKC0tcHJvcDE1KTsK
KyAgICAgICAgLS1wcm9wMTc6IHZhcigtLXByb3AxNikgdmFyKC0tcHJvcDE2KTsKKyAgICAgICAg
LS1wcm9wMTg6IHZhcigtLXByb3AxNykgdmFyKC0tcHJvcDE3KTsKKyAgICAgICAgLS1wcm9wMTk6
IHZhcigtLXByb3AxOCkgdmFyKC0tcHJvcDE4KTsKKyAgICAgICAgLS1wcm9wMjA6IHZhcigtLXBy
b3AxOSkgdmFyKC0tcHJvcDE5KTsKKyAgICAgICAgLS1wcm9wMjE6IHZhcigtLXByb3AyMCkgdmFy
KC0tcHJvcDIwKTsKKyAgICAgICAgLS1wcm9wMjI6IHZhcigtLXByb3AyMSkgdmFyKC0tcHJvcDIx
KTsKKyAgICAgICAgLS1wcm9wMjM6IHZhcigtLXByb3AyMikgdmFyKC0tcHJvcDIyKTsKKyAgICAg
ICAgLS1wcm9wMjQ6IHZhcigtLXByb3AyMykgdmFyKC0tcHJvcDIzKTsKKyAgICAgICAgLS1wcm9w
MjU6IHZhcigtLXByb3AyNCkgdmFyKC0tcHJvcDI0KTsKKyAgICAgICAgLS1wcm9wMjY6IHZhcigt
LXByb3AyNSkgdmFyKC0tcHJvcDI1KTsKKyAgICAgICAgLS1wcm9wMjc6IHZhcigtLXByb3AyNikg
dmFyKC0tcHJvcDI2KTsKKyAgICAgICAgLS1wcm9wMjg6IHZhcigtLXByb3AyNykgdmFyKC0tcHJv
cDI3KTsKKyAgICAgICAgLS1wcm9wMjk6IHZhcigtLXByb3AyOCkgdmFyKC0tcHJvcDI4KTsKKyAg
ICAgICAgLS1wcm9wMzA6IHZhcigtLXByb3AyOSkgdmFyKC0tcHJvcDI5KTsKKyAgICAgICAgLS1w
cm9wMzE6IHZhcigtLXByb3AzMCkgdmFyKC0tcHJvcDMwKTsKKyAgICAgIH0KKworICAgICAgI2Zv
byB7CisgICAgICAgIHdpZHRoOiA0MDBweDsKKyAgICAgICAgaGVpZ2h0OiA0MDBweDsKKyAgICAg
ICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJvcDMxLCBncmVlbik7CisgICAgICB9CisgICA8
L3N0eWxlPgorICA8L2hlYWQ+CisgIDxib2R5PgorICAgIDxkaXYgaWQ9ImZvbyI+PC9kaXY+Cisg
ICAgPHNjcmlwdD4KKyAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1
bm5lci53YWl0VW50aWxEb25lKCk7CisKKyAgICAgIHdpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbigp
IHsKKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgIHRlc3RSdW5uZXIu
bm90aWZ5RG9uZSgpOworICAgICAgfTsKKyAgICA8L3NjcmlwdD4KKyAgPC9ib2R5PgorPC9odG1s
PgorCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408573</attachid>
            <date>2020-09-11 17:15:40 -0700</date>
            <delta_ts>2020-09-12 15:38:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216407-20200911191540.patch</filename>
            <type>text/plain</type>
            <size>11459</size>
            <attacher name="Tyler Wilcock">twilco.o</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY2OTI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzRhNWEyNDgzYTM4ZDA2
NDg3ZWYzZDM0ODUzMzdiZDk0YjE4YWMwZC4uYmNmZTdjOTllYmFkOWY3MDQ3MDM4ZWIzODA4OGZj
YzgyMTNkZjdmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIwLTA5LTExICBUeWxl
ciBXaWxjb2NrICA8dHdpbGNvLm9AcHJvdG9ubWFpbC5jb20+CisKKyAgICAgICAgU2FmZWx5IGhh
bmRsZSBvdmVybHktbG9uZyBDU1MgdmFyaWFibGUgdmFsdWVzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTY0MDcKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQZXIgc3BlYywgdHJlYXQgb3Zlcmx5IGxvbmcg
Q1NTIHZhcmlhYmxlIHZhbHVlcyBhcyBpbnZhbGlkLgorCisgICAgICAgIGh0dHBzOi8vZHJhZnRz
LmNzc3dnLm9yZy9jc3MtdmFyaWFibGVzLyNsb25nLXZhcmlhYmxlcworCisgICAgICAgIFRlc3Q6
IGZhc3QvY3NzL3ZhcmlhYmxlcy9pbnZhbGlkYXRlLW92ZXJseS1sb25nLXZhcmlhYmxlLXZhbHVl
cy5odG1sCisKKyAgICAgICAgKiBjc3MvQ1NTVmFyaWFibGVSZWZlcmVuY2VWYWx1ZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpyZXNvbHZlVmFyaWFibGVSZWZlcmVuY2UpOgorICAgICAgICBSZXR1
cm4gZmFsc2UgZm9yIGFueSB2YXJpYWJsZSB2YWx1ZXMgZ3JlYXRlciB0aGFuIGBtYXhTdWJzdGl0
dXRpb25Ub2tlbnNgIGxvbmcuCisgICAgICAgICogY3NzL0NTU1ZhcmlhYmxlUmVmZXJlbmNlVmFs
dWUuaDoKKyAgICAgICAgQWRkIGBtYXhTdWJzdGl0dXRpb25Ub2tlbnNgLgorCiAyMDIwLTA5LTEx
ICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2ViSURMXSBTcGxp
dCBzdXBwbGVtZW50YWwgaW50ZXJmYWNlcyBvdXQgb2YgRG9jdW1lbnQKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NWYXJpYWJsZVJlZmVyZW5jZVZhbHVlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NWYXJpYWJsZVJlZmVyZW5jZVZhbHVlLmNwcAppbmRleCA4MjBlYzdmOTAw
MzkyMDI4NmRkNWI0Y2IwOTYyZjg1MjFlMmVlZmZlLi5lODMyYTQ1OGJkMzJhMGNhZThkYzliMjEw
MTEwYWYxOThmNzkwNGFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFyaWFi
bGVSZWZlcmVuY2VWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhcmlhYmxl
UmVmZXJlbmNlVmFsdWUuY3BwCkBAIC0xMDIsMTQgKzEwMiwxOSBAQCBzdGF0aWMgYm9vbCByZXNv
bHZlVmFyaWFibGVSZWZlcmVuY2UoQ1NTUGFyc2VyVG9rZW5SYW5nZSByYW5nZSwgQ1NTVmFsdWVJ
RCBmdW5jdAogICAgIH0KIAogICAgIGlmICghcHJvcGVydHkgfHwgcHJvcGVydHktPmlzSW52YWxp
ZCgpKSB7CisgICAgICAgIGlmIChmYWxsYmFja1Jlc3VsdC5zaXplKCkgPiBDU1NWYXJpYWJsZVJl
ZmVyZW5jZVZhbHVlOjptYXhTdWJzdGl0dXRpb25Ub2tlbnMpCisgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CisKICAgICAgICAgaWYgKGZhbGxiYWNrUmV0dXJuKQogICAgICAgICAgICAgcmVzdWx0
LmFwcGVuZFZlY3RvcihmYWxsYmFja1Jlc3VsdCk7CiAgICAgICAgIHJldHVybiBmYWxsYmFja1Jl
dHVybjsKICAgICB9CiAKICAgICBBU1NFUlQocHJvcGVydHktPmlzUmVzb2x2ZWQoKSk7Ci0gICAg
cmVzdWx0LmFwcGVuZFZlY3Rvcihwcm9wZXJ0eS0+dG9rZW5zKCkpOworICAgIGlmIChwcm9wZXJ0
eS0+dG9rZW5zKCkuc2l6ZSgpID4gQ1NTVmFyaWFibGVSZWZlcmVuY2VWYWx1ZTo6bWF4U3Vic3Rp
dHV0aW9uVG9rZW5zKQorICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyAgICByZXN1bHQuYXBwZW5k
VmVjdG9yKHByb3BlcnR5LT50b2tlbnMoKSk7CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYXJpYWJsZVJlZmVyZW5jZVZhbHVlLmggYi9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFyaWFibGVSZWZlcmVuY2VWYWx1ZS5oCmluZGV4IDE2MTRi
NGM4NzY5ZWI4MTE0N2JlMTRkYTFmNWU4NTE4Y2Y4MmQ2YmUuLjNlMDc5OTBmMWZmNzk1MzI4OWYx
MzVkZGRlZWM0ZGNlNDQ1NDY0NWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NW
YXJpYWJsZVJlZmVyZW5jZVZhbHVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Zhcmlh
YmxlUmVmZXJlbmNlVmFsdWUuaApAQCAtNDksNiArNDksMTEgQEAgcHVibGljOgogCiAgICAgUmVm
UHRyPENTU1ZhcmlhYmxlRGF0YT4gcmVzb2x2ZVZhcmlhYmxlUmVmZXJlbmNlcyhTdHlsZTo6QnVp
bGRlclN0YXRlJikgY29uc3Q7CiAKKyAgICAvLyBUaGUgbWF4aW11bSBudW1iZXIgb2YgdG9rZW5z
IHRoYXQgbWF5IGJlIHByb2R1Y2VkIGJ5IGEgdmFyKCkKKyAgICAvLyByZWZlcmVuY2Ugb3IgdmFy
KCkgZmFsbGJhY2sgdmFsdWUuCisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy12
YXJpYWJsZXMvI2xvbmctdmFyaWFibGVzCisgICAgc3RhdGljIGNvbnN0IHNpemVfdCBtYXhTdWJz
dGl0dXRpb25Ub2tlbnMgPSA2NTUzNjsKKwogcHJpdmF0ZToKICAgICBleHBsaWNpdCBDU1NWYXJp
YWJsZVJlZmVyZW5jZVZhbHVlKFJlZjxDU1NWYXJpYWJsZURhdGE+JiYpOwogCmRpZmYgLS1naXQg
YS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggOTUzYzMyMjcyYTkwODZi
NjY4ZDM2YjA5ZmQ1ODc4ZjkxMWUxMWVmMS4uZTU2NzBiM2YwYzcwMzk1MGYyZDk3MTQ5YmRkMzhi
NDBkZGE4NDA4ZSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDIwLTA5LTExICBUeWxlciBXaWxjb2NrIDx0d2lsY28u
b0Bwcm90b25tYWlsLmNvbT4KKworICAgICAgICBTYWZlbHkgaGFuZGxlIG92ZXJseS1sb25nIENT
UyB2YXJpYWJsZSB2YWx1ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIxNjQwNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEFkZCBhYmlsaXR5IHRvIHBhcnNlIGB0aW1lb3V0TXNgIGZyb20gdGVzdCBoZWFk
ZXJzIGZvciB0ZXN0cyB3aG8gbmVlZCBhIHRpbWVvdXQKKyAgICAgICAgdmFsdWUgZGlmZmVyZW50
IGZyb20gdGhlIGNvbW1hbmQtd2lkZSB0aW1lb3V0LgorCisgICAgICAgICogV2ViS2l0VGVzdFJ1
bm5lci9UZXN0Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpw
YXJzZURvdWJsZVRlc3RIZWFkZXJWYWx1ZSk6IEFkZGVkLgorICAgICAgICAoV1RSOjpUZXN0Q29u
dHJvbGxlcjo6cmVzZXRQcmVmZXJlbmNlc1RvQ29uc2lzdGVudFZhbHVlcyk6CisgICAgICAgIChX
VFI6OlRlc3RDb250cm9sbGVyOjpydW5UZXN0KTogUHJlZmVyIGBUZXN0T3B0aW9uc2AgdGltZW91
dCBvdmVyIGNvbW1hbmQtd2lkZSB0aW1lb3V0LgorICAgICAgICAoV1RSOjp1cGRhdGVUZXN0T3B0
aW9uc0Zyb21UZXN0SGVhZGVyKTogQWRkIHN1cHBvcnQgZm9yIGB0aW1lb3V0TXNgIGhlYWRlciB0
ZXN0IG9wdGlvbi4KKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RPcHRpb25zLmg6IEFk
ZCBgdGltZW91dGAgZmllbGQuCisgICAgICAgIChXVFI6OlRlc3RPcHRpb25zOjpoYXNTYW1lSW5p
dGlhbGl6YXRpb25PcHRpb25zIGNvbnN0KTogIENvbXBhcmUgb3B0aW9uIGB0aW1lb3V0YHMuCisK
IDIwMjAtMDktMTAgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBV
bnJldmlld2VkLCByZXZlcnRpbmcgcjI2Njg0MiBhbmQgcjI2Njg4My4KZGlmZiAtLWdpdCBhL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwIGIvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAKaW5kZXggMWViOWFhYjM5ODhjMWFlNGQ2NWEzYzIy
ZTdmY2Q3ZmRiZDZhNjIxMS4uZjE2YWQ3ODE4ZDRkOWE3ZWVlOTM1ZjA5MzlkZTk4ZTA4NGJlMzAz
NSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAK
KysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAKQEAgLTg3LDYg
Kzg3LDcgQEAKICNpbmNsdWRlIDx3dGYvVW5pcXVlQXJyYXkuaD4KICNpbmNsdWRlIDx3dGYvdGV4
dC9DU3RyaW5nLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQ29uY2F0ZW5hdGVOdW1iZXJz
Lmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKICNpZiBQTEFURk9STShDT0NP
QSkKICNpbmNsdWRlIDxXZWJLaXQvV0tDb250ZXh0UHJpdmF0ZU1hYy5oPgpAQCAtMTQwMCw2ICsx
NDAxLDE3IEBAIHN0YXRpYyBib29sIHBhcnNlQm9vbGVhblRlc3RIZWFkZXJWYWx1ZShjb25zdCBz
dGQ6OnN0cmluZyYgdmFsdWUpCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCitzdGF0aWMgZG91Ymxl
IHBhcnNlRG91YmxlVGVzdEhlYWRlclZhbHVlKGNvbnN0IHN0ZDo6c3RyaW5nJiB2YWx1ZSkKK3sK
KyAgICBib29sIHN1Y2Nlc3NmdWxDb252ZXJzaW9uID0gdHJ1ZTsKKyAgICBkb3VibGUgdmFsID0g
V1RGOjpTdHJpbmcodmFsdWUuY19zdHIoKSkudG9Eb3VibGUoJnN1Y2Nlc3NmdWxDb252ZXJzaW9u
KTsKKyAgICBpZiAoIXN1Y2Nlc3NmdWxDb252ZXJzaW9uKSB7CisgICAgICAgIExPR19FUlJPUigi
Rm91bmQgdW5leHBlY3RlZCB2YWx1ZSAnJXMnIGZvciBkb3VibGUgb3B0aW9uLiIsIHZhbHVlLmNf
c3RyKCkpOworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisgICAgcmV0dXJuIHZhbDsKK30KKwog
c3RhdGljIHN0ZDo6c3RyaW5nIHBhcnNlU3RyaW5nVGVzdEhlYWRlclZhbHVlQXNSZWxhdGl2ZVBh
dGgoY29uc3Qgc3RkOjpzdHJpbmcmIHZhbHVlLCBjb25zdCBzdGQ6OnN0cmluZyYgcGF0aE9yVVJM
KQogewogICAgIFdLUmV0YWluUHRyPFdLVVJMUmVmPiBiYXNlVVJMID0gYWRvcHRXSyhjcmVhdGVU
ZXN0VVJMKHBhdGhPclVSTC5jX3N0cigpKSk7CkBAIC0xNTcxLDYgKzE1ODMsOCBAQCBzdGF0aWMg
dm9pZCB1cGRhdGVUZXN0T3B0aW9uc0Zyb21UZXN0SGVhZGVyKFRlc3RPcHRpb25zJiB0ZXN0T3B0
aW9ucywgY29uc3Qgc3RkOgogICAgICAgICAgICAgdGVzdE9wdGlvbnMuc3RhbmRhbG9uZVdlYkFw
cGxpY2F0aW9uVVJMID0gcGFyc2VTdHJpbmdUZXN0SGVhZGVyVmFsdWVBc1VSTCh2YWx1ZSk7CiAg
ICAgICAgIGVsc2UgaWYgKGtleSA9PSAiaXNBcHBCb3VuZFdlYlZpZXciKQogICAgICAgICAgICAg
dGVzdE9wdGlvbnMuaXNBcHBCb3VuZFdlYlZpZXcgPSBwYXJzZUJvb2xlYW5UZXN0SGVhZGVyVmFs
dWUodmFsdWUpOworICAgICAgICBlbHNlIGlmIChrZXkgPT0gInRpbWVvdXRNcyIpCisgICAgICAg
ICAgICB0ZXN0T3B0aW9ucy50aW1lb3V0ID0gU2Vjb25kczo6ZnJvbU1pbGxpc2Vjb25kcyhwYXJz
ZURvdWJsZVRlc3RIZWFkZXJWYWx1ZSh2YWx1ZSkpOwogICAgICAgICBwYWlyU3RhcnQgPSBwYWly
RW5kICsgMTsKICAgICB9CiB9CkBAIC0xODI2LDcgKzE4NDAsMTAgQEAgYm9vbCBUZXN0Q29udHJv
bGxlcjo6cnVuVGVzdChjb25zdCBjaGFyKiBpbnB1dExpbmUpCiAgICAgaWYgKGNvbW1hbmQuc2hv
dWxkRHVtcFBpeGVscyB8fCBtX3Nob3VsZER1bXBQaXhlbHNGb3JBbGxUZXN0cykKICAgICAgICAg
bV9jdXJyZW50SW52b2NhdGlvbi0+c2V0SXNQaXhlbFRlc3QoY29tbWFuZC5leHBlY3RlZFBpeGVs
SGFzaCk7CiAKLSAgICBpZiAoY29tbWFuZC50aW1lb3V0ID4gMF9zKQorICAgIC8vIFByZWZlciB0
aGUgdGltZW91dCBmcm9tIHRoaXMgc3BlY2lmaWMgdGVzdCdzIG9wdGlvbnMgb3ZlciB0aGUgY29t
bWFuZC13aWRlIHRpbWVvdXQuCisgICAgaWYgKG9wdGlvbnMudGltZW91dCA+IDBfcykKKyAgICAg
ICAgbV9jdXJyZW50SW52b2NhdGlvbi0+c2V0Q3VzdG9tVGltZW91dChvcHRpb25zLnRpbWVvdXQp
OworICAgIGVsc2UgaWYgKGNvbW1hbmQudGltZW91dCA+IDBfcykKICAgICAgICAgbV9jdXJyZW50
SW52b2NhdGlvbi0+c2V0Q3VzdG9tVGltZW91dChjb21tYW5kLnRpbWVvdXQpOwogCiAgICAgbV9j
dXJyZW50SW52b2NhdGlvbi0+c2V0RHVtcEpTQ29uc29sZUxvZ0luU3RkRXJyKGNvbW1hbmQuZHVt
cEpTQ29uc29sZUxvZ0luU3RkRXJyIHx8IG9wdGlvbnMuZHVtcEpTQ29uc29sZUxvZ0luU3RkRXJy
KTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdE9wdGlvbnMuaCBiL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdE9wdGlvbnMuaAppbmRleCA4ZTBlODczZjY4ZmM5MWI0
MTIyOWM2MDljMzVhZmM3NjVlZmQwODAyLi5kOGRmZDUwMTZjMGI4M2U4ZWQ3YTI1ZTRiNDQ0Zjc1
Zjk4OTQxMWE4IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RPcHRpb25z
LmgKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0T3B0aW9ucy5oCkBAIC0yNiw2ICsy
Niw3IEBACiAjcHJhZ21hIG9uY2UKIAogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CisjaW5jbHVk
ZSA8d3RmL1NlY29uZHMuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAjaW5jbHVkZSA8d3Rm
L3RleHQvU3RyaW5nSGFzaC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgpAQCAt
MTA1LDYgKzEwNiw3IEBAIHN0cnVjdCBUZXN0T3B0aW9ucyB7CiAgICAgYm9vbCBhbGxvd1RvcE5h
dmlnYXRpb25Ub0RhdGFVUkxzIHsgdHJ1ZSB9OwogICAgIGJvb2wgZW5hYmxlSW5BcHBCcm93c2Vy
UHJpdmFjeSB7IGZhbHNlIH07CiAgICAgYm9vbCBpc0FwcEJvdW5kV2ViVmlldyB7IGZhbHNlIH07
CisgICAgU2Vjb25kcyB0aW1lb3V0IHsgU2Vjb25kcygpIH07CiAKICAgICBkb3VibGUgY29udGVu
dEluc2V0VG9wIHsgMCB9OwogCkBAIC0xNjAsNiArMTYyLDcgQEAgc3RydWN0IFRlc3RPcHRpb25z
IHsKICAgICAgICAgICAgIHx8IGVkaXRhYmxlICE9IG9wdGlvbnMuZWRpdGFibGUKICAgICAgICAg
ICAgIHx8IHNob3VsZEhhbmRsZVJ1bk9wZW5QYW5lbCAhPSBvcHRpb25zLnNob3VsZEhhbmRsZVJ1
bk9wZW5QYW5lbAogICAgICAgICAgICAgfHwgc2hvdWxkUHJlc2VudFBvcG92ZXJzICE9IG9wdGlv
bnMuc2hvdWxkUHJlc2VudFBvcG92ZXJzCisgICAgICAgICAgICB8fCB0aW1lb3V0ICE9IG9wdGlv
bnMudGltZW91dAogICAgICAgICAgICAgfHwgY29udGVudEluc2V0VG9wICE9IG9wdGlvbnMuY29u
dGVudEluc2V0VG9wCiAgICAgICAgICAgICB8fCBjb250ZW50TW9kZSAhPSBvcHRpb25zLmNvbnRl
bnRNb2RlCiAgICAgICAgICAgICB8fCBhcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXIgIT0gb3B0
aW9ucy5hcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAwMWM4NjljZmU4ODk2ZDcz
ODdiYzY2N2YyMjZjNzM5MDUxNTQxZDAwLi4yYTQwY2E0NzQ2Y2VhMWE1ZWM1MWIyY2IzMWZjN2Nj
ZTM5ODFhNzhmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjAtMDktMTEgIFR5bGVyIFdpbGNv
Y2sgPHR3aWxjby5vQHByb3Rvbm1haWwuY29tPgorCisgICAgICAgIFNhZmVseSBoYW5kbGUgb3Zl
cmx5LWxvbmcgQ1NTIHZhcmlhYmxlIHZhbHVlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE2NDA3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2Nzcy92YXJpYWJsZXMvaW52YWxpZGF0ZS1vdmVy
bHktbG9uZy12YXJpYWJsZS12YWx1ZXMuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9jc3Mv
dmFyaWFibGVzL2ludmFsaWRhdGUtb3Zlcmx5LWxvbmctdmFyaWFibGUtdmFsdWVzLWV4cGVjdGVk
Lmh0bWw6IEFkZGVkLgorCiAyMDIwLTA5LTExICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJA
YXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04gKEFzeW5jIG92ZXJmbG93IHNjcm9sbCk6
IE1vdXNlIHdoZWVsIHNjcm9sbGluZyBvdmVyIGFuICJhbHdheXMtb24iIG92ZXJmbG93IHNjcm9s
bGJhciBkb2Vzbid0IHdvcmsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL3Zhcmlh
Ymxlcy9pbnZhbGlkYXRlLW92ZXJseS1sb25nLXZhcmlhYmxlLXZhbHVlcy1leHBlY3RlZC5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL2ludmFsaWRhdGUtb3Zlcmx5LWxvbmct
dmFyaWFibGUtdmFsdWVzLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGRmZjQwM2VlOGNjOGE2
ZGYwMWYzZjIzNTUxNmYwMDc4ZDJlMmRiZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvY3NzL3ZhcmlhYmxlcy9pbnZhbGlkYXRlLW92ZXJseS1sb25nLXZhcmlhYmxlLXZhbHVl
cy1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMTYgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8aGVhZD4KKyAgICA8c3R5bGU+CisgICAgICAgICNmb28geworICAgICAgICAgICAgd2lkdGg6
IDQwMHB4OworICAgICAgICAgICAgaGVpZ2h0OiA0MDBweDsKKyAgICAgICAgICAgIGJhY2tncm91
bmQtY29sb3I6IGdyZWVuOworICAgICAgICB9CisgICAgPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdiBpZD0iZm9vIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL2ludmFsaWRhdGUtb3Zlcmx5LWxvbmctdmFy
aWFibGUtdmFsdWVzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvaW52YWxp
ZGF0ZS1vdmVybHktbG9uZy12YXJpYWJsZS12YWx1ZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OGQyY2Y0
MDhmYjY2ODdmNjE5ZjI3NmNkM2M5MzMxYWMxNWRhN2MzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL2ludmFsaWRhdGUtb3Zlcmx5LWxvbmctdmFyaWFi
bGUtdmFsdWVzLmh0bWwKQEAgLTAsMCArMSw2MiBAQAorPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyB0aW1lb3V0TXM9NTAwMCBdIC0tPgorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKyAgPGhlYWQ+
CisgICAgPHN0eWxlPgorICAgICAgLyogSWYgd2UgZnVsbHkgZXhwYW5kIHRoaXMgcHJvcGVydHkg
Y2hhaW4sIHRoZXJlIHdvdWxkIGJlIG92ZXIgYSBiaWxsaW9uIGlkZW50aWZpZXJzLiAqLworICAg
ICAgLyogaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy12YXJpYWJsZXMvI2xvbmctdmFyaWFi
bGVzICovCisgICAgICA6cm9vdCB7CisgICAgICAgIC0tcHJvcDE6IHJlZDsKKyAgICAgICAgLS1w
cm9wMjogdmFyKC0tcHJvcDEpIHZhcigtLXByb3AxKTsKKyAgICAgICAgLS1wcm9wMzogdmFyKC0t
cHJvcDIpIHZhcigtLXByb3AyKTsKKyAgICAgICAgLS1wcm9wNDogdmFyKC0tcHJvcDMpIHZhcigt
LXByb3AzKTsKKyAgICAgICAgLS1wcm9wNTogdmFyKC0tcHJvcDQpIHZhcigtLXByb3A0KTsKKyAg
ICAgICAgLS1wcm9wNjogdmFyKC0tcHJvcDUpIHZhcigtLXByb3A1KTsKKyAgICAgICAgLS1wcm9w
NzogdmFyKC0tcHJvcDYpIHZhcigtLXByb3A2KTsKKyAgICAgICAgLS1wcm9wODogdmFyKC0tcHJv
cDcpIHZhcigtLXByb3A3KTsKKyAgICAgICAgLS1wcm9wOTogdmFyKC0tcHJvcDgpIHZhcigtLXBy
b3A4KTsKKyAgICAgICAgLS1wcm9wMTA6IHZhcigtLXByb3A5KSB2YXIoLS1wcm9wOSk7CisgICAg
ICAgIC0tcHJvcDExOiB2YXIoLS1wcm9wMTApIHZhcigtLXByb3AxMCk7CisgICAgICAgIC0tcHJv
cDEyOiB2YXIoLS1wcm9wMTEpIHZhcigtLXByb3AxMSk7CisgICAgICAgIC0tcHJvcDEzOiB2YXIo
LS1wcm9wMTIpIHZhcigtLXByb3AxMik7CisgICAgICAgIC0tcHJvcDE0OiB2YXIoLS1wcm9wMTMp
IHZhcigtLXByb3AxMyk7CisgICAgICAgIC0tcHJvcDE1OiB2YXIoLS1wcm9wMTQpIHZhcigtLXBy
b3AxNCk7CisgICAgICAgIC0tcHJvcDE2OiB2YXIoLS1wcm9wMTUpIHZhcigtLXByb3AxNSk7Cisg
ICAgICAgIC0tcHJvcDE3OiB2YXIoLS1wcm9wMTYpIHZhcigtLXByb3AxNik7CisgICAgICAgIC0t
cHJvcDE4OiB2YXIoLS1wcm9wMTcpIHZhcigtLXByb3AxNyk7CisgICAgICAgIC0tcHJvcDE5OiB2
YXIoLS1wcm9wMTgpIHZhcigtLXByb3AxOCk7CisgICAgICAgIC0tcHJvcDIwOiB2YXIoLS1wcm9w
MTkpIHZhcigtLXByb3AxOSk7CisgICAgICAgIC0tcHJvcDIxOiB2YXIoLS1wcm9wMjApIHZhcigt
LXByb3AyMCk7CisgICAgICAgIC0tcHJvcDIyOiB2YXIoLS1wcm9wMjEpIHZhcigtLXByb3AyMSk7
CisgICAgICAgIC0tcHJvcDIzOiB2YXIoLS1wcm9wMjIpIHZhcigtLXByb3AyMik7CisgICAgICAg
IC0tcHJvcDI0OiB2YXIoLS1wcm9wMjMpIHZhcigtLXByb3AyMyk7CisgICAgICAgIC0tcHJvcDI1
OiB2YXIoLS1wcm9wMjQpIHZhcigtLXByb3AyNCk7CisgICAgICAgIC0tcHJvcDI2OiB2YXIoLS1w
cm9wMjUpIHZhcigtLXByb3AyNSk7CisgICAgICAgIC0tcHJvcDI3OiB2YXIoLS1wcm9wMjYpIHZh
cigtLXByb3AyNik7CisgICAgICAgIC0tcHJvcDI4OiB2YXIoLS1wcm9wMjcpIHZhcigtLXByb3Ay
Nyk7CisgICAgICAgIC0tcHJvcDI5OiB2YXIoLS1wcm9wMjgpIHZhcigtLXByb3AyOCk7CisgICAg
ICAgIC0tcHJvcDMwOiB2YXIoLS1wcm9wMjkpIHZhcigtLXByb3AyOSk7CisgICAgICAgIC0tcHJv
cDMxOiB2YXIoLS1wcm9wMzApIHZhcigtLXByb3AzMCk7CisgICAgICB9CisKKyAgICAgICNmb28g
eworICAgICAgICB3aWR0aDogNDAwcHg7CisgICAgICAgIGhlaWdodDogNDAwcHg7CisgICAgICAg
IGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByb3AzMSwgZ3JlZW4pOworICAgICAgfQorICAgPC9z
dHlsZT4KKyAgPC9oZWFkPgorICA8Ym9keT4KKyAgICA8ZGl2IGlkPSJmb28iPjwvZGl2PgorICAg
IDxzY3JpcHQ+CisgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5u
ZXIud2FpdFVudGlsRG9uZSgpOworCisgICAgICB3aW5kb3cub25sb2FkID0gZnVuY3Rpb24oKSB7
CisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICB0ZXN0UnVubmVyLm5v
dGlmeURvbmUoKTsKKyAgICAgIH07CisgICAgPC9zY3JpcHQ+CisgIDwvYm9keT4KKzwvaHRtbD4K
Kwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408618</attachid>
            <date>2020-09-12 15:38:48 -0700</date>
            <delta_ts>2020-09-12 22:16:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216407-20200912173847.patch</filename>
            <type>text/plain</type>
            <size>5745</size>
            <attacher name="Tyler Wilcock">twilco.o</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY2OTI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzRhNWEyNDgzYTM4ZDA2
NDg3ZWYzZDM0ODUzMzdiZDk0YjE4YWMwZC4uYmNmZTdjOTllYmFkOWY3MDQ3MDM4ZWIzODA4OGZj
YzgyMTNkZjdmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIwLTA5LTExICBUeWxl
ciBXaWxjb2NrICA8dHdpbGNvLm9AcHJvdG9ubWFpbC5jb20+CisKKyAgICAgICAgU2FmZWx5IGhh
bmRsZSBvdmVybHktbG9uZyBDU1MgdmFyaWFibGUgdmFsdWVzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTY0MDcKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQZXIgc3BlYywgdHJlYXQgb3Zlcmx5IGxvbmcg
Q1NTIHZhcmlhYmxlIHZhbHVlcyBhcyBpbnZhbGlkLgorCisgICAgICAgIGh0dHBzOi8vZHJhZnRz
LmNzc3dnLm9yZy9jc3MtdmFyaWFibGVzLyNsb25nLXZhcmlhYmxlcworCisgICAgICAgIFRlc3Q6
IGZhc3QvY3NzL3ZhcmlhYmxlcy9pbnZhbGlkYXRlLW92ZXJseS1sb25nLXZhcmlhYmxlLXZhbHVl
cy5odG1sCisKKyAgICAgICAgKiBjc3MvQ1NTVmFyaWFibGVSZWZlcmVuY2VWYWx1ZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpyZXNvbHZlVmFyaWFibGVSZWZlcmVuY2UpOgorICAgICAgICBSZXR1
cm4gZmFsc2UgZm9yIGFueSB2YXJpYWJsZSB2YWx1ZXMgZ3JlYXRlciB0aGFuIGBtYXhTdWJzdGl0
dXRpb25Ub2tlbnNgIGxvbmcuCisgICAgICAgICogY3NzL0NTU1ZhcmlhYmxlUmVmZXJlbmNlVmFs
dWUuaDoKKyAgICAgICAgQWRkIGBtYXhTdWJzdGl0dXRpb25Ub2tlbnNgLgorCiAyMDIwLTA5LTEx
ICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2ViSURMXSBTcGxp
dCBzdXBwbGVtZW50YWwgaW50ZXJmYWNlcyBvdXQgb2YgRG9jdW1lbnQKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NWYXJpYWJsZVJlZmVyZW5jZVZhbHVlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NWYXJpYWJsZVJlZmVyZW5jZVZhbHVlLmNwcAppbmRleCA4MjBlYzdmOTAw
MzkyMDI4NmRkNWI0Y2IwOTYyZjg1MjFlMmVlZmZlLi5lODMyYTQ1OGJkMzJhMGNhZThkYzliMjEw
MTEwYWYxOThmNzkwNGFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFyaWFi
bGVSZWZlcmVuY2VWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhcmlhYmxl
UmVmZXJlbmNlVmFsdWUuY3BwCkBAIC0xMDIsMTQgKzEwMiwxOSBAQCBzdGF0aWMgYm9vbCByZXNv
bHZlVmFyaWFibGVSZWZlcmVuY2UoQ1NTUGFyc2VyVG9rZW5SYW5nZSByYW5nZSwgQ1NTVmFsdWVJ
RCBmdW5jdAogICAgIH0KIAogICAgIGlmICghcHJvcGVydHkgfHwgcHJvcGVydHktPmlzSW52YWxp
ZCgpKSB7CisgICAgICAgIGlmIChmYWxsYmFja1Jlc3VsdC5zaXplKCkgPiBDU1NWYXJpYWJsZVJl
ZmVyZW5jZVZhbHVlOjptYXhTdWJzdGl0dXRpb25Ub2tlbnMpCisgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CisKICAgICAgICAgaWYgKGZhbGxiYWNrUmV0dXJuKQogICAgICAgICAgICAgcmVzdWx0
LmFwcGVuZFZlY3RvcihmYWxsYmFja1Jlc3VsdCk7CiAgICAgICAgIHJldHVybiBmYWxsYmFja1Jl
dHVybjsKICAgICB9CiAKICAgICBBU1NFUlQocHJvcGVydHktPmlzUmVzb2x2ZWQoKSk7Ci0gICAg
cmVzdWx0LmFwcGVuZFZlY3Rvcihwcm9wZXJ0eS0+dG9rZW5zKCkpOworICAgIGlmIChwcm9wZXJ0
eS0+dG9rZW5zKCkuc2l6ZSgpID4gQ1NTVmFyaWFibGVSZWZlcmVuY2VWYWx1ZTo6bWF4U3Vic3Rp
dHV0aW9uVG9rZW5zKQorICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyAgICByZXN1bHQuYXBwZW5k
VmVjdG9yKHByb3BlcnR5LT50b2tlbnMoKSk7CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYXJpYWJsZVJlZmVyZW5jZVZhbHVlLmggYi9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFyaWFibGVSZWZlcmVuY2VWYWx1ZS5oCmluZGV4IDE2MTRi
NGM4NzY5ZWI4MTE0N2JlMTRkYTFmNWU4NTE4Y2Y4MmQ2YmUuLjU1YzIwMGEwM2ZkNTBkZDMzNDVi
OWU2N2MxOTU3MThhZmMxNDg1OGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NW
YXJpYWJsZVJlZmVyZW5jZVZhbHVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Zhcmlh
YmxlUmVmZXJlbmNlVmFsdWUuaApAQCAtNDksNiArNDksMTEgQEAgcHVibGljOgogCiAgICAgUmVm
UHRyPENTU1ZhcmlhYmxlRGF0YT4gcmVzb2x2ZVZhcmlhYmxlUmVmZXJlbmNlcyhTdHlsZTo6QnVp
bGRlclN0YXRlJikgY29uc3Q7CiAKKyAgICAvLyBUaGUgbWF4aW11bSBudW1iZXIgb2YgdG9rZW5z
IHRoYXQgbWF5IGJlIHByb2R1Y2VkIGJ5IGEgdmFyKCkKKyAgICAvLyByZWZlcmVuY2Ugb3IgdmFy
KCkgZmFsbGJhY2sgdmFsdWUuCisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy12
YXJpYWJsZXMvI2xvbmctdmFyaWFibGVzCisgICAgc3RhdGljIGNvbnN0ZXhwciBzaXplX3QgbWF4
U3Vic3RpdHV0aW9uVG9rZW5zID0gNjU1MzY7CisKIHByaXZhdGU6CiAgICAgZXhwbGljaXQgQ1NT
VmFyaWFibGVSZWZlcmVuY2VWYWx1ZShSZWY8Q1NTVmFyaWFibGVEYXRhPiYmKTsKIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4
IDAxYzg2OWNmZTg4OTZkNzM4N2JjNjY3ZjIyNmM3MzkwNTE1NDFkMDAuLjJhNDBjYTQ3NDZjZWEx
YTVlYzUxYjJjYjMxZmM3Y2NlMzk4MWE3OGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAyMC0w
OS0xMSAgVHlsZXIgV2lsY29jayA8dHdpbGNvLm9AcHJvdG9ubWFpbC5jb20+CisKKyAgICAgICAg
U2FmZWx5IGhhbmRsZSBvdmVybHktbG9uZyBDU1MgdmFyaWFibGUgdmFsdWVzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTY0MDcKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvY3NzL3ZhcmlhYmxl
cy9pbnZhbGlkYXRlLW92ZXJseS1sb25nLXZhcmlhYmxlLXZhbHVlcy5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L2Nzcy92YXJpYWJsZXMvaW52YWxpZGF0ZS1vdmVybHktbG9uZy12YXJpYWJs
ZS12YWx1ZXMtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisKIDIwMjAtMDktMTEgIFNpbW9uIEZyYXNl
ciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTiAoQXN5bmMg
b3ZlcmZsb3cgc2Nyb2xsKTogTW91c2Ugd2hlZWwgc2Nyb2xsaW5nIG92ZXIgYW4gImFsd2F5cy1v
biIgb3ZlcmZsb3cgc2Nyb2xsYmFyIGRvZXNuJ3Qgd29yawpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9jc3MvdmFyaWFibGVzL2ludmFsaWRhdGUtb3Zlcmx5LWxvbmctdmFyaWFibGUtdmFs
dWVzLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvaW52YWxp
ZGF0ZS1vdmVybHktbG9uZy12YXJpYWJsZS12YWx1ZXMtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44ZGZmNDAzZWU4Y2M4YTZkZjAxZjNmMjM1NTE2ZjAwNzhkMmUyZGJlCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL2ludmFsaWRhdGUtb3Zlcmx5LWxv
bmctdmFyaWFibGUtdmFsdWVzLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwxNiBAQAorPCFET0NU
WVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICAgIDxzdHlsZT4KKyAgICAgICAgI2ZvbyB7Cisg
ICAgICAgICAgICB3aWR0aDogNDAwcHg7CisgICAgICAgICAgICBoZWlnaHQ6IDQwMHB4OworICAg
ICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47CisgICAgICAgIH0KKyAgICA8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJmb28iPjwvZGl2PgorPC9ib2R5PgorPC9odG1s
PgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvaW52YWxpZGF0
ZS1vdmVybHktbG9uZy12YXJpYWJsZS12YWx1ZXMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY3Nz
L3ZhcmlhYmxlcy9pbnZhbGlkYXRlLW92ZXJseS1sb25nLXZhcmlhYmxlLXZhbHVlcy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjQ1NTU3YzA5YTEwYjM3MWY3ZTA3ZWNiMjVhMzBjOTQ1NjI5YTFiMDUKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvaW52YWxpZGF0ZS1v
dmVybHktbG9uZy12YXJpYWJsZS12YWx1ZXMuaHRtbApAQCAtMCwwICsxLDM4IEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorICA8aGVhZD4KKyAgICA8c3R5bGU+CisgICAgICA6cm9vdCB7Cisg
ICAgICAgIC0tcHJvcDE6IHJlZDsKKyAgICAgICAgLS1wcm9wMjogdmFyKC0tcHJvcDEpIHZhcigt
LXByb3AxKTsKKyAgICAgICAgLS1wcm9wMzogdmFyKC0tcHJvcDIpIHZhcigtLXByb3AyKTsKKyAg
ICAgICAgLS1wcm9wNDogdmFyKC0tcHJvcDMpIHZhcigtLXByb3AzKTsKKyAgICAgICAgLS1wcm9w
NTogdmFyKC0tcHJvcDQpIHZhcigtLXByb3A0KTsKKyAgICAgICAgLS1wcm9wNjogdmFyKC0tcHJv
cDUpIHZhcigtLXByb3A1KTsKKyAgICAgICAgLS1wcm9wNzogdmFyKC0tcHJvcDYpIHZhcigtLXBy
b3A2KTsKKyAgICAgICAgLS1wcm9wODogdmFyKC0tcHJvcDcpIHZhcigtLXByb3A3KTsKKyAgICAg
ICAgLS1wcm9wOTogdmFyKC0tcHJvcDgpIHZhcigtLXByb3A4KTsKKyAgICAgICAgLS1wcm9wMTA6
IHZhcigtLXByb3A5KSB2YXIoLS1wcm9wOSk7CisgICAgICAgIC0tcHJvcDExOiB2YXIoLS1wcm9w
MTApIHZhcigtLXByb3AxMCk7CisgICAgICAgIC0tcHJvcDEyOiB2YXIoLS1wcm9wMTEpIHZhcigt
LXByb3AxMSk7CisgICAgICAgIC0tcHJvcDEzOiB2YXIoLS1wcm9wMTIpIHZhcigtLXByb3AxMik7
CisgICAgICAgIC0tcHJvcDE0OiB2YXIoLS1wcm9wMTMpIHZhcigtLXByb3AxMyk7CisgICAgICAg
IC0tcHJvcDE1OiB2YXIoLS1wcm9wMTQpIHZhcigtLXByb3AxNCk7CisgICAgICAgIC0tcHJvcDE2
OiB2YXIoLS1wcm9wMTUpIHZhcigtLXByb3AxNSk7CisgICAgICAgIC0tcHJvcDE3OiB2YXIoLS1w
cm9wMTYpIHZhcigtLXByb3AxNik7CisgICAgICAgIC0tcHJvcDE4OiB2YXIoLS1wcm9wMTcpIHZh
cigtLXByb3AxNyk7CisgICAgICAgIC0tcHJvcDE5OiB2YXIoLS1wcm9wMTgpIHZhcigtLXByb3Ax
OCk7CisgICAgICB9CisKKyAgICAgICNmb28geworICAgICAgICB3aWR0aDogNDAwcHg7CisgICAg
ICAgIGhlaWdodDogNDAwcHg7CisgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByb3Ax
OSwgZ3JlZW4pOworICAgICAgfQorICAgPC9zdHlsZT4KKyAgPC9oZWFkPgorICA8Ym9keT4KKyAg
ICA8ZGl2IGlkPSJmb28iPjwvZGl2PgorICA8L2JvZHk+Cis8L2h0bWw+CisK
</data>
<flag name="commit-queue"
          id="424087"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408638</attachid>
            <date>2020-09-12 21:32:53 -0700</date>
            <delta_ts>2020-09-12 23:39:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216407-20200912233252.patch</filename>
            <type>text/plain</type>
            <size>5814</size>
            <attacher name="Tyler Wilcock">twilco.o</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY2OTg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTQxOWM1NTdmM2ZkYjJk
ZmQzNGZjODU1NzlhNjNmZTI1Zjk1YTIxYS4uZWIyOTJkYjNhOWVjOWI5Mjc3YjcwMjczMDQ3YzAy
MjY3MjAzOTRhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIwLTA5LTEyICBUeWxl
ciBXaWxjb2NrICA8dHdpbGNvLm9AcHJvdG9ubWFpbC5jb20+CisKKyAgICAgICAgU2FmZWx5IGhh
bmRsZSBvdmVybHktbG9uZyBDU1MgdmFyaWFibGUgdmFsdWVzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTY0MDcKKworICAgICAgICBSZXZpZXdlZCBi
eSBEYXJpbiBBZGxlci4KKworICAgICAgICBQZXIgc3BlYywgdHJlYXQgb3Zlcmx5IGxvbmcgQ1NT
IHZhcmlhYmxlIHZhbHVlcyBhcyBpbnZhbGlkLgorCisgICAgICAgIGh0dHBzOi8vZHJhZnRzLmNz
c3dnLm9yZy9jc3MtdmFyaWFibGVzLyNsb25nLXZhcmlhYmxlcworCisgICAgICAgIFRlc3Q6IGZh
c3QvY3NzL3ZhcmlhYmxlcy9pbnZhbGlkYXRlLW92ZXJseS1sb25nLXZhcmlhYmxlLXZhbHVlcy5o
dG1sCisKKyAgICAgICAgKiBjc3MvQ1NTVmFyaWFibGVSZWZlcmVuY2VWYWx1ZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpyZXNvbHZlVmFyaWFibGVSZWZlcmVuY2UpOgorICAgICAgICBSZXR1cm4g
ZmFsc2UgZm9yIGFueSB2YXJpYWJsZSB2YWx1ZXMgZ3JlYXRlciB0aGFuIGBtYXhTdWJzdGl0dXRp
b25Ub2tlbnNgIGxvbmcuCisgICAgICAgICogY3NzL0NTU1ZhcmlhYmxlUmVmZXJlbmNlVmFsdWUu
aDoKKyAgICAgICAgQWRkIGBtYXhTdWJzdGl0dXRpb25Ub2tlbnNgLgorCiAyMDIwLTA5LTEyICBT
aW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFJlcGxhY2Ug
Zm9ybWF0Rm9yRGVidWdnZXIoKSB3aGljaCB1c2VzIHJhdyBjaGFyKiB3aXRoIGRlYnVnRGVzY3Jp
cHRpb24oKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhcmlhYmxlUmVmZXJl
bmNlVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhcmlhYmxlUmVmZXJlbmNlVmFs
dWUuY3BwCmluZGV4IDgyMGVjN2Y5MDAzOTIwMjg2ZGQ1YjRjYjA5NjJmODUyMWUyZWVmZmUuLmU4
MzJhNDU4YmQzMmEwY2FlOGRjOWIyMTAxMTBhZjE5OGY3OTA0YWMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NWYXJpYWJsZVJlZmVyZW5jZVZhbHVlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTVmFyaWFibGVSZWZlcmVuY2VWYWx1ZS5jcHAKQEAgLTEwMiwxNCArMTAy
LDE5IEBAIHN0YXRpYyBib29sIHJlc29sdmVWYXJpYWJsZVJlZmVyZW5jZShDU1NQYXJzZXJUb2tl
blJhbmdlIHJhbmdlLCBDU1NWYWx1ZUlEIGZ1bmN0CiAgICAgfQogCiAgICAgaWYgKCFwcm9wZXJ0
eSB8fCBwcm9wZXJ0eS0+aXNJbnZhbGlkKCkpIHsKKyAgICAgICAgaWYgKGZhbGxiYWNrUmVzdWx0
LnNpemUoKSA+IENTU1ZhcmlhYmxlUmVmZXJlbmNlVmFsdWU6Om1heFN1YnN0aXR1dGlvblRva2Vu
cykKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAgICAgICBpZiAoZmFsbGJhY2tSZXR1
cm4pCiAgICAgICAgICAgICByZXN1bHQuYXBwZW5kVmVjdG9yKGZhbGxiYWNrUmVzdWx0KTsKICAg
ICAgICAgcmV0dXJuIGZhbGxiYWNrUmV0dXJuOwogICAgIH0KIAogICAgIEFTU0VSVChwcm9wZXJ0
eS0+aXNSZXNvbHZlZCgpKTsKLSAgICByZXN1bHQuYXBwZW5kVmVjdG9yKHByb3BlcnR5LT50b2tl
bnMoKSk7CisgICAgaWYgKHByb3BlcnR5LT50b2tlbnMoKS5zaXplKCkgPiBDU1NWYXJpYWJsZVJl
ZmVyZW5jZVZhbHVlOjptYXhTdWJzdGl0dXRpb25Ub2tlbnMpCisgICAgICAgIHJldHVybiBmYWxz
ZTsKIAorICAgIHJlc3VsdC5hcHBlbmRWZWN0b3IocHJvcGVydHktPnRva2VucygpKTsKICAgICBy
ZXR1cm4gdHJ1ZTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Zhcmlh
YmxlUmVmZXJlbmNlVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYXJpYWJsZVJlZmVy
ZW5jZVZhbHVlLmgKaW5kZXggMTYxNGI0Yzg3NjllYjgxMTQ3YmUxNGRhMWY1ZTg1MThjZjgyZDZi
ZS4uNTVjMjAwYTAzZmQ1MGRkMzM0NWI5ZTY3YzE5NTcxOGFmYzE0ODU4ZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhcmlhYmxlUmVmZXJlbmNlVmFsdWUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTVmFyaWFibGVSZWZlcmVuY2VWYWx1ZS5oCkBAIC00OSw2ICs0OSwx
MSBAQCBwdWJsaWM6CiAKICAgICBSZWZQdHI8Q1NTVmFyaWFibGVEYXRhPiByZXNvbHZlVmFyaWFi
bGVSZWZlcmVuY2VzKFN0eWxlOjpCdWlsZGVyU3RhdGUmKSBjb25zdDsKIAorICAgIC8vIFRoZSBt
YXhpbXVtIG51bWJlciBvZiB0b2tlbnMgdGhhdCBtYXkgYmUgcHJvZHVjZWQgYnkgYSB2YXIoKQor
ICAgIC8vIHJlZmVyZW5jZSBvciB2YXIoKSBmYWxsYmFjayB2YWx1ZS4KKyAgICAvLyBodHRwczov
L2RyYWZ0cy5jc3N3Zy5vcmcvY3NzLXZhcmlhYmxlcy8jbG9uZy12YXJpYWJsZXMKKyAgICBzdGF0
aWMgY29uc3RleHByIHNpemVfdCBtYXhTdWJzdGl0dXRpb25Ub2tlbnMgPSA2NTUzNjsKKwogcHJp
dmF0ZToKICAgICBleHBsaWNpdCBDU1NWYXJpYWJsZVJlZmVyZW5jZVZhbHVlKFJlZjxDU1NWYXJp
YWJsZURhdGE+JiYpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMDAwMGQ0Y2NhMzM2ODFiZTQxOTNlMjFmOGZhODY1Nzg0
NTY5ZjU3Mi4uMTI4OWYxYWYwODU3MmE0NzU5NTg5NWMwNDEyZGE2ZjczZGUzNTY4ZSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDEzIEBACisyMDIwLTA5LTEyICBUeWxlciBXaWxjb2NrIDx0d2lsY28ub0Bwcm90
b25tYWlsLmNvbT4KKworICAgICAgICBTYWZlbHkgaGFuZGxlIG92ZXJseS1sb25nIENTUyB2YXJp
YWJsZSB2YWx1ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIxNjQwNworCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAg
ICogZmFzdC9jc3MvdmFyaWFibGVzL2ludmFsaWRhdGUtb3Zlcmx5LWxvbmctdmFyaWFibGUtdmFs
dWVzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY3NzL3ZhcmlhYmxlcy9pbnZhbGlkYXRl
LW92ZXJseS1sb25nLXZhcmlhYmxlLXZhbHVlcy1leHBlY3RlZC5odG1sOiBBZGRlZC4KKwogMjAy
MC0wOS0xMiAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVT
U0lPTiAocjI2NjgxNyk6IEFTU0VSVElPTiBGQUlMRUQ6IGluamVjdGVkQnVuZGxlLmlzVGVzdFJ1
bm5pbmcoKSBvbiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9zdmctdGFyZ2V0LXJlZnRlc3QuaHR0cHMuaHRtbApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL2ludmFsaWRhdGUtb3Zlcmx5LWxvbmct
dmFyaWFibGUtdmFsdWVzLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJp
YWJsZXMvaW52YWxpZGF0ZS1vdmVybHktbG9uZy12YXJpYWJsZS12YWx1ZXMtZXhwZWN0ZWQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44ZGZmNDAzZWU4Y2M4YTZkZjAxZjNmMjM1NTE2ZjAwNzhkMmUyZGJlCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL2ludmFsaWRh
dGUtb3Zlcmx5LWxvbmctdmFyaWFibGUtdmFsdWVzLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwx
NiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICAgIDxzdHlsZT4KKyAgICAg
ICAgI2ZvbyB7CisgICAgICAgICAgICB3aWR0aDogNDAwcHg7CisgICAgICAgICAgICBoZWlnaHQ6
IDQwMHB4OworICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47CisgICAgICAgIH0K
KyAgICA8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJmb28iPjwvZGl2PgorPC9i
b2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJs
ZXMvaW52YWxpZGF0ZS1vdmVybHktbG9uZy12YXJpYWJsZS12YWx1ZXMuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy9pbnZhbGlkYXRlLW92ZXJseS1sb25nLXZhcmlhYmxlLXZh
bHVlcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ1NTU3YzA5YTEwYjM3MWY3ZTA3ZWNiMjVhMzBjOTQ1NjI5
YTFiMDUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMv
aW52YWxpZGF0ZS1vdmVybHktbG9uZy12YXJpYWJsZS12YWx1ZXMuaHRtbApAQCAtMCwwICsxLDM4
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICA8aGVhZD4KKyAgICA8c3R5bGU+CisgICAg
ICA6cm9vdCB7CisgICAgICAgIC0tcHJvcDE6IHJlZDsKKyAgICAgICAgLS1wcm9wMjogdmFyKC0t
cHJvcDEpIHZhcigtLXByb3AxKTsKKyAgICAgICAgLS1wcm9wMzogdmFyKC0tcHJvcDIpIHZhcigt
LXByb3AyKTsKKyAgICAgICAgLS1wcm9wNDogdmFyKC0tcHJvcDMpIHZhcigtLXByb3AzKTsKKyAg
ICAgICAgLS1wcm9wNTogdmFyKC0tcHJvcDQpIHZhcigtLXByb3A0KTsKKyAgICAgICAgLS1wcm9w
NjogdmFyKC0tcHJvcDUpIHZhcigtLXByb3A1KTsKKyAgICAgICAgLS1wcm9wNzogdmFyKC0tcHJv
cDYpIHZhcigtLXByb3A2KTsKKyAgICAgICAgLS1wcm9wODogdmFyKC0tcHJvcDcpIHZhcigtLXBy
b3A3KTsKKyAgICAgICAgLS1wcm9wOTogdmFyKC0tcHJvcDgpIHZhcigtLXByb3A4KTsKKyAgICAg
ICAgLS1wcm9wMTA6IHZhcigtLXByb3A5KSB2YXIoLS1wcm9wOSk7CisgICAgICAgIC0tcHJvcDEx
OiB2YXIoLS1wcm9wMTApIHZhcigtLXByb3AxMCk7CisgICAgICAgIC0tcHJvcDEyOiB2YXIoLS1w
cm9wMTEpIHZhcigtLXByb3AxMSk7CisgICAgICAgIC0tcHJvcDEzOiB2YXIoLS1wcm9wMTIpIHZh
cigtLXByb3AxMik7CisgICAgICAgIC0tcHJvcDE0OiB2YXIoLS1wcm9wMTMpIHZhcigtLXByb3Ax
Myk7CisgICAgICAgIC0tcHJvcDE1OiB2YXIoLS1wcm9wMTQpIHZhcigtLXByb3AxNCk7CisgICAg
ICAgIC0tcHJvcDE2OiB2YXIoLS1wcm9wMTUpIHZhcigtLXByb3AxNSk7CisgICAgICAgIC0tcHJv
cDE3OiB2YXIoLS1wcm9wMTYpIHZhcigtLXByb3AxNik7CisgICAgICAgIC0tcHJvcDE4OiB2YXIo
LS1wcm9wMTcpIHZhcigtLXByb3AxNyk7CisgICAgICAgIC0tcHJvcDE5OiB2YXIoLS1wcm9wMTgp
IHZhcigtLXByb3AxOCk7CisgICAgICB9CisKKyAgICAgICNmb28geworICAgICAgICB3aWR0aDog
NDAwcHg7CisgICAgICAgIGhlaWdodDogNDAwcHg7CisgICAgICAgIGJhY2tncm91bmQtY29sb3I6
IHZhcigtLXByb3AxOSwgZ3JlZW4pOworICAgICAgfQorICAgPC9zdHlsZT4KKyAgPC9oZWFkPgor
ICA8Ym9keT4KKyAgICA8ZGl2IGlkPSJmb28iPjwvZGl2PgorICA8L2JvZHk+Cis8L2h0bWw+CisK
</data>

          </attachment>
      

    </bug>

</bugzilla>