<?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>223504</bug_id>
          
          <creation_ts>2021-03-19 02:47:05 -0700</creation_ts>
          <short_desc>[css-grid] Set hasIntrinsicWidth &amp; hasIntrinsicHeight properties for SVG element&apos;s intrinsic size</short_desc>
          <delta_ts>2023-08-07 15:46: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>REOPENED</bug_status>
          <resolution></resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=236743</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar, WPTImpact</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>216145</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter>zsun</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>ahmad.saleem792</cc>
    
    <cc>changseok</cc>
    
    <cc>darin</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fmalita</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jfernandez</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>obrufau</cc>
    
    <cc>pdr</cc>
    
    <cc>rbuis</cc>
    
    <cc>rego</cc>
    
    <cc>sabouhallawa</cc>
    
    <cc>schenney</cc>
    
    <cc>sergio</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>svillar</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1741638</commentid>
    <comment_count>0</comment_count>
    <who name="">zsun</who>
    <bug_when>2021-03-19 02:47:05 -0700</bug_when>
    <thetext>The following WPT tests on stretched SVGs without an aspect-ratio are failing in WebKit:

css/css-grid/alignment/grid-item-no-aspect-ratio-stretch-6.html
css/css-grid/alignment/grid-item-no-aspect-ratio-stretch-7.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1741649</commentid>
    <comment_count>1</comment_count>
      <attachid>423712</attachid>
    <who name="">zsun</who>
    <bug_when>2021-03-19 03:26:49 -0700</bug_when>
    <thetext>Created attachment 423712
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743378</commentid>
    <comment_count>2</comment_count>
      <attachid>423712</attachid>
    <who name="Javier Fernandez">jfernandez</who>
    <bug_when>2021-03-24 10:18:17 -0700</bug_when>
    <thetext>Comment on attachment 423712
Patch

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

&gt; Source/WebCore/rendering/svg/RenderSVGRoot.cpp:83
&gt; +    intrinsicSize.hasWidth = svgSVGElement().hasIntrinsicWidth();

I&apos;m not sure I understand well enough the meaning of the hasWidth/hasHeight attributes. Looking at how you are using it, wouldn&apos;t be a clearer name something like &quot;isIntrinsicWidth/isIntrinsiHeight&quot;  ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1744126</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-03-26 02:48:13 -0700</bug_when>
    <thetext>&lt;rdar://problem/75879440&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1746449</commentid>
    <comment_count>4</comment_count>
    <who name="">zsun</who>
    <bug_when>2021-04-02 03:46:08 -0700</bug_when>
    <thetext>(In reply to Javier Fernandez from comment #2)
&gt; Comment on attachment 423712 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=423712&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/rendering/svg/RenderSVGRoot.cpp:83
&gt; &gt; +    intrinsicSize.hasWidth = svgSVGElement().hasIntrinsicWidth();
&gt; 
&gt; I&apos;m not sure I understand well enough the meaning of the hasWidth/hasHeight
&gt; attributes. Looking at how you are using it, wouldn&apos;t be a clearer name
&gt; something like &quot;isIntrinsicWidth/isIntrinsiHeight&quot;  ?

hasWidth/hasHeight here means that whether width/height has been set. Since we are introducing these properties in FloatSize.h, I thought it might be better to make it more generic. When we call intrinsicSize.*, we know that we are referring width/height of the intrinsicSize. Also it&apos;s to be inline with has_width/has_height in Chromium for this situation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1747356</commentid>
    <comment_count>5</comment_count>
      <attachid>425263</attachid>
    <who name="">zsun</who>
    <bug_when>2021-04-06 04:15:02 -0700</bug_when>
    <thetext>Created attachment 425263
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1747414</commentid>
    <comment_count>6</comment_count>
      <attachid>425275</attachid>
    <who name="">zsun</who>
    <bug_when>2021-04-06 07:24:48 -0700</bug_when>
    <thetext>Created attachment 425275
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1748691</commentid>
    <comment_count>7</comment_count>
      <attachid>425275</attachid>
    <who name="Javier Fernandez">jfernandez</who>
    <bug_when>2021-04-09 04:42:21 -0700</bug_when>
    <thetext>Comment on attachment 425275
Patch

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

r=me

&gt; Source/WebCore/rendering/RenderReplaced.cpp:630
&gt; +    bool hasIntrinsicHeight = constrainedSize.hasIntrinsicHeight || constrainedSize.height() &gt; 0;

I&apos;d suggest a comment here to note that we are only updating the hasIntrinsicHeight flag for SVG elements, but that ideally, we would like to use it in all the cases and get rid of the constrainedSize.height() &gt; 0 clause.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1748700</commentid>
    <comment_count>8</comment_count>
      <attachid>425614</attachid>
    <who name="">zsun</who>
    <bug_when>2021-04-09 05:18:30 -0700</bug_when>
    <thetext>Created attachment 425614
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1748815</commentid>
    <comment_count>9</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-04-09 12:05:14 -0700</bug_when>
    <thetext>Committed r275772 (236347@main): &lt;https://commits.webkit.org/236347@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 425614.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1842605</commentid>
    <comment_count>10</comment_count>
      <attachid>425614</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2022-02-16 16:57:05 -0800</bug_when>
    <thetext>Comment on attachment 425614
Patch

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

&gt; Source/WebCore/platform/graphics/FloatSize.h:76
&gt; +    bool hasIntrinsicWidth = false;
&gt; +    bool hasIntrinsicHeight = false;

Why are these here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1842606</commentid>
    <comment_count>11</comment_count>
      <attachid>425614</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2022-02-16 17:05:29 -0800</bug_when>
    <thetext>Comment on attachment 425614
Patch

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

&gt;&gt; Source/WebCore/platform/graphics/FloatSize.h:76
&gt;&gt; +    bool hasIntrinsicHeight = false;
&gt; 
&gt; Why are these here?

This increased the size of FloatSize, FloatRect and all classes that use them, and means that FloatSize no longer fits into a 64-bit register. It&apos;s also a layering violation; it makes no sense for this basic geometry class to hold information related to layout.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1842614</commentid>
    <comment_count>12</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2022-02-16 17:17:43 -0800</bug_when>
    <thetext>Reverting in https://bugs.webkit.org/show_bug.cgi?id=236743, reopening.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1846508</commentid>
    <comment_count>13</comment_count>
      <attachid>453361</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2022-02-27 17:12:11 -0800</bug_when>
    <thetext>Created attachment 453361
Rebase the original fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1846509</commentid>
    <comment_count>14</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2022-02-27 17:14:42 -0800</bug_when>
    <thetext>(In reply to Tim Horton from comment #12)
&gt; Reverting in https://bugs.webkit.org/show_bug.cgi?id=236743, reopening.

(Let&apos;s also ensure these WPT fixes don&apos;t get lost moving forward due to the revert)

I uploaded a version of Ziran&apos;s original change that doesn&apos;t add the new flags to FloatSize (but instead plumbs them as arguments through the affected rendering codepaths).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1846589</commentid>
    <comment_count>15</comment_count>
    <who name="">zsun</who>
    <bug_when>2022-02-28 02:44:06 -0800</bug_when>
    <thetext>Thanks very much Wenson for helping with this. Sorry that I didn&apos;t manage to find time last week to look into it.

I think Wenson&apos;s patch pretty much wraps up what I initially intended to achieve but without increasing FloatSize. Thanks for the lovely solution.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1846733</commentid>
    <comment_count>16</comment_count>
      <attachid>453361</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2022-02-28 12:59:43 -0800</bug_when>
    <thetext>Comment on attachment 453361
Rebase the original fix

(iOS WK2 failures seem unrelated)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1846794</commentid>
    <comment_count>17</comment_count>
      <attachid>453361</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2022-02-28 14:59:48 -0800</bug_when>
    <thetext>Comment on attachment 453361
Rebase the original fix

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

&gt; Source/WebCore/rendering/RenderBox.h:615
&gt; +    virtual void computeIntrinsicRatioInformation(FloatSize&amp; /* intrinsicSize */, double&amp; /* intrinsicRatio */, bool&amp; /* hasIntrinsicWidth */, bool&amp; /* hasIntrinsicHeight */) const { }

In future I think this needs to start returning a structure, not take 4 out arguments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1846833</commentid>
    <comment_count>18</comment_count>
      <attachid>453361</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2022-02-28 16:15:23 -0800</bug_when>
    <thetext>Comment on attachment 453361
Rebase the original fix

(In reply to Darin Adler from comment #17)
&gt; Comment on attachment 453361 [details]
&gt; Rebase the original fix
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=453361&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/rendering/RenderBox.h:615
&gt; &gt; +    virtual void computeIntrinsicRatioInformation(FloatSize&amp; /* intrinsicSize */, double&amp; /* intrinsicRatio */, bool&amp; /* hasIntrinsicWidth */, bool&amp; /* hasIntrinsicHeight */) const { }
&gt; 
&gt; In future I think this needs to start returning a structure, not take 4 out
&gt; arguments.

Sounds good! Since this patch touches all of the method signatures anyways, I think we should just do it as a part of this change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1969984</commentid>
    <comment_count>19</comment_count>
    <who name="Ahmad Saleem">ahmad.saleem792</who>
    <bug_when>2023-08-07 15:46:16 -0700</bug_when>
    <thetext>Based on Comment 0, we only have now &apos;grid-item-no-aspect-ratio-stretch-6.html&apos; and we are still failing this and other two as well:

https://wpt.fyi/results/css/css-grid/alignment?label=master&amp;label=experimental&amp;aligned&amp;q=grid-item-no-aspect-ratio-stretch-

Adding &apos;WPTImpact&apos; tag as well for tracking purposes.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423712</attachid>
            <date>2021-03-19 03:26:49 -0700</date>
            <delta_ts>2021-04-06 04:14:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223504-20210319102648.patch</filename>
            <type>text/plain</type>
            <size>8936</size>
            <attacher>zsun</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0NDc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmFlNDJjZGU5NTkxNGFl
MmEzZmMzNjcxYzYyMzJmNjYwMjIwOWQwZS4uZTlhOWVjMjc3MTgyMWM4NzMwMzMzNjA5YmI3Mjc5
OGVhN2ZhODAxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIxLTAzLTE5ICBaaXJh
biBTdW4gIDx6c3VuQGlnYWxpYS5jb20+CisKKyAgICAgICAgW2Nzcy1ncmlkXSBTZXQgaGFzV2lk
dGggJiBoYXNIZWlnaHQgcHJvcGVydGllcyBmb3IgU1ZHIGVsZW1lbnQncyBpbnRyaW5zaWMgc2l6
ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzNTA0
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW4gUmVu
ZGVyUmVwbGFjZWQ6OmNvbXB1dGVSZXBsYWNlZExvZ2ljYWxXaWR0aC9SZW5kZXJSZXBsYWNlZDo6
Y29tcHV0ZVJlcGxhY2VkTG9naWNhbEhlaWdodCwKKyAgICAgICAgaGFzSW50cmluc2ljV2lkdGgg
YW5kIGhhc0ludHJpbnNpY0hlaWdodCBhcmUgZGVjaWRlZCBieSB3aGV0aGVyIHRoZSB2YWx1ZSBp
cyBiaWdnZXIgdGhhbiAwLgorICAgICAgICBUaGlzIGlzIG5vdCBhbHdheSB0cnVlLCBmb3IgZXhh
bXBsZSwgaW4gdGhlIGNhc2Ugd2hlbiBpdCBpcyBzZXQgYnV0IHdpdGggdmFsdWUgb2YgMC4KKyAg
ICAgICAgVGhpcyBjaGFuZ2UgZm9jdXNlcyBvbiBTVkcgZWxlbWVudCBhbmQgc2V0cyBoYXNXaWR0
aC9oYXNIZWlnaHQgcHJvcGVydHkgaW4gbGluZSB3aXRoIGl0cyBsZW5ndGhUeXBlKCkuIAorCisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRTaXplLmg6CisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlclJlcGxhY2VkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclJlcGxhY2Vk
Ojpjb21wdXRlUmVwbGFjZWRMb2dpY2FsV2lkdGggY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyUmVwbGFjZWQ6OmNvbXB1dGVSZXBsYWNlZExvZ2ljYWxIZWlnaHQgY29uc3QpOgorICAg
ICAgICAqIHJlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJTVkdSb290Ojpjb21wdXRlSW50cmluc2ljUmF0aW9JbmZvcm1hdGlvbiBjb25zdCk6
CisKIDIwMjEtMDMtMTYgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29t
PgogCiAgICAgICAgIFtHVEtdW1dQRV0gU3RvcCB1c2luZyBnX21lbWR1cApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRTaXplLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFNpemUuaAppbmRleCA2YWFmMzQzYzdjMjJhNzU4
NDJkMWZmOTIwNTgwZjBjNjZkMDdkZjU2Li40ZDRmOWJhNDE5YWZhM2RmMDhjMDEwNjdjYTcxNDVh
ZGI2YWY5MDZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9G
bG9hdFNpemUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFNp
emUuaApAQCAtNzIsNiArNzIsOSBAQCBwdWJsaWM6CiAgICAgZmxvYXQgd2lkdGgoKSBjb25zdCB7
IHJldHVybiBtX3dpZHRoOyB9CiAgICAgZmxvYXQgaGVpZ2h0KCkgY29uc3QgeyByZXR1cm4gbV9o
ZWlnaHQ7IH0KIAorICAgIGJvb2wgaGFzV2lkdGggPSBmYWxzZTsKKyAgICBib29sIGhhc0hlaWdo
dCA9IGZhbHNlOworCiAgICAgdm9pZCBzZXRXaWR0aChmbG9hdCB3aWR0aCkgeyBtX3dpZHRoID0g
d2lkdGg7IH0KICAgICB2b2lkIHNldEhlaWdodChmbG9hdCBoZWlnaHQpIHsgbV9oZWlnaHQgPSBo
ZWlnaHQ7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJl
cGxhY2VkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHAK
aW5kZXggNmZmNDY3MDQ0NGFmNDk1MjkxZTQzNTkwZWMxMDY4Y2M4NzM2MzM5Mi4uYTY1MTZkODFl
MmFmZjExNjM3MjYyNTVkYzFkM2M3ODhmZGJhNGY4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwCkBAIC01NTMsOCArNTUzLDggQEAgTGF5b3V0VW5pdCBS
ZW5kZXJSZXBsYWNlZDo6Y29tcHV0ZVJlcGxhY2VkTG9naWNhbFdpZHRoKFNob3VsZENvbXB1dGVQ
cmVmZXJyZWQgc2gKIAogICAgIGlmIChzdHlsZSgpLmxvZ2ljYWxXaWR0aCgpLmlzQXV0bygpKSB7
CiAgICAgICAgIGJvb2wgY29tcHV0ZWRIZWlnaHRJc0F1dG8gPSBzdHlsZSgpLmxvZ2ljYWxIZWln
aHQoKS5pc0F1dG8oKTsKLSAgICAgICAgYm9vbCBoYXNJbnRyaW5zaWNXaWR0aCA9IGNvbnN0cmFp
bmVkU2l6ZS53aWR0aCgpID4gMDsKLSAgICAgICAgYm9vbCBoYXNJbnRyaW5zaWNIZWlnaHQgPSBj
b25zdHJhaW5lZFNpemUuaGVpZ2h0KCkgPiAwOworICAgICAgICBib29sIGhhc0ludHJpbnNpY1dp
ZHRoID0gY29uc3RyYWluZWRTaXplLndpZHRoKCkgPiAwIHx8IGNvbnN0cmFpbmVkU2l6ZS5oYXNX
aWR0aDsKKyAgICAgICAgYm9vbCBoYXNJbnRyaW5zaWNIZWlnaHQgPSBjb25zdHJhaW5lZFNpemUu
aGVpZ2h0KCkgPiAwIHx8IGNvbnN0cmFpbmVkU2l6ZS5oYXNIZWlnaHQ7CiAKICAgICAgICAgLy8g
Rm9yIGZsZXggaXRlbXMgd2hlcmUgdGhlIGxvZ2ljYWwgaGVpZ2h0IGhhcyBiZWVuIG92ZXJyaWRl
biB0aGVuIHdlIHNob3VsZCB1c2UgdGhhdCBzaXplIHRvIGNvbXB1dGUgdGhlIHJlcGxhY2VkIHdp
ZHRoIGFzIGxvbmcgYXMgdGhlIGZsZXggaXRlbSBoYXMKICAgICAgICAgLy8gYW4gaW50cmluc2lj
IHNpemUuIEl0IGlzIHBvc3NpYmxlIChpbmRlZWQsIGNvbW1vbikgZm9yIGFuIFNWRyBncmFwaGlj
IHRvIGhhdmUgYW4gaW50cmluc2ljIGFzcGVjdCByYXRpbyBidXQgbm90IHRvIGhhdmUgYW4gaW50
cmluc2ljIHdpZHRoIG9yIGhlaWdodC4KQEAgLTYyNyw4ICs2MjcsOCBAQCBMYXlvdXRVbml0IFJl
bmRlclJlcGxhY2VkOjpjb21wdXRlUmVwbGFjZWRMb2dpY2FsSGVpZ2h0KE9wdGlvbmFsPExheW91
dFVuaXQ+IGVzdAogICAgIGNvbXB1dGVBc3BlY3RSYXRpb0luZm9ybWF0aW9uRm9yUmVuZGVyQm94
KGNvbnRlbnRSZW5kZXJlciwgY29uc3RyYWluZWRTaXplLCBpbnRyaW5zaWNSYXRpbyk7CiAKICAg
ICBib29sIHdpZHRoSXNBdXRvID0gc3R5bGUoKS5sb2dpY2FsV2lkdGgoKS5pc0F1dG8oKTsKLSAg
ICBib29sIGhhc0ludHJpbnNpY0hlaWdodCA9IGNvbnN0cmFpbmVkU2l6ZS5oZWlnaHQoKSA+IDA7
Ci0gICAgYm9vbCBoYXNJbnRyaW5zaWNXaWR0aCA9IGNvbnN0cmFpbmVkU2l6ZS53aWR0aCgpID4g
MDsKKyAgICBib29sIGhhc0ludHJpbnNpY0hlaWdodCA9IGNvbnN0cmFpbmVkU2l6ZS5oZWlnaHQo
KSA+IDAgfHwgY29uc3RyYWluZWRTaXplLmhhc0hlaWdodDsKKyAgICBib29sIGhhc0ludHJpbnNp
Y1dpZHRoID0gY29uc3RyYWluZWRTaXplLndpZHRoKCkgPiAwIHx8IGNvbnN0cmFpbmVkU2l6ZS5o
YXNXaWR0aDsKIAogICAgIC8vIFNlZSBjb21wdXRlUmVwbGFjZWRMb2dpY2FsSGVpZ2h0KCkgZm9y
IGEgc2ltaWxhciBjaGVjayBmb3IgaGVpZ2h0cy4KICAgICBpZiAoaW50cmluc2ljUmF0aW8gJiYg
aXNGbGV4SXRlbSgpICYmIGhhc092ZXJyaWRpbmdMb2dpY2FsV2lkdGgoKSAmJiBoYXNJbnRyaW5z
aWNIZWlnaHQgJiYgaGFzSW50cmluc2ljV2lkdGgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N2Zy9SZW5kZXJTVkdSb290LmNwcAppbmRleCAxNzViNTZjOWQ2MmFkZjVjM2Y5MTQxOGQ5
ZTFjMzk3MWI4NTE0ZjU4Li5jNTA4ZTFkNjBhODRhNzVmMmQ1MjhiYzdmM2QxNTY2OGE5YmJmYWQx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3Qu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5jcHAK
QEAgLTgwLDYgKzgwLDggQEAgdm9pZCBSZW5kZXJTVkdSb290Ojpjb21wdXRlSW50cmluc2ljUmF0
aW9JbmZvcm1hdGlvbihGbG9hdFNpemUmIGludHJpbnNpY1NpemUsIGQKICAgICAvLyAtIElmIHRo
ZSDigJh3aWR0aOKAmSBhbmQg4oCYaGVpZ2h04oCZIG9mIHRoZSByb290bW9zdCDigJhzdmfigJkg
ZWxlbWVudCBhcmUgYm90aCBzcGVjaWZpZWQgd2l0aCB1bml0IGlkZW50aWZpZXJzIChpbiwgbW0s
IGNtLCBwdCwgcGMsCiAgICAgLy8gICBweCwgZW0sIGV4KSBvciBpbiB1c2VyIHVuaXRzLCB0aGVu
IHRoZSBhc3BlY3QgcmF0aW8gaXMgY2FsY3VsYXRlZCBmcm9tIHRoZSDigJh3aWR0aOKAmSBhbmQg
4oCYaGVpZ2h04oCZIGF0dHJpYnV0ZXMgYWZ0ZXIKICAgICAvLyAgIHJlc29sdmluZyBib3RoIHZh
bHVlcyB0byB1c2VyIHVuaXRzLgorICAgIGludHJpbnNpY1NpemUuaGFzV2lkdGggPSBzdmdTVkdF
bGVtZW50KCkuaGFzSW50cmluc2ljV2lkdGgoKTsKKyAgICBpbnRyaW5zaWNTaXplLmhhc0hlaWdo
dCA9IHN2Z1NWR0VsZW1lbnQoKS5oYXNJbnRyaW5zaWNIZWlnaHQoKTsKICAgICBpbnRyaW5zaWNT
aXplLnNldFdpZHRoKGZsb2F0VmFsdWVGb3JMZW5ndGgoc3ZnU1ZHRWxlbWVudCgpLmludHJpbnNp
Y1dpZHRoKCksIDApKTsKICAgICBpbnRyaW5zaWNTaXplLnNldEhlaWdodChmbG9hdFZhbHVlRm9y
TGVuZ3RoKHN2Z1NWR0VsZW1lbnQoKS5pbnRyaW5zaWNIZWlnaHQoKSwgMCkpOwogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXgg
ZWY2ZWY3ZjZkMTFiMjJjYzg3YjUxY2M4N2MzMjNhMjNkMmRmM2FkYy4uODc0N2MwM2U1MTRhYjQ4
OThiZGJjNzEyODAzNDc2Y2RmMTU4MTUxYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIxLTAz
LTE5ICBaaXJhbiBTdW4gIDx6c3VuQGlnYWxpYS5jb20+CisKKyAgICAgICAgW2Nzcy1ncmlkXSBT
ZXQgaGFzV2lkdGggJiBoYXNIZWlnaHQgcHJvcGVydGllcyBmb3IgU1ZHIGVsZW1lbnQncyBpbnRy
aW5zaWMgc2l6ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjIzNTA0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgRW5hYmxlIDYgdGVzdHMgdGhhdCBwYXNzIG5vdy4KKworICAgICAgICAqIFRlc3RFeHBlY3Rh
dGlvbnM6CisKIDIwMjEtMDMtMTYgIExhdXJvIE1vdXJhICA8bG1vdXJhQGlnYWxpYS5jb20+CiAK
ICAgICAgICAgW0dUS10gQWRkIEdUSzQgdGVzdHMgZXhwZWN0YXRpb25zCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9u
cwppbmRleCAxZjNiOWNhNTlhNTExOTVkYjkzM2EyOTA3ZjY2M2FhNDNlOWQ1MWUxLi40YTcxM2Y5
NTdkNDI2OGQ5ZjdmZDhlZmI2MjJiZjMxMzg3ODA3NzBmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAg
LTEyMTIsOCArMTIxMiw2IEBAIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1ncmlkL2Fic3Bvcy9vcnRob2dvbmFsLXBvc2l0aW9uZWQtZ3JpZC1kCiB3ZWJraXQub3JnL2Iv
MjE2MTQ2IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL2FsaWdu
bWVudC9ncmlkLWJhc2VsaW5lLWFsaWduLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3
ZWJraXQub3JnL2IvMjE2MTQ2IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1ncmlkL2FsaWdubWVudC9ncmlkLWJhc2VsaW5lLWp1c3RpZnktMDAxLmh0bWwgWyBJbWFnZU9u
bHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8yMTYxNDUgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWdyaWQvYWxpZ25tZW50L2dyaWQtaXRlbS1uby1hc3BlY3QtcmF0aW8t
c3RyZXRjaC01Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi8yMTYxNDUg
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvYWxpZ25tZW50L2dy
aWQtaXRlbS1uby1hc3BlY3QtcmF0aW8tc3RyZXRjaC02Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJl
IF0KLXdlYmtpdC5vcmcvYi8yMTYxNDUgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWdyaWQvYWxpZ25tZW50L2dyaWQtaXRlbS1uby1hc3BlY3QtcmF0aW8tc3RyZXRjaC03
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8yMTYxNDUgaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvYWxpZ25tZW50L2dyaWQtaXRlbS1u
by1hc3BlY3QtcmF0aW8tc3RyZXRjaC04Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtp
dC5vcmcvYi8yMTYxNDUgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdy
aWQvYWxpZ25tZW50L2dyaWQtaXRlbS1uby1hc3BlY3QtcmF0aW8tc3RyZXRjaC05Lmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8yMTYxNDUgaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvYWxpZ25tZW50L2dyaWQtaXRlbS1uby1hc3BlY3Qt
cmF0aW8tc3RyZXRjaC0xMC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCkBAIC0zMjQ0LDggKzMy
NDIsNiBAQCB3ZWJraXQub3JnL2IvMjAzNTA4IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1zaXppbmcvaW1hZ2UtbWluLW1heAogd2Via2l0Lm9yZy9iLzIwMzUxMiBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2l6aW5nL2ludHJpbnNpYy1wZXJj
ZW50LW5vbi1yZXBsYWNlZC0wMDQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9y
Zy9iLzIwMzUxMiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2l6aW5n
L2ludHJpbnNpYy1wZXJjZW50LW5vbi1yZXBsYWNlZC0wMDUuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQogd2Via2l0Lm9yZy9iLzIwMzUxMyBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3Mtc2l6aW5nL3BlcmNlbnRhZ2UtaGVpZ2h0LXJlcGxhY2VkLWNvbnRlbnQtaW4tYXV0
by1jYi5odG1sIFsgUGFzcyBGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi8yMDM1MTQgaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNpemluZy9yYW5nZS1wZXJjZW50LWludHJp
bnNpYy1zaXplLTIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzIwMzUx
NCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2l6aW5nL3JhbmdlLXBl
cmNlbnQtaW50cmluc2ljLXNpemUtMmEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0
Lm9yZy9iLzIwMzUxNSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2l6
aW5nL3NsaWNlLWludHJpbnNpYy1zaXplLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtp
dC5vcmcvYi8yMDM1ODMgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNp
emluZy9hc3BlY3QtcmF0aW8tYWZmZWN0cy1jb250YWluZXItd2lkdGgtd2hlbi1oZWlnaHQtY2hh
bmdlcy5odG1sIFsgUGFzcyBGYWlsdXJlIF0KIApAQCAtNDM4OCw5ICs0Mzg0LDcgQEAgd2Via2l0
Lm9yZy9iLzIxNDMwMCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZm9u
dHMvdmFyaWF0aW9ucy9mb24KIAogd2Via2l0Lm9yZy9iLzIxNDM4NyBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3N2Zy9hbmltYXRpb25zL3NlZWtpbmctZXZlbnRzLTQuaHRtbCBbIFBh
c3MgRmFpbHVyZSBdCiAKLXdlYmtpdC5vcmcvYi8yMTQ0NTMgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWFsaWduL2Jhc2VsaW5lLW9mLXNjcm9sbGFibGUtMWEuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzIxNDQ1MyBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYWxpZ24vYmFzZWxpbmUtb2Ytc2Nyb2xsYWJsZS0xYi5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi13ZWJraXQub3JnL2IvMjE0NDUzIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbGlnbi9iYXNlbGluZS1vZi1zY3JvbGxhYmxl
LTIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzIxNDQ1MyBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYWxpZ24vYmFzZWxpbmUtcnVsZXMvZ3Jp
ZC1pdGVtLWlucHV0LXR5cGUtbnVtYmVyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtp
dC5vcmcvYi8yMTQ0NTMgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFs
aWduL2Jhc2VsaW5lLXJ1bGVzL2dyaWQtaXRlbS1pbnB1dC10eXBlLXRleHQuaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzIxNDQ1MyBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtYWxpZ24vYmFzZWxpbmUtcnVsZXMvc3ludGhlc2l6ZWQtYmFzZWxp
bmUtdGFibGUtY2VsbC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>425263</attachid>
            <date>2021-04-06 04:15:02 -0700</date>
            <delta_ts>2021-04-06 07:24:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223504-20210406121501.patch</filename>
            <type>text/plain</type>
            <size>9043</size>
            <attacher>zsun</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0NDc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmFlNDJjZGU5NTkxNGFl
MmEzZmMzNjcxYzYyMzJmNjYwMjIwOWQwZS4uNzgzNjZlYjFiMWZmNmZlY2FkMTIxNjRiZjJiZDBk
ZDA1YWVkZjc0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIxLTAzLTE5ICBaaXJh
biBTdW4gIDx6c3VuQGlnYWxpYS5jb20+CisKKyAgICAgICAgW2Nzcy1ncmlkXSBTZXQgaGFzSW50
cmluc2ljV2lkdGggJiBoYXNJbnRyaW5zaWNIZWlnaHQgcHJvcGVydGllcyBmb3IgU1ZHIGVsZW1l
bnQncyBpbnRyaW5zaWMgc2l6ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjIzNTA0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgSW4gUmVuZGVyUmVwbGFjZWQ6OmNvbXB1dGVSZXBsYWNlZExvZ2ljYWxXaWR0
aC9SZW5kZXJSZXBsYWNlZDo6Y29tcHV0ZVJlcGxhY2VkTG9naWNhbEhlaWdodCgpLAorICAgICAg
ICBoYXNJbnRyaW5zaWNXaWR0aCBhbmQgaGFzSW50cmluc2ljSGVpZ2h0IGFyZSBkZWNpZGVkIGJ5
IHdoZXRoZXIgdGhlIHZhbHVlIGlzIGJpZ2dlciB0aGFuIDAuCisgICAgICAgIFRoaXMgaXMgbm90
IGFsd2F5IHRydWUuIFRoZSBTVkcgZWxlbWVudCBzZXRzIGl0cyBoYXNJbnRyaW5zaWNXaWR0aC9o
YXNJbnRyaW5zaWNIZWlnaHQgcHJvcGVydHkKKyAgICAgICAgaW4gbGluZSB3aXRoIGl0cyBsZW5n
dGhUeXBlKCkuIFRoaXMgY2hhbmdlIGFkZHMgY2hlY2tzIGZvciBTVkcgZWxlbWVudCBjYXNlcyBz
cGVjaWZpY2FsbHkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFNpemUuaDoK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyUmVwbGFjZWQ6OmNvbXB1dGVSZXBsYWNlZExvZ2ljYWxXaWR0aCBjb25zdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJSZXBsYWNlZDo6Y29tcHV0ZVJlcGxhY2VkTG9naWNhbEhl
aWdodCBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jvb3Q6OmNvbXB1dGVJbnRyaW5zaWNSYXRpb0lu
Zm9ybWF0aW9uIGNvbnN0KToKKwogMjAyMS0wMy0xNiAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxj
Z2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS11bV1BFXSBTdG9wIHVzaW5nIGdfbWVt
ZHVwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFNp
emUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0U2l6ZS5oCmluZGV4
IDZhYWYzNDNjN2MyMmE3NTg0MmQxZmY5MjA1ODBmMGM2NmQwN2RmNTYuLmQ1NWQxZGNhNTI5YjA2
NjkwYmM2Zjc2Y2U4MTUwNjg5ZTczMmMwMDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0Zsb2F0U2l6ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0Zsb2F0U2l6ZS5oCkBAIC03Miw2ICs3Miw5IEBAIHB1YmxpYzoKICAgICBmbG9h
dCB3aWR0aCgpIGNvbnN0IHsgcmV0dXJuIG1fd2lkdGg7IH0KICAgICBmbG9hdCBoZWlnaHQoKSBj
b25zdCB7IHJldHVybiBtX2hlaWdodDsgfQogCisgICAgYm9vbCBoYXNJbnRyaW5zaWNXaWR0aCA9
IGZhbHNlOworICAgIGJvb2wgaGFzSW50cmluc2ljSGVpZ2h0ID0gZmFsc2U7CisKICAgICB2b2lk
IHNldFdpZHRoKGZsb2F0IHdpZHRoKSB7IG1fd2lkdGggPSB3aWR0aDsgfQogICAgIHZvaWQgc2V0
SGVpZ2h0KGZsb2F0IGhlaWdodCkgeyBtX2hlaWdodCA9IGhlaWdodDsgfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNwcAppbmRleCA2ZmY0NjcwNDQ0YWY0OTUy
OTFlNDM1OTBlYzEwNjhjYzg3MzYzMzkyLi43OGI1OWNiOGY1ZDcxYjVlNzk3YzMwOGIyMDE5M2Mw
MjA1Y2EzMjQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVw
bGFjZWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5j
cHAKQEAgLTU1Myw4ICs1NTMsOCBAQCBMYXlvdXRVbml0IFJlbmRlclJlcGxhY2VkOjpjb21wdXRl
UmVwbGFjZWRMb2dpY2FsV2lkdGgoU2hvdWxkQ29tcHV0ZVByZWZlcnJlZCBzaAogCiAgICAgaWYg
KHN0eWxlKCkubG9naWNhbFdpZHRoKCkuaXNBdXRvKCkpIHsKICAgICAgICAgYm9vbCBjb21wdXRl
ZEhlaWdodElzQXV0byA9IHN0eWxlKCkubG9naWNhbEhlaWdodCgpLmlzQXV0bygpOwotICAgICAg
ICBib29sIGhhc0ludHJpbnNpY1dpZHRoID0gY29uc3RyYWluZWRTaXplLndpZHRoKCkgPiAwOwot
ICAgICAgICBib29sIGhhc0ludHJpbnNpY0hlaWdodCA9IGNvbnN0cmFpbmVkU2l6ZS5oZWlnaHQo
KSA+IDA7CisgICAgICAgIGJvb2wgaGFzSW50cmluc2ljV2lkdGggPSBjb25zdHJhaW5lZFNpemUu
aGFzSW50cmluc2ljV2lkdGggfHwgY29uc3RyYWluZWRTaXplLndpZHRoKCkgPiAwOworICAgICAg
ICBib29sIGhhc0ludHJpbnNpY0hlaWdodCA9IGNvbnN0cmFpbmVkU2l6ZS5oYXNJbnRyaW5zaWNI
ZWlnaHQgfHwgY29uc3RyYWluZWRTaXplLmhlaWdodCgpID4gMDsKIAogICAgICAgICAvLyBGb3Ig
ZmxleCBpdGVtcyB3aGVyZSB0aGUgbG9naWNhbCBoZWlnaHQgaGFzIGJlZW4gb3ZlcnJpZGVuIHRo
ZW4gd2Ugc2hvdWxkIHVzZSB0aGF0IHNpemUgdG8gY29tcHV0ZSB0aGUgcmVwbGFjZWQgd2lkdGgg
YXMgbG9uZyBhcyB0aGUgZmxleCBpdGVtIGhhcwogICAgICAgICAvLyBhbiBpbnRyaW5zaWMgc2l6
ZS4gSXQgaXMgcG9zc2libGUgKGluZGVlZCwgY29tbW9uKSBmb3IgYW4gU1ZHIGdyYXBoaWMgdG8g
aGF2ZSBhbiBpbnRyaW5zaWMgYXNwZWN0IHJhdGlvIGJ1dCBub3QgdG8gaGF2ZSBhbiBpbnRyaW5z
aWMgd2lkdGggb3IgaGVpZ2h0LgpAQCAtNjI3LDggKzYyNyw4IEBAIExheW91dFVuaXQgUmVuZGVy
UmVwbGFjZWQ6OmNvbXB1dGVSZXBsYWNlZExvZ2ljYWxIZWlnaHQoT3B0aW9uYWw8TGF5b3V0VW5p
dD4gZXN0CiAgICAgY29tcHV0ZUFzcGVjdFJhdGlvSW5mb3JtYXRpb25Gb3JSZW5kZXJCb3goY29u
dGVudFJlbmRlcmVyLCBjb25zdHJhaW5lZFNpemUsIGludHJpbnNpY1JhdGlvKTsKIAogICAgIGJv
b2wgd2lkdGhJc0F1dG8gPSBzdHlsZSgpLmxvZ2ljYWxXaWR0aCgpLmlzQXV0bygpOwotICAgIGJv
b2wgaGFzSW50cmluc2ljSGVpZ2h0ID0gY29uc3RyYWluZWRTaXplLmhlaWdodCgpID4gMDsKLSAg
ICBib29sIGhhc0ludHJpbnNpY1dpZHRoID0gY29uc3RyYWluZWRTaXplLndpZHRoKCkgPiAwOwor
ICAgIGJvb2wgaGFzSW50cmluc2ljSGVpZ2h0ID0gY29uc3RyYWluZWRTaXplLmhhc0ludHJpbnNp
Y0hlaWdodCB8fCBjb25zdHJhaW5lZFNpemUuaGVpZ2h0KCkgPiAwOworICAgIGJvb2wgaGFzSW50
cmluc2ljV2lkdGggPSBjb25zdHJhaW5lZFNpemUuaGFzSW50cmluc2ljV2lkdGggfHwgY29uc3Ry
YWluZWRTaXplLndpZHRoKCkgPiAwOwogCiAgICAgLy8gU2VlIGNvbXB1dGVSZXBsYWNlZExvZ2lj
YWxIZWlnaHQoKSBmb3IgYSBzaW1pbGFyIGNoZWNrIGZvciBoZWlnaHRzLgogICAgIGlmIChpbnRy
aW5zaWNSYXRpbyAmJiBpc0ZsZXhJdGVtKCkgJiYgaGFzT3ZlcnJpZGluZ0xvZ2ljYWxXaWR0aCgp
ICYmIGhhc0ludHJpbnNpY0hlaWdodCAmJiBoYXNJbnRyaW5zaWNXaWR0aCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3BwCmluZGV4IDE3NWI1NmM5ZDYy
YWRmNWMzZjkxNDE4ZDllMWMzOTcxYjg1MTRmNTguLjZmNDMyNTM1N2I4YmRjNzNmOTJkODRjNzg1
YTAzMzYzOTNjNjdkYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcv
UmVuZGVyU1ZHUm9vdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5k
ZXJTVkdSb290LmNwcApAQCAtODAsNiArODAsOCBAQCB2b2lkIFJlbmRlclNWR1Jvb3Q6OmNvbXB1
dGVJbnRyaW5zaWNSYXRpb0luZm9ybWF0aW9uKEZsb2F0U2l6ZSYgaW50cmluc2ljU2l6ZSwgZAog
ICAgIC8vIC0gSWYgdGhlIOKAmHdpZHRo4oCZIGFuZCDigJhoZWlnaHTigJkgb2YgdGhlIHJvb3Rt
b3N0IOKAmHN2Z+KAmSBlbGVtZW50IGFyZSBib3RoIHNwZWNpZmllZCB3aXRoIHVuaXQgaWRlbnRp
ZmllcnMgKGluLCBtbSwgY20sIHB0LCBwYywKICAgICAvLyAgIHB4LCBlbSwgZXgpIG9yIGluIHVz
ZXIgdW5pdHMsIHRoZW4gdGhlIGFzcGVjdCByYXRpbyBpcyBjYWxjdWxhdGVkIGZyb20gdGhlIOKA
mHdpZHRo4oCZIGFuZCDigJhoZWlnaHTigJkgYXR0cmlidXRlcyBhZnRlcgogICAgIC8vICAgcmVz
b2x2aW5nIGJvdGggdmFsdWVzIHRvIHVzZXIgdW5pdHMuCisgICAgaW50cmluc2ljU2l6ZS5oYXNJ
bnRyaW5zaWNXaWR0aCA9IHN2Z1NWR0VsZW1lbnQoKS5oYXNJbnRyaW5zaWNXaWR0aCgpOworICAg
IGludHJpbnNpY1NpemUuaGFzSW50cmluc2ljSGVpZ2h0ID0gc3ZnU1ZHRWxlbWVudCgpLmhhc0lu
dHJpbnNpY0hlaWdodCgpOwogICAgIGludHJpbnNpY1NpemUuc2V0V2lkdGgoZmxvYXRWYWx1ZUZv
ckxlbmd0aChzdmdTVkdFbGVtZW50KCkuaW50cmluc2ljV2lkdGgoKSwgMCkpOwogICAgIGludHJp
bnNpY1NpemUuc2V0SGVpZ2h0KGZsb2F0VmFsdWVGb3JMZW5ndGgoc3ZnU1ZHRWxlbWVudCgpLmlu
dHJpbnNpY0hlaWdodCgpLCAwKSk7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBlZjZlZjdmNmQxMWIyMmNjODdiNTFjYzg3
YzMyM2EyM2QyZGYzYWRjLi5jZDI3YjJjOTc4ZmU4YTk1MmE2YTQ0NDNmMzkyMDgwYmYwOTJmMzkx
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjEtMDMtMTkgIFppcmFuIFN1biAgPHpzdW5AaWdh
bGlhLmNvbT4KKworICAgICAgICBbY3NzLWdyaWRdIFNldCBoYXNJbnRyaW5zaWNXaWR0aCAmIGhh
c0ludHJpbnNpY0hlaWdodCBwcm9wZXJ0aWVzIGZvciBTVkcgZWxlbWVudCdzIGludHJpbnNpYyBz
aXplCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjM1
MDQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFbmFi
bGUgNiB0ZXN0cyB0aGF0IHBhc3Mgbm93LgorCisgICAgICAgICogVGVzdEV4cGVjdGF0aW9uczoK
KwogMjAyMS0wMy0xNiAgTGF1cm8gTW91cmEgIDxsbW91cmFAaWdhbGlhLmNvbT4KIAogICAgICAg
ICBbR1RLXSBBZGQgR1RLNCB0ZXN0cyBleHBlY3RhdGlvbnMKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCmluZGV4
IDFmM2I5Y2E1OWE1MTE5NWRiOTMzYTI5MDdmNjYzYWE0M2U5ZDUxZTEuLjRhNzEzZjk1N2Q0MjY4
ZDlmN2ZkOGVmYjYyMmJmMzEzODc4MDc3MGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL1Rlc3RF
eHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTIxMiw4
ICsxMjEyLDYgQEAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQv
YWJzcG9zL29ydGhvZ29uYWwtcG9zaXRpb25lZC1ncmlkLWQKIHdlYmtpdC5vcmcvYi8yMTYxNDYg
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvYWxpZ25tZW50L2dy
aWQtYmFzZWxpbmUtYWxpZ24tMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5v
cmcvYi8yMTYxNDYgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQv
YWxpZ25tZW50L2dyaWQtYmFzZWxpbmUtanVzdGlmeS0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQogd2Via2l0Lm9yZy9iLzIxNjE0NSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtZ3JpZC9hbGlnbm1lbnQvZ3JpZC1pdGVtLW5vLWFzcGVjdC1yYXRpby1zdHJldGNo
LTUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzIxNjE0NSBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9hbGlnbm1lbnQvZ3JpZC1pdGVt
LW5vLWFzcGVjdC1yYXRpby1zdHJldGNoLTYuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotd2Vi
a2l0Lm9yZy9iLzIxNjE0NSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Z3JpZC9hbGlnbm1lbnQvZ3JpZC1pdGVtLW5vLWFzcGVjdC1yYXRpby1zdHJldGNoLTcuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzIxNjE0NSBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9hbGlnbm1lbnQvZ3JpZC1pdGVtLW5vLWFzcGVj
dC1yYXRpby1zdHJldGNoLTguaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9yZy9i
LzIxNjE0NSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9hbGln
bm1lbnQvZ3JpZC1pdGVtLW5vLWFzcGVjdC1yYXRpby1zdHJldGNoLTkuaHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzIxNjE0NSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtZ3JpZC9hbGlnbm1lbnQvZ3JpZC1pdGVtLW5vLWFzcGVjdC1yYXRpby1z
dHJldGNoLTEwLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KQEAgLTMyNDQsOCArMzI0Miw2IEBA
IHdlYmtpdC5vcmcvYi8yMDM1MDggaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLXNpemluZy9pbWFnZS1taW4tbWF4CiB3ZWJraXQub3JnL2IvMjAzNTEyIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zaXppbmcvaW50cmluc2ljLXBlcmNlbnQtbm9u
LXJlcGxhY2VkLTAwNC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMjAz
NTEyIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zaXppbmcvaW50cmlu
c2ljLXBlcmNlbnQtbm9uLXJlcGxhY2VkLTAwNS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3
ZWJraXQub3JnL2IvMjAzNTEzIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1zaXppbmcvcGVyY2VudGFnZS1oZWlnaHQtcmVwbGFjZWQtY29udGVudC1pbi1hdXRvLWNiLmh0
bWwgWyBQYXNzIEZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzIwMzUxNCBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2l6aW5nL3JhbmdlLXBlcmNlbnQtaW50cmluc2ljLXNp
emUtMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi13ZWJraXQub3JnL2IvMjAzNTE0IGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zaXppbmcvcmFuZ2UtcGVyY2VudC1p
bnRyaW5zaWMtc2l6ZS0yYS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2Iv
MjAzNTE1IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zaXppbmcvc2xp
Y2UtaW50cmluc2ljLXNpemUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9yZy9i
LzIwMzU4MyBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2l6aW5nL2Fz
cGVjdC1yYXRpby1hZmZlY3RzLWNvbnRhaW5lci13aWR0aC13aGVuLWhlaWdodC1jaGFuZ2VzLmh0
bWwgWyBQYXNzIEZhaWx1cmUgXQogCkBAIC00Mzg4LDkgKzQzODQsNyBAQCB3ZWJraXQub3JnL2Iv
MjE0MzAwIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250cy92YXJp
YXRpb25zL2ZvbgogCiB3ZWJraXQub3JnL2IvMjE0Mzg3IGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc3ZnL2FuaW1hdGlvbnMvc2Vla2luZy1ldmVudHMtNC5odG1sIFsgUGFzcyBGYWls
dXJlIF0KIAotd2Via2l0Lm9yZy9iLzIxNDQ1MyBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtYWxpZ24vYmFzZWxpbmUtb2Ytc2Nyb2xsYWJsZS0xYS5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMjE0NDUzIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1hbGlnbi9iYXNlbGluZS1vZi1zY3JvbGxhYmxlLTFiLmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi8yMTQ0NTMgaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWFsaWduL2Jhc2VsaW5lLW9mLXNjcm9sbGFibGUtMi5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMjE0NDUzIGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1hbGlnbi9iYXNlbGluZS1ydWxlcy9ncmlkLWl0ZW0t
aW5wdXQtdHlwZS1udW1iZXIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9yZy9i
LzIxNDQ1MyBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtYWxpZ24vYmFz
ZWxpbmUtcnVsZXMvZ3JpZC1pdGVtLWlucHV0LXR5cGUtdGV4dC5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCiB3ZWJraXQub3JnL2IvMjE0NDUzIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1hbGlnbi9iYXNlbGluZS1ydWxlcy9zeW50aGVzaXplZC1iYXNlbGluZS10YWJs
ZS1jZWxsLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>425275</attachid>
            <date>2021-04-06 07:24:48 -0700</date>
            <delta_ts>2021-04-09 05:18:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223504-20210406152447.patch</filename>
            <type>text/plain</type>
            <size>8150</size>
            <attacher>zsun</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1NTA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2RiNDMzZDUzOTgwYjIz
MDk3NGRiOTVlZTE1NzllMzdjODI3N2Q4ZC4uZjM4ZWMzMThkYWQ1MTUyMjI4OTUzNzQ2YjQ5MzY0
MWU0YzVkYjYwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIxLTA0LTA2ICBaaXJh
biBTdW4gIDx6c3VuQGlnYWxpYS5jb20+CisKKyAgICAgICAgW2Nzcy1ncmlkXSBTZXQgaGFzSW50
cmluc2ljV2lkdGggJiBoYXNJbnRyaW5zaWNIZWlnaHQgcHJvcGVydGllcyBmb3IgU1ZHIGVsZW1l
bnQncyBpbnRyaW5zaWMgc2l6ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjIzNTA0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgSW4gUmVuZGVyUmVwbGFjZWQ6OmNvbXB1dGVSZXBsYWNlZExvZ2ljYWxXaWR0
aC9SZW5kZXJSZXBsYWNlZDo6Y29tcHV0ZVJlcGxhY2VkTG9naWNhbEhlaWdodCgpLAorICAgICAg
ICBoYXNJbnRyaW5zaWNXaWR0aCBhbmQgaGFzSW50cmluc2ljSGVpZ2h0IGFyZSBkZWNpZGVkIGJ5
IHdoZXRoZXIgdGhlIHZhbHVlIGlzIGJpZ2dlciB0aGFuIDAuCisgICAgICAgIFRoaXMgaXMgbm90
IGFsd2F5IHRydWUuIFRoZSBTVkcgZWxlbWVudCBzZXRzIGl0cyBoYXNJbnRyaW5zaWNXaWR0aC9o
YXNJbnRyaW5zaWNIZWlnaHQgcHJvcGVydHkKKyAgICAgICAgaW4gbGluZSB3aXRoIGl0cyBsZW5n
dGhUeXBlKCkuIFRoaXMgY2hhbmdlIGFkZHMgY2hlY2tzIGZvciBTVkcgZWxlbWVudCBjYXNlcyBz
cGVjaWZpY2FsbHkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFNpemUuaDoK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyUmVwbGFjZWQ6OmNvbXB1dGVSZXBsYWNlZExvZ2ljYWxXaWR0aCBjb25zdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJSZXBsYWNlZDo6Y29tcHV0ZVJlcGxhY2VkTG9naWNhbEhl
aWdodCBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jvb3Q6OmNvbXB1dGVJbnRyaW5zaWNSYXRpb0lu
Zm9ybWF0aW9uIGNvbnN0KToKKwogMjAyMS0wNC0wNiAgU3RlcGhhbiBTemFibyAgPHN0ZXBoYW4u
c3phYm9Ac29ueS5jb20+CiAKICAgICAgICAgW1BsYXlTdGF0aW9uXSBDaGFuZ2UgbWVkaWFDb250
cm9sc0xvY2FsaXplZFN0cmluZ3MgdG8gdXNlIHVuaWNvZGUgZXNjYXBlcwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRTaXplLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFNpemUuaAppbmRleCA2YWFmMzQzYzdjMjJhNzU4
NDJkMWZmOTIwNTgwZjBjNjZkMDdkZjU2Li5kNTVkMWRjYTUyOWIwNjY5MGJjNmY3NmNlODE1MDY4
OWU3MzJjMDA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9G
bG9hdFNpemUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFNp
emUuaApAQCAtNzIsNiArNzIsOSBAQCBwdWJsaWM6CiAgICAgZmxvYXQgd2lkdGgoKSBjb25zdCB7
IHJldHVybiBtX3dpZHRoOyB9CiAgICAgZmxvYXQgaGVpZ2h0KCkgY29uc3QgeyByZXR1cm4gbV9o
ZWlnaHQ7IH0KIAorICAgIGJvb2wgaGFzSW50cmluc2ljV2lkdGggPSBmYWxzZTsKKyAgICBib29s
IGhhc0ludHJpbnNpY0hlaWdodCA9IGZhbHNlOworCiAgICAgdm9pZCBzZXRXaWR0aChmbG9hdCB3
aWR0aCkgeyBtX3dpZHRoID0gd2lkdGg7IH0KICAgICB2b2lkIHNldEhlaWdodChmbG9hdCBoZWln
aHQpIHsgbV9oZWlnaHQgPSBoZWlnaHQ7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJSZXBsYWNlZC5jcHAKaW5kZXggNmZmNDY3MDQ0NGFmNDk1MjkxZTQzNTkwZWMxMDY4Y2M4
NzM2MzM5Mi4uNzhiNTljYjhmNWQ3MWI1ZTc5N2MzMDhiMjAxOTNjMDIwNWNhMzI0MiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwCkBAIC01NTMsOCArNTUz
LDggQEAgTGF5b3V0VW5pdCBSZW5kZXJSZXBsYWNlZDo6Y29tcHV0ZVJlcGxhY2VkTG9naWNhbFdp
ZHRoKFNob3VsZENvbXB1dGVQcmVmZXJyZWQgc2gKIAogICAgIGlmIChzdHlsZSgpLmxvZ2ljYWxX
aWR0aCgpLmlzQXV0bygpKSB7CiAgICAgICAgIGJvb2wgY29tcHV0ZWRIZWlnaHRJc0F1dG8gPSBz
dHlsZSgpLmxvZ2ljYWxIZWlnaHQoKS5pc0F1dG8oKTsKLSAgICAgICAgYm9vbCBoYXNJbnRyaW5z
aWNXaWR0aCA9IGNvbnN0cmFpbmVkU2l6ZS53aWR0aCgpID4gMDsKLSAgICAgICAgYm9vbCBoYXNJ
bnRyaW5zaWNIZWlnaHQgPSBjb25zdHJhaW5lZFNpemUuaGVpZ2h0KCkgPiAwOworICAgICAgICBi
b29sIGhhc0ludHJpbnNpY1dpZHRoID0gY29uc3RyYWluZWRTaXplLmhhc0ludHJpbnNpY1dpZHRo
IHx8IGNvbnN0cmFpbmVkU2l6ZS53aWR0aCgpID4gMDsKKyAgICAgICAgYm9vbCBoYXNJbnRyaW5z
aWNIZWlnaHQgPSBjb25zdHJhaW5lZFNpemUuaGFzSW50cmluc2ljSGVpZ2h0IHx8IGNvbnN0cmFp
bmVkU2l6ZS5oZWlnaHQoKSA+IDA7CiAKICAgICAgICAgLy8gRm9yIGZsZXggaXRlbXMgd2hlcmUg
dGhlIGxvZ2ljYWwgaGVpZ2h0IGhhcyBiZWVuIG92ZXJyaWRlbiB0aGVuIHdlIHNob3VsZCB1c2Ug
dGhhdCBzaXplIHRvIGNvbXB1dGUgdGhlIHJlcGxhY2VkIHdpZHRoIGFzIGxvbmcgYXMgdGhlIGZs
ZXggaXRlbSBoYXMKICAgICAgICAgLy8gYW4gaW50cmluc2ljIHNpemUuIEl0IGlzIHBvc3NpYmxl
IChpbmRlZWQsIGNvbW1vbikgZm9yIGFuIFNWRyBncmFwaGljIHRvIGhhdmUgYW4gaW50cmluc2lj
IGFzcGVjdCByYXRpbyBidXQgbm90IHRvIGhhdmUgYW4gaW50cmluc2ljIHdpZHRoIG9yIGhlaWdo
dC4KQEAgLTYyNyw4ICs2MjcsOCBAQCBMYXlvdXRVbml0IFJlbmRlclJlcGxhY2VkOjpjb21wdXRl
UmVwbGFjZWRMb2dpY2FsSGVpZ2h0KE9wdGlvbmFsPExheW91dFVuaXQ+IGVzdAogICAgIGNvbXB1
dGVBc3BlY3RSYXRpb0luZm9ybWF0aW9uRm9yUmVuZGVyQm94KGNvbnRlbnRSZW5kZXJlciwgY29u
c3RyYWluZWRTaXplLCBpbnRyaW5zaWNSYXRpbyk7CiAKICAgICBib29sIHdpZHRoSXNBdXRvID0g
c3R5bGUoKS5sb2dpY2FsV2lkdGgoKS5pc0F1dG8oKTsKLSAgICBib29sIGhhc0ludHJpbnNpY0hl
aWdodCA9IGNvbnN0cmFpbmVkU2l6ZS5oZWlnaHQoKSA+IDA7Ci0gICAgYm9vbCBoYXNJbnRyaW5z
aWNXaWR0aCA9IGNvbnN0cmFpbmVkU2l6ZS53aWR0aCgpID4gMDsKKyAgICBib29sIGhhc0ludHJp
bnNpY0hlaWdodCA9IGNvbnN0cmFpbmVkU2l6ZS5oYXNJbnRyaW5zaWNIZWlnaHQgfHwgY29uc3Ry
YWluZWRTaXplLmhlaWdodCgpID4gMDsKKyAgICBib29sIGhhc0ludHJpbnNpY1dpZHRoID0gY29u
c3RyYWluZWRTaXplLmhhc0ludHJpbnNpY1dpZHRoIHx8IGNvbnN0cmFpbmVkU2l6ZS53aWR0aCgp
ID4gMDsKIAogICAgIC8vIFNlZSBjb21wdXRlUmVwbGFjZWRMb2dpY2FsSGVpZ2h0KCkgZm9yIGEg
c2ltaWxhciBjaGVjayBmb3IgaGVpZ2h0cy4KICAgICBpZiAoaW50cmluc2ljUmF0aW8gJiYgaXNG
bGV4SXRlbSgpICYmIGhhc092ZXJyaWRpbmdMb2dpY2FsV2lkdGgoKSAmJiBoYXNJbnRyaW5zaWNI
ZWlnaHQgJiYgaGFzSW50cmluc2ljV2lkdGgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N2Zy9SZW5kZXJTVkdSb290LmNwcAppbmRleCAxNDE1MWE0MWQ5ZmE4YzQ3ZTU0MjBlMjc0MTk1
MmIzMjYwZDMxMWY5Li4xNDIyMzUwNDYwOWUzYjE1YjViYzM2OGE0NzgwNzAwNzA5NTYyMDg1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5jcHAKQEAg
LTgwLDYgKzgwLDggQEAgdm9pZCBSZW5kZXJTVkdSb290Ojpjb21wdXRlSW50cmluc2ljUmF0aW9J
bmZvcm1hdGlvbihGbG9hdFNpemUmIGludHJpbnNpY1NpemUsIGQKICAgICAvLyAtIElmIHRoZSDi
gJh3aWR0aOKAmSBhbmQg4oCYaGVpZ2h04oCZIG9mIHRoZSByb290bW9zdCDigJhzdmfigJkgZWxl
bWVudCBhcmUgYm90aCBzcGVjaWZpZWQgd2l0aCB1bml0IGlkZW50aWZpZXJzIChpbiwgbW0sIGNt
LCBwdCwgcGMsCiAgICAgLy8gICBweCwgZW0sIGV4KSBvciBpbiB1c2VyIHVuaXRzLCB0aGVuIHRo
ZSBhc3BlY3QgcmF0aW8gaXMgY2FsY3VsYXRlZCBmcm9tIHRoZSDigJh3aWR0aOKAmSBhbmQg4oCY
aGVpZ2h04oCZIGF0dHJpYnV0ZXMgYWZ0ZXIKICAgICAvLyAgIHJlc29sdmluZyBib3RoIHZhbHVl
cyB0byB1c2VyIHVuaXRzLgorICAgIGludHJpbnNpY1NpemUuaGFzSW50cmluc2ljV2lkdGggPSBz
dmdTVkdFbGVtZW50KCkuaGFzSW50cmluc2ljV2lkdGgoKTsKKyAgICBpbnRyaW5zaWNTaXplLmhh
c0ludHJpbnNpY0hlaWdodCA9IHN2Z1NWR0VsZW1lbnQoKS5oYXNJbnRyaW5zaWNIZWlnaHQoKTsK
ICAgICBpbnRyaW5zaWNTaXplLnNldFdpZHRoKGZsb2F0VmFsdWVGb3JMZW5ndGgoc3ZnU1ZHRWxl
bWVudCgpLmludHJpbnNpY1dpZHRoKCksIDApKTsKICAgICBpbnRyaW5zaWNTaXplLnNldEhlaWdo
dChmbG9hdFZhbHVlRm9yTGVuZ3RoKHN2Z1NWR0VsZW1lbnQoKS5pbnRyaW5zaWNIZWlnaHQoKSwg
MCkpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKaW5kZXggZTU0NTZmZTcyZjRiODVhNzMyYmJkYzc3MjAzNmYyODc0MjUwZGUyMS4u
OTc4YTNjZTYyMjQzODkyZDkyOGE5YmUyMmVkMzE5ZDEyMjkwN2RiOCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE0IEBACisyMDIxLTA0LTA2ICBaaXJhbiBTdW4gIDx6c3VuQGlnYWxpYS5jb20+CisKKyAgICAg
ICAgW2Nzcy1ncmlkXSBTZXQgaGFzSW50cmluc2ljV2lkdGggJiBoYXNJbnRyaW5zaWNIZWlnaHQg
cHJvcGVydGllcyBmb3IgU1ZHIGVsZW1lbnQncyBpbnRyaW5zaWMgc2l6ZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzNTA0CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRW5hYmxlIDQgdGVzdHMgdGhhdCBw
YXNzIG5vdy4KKworICAgICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6CisKIDIwMjEtMDQtMDYgIEtp
bW1vIEtpbm51bmVuICA8a2tpbm51bmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWJHTCBjb25m
b3JtYW5jZSB0ZXN0cyBhcmUgbWlzc2luZyBmaWxlcyBkdWUgdG8gdG9vIHdpZGVseSBtYXRjaGlu
ZyAuZ2l0aWdub3JlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zIGIv
TGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCAxOWIyYmQ5NjlkYmMwMDYzMWE3ODQ5
Y2MyZDc1ZGM3NDMyM2EyNTk5Li5iZjFiZjk2OWMzZjlmZTMzZWRkYmMzZTY4YjZlMDA3MTMyN2Yz
ZDE0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91
dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTEyMTMsOCArMTIxMyw2IEBAIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL2Fic3Bvcy9vcnRob2dvbmFsLXBvc2l0
aW9uZWQtZ3JpZC1kCiB3ZWJraXQub3JnL2IvMjE2MTQ2IGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1ncmlkL2FsaWdubWVudC9ncmlkLWJhc2VsaW5lLWFsaWduLTAwMS5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMjE2MTQ2IGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL2FsaWdubWVudC9ncmlkLWJhc2VsaW5l
LWp1c3RpZnktMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8yMTYx
NDUgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvYWxpZ25tZW50
L2dyaWQtaXRlbS1uby1hc3BlY3QtcmF0aW8tc3RyZXRjaC01Lmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KLXdlYmtpdC5vcmcvYi8yMTYxNDUgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWdyaWQvYWxpZ25tZW50L2dyaWQtaXRlbS1uby1hc3BlY3QtcmF0aW8tc3RyZXRj
aC02Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi8yMTYxNDUgaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvYWxpZ25tZW50L2dyaWQtaXRl
bS1uby1hc3BlY3QtcmF0aW8tc3RyZXRjaC03Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdl
YmtpdC5vcmcvYi8yMTYxNDUgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWdyaWQvYWxpZ25tZW50L2dyaWQtaXRlbS1uby1hc3BlY3QtcmF0aW8tc3RyZXRjaC04Lmh0bWwg
WyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8yMTYxNDUgaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvYWxpZ25tZW50L2dyaWQtaXRlbS1uby1hc3Bl
Y3QtcmF0aW8tc3RyZXRjaC05Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcv
Yi8yMTYxNDUgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvYWxp
Z25tZW50L2dyaWQtaXRlbS1uby1hc3BlY3QtcmF0aW8tc3RyZXRjaC0xMC5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCkBAIC0zMjMxLDggKzMyMjksNiBAQCB3ZWJraXQub3JnL2IvMjAzNTA4IGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zaXppbmcvaW1hZ2UtbWluLW1h
eAogd2Via2l0Lm9yZy9iLzIwMzUxMiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3Mtc2l6aW5nL2ludHJpbnNpYy1wZXJjZW50LW5vbi1yZXBsYWNlZC0wMDQuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzIwMzUxMiBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2l6aW5nL2ludHJpbnNpYy1wZXJjZW50LW5vbi1yZXBsYWNl
ZC0wMDUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzIwMzUxMyBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2l6aW5nL3BlcmNlbnRhZ2UtaGVp
Z2h0LXJlcGxhY2VkLWNvbnRlbnQtaW4tYXV0by1jYi5odG1sIFsgUGFzcyBGYWlsdXJlIF0KLXdl
YmtpdC5vcmcvYi8yMDM1MTQgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LXNpemluZy9yYW5nZS1wZXJjZW50LWludHJpbnNpYy1zaXplLTIuaHRtbCBbIEltYWdlT25seUZh
aWx1cmUgXQotd2Via2l0Lm9yZy9iLzIwMzUxNCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3Mtc2l6aW5nL3JhbmdlLXBlcmNlbnQtaW50cmluc2ljLXNpemUtMmEuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzIwMzUxNSBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2l6aW5nL3NsaWNlLWludHJpbnNpYy1zaXplLmh0bWwg
WyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8yMDM1ODMgaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNpemluZy9hc3BlY3QtcmF0aW8tYWZmZWN0cy1jb250
YWluZXItd2lkdGgtd2hlbi1oZWlnaHQtY2hhbmdlcy5odG1sIFsgUGFzcyBGYWlsdXJlIF0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>425614</attachid>
            <date>2021-04-09 05:18:30 -0700</date>
            <delta_ts>2021-04-09 12:05:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223504-20210409131829.patch</filename>
            <type>text/plain</type>
            <size>8648</size>
            <attacher>zsun</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1NTA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2RiNDMzZDUzOTgwYjIz
MDk3NGRiOTVlZTE1NzllMzdjODI3N2Q4ZC4uODA5NzAzZjljZTViMDE3NjBjNThjYmY3OWFlNjJk
YzRiMThhMjc5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIxLTA0LTA2ICBaaXJh
biBTdW4gIDx6c3VuQGlnYWxpYS5jb20+CisKKyAgICAgICAgW2Nzcy1ncmlkXSBTZXQgaGFzSW50
cmluc2ljV2lkdGggJiBoYXNJbnRyaW5zaWNIZWlnaHQgcHJvcGVydGllcyBmb3IgU1ZHIGVsZW1l
bnQncyBpbnRyaW5zaWMgc2l6ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjIzNTA0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgSmF2aWVyIEZlcm5hbmRl
ei4KKworICAgICAgICBJbiBSZW5kZXJSZXBsYWNlZDo6Y29tcHV0ZVJlcGxhY2VkTG9naWNhbFdp
ZHRoL1JlbmRlclJlcGxhY2VkOjpjb21wdXRlUmVwbGFjZWRMb2dpY2FsSGVpZ2h0KCksCisgICAg
ICAgIGhhc0ludHJpbnNpY1dpZHRoIGFuZCBoYXNJbnRyaW5zaWNIZWlnaHQgYXJlIGRlY2lkZWQg
Ynkgd2hldGhlciB0aGUgdmFsdWUgaXMgYmlnZ2VyIHRoYW4gMC4KKyAgICAgICAgVGhpcyBpcyBu
b3QgYWx3YXkgdHJ1ZS4gVGhlIFNWRyBlbGVtZW50IHNldHMgaXRzIGhhc0ludHJpbnNpY1dpZHRo
L2hhc0ludHJpbnNpY0hlaWdodCBwcm9wZXJ0eQorICAgICAgICBpbiBsaW5lIHdpdGggaXRzIGxl
bmd0aFR5cGUoKS4gVGhpcyBjaGFuZ2UgYWRkcyBjaGVja3MgZm9yIFNWRyBlbGVtZW50IGNhc2Vz
IHNwZWNpZmljYWxseS4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0U2l6ZS5o
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJSZXBsYWNlZDo6Y29tcHV0ZVJlcGxhY2VkTG9naWNhbFdpZHRoIGNvbnN0KToK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclJlcGxhY2VkOjpjb21wdXRlUmVwbGFjZWRMb2dpY2Fs
SGVpZ2h0IGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUm9vdDo6Y29tcHV0ZUludHJpbnNpY1JhdGlv
SW5mb3JtYXRpb24gY29uc3QpOgorCiAyMDIxLTA0LTA2ICBTdGVwaGFuIFN6YWJvICA8c3RlcGhh
bi5zemFib0Bzb255LmNvbT4KIAogICAgICAgICBbUGxheVN0YXRpb25dIENoYW5nZSBtZWRpYUNv
bnRyb2xzTG9jYWxpemVkU3RyaW5ncyB0byB1c2UgdW5pY29kZSBlc2NhcGVzCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFNpemUuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0U2l6ZS5oCmluZGV4IDZhYWYzNDNjN2MyMmE3
NTg0MmQxZmY5MjA1ODBmMGM2NmQwN2RmNTYuLmQ1NWQxZGNhNTI5YjA2NjkwYmM2Zjc2Y2U4MTUw
Njg5ZTczMmMwMDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0Zsb2F0U2l6ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0
U2l6ZS5oCkBAIC03Miw2ICs3Miw5IEBAIHB1YmxpYzoKICAgICBmbG9hdCB3aWR0aCgpIGNvbnN0
IHsgcmV0dXJuIG1fd2lkdGg7IH0KICAgICBmbG9hdCBoZWlnaHQoKSBjb25zdCB7IHJldHVybiBt
X2hlaWdodDsgfQogCisgICAgYm9vbCBoYXNJbnRyaW5zaWNXaWR0aCA9IGZhbHNlOworICAgIGJv
b2wgaGFzSW50cmluc2ljSGVpZ2h0ID0gZmFsc2U7CisKICAgICB2b2lkIHNldFdpZHRoKGZsb2F0
IHdpZHRoKSB7IG1fd2lkdGggPSB3aWR0aDsgfQogICAgIHZvaWQgc2V0SGVpZ2h0KGZsb2F0IGhl
aWdodCkgeyBtX2hlaWdodCA9IGhlaWdodDsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclJlcGxhY2VkLmNwcAppbmRleCA2ZmY0NjcwNDQ0YWY0OTUyOTFlNDM1OTBlYzEwNjhj
Yzg3MzYzMzkyLi5iOWU0MDBlYTI3MGRhMzEyYjViOWQ4OTk4Yzk5NzRiY2UxMTVmYTgyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHAKQEAgLTU1Myw4ICs1
NTMsMTAgQEAgTGF5b3V0VW5pdCBSZW5kZXJSZXBsYWNlZDo6Y29tcHV0ZVJlcGxhY2VkTG9naWNh
bFdpZHRoKFNob3VsZENvbXB1dGVQcmVmZXJyZWQgc2gKIAogICAgIGlmIChzdHlsZSgpLmxvZ2lj
YWxXaWR0aCgpLmlzQXV0bygpKSB7CiAgICAgICAgIGJvb2wgY29tcHV0ZWRIZWlnaHRJc0F1dG8g
PSBzdHlsZSgpLmxvZ2ljYWxIZWlnaHQoKS5pc0F1dG8oKTsKLSAgICAgICAgYm9vbCBoYXNJbnRy
aW5zaWNXaWR0aCA9IGNvbnN0cmFpbmVkU2l6ZS53aWR0aCgpID4gMDsKLSAgICAgICAgYm9vbCBo
YXNJbnRyaW5zaWNIZWlnaHQgPSBjb25zdHJhaW5lZFNpemUuaGVpZ2h0KCkgPiAwOworICAgICAg
ICAvLyBGSVhNRTogVGhlIGhhc0ludHJpbnNpY1dpZHRoIGFuZCBoYXNJbnRyaW5zaWNIZWlnaHQg
ZmxhZ3MgaGVyZSBhcmUgb25seSB1cGRhdGVkIGZvciBTVkcgZWxlbWVudHMuIElkZWFsbHksIGl0
IGNhbiBiZSB1c2VkIGluCisgICAgICAgIC8vIGFsbCB0aGUgY2FzZXMgc28gd2UgZG9uJ3QgbmVl
ZCBjb25zdHJhaW5lZFNpemUud2lkdGgoKSA+IDAgYW5kIGNvbnN0cmFpbmVkU2l6ZS5oZWlnaHQo
KSA+IDAgY2xhdXNlcy4KKyAgICAgICAgYm9vbCBoYXNJbnRyaW5zaWNXaWR0aCA9IGNvbnN0cmFp
bmVkU2l6ZS5oYXNJbnRyaW5zaWNXaWR0aCB8fCBjb25zdHJhaW5lZFNpemUud2lkdGgoKSA+IDA7
CisgICAgICAgIGJvb2wgaGFzSW50cmluc2ljSGVpZ2h0ID0gY29uc3RyYWluZWRTaXplLmhhc0lu
dHJpbnNpY0hlaWdodCB8fCBjb25zdHJhaW5lZFNpemUuaGVpZ2h0KCkgPiAwOwogCiAgICAgICAg
IC8vIEZvciBmbGV4IGl0ZW1zIHdoZXJlIHRoZSBsb2dpY2FsIGhlaWdodCBoYXMgYmVlbiBvdmVy
cmlkZW4gdGhlbiB3ZSBzaG91bGQgdXNlIHRoYXQgc2l6ZSB0byBjb21wdXRlIHRoZSByZXBsYWNl
ZCB3aWR0aCBhcyBsb25nIGFzIHRoZSBmbGV4IGl0ZW0gaGFzCiAgICAgICAgIC8vIGFuIGludHJp
bnNpYyBzaXplLiBJdCBpcyBwb3NzaWJsZSAoaW5kZWVkLCBjb21tb24pIGZvciBhbiBTVkcgZ3Jh
cGhpYyB0byBoYXZlIGFuIGludHJpbnNpYyBhc3BlY3QgcmF0aW8gYnV0IG5vdCB0byBoYXZlIGFu
IGludHJpbnNpYyB3aWR0aCBvciBoZWlnaHQuCkBAIC02MjcsOCArNjI5LDEwIEBAIExheW91dFVu
aXQgUmVuZGVyUmVwbGFjZWQ6OmNvbXB1dGVSZXBsYWNlZExvZ2ljYWxIZWlnaHQoT3B0aW9uYWw8
TGF5b3V0VW5pdD4gZXN0CiAgICAgY29tcHV0ZUFzcGVjdFJhdGlvSW5mb3JtYXRpb25Gb3JSZW5k
ZXJCb3goY29udGVudFJlbmRlcmVyLCBjb25zdHJhaW5lZFNpemUsIGludHJpbnNpY1JhdGlvKTsK
IAogICAgIGJvb2wgd2lkdGhJc0F1dG8gPSBzdHlsZSgpLmxvZ2ljYWxXaWR0aCgpLmlzQXV0bygp
OwotICAgIGJvb2wgaGFzSW50cmluc2ljSGVpZ2h0ID0gY29uc3RyYWluZWRTaXplLmhlaWdodCgp
ID4gMDsKLSAgICBib29sIGhhc0ludHJpbnNpY1dpZHRoID0gY29uc3RyYWluZWRTaXplLndpZHRo
KCkgPiAwOworICAgIC8vIEZJWE1FOiBUaGUgaGFzSW50cmluc2ljSGVpZ2h0IGFuZCBoYXNJbnRy
aW5zaWNXaWR0aCBmbGFncyBoZXJlIGFyZSBvbmx5IHVwZGF0ZWQgZm9yIFNWRyBlbGVtZW50cy4g
SWRlYWxseSwgaXQgY2FuIGJlIHVzZWQgaW4KKyAgICAvLyBhbGwgdGhlIGNhc2VzIHNvIHdlIGRv
bid0IG5lZWQgY29uc3RyYWluZWRTaXplLmhlaWdodCgpID4gMCBhbmQgY29uc3RyYWluZWRTaXpl
LndpZHRoKCkgPiAwIGNsYXVzZXMuCisgICAgYm9vbCBoYXNJbnRyaW5zaWNIZWlnaHQgPSBjb25z
dHJhaW5lZFNpemUuaGFzSW50cmluc2ljSGVpZ2h0IHx8IGNvbnN0cmFpbmVkU2l6ZS5oZWlnaHQo
KSA+IDA7CisgICAgYm9vbCBoYXNJbnRyaW5zaWNXaWR0aCA9IGNvbnN0cmFpbmVkU2l6ZS5oYXNJ
bnRyaW5zaWNXaWR0aCB8fCBjb25zdHJhaW5lZFNpemUud2lkdGgoKSA+IDA7CiAKICAgICAvLyBT
ZWUgY29tcHV0ZVJlcGxhY2VkTG9naWNhbEhlaWdodCgpIGZvciBhIHNpbWlsYXIgY2hlY2sgZm9y
IGhlaWdodHMuCiAgICAgaWYgKGludHJpbnNpY1JhdGlvICYmIGlzRmxleEl0ZW0oKSAmJiBoYXNP
dmVycmlkaW5nTG9naWNhbFdpZHRoKCkgJiYgaGFzSW50cmluc2ljSGVpZ2h0ICYmIGhhc0ludHJp
bnNpY1dpZHRoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5k
ZXJTVkdSb290LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9v
dC5jcHAKaW5kZXggMTQxNTFhNDFkOWZhOGM0N2U1NDIwZTI3NDE5NTJiMzI2MGQzMTFmOS4uMTQy
MjM1MDQ2MDllM2IxNWI1YmMzNjhhNDc4MDcwMDcwOTU2MjA4NSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3BwCkBAIC04MCw2ICs4MCw4IEBAIHZv
aWQgUmVuZGVyU1ZHUm9vdDo6Y29tcHV0ZUludHJpbnNpY1JhdGlvSW5mb3JtYXRpb24oRmxvYXRT
aXplJiBpbnRyaW5zaWNTaXplLCBkCiAgICAgLy8gLSBJZiB0aGUg4oCYd2lkdGjigJkgYW5kIOKA
mGhlaWdodOKAmSBvZiB0aGUgcm9vdG1vc3Qg4oCYc3Zn4oCZIGVsZW1lbnQgYXJlIGJvdGggc3Bl
Y2lmaWVkIHdpdGggdW5pdCBpZGVudGlmaWVycyAoaW4sIG1tLCBjbSwgcHQsIHBjLAogICAgIC8v
ICAgcHgsIGVtLCBleCkgb3IgaW4gdXNlciB1bml0cywgdGhlbiB0aGUgYXNwZWN0IHJhdGlvIGlz
IGNhbGN1bGF0ZWQgZnJvbSB0aGUg4oCYd2lkdGjigJkgYW5kIOKAmGhlaWdodOKAmSBhdHRyaWJ1
dGVzIGFmdGVyCiAgICAgLy8gICByZXNvbHZpbmcgYm90aCB2YWx1ZXMgdG8gdXNlciB1bml0cy4K
KyAgICBpbnRyaW5zaWNTaXplLmhhc0ludHJpbnNpY1dpZHRoID0gc3ZnU1ZHRWxlbWVudCgpLmhh
c0ludHJpbnNpY1dpZHRoKCk7CisgICAgaW50cmluc2ljU2l6ZS5oYXNJbnRyaW5zaWNIZWlnaHQg
PSBzdmdTVkdFbGVtZW50KCkuaGFzSW50cmluc2ljSGVpZ2h0KCk7CiAgICAgaW50cmluc2ljU2l6
ZS5zZXRXaWR0aChmbG9hdFZhbHVlRm9yTGVuZ3RoKHN2Z1NWR0VsZW1lbnQoKS5pbnRyaW5zaWNX
aWR0aCgpLCAwKSk7CiAgICAgaW50cmluc2ljU2l6ZS5zZXRIZWlnaHQoZmxvYXRWYWx1ZUZvckxl
bmd0aChzdmdTVkdFbGVtZW50KCkuaW50cmluc2ljSGVpZ2h0KCksIDApKTsKIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGU1
NDU2ZmU3MmY0Yjg1YTczMmJiZGM3NzIwMzZmMjg3NDI1MGRlMjEuLjAzZjE1NTMwYzM4OTNhMTQz
NDhmOTQ3MzRiMDBiMjM3Y2E3Mzg2MWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMS0wNC0w
NiAgWmlyYW4gU3VuICA8enN1bkBpZ2FsaWEuY29tPgorCisgICAgICAgIFtjc3MtZ3JpZF0gU2V0
IGhhc0ludHJpbnNpY1dpZHRoICYgaGFzSW50cmluc2ljSGVpZ2h0IHByb3BlcnRpZXMgZm9yIFNW
RyBlbGVtZW50J3MgaW50cmluc2ljIHNpemUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIyMzUwNAorCisgICAgICAgIFJldmlld2VkIGJ5IEphdmllciBG
ZXJuYW5kZXouCisKKyAgICAgICAgRW5hYmxlIDQgdGVzdHMgdGhhdCBwYXNzIG5vdy4KKworICAg
ICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6CisKIDIwMjEtMDQtMDYgIEtpbW1vIEtpbm51bmVuICA8
a2tpbm51bmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWJHTCBjb25mb3JtYW5jZSB0ZXN0cyBh
cmUgbWlzc2luZyBmaWxlcyBkdWUgdG8gdG9vIHdpZGVseSBtYXRjaGluZyAuZ2l0aWdub3JlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVz
dEV4cGVjdGF0aW9ucwppbmRleCAxOWIyYmQ5NjlkYmMwMDYzMWE3ODQ5Y2MyZDc1ZGM3NDMyM2Ey
NTk5Li5iZjFiZjk2OWMzZjlmZTMzZWRkYmMzZTY4YjZlMDA3MTMyN2YzZDE0IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RFeHBl
Y3RhdGlvbnMKQEAgLTEyMTMsOCArMTIxMyw2IEBAIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1ncmlkL2Fic3Bvcy9vcnRob2dvbmFsLXBvc2l0aW9uZWQtZ3JpZC1kCiB3
ZWJraXQub3JnL2IvMjE2MTQ2IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1ncmlkL2FsaWdubWVudC9ncmlkLWJhc2VsaW5lLWFsaWduLTAwMS5odG1sIFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMjE2MTQ2IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1ncmlkL2FsaWdubWVudC9ncmlkLWJhc2VsaW5lLWp1c3RpZnktMDAxLmh0
bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8yMTYxNDUgaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvYWxpZ25tZW50L2dyaWQtaXRlbS1uby1h
c3BlY3QtcmF0aW8tc3RyZXRjaC01Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLXdlYmtpdC5v
cmcvYi8yMTYxNDUgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQv
YWxpZ25tZW50L2dyaWQtaXRlbS1uby1hc3BlY3QtcmF0aW8tc3RyZXRjaC02Lmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi8yMTYxNDUgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvYWxpZ25tZW50L2dyaWQtaXRlbS1uby1hc3BlY3QtcmF0
aW8tc3RyZXRjaC03Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8yMTYx
NDUgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvYWxpZ25tZW50
L2dyaWQtaXRlbS1uby1hc3BlY3QtcmF0aW8tc3RyZXRjaC04Lmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KIHdlYmtpdC5vcmcvYi8yMTYxNDUgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWdyaWQvYWxpZ25tZW50L2dyaWQtaXRlbS1uby1hc3BlY3QtcmF0aW8tc3RyZXRj
aC05Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8yMTYxNDUgaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvYWxpZ25tZW50L2dyaWQtaXRl
bS1uby1hc3BlY3QtcmF0aW8tc3RyZXRjaC0xMC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCkBA
IC0zMjMxLDggKzMyMjksNiBAQCB3ZWJraXQub3JnL2IvMjAzNTA4IGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zaXppbmcvaW1hZ2UtbWluLW1heAogd2Via2l0Lm9yZy9i
LzIwMzUxMiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2l6aW5nL2lu
dHJpbnNpYy1wZXJjZW50LW5vbi1yZXBsYWNlZC0wMDQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQogd2Via2l0Lm9yZy9iLzIwMzUxMiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3Mtc2l6aW5nL2ludHJpbnNpYy1wZXJjZW50LW5vbi1yZXBsYWNlZC0wMDUuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzIwMzUxMyBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2l6aW5nL3BlcmNlbnRhZ2UtaGVpZ2h0LXJlcGxhY2VkLWNv
bnRlbnQtaW4tYXV0by1jYi5odG1sIFsgUGFzcyBGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi8yMDM1
MTQgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNpemluZy9yYW5nZS1w
ZXJjZW50LWludHJpbnNpYy1zaXplLTIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotd2Via2l0
Lm9yZy9iLzIwMzUxNCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2l6
aW5nL3JhbmdlLXBlcmNlbnQtaW50cmluc2ljLXNpemUtMmEuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQogd2Via2l0Lm9yZy9iLzIwMzUxNSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3Mtc2l6aW5nL3NsaWNlLWludHJpbnNpYy1zaXplLmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KIHdlYmtpdC5vcmcvYi8yMDM1ODMgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLXNpemluZy9hc3BlY3QtcmF0aW8tYWZmZWN0cy1jb250YWluZXItd2lkdGgtd2hl
bi1oZWlnaHQtY2hhbmdlcy5odG1sIFsgUGFzcyBGYWlsdXJlIF0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>453361</attachid>
            <date>2022-02-27 17:12:11 -0800</date>
            <delta_ts>2022-02-28 16:15:23 -0800</delta_ts>
            <desc>Rebase the original fix</desc>
            <filename>bug-223504-20220227171210.patch</filename>
            <type>text/plain</type>
            <size>19043</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkwNTQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYThhYjMwMmY4ODhmYWQ5
YzQzMzczNGJmY2NjZjIyNGM3YmU4YzBlYS4uZWViNzQxNWIxYjhhYTZlMjNmMmJhYTQwOWNiZDE4
ZDM4OTY4NWIyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDIyLTAyLTI3ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtjc3MtZ3JpZF0g
U2V0IGhhc0ludHJpbnNpY1dpZHRoICYgaGFzSW50cmluc2ljSGVpZ2h0IHByb3BlcnRpZXMgZm9y
IFNWRyBlbGVtZW50J3MgaW50cmluc2ljIHNpemUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMzUwNAorICAgICAgICByZGFyOi8vNzU4Nzk0NDAKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZWJhc2UgdGhl
IGZpeCBpbiA8dHJhYy53ZWJraXQub3JnL3IyNzU3NzI+IG9uIHRydW5rLCBidXQgd2l0aG91dCBp
bmNyZWFzaW5nIHRoZSBzaXplIG9mIEZsb2F0U2l6ZSB0aGlzIHRpbWUuCisgICAgICAgIE9yaWdp
bmFsIHBhdGNoIGJ5IFppcmFuIFN1biA8enN1bkBpZ2FsaWEuY29tPi4KKworICAgICAgICBUZXN0
czogIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL2FsaWdubWVu
dC9ncmlkLWl0ZW0tbm8tYXNwZWN0LXJhdGlvLXN0cmV0Y2gtNC5odG1sCisgICAgICAgICAgICAg
ICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvYWxpZ25tZW50
L2dyaWQtaXRlbS1uby1hc3BlY3QtcmF0aW8tc3RyZXRjaC01Lmh0bWwKKyAgICAgICAgICAgICAg
ICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9hbGlnbm1lbnQv
Z3JpZC1pdGVtLW5vLWFzcGVjdC1yYXRpby1zdHJldGNoLTYuaHRtbAorCisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlckJveC5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94Ojpjb21wdXRl
SW50cmluc2ljUmF0aW9JbmZvcm1hdGlvbiBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlckltYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckltYWdlOjpjb21wdXRlSW50
cmluc2ljUmF0aW9JbmZvcm1hdGlvbiBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
ckltYWdlLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclJlcGxhY2VkOjpjb21wdXRlQXNwZWN0UmF0aW9JbmZvcm1hdGlv
bkZvclJlbmRlckJveCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJSZXBsYWNlZDo6
Y29tcHV0ZUludHJpbnNpY0FzcGVjdFJhdGlvIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclJlcGxhY2VkOjpjb21wdXRlSW50cmluc2ljUmF0aW9JbmZvcm1hdGlvbiBjb25zdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJSZXBsYWNlZDo6Y29tcHV0ZVJlcGxhY2VkTG9naWNhbFdp
ZHRoIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclJlcGxhY2VkOjpjb21wdXRlUmVw
bGFjZWRMb2dpY2FsSGVpZ2h0IGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyUmVw
bGFjZWQuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL0xlZ2FjeVJlbmRlclNWR1Jvb3QuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6TGVnYWN5UmVuZGVyU1ZHUm9vdDo6Y29tcHV0ZUludHJpbnNp
Y1JhdGlvSW5mb3JtYXRpb24gY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvTGVnYWN5
UmVuZGVyU1ZHUm9vdC5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdSb290Ojpjb21wdXRlSW50cmluc2ljUmF0
aW9JbmZvcm1hdGlvbiBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdS
b290Lmg6CisKIDIwMjItMDItMjYgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5j
b20+CiAKICAgICAgICAgSW52b2tpbmcgIk1hcmt1cCBJbWFnZSIgc2hvdWxkIHByZXNlcnZlIHRo
ZSBleGlzdGluZyBzZWxlY3Rpb24gcmFuZ2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJCb3guaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3gu
aAppbmRleCBlZDc3NzcwZTdlNDI5ZDViNzYyYzBlYmMyOTFiYWYwMmY0NzAyMzI1Li5hNzNjYTkz
MTczNjMyYTMxOTdjY2ZkYTRkOGE2MzBhNmQ0NzczOWZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJveC5oCkBAIC02MTIsNyArNjEyLDcgQEAgb3ZlcnJpZGU7CiAgICAgYm9vbCBoYXNW
aXN1YWxPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIG1fb3ZlcmZsb3cgJiYgIWJvcmRlckJveFJl
Y3QoKS5jb250YWlucyhtX292ZXJmbG93LT52aXN1YWxPdmVyZmxvd1JlY3QoKSk7IH0KIAogICAg
IHZpcnR1YWwgYm9vbCBuZWVkc1ByZWZlcnJlZFdpZHRoc1JlY2FsY3VsYXRpb24oKSBjb25zdDsK
LSAgICB2aXJ0dWFsIHZvaWQgY29tcHV0ZUludHJpbnNpY1JhdGlvSW5mb3JtYXRpb24oRmxvYXRT
aXplJiAvKiBpbnRyaW5zaWNTaXplICovLCBkb3VibGUmIC8qIGludHJpbnNpY1JhdGlvICovKSBj
b25zdCB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgY29tcHV0ZUludHJpbnNpY1JhdGlvSW5mb3JtYXRp
b24oRmxvYXRTaXplJiAvKiBpbnRyaW5zaWNTaXplICovLCBkb3VibGUmIC8qIGludHJpbnNpY1Jh
dGlvICovLCBib29sJiAvKiBoYXNJbnRyaW5zaWNXaWR0aCAqLywgYm9vbCYgLyogaGFzSW50cmlu
c2ljSGVpZ2h0ICovKSBjb25zdCB7IH0KIAogICAgIFNjcm9sbFBvc2l0aW9uIHNjcm9sbFBvc2l0
aW9uKCkgY29uc3Q7CiAgICAgTGF5b3V0U2l6ZSBjYWNoZWRTaXplRm9yT3ZlcmZsb3dDbGlwKCkg
Y29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2Uu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAppbmRleCBjN2E4
ZDY0N2U2ZmE0OTFhOWEzYWQ1MWU1NGI0MTEyZDg2MWZmNDNmLi43MjBlNzBhODUyM2I1Y2MyZDM1
NmQxNWZkMGY3OGM3YmY5YjI4YWM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVySW1hZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJ
bWFnZS5jcHAKQEAgLTg0OCwxMCArODQ4LDEwIEBAIHZvaWQgUmVuZGVySW1hZ2U6OmxheW91dFNo
YWRvd0NvbnRlbnQoY29uc3QgTGF5b3V0U2l6ZSYgb2xkU2l6ZSkKICAgICBjbGVhckNoaWxkTmVl
ZHNMYXlvdXQoKTsKIH0KIAotdm9pZCBSZW5kZXJJbWFnZTo6Y29tcHV0ZUludHJpbnNpY1JhdGlv
SW5mb3JtYXRpb24oRmxvYXRTaXplJiBpbnRyaW5zaWNTaXplLCBkb3VibGUmIGludHJpbnNpY1Jh
dGlvKSBjb25zdAordm9pZCBSZW5kZXJJbWFnZTo6Y29tcHV0ZUludHJpbnNpY1JhdGlvSW5mb3Jt
YXRpb24oRmxvYXRTaXplJiBpbnRyaW5zaWNTaXplLCBkb3VibGUmIGludHJpbnNpY1JhdGlvLCBi
b29sJiBoYXNJbnRyaW5zaWNXaWR0aCwgYm9vbCYgaGFzSW50cmluc2ljSGVpZ2h0KSBjb25zdAog
ewogICAgIEFTU0VSVCghc2hvdWxkQXBwbHlTaXplQ29udGFpbm1lbnQoKnRoaXMpKTsKLSAgICBS
ZW5kZXJSZXBsYWNlZDo6Y29tcHV0ZUludHJpbnNpY1JhdGlvSW5mb3JtYXRpb24oaW50cmluc2lj
U2l6ZSwgaW50cmluc2ljUmF0aW8pOworICAgIFJlbmRlclJlcGxhY2VkOjpjb21wdXRlSW50cmlu
c2ljUmF0aW9JbmZvcm1hdGlvbihpbnRyaW5zaWNTaXplLCBpbnRyaW5zaWNSYXRpbywgaGFzSW50
cmluc2ljV2lkdGgsIGhhc0ludHJpbnNpY0hlaWdodCk7CiAKICAgICAvLyBPdXIgaW50cmluc2lj
U2l6ZSBpcyBlbXB0eSBpZiB3ZSdyZSByZW5kZXJpbmcgZ2VuZXJhdGVkIGltYWdlcyB3aXRoIHJl
bGF0aXZlIHdpZHRoL2hlaWdodC4gRmlndXJlIG91dCB0aGUgcmlnaHQgaW50cmluc2ljIHNpemUg
dG8gdXNlLgogICAgIGlmIChpbnRyaW5zaWNTaXplLmlzRW1wdHkoKSAmJiAoaW1hZ2VSZXNvdXJj
ZSgpLmltYWdlSGFzUmVsYXRpdmVXaWR0aCgpIHx8IGltYWdlUmVzb3VyY2UoKS5pbWFnZUhhc1Jl
bGF0aXZlSGVpZ2h0KCkpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVySW1hZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5oCmlu
ZGV4IDhhYWNkNGMwNzNkYzg5Nzk2NzBkNzVkMTNlY2QyMTc0YmM5YzI3NjQuLjk5NGQ2MTMyYTJi
MGU5YjU2MTRiZWI1ZWRhZjIyNDYyMmM0OGNmZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJJbWFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJJbWFnZS5oCkBAIC04Niw3ICs4Niw3IEBAIHByb3RlY3RlZDoKIAogICAgIGJvb2wgbmVl
ZHNQcmVmZXJyZWRXaWR0aHNSZWNhbGN1bGF0aW9uKCkgY29uc3QgZmluYWw7CiAgICAgUmVuZGVy
Qm94KiBlbWJlZGRlZENvbnRlbnRCb3goKSBjb25zdCBmaW5hbDsKLSAgICB2b2lkIGNvbXB1dGVJ
bnRyaW5zaWNSYXRpb0luZm9ybWF0aW9uKEZsb2F0U2l6ZSYgaW50cmluc2ljU2l6ZSwgZG91Ymxl
JiBpbnRyaW5zaWNSYXRpbykgY29uc3QgZmluYWw7CisgICAgdm9pZCBjb21wdXRlSW50cmluc2lj
UmF0aW9JbmZvcm1hdGlvbihGbG9hdFNpemUmIGludHJpbnNpY1NpemUsIGRvdWJsZSYgaW50cmlu
c2ljUmF0aW8sIGJvb2wmIGhhc0ludHJpbnNpY1dpZHRoLCBib29sJiBoYXNJbnRyaW5zaWNIZWln
aHQpIGNvbnN0IGZpbmFsOwogICAgIGJvb2wgZm9yZWdyb3VuZElzS25vd25Ub0JlT3BhcXVlSW5S
ZWN0KGNvbnN0IExheW91dFJlY3QmIGxvY2FsUmVjdCwgdW5zaWduZWQgbWF4RGVwdGhUb1Rlc3Qp
IGNvbnN0IG92ZXJyaWRlOwogCiAgICAgdm9pZCBzdHlsZVdpbGxDaGFuZ2UoU3R5bGVEaWZmZXJl
bmNlLCBjb25zdCBSZW5kZXJTdHlsZSYgbmV3U3R5bGUpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHAKaW5kZXggNjk3Yzc0NTliYWFiMTliZTc4
Nzc0MWRkZTEyZmIzOGU3ODJlMGVmNC4uOTViZjMxOTgyOWQzNjYwNDBmZjZiMjEyZGQ1NDA5Nzdi
YTI0ZDgxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxh
Y2VkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3Bw
CkBAIC00MDksMTMgKzQwOSwxMyBAQCBib29sIFJlbmRlclJlcGxhY2VkOjpzZXROZWVkc0xheW91
dElmTmVlZGVkQWZ0ZXJJbnRyaW5zaWNTaXplQ2hhbmdlKCkKICAgICByZXR1cm4gZmFsc2U7CiB9
CiAgICAgCi12b2lkIFJlbmRlclJlcGxhY2VkOjpjb21wdXRlQXNwZWN0UmF0aW9JbmZvcm1hdGlv
bkZvclJlbmRlckJveChSZW5kZXJCb3gqIGNvbnRlbnRSZW5kZXJlciwgRmxvYXRTaXplJiBjb25z
dHJhaW5lZFNpemUsIGRvdWJsZSYgaW50cmluc2ljUmF0aW8pIGNvbnN0Cit2b2lkIFJlbmRlclJl
cGxhY2VkOjpjb21wdXRlQXNwZWN0UmF0aW9JbmZvcm1hdGlvbkZvclJlbmRlckJveChSZW5kZXJC
b3gqIGNvbnRlbnRSZW5kZXJlciwgRmxvYXRTaXplJiBjb25zdHJhaW5lZFNpemUsIGRvdWJsZSYg
aW50cmluc2ljUmF0aW8sIGJvb2wmIGhhc0ludHJpbnNpY1dpZHRoLCBib29sJiBoYXNJbnRyaW5z
aWNIZWlnaHQpIGNvbnN0CiB7CiAgICAgRmxvYXRTaXplIGludHJpbnNpY1NpemU7CiAgICAgaWYg
KHNob3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50KCp0aGlzKSkKLSAgICAgICAgUmVuZGVyUmVwbGFj
ZWQ6OmNvbXB1dGVJbnRyaW5zaWNSYXRpb0luZm9ybWF0aW9uKGludHJpbnNpY1NpemUsIGludHJp
bnNpY1JhdGlvKTsKKyAgICAgICAgUmVuZGVyUmVwbGFjZWQ6OmNvbXB1dGVJbnRyaW5zaWNSYXRp
b0luZm9ybWF0aW9uKGludHJpbnNpY1NpemUsIGludHJpbnNpY1JhdGlvLCBoYXNJbnRyaW5zaWNX
aWR0aCwgaGFzSW50cmluc2ljSGVpZ2h0KTsKICAgICBlbHNlIGlmIChjb250ZW50UmVuZGVyZXIp
IHsKLSAgICAgICAgY29udGVudFJlbmRlcmVyLT5jb21wdXRlSW50cmluc2ljUmF0aW9JbmZvcm1h
dGlvbihpbnRyaW5zaWNTaXplLCBpbnRyaW5zaWNSYXRpbyk7CisgICAgICAgIGNvbnRlbnRSZW5k
ZXJlci0+Y29tcHV0ZUludHJpbnNpY1JhdGlvSW5mb3JtYXRpb24oaW50cmluc2ljU2l6ZSwgaW50
cmluc2ljUmF0aW8sIGhhc0ludHJpbnNpY1dpZHRoLCBoYXNJbnRyaW5zaWNIZWlnaHQpOwogCiAg
ICAgICAgIGlmIChzdHlsZSgpLmFzcGVjdFJhdGlvVHlwZSgpID09IEFzcGVjdFJhdGlvVHlwZTo6
UmF0aW8gfHwgKHN0eWxlKCkuYXNwZWN0UmF0aW9UeXBlKCkgPT0gQXNwZWN0UmF0aW9UeXBlOjpB
dXRvQW5kUmF0aW8gJiYgIWludHJpbnNpY1JhdGlvKSkKICAgICAgICAgICAgIGludHJpbnNpY1Jh
dGlvID0gc3R5bGUoKS5hc3BlY3RSYXRpb1dpZHRoKCkgLyBzdHlsZSgpLmFzcGVjdFJhdGlvSGVp
Z2h0KCk7CkBAIC00MzgsNyArNDM4LDcgQEAgdm9pZCBSZW5kZXJSZXBsYWNlZDo6Y29tcHV0ZUFz
cGVjdFJhdGlvSW5mb3JtYXRpb25Gb3JSZW5kZXJCb3goUmVuZGVyQm94KiBjb250ZW4KICAgICAg
ICAgICAgIGludHJpbnNpY1NpemUgPSBpbnRyaW5zaWNTaXplLnRyYW5zcG9zZWRTaXplKCk7CiAg
ICAgICAgIH0KICAgICB9IGVsc2UgewotICAgICAgICBjb21wdXRlSW50cmluc2ljUmF0aW9JbmZv
cm1hdGlvbihpbnRyaW5zaWNTaXplLCBpbnRyaW5zaWNSYXRpbyk7CisgICAgICAgIGNvbXB1dGVJ
bnRyaW5zaWNSYXRpb0luZm9ybWF0aW9uKGludHJpbnNpY1NpemUsIGludHJpbnNpY1JhdGlvLCBo
YXNJbnRyaW5zaWNXaWR0aCwgaGFzSW50cmluc2ljSGVpZ2h0KTsKICAgICAgICAgaWYgKGludHJp
bnNpY1JhdGlvICYmICFpbnRyaW5zaWNTaXplLmlzWmVybygpKQogICAgICAgICAgICAgbV9pbnRy
aW5zaWNTaXplID0gTGF5b3V0U2l6ZShpc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gaW50cmlu
c2ljU2l6ZSA6IGludHJpbnNpY1NpemUudHJhbnNwb3NlZFNpemUoKSk7CiAgICAgfQpAQCAtNDk2
LDcgKzQ5Niw5IEBAIGRvdWJsZSBSZW5kZXJSZXBsYWNlZDo6Y29tcHV0ZUludHJpbnNpY0FzcGVj
dFJhdGlvKCkgY29uc3QKIHsKICAgICBkb3VibGUgaW50cmluc2ljUmF0aW87CiAgICAgRmxvYXRT
aXplIGludHJpbnNpY1NpemU7Ci0gICAgY29tcHV0ZUFzcGVjdFJhdGlvSW5mb3JtYXRpb25Gb3JS
ZW5kZXJCb3goZW1iZWRkZWRDb250ZW50Qm94KCksIGludHJpbnNpY1NpemUsIGludHJpbnNpY1Jh
dGlvKTsKKyAgICBib29sIGhhc0ludHJpbnNpY1dpZHRoID0gZmFsc2U7CisgICAgYm9vbCBoYXNJ
bnRyaW5zaWNIZWlnaHQgPSBmYWxzZTsKKyAgICBjb21wdXRlQXNwZWN0UmF0aW9JbmZvcm1hdGlv
bkZvclJlbmRlckJveChlbWJlZGRlZENvbnRlbnRCb3goKSwgaW50cmluc2ljU2l6ZSwgaW50cmlu
c2ljUmF0aW8sIGhhc0ludHJpbnNpY1dpZHRoLCBoYXNJbnRyaW5zaWNIZWlnaHQpOwogICAgIHJl
dHVybiBpbnRyaW5zaWNSYXRpbzsKIH0KIApAQCAtNTA3LDcgKzUwOSw3IEBAIFJvdW5kZWRSZWN0
IFJlbmRlclJlcGxhY2VkOjpyb3VuZGVkQ29udGVudEJveFJlY3QoKSBjb25zdAogICAgICAgICBi
b3JkZXJMZWZ0KCkgKyBwYWRkaW5nTGVmdCgpLCBib3JkZXJSaWdodCgpICsgcGFkZGluZ1JpZ2h0
KCkpOwogfQogCi12b2lkIFJlbmRlclJlcGxhY2VkOjpjb21wdXRlSW50cmluc2ljUmF0aW9JbmZv
cm1hdGlvbihGbG9hdFNpemUmIGludHJpbnNpY1NpemUsIGRvdWJsZSYgaW50cmluc2ljUmF0aW8p
IGNvbnN0Cit2b2lkIFJlbmRlclJlcGxhY2VkOjpjb21wdXRlSW50cmluc2ljUmF0aW9JbmZvcm1h
dGlvbihGbG9hdFNpemUmIGludHJpbnNpY1NpemUsIGRvdWJsZSYgaW50cmluc2ljUmF0aW8sIGJv
b2wmIC8qIGhhc0ludHJpbnNpY1dpZHRoICovLCBib29sJiAvKiBoYXNJbnRyaW5zaWNIZWlnaHQg
Ki8pIGNvbnN0CiB7CiAgICAgLy8gSWYgdGhlcmUncyBhbiBlbWJlZGRlZENvbnRlbnRCb3goKSBv
ZiBhIHJlbW90ZSwgcmVmZXJlbmNlZCBkb2N1bWVudCBhdmFpbGFibGUsIHRoaXMgY29kZS1wYXRo
IHNob3VsZCBuZXZlciBiZSB1c2VkLgogICAgIEFTU0VSVCghZW1iZWRkZWRDb250ZW50Qm94KCkg
fHwgc2hvdWxkQXBwbHlTaXplQ29udGFpbm1lbnQoKnRoaXMpKTsKQEAgLTU3NSwxMiArNTc3LDE0
IEBAIExheW91dFVuaXQgUmVuZGVyUmVwbGFjZWQ6OmNvbXB1dGVSZXBsYWNlZExvZ2ljYWxXaWR0
aChTaG91bGRDb21wdXRlUHJlZmVycmVkIHNoCiAgICAgLy8gMTAuMy4yIElubGluZSwgcmVwbGFj
ZWQgZWxlbWVudHM6IGh0dHA6Ly93d3cudzMub3JnL1RSL0NTUzIxL3Zpc3VkZXQuaHRtbCNpbmxp
bmUtcmVwbGFjZWQtd2lkdGgKICAgICBkb3VibGUgaW50cmluc2ljUmF0aW8gPSAwOwogICAgIEZs
b2F0U2l6ZSBjb25zdHJhaW5lZFNpemU7Ci0gICAgY29tcHV0ZUFzcGVjdFJhdGlvSW5mb3JtYXRp
b25Gb3JSZW5kZXJCb3goY29udGVudFJlbmRlcmVyLCBjb25zdHJhaW5lZFNpemUsIGludHJpbnNp
Y1JhdGlvKTsKKyAgICBib29sIGhhc0ludHJpbnNpY1dpZHRoID0gZmFsc2U7CisgICAgYm9vbCBo
YXNJbnRyaW5zaWNIZWlnaHQgPSBmYWxzZTsKKyAgICBjb21wdXRlQXNwZWN0UmF0aW9JbmZvcm1h
dGlvbkZvclJlbmRlckJveChjb250ZW50UmVuZGVyZXIsIGNvbnN0cmFpbmVkU2l6ZSwgaW50cmlu
c2ljUmF0aW8sIGhhc0ludHJpbnNpY1dpZHRoLCBoYXNJbnRyaW5zaWNIZWlnaHQpOwogCiAgICAg
aWYgKHN0eWxlKCkubG9naWNhbFdpZHRoKCkuaXNBdXRvKCkpIHsKICAgICAgICAgYm9vbCBjb21w
dXRlZEhlaWdodElzQXV0byA9IHN0eWxlKCkubG9naWNhbEhlaWdodCgpLmlzQXV0bygpOwotICAg
ICAgICBib29sIGhhc0ludHJpbnNpY1dpZHRoID0gY29uc3RyYWluZWRTaXplLndpZHRoKCkgPiAw
OwotICAgICAgICBib29sIGhhc0ludHJpbnNpY0hlaWdodCA9IGNvbnN0cmFpbmVkU2l6ZS5oZWln
aHQoKSA+IDA7CisgICAgICAgIGhhc0ludHJpbnNpY1dpZHRoIHw9IGNvbnN0cmFpbmVkU2l6ZS53
aWR0aCgpID4gMDsKKyAgICAgICAgaGFzSW50cmluc2ljSGVpZ2h0IHw9IGNvbnN0cmFpbmVkU2l6
ZS5oZWlnaHQoKSA+IDA7CiAKICAgICAgICAgLy8gRm9yIGZsZXggb3IgZ3JpZCBpdGVtcyB3aGVy
ZSB0aGUgbG9naWNhbCBoZWlnaHQgaGFzIGJlZW4gb3ZlcnJpZGVuIHRoZW4gd2Ugc2hvdWxkIHVz
ZSB0aGF0IHNpemUgdG8gY29tcHV0ZSB0aGUgcmVwbGFjZWQgd2lkdGggYXMgbG9uZyBhcyB0aGUg
ZmxleCBvcgogICAgICAgICAvLyBncmlkIGl0ZW0gaGFzIGFuIGludHJpbnNpYyBzaXplLiBJdCBp
cyBwb3NzaWJsZSAoaW5kZWVkLCBjb21tb24pIGZvciBhbiBTVkcgZ3JhcGhpYyB0byBoYXZlIGFu
IGludHJpbnNpYyBhc3BlY3QgcmF0aW8gYnV0IG5vdCB0byBoYXZlIGFuIGludHJpbnNpYwpAQCAt
NjQ2LDExICs2NTAsMTMgQEAgTGF5b3V0VW5pdCBSZW5kZXJSZXBsYWNlZDo6Y29tcHV0ZVJlcGxh
Y2VkTG9naWNhbEhlaWdodChzdGQ6Om9wdGlvbmFsPExheW91dFVuaXQKICAgICAvLyAxMC42LjIg
SW5saW5lLCByZXBsYWNlZCBlbGVtZW50czogaHR0cDovL3d3dy53My5vcmcvVFIvQ1NTMjEvdmlz
dWRldC5odG1sI2lubGluZS1yZXBsYWNlZC1oZWlnaHQKICAgICBkb3VibGUgaW50cmluc2ljUmF0
aW8gPSAwOwogICAgIEZsb2F0U2l6ZSBjb25zdHJhaW5lZFNpemU7Ci0gICAgY29tcHV0ZUFzcGVj
dFJhdGlvSW5mb3JtYXRpb25Gb3JSZW5kZXJCb3goY29udGVudFJlbmRlcmVyLCBjb25zdHJhaW5l
ZFNpemUsIGludHJpbnNpY1JhdGlvKTsKKyAgICBib29sIGhhc0ludHJpbnNpY1dpZHRoID0gZmFs
c2U7CisgICAgYm9vbCBoYXNJbnRyaW5zaWNIZWlnaHQgPSBmYWxzZTsKKyAgICBjb21wdXRlQXNw
ZWN0UmF0aW9JbmZvcm1hdGlvbkZvclJlbmRlckJveChjb250ZW50UmVuZGVyZXIsIGNvbnN0cmFp
bmVkU2l6ZSwgaW50cmluc2ljUmF0aW8sIGhhc0ludHJpbnNpY1dpZHRoLCBoYXNJbnRyaW5zaWNI
ZWlnaHQpOwogCiAgICAgYm9vbCB3aWR0aElzQXV0byA9IHN0eWxlKCkubG9naWNhbFdpZHRoKCku
aXNBdXRvKCk7Ci0gICAgYm9vbCBoYXNJbnRyaW5zaWNIZWlnaHQgPSBjb25zdHJhaW5lZFNpemUu
aGVpZ2h0KCkgPiAwOwotICAgIGJvb2wgaGFzSW50cmluc2ljV2lkdGggPSBjb25zdHJhaW5lZFNp
emUud2lkdGgoKSA+IDA7CisgICAgaGFzSW50cmluc2ljSGVpZ2h0IHw9IGNvbnN0cmFpbmVkU2l6
ZS5oZWlnaHQoKSA+IDA7CisgICAgaGFzSW50cmluc2ljV2lkdGggfD0gY29uc3RyYWluZWRTaXpl
LndpZHRoKCkgPiAwOwogCiAgICAgLy8gU2VlIGNvbXB1dGVSZXBsYWNlZExvZ2ljYWxIZWlnaHQo
KSBmb3IgYSBzaW1pbGFyIGNoZWNrIGZvciBoZWlnaHRzLgogICAgIGlmIChpbnRyaW5zaWNSYXRp
byAmJiAoaXNGbGV4SXRlbSgpIHx8IGlzR3JpZEl0ZW0oKSkgJiYgaGFzT3ZlcnJpZGluZ0xvZ2lj
YWxXaWR0aCgpICYmIGhhc0ludHJpbnNpY1NpemUoY29udGVudFJlbmRlcmVyLCBoYXNJbnRyaW5z
aWNXaWR0aCwgaGFzSW50cmluc2ljSGVpZ2h0KSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclJlcGxhY2VkLmgKaW5kZXggYmNjYTYzNGM2MzU5MjM0NTE3MWUxZmQzOWRjMTQzOWEwNDBl
NWQwOS4uMzJiMmE1MThhNmJmOTYyMDRlYmIwYTIzOWFiMTE3NjZhOGI3Y2M5NyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmgKQEAgLTYxLDcgKzYxLDcgQEAgcHJv
dGVjdGVkOgogCiAgICAgdm9pZCBsYXlvdXQoKSBvdmVycmlkZTsKIAotICAgIHZvaWQgY29tcHV0
ZUludHJpbnNpY1JhdGlvSW5mb3JtYXRpb24oRmxvYXRTaXplJiBpbnRyaW5zaWNTaXplLCBkb3Vi
bGUmIGludHJpbnNpY1JhdGlvKSBjb25zdCBvdmVycmlkZTsKKyAgICB2b2lkIGNvbXB1dGVJbnRy
aW5zaWNSYXRpb0luZm9ybWF0aW9uKEZsb2F0U2l6ZSYgaW50cmluc2ljU2l6ZSwgZG91YmxlJiBp
bnRyaW5zaWNSYXRpbywgYm9vbCYgaGFzSW50cmluc2ljV2lkdGgsIGJvb2wmIGhhc0ludHJpbnNp
Y0hlaWdodCkgY29uc3Qgb3ZlcnJpZGU7CiAKICAgICB2b2lkIGNvbXB1dGVJbnRyaW5zaWNMb2dp
Y2FsV2lkdGhzKExheW91dFVuaXQmIG1pbkxvZ2ljYWxXaWR0aCwgTGF5b3V0VW5pdCYgbWF4TG9n
aWNhbFdpZHRoKSBjb25zdCBmaW5hbDsKIApAQCAtOTksNyArOTksNyBAQCBwcml2YXRlOgogICAg
IGJvb2wgY2FuQmVTZWxlY3Rpb25MZWFmKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsg
fQogCiAgICAgTGF5b3V0UmVjdCBzZWxlY3Rpb25SZWN0Rm9yUmVwYWludChjb25zdCBSZW5kZXJM
YXllck1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVyLCBib29sIGNsaXBUb1Zpc2libGVDb250
ZW50ID0gdHJ1ZSkgZmluYWw7Ci0gICAgdm9pZCBjb21wdXRlQXNwZWN0UmF0aW9JbmZvcm1hdGlv
bkZvclJlbmRlckJveChSZW5kZXJCb3gqLCBGbG9hdFNpemUmIGNvbnN0cmFpbmVkU2l6ZSwgZG91
YmxlJiBpbnRyaW5zaWNSYXRpbykgY29uc3Q7CisgICAgdm9pZCBjb21wdXRlQXNwZWN0UmF0aW9J
bmZvcm1hdGlvbkZvclJlbmRlckJveChSZW5kZXJCb3gqLCBGbG9hdFNpemUmIGNvbnN0cmFpbmVk
U2l6ZSwgZG91YmxlJiBpbnRyaW5zaWNSYXRpbywgYm9vbCYgaGFzSW50cmluc2ljV2lkdGgsIGJv
b2wmIGhhc0ludHJpbnNpY0hlaWdodCkgY29uc3Q7CiAKICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxk
RHJhd1NlbGVjdGlvblRpbnQoKSBjb25zdDsKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdmcvTGVnYWN5UmVuZGVyU1ZHUm9vdC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3ZnL0xlZ2FjeVJlbmRlclNWR1Jvb3QuY3BwCmluZGV4IDViNTZhMTVhMmI4
Zjg0N2MxYzBiZmU4Y2M2M2ViMTIyM2NiNGM3MzQuLmUzOWQwMGQ5OTk3YmNjYmMzMDJkZWUyYTA1
NjFlNTdkZWRiZTJjZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcv
TGVnYWN5UmVuZGVyU1ZHUm9vdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2
Zy9MZWdhY3lSZW5kZXJTVkdSb290LmNwcApAQCAtNjksNyArNjksNyBAQCBTVkdTVkdFbGVtZW50
JiBMZWdhY3lSZW5kZXJTVkdSb290OjpzdmdTVkdFbGVtZW50KCkgY29uc3QKICAgICByZXR1cm4g
ZG93bmNhc3Q8U1ZHU1ZHRWxlbWVudD4obm9kZUZvck5vbkFub255bW91cygpKTsKIH0KIAotdm9p
ZCBMZWdhY3lSZW5kZXJTVkdSb290Ojpjb21wdXRlSW50cmluc2ljUmF0aW9JbmZvcm1hdGlvbihG
bG9hdFNpemUmIGludHJpbnNpY1NpemUsIGRvdWJsZSYgaW50cmluc2ljUmF0aW8pIGNvbnN0Cit2
b2lkIExlZ2FjeVJlbmRlclNWR1Jvb3Q6OmNvbXB1dGVJbnRyaW5zaWNSYXRpb0luZm9ybWF0aW9u
KEZsb2F0U2l6ZSYgaW50cmluc2ljU2l6ZSwgZG91YmxlJiBpbnRyaW5zaWNSYXRpbywgYm9vbCYg
aGFzSW50cmluc2ljV2lkdGgsIGJvb2wmIGhhc0ludHJpbnNpY0hlaWdodCkgY29uc3QKIHsKICAg
ICBBU1NFUlQoIXNob3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50KCp0aGlzKSk7CiAKQEAgLTgzLDYg
KzgzLDggQEAgdm9pZCBMZWdhY3lSZW5kZXJTVkdSb290Ojpjb21wdXRlSW50cmluc2ljUmF0aW9J
bmZvcm1hdGlvbihGbG9hdFNpemUmIGludHJpbnNpY1MKICAgICAvLyAtIElmIHRoZSDigJh3aWR0
aOKAmSBhbmQg4oCYaGVpZ2h04oCZIG9mIHRoZSByb290bW9zdCDigJhzdmfigJkgZWxlbWVudCBh
cmUgYm90aCBzcGVjaWZpZWQgd2l0aCB1bml0IGlkZW50aWZpZXJzIChpbiwgbW0sIGNtLCBwdCwg
cGMsCiAgICAgLy8gICBweCwgZW0sIGV4KSBvciBpbiB1c2VyIHVuaXRzLCB0aGVuIHRoZSBhc3Bl
Y3QgcmF0aW8gaXMgY2FsY3VsYXRlZCBmcm9tIHRoZSDigJh3aWR0aOKAmSBhbmQg4oCYaGVpZ2h0
4oCZIGF0dHJpYnV0ZXMgYWZ0ZXIKICAgICAvLyAgIHJlc29sdmluZyBib3RoIHZhbHVlcyB0byB1
c2VyIHVuaXRzLgorICAgIGhhc0ludHJpbnNpY1dpZHRoID0gc3ZnU1ZHRWxlbWVudCgpLmhhc0lu
dHJpbnNpY1dpZHRoKCk7CisgICAgaGFzSW50cmluc2ljSGVpZ2h0ID0gc3ZnU1ZHRWxlbWVudCgp
Lmhhc0ludHJpbnNpY0hlaWdodCgpOwogICAgIGludHJpbnNpY1NpemUuc2V0V2lkdGgoZmxvYXRW
YWx1ZUZvckxlbmd0aChzdmdTVkdFbGVtZW50KCkuaW50cmluc2ljV2lkdGgoKSwgMCkpOwogICAg
IGludHJpbnNpY1NpemUuc2V0SGVpZ2h0KGZsb2F0VmFsdWVGb3JMZW5ndGgoc3ZnU1ZHRWxlbWVu
dCgpLmludHJpbnNpY0hlaWdodCgpLCAwKSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdmcvTGVnYWN5UmVuZGVyU1ZHUm9vdC5oIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N2Zy9MZWdhY3lSZW5kZXJTVkdSb290LmgKaW5kZXggYTY0YjdiYTRjYmYwZWE3MzU5
ODcxOTc3M2RlNGI0ZDNkM2JiOWJlNi4uNGY5YWYzZTIyMjY1NTYwNTc4M2EyOGJkODlhNTE5MjZj
MzU2ZTRmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9MZWdhY3lS
ZW5kZXJTVkdSb290LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9MZWdhY3lS
ZW5kZXJTVkdSb290LmgKQEAgLTQzLDcgKzQzLDcgQEAgcHVibGljOgogICAgIGJvb2wgaXNFbWJl
ZGRlZFRocm91Z2hTVkdJbWFnZSgpIGNvbnN0OwogICAgIGJvb2wgaXNFbWJlZGRlZFRocm91Z2hG
cmFtZUNvbnRhaW5pbmdTVkdEb2N1bWVudCgpIGNvbnN0OwogCi0gICAgdm9pZCBjb21wdXRlSW50
cmluc2ljUmF0aW9JbmZvcm1hdGlvbihGbG9hdFNpemUmIGludHJpbnNpY1NpemUsIGRvdWJsZSYg
aW50cmluc2ljUmF0aW8pIGNvbnN0IG92ZXJyaWRlOworICAgIHZvaWQgY29tcHV0ZUludHJpbnNp
Y1JhdGlvSW5mb3JtYXRpb24oRmxvYXRTaXplJiBpbnRyaW5zaWNTaXplLCBkb3VibGUmIGludHJp
bnNpY1JhdGlvLCBib29sJiBoYXNJbnRyaW5zaWNXaWR0aCwgYm9vbCYgaGFzSW50cmluc2ljSGVp
Z2h0KSBjb25zdCBvdmVycmlkZTsKIAogICAgIGJvb2wgaXNMYXlvdXRTaXplQ2hhbmdlZCgpIGNv
bnN0IHsgcmV0dXJuIG1faXNMYXlvdXRTaXplQ2hhbmdlZDsgfQogICAgIGJvb2wgaXNJbkxheW91
dCgpIGNvbnN0IHsgcmV0dXJuIG1faW5MYXlvdXQ7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3BwCmluZGV4IGQ0ZjI5MTYxYmY0YjQ3YmQwNzQ1MTkx
NjE4MzU2NmZkMWFiZDA4ZTcuLmRlYTUyMDE3MWFiM2ExNzQ3ZDIwNDc5MDE2M2I1ZjE1NzU3NzY4
ZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9v
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmNw
cApAQCAtNzMsNyArNzMsNyBAQCBTVkdTVkdFbGVtZW50JiBSZW5kZXJTVkdSb290OjpzdmdTVkdF
bGVtZW50KCkgY29uc3QKICAgICByZXR1cm4gZG93bmNhc3Q8U1ZHU1ZHRWxlbWVudD4obm9kZUZv
ck5vbkFub255bW91cygpKTsKIH0KIAotdm9pZCBSZW5kZXJTVkdSb290Ojpjb21wdXRlSW50cmlu
c2ljUmF0aW9JbmZvcm1hdGlvbihGbG9hdFNpemUmIGludHJpbnNpY1NpemUsIGRvdWJsZSYgaW50
cmluc2ljUmF0aW8pIGNvbnN0Cit2b2lkIFJlbmRlclNWR1Jvb3Q6OmNvbXB1dGVJbnRyaW5zaWNS
YXRpb0luZm9ybWF0aW9uKEZsb2F0U2l6ZSYgaW50cmluc2ljU2l6ZSwgZG91YmxlJiBpbnRyaW5z
aWNSYXRpbywgYm9vbCYgaGFzSW50cmluc2ljV2lkdGgsIGJvb2wmIGhhc0ludHJpbnNpY0hlaWdo
dCkgY29uc3QKIHsKICAgICBBU1NFUlQoIXNob3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50KCp0aGlz
KSk7CiAKQEAgLTg3LDYgKzg3LDggQEAgdm9pZCBSZW5kZXJTVkdSb290Ojpjb21wdXRlSW50cmlu
c2ljUmF0aW9JbmZvcm1hdGlvbihGbG9hdFNpemUmIGludHJpbnNpY1NpemUsIGQKICAgICAvLyAt
IElmIHRoZSDigJh3aWR0aOKAmSBhbmQg4oCYaGVpZ2h04oCZIG9mIHRoZSByb290bW9zdCDigJhz
dmfigJkgZWxlbWVudCBhcmUgYm90aCBzcGVjaWZpZWQgd2l0aCB1bml0IGlkZW50aWZpZXJzIChp
biwgbW0sIGNtLCBwdCwgcGMsCiAgICAgLy8gICBweCwgZW0sIGV4KSBvciBpbiB1c2VyIHVuaXRz
LCB0aGVuIHRoZSBhc3BlY3QgcmF0aW8gaXMgY2FsY3VsYXRlZCBmcm9tIHRoZSDigJh3aWR0aOKA
mSBhbmQg4oCYaGVpZ2h04oCZIGF0dHJpYnV0ZXMgYWZ0ZXIKICAgICAvLyAgIHJlc29sdmluZyBi
b3RoIHZhbHVlcyB0byB1c2VyIHVuaXRzLgorICAgIGhhc0ludHJpbnNpY1dpZHRoID0gc3ZnU1ZH
RWxlbWVudCgpLmhhc0ludHJpbnNpY1dpZHRoKCk7CisgICAgaGFzSW50cmluc2ljSGVpZ2h0ID0g
c3ZnU1ZHRWxlbWVudCgpLmhhc0ludHJpbnNpY0hlaWdodCgpOwogICAgIGludHJpbnNpY1NpemUu
c2V0V2lkdGgoZmxvYXRWYWx1ZUZvckxlbmd0aChzdmdTVkdFbGVtZW50KCkuaW50cmluc2ljV2lk
dGgoKSwgMCkpOwogICAgIGludHJpbnNpY1NpemUuc2V0SGVpZ2h0KGZsb2F0VmFsdWVGb3JMZW5n
dGgoc3ZnU1ZHRWxlbWVudCgpLmludHJpbnNpY0hlaWdodCgpLCAwKSk7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5oIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmgKaW5kZXggNDNjMTJlYTgyNmUxOWM3
MjZkOWRiOTQxMTYyNDEwMTY3OGU2NTA1ZS4uNDAxZWIyMmQ5OTA4MDQyMWNmMWYzODM1OTIyNzUy
OGNhMjNhNTRjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5k
ZXJTVkdSb290LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdS
b290LmgKQEAgLTQ5LDcgKzQ5LDcgQEAgcHVibGljOgogICAgIGJvb2wgaXNFbWJlZGRlZFRocm91
Z2hTVkdJbWFnZSgpIGNvbnN0OwogICAgIGJvb2wgaXNFbWJlZGRlZFRocm91Z2hGcmFtZUNvbnRh
aW5pbmdTVkdEb2N1bWVudCgpIGNvbnN0OwogCi0gICAgdm9pZCBjb21wdXRlSW50cmluc2ljUmF0
aW9JbmZvcm1hdGlvbihGbG9hdFNpemUmIGludHJpbnNpY1NpemUsIGRvdWJsZSYgaW50cmluc2lj
UmF0aW8pIGNvbnN0IG92ZXJyaWRlOworICAgIHZvaWQgY29tcHV0ZUludHJpbnNpY1JhdGlvSW5m
b3JtYXRpb24oRmxvYXRTaXplJiBpbnRyaW5zaWNTaXplLCBkb3VibGUmIGludHJpbnNpY1JhdGlv
LCBib29sJiBoYXNJbnRyaW5zaWNXaWR0aCwgYm9vbCYgaGFzSW50cmluc2ljSGVpZ2h0KSBjb25z
dCBvdmVycmlkZTsKIAogICAgIGJvb2wgaXNMYXlvdXRTaXplQ2hhbmdlZCgpIGNvbnN0IHsgcmV0
dXJuIG1faXNMYXlvdXRTaXplQ2hhbmdlZDsgfQogICAgIGJvb2wgZGlkVHJhbnNmb3JtVG9Sb290
VXBkYXRlKCkgY29uc3QgeyByZXR1cm4gbV9kaWRUcmFuc2Zvcm1Ub1Jvb3RVcGRhdGU7IH0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpp
bmRleCBlZTBjZWIxMTVmY2VhZmQyOTk0MTViMDJlZDJiNDA2YzQ4NjIyNGE5Li5hMDE0MDVjOWY4
MmY3ZDA5ZTVlZjAwNDE1ODhiMTBiOTAwZjE3ZGRmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIw
MjItMDItMjcgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAg
ICAgW2Nzcy1ncmlkXSBTZXQgaGFzSW50cmluc2ljV2lkdGggJiBoYXNJbnRyaW5zaWNIZWlnaHQg
cHJvcGVydGllcyBmb3IgU1ZHIGVsZW1lbnQncyBpbnRyaW5zaWMgc2l6ZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzNTA0CisgICAgICAgIHJkYXI6
Ly83NTg3OTQ0MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFJlbW92ZSBzb21lIGZhaWxpbmcgV1BUIGV4cGVjdGF0aW9ucy4KKworICAgICAgICAqIFRl
c3RFeHBlY3RhdGlvbnM6CisKIDIwMjItMDItMjYgIEFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUu
Y29tPgogCiAgICAgICAgIFtSZW5kZXJUcmVlQnVpbGRlcl0gQ2xlYW4gdXAgZGVzY2VuZGFudCBm
bG9hdHMgd2hlbiBhIGJsb2NrIGNvbnRhaW5lciBiZWNvbWVzIGZsb2F0CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9u
cwppbmRleCAwMGFkMjU4YjMwYTc1NDFhYWYxYjg2M2NjNWY0YmE4YzVmZTllNWU3Li4zZjkzNDE5
MTIwNjZkNmE4MmY3MTZhNGQ3ZGEyMmI3NTQwM2YyMjdkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAg
LTEzMzcsOSArMTMzNyw2IEBAIHdlYmtpdC5vcmcvYi8yMTYxNDYgaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvYWxpZ25tZW50L2dyaWQtCiB3ZWJraXQub3JnL2Iv
MjE2MTQ2IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL2FsaWdu
bWVudC9ncmlkLWJhc2VsaW5lLWp1c3RpZnktMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0K
IHdlYmtpdC5vcmcvYi8yMTYxNDUgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWdyaWQvYWxpZ25tZW50L2dyaWQtaXRlbS1hc3BlY3QtcmF0aW8tc3RyZXRjaC0zLmh0bWwg
WyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8yMTYxNDUgaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvYWxpZ25tZW50L2dyaWQtaXRlbS1hc3BlY3Qt
cmF0aW8tc3RyZXRjaC00Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi8y
MTYxNDUgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvYWxpZ25t
ZW50L2dyaWQtaXRlbS1uby1hc3BlY3QtcmF0aW8tc3RyZXRjaC00Lmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KLXdlYmtpdC5vcmcvYi8yMTYxNDUgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWdyaWQvYWxpZ25tZW50L2dyaWQtaXRlbS1uby1hc3BlY3QtcmF0aW8tc3Ry
ZXRjaC01Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLXdlYmtpdC5vcmcvYi8yMTYxNDUgaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvYWxpZ25tZW50L2dyaWQt
aXRlbS1uby1hc3BlY3QtcmF0aW8tc3RyZXRjaC02Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0K
IAogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvZ3JpZC1kZWZp
bml0aW9uL2dyaWQtYXV0by1yZXBlYXQtZHluYW1pYy0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvZ3JpZC1k
ZWZpbml0aW9uL2dyaWQtcmVwZWF0LW1heC13aWR0aC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQo=
</data>
<flag name="commit-queue"
          id="480806"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
      

    </bug>

</bugzilla>