<?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>224097</bug_id>
          
          <creation_ts>2021-04-02 01:55:33 -0700</creation_ts>
          <short_desc>Media queries with max-width greater than 999999999px evaluate to false</short_desc>
          <delta_ts>2021-04-17 16:28:37 -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>Safari Technology Preview</version>
          <rep_platform>Mac (Intel)</rep_platform>
          <op_sys>macOS 11</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>mathieu</reporter>
          <assigned_to name="Tyler Wilcock">twilco.o</assigned_to>
          <cc>darin</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jer.noble</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>smoley</cc>
    
    <cc>twilco.o</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1746420</commentid>
    <comment_count>0</comment_count>
    <who name="">mathieu</who>
    <bug_when>2021-04-02 01:55:33 -0700</bug_when>
    <thetext>There is an issue when using a media query with a max-width condition greater than 999999999px:

```
@media (max-width: 999999999px) { * {background-color: red !important;} } // will put a red background on every element
@media (max-width: 9999999999px) { * {background-color: red !important;} } // will NOT put a red background
```

See the reproduction here: https://codepen.io/mathieudutour/pen/eYgvjRJ</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1746730</commentid>
    <comment_count>1</comment_count>
      <attachid>425067</attachid>
    <who name="Tyler Wilcock">twilco.o</who>
    <bug_when>2021-04-02 17:10:45 -0700</bug_when>
    <thetext>Created attachment 425067
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1747673</commentid>
    <comment_count>2</comment_count>
      <attachid>425067</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-04-06 15:28:44 -0700</bug_when>
    <thetext>Comment on attachment 425067
Patch

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

&gt; Source/WebCore/css/MediaQueryEvaluator.cpp:485
&gt; -static bool computeLength(CSSValue* value, bool strict, const CSSToLengthConversionData&amp; conversionData, int&amp; result)
&gt; +static bool computeLength(CSSValue* value, bool strict, const CSSToLengthConversionData&amp; conversionData, double&amp; result)

If we are modifying all the callers of this anyway, we should take the opportunity to return Optional&lt;double&gt; instead of using an out argument. That’s the future direction for this kind of code.

&gt; Source/WebCore/css/MediaQueryEvaluator.cpp:493
&gt; +        result = clampTo&lt;int&gt;(primitiveValue.doubleValue());

Seems strange to compute a double, clamp it to int, then convert back to double. What’s the rationale here? The proposed code is inefficient (round trip from floating point to int and back), truncates rather than rounding (is that what we want), and limits values to the range of a 32-bit integer (not clear why that is desirable given that this function returns a double).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1747766</commentid>
    <comment_count>3</comment_count>
    <who name="Tyler Wilcock">twilco.o</who>
    <bug_when>2021-04-06 21:26:17 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #2)
&gt; Comment on attachment 425067 [details]
&gt; &gt; Source/WebCore/css/MediaQueryEvaluator.cpp:493
&gt; &gt; +        result = clampTo&lt;int&gt;(primitiveValue.doubleValue());
&gt; 
&gt; Seems strange to compute a double, clamp it to int, then convert back to
&gt; double. What’s the rationale here? The proposed code is inefficient (round
&gt; trip from floating point to int and back), truncates rather than rounding
&gt; (is that what we want), and limits values to the range of a 32-bit integer
&gt; (not clear why that is desirable given that this function returns a double).
You&apos;re right, that is weird.  I did that to match Chromium[1], but I don&apos;t see anywhere in the spec that suggests this should be clamped to an int value.  The linked Chromium code is basically the same behavior as the existing code in WebKit for this branch (and the code for this branch is 10 years old).

I tried returning a double from this branch and found no failing layout tests locally.  I&apos;ll push a patch and see what EWS looks like.

[1]: https://github.com/chromium/chromium/blob/09a0b960b27f6e08fbe67ad97e6c4fb55ada383f/third_party/blink/renderer/core/css/media_query_evaluator.cc#L443</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1747768</commentid>
    <comment_count>4</comment_count>
      <attachid>425354</attachid>
    <who name="Tyler Wilcock">twilco.o</who>
    <bug_when>2021-04-06 22:05:32 -0700</bug_when>
    <thetext>Created attachment 425354
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1747991</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-04-07 11:25:47 -0700</bug_when>
    <thetext>&lt;rdar://problem/76357291&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1751227</commentid>
    <comment_count>6</comment_count>
      <attachid>426271</attachid>
    <who name="Tyler Wilcock">twilco.o</who>
    <bug_when>2021-04-16 13:50:55 -0700</bug_when>
    <thetext>Created attachment 426271
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1751236</commentid>
    <comment_count>7</comment_count>
      <attachid>426271</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-04-16 14:15:57 -0700</bug_when>
    <thetext>Comment on attachment 426271
Patch

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

&gt; Source/WebCore/css/MediaQueryEvaluator.cpp:494
&gt; +        if (strict &amp;&amp; value)

Shouldn&apos;t that be !value?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1751245</commentid>
    <comment_count>8</comment_count>
      <attachid>426271</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-04-16 14:25:09 -0700</bug_when>
    <thetext>Comment on attachment 426271
Patch

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

&gt;&gt; Source/WebCore/css/MediaQueryEvaluator.cpp:494
&gt;&gt; +        if (strict &amp;&amp; value)
&gt; 
&gt; Shouldn&apos;t that be !value?

Not given the comment above. It essentially says &quot;in strict mode only 0 is allowed, not other values&quot;, which is what this code does.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1751251</commentid>
    <comment_count>9</comment_count>
      <attachid>426271</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-04-16 14:30:07 -0700</bug_when>
    <thetext>Comment on attachment 426271
Patch

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

&gt;&gt;&gt; Source/WebCore/css/MediaQueryEvaluator.cpp:494
&gt;&gt;&gt; +        if (strict &amp;&amp; value)
&gt;&gt; 
&gt;&gt; Shouldn&apos;t that be !value?
&gt; 
&gt; Not given the comment above. It essentially says &quot;in strict mode only 0 is allowed, not other values&quot;, which is what this code does.

Ah we&apos;re in the isNumber block. Right.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1751335</commentid>
    <comment_count>10</comment_count>
      <attachid>426271</attachid>
    <who name="Tyler Wilcock">twilco.o</who>
    <bug_when>2021-04-16 17:31:09 -0700</bug_when>
    <thetext>Comment on attachment 426271
Patch

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

&gt; Source/WebCore/css/MediaQueryEvaluator.cpp:501
&gt;      }

Sadness...I waited for EWS to go green just to realize this `if` now only contains a single statement and doesn&apos;t need braces anymore.  I&apos;ll upload a new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1751343</commentid>
    <comment_count>11</comment_count>
      <attachid>426298</attachid>
    <who name="Tyler Wilcock">twilco.o</who>
    <bug_when>2021-04-16 17:43:50 -0700</bug_when>
    <thetext>Created attachment 426298
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1751471</commentid>
    <comment_count>12</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-04-17 15:21:28 -0700</bug_when>
    <thetext>Committed r276208 (236690@main): &lt;https://commits.webkit.org/236690@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 426298.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1751490</commentid>
    <comment_count>13</comment_count>
    <who name="Tyler Wilcock">twilco.o</who>
    <bug_when>2021-04-17 16:28:37 -0700</bug_when>
    <thetext>Thanks for the review and cq+, Darin!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>425067</attachid>
            <date>2021-04-02 17:10:45 -0700</date>
            <delta_ts>2021-04-06 22:05:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224097-20210402191044.patch</filename>
            <type>text/plain</type>
            <size>8968</size>
            <attacher name="Tyler Wilcock">twilco.o</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1NDUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzA5ZmRjYzBkZWVkYmI0
NDFlOGI3MWEyZTliYjQ5OTliY2IwZjQ2Ni4uZjJmOGY1Mzk1YjE0ZmY2NTU3OGMwYWQxZmFiZjM4
YzUyOGVmYzI5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDIxLTA0LTAyICBUeWxl
ciBXaWxjb2NrICA8dHdpbGNvLm9AcHJvdG9ubWFpbC5jb20+CisKKyAgICAgICAgTWVkaWEgcXVl
cmllcyB3aXRoIG1heC13aWR0aCBncmVhdGVyIHRoYW4gOTk5OTk5OTk5cHggZXZhbHVhdGUgdG8g
ZmFsc2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIy
NDA5NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdl
IG5vdyBldmFsdWF0ZSA8bGVuZ3RoPiB2YWx1ZXMgaW4gbWVkaWEgcXVlcmllcyB3aXRoIGRvdWJs
ZQorICAgICAgICBwcmVjaXNpb24gaW5zdGVhZCBvZiBpbnQgcHJlY2lzaW9uIHRvIG1hdGNoIG90
aGVyIGJyb3dzZXJzIGFuZCBwYXNzIGEgV1BULgorCisgICAgICAgIFNlZSBzaW1pbGFyIG1ldGhv
ZCBpbiBDaHJvbWl1bToKKyAgICAgICAgaHR0cHM6Ly9naXRodWIuY29tL2Nocm9taXVtL2Nocm9t
aXVtL2Jsb2IvMDlhMGI5NjBiMjdmNmUwOGZiZTY3YWQ5N2U2YzRmYjU1YWRhMzgzZi90aGlyZF9w
YXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL2Nzcy9tZWRpYV9xdWVyeV9ldmFsdWF0b3IuY2MjTDQz
NgorCisgICAgICAgIFRlc3Q6IGZhc3QvbWVkaWEvbWVkaWEtcXVlcnktbGVuZ3Rocy1ldmFsdWF0
ZS13aXRoLWRvdWJsZS1wcmVjaXNpb24uaHRtbAorICAgICAgICBhbmQgV1BUIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL21lZGlhcXVlcmllcy9taW4td2lkdGgtMDAxLnhodAor
CisgICAgICAgICogY3NzL01lZGlhUXVlcnlFdmFsdWF0b3IuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Y29tcHV0ZUxlbmd0aCk6CisgICAgICAgIEFjY2VwdCBgZG91YmxlJiByZXN1bHRgIGluc3Rl
YWQgb2YgYGludCYgcmVzdWx0YC4KKyAgICAgICAgQ29tcHV0ZSBkb3VibGUgaW5zdGVhZCBvZiBp
bnQuCisKKyAgICAgICAgKFdlYkNvcmU6OmRldmljZUhlaWdodEV2YWx1YXRlKToKKyAgICAgICAg
KFdlYkNvcmU6OmRldmljZVdpZHRoRXZhbHVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6aGVpZ2h0
RXZhbHVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6d2lkdGhFdmFsdWF0ZSk6CisgICAgICAgIEV2
YWx1dGUgd2l0aCBgbGVuZ3RoYCBhcyBkb3VibGUgaW5zdGVhZCBvZiBpbnQuCisKIDIwMjEtMDQt
MDIgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUGVuZGluZ0lt
YWdlQml0bWFwIGdldHMgY3JlYXRlZCBvbiBhIHN0b3BwZWQgc2NyaXB0IGV4ZWN1dGlvbiBjb250
ZXh0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFdmFsdWF0b3Iu
Y3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFdmFsdWF0b3IuY3BwCmluZGV4IGI5
Nzc5YTZmOWU4ZWQ1NTlmNmY3N2U4Y2YxMjQxNGJiZWU4MTM0ZjYuLjBhNDI3ZDM5MjZjYzM5ZjVj
ZDg1MWJiYmY3NjgyZGU4YTRkOThiMWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9N
ZWRpYVF1ZXJ5RXZhbHVhdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVy
eUV2YWx1YXRvci5jcHAKQEAgLTQ4Miw3ICs0ODIsNyBAQCBzdGF0aWMgYm9vbCBncmlkRXZhbHVh
dGUoQ1NTVmFsdWUqIHZhbHVlLCBjb25zdCBDU1NUb0xlbmd0aENvbnZlcnNpb25EYXRhJiwgRnJh
bQogICAgIHJldHVybiB6ZXJvRXZhbHVhdGUodmFsdWUsIG9wKTsKIH0KIAotc3RhdGljIGJvb2wg
Y29tcHV0ZUxlbmd0aChDU1NWYWx1ZSogdmFsdWUsIGJvb2wgc3RyaWN0LCBjb25zdCBDU1NUb0xl
bmd0aENvbnZlcnNpb25EYXRhJiBjb252ZXJzaW9uRGF0YSwgaW50JiByZXN1bHQpCitzdGF0aWMg
Ym9vbCBjb21wdXRlTGVuZ3RoKENTU1ZhbHVlKiB2YWx1ZSwgYm9vbCBzdHJpY3QsIGNvbnN0IENT
U1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEmIGNvbnZlcnNpb25EYXRhLCBkb3VibGUmIHJlc3VsdCkK
IHsKICAgICBpZiAoIWlzPENTU1ByaW1pdGl2ZVZhbHVlPih2YWx1ZSkpCiAgICAgICAgIHJldHVy
biBmYWxzZTsKQEAgLTQ5MCwxMiArNDkwLDEyIEBAIHN0YXRpYyBib29sIGNvbXB1dGVMZW5ndGgo
Q1NTVmFsdWUqIHZhbHVlLCBib29sIHN0cmljdCwgY29uc3QgQ1NTVG9MZW5ndGhDb252ZXJzCiAg
ICAgYXV0byYgcHJpbWl0aXZlVmFsdWUgPSBkb3duY2FzdDxDU1NQcmltaXRpdmVWYWx1ZT4oKnZh
bHVlKTsKIAogICAgIGlmIChwcmltaXRpdmVWYWx1ZS5pc051bWJlcigpKSB7Ci0gICAgICAgIHJl
c3VsdCA9IHByaW1pdGl2ZVZhbHVlLmludFZhbHVlKCk7CisgICAgICAgIHJlc3VsdCA9IGNsYW1w
VG88aW50PihwcmltaXRpdmVWYWx1ZS5kb3VibGVWYWx1ZSgpKTsKICAgICAgICAgcmV0dXJuICFz
dHJpY3QgfHwgIXJlc3VsdDsKICAgICB9CiAKICAgICBpZiAocHJpbWl0aXZlVmFsdWUuaXNMZW5n
dGgoKSkgewotICAgICAgICByZXN1bHQgPSBwcmltaXRpdmVWYWx1ZS5jb21wdXRlTGVuZ3RoPGlu
dD4oY29udmVyc2lvbkRhdGEpOworICAgICAgICByZXN1bHQgPSBwcmltaXRpdmVWYWx1ZS5jb21w
dXRlTGVuZ3RoPGRvdWJsZT4oY29udmVyc2lvbkRhdGEpOwogICAgICAgICByZXR1cm4gdHJ1ZTsK
ICAgICB9CiAKQEAgLTUwOCw3ICs1MDgsNyBAQCBzdGF0aWMgYm9vbCBkZXZpY2VIZWlnaHRFdmFs
dWF0ZShDU1NWYWx1ZSogdmFsdWUsIGNvbnN0IENTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdAogICAg
IC8vIGFzc3VtZSBpZiB3ZSBoYXZlIGEgZGV2aWNlLCBhc3N1bWUgbm9uLXplcm8KICAgICBpZiAo
IXZhbHVlKQogICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICBpbnQgbGVuZ3RoOworICAgIGRvdWJs
ZSBsZW5ndGg7CiAgICAgYXV0byBoZWlnaHQgPSBmcmFtZS5tYWluRnJhbWUoKS5zY3JlZW5TaXpl
KCkuaGVpZ2h0KCk7CiAgICAgaWYgKCFjb21wdXRlTGVuZ3RoKHZhbHVlLCAhZnJhbWUuZG9jdW1l
bnQoKS0+aW5RdWlya3NNb2RlKCksIGNvbnZlcnNpb25EYXRhLCBsZW5ndGgpKQogICAgICAgICBy
ZXR1cm4gZmFsc2U7CkBAIC01MjQsNyArNTI0LDcgQEAgc3RhdGljIGJvb2wgZGV2aWNlV2lkdGhF
dmFsdWF0ZShDU1NWYWx1ZSogdmFsdWUsIGNvbnN0IENTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEK
ICAgICAvLyBhc3N1bWUgaWYgd2UgaGF2ZSBhIGRldmljZSwgYXNzdW1lIG5vbi16ZXJvCiAgICAg
aWYgKCF2YWx1ZSkKICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgaW50IGxlbmd0aDsKKyAgICBk
b3VibGUgbGVuZ3RoOwogICAgIGF1dG8gd2lkdGggPSBmcmFtZS5tYWluRnJhbWUoKS5zY3JlZW5T
aXplKCkud2lkdGgoKTsKICAgICBpZiAoIWNvbXB1dGVMZW5ndGgodmFsdWUsICFmcmFtZS5kb2N1
bWVudCgpLT5pblF1aXJrc01vZGUoKSwgY29udmVyc2lvbkRhdGEsIGxlbmd0aCkpCiAgICAgICAg
IHJldHVybiBmYWxzZTsKQEAgLTU0NSw3ICs1NDUsNyBAQCBzdGF0aWMgYm9vbCBoZWlnaHRFdmFs
dWF0ZShDU1NWYWx1ZSogdmFsdWUsIGNvbnN0IENTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEmIGNv
bgogICAgIGlmIChhdXRvKiByZW5kZXJWaWV3ID0gZnJhbWUuZG9jdW1lbnQoKS0+cmVuZGVyVmll
dygpKQogICAgICAgICBoZWlnaHQgPSBhZGp1c3RGb3JBYnNvbHV0ZVpvb20oaGVpZ2h0LCAqcmVu
ZGVyVmlldyk7CiAKLSAgICBpbnQgbGVuZ3RoOworICAgIGRvdWJsZSBsZW5ndGg7CiAgICAgaWYg
KCFjb21wdXRlTGVuZ3RoKHZhbHVlLCAhZnJhbWUuZG9jdW1lbnQoKS0+aW5RdWlya3NNb2RlKCks
IGNvbnZlcnNpb25EYXRhLCBsZW5ndGgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKQEAgLTU2
NSw3ICs1NjUsNyBAQCBzdGF0aWMgYm9vbCB3aWR0aEV2YWx1YXRlKENTU1ZhbHVlKiB2YWx1ZSwg
Y29uc3QgQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YSYgY29udgogICAgIGlmIChhdXRvKiByZW5k
ZXJWaWV3ID0gZnJhbWUuZG9jdW1lbnQoKS0+cmVuZGVyVmlldygpKQogICAgICAgICB3aWR0aCA9
IGFkanVzdEZvckFic29sdXRlWm9vbSh3aWR0aCwgKnJlbmRlclZpZXcpOwogCi0gICAgaW50IGxl
bmd0aDsKKyAgICBkb3VibGUgbGVuZ3RoOwogICAgIGlmICghY29tcHV0ZUxlbmd0aCh2YWx1ZSwg
IWZyYW1lLmRvY3VtZW50KCktPmluUXVpcmtzTW9kZSgpLCBjb252ZXJzaW9uRGF0YSwgbGVuZ3Ro
KSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZDIyMDQyOTBlZTdiZmJhNzFlMWIy
M2ZhYjc5NjkyY2M4MDYxZjRiYi4uZTBkZjFhZGNkODY5ZDA0OWFmMTU4NWE4YzljNTU4MWE1MDRi
ODg1YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIxLTA0LTAyICBUeWxlciBXaWxjb2NrICA8
dHdpbGNvLm9AcHJvdG9ubWFpbC5jb20+CisKKyAgICAgICAgTWVkaWEgcXVlcmllcyB3aXRoIG1h
eC13aWR0aCBncmVhdGVyIHRoYW4gOTk5OTk5OTk5cHggZXZhbHVhdGUgdG8gZmFsc2UKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNDA5NworCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlIG5vdyBldmFsdWF0
ZSA8bGVuZ3RoPiB2YWx1ZXMgaW4gbWVkaWEgcXVlcmllcyB3aXRoIGRvdWJsZQorICAgICAgICBw
cmVjaXNpb24gaW5zdGVhZCBvZiBpbnQgcHJlY2lzaW9uIHRvIG1hdGNoIG90aGVyIGJyb3dzZXJz
IGFuZCBwYXNzIGFub3RoZXIgV1BULgorCisgICAgICAgICogVGVzdEV4cGVjdGF0aW9uczoKKyAg
ICAgICAgUmVtb3ZlIEltYWdlT25seUZhaWx1cmUgZm9yIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL21lZGlhcXVlcmllcy9taW4td2lkdGgtMDAxLnhodAorICAgICAgICBiZWNh
dXNlIGl0IHBhc3NlcyBub3cuCisKKyAgICAgICAgKiBmYXN0L21lZGlhL21lZGlhLXF1ZXJ5LWxl
bmd0aHMtZXZhbHVhdGUtd2l0aC1kb3VibGUtcHJlY2lzaW9uLWV4cGVjdGVkLmh0bWw6CisgICAg
ICAgIEFkZGVkLgorCisgICAgICAgICogZmFzdC9tZWRpYS9tZWRpYS1xdWVyeS1sZW5ndGhzLWV2
YWx1YXRlLXdpdGgtZG91YmxlLXByZWNpc2lvbi5odG1sOgorICAgICAgICBBZGRlZCB0byB0ZXN0
IHByb3BlcnRpZXMgdGhhdCBXUFQgbWluLXdpZHRoLTAwMS54aHQgZG9lc24ndAorICAgICAgICAo
bWluLWhlaWdodCwgZGV2aWNlLW1pbi1oZWlnaHQsIGRldmljZS1taW4td2lkdGgpLgorCiAyMDIx
LTA0LTAyICBBbWlyIE1hcmsgSnIgIDxhbWlyX21hcmtAYXBwbGUuY29tPgogCiAgICAgICAgIFsg
TWFjT1MgXSBtZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvbWFjb3MtaW5saW5lLW1lZGlhLWNv
bnRyb2xzL21hY29zLWlubGluZS1tZWRpYS1kcm9wcGluZy1jb250cm9scy5odG1sIGlzIGEgZmxh
a3kgZmFpbHVyZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBiL0xh
eW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggMTliMmJkOTY5ZGJjMDA2MzFhNzg0OWNj
MmQ3NWRjNzQzMjNhMjU5OS4uZDAwYzlhYzVlYmQ1ZmQxMjQ4ODUzNDFkNDRhMzViMjUyMmM3YzMz
MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRU
ZXN0cy9UZXN0RXhwZWN0YXRpb25zCkBAIC0xMjYwLDcgKzEyNjAsNiBAQCB3ZWJraXQub3JnL2Iv
MjA5NzM1IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL3NlbGVjdG9ycy9yb290
LXNpYmxpbmdzLgogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvbWVkaWFxdWVy
aWVzL2RldmljZS1hc3BlY3QtcmF0aW8tMDAxLmh0bWwgWyBTa2lwIF0KIGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL21lZGlhcXVlcmllcy9kZXZpY2UtYXNwZWN0LXJhdGlvLTAw
NS5odG1sIFsgU2tpcCBdCiAKLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL21l
ZGlhcXVlcmllcy9taW4td2lkdGgtMDAxLnhodCBbIEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0
Lm9yZy9iLzE1NjY4NCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9tZWRpYXF1
ZXJpZXMvcmVsYXRpdmUtdW5pdHMtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtp
dC5vcmcvYi8xNTY2ODQgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvbWVkaWFx
dWVyaWVzL21xLWNhbGMtMDA1Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYS9tZWRpYS1xdWVyeS1sZW5ndGhzLWV2YWx1YXRlLXdp
dGgtZG91YmxlLXByZWNpc2lvbi1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRp
YS9tZWRpYS1xdWVyeS1sZW5ndGhzLWV2YWx1YXRlLXdpdGgtZG91YmxlLXByZWNpc2lvbi1leHBl
Y3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZjMmE0NTM5OTlhZTdiMmU4YjUyZTRkMjI0NTBlMWE3MGE3
OWIzMDMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhL21lZGlhLXF1
ZXJ5LWxlbmd0aHMtZXZhbHVhdGUtd2l0aC1kb3VibGUtcHJlY2lzaW9uLWV4cGVjdGVkLmh0bWwK
QEAgLTAsMCArMSwyMyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICAgIDx0
aXRsZT5DU1MgVGVzdDogQG1lZGlhIDxsZW5ndGg+IHZhbHVlcyBhcmUgZXZhbHVhdGVkIHdpdGgg
Z3JlYXRlci10aGFuLWludCBwcmVjaXNpb24uPC90aXRsZT4KKyAgICA8bWV0YSBuYW1lPSJhc3Nl
cnQiIGNvbnRlbnQ9IkFsbCBib3hlcyBhcmUgYmx1ZS4iPgorICAgIDxzdHlsZT4KKyAgICAgICAg
ZGl2IHsKKyAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKKyAgICAgICAgICAgIHdp
ZHRoOiAyNTBweDsKKyAgICAgICAgICAgIGhlaWdodDogMjUwcHg7CisgICAgICAgICAgICBtYXJn
aW46IDMwcHg7CisgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibHVlOworICAgICAgICB9
CisgICAgPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj48L2Rpdj4KKzxkaXY+PC9kaXY+
Cis8ZGl2PjwvZGl2PgorPGRpdj48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYS9tZWRpYS1xdWVyeS1sZW5ndGhzLWV2YWx1YXRlLXdp
dGgtZG91YmxlLXByZWNpc2lvbi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYS9tZWRpYS1x
dWVyeS1sZW5ndGhzLWV2YWx1YXRlLXdpdGgtZG91YmxlLXByZWNpc2lvbi5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjRhYTJlMzYzZjU2NGM2OGNhMWQwYTQ2OWUwZDg0ODkxOGQxNmRjMTYKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhL21lZGlhLXF1ZXJ5LWxlbmd0aHMtZXZhbHVh
dGUtd2l0aC1kb3VibGUtcHJlY2lzaW9uLmh0bWwKQEAgLTAsMCArMSw0MyBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICAgIDx0aXRsZT5DU1MgVGVzdDogQG1lZGlhIDxsZW5n
dGg+IHZhbHVlcyBhcmUgZXZhbHVhdGVkIHdpdGggZ3JlYXRlci10aGFuLWludCBwcmVjaXNpb24u
PC90aXRsZT4KKyAgICA8bWV0YSBuYW1lPSJhc3NlcnQiIGNvbnRlbnQ9IkFsbCBib3hlcyBhcmUg
Ymx1ZS4iPgorICAgIDxzdHlsZT4KKyAgICAgICAgZGl2IHsKKyAgICAgICAgICAgIGRpc3BsYXk6
IGlubGluZS1ibG9jazsKKyAgICAgICAgICAgIHdpZHRoOiAyNTBweDsKKyAgICAgICAgICAgIGhl
aWdodDogMjUwcHg7CisgICAgICAgICAgICBtYXJnaW46IDMwcHg7CisgICAgICAgICAgICBiYWNr
Z3JvdW5kLWNvbG9yOiBibHVlOworICAgICAgICB9CisgICAgICAgIEBtZWRpYSAobWluLXdpZHRo
OiA5OTk5OTk5OTk5OXB4KSB7CisgICAgICAgICAgICAjYm94LW9uZSB7CisgICAgICAgICAgICAg
ICAgYmFja2dyb3VuZC1jb2xvcjogeWVsbG93OworICAgICAgICAgICAgfQorICAgICAgICB9Cisg
ICAgICAgIEBtZWRpYSAobWluLWhlaWdodDogOTk5OTk5OTk5OTlweCkgeworICAgICAgICAgICAg
I2JveC10d28geworICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHllbGxvdzsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBAbWVkaWEgKG1pbi1kZXZpY2Utd2lkdGg6
IDk5OTk5OTk5OTk5cHgpIHsKKyAgICAgICAgICAgICNib3gtdGhyZWUgeworICAgICAgICAgICAg
ICAgIGJhY2tncm91bmQtY29sb3I6IHllbGxvdzsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQor
ICAgICAgICBAbWVkaWEgKG1pbi1kZXZpY2UtaGVpZ2h0OiA5OTk5OTk5OTk5OXB4KSB7CisgICAg
ICAgICAgICAjYm94LWZvdXIgeworICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHll
bGxvdzsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIDwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXYgaWQ9ImJveC1vbmUiPjwvZGl2PgorPGRpdiBpZD0iYm94LXR3byI+PC9kaXY+
Cis8ZGl2IGlkPSJib3gtdGhyZWUiPjwvZGl2PgorPGRpdiBpZD0iYm94LWZvdXIiPjwvZGl2Pgor
PC9ib2R5PgorPC9odG1sPgorCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>425354</attachid>
            <date>2021-04-06 22:05:32 -0700</date>
            <delta_ts>2021-04-16 13:50:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224097-20210407000531.patch</filename>
            <type>text/plain</type>
            <size>12484</size>
            <attacher name="Tyler Wilcock">twilco.o</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1NTg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmM0ZTYyN2IwNDAzODEy
NjMwNWIxYTg5NDM3OWVkOWE4OWZjODU4MS4uYjkwNzU0ZGE1MzU2NTQ3ZDg0ZmY4YzM1YWMxNmFl
YmI1ODc1MmRlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDIxLTA0LTA3ICBUeWxl
ciBXaWxjb2NrICA8dHdpbGNvLm9AcHJvdG9ubWFpbC5jb20+CisKKyAgICAgICAgTWVkaWEgcXVl
cmllcyB3aXRoIG1heC13aWR0aCBncmVhdGVyIHRoYW4gOTk5OTk5OTk5cHggZXZhbHVhdGUgdG8g
ZmFsc2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIy
NDA5NworCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgIFdlIG5v
dyBldmFsdWF0ZSA8bGVuZ3RoPiB2YWx1ZXMgaW4gbWVkaWEgcXVlcmllcyB3aXRoIGRvdWJsZQor
ICAgICAgICBwcmVjaXNpb24gaW5zdGVhZCBvZiBpbnQgcHJlY2lzaW9uIHRvIG1hdGNoIG90aGVy
IGJyb3dzZXJzIGFuZCBwYXNzIGEgV1BULgorCisgICAgICAgIFNlZSBzaW1pbGFyIG1ldGhvZCBp
biBDaHJvbWl1bToKKyAgICAgICAgaHR0cHM6Ly9naXRodWIuY29tL2Nocm9taXVtL2Nocm9taXVt
L2Jsb2IvMDlhMGI5NjBiMjdmNmUwOGZiZTY3YWQ5N2U2YzRmYjU1YWRhMzgzZi90aGlyZF9wYXJ0
eS9ibGluay9yZW5kZXJlci9jb3JlL2Nzcy9tZWRpYV9xdWVyeV9ldmFsdWF0b3IuY2MjTDQzNgor
CisgICAgICAgIFRlc3Q6IGZhc3QvbWVkaWEvbWVkaWEtcXVlcnktbGVuZ3Rocy1ldmFsdWF0ZS13
aXRoLWRvdWJsZS1wcmVjaXNpb24uaHRtbAorICAgICAgICBhbmQgV1BUIGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL21lZGlhcXVlcmllcy9taW4td2lkdGgtMDAxLnhodAorCisg
ICAgICAgICogY3NzL01lZGlhUXVlcnlFdmFsdWF0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
Y29tcHV0ZUxlbmd0aCk6CisgICAgICAgIFJldHVybiBPcHRpb25hbDxkb3VibGU+IHJhdGhlciB0
aGFuIGludCYgb3V0LXZhbHVlLgorCisgICAgICAgIChXZWJDb3JlOjpkZXZpY2VIZWlnaHRFdmFs
dWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpkZXZpY2VXaWR0aEV2YWx1YXRlKToKKyAgICAgICAg
KFdlYkNvcmU6OmhlaWdodEV2YWx1YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OndpZHRoRXZhbHVh
dGUpOgorICAgICAgICBFdmFsdWF0ZSBgbGVuZ3RoYCB2YWx1ZXMgYXMgZG91YmxlcyBpbnN0ZWFk
IG9mIGludHMuCisKIDIwMjEtMDQtMDYgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4K
IAogICAgICAgICBbTEZDXVtJRkNdIElubGluZUZvcm1hdHRpbmdTdGF0ZTo6c2hyaW5rVG9GaXQg
c2hvdWxkIHNocmluayBJbmxpbmVJdGVtcyB0b28KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9NZWRpYVF1ZXJ5RXZhbHVhdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1
ZXJ5RXZhbHVhdG9yLmNwcAppbmRleCBiOTc3OWE2ZjllOGVkNTU5ZjZmNzdlOGNmMTI0MTRiYmVl
ODEzNGY2Li5jZGEyYjg4NzVjNTQ0ZGIwODE2MDg5YThlZDY5MjlmMTRkNTRhNThhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV2YWx1YXRvci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFdmFsdWF0b3IuY3BwCkBAIC00ODIsMjQgKzQ4Miwy
NCBAQCBzdGF0aWMgYm9vbCBncmlkRXZhbHVhdGUoQ1NTVmFsdWUqIHZhbHVlLCBjb25zdCBDU1NU
b0xlbmd0aENvbnZlcnNpb25EYXRhJiwgRnJhbQogICAgIHJldHVybiB6ZXJvRXZhbHVhdGUodmFs
dWUsIG9wKTsKIH0KIAotc3RhdGljIGJvb2wgY29tcHV0ZUxlbmd0aChDU1NWYWx1ZSogdmFsdWUs
IGJvb2wgc3RyaWN0LCBjb25zdCBDU1NUb0xlbmd0aENvbnZlcnNpb25EYXRhJiBjb252ZXJzaW9u
RGF0YSwgaW50JiByZXN1bHQpCitzdGF0aWMgT3B0aW9uYWw8ZG91YmxlPiBjb21wdXRlTGVuZ3Ro
KENTU1ZhbHVlKiB2YWx1ZSwgYm9vbCBzdHJpY3QsIGNvbnN0IENTU1RvTGVuZ3RoQ29udmVyc2lv
bkRhdGEmIGNvbnZlcnNpb25EYXRhKQogewogICAgIGlmICghaXM8Q1NTUHJpbWl0aXZlVmFsdWU+
KHZhbHVlKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICByZXR1cm4gV1RGOjpudWxs
b3B0OwogCiAgICAgYXV0byYgcHJpbWl0aXZlVmFsdWUgPSBkb3duY2FzdDxDU1NQcmltaXRpdmVW
YWx1ZT4oKnZhbHVlKTsKLQogICAgIGlmIChwcmltaXRpdmVWYWx1ZS5pc051bWJlcigpKSB7Ci0g
ICAgICAgIHJlc3VsdCA9IHByaW1pdGl2ZVZhbHVlLmludFZhbHVlKCk7Ci0gICAgICAgIHJldHVy
biAhc3RyaWN0IHx8ICFyZXN1bHQ7CisgICAgICAgIGRvdWJsZSB2YWx1ZSA9IHByaW1pdGl2ZVZh
bHVlLmRvdWJsZVZhbHVlKCk7CisgICAgICAgIC8vIFRoZSBvbmx5IHVuaXQtbGVzcyBudW1iZXIg
dmFsdWUgYWxsb3dlZCBpbiBzdHJpY3QgbW9kZSBpcyB6ZXJvLgorICAgICAgICBpZiAoc3RyaWN0
ICYmIHZhbHVlKQorICAgICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKyAgICAgICAgcmV0
dXJuIHZhbHVlOwogICAgIH0KIAogICAgIGlmIChwcmltaXRpdmVWYWx1ZS5pc0xlbmd0aCgpKSB7
Ci0gICAgICAgIHJlc3VsdCA9IHByaW1pdGl2ZVZhbHVlLmNvbXB1dGVMZW5ndGg8aW50Pihjb252
ZXJzaW9uRGF0YSk7Ci0gICAgICAgIHJldHVybiB0cnVlOworICAgICAgICByZXR1cm4gcHJpbWl0
aXZlVmFsdWUuY29tcHV0ZUxlbmd0aDxkb3VibGU+KGNvbnZlcnNpb25EYXRhKTsKICAgICB9Ci0K
LSAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKIH0KIAogc3RhdGlj
IGJvb2wgZGV2aWNlSGVpZ2h0RXZhbHVhdGUoQ1NTVmFsdWUqIHZhbHVlLCBjb25zdCBDU1NUb0xl
bmd0aENvbnZlcnNpb25EYXRhJiBjb252ZXJzaW9uRGF0YSwgRnJhbWUmIGZyYW1lLCBNZWRpYUZl
YXR1cmVQcmVmaXggb3ApCkBAIC01MDgsMTQgKzUwOCwxMyBAQCBzdGF0aWMgYm9vbCBkZXZpY2VI
ZWlnaHRFdmFsdWF0ZShDU1NWYWx1ZSogdmFsdWUsIGNvbnN0IENTU1RvTGVuZ3RoQ29udmVyc2lv
bkRhdAogICAgIC8vIGFzc3VtZSBpZiB3ZSBoYXZlIGEgZGV2aWNlLCBhc3N1bWUgbm9uLXplcm8K
ICAgICBpZiAoIXZhbHVlKQogICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICBpbnQgbGVuZ3RoOwot
ICAgIGF1dG8gaGVpZ2h0ID0gZnJhbWUubWFpbkZyYW1lKCkuc2NyZWVuU2l6ZSgpLmhlaWdodCgp
OwotICAgIGlmICghY29tcHV0ZUxlbmd0aCh2YWx1ZSwgIWZyYW1lLmRvY3VtZW50KCktPmluUXVp
cmtzTW9kZSgpLCBjb252ZXJzaW9uRGF0YSwgbGVuZ3RoKSkKKyAgICBhdXRvIGxlbmd0aCA9IGNv
bXB1dGVMZW5ndGgodmFsdWUsICFmcmFtZS5kb2N1bWVudCgpLT5pblF1aXJrc01vZGUoKSwgY29u
dmVyc2lvbkRhdGEpOworICAgIGlmICghbGVuZ3RoKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAK
LSAgICBMT0dfV0lUSF9TVFJFQU0oTWVkaWFRdWVyaWVzLCBzdHJlYW0gPDwgIiAgZGV2aWNlSGVp
Z2h0RXZhbHVhdGU6IHF1ZXJ5ICIgPDwgb3AgPDwgIiBoZWlnaHQgIiA8PCBsZW5ndGggPDwgIiwg
YWN0dWFsIGhlaWdodCAiIDw8IGhlaWdodCA8PCAiIHJlc3VsdDogIiA8PCBjb21wYXJlVmFsdWUo
aGVpZ2h0LCBsZW5ndGgsIG9wKSk7Ci0KLSAgICByZXR1cm4gY29tcGFyZVZhbHVlKGhlaWdodCwg
bGVuZ3RoLCBvcCk7CisgICAgYXV0byBoZWlnaHQgPSBmcmFtZS5tYWluRnJhbWUoKS5zY3JlZW5T
aXplKCkuaGVpZ2h0KCk7CisgICAgTE9HX1dJVEhfU1RSRUFNKE1lZGlhUXVlcmllcywgc3RyZWFt
IDw8ICIgIGRldmljZUhlaWdodEV2YWx1YXRlOiBxdWVyeSAiIDw8IG9wIDw8ICIgaGVpZ2h0ICIg
PDwgKmxlbmd0aCA8PCAiLCBhY3R1YWwgaGVpZ2h0ICIgPDwgaGVpZ2h0IDw8ICIgcmVzdWx0OiAi
IDw8IGNvbXBhcmVWYWx1ZShoZWlnaHQsICpsZW5ndGgsIG9wKSk7CisgICAgcmV0dXJuIGNvbXBh
cmVWYWx1ZShoZWlnaHQsICpsZW5ndGgsIG9wKTsKIH0KIAogc3RhdGljIGJvb2wgZGV2aWNlV2lk
dGhFdmFsdWF0ZShDU1NWYWx1ZSogdmFsdWUsIGNvbnN0IENTU1RvTGVuZ3RoQ29udmVyc2lvbkRh
dGEmIGNvbnZlcnNpb25EYXRhLCBGcmFtZSYgZnJhbWUsIE1lZGlhRmVhdHVyZVByZWZpeCBvcCkK
QEAgLTUyNCwxNCArNTIzLDEzIEBAIHN0YXRpYyBib29sIGRldmljZVdpZHRoRXZhbHVhdGUoQ1NT
VmFsdWUqIHZhbHVlLCBjb25zdCBDU1NUb0xlbmd0aENvbnZlcnNpb25EYXRhCiAgICAgLy8gYXNz
dW1lIGlmIHdlIGhhdmUgYSBkZXZpY2UsIGFzc3VtZSBub24temVybwogICAgIGlmICghdmFsdWUp
CiAgICAgICAgIHJldHVybiB0cnVlOwotICAgIGludCBsZW5ndGg7Ci0gICAgYXV0byB3aWR0aCA9
IGZyYW1lLm1haW5GcmFtZSgpLnNjcmVlblNpemUoKS53aWR0aCgpOwotICAgIGlmICghY29tcHV0
ZUxlbmd0aCh2YWx1ZSwgIWZyYW1lLmRvY3VtZW50KCktPmluUXVpcmtzTW9kZSgpLCBjb252ZXJz
aW9uRGF0YSwgbGVuZ3RoKSkKKyAgICBhdXRvIGxlbmd0aCA9IGNvbXB1dGVMZW5ndGgodmFsdWUs
ICFmcmFtZS5kb2N1bWVudCgpLT5pblF1aXJrc01vZGUoKSwgY29udmVyc2lvbkRhdGEpOworICAg
IGlmICghbGVuZ3RoKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBMT0dfV0lUSF9TVFJF
QU0oTWVkaWFRdWVyaWVzLCBzdHJlYW0gPDwgIiAgZGV2aWNlV2lkdGhFdmFsdWF0ZTogcXVlcnkg
IiA8PCBvcCA8PCAiIHdpZHRoICIgPDwgbGVuZ3RoIDw8ICIsIGFjdHVhbCB3aWR0aCAiIDw8IHdp
ZHRoIDw8ICIgcmVzdWx0OiAiIDw8IGNvbXBhcmVWYWx1ZSh3aWR0aCwgbGVuZ3RoLCBvcCkpOwot
Ci0gICAgcmV0dXJuIGNvbXBhcmVWYWx1ZSh3aWR0aCwgbGVuZ3RoLCBvcCk7CisgICAgYXV0byB3
aWR0aCA9IGZyYW1lLm1haW5GcmFtZSgpLnNjcmVlblNpemUoKS53aWR0aCgpOworICAgIExPR19X
SVRIX1NUUkVBTShNZWRpYVF1ZXJpZXMsIHN0cmVhbSA8PCAiICBkZXZpY2VXaWR0aEV2YWx1YXRl
OiBxdWVyeSAiIDw8IG9wIDw8ICIgd2lkdGggIiA8PCAqbGVuZ3RoIDw8ICIsIGFjdHVhbCB3aWR0
aCAiIDw8IHdpZHRoIDw8ICIgcmVzdWx0OiAiIDw8IGNvbXBhcmVWYWx1ZSh3aWR0aCwgKmxlbmd0
aCwgb3ApKTsKKyAgICByZXR1cm4gY29tcGFyZVZhbHVlKHdpZHRoLCAqbGVuZ3RoLCBvcCk7CiB9
CiAKIHN0YXRpYyBib29sIGhlaWdodEV2YWx1YXRlKENTU1ZhbHVlKiB2YWx1ZSwgY29uc3QgQ1NT
VG9MZW5ndGhDb252ZXJzaW9uRGF0YSYgY29udmVyc2lvbkRhdGEsIEZyYW1lJiBmcmFtZSwgTWVk
aWFGZWF0dXJlUHJlZml4IG9wKQpAQCAtNTQyLDE2ICs1NDAsMTYgQEAgc3RhdGljIGJvb2wgaGVp
Z2h0RXZhbHVhdGUoQ1NTVmFsdWUqIHZhbHVlLCBjb25zdCBDU1NUb0xlbmd0aENvbnZlcnNpb25E
YXRhJiBjb24KICAgICBpbnQgaGVpZ2h0ID0gdmlldy0+bGF5b3V0SGVpZ2h0KCk7CiAgICAgaWYg
KCF2YWx1ZSkKICAgICAgICAgcmV0dXJuIGhlaWdodDsKLSAgICBpZiAoYXV0byogcmVuZGVyVmll
dyA9IGZyYW1lLmRvY3VtZW50KCktPnJlbmRlclZpZXcoKSkKLSAgICAgICAgaGVpZ2h0ID0gYWRq
dXN0Rm9yQWJzb2x1dGVab29tKGhlaWdodCwgKnJlbmRlclZpZXcpOwogCi0gICAgaW50IGxlbmd0
aDsKLSAgICBpZiAoIWNvbXB1dGVMZW5ndGgodmFsdWUsICFmcmFtZS5kb2N1bWVudCgpLT5pblF1
aXJrc01vZGUoKSwgY29udmVyc2lvbkRhdGEsIGxlbmd0aCkpCisgICAgYXV0byBsZW5ndGggPSBj
b21wdXRlTGVuZ3RoKHZhbHVlLCAhZnJhbWUuZG9jdW1lbnQoKS0+aW5RdWlya3NNb2RlKCksIGNv
bnZlcnNpb25EYXRhKTsKKyAgICBpZiAoIWxlbmd0aCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwog
Ci0gICAgTE9HX1dJVEhfU1RSRUFNKE1lZGlhUXVlcmllcywgc3RyZWFtIDw8ICIgIGhlaWdodEV2
YWx1YXRlOiBxdWVyeSAiIDw8IG9wIDw8ICIgaGVpZ2h0ICIgPDwgbGVuZ3RoIDw8ICIsIGFjdHVh
bCBoZWlnaHQgIiA8PCBoZWlnaHQgPDwgIiByZXN1bHQ6ICIgPDwgY29tcGFyZVZhbHVlKGhlaWdo
dCwgbGVuZ3RoLCBvcCkpOworICAgIGlmIChhdXRvKiByZW5kZXJWaWV3ID0gZnJhbWUuZG9jdW1l
bnQoKS0+cmVuZGVyVmlldygpKQorICAgICAgICBoZWlnaHQgPSBhZGp1c3RGb3JBYnNvbHV0ZVpv
b20oaGVpZ2h0LCAqcmVuZGVyVmlldyk7CiAKLSAgICByZXR1cm4gY29tcGFyZVZhbHVlKGhlaWdo
dCwgbGVuZ3RoLCBvcCk7CisgICAgTE9HX1dJVEhfU1RSRUFNKE1lZGlhUXVlcmllcywgc3RyZWFt
IDw8ICIgIGhlaWdodEV2YWx1YXRlOiBxdWVyeSAiIDw8IG9wIDw8ICIgaGVpZ2h0ICIgPDwgKmxl
bmd0aCA8PCAiLCBhY3R1YWwgaGVpZ2h0ICIgPDwgaGVpZ2h0IDw8ICIgcmVzdWx0OiAiIDw8IGNv
bXBhcmVWYWx1ZShoZWlnaHQsICpsZW5ndGgsIG9wKSk7CisgICAgcmV0dXJuIGNvbXBhcmVWYWx1
ZShoZWlnaHQsICpsZW5ndGgsIG9wKTsKIH0KIAogc3RhdGljIGJvb2wgd2lkdGhFdmFsdWF0ZShD
U1NWYWx1ZSogdmFsdWUsIGNvbnN0IENTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEmIGNvbnZlcnNp
b25EYXRhLCBGcmFtZSYgZnJhbWUsIE1lZGlhRmVhdHVyZVByZWZpeCBvcCkKQEAgLTU2MiwxNiAr
NTYwLDE2IEBAIHN0YXRpYyBib29sIHdpZHRoRXZhbHVhdGUoQ1NTVmFsdWUqIHZhbHVlLCBjb25z
dCBDU1NUb0xlbmd0aENvbnZlcnNpb25EYXRhJiBjb252CiAgICAgaW50IHdpZHRoID0gdmlldy0+
bGF5b3V0V2lkdGgoKTsKICAgICBpZiAoIXZhbHVlKQogICAgICAgICByZXR1cm4gd2lkdGg7Ci0g
ICAgaWYgKGF1dG8qIHJlbmRlclZpZXcgPSBmcmFtZS5kb2N1bWVudCgpLT5yZW5kZXJWaWV3KCkp
Ci0gICAgICAgIHdpZHRoID0gYWRqdXN0Rm9yQWJzb2x1dGVab29tKHdpZHRoLCAqcmVuZGVyVmll
dyk7CiAKLSAgICBpbnQgbGVuZ3RoOwotICAgIGlmICghY29tcHV0ZUxlbmd0aCh2YWx1ZSwgIWZy
YW1lLmRvY3VtZW50KCktPmluUXVpcmtzTW9kZSgpLCBjb252ZXJzaW9uRGF0YSwgbGVuZ3RoKSkK
KyAgICBhdXRvIGxlbmd0aCA9IGNvbXB1dGVMZW5ndGgodmFsdWUsICFmcmFtZS5kb2N1bWVudCgp
LT5pblF1aXJrc01vZGUoKSwgY29udmVyc2lvbkRhdGEpOworICAgIGlmICghbGVuZ3RoKQogICAg
ICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBMT0dfV0lUSF9TVFJFQU0oTWVkaWFRdWVyaWVzLCBz
dHJlYW0gPDwgIiAgd2lkdGhFdmFsdWF0ZTogcXVlcnkgIiA8PCBvcCA8PCAiIHdpZHRoICIgPDwg
bGVuZ3RoIDw8ICIsIGFjdHVhbCB3aWR0aCAiIDw8IHdpZHRoIDw8ICIgcmVzdWx0OiAiIDw8IGNv
bXBhcmVWYWx1ZSh3aWR0aCwgbGVuZ3RoLCBvcCkpOworICAgIGlmIChhdXRvKiByZW5kZXJWaWV3
ID0gZnJhbWUuZG9jdW1lbnQoKS0+cmVuZGVyVmlldygpKQorICAgICAgICB3aWR0aCA9IGFkanVz
dEZvckFic29sdXRlWm9vbSh3aWR0aCwgKnJlbmRlclZpZXcpOwogCi0gICAgcmV0dXJuIGNvbXBh
cmVWYWx1ZSh3aWR0aCwgbGVuZ3RoLCBvcCk7CisgICAgTE9HX1dJVEhfU1RSRUFNKE1lZGlhUXVl
cmllcywgc3RyZWFtIDw8ICIgIHdpZHRoRXZhbHVhdGU6IHF1ZXJ5ICIgPDwgb3AgPDwgIiB3aWR0
aCAiIDw8ICpsZW5ndGggPDwgIiwgYWN0dWFsIHdpZHRoICIgPDwgd2lkdGggPDwgIiByZXN1bHQ6
ICIgPDwgY29tcGFyZVZhbHVlKHdpZHRoLCAqbGVuZ3RoLCBvcCkpOworICAgIHJldHVybiBjb21w
YXJlVmFsdWUod2lkdGgsICpsZW5ndGgsIG9wKTsKIH0KIAogc3RhdGljIGJvb2wgbWluQ29sb3JF
dmFsdWF0ZShDU1NWYWx1ZSogdmFsdWUsIGNvbnN0IENTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEm
IGNvbnZlcnNpb25EYXRhLCBGcmFtZSYgZnJhbWUsIE1lZGlhRmVhdHVyZVByZWZpeCkKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRl
eCBmNzg4YzdlMDAwNThiM2JlYTk0NTUxMjcyN2YwNDBiYjdkOGJlMmU5Li5mNTM2ODJlNjFjMmE4
MTUzZmI5YzZkZTczZGQ2MDI2MDU3YjNjNmZmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMjEt
MDQtMDcgIFR5bGVyIFdpbGNvY2sgIDx0d2lsY28ub0Bwcm90b25tYWlsLmNvbT4KKworICAgICAg
ICBNZWRpYSBxdWVyaWVzIHdpdGggbWF4LXdpZHRoIGdyZWF0ZXIgdGhhbiA5OTk5OTk5OTlweCBl
dmFsdWF0ZSB0byBmYWxzZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjI0MDk3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAg
ICAgICAgV2Ugbm93IGV2YWx1YXRlIDxsZW5ndGg+IHZhbHVlcyBpbiBtZWRpYSBxdWVyaWVzIHdp
dGggZG91YmxlCisgICAgICAgIHByZWNpc2lvbiBpbnN0ZWFkIG9mIGludCBwcmVjaXNpb24gdG8g
bWF0Y2ggb3RoZXIgYnJvd3NlcnMgYW5kIHBhc3MgYW5vdGhlciBXUFQuCisKKyAgICAgICAgKiBU
ZXN0RXhwZWN0YXRpb25zOgorICAgICAgICBSZW1vdmUgSW1hZ2VPbmx5RmFpbHVyZSBmb3IgaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvbWVkaWFxdWVyaWVzL21pbi13aWR0aC0w
MDEueGh0CisgICAgICAgIGJlY2F1c2UgaXQgcGFzc2VzIG5vdy4KKworICAgICAgICAqIGZhc3Qv
bWVkaWEvbWVkaWEtcXVlcnktbGVuZ3Rocy1ldmFsdWF0ZS13aXRoLWRvdWJsZS1wcmVjaXNpb24t
ZXhwZWN0ZWQuaHRtbDoKKyAgICAgICAgQWRkZWQuCisKKyAgICAgICAgKiBmYXN0L21lZGlhL21l
ZGlhLXF1ZXJ5LWxlbmd0aHMtZXZhbHVhdGUtd2l0aC1kb3VibGUtcHJlY2lzaW9uLmh0bWw6Cisg
ICAgICAgIEFkZGVkIHRvIHRlc3QgcHJvcGVydGllcyB0aGF0IFdQVCBtaW4td2lkdGgtMDAxLnho
dCBkb2Vzbid0CisgICAgICAgIChtaW4taGVpZ2h0LCBkZXZpY2UtbWluLWhlaWdodCwgZGV2aWNl
LW1pbi13aWR0aCkuCisKIDIwMjEtMDQtMDYgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBhcHBsZS5j
b20+CiAKICAgICAgICAgWyBDYXRhbGluYSBXSzIgUmVsZWFzZSBdIGh0dHAvdGVzdHMvSW5kZXhl
ZERCL3N0b3JhZ2UtbGltaXQtMS5odHRwcy5odG1sIGlzIGEgZmxha3kgZmFpbHVyZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RFeHBl
Y3RhdGlvbnMKaW5kZXggMTliMmJkOTY5ZGJjMDA2MzFhNzg0OWNjMmQ3NWRjNzQzMjNhMjU5OS4u
ZDAwYzlhYzVlYmQ1ZmQxMjQ4ODUzNDFkNDRhMzViMjUyMmM3YzMzMiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRp
b25zCkBAIC0xMjYwLDcgKzEyNjAsNiBAQCB3ZWJraXQub3JnL2IvMjA5NzM1IGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL3NlbGVjdG9ycy9yb290LXNpYmxpbmdzLgogaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvbWVkaWFxdWVyaWVzL2RldmljZS1hc3BlY3Qt
cmF0aW8tMDAxLmh0bWwgWyBTa2lwIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL21lZGlhcXVlcmllcy9kZXZpY2UtYXNwZWN0LXJhdGlvLTAwNS5odG1sIFsgU2tpcCBdCiAK
LWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL21lZGlhcXVlcmllcy9taW4td2lk
dGgtMDAxLnhodCBbIEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzE1NjY4NCBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9tZWRpYXF1ZXJpZXMvcmVsYXRpdmUtdW5p
dHMtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xNTY2ODQgaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvbWVkaWFxdWVyaWVzL21xLWNhbGMtMDA1
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9tZWRpYS9tZWRpYS1xdWVyeS1sZW5ndGhzLWV2YWx1YXRlLXdpdGgtZG91YmxlLXByZWNpc2lv
bi1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYS9tZWRpYS1xdWVyeS1sZW5n
dGhzLWV2YWx1YXRlLXdpdGgtZG91YmxlLXByZWNpc2lvbi1leHBlY3RlZC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmZjMmE0NTM5OTlhZTdiMmU4YjUyZTRkMjI0NTBlMWE3MGE3OWIzMDMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhL21lZGlhLXF1ZXJ5LWxlbmd0aHMtZXZhbHVh
dGUtd2l0aC1kb3VibGUtcHJlY2lzaW9uLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwyMyBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICAgIDx0aXRsZT5DU1MgVGVzdDogQG1l
ZGlhIDxsZW5ndGg+IHZhbHVlcyBhcmUgZXZhbHVhdGVkIHdpdGggZ3JlYXRlci10aGFuLWludCBw
cmVjaXNpb24uPC90aXRsZT4KKyAgICA8bWV0YSBuYW1lPSJhc3NlcnQiIGNvbnRlbnQ9IkFsbCBi
b3hlcyBhcmUgYmx1ZS4iPgorICAgIDxzdHlsZT4KKyAgICAgICAgZGl2IHsKKyAgICAgICAgICAg
IGRpc3BsYXk6IGlubGluZS1ibG9jazsKKyAgICAgICAgICAgIHdpZHRoOiAyNTBweDsKKyAgICAg
ICAgICAgIGhlaWdodDogMjUwcHg7CisgICAgICAgICAgICBtYXJnaW46IDMwcHg7CisgICAgICAg
ICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibHVlOworICAgICAgICB9CisgICAgPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj48L2Rpdj4KKzxkaXY+PC9kaXY+Cis8ZGl2PjwvZGl2PgorPGRp
dj48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9tZWRpYS9tZWRpYS1xdWVyeS1sZW5ndGhzLWV2YWx1YXRlLXdpdGgtZG91YmxlLXByZWNpc2lv
bi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYS9tZWRpYS1xdWVyeS1sZW5ndGhzLWV2YWx1
YXRlLXdpdGgtZG91YmxlLXByZWNpc2lvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRhYTJlMzYzZjU2NGM2
OGNhMWQwYTQ2OWUwZDg0ODkxOGQxNmRjMTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L21lZGlhL21lZGlhLXF1ZXJ5LWxlbmd0aHMtZXZhbHVhdGUtd2l0aC1kb3VibGUtcHJl
Y2lzaW9uLmh0bWwKQEAgLTAsMCArMSw0MyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorICAgIDx0aXRsZT5DU1MgVGVzdDogQG1lZGlhIDxsZW5ndGg+IHZhbHVlcyBhcmUgZXZh
bHVhdGVkIHdpdGggZ3JlYXRlci10aGFuLWludCBwcmVjaXNpb24uPC90aXRsZT4KKyAgICA8bWV0
YSBuYW1lPSJhc3NlcnQiIGNvbnRlbnQ9IkFsbCBib3hlcyBhcmUgYmx1ZS4iPgorICAgIDxzdHls
ZT4KKyAgICAgICAgZGl2IHsKKyAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKKyAg
ICAgICAgICAgIHdpZHRoOiAyNTBweDsKKyAgICAgICAgICAgIGhlaWdodDogMjUwcHg7CisgICAg
ICAgICAgICBtYXJnaW46IDMwcHg7CisgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibHVl
OworICAgICAgICB9CisgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTk5OTk5OTk5OXB4KSB7
CisgICAgICAgICAgICAjYm94LW9uZSB7CisgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xv
cjogeWVsbG93OworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIEBtZWRpYSAobWlu
LWhlaWdodDogOTk5OTk5OTk5OTlweCkgeworICAgICAgICAgICAgI2JveC10d28geworICAgICAg
ICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHllbGxvdzsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgfQorICAgICAgICBAbWVkaWEgKG1pbi1kZXZpY2Utd2lkdGg6IDk5OTk5OTk5OTk5cHgpIHsK
KyAgICAgICAgICAgICNib3gtdGhyZWUgeworICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29s
b3I6IHllbGxvdzsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBAbWVkaWEgKG1p
bi1kZXZpY2UtaGVpZ2h0OiA5OTk5OTk5OTk5OXB4KSB7CisgICAgICAgICAgICAjYm94LWZvdXIg
eworICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHllbGxvdzsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgfQorICAgIDwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImJv
eC1vbmUiPjwvZGl2PgorPGRpdiBpZD0iYm94LXR3byI+PC9kaXY+Cis8ZGl2IGlkPSJib3gtdGhy
ZWUiPjwvZGl2PgorPGRpdiBpZD0iYm94LWZvdXIiPjwvZGl2PgorPC9ib2R5PgorPC9odG1sPgor
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>426271</attachid>
            <date>2021-04-16 13:50:55 -0700</date>
            <delta_ts>2021-04-16 17:43:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224097-20210416155054.patch</filename>
            <type>text/plain</type>
            <size>12454</size>
            <attacher name="Tyler Wilcock">twilco.o</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2MTY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGQyZTIxOGY0NWJmMjNm
ZjBiMDVlMGFhMWJkMTNhYzQ5MjMwZThlZi4uMzdlNzQ5NjViNWM1Y2Y4MzU2MWI0YWI1MThlOTE5
YjkwYzEzMDc4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDIxLTA0LTE2ICBUeWxl
ciBXaWxjb2NrICA8dHdpbGNvLm9AcHJvdG9ubWFpbC5jb20+CisKKyAgICAgICAgTWVkaWEgcXVl
cmllcyB3aXRoIG1heC13aWR0aCBncmVhdGVyIHRoYW4gOTk5OTk5OTk5cHggZXZhbHVhdGUgdG8g
ZmFsc2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIy
NDA5NworCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgIFdlIG5v
dyBldmFsdWF0ZSA8bGVuZ3RoPiB2YWx1ZXMgaW4gbWVkaWEgcXVlcmllcyB3aXRoIGRvdWJsZQor
ICAgICAgICBwcmVjaXNpb24gaW5zdGVhZCBvZiBpbnQgcHJlY2lzaW9uIHRvIG1hdGNoIG90aGVy
IGJyb3dzZXJzIGFuZCBwYXNzIGEgV1BULgorCisgICAgICAgIFNlZSBzaW1pbGFyIG1ldGhvZCBp
biBDaHJvbWl1bToKKyAgICAgICAgaHR0cHM6Ly9naXRodWIuY29tL2Nocm9taXVtL2Nocm9taXVt
L2Jsb2IvMDlhMGI5NjBiMjdmNmUwOGZiZTY3YWQ5N2U2YzRmYjU1YWRhMzgzZi90aGlyZF9wYXJ0
eS9ibGluay9yZW5kZXJlci9jb3JlL2Nzcy9tZWRpYV9xdWVyeV9ldmFsdWF0b3IuY2MjTDQzNgor
CisgICAgICAgIFRlc3Q6IGZhc3QvbWVkaWEvbWVkaWEtcXVlcnktbGVuZ3Rocy1ldmFsdWF0ZS13
aXRoLWRvdWJsZS1wcmVjaXNpb24uaHRtbAorICAgICAgICBhbmQgV1BUIGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL21lZGlhcXVlcmllcy9taW4td2lkdGgtMDAxLnhodAorCisg
ICAgICAgICogY3NzL01lZGlhUXVlcnlFdmFsdWF0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
Y29tcHV0ZUxlbmd0aCk6CisgICAgICAgIFJldHVybiBPcHRpb25hbDxkb3VibGU+IHJhdGhlciB0
aGFuIGludCYgb3V0LXZhbHVlLgorCisgICAgICAgIChXZWJDb3JlOjpkZXZpY2VIZWlnaHRFdmFs
dWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpkZXZpY2VXaWR0aEV2YWx1YXRlKToKKyAgICAgICAg
KFdlYkNvcmU6OmhlaWdodEV2YWx1YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OndpZHRoRXZhbHVh
dGUpOgorICAgICAgICBFdmFsdWF0ZSBgbGVuZ3RoYCB2YWx1ZXMgYXMgZG91YmxlcyBpbnN0ZWFk
IG9mIGludHMuCisKIDIwMjEtMDQtMTYgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5A
d2Via2l0Lm9yZz4KIAogICAgICAgICBEaXNhYmxlIEFwcGxpY2F0aW9uQ2FjaGUgd2l0aCBsaW5r
ZWRPbk9yQWZ0ZXIgY2hlY2sKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1
ZXJ5RXZhbHVhdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXZhbHVhdG9y
LmNwcAppbmRleCBiOTc3OWE2ZjllOGVkNTU5ZjZmNzdlOGNmMTI0MTRiYmVlODEzNGY2Li5jMjU0
MTY3MmRhNjRkYzgwMjI4MWYzMzY5YWU4NjQ5NDU3ZDZlMGQyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV2YWx1YXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL01lZGlhUXVlcnlFdmFsdWF0b3IuY3BwCkBAIC00ODIsMjQgKzQ4MiwyNCBAQCBzdGF0aWMg
Ym9vbCBncmlkRXZhbHVhdGUoQ1NTVmFsdWUqIHZhbHVlLCBjb25zdCBDU1NUb0xlbmd0aENvbnZl
cnNpb25EYXRhJiwgRnJhbQogICAgIHJldHVybiB6ZXJvRXZhbHVhdGUodmFsdWUsIG9wKTsKIH0K
IAotc3RhdGljIGJvb2wgY29tcHV0ZUxlbmd0aChDU1NWYWx1ZSogdmFsdWUsIGJvb2wgc3RyaWN0
LCBjb25zdCBDU1NUb0xlbmd0aENvbnZlcnNpb25EYXRhJiBjb252ZXJzaW9uRGF0YSwgaW50JiBy
ZXN1bHQpCitzdGF0aWMgT3B0aW9uYWw8ZG91YmxlPiBjb21wdXRlTGVuZ3RoKENTU1ZhbHVlKiB2
YWx1ZSwgYm9vbCBzdHJpY3QsIGNvbnN0IENTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEmIGNvbnZl
cnNpb25EYXRhKQogewogICAgIGlmICghaXM8Q1NTUHJpbWl0aXZlVmFsdWU+KHZhbHVlKSkKLSAg
ICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwogCiAgICAg
YXV0byYgcHJpbWl0aXZlVmFsdWUgPSBkb3duY2FzdDxDU1NQcmltaXRpdmVWYWx1ZT4oKnZhbHVl
KTsKLQogICAgIGlmIChwcmltaXRpdmVWYWx1ZS5pc051bWJlcigpKSB7Ci0gICAgICAgIHJlc3Vs
dCA9IHByaW1pdGl2ZVZhbHVlLmludFZhbHVlKCk7Ci0gICAgICAgIHJldHVybiAhc3RyaWN0IHx8
ICFyZXN1bHQ7CisgICAgICAgIGRvdWJsZSB2YWx1ZSA9IHByaW1pdGl2ZVZhbHVlLmRvdWJsZVZh
bHVlKCk7CisgICAgICAgIC8vIFRoZSBvbmx5IHVuaXRsZXNzIG51bWJlciB2YWx1ZSBhbGxvd2Vk
IGluIHN0cmljdCBtb2RlIGlzIHplcm8uCisgICAgICAgIGlmIChzdHJpY3QgJiYgdmFsdWUpCisg
ICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworICAgICAgICByZXR1cm4gdmFsdWU7CiAg
ICAgfQogCiAgICAgaWYgKHByaW1pdGl2ZVZhbHVlLmlzTGVuZ3RoKCkpIHsKLSAgICAgICAgcmVz
dWx0ID0gcHJpbWl0aXZlVmFsdWUuY29tcHV0ZUxlbmd0aDxpbnQ+KGNvbnZlcnNpb25EYXRhKTsK
LSAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIHJldHVybiBwcmltaXRpdmVWYWx1ZS5jb21w
dXRlTGVuZ3RoPGRvdWJsZT4oY29udmVyc2lvbkRhdGEpOwogICAgIH0KLQotICAgIHJldHVybiBm
YWxzZTsKKyAgICByZXR1cm4gV1RGOjpudWxsb3B0OwogfQogCiBzdGF0aWMgYm9vbCBkZXZpY2VI
ZWlnaHRFdmFsdWF0ZShDU1NWYWx1ZSogdmFsdWUsIGNvbnN0IENTU1RvTGVuZ3RoQ29udmVyc2lv
bkRhdGEmIGNvbnZlcnNpb25EYXRhLCBGcmFtZSYgZnJhbWUsIE1lZGlhRmVhdHVyZVByZWZpeCBv
cCkKQEAgLTUwOCwxNCArNTA4LDEzIEBAIHN0YXRpYyBib29sIGRldmljZUhlaWdodEV2YWx1YXRl
KENTU1ZhbHVlKiB2YWx1ZSwgY29uc3QgQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0CiAgICAgLy8g
YXNzdW1lIGlmIHdlIGhhdmUgYSBkZXZpY2UsIGFzc3VtZSBub24temVybwogICAgIGlmICghdmFs
dWUpCiAgICAgICAgIHJldHVybiB0cnVlOwotICAgIGludCBsZW5ndGg7Ci0gICAgYXV0byBoZWln
aHQgPSBmcmFtZS5tYWluRnJhbWUoKS5zY3JlZW5TaXplKCkuaGVpZ2h0KCk7Ci0gICAgaWYgKCFj
b21wdXRlTGVuZ3RoKHZhbHVlLCAhZnJhbWUuZG9jdW1lbnQoKS0+aW5RdWlya3NNb2RlKCksIGNv
bnZlcnNpb25EYXRhLCBsZW5ndGgpKQorICAgIGF1dG8gbGVuZ3RoID0gY29tcHV0ZUxlbmd0aCh2
YWx1ZSwgIWZyYW1lLmRvY3VtZW50KCktPmluUXVpcmtzTW9kZSgpLCBjb252ZXJzaW9uRGF0YSk7
CisgICAgaWYgKCFsZW5ndGgpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIExPR19XSVRI
X1NUUkVBTShNZWRpYVF1ZXJpZXMsIHN0cmVhbSA8PCAiICBkZXZpY2VIZWlnaHRFdmFsdWF0ZTog
cXVlcnkgIiA8PCBvcCA8PCAiIGhlaWdodCAiIDw8IGxlbmd0aCA8PCAiLCBhY3R1YWwgaGVpZ2h0
ICIgPDwgaGVpZ2h0IDw8ICIgcmVzdWx0OiAiIDw8IGNvbXBhcmVWYWx1ZShoZWlnaHQsIGxlbmd0
aCwgb3ApKTsKLQotICAgIHJldHVybiBjb21wYXJlVmFsdWUoaGVpZ2h0LCBsZW5ndGgsIG9wKTsK
KyAgICBhdXRvIGhlaWdodCA9IGZyYW1lLm1haW5GcmFtZSgpLnNjcmVlblNpemUoKS5oZWlnaHQo
KTsKKyAgICBMT0dfV0lUSF9TVFJFQU0oTWVkaWFRdWVyaWVzLCBzdHJlYW0gPDwgIiAgZGV2aWNl
SGVpZ2h0RXZhbHVhdGU6IHF1ZXJ5ICIgPDwgb3AgPDwgIiBoZWlnaHQgIiA8PCAqbGVuZ3RoIDw8
ICIsIGFjdHVhbCBoZWlnaHQgIiA8PCBoZWlnaHQgPDwgIiByZXN1bHQ6ICIgPDwgY29tcGFyZVZh
bHVlKGhlaWdodCwgKmxlbmd0aCwgb3ApKTsKKyAgICByZXR1cm4gY29tcGFyZVZhbHVlKGhlaWdo
dCwgKmxlbmd0aCwgb3ApOwogfQogCiBzdGF0aWMgYm9vbCBkZXZpY2VXaWR0aEV2YWx1YXRlKENT
U1ZhbHVlKiB2YWx1ZSwgY29uc3QgQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YSYgY29udmVyc2lv
bkRhdGEsIEZyYW1lJiBmcmFtZSwgTWVkaWFGZWF0dXJlUHJlZml4IG9wKQpAQCAtNTI0LDE0ICs1
MjMsMTMgQEAgc3RhdGljIGJvb2wgZGV2aWNlV2lkdGhFdmFsdWF0ZShDU1NWYWx1ZSogdmFsdWUs
IGNvbnN0IENTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEKICAgICAvLyBhc3N1bWUgaWYgd2UgaGF2
ZSBhIGRldmljZSwgYXNzdW1lIG5vbi16ZXJvCiAgICAgaWYgKCF2YWx1ZSkKICAgICAgICAgcmV0
dXJuIHRydWU7Ci0gICAgaW50IGxlbmd0aDsKLSAgICBhdXRvIHdpZHRoID0gZnJhbWUubWFpbkZy
YW1lKCkuc2NyZWVuU2l6ZSgpLndpZHRoKCk7Ci0gICAgaWYgKCFjb21wdXRlTGVuZ3RoKHZhbHVl
LCAhZnJhbWUuZG9jdW1lbnQoKS0+aW5RdWlya3NNb2RlKCksIGNvbnZlcnNpb25EYXRhLCBsZW5n
dGgpKQorICAgIGF1dG8gbGVuZ3RoID0gY29tcHV0ZUxlbmd0aCh2YWx1ZSwgIWZyYW1lLmRvY3Vt
ZW50KCktPmluUXVpcmtzTW9kZSgpLCBjb252ZXJzaW9uRGF0YSk7CisgICAgaWYgKCFsZW5ndGgp
CiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIExPR19XSVRIX1NUUkVBTShNZWRpYVF1ZXJp
ZXMsIHN0cmVhbSA8PCAiICBkZXZpY2VXaWR0aEV2YWx1YXRlOiBxdWVyeSAiIDw8IG9wIDw8ICIg
d2lkdGggIiA8PCBsZW5ndGggPDwgIiwgYWN0dWFsIHdpZHRoICIgPDwgd2lkdGggPDwgIiByZXN1
bHQ6ICIgPDwgY29tcGFyZVZhbHVlKHdpZHRoLCBsZW5ndGgsIG9wKSk7Ci0KLSAgICByZXR1cm4g
Y29tcGFyZVZhbHVlKHdpZHRoLCBsZW5ndGgsIG9wKTsKKyAgICBhdXRvIHdpZHRoID0gZnJhbWUu
bWFpbkZyYW1lKCkuc2NyZWVuU2l6ZSgpLndpZHRoKCk7CisgICAgTE9HX1dJVEhfU1RSRUFNKE1l
ZGlhUXVlcmllcywgc3RyZWFtIDw8ICIgIGRldmljZVdpZHRoRXZhbHVhdGU6IHF1ZXJ5ICIgPDwg
b3AgPDwgIiB3aWR0aCAiIDw8ICpsZW5ndGggPDwgIiwgYWN0dWFsIHdpZHRoICIgPDwgd2lkdGgg
PDwgIiByZXN1bHQ6ICIgPDwgY29tcGFyZVZhbHVlKHdpZHRoLCAqbGVuZ3RoLCBvcCkpOworICAg
IHJldHVybiBjb21wYXJlVmFsdWUod2lkdGgsICpsZW5ndGgsIG9wKTsKIH0KIAogc3RhdGljIGJv
b2wgaGVpZ2h0RXZhbHVhdGUoQ1NTVmFsdWUqIHZhbHVlLCBjb25zdCBDU1NUb0xlbmd0aENvbnZl
cnNpb25EYXRhJiBjb252ZXJzaW9uRGF0YSwgRnJhbWUmIGZyYW1lLCBNZWRpYUZlYXR1cmVQcmVm
aXggb3ApCkBAIC01NDIsMTYgKzU0MCwxNiBAQCBzdGF0aWMgYm9vbCBoZWlnaHRFdmFsdWF0ZShD
U1NWYWx1ZSogdmFsdWUsIGNvbnN0IENTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEmIGNvbgogICAg
IGludCBoZWlnaHQgPSB2aWV3LT5sYXlvdXRIZWlnaHQoKTsKICAgICBpZiAoIXZhbHVlKQogICAg
ICAgICByZXR1cm4gaGVpZ2h0OwotICAgIGlmIChhdXRvKiByZW5kZXJWaWV3ID0gZnJhbWUuZG9j
dW1lbnQoKS0+cmVuZGVyVmlldygpKQotICAgICAgICBoZWlnaHQgPSBhZGp1c3RGb3JBYnNvbHV0
ZVpvb20oaGVpZ2h0LCAqcmVuZGVyVmlldyk7CiAKLSAgICBpbnQgbGVuZ3RoOwotICAgIGlmICgh
Y29tcHV0ZUxlbmd0aCh2YWx1ZSwgIWZyYW1lLmRvY3VtZW50KCktPmluUXVpcmtzTW9kZSgpLCBj
b252ZXJzaW9uRGF0YSwgbGVuZ3RoKSkKKyAgICBhdXRvIGxlbmd0aCA9IGNvbXB1dGVMZW5ndGgo
dmFsdWUsICFmcmFtZS5kb2N1bWVudCgpLT5pblF1aXJrc01vZGUoKSwgY29udmVyc2lvbkRhdGEp
OworICAgIGlmICghbGVuZ3RoKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBMT0dfV0lU
SF9TVFJFQU0oTWVkaWFRdWVyaWVzLCBzdHJlYW0gPDwgIiAgaGVpZ2h0RXZhbHVhdGU6IHF1ZXJ5
ICIgPDwgb3AgPDwgIiBoZWlnaHQgIiA8PCBsZW5ndGggPDwgIiwgYWN0dWFsIGhlaWdodCAiIDw8
IGhlaWdodCA8PCAiIHJlc3VsdDogIiA8PCBjb21wYXJlVmFsdWUoaGVpZ2h0LCBsZW5ndGgsIG9w
KSk7CisgICAgaWYgKGF1dG8qIHJlbmRlclZpZXcgPSBmcmFtZS5kb2N1bWVudCgpLT5yZW5kZXJW
aWV3KCkpCisgICAgICAgIGhlaWdodCA9IGFkanVzdEZvckFic29sdXRlWm9vbShoZWlnaHQsICpy
ZW5kZXJWaWV3KTsKIAotICAgIHJldHVybiBjb21wYXJlVmFsdWUoaGVpZ2h0LCBsZW5ndGgsIG9w
KTsKKyAgICBMT0dfV0lUSF9TVFJFQU0oTWVkaWFRdWVyaWVzLCBzdHJlYW0gPDwgIiAgaGVpZ2h0
RXZhbHVhdGU6IHF1ZXJ5ICIgPDwgb3AgPDwgIiBoZWlnaHQgIiA8PCAqbGVuZ3RoIDw8ICIsIGFj
dHVhbCBoZWlnaHQgIiA8PCBoZWlnaHQgPDwgIiByZXN1bHQ6ICIgPDwgY29tcGFyZVZhbHVlKGhl
aWdodCwgKmxlbmd0aCwgb3ApKTsKKyAgICByZXR1cm4gY29tcGFyZVZhbHVlKGhlaWdodCwgKmxl
bmd0aCwgb3ApOwogfQogCiBzdGF0aWMgYm9vbCB3aWR0aEV2YWx1YXRlKENTU1ZhbHVlKiB2YWx1
ZSwgY29uc3QgQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YSYgY29udmVyc2lvbkRhdGEsIEZyYW1l
JiBmcmFtZSwgTWVkaWFGZWF0dXJlUHJlZml4IG9wKQpAQCAtNTYyLDE2ICs1NjAsMTYgQEAgc3Rh
dGljIGJvb2wgd2lkdGhFdmFsdWF0ZShDU1NWYWx1ZSogdmFsdWUsIGNvbnN0IENTU1RvTGVuZ3Ro
Q29udmVyc2lvbkRhdGEmIGNvbnYKICAgICBpbnQgd2lkdGggPSB2aWV3LT5sYXlvdXRXaWR0aCgp
OwogICAgIGlmICghdmFsdWUpCiAgICAgICAgIHJldHVybiB3aWR0aDsKLSAgICBpZiAoYXV0byog
cmVuZGVyVmlldyA9IGZyYW1lLmRvY3VtZW50KCktPnJlbmRlclZpZXcoKSkKLSAgICAgICAgd2lk
dGggPSBhZGp1c3RGb3JBYnNvbHV0ZVpvb20od2lkdGgsICpyZW5kZXJWaWV3KTsKIAotICAgIGlu
dCBsZW5ndGg7Ci0gICAgaWYgKCFjb21wdXRlTGVuZ3RoKHZhbHVlLCAhZnJhbWUuZG9jdW1lbnQo
KS0+aW5RdWlya3NNb2RlKCksIGNvbnZlcnNpb25EYXRhLCBsZW5ndGgpKQorICAgIGF1dG8gbGVu
Z3RoID0gY29tcHV0ZUxlbmd0aCh2YWx1ZSwgIWZyYW1lLmRvY3VtZW50KCktPmluUXVpcmtzTW9k
ZSgpLCBjb252ZXJzaW9uRGF0YSk7CisgICAgaWYgKCFsZW5ndGgpCiAgICAgICAgIHJldHVybiBm
YWxzZTsKIAotICAgIExPR19XSVRIX1NUUkVBTShNZWRpYVF1ZXJpZXMsIHN0cmVhbSA8PCAiICB3
aWR0aEV2YWx1YXRlOiBxdWVyeSAiIDw8IG9wIDw8ICIgd2lkdGggIiA8PCBsZW5ndGggPDwgIiwg
YWN0dWFsIHdpZHRoICIgPDwgd2lkdGggPDwgIiByZXN1bHQ6ICIgPDwgY29tcGFyZVZhbHVlKHdp
ZHRoLCBsZW5ndGgsIG9wKSk7CisgICAgaWYgKGF1dG8qIHJlbmRlclZpZXcgPSBmcmFtZS5kb2N1
bWVudCgpLT5yZW5kZXJWaWV3KCkpCisgICAgICAgIHdpZHRoID0gYWRqdXN0Rm9yQWJzb2x1dGVa
b29tKHdpZHRoLCAqcmVuZGVyVmlldyk7CiAKLSAgICByZXR1cm4gY29tcGFyZVZhbHVlKHdpZHRo
LCBsZW5ndGgsIG9wKTsKKyAgICBMT0dfV0lUSF9TVFJFQU0oTWVkaWFRdWVyaWVzLCBzdHJlYW0g
PDwgIiAgd2lkdGhFdmFsdWF0ZTogcXVlcnkgIiA8PCBvcCA8PCAiIHdpZHRoICIgPDwgKmxlbmd0
aCA8PCAiLCBhY3R1YWwgd2lkdGggIiA8PCB3aWR0aCA8PCAiIHJlc3VsdDogIiA8PCBjb21wYXJl
VmFsdWUod2lkdGgsICpsZW5ndGgsIG9wKSk7CisgICAgcmV0dXJuIGNvbXBhcmVWYWx1ZSh3aWR0
aCwgKmxlbmd0aCwgb3ApOwogfQogCiBzdGF0aWMgYm9vbCBtaW5Db2xvckV2YWx1YXRlKENTU1Zh
bHVlKiB2YWx1ZSwgY29uc3QgQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YSYgY29udmVyc2lvbkRh
dGEsIEZyYW1lJiBmcmFtZSwgTWVkaWFGZWF0dXJlUHJlZml4KQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGM5NzdlZTliYzc5
NTk2MjVmNmE0YzM4NDRhZDE4MWE2ZWU1NjhhYzUuLjM5MDI5ZmJhZDMzYmE4N2M2YzY1YjJmMTI0
YzFjMzYxNTYzNDY2ZDUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBAQAorMjAyMS0wNC0xNiAgVHlsZXIg
V2lsY29jayAgPHR3aWxjby5vQHByb3Rvbm1haWwuY29tPgorCisgICAgICAgIE1lZGlhIHF1ZXJp
ZXMgd2l0aCBtYXgtd2lkdGggZ3JlYXRlciB0aGFuIDk5OTk5OTk5OXB4IGV2YWx1YXRlIHRvIGZh
bHNlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjQw
OTcKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBXZSBub3cg
ZXZhbHVhdGUgPGxlbmd0aD4gdmFsdWVzIGluIG1lZGlhIHF1ZXJpZXMgd2l0aCBkb3VibGUKKyAg
ICAgICAgcHJlY2lzaW9uIGluc3RlYWQgb2YgaW50IHByZWNpc2lvbiB0byBtYXRjaCBvdGhlciBi
cm93c2VycyBhbmQgcGFzcyBhbm90aGVyIFdQVC4KKworICAgICAgICAqIFRlc3RFeHBlY3RhdGlv
bnM6CisgICAgICAgIFJlbW92ZSBJbWFnZU9ubHlGYWlsdXJlIGZvciBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9tZWRpYXF1ZXJpZXMvbWluLXdpZHRoLTAwMS54aHQKKyAgICAg
ICAgYmVjYXVzZSBpdCBwYXNzZXMgbm93LgorCisgICAgICAgICogZmFzdC9tZWRpYS9tZWRpYS1x
dWVyeS1sZW5ndGhzLWV2YWx1YXRlLXdpdGgtZG91YmxlLXByZWNpc2lvbi1leHBlY3RlZC5odG1s
OgorICAgICAgICBBZGRlZC4KKworICAgICAgICAqIGZhc3QvbWVkaWEvbWVkaWEtcXVlcnktbGVu
Z3Rocy1ldmFsdWF0ZS13aXRoLWRvdWJsZS1wcmVjaXNpb24uaHRtbDoKKyAgICAgICAgQWRkZWQg
dG8gdGVzdCBwcm9wZXJ0aWVzIHRoYXQgV1BUIG1pbi13aWR0aC0wMDEueGh0IGRvZXNuJ3QKKyAg
ICAgICAgKG1pbi1oZWlnaHQsIGRldmljZS1taW4taGVpZ2h0LCBkZXZpY2UtbWluLXdpZHRoKS4K
KwogMjAyMS0wNC0xNiAgUm9iZXJ0IEplbm5lciAgPGplbm5lckBhcHBsZS5jb20+CiAKICAgICAg
ICAgWyB3azIgXSBtZWRpYS9wcmVzZW50YXRpb25tb2RlY2hhbmdlZC1maXJlZC1vbmNlLmh0bWwg
aXMgYSBmbGFrZXkgdGltZW91dApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0
aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggMTY4Yzk2N2VjMzNmOTMw
NmI1YTdmMTVmMDE1ZTM1NmJkNTE4NTdjNi4uNWE0NGExZmUwNGMzMjIzYmMxN2U2YzE0NDI1NDhl
YjA2YzJlODYzOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucworKysg
Yi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCkBAIC0xMjUyLDcgKzEyNTIsNiBAQCB3ZWJr
aXQub3JnL2IvMjA5NzM1IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL3NlbGVj
dG9ycy9yb290LXNpYmxpbmdzLgogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
bWVkaWFxdWVyaWVzL2RldmljZS1hc3BlY3QtcmF0aW8tMDAxLmh0bWwgWyBTa2lwIF0KIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL21lZGlhcXVlcmllcy9kZXZpY2UtYXNwZWN0
LXJhdGlvLTAwNS5odG1sIFsgU2tpcCBdCiAKLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL21lZGlhcXVlcmllcy9taW4td2lkdGgtMDAxLnhodCBbIEltYWdlT25seUZhaWx1cmUg
XQogd2Via2l0Lm9yZy9iLzE1NjY4NCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9tZWRpYXF1ZXJpZXMvcmVsYXRpdmUtdW5pdHMtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJl
IF0KIHdlYmtpdC5vcmcvYi8xNTY2ODQgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvbWVkaWFxdWVyaWVzL21xLWNhbGMtMDA1Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYS9tZWRpYS1xdWVyeS1sZW5ndGhzLWV2
YWx1YXRlLXdpdGgtZG91YmxlLXByZWNpc2lvbi1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9tZWRpYS9tZWRpYS1xdWVyeS1sZW5ndGhzLWV2YWx1YXRlLXdpdGgtZG91YmxlLXByZWNp
c2lvbi1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZjMmE0NTM5OTlhZTdiMmU4YjUyZTRkMjI0
NTBlMWE3MGE3OWIzMDMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlh
L21lZGlhLXF1ZXJ5LWxlbmd0aHMtZXZhbHVhdGUtd2l0aC1kb3VibGUtcHJlY2lzaW9uLWV4cGVj
dGVkLmh0bWwKQEAgLTAsMCArMSwyMyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorICAgIDx0aXRsZT5DU1MgVGVzdDogQG1lZGlhIDxsZW5ndGg+IHZhbHVlcyBhcmUgZXZhbHVh
dGVkIHdpdGggZ3JlYXRlci10aGFuLWludCBwcmVjaXNpb24uPC90aXRsZT4KKyAgICA8bWV0YSBu
YW1lPSJhc3NlcnQiIGNvbnRlbnQ9IkFsbCBib3hlcyBhcmUgYmx1ZS4iPgorICAgIDxzdHlsZT4K
KyAgICAgICAgZGl2IHsKKyAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKKyAgICAg
ICAgICAgIHdpZHRoOiAyNTBweDsKKyAgICAgICAgICAgIGhlaWdodDogMjUwcHg7CisgICAgICAg
ICAgICBtYXJnaW46IDMwcHg7CisgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibHVlOwor
ICAgICAgICB9CisgICAgPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj48L2Rpdj4KKzxk
aXY+PC9kaXY+Cis8ZGl2PjwvZGl2PgorPGRpdj48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYS9tZWRpYS1xdWVyeS1sZW5ndGhzLWV2
YWx1YXRlLXdpdGgtZG91YmxlLXByZWNpc2lvbi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRp
YS9tZWRpYS1xdWVyeS1sZW5ndGhzLWV2YWx1YXRlLXdpdGgtZG91YmxlLXByZWNpc2lvbi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjRhYTJlMzYzZjU2NGM2OGNhMWQwYTQ2OWUwZDg0ODkxOGQxNmRjMTYKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhL21lZGlhLXF1ZXJ5LWxlbmd0
aHMtZXZhbHVhdGUtd2l0aC1kb3VibGUtcHJlY2lzaW9uLmh0bWwKQEAgLTAsMCArMSw0MyBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICAgIDx0aXRsZT5DU1MgVGVzdDogQG1l
ZGlhIDxsZW5ndGg+IHZhbHVlcyBhcmUgZXZhbHVhdGVkIHdpdGggZ3JlYXRlci10aGFuLWludCBw
cmVjaXNpb24uPC90aXRsZT4KKyAgICA8bWV0YSBuYW1lPSJhc3NlcnQiIGNvbnRlbnQ9IkFsbCBi
b3hlcyBhcmUgYmx1ZS4iPgorICAgIDxzdHlsZT4KKyAgICAgICAgZGl2IHsKKyAgICAgICAgICAg
IGRpc3BsYXk6IGlubGluZS1ibG9jazsKKyAgICAgICAgICAgIHdpZHRoOiAyNTBweDsKKyAgICAg
ICAgICAgIGhlaWdodDogMjUwcHg7CisgICAgICAgICAgICBtYXJnaW46IDMwcHg7CisgICAgICAg
ICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibHVlOworICAgICAgICB9CisgICAgICAgIEBtZWRpYSAo
bWluLXdpZHRoOiA5OTk5OTk5OTk5OXB4KSB7CisgICAgICAgICAgICAjYm94LW9uZSB7CisgICAg
ICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogeWVsbG93OworICAgICAgICAgICAgfQorICAg
ICAgICB9CisgICAgICAgIEBtZWRpYSAobWluLWhlaWdodDogOTk5OTk5OTk5OTlweCkgeworICAg
ICAgICAgICAgI2JveC10d28geworICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHll
bGxvdzsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBAbWVkaWEgKG1pbi1kZXZp
Y2Utd2lkdGg6IDk5OTk5OTk5OTk5cHgpIHsKKyAgICAgICAgICAgICNib3gtdGhyZWUgeworICAg
ICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHllbGxvdzsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgfQorICAgICAgICBAbWVkaWEgKG1pbi1kZXZpY2UtaGVpZ2h0OiA5OTk5OTk5OTk5OXB4
KSB7CisgICAgICAgICAgICAjYm94LWZvdXIgeworICAgICAgICAgICAgICAgIGJhY2tncm91bmQt
Y29sb3I6IHllbGxvdzsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIDwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImJveC1vbmUiPjwvZGl2PgorPGRpdiBpZD0iYm94LXR3
byI+PC9kaXY+Cis8ZGl2IGlkPSJib3gtdGhyZWUiPjwvZGl2PgorPGRpdiBpZD0iYm94LWZvdXIi
PjwvZGl2PgorPC9ib2R5PgorPC9odG1sPgorCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>426298</attachid>
            <date>2021-04-16 17:43:50 -0700</date>
            <delta_ts>2021-04-17 15:21:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224097-20210416194350.patch</filename>
            <type>text/plain</type>
            <size>12512</size>
            <attacher name="Tyler Wilcock">twilco.o</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2MTg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjgyMGIyNTA3ZTgyMjMw
MjI0OGI0MGIyZjczZmMwYWVmYmFkNDQ3Yi4uZjIxMDIyZDY5NWMwMThhYWZmZjk0ZmUxMjBkMGZl
NDliMzMwMGQ2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDIxLTA0LTE2ICBUeWxl
ciBXaWxjb2NrICA8dHdpbGNvLm9AcHJvdG9ubWFpbC5jb20+CisKKyAgICAgICAgTWVkaWEgcXVl
cmllcyB3aXRoIG1heC13aWR0aCBncmVhdGVyIHRoYW4gOTk5OTk5OTk5cHggZXZhbHVhdGUgdG8g
ZmFsc2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIy
NDA5NworCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgIFdlIG5v
dyBldmFsdWF0ZSA8bGVuZ3RoPiB2YWx1ZXMgaW4gbWVkaWEgcXVlcmllcyB3aXRoIGRvdWJsZQor
ICAgICAgICBwcmVjaXNpb24gaW5zdGVhZCBvZiBpbnQgcHJlY2lzaW9uIHRvIG1hdGNoIG90aGVy
IGJyb3dzZXJzIGFuZCBwYXNzIGEgV1BULgorCisgICAgICAgIFNlZSBzaW1pbGFyIG1ldGhvZCBp
biBDaHJvbWl1bToKKyAgICAgICAgaHR0cHM6Ly9naXRodWIuY29tL2Nocm9taXVtL2Nocm9taXVt
L2Jsb2IvMDlhMGI5NjBiMjdmNmUwOGZiZTY3YWQ5N2U2YzRmYjU1YWRhMzgzZi90aGlyZF9wYXJ0
eS9ibGluay9yZW5kZXJlci9jb3JlL2Nzcy9tZWRpYV9xdWVyeV9ldmFsdWF0b3IuY2MjTDQzNgor
CisgICAgICAgIFRlc3Q6IGZhc3QvbWVkaWEvbWVkaWEtcXVlcnktbGVuZ3Rocy1ldmFsdWF0ZS13
aXRoLWRvdWJsZS1wcmVjaXNpb24uaHRtbAorICAgICAgICBhbmQgV1BUIGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL21lZGlhcXVlcmllcy9taW4td2lkdGgtMDAxLnhodAorCisg
ICAgICAgICogY3NzL01lZGlhUXVlcnlFdmFsdWF0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
Y29tcHV0ZUxlbmd0aCk6CisgICAgICAgIFJldHVybiBPcHRpb25hbDxkb3VibGU+IHJhdGhlciB0
aGFuIGludCYgb3V0LXZhbHVlLgorCisgICAgICAgIChXZWJDb3JlOjpkZXZpY2VIZWlnaHRFdmFs
dWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpkZXZpY2VXaWR0aEV2YWx1YXRlKToKKyAgICAgICAg
KFdlYkNvcmU6OmhlaWdodEV2YWx1YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OndpZHRoRXZhbHVh
dGUpOgorICAgICAgICBFdmFsdWF0ZSBgbGVuZ3RoYCB2YWx1ZXMgYXMgZG91YmxlcyBpbnN0ZWFk
IG9mIGludHMuCisKIDIwMjEtMDQtMTYgIENhbWVyb24gTWNDb3JtYWNrICA8aGV5Y2FtQGFwcGxl
LmNvbT4KIAogICAgICAgICBQbGFjZSB2ZXJ0aWNhbCBzY3JvbGxiYXJzIGF0IChpbmxpbmUvYmxv
Y2spLWVuZCBlZGdlIGluIGFsbCB3cml0aW5nIG1vZGVzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL01lZGlhUXVlcnlFdmFsdWF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL01l
ZGlhUXVlcnlFdmFsdWF0b3IuY3BwCmluZGV4IGI5Nzc5YTZmOWU4ZWQ1NTlmNmY3N2U4Y2YxMjQx
NGJiZWU4MTM0ZjYuLjJlZjFlYTZiYTFkYTJjMDNlODkxNTkyMWJjNDJkYTIyZTE0ZTY0MWMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXZhbHVhdG9yLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV2YWx1YXRvci5jcHAKQEAgLTQ4MiwyNCAr
NDgyLDI0IEBAIHN0YXRpYyBib29sIGdyaWRFdmFsdWF0ZShDU1NWYWx1ZSogdmFsdWUsIGNvbnN0
IENTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEmLCBGcmFtCiAgICAgcmV0dXJuIHplcm9FdmFsdWF0
ZSh2YWx1ZSwgb3ApOwogfQogCi1zdGF0aWMgYm9vbCBjb21wdXRlTGVuZ3RoKENTU1ZhbHVlKiB2
YWx1ZSwgYm9vbCBzdHJpY3QsIGNvbnN0IENTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEmIGNvbnZl
cnNpb25EYXRhLCBpbnQmIHJlc3VsdCkKK3N0YXRpYyBPcHRpb25hbDxkb3VibGU+IGNvbXB1dGVM
ZW5ndGgoQ1NTVmFsdWUqIHZhbHVlLCBib29sIHN0cmljdCwgY29uc3QgQ1NTVG9MZW5ndGhDb252
ZXJzaW9uRGF0YSYgY29udmVyc2lvbkRhdGEpCiB7CiAgICAgaWYgKCFpczxDU1NQcmltaXRpdmVW
YWx1ZT4odmFsdWUpKQotICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIHJldHVybiBXVEY6
Om51bGxvcHQ7CiAKICAgICBhdXRvJiBwcmltaXRpdmVWYWx1ZSA9IGRvd25jYXN0PENTU1ByaW1p
dGl2ZVZhbHVlPigqdmFsdWUpOwotCiAgICAgaWYgKHByaW1pdGl2ZVZhbHVlLmlzTnVtYmVyKCkp
IHsKLSAgICAgICAgcmVzdWx0ID0gcHJpbWl0aXZlVmFsdWUuaW50VmFsdWUoKTsKLSAgICAgICAg
cmV0dXJuICFzdHJpY3QgfHwgIXJlc3VsdDsKKyAgICAgICAgZG91YmxlIHZhbHVlID0gcHJpbWl0
aXZlVmFsdWUuZG91YmxlVmFsdWUoKTsKKyAgICAgICAgLy8gVGhlIG9ubHkgdW5pdGxlc3MgbnVt
YmVyIHZhbHVlIGFsbG93ZWQgaW4gc3RyaWN0IG1vZGUgaXMgemVyby4KKyAgICAgICAgaWYgKHN0
cmljdCAmJiB2YWx1ZSkKKyAgICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisgICAgICAg
IHJldHVybiB2YWx1ZTsKICAgICB9CiAKLSAgICBpZiAocHJpbWl0aXZlVmFsdWUuaXNMZW5ndGgo
KSkgewotICAgICAgICByZXN1bHQgPSBwcmltaXRpdmVWYWx1ZS5jb21wdXRlTGVuZ3RoPGludD4o
Y29udmVyc2lvbkRhdGEpOwotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9CisgICAgaWYgKHBy
aW1pdGl2ZVZhbHVlLmlzTGVuZ3RoKCkpCisgICAgICAgIHJldHVybiBwcmltaXRpdmVWYWx1ZS5j
b21wdXRlTGVuZ3RoPGRvdWJsZT4oY29udmVyc2lvbkRhdGEpOwogCi0gICAgcmV0dXJuIGZhbHNl
OworICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiB9CiAKIHN0YXRpYyBib29sIGRldmljZUhlaWdo
dEV2YWx1YXRlKENTU1ZhbHVlKiB2YWx1ZSwgY29uc3QgQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0
YSYgY29udmVyc2lvbkRhdGEsIEZyYW1lJiBmcmFtZSwgTWVkaWFGZWF0dXJlUHJlZml4IG9wKQpA
QCAtNTA4LDE0ICs1MDgsMTMgQEAgc3RhdGljIGJvb2wgZGV2aWNlSGVpZ2h0RXZhbHVhdGUoQ1NT
VmFsdWUqIHZhbHVlLCBjb25zdCBDU1NUb0xlbmd0aENvbnZlcnNpb25EYXQKICAgICAvLyBhc3N1
bWUgaWYgd2UgaGF2ZSBhIGRldmljZSwgYXNzdW1lIG5vbi16ZXJvCiAgICAgaWYgKCF2YWx1ZSkK
ICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgaW50IGxlbmd0aDsKLSAgICBhdXRvIGhlaWdodCA9
IGZyYW1lLm1haW5GcmFtZSgpLnNjcmVlblNpemUoKS5oZWlnaHQoKTsKLSAgICBpZiAoIWNvbXB1
dGVMZW5ndGgodmFsdWUsICFmcmFtZS5kb2N1bWVudCgpLT5pblF1aXJrc01vZGUoKSwgY29udmVy
c2lvbkRhdGEsIGxlbmd0aCkpCisgICAgYXV0byBsZW5ndGggPSBjb21wdXRlTGVuZ3RoKHZhbHVl
LCAhZnJhbWUuZG9jdW1lbnQoKS0+aW5RdWlya3NNb2RlKCksIGNvbnZlcnNpb25EYXRhKTsKKyAg
ICBpZiAoIWxlbmd0aCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgTE9HX1dJVEhfU1RS
RUFNKE1lZGlhUXVlcmllcywgc3RyZWFtIDw8ICIgIGRldmljZUhlaWdodEV2YWx1YXRlOiBxdWVy
eSAiIDw8IG9wIDw8ICIgaGVpZ2h0ICIgPDwgbGVuZ3RoIDw8ICIsIGFjdHVhbCBoZWlnaHQgIiA8
PCBoZWlnaHQgPDwgIiByZXN1bHQ6ICIgPDwgY29tcGFyZVZhbHVlKGhlaWdodCwgbGVuZ3RoLCBv
cCkpOwotCi0gICAgcmV0dXJuIGNvbXBhcmVWYWx1ZShoZWlnaHQsIGxlbmd0aCwgb3ApOworICAg
IGF1dG8gaGVpZ2h0ID0gZnJhbWUubWFpbkZyYW1lKCkuc2NyZWVuU2l6ZSgpLmhlaWdodCgpOwor
ICAgIExPR19XSVRIX1NUUkVBTShNZWRpYVF1ZXJpZXMsIHN0cmVhbSA8PCAiICBkZXZpY2VIZWln
aHRFdmFsdWF0ZTogcXVlcnkgIiA8PCBvcCA8PCAiIGhlaWdodCAiIDw8ICpsZW5ndGggPDwgIiwg
YWN0dWFsIGhlaWdodCAiIDw8IGhlaWdodCA8PCAiIHJlc3VsdDogIiA8PCBjb21wYXJlVmFsdWUo
aGVpZ2h0LCAqbGVuZ3RoLCBvcCkpOworICAgIHJldHVybiBjb21wYXJlVmFsdWUoaGVpZ2h0LCAq
bGVuZ3RoLCBvcCk7CiB9CiAKIHN0YXRpYyBib29sIGRldmljZVdpZHRoRXZhbHVhdGUoQ1NTVmFs
dWUqIHZhbHVlLCBjb25zdCBDU1NUb0xlbmd0aENvbnZlcnNpb25EYXRhJiBjb252ZXJzaW9uRGF0
YSwgRnJhbWUmIGZyYW1lLCBNZWRpYUZlYXR1cmVQcmVmaXggb3ApCkBAIC01MjQsMTQgKzUyMywx
MyBAQCBzdGF0aWMgYm9vbCBkZXZpY2VXaWR0aEV2YWx1YXRlKENTU1ZhbHVlKiB2YWx1ZSwgY29u
c3QgQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YQogICAgIC8vIGFzc3VtZSBpZiB3ZSBoYXZlIGEg
ZGV2aWNlLCBhc3N1bWUgbm9uLXplcm8KICAgICBpZiAoIXZhbHVlKQogICAgICAgICByZXR1cm4g
dHJ1ZTsKLSAgICBpbnQgbGVuZ3RoOwotICAgIGF1dG8gd2lkdGggPSBmcmFtZS5tYWluRnJhbWUo
KS5zY3JlZW5TaXplKCkud2lkdGgoKTsKLSAgICBpZiAoIWNvbXB1dGVMZW5ndGgodmFsdWUsICFm
cmFtZS5kb2N1bWVudCgpLT5pblF1aXJrc01vZGUoKSwgY29udmVyc2lvbkRhdGEsIGxlbmd0aCkp
CisgICAgYXV0byBsZW5ndGggPSBjb21wdXRlTGVuZ3RoKHZhbHVlLCAhZnJhbWUuZG9jdW1lbnQo
KS0+aW5RdWlya3NNb2RlKCksIGNvbnZlcnNpb25EYXRhKTsKKyAgICBpZiAoIWxlbmd0aCkKICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgTE9HX1dJVEhfU1RSRUFNKE1lZGlhUXVlcmllcywg
c3RyZWFtIDw8ICIgIGRldmljZVdpZHRoRXZhbHVhdGU6IHF1ZXJ5ICIgPDwgb3AgPDwgIiB3aWR0
aCAiIDw8IGxlbmd0aCA8PCAiLCBhY3R1YWwgd2lkdGggIiA8PCB3aWR0aCA8PCAiIHJlc3VsdDog
IiA8PCBjb21wYXJlVmFsdWUod2lkdGgsIGxlbmd0aCwgb3ApKTsKLQotICAgIHJldHVybiBjb21w
YXJlVmFsdWUod2lkdGgsIGxlbmd0aCwgb3ApOworICAgIGF1dG8gd2lkdGggPSBmcmFtZS5tYWlu
RnJhbWUoKS5zY3JlZW5TaXplKCkud2lkdGgoKTsKKyAgICBMT0dfV0lUSF9TVFJFQU0oTWVkaWFR
dWVyaWVzLCBzdHJlYW0gPDwgIiAgZGV2aWNlV2lkdGhFdmFsdWF0ZTogcXVlcnkgIiA8PCBvcCA8
PCAiIHdpZHRoICIgPDwgKmxlbmd0aCA8PCAiLCBhY3R1YWwgd2lkdGggIiA8PCB3aWR0aCA8PCAi
IHJlc3VsdDogIiA8PCBjb21wYXJlVmFsdWUod2lkdGgsICpsZW5ndGgsIG9wKSk7CisgICAgcmV0
dXJuIGNvbXBhcmVWYWx1ZSh3aWR0aCwgKmxlbmd0aCwgb3ApOwogfQogCiBzdGF0aWMgYm9vbCBo
ZWlnaHRFdmFsdWF0ZShDU1NWYWx1ZSogdmFsdWUsIGNvbnN0IENTU1RvTGVuZ3RoQ29udmVyc2lv
bkRhdGEmIGNvbnZlcnNpb25EYXRhLCBGcmFtZSYgZnJhbWUsIE1lZGlhRmVhdHVyZVByZWZpeCBv
cCkKQEAgLTU0MiwxNiArNTQwLDE2IEBAIHN0YXRpYyBib29sIGhlaWdodEV2YWx1YXRlKENTU1Zh
bHVlKiB2YWx1ZSwgY29uc3QgQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YSYgY29uCiAgICAgaW50
IGhlaWdodCA9IHZpZXctPmxheW91dEhlaWdodCgpOwogICAgIGlmICghdmFsdWUpCiAgICAgICAg
IHJldHVybiBoZWlnaHQ7Ci0gICAgaWYgKGF1dG8qIHJlbmRlclZpZXcgPSBmcmFtZS5kb2N1bWVu
dCgpLT5yZW5kZXJWaWV3KCkpCi0gICAgICAgIGhlaWdodCA9IGFkanVzdEZvckFic29sdXRlWm9v
bShoZWlnaHQsICpyZW5kZXJWaWV3KTsKIAotICAgIGludCBsZW5ndGg7Ci0gICAgaWYgKCFjb21w
dXRlTGVuZ3RoKHZhbHVlLCAhZnJhbWUuZG9jdW1lbnQoKS0+aW5RdWlya3NNb2RlKCksIGNvbnZl
cnNpb25EYXRhLCBsZW5ndGgpKQorICAgIGF1dG8gbGVuZ3RoID0gY29tcHV0ZUxlbmd0aCh2YWx1
ZSwgIWZyYW1lLmRvY3VtZW50KCktPmluUXVpcmtzTW9kZSgpLCBjb252ZXJzaW9uRGF0YSk7Cisg
ICAgaWYgKCFsZW5ndGgpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIExPR19XSVRIX1NU
UkVBTShNZWRpYVF1ZXJpZXMsIHN0cmVhbSA8PCAiICBoZWlnaHRFdmFsdWF0ZTogcXVlcnkgIiA8
PCBvcCA8PCAiIGhlaWdodCAiIDw8IGxlbmd0aCA8PCAiLCBhY3R1YWwgaGVpZ2h0ICIgPDwgaGVp
Z2h0IDw8ICIgcmVzdWx0OiAiIDw8IGNvbXBhcmVWYWx1ZShoZWlnaHQsIGxlbmd0aCwgb3ApKTsK
KyAgICBpZiAoYXV0byogcmVuZGVyVmlldyA9IGZyYW1lLmRvY3VtZW50KCktPnJlbmRlclZpZXco
KSkKKyAgICAgICAgaGVpZ2h0ID0gYWRqdXN0Rm9yQWJzb2x1dGVab29tKGhlaWdodCwgKnJlbmRl
clZpZXcpOwogCi0gICAgcmV0dXJuIGNvbXBhcmVWYWx1ZShoZWlnaHQsIGxlbmd0aCwgb3ApOwor
ICAgIExPR19XSVRIX1NUUkVBTShNZWRpYVF1ZXJpZXMsIHN0cmVhbSA8PCAiICBoZWlnaHRFdmFs
dWF0ZTogcXVlcnkgIiA8PCBvcCA8PCAiIGhlaWdodCAiIDw8ICpsZW5ndGggPDwgIiwgYWN0dWFs
IGhlaWdodCAiIDw8IGhlaWdodCA8PCAiIHJlc3VsdDogIiA8PCBjb21wYXJlVmFsdWUoaGVpZ2h0
LCAqbGVuZ3RoLCBvcCkpOworICAgIHJldHVybiBjb21wYXJlVmFsdWUoaGVpZ2h0LCAqbGVuZ3Ro
LCBvcCk7CiB9CiAKIHN0YXRpYyBib29sIHdpZHRoRXZhbHVhdGUoQ1NTVmFsdWUqIHZhbHVlLCBj
b25zdCBDU1NUb0xlbmd0aENvbnZlcnNpb25EYXRhJiBjb252ZXJzaW9uRGF0YSwgRnJhbWUmIGZy
YW1lLCBNZWRpYUZlYXR1cmVQcmVmaXggb3ApCkBAIC01NjIsMTYgKzU2MCwxNiBAQCBzdGF0aWMg
Ym9vbCB3aWR0aEV2YWx1YXRlKENTU1ZhbHVlKiB2YWx1ZSwgY29uc3QgQ1NTVG9MZW5ndGhDb252
ZXJzaW9uRGF0YSYgY29udgogICAgIGludCB3aWR0aCA9IHZpZXctPmxheW91dFdpZHRoKCk7CiAg
ICAgaWYgKCF2YWx1ZSkKICAgICAgICAgcmV0dXJuIHdpZHRoOwotICAgIGlmIChhdXRvKiByZW5k
ZXJWaWV3ID0gZnJhbWUuZG9jdW1lbnQoKS0+cmVuZGVyVmlldygpKQotICAgICAgICB3aWR0aCA9
IGFkanVzdEZvckFic29sdXRlWm9vbSh3aWR0aCwgKnJlbmRlclZpZXcpOwogCi0gICAgaW50IGxl
bmd0aDsKLSAgICBpZiAoIWNvbXB1dGVMZW5ndGgodmFsdWUsICFmcmFtZS5kb2N1bWVudCgpLT5p
blF1aXJrc01vZGUoKSwgY29udmVyc2lvbkRhdGEsIGxlbmd0aCkpCisgICAgYXV0byBsZW5ndGgg
PSBjb21wdXRlTGVuZ3RoKHZhbHVlLCAhZnJhbWUuZG9jdW1lbnQoKS0+aW5RdWlya3NNb2RlKCks
IGNvbnZlcnNpb25EYXRhKTsKKyAgICBpZiAoIWxlbmd0aCkKICAgICAgICAgcmV0dXJuIGZhbHNl
OwogCi0gICAgTE9HX1dJVEhfU1RSRUFNKE1lZGlhUXVlcmllcywgc3RyZWFtIDw8ICIgIHdpZHRo
RXZhbHVhdGU6IHF1ZXJ5ICIgPDwgb3AgPDwgIiB3aWR0aCAiIDw8IGxlbmd0aCA8PCAiLCBhY3R1
YWwgd2lkdGggIiA8PCB3aWR0aCA8PCAiIHJlc3VsdDogIiA8PCBjb21wYXJlVmFsdWUod2lkdGgs
IGxlbmd0aCwgb3ApKTsKKyAgICBpZiAoYXV0byogcmVuZGVyVmlldyA9IGZyYW1lLmRvY3VtZW50
KCktPnJlbmRlclZpZXcoKSkKKyAgICAgICAgd2lkdGggPSBhZGp1c3RGb3JBYnNvbHV0ZVpvb20o
d2lkdGgsICpyZW5kZXJWaWV3KTsKIAotICAgIHJldHVybiBjb21wYXJlVmFsdWUod2lkdGgsIGxl
bmd0aCwgb3ApOworICAgIExPR19XSVRIX1NUUkVBTShNZWRpYVF1ZXJpZXMsIHN0cmVhbSA8PCAi
ICB3aWR0aEV2YWx1YXRlOiBxdWVyeSAiIDw8IG9wIDw8ICIgd2lkdGggIiA8PCAqbGVuZ3RoIDw8
ICIsIGFjdHVhbCB3aWR0aCAiIDw8IHdpZHRoIDw8ICIgcmVzdWx0OiAiIDw8IGNvbXBhcmVWYWx1
ZSh3aWR0aCwgKmxlbmd0aCwgb3ApKTsKKyAgICByZXR1cm4gY29tcGFyZVZhbHVlKHdpZHRoLCAq
bGVuZ3RoLCBvcCk7CiB9CiAKIHN0YXRpYyBib29sIG1pbkNvbG9yRXZhbHVhdGUoQ1NTVmFsdWUq
IHZhbHVlLCBjb25zdCBDU1NUb0xlbmd0aENvbnZlcnNpb25EYXRhJiBjb252ZXJzaW9uRGF0YSwg
RnJhbWUmIGZyYW1lLCBNZWRpYUZlYXR1cmVQcmVmaXgpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZDBjZjM0Njg4ZTE4ODBl
MGNmZDEyZjk3MTAxNzBmY2Q2ZWE2NmE2NC4uMTJmMjMzZjljZjRlNDM0NDhjMGVjMzZjYzg0MTA1
NzI0NzhiMmIzMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIxLTA0LTE2ICBUeWxlciBXaWxj
b2NrICA8dHdpbGNvLm9AcHJvdG9ubWFpbC5jb20+CisKKyAgICAgICAgTWVkaWEgcXVlcmllcyB3
aXRoIG1heC13aWR0aCBncmVhdGVyIHRoYW4gOTk5OTk5OTk5cHggZXZhbHVhdGUgdG8gZmFsc2UK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNDA5Nwor
CisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgIFdlIG5vdyBldmFs
dWF0ZSA8bGVuZ3RoPiB2YWx1ZXMgaW4gbWVkaWEgcXVlcmllcyB3aXRoIGRvdWJsZQorICAgICAg
ICBwcmVjaXNpb24gaW5zdGVhZCBvZiBpbnQgcHJlY2lzaW9uIHRvIG1hdGNoIG90aGVyIGJyb3dz
ZXJzIGFuZCBwYXNzIGFub3RoZXIgV1BULgorCisgICAgICAgICogVGVzdEV4cGVjdGF0aW9uczoK
KyAgICAgICAgUmVtb3ZlIEltYWdlT25seUZhaWx1cmUgZm9yIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL21lZGlhcXVlcmllcy9taW4td2lkdGgtMDAxLnhodAorICAgICAgICBi
ZWNhdXNlIGl0IHBhc3NlcyBub3cuCisKKyAgICAgICAgKiBmYXN0L21lZGlhL21lZGlhLXF1ZXJ5
LWxlbmd0aHMtZXZhbHVhdGUtd2l0aC1kb3VibGUtcHJlY2lzaW9uLWV4cGVjdGVkLmh0bWw6Cisg
ICAgICAgIEFkZGVkLgorCisgICAgICAgICogZmFzdC9tZWRpYS9tZWRpYS1xdWVyeS1sZW5ndGhz
LWV2YWx1YXRlLXdpdGgtZG91YmxlLXByZWNpc2lvbi5odG1sOgorICAgICAgICBBZGRlZCB0byB0
ZXN0IHByb3BlcnRpZXMgdGhhdCBXUFQgbWluLXdpZHRoLTAwMS54aHQgZG9lc24ndAorICAgICAg
ICAobWluLWhlaWdodCwgZGV2aWNlLW1pbi1oZWlnaHQsIGRldmljZS1taW4td2lkdGgpLgorCiAy
MDIxLTA0LTE2ICBDYW1lcm9uIE1jQ29ybWFjayAgPGhleWNhbUBhcHBsZS5jb20+CiAKICAgICAg
ICAgUGxhY2UgdmVydGljYWwgc2Nyb2xsYmFycyBhdCAoaW5saW5lL2Jsb2NrKS1lbmQgZWRnZSBp
biBhbGwgd3JpdGluZyBtb2Rlcy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3Rh
dGlvbnMgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDZkNjIyMjQ4YjFmMmFl
OTNjZTg0OWJmZmY2ZTY4ZGNjNDgyYWZkNjQuLjlhZTJlNjM4MTlmYTBjNmQ1ZGU1YjgwMzEyM2U0
ZWMwM2QwNTg1ZWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysr
IGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTI1Miw3ICsxMjUyLDYgQEAgd2Vi
a2l0Lm9yZy9iLzIwOTczNSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxl
Y3RvcnMvcm9vdC1zaWJsaW5ncy4KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L21lZGlhcXVlcmllcy9kZXZpY2UtYXNwZWN0LXJhdGlvLTAwMS5odG1sIFsgU2tpcCBdCiBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9tZWRpYXF1ZXJpZXMvZGV2aWNlLWFzcGVj
dC1yYXRpby0wMDUuaHRtbCBbIFNraXAgXQogCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9tZWRpYXF1ZXJpZXMvbWluLXdpZHRoLTAwMS54aHQgWyBJbWFnZU9ubHlGYWlsdXJl
IF0KIHdlYmtpdC5vcmcvYi8xNTY2ODQgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvbWVkaWFxdWVyaWVzL3JlbGF0aXZlLXVuaXRzLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCiB3ZWJraXQub3JnL2IvMTU2Njg0IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL21lZGlhcXVlcmllcy9tcS1jYWxjLTAwNS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbWVkaWEvbWVkaWEtcXVlcnktbGVuZ3Rocy1l
dmFsdWF0ZS13aXRoLWRvdWJsZS1wcmVjaXNpb24tZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvbWVkaWEvbWVkaWEtcXVlcnktbGVuZ3Rocy1ldmFsdWF0ZS13aXRoLWRvdWJsZS1wcmVj
aXNpb24tZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mYzJhNDUzOTk5YWU3YjJlOGI1MmU0ZDIy
NDUwZTFhNzBhNzliMzAzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRp
YS9tZWRpYS1xdWVyeS1sZW5ndGhzLWV2YWx1YXRlLXdpdGgtZG91YmxlLXByZWNpc2lvbi1leHBl
Y3RlZC5odG1sCkBAIC0wLDAgKzEsMjMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKyAgICA8dGl0bGU+Q1NTIFRlc3Q6IEBtZWRpYSA8bGVuZ3RoPiB2YWx1ZXMgYXJlIGV2YWx1
YXRlZCB3aXRoIGdyZWF0ZXItdGhhbi1pbnQgcHJlY2lzaW9uLjwvdGl0bGU+CisgICAgPG1ldGEg
bmFtZT0iYXNzZXJ0IiBjb250ZW50PSJBbGwgYm94ZXMgYXJlIGJsdWUuIj4KKyAgICA8c3R5bGU+
CisgICAgICAgIGRpdiB7CisgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CisgICAg
ICAgICAgICB3aWR0aDogMjUwcHg7CisgICAgICAgICAgICBoZWlnaHQ6IDI1MHB4OworICAgICAg
ICAgICAgbWFyZ2luOiAzMHB4OworICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogYmx1ZTsK
KyAgICAgICAgfQorICAgIDwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+PC9kaXY+Cis8
ZGl2PjwvZGl2PgorPGRpdj48L2Rpdj4KKzxkaXY+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbWVkaWEvbWVkaWEtcXVlcnktbGVuZ3Rocy1l
dmFsdWF0ZS13aXRoLWRvdWJsZS1wcmVjaXNpb24uaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvbWVk
aWEvbWVkaWEtcXVlcnktbGVuZ3Rocy1ldmFsdWF0ZS13aXRoLWRvdWJsZS1wcmVjaXNpb24uaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi40YWEyZTM2M2Y1NjRjNjhjYTFkMGE0NjllMGQ4NDg5MThkMTZkYzE2Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYS9tZWRpYS1xdWVyeS1sZW5n
dGhzLWV2YWx1YXRlLXdpdGgtZG91YmxlLXByZWNpc2lvbi5odG1sCkBAIC0wLDAgKzEsNDMgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8dGl0bGU+Q1NTIFRlc3Q6IEBt
ZWRpYSA8bGVuZ3RoPiB2YWx1ZXMgYXJlIGV2YWx1YXRlZCB3aXRoIGdyZWF0ZXItdGhhbi1pbnQg
cHJlY2lzaW9uLjwvdGl0bGU+CisgICAgPG1ldGEgbmFtZT0iYXNzZXJ0IiBjb250ZW50PSJBbGwg
Ym94ZXMgYXJlIGJsdWUuIj4KKyAgICA8c3R5bGU+CisgICAgICAgIGRpdiB7CisgICAgICAgICAg
ICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CisgICAgICAgICAgICB3aWR0aDogMjUwcHg7CisgICAg
ICAgICAgICBoZWlnaHQ6IDI1MHB4OworICAgICAgICAgICAgbWFyZ2luOiAzMHB4OworICAgICAg
ICAgICAgYmFja2dyb3VuZC1jb2xvcjogYmx1ZTsKKyAgICAgICAgfQorICAgICAgICBAbWVkaWEg
KG1pbi13aWR0aDogOTk5OTk5OTk5OTlweCkgeworICAgICAgICAgICAgI2JveC1vbmUgeworICAg
ICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHllbGxvdzsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgfQorICAgICAgICBAbWVkaWEgKG1pbi1oZWlnaHQ6IDk5OTk5OTk5OTk5cHgpIHsKKyAg
ICAgICAgICAgICNib3gtdHdvIHsKKyAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB5
ZWxsb3c7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgQG1lZGlhIChtaW4tZGV2
aWNlLXdpZHRoOiA5OTk5OTk5OTk5OXB4KSB7CisgICAgICAgICAgICAjYm94LXRocmVlIHsKKyAg
ICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB5ZWxsb3c7CisgICAgICAgICAgICB9Cisg
ICAgICAgIH0KKyAgICAgICAgQG1lZGlhIChtaW4tZGV2aWNlLWhlaWdodDogOTk5OTk5OTk5OTlw
eCkgeworICAgICAgICAgICAgI2JveC1mb3VyIHsKKyAgICAgICAgICAgICAgICBiYWNrZ3JvdW5k
LWNvbG9yOiB5ZWxsb3c7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICA8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJib3gtb25lIj48L2Rpdj4KKzxkaXYgaWQ9ImJveC10
d28iPjwvZGl2PgorPGRpdiBpZD0iYm94LXRocmVlIj48L2Rpdj4KKzxkaXYgaWQ9ImJveC1mb3Vy
Ij48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KKwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>