<?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>206317</bug_id>
          
          <creation_ts>2020-01-15 14:34:12 -0800</creation_ts>
          <short_desc>Clamp paddingBoxWidth/Height to a minimum of zero</short_desc>
          <delta_ts>2020-01-29 20:13:04 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sunny He">sunny_he</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>pdr</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1607170</commentid>
    <comment_count>0</comment_count>
    <who name="Sunny He">sunny_he</who>
    <bug_when>2020-01-15 14:34:12 -0800</bug_when>
    <thetext>Under rare circumstances the computed paddingBoxWidth/Height may become negative, raising the possibility for errors in later computations. Clamp these values to a minimum of zero to ensure this doesn&apos;t happen.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1607171</commentid>
    <comment_count>1</comment_count>
    <who name="Sunny He">sunny_he</who>
    <bug_when>2020-01-15 14:34:40 -0800</bug_when>
    <thetext>rdar://57102010</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1607175</commentid>
    <comment_count>2</comment_count>
      <attachid>387848</attachid>
    <who name="Sunny He">sunny_he</who>
    <bug_when>2020-01-15 14:45:44 -0800</bug_when>
    <thetext>Created attachment 387848
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1610333</commentid>
    <comment_count>3</comment_count>
      <attachid>388592</attachid>
    <who name="Sunny He">sunny_he</who>
    <bug_when>2020-01-23 14:40:36 -0800</bug_when>
    <thetext>Created attachment 388592
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1610335</commentid>
    <comment_count>4</comment_count>
      <attachid>388593</attachid>
    <who name="Sunny He">sunny_he</who>
    <bug_when>2020-01-23 14:46:01 -0800</bug_when>
    <thetext>Created attachment 388593
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1610337</commentid>
    <comment_count>5</comment_count>
      <attachid>388593</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-01-23 14:47:20 -0800</bug_when>
    <thetext>Comment on attachment 388593
Patch

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

&gt; Source/WebCore/rendering/RenderReplaced.cpp:464
&gt; +    WTFLogAlways(&quot;computeConstrainedLogicalWidth logicalWidth=%f, marginStart=%f, marginEnd=%f, size().width()=%f, clientWidth()=%f&quot;,
&gt; +        logicalWidth.toFloat(), marginStart.toFloat(), marginEnd.toFloat(), size().width().toFloat(), clientWidth().toFloat());
&gt; +    logicalWidth = std::max(0_lu, (logicalWidth - (marginStart + marginEnd + borderLeft() + borderRight() + verticalScrollbarWidth())));
&gt; +    WTFLogAlways(&quot;computeConstrainedLogicalWidth final logicalWidth=%f&quot;, logicalWidth.toFloat());

No logging please!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1610341</commentid>
    <comment_count>6</comment_count>
      <attachid>388594</attachid>
    <who name="Sunny He">sunny_he</who>
    <bug_when>2020-01-23 14:50:01 -0800</bug_when>
    <thetext>Created attachment 388594
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1610460</commentid>
    <comment_count>7</comment_count>
    <who name="Sunny He">sunny_he</who>
    <bug_when>2020-01-23 18:08:41 -0800</bug_when>
    <thetext>(In reply to Simon Fraser (smfr) from comment #5)
&gt; Comment on attachment 388593 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=388593&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/rendering/RenderReplaced.cpp:464
&gt; &gt; +    WTFLogAlways(&quot;computeConstrainedLogicalWidth logicalWidth=%f, marginStart=%f, marginEnd=%f, size().width()=%f, clientWidth()=%f&quot;,
&gt; &gt; +        logicalWidth.toFloat(), marginStart.toFloat(), marginEnd.toFloat(), size().width().toFloat(), clientWidth().toFloat());
&gt; &gt; +    logicalWidth = std::max(0_lu, (logicalWidth - (marginStart + marginEnd + borderLeft() + borderRight() + verticalScrollbarWidth())));
&gt; &gt; +    WTFLogAlways(&quot;computeConstrainedLogicalWidth final logicalWidth=%f&quot;, logicalWidth.toFloat());
&gt; 
&gt; No logging please!

Fixed, looks like EWS is happy with this one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1610472</commentid>
    <comment_count>8</comment_count>
      <attachid>388594</attachid>
    <who name="alan">zalan</who>
    <bug_when>2020-01-23 18:47:47 -0800</bug_when>
    <thetext>Comment on attachment 388594
Patch

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

&gt; Source/WebCore/rendering/RenderReplaced.cpp:461
&gt; -    logicalWidth = std::max(0_lu, (logicalWidth - (marginStart + marginEnd + (size().width() - clientWidth()))));
&gt; +    logicalWidth = std::max(0_lu, (logicalWidth - (marginStart + marginEnd + borderLeft() + borderRight() + verticalScrollbarWidth())));

I am confused how this works (or even worked before). The logical width here (which is the content logical width) of an inline replaced box is supposed to be the containing block&apos;s content box width - (margin start + border inline start + padding inline start + padding inline end + border inline end + margin end), since the constraint equation is as follows containing block&apos;s content width = margin s + border s + padding s + content width + padding e + border e + margin e.
It&apos;s even in the comment a few lines above.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1611286</commentid>
    <comment_count>9</comment_count>
      <attachid>388594</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-01-26 21:30:51 -0800</bug_when>
    <thetext>Comment on attachment 388594
Patch

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

&gt; Source/WebCore/rendering/RenderBox.h:221
&gt; +    LayoutUnit paddingBoxWidth() const { return std::max&lt;LayoutUnit&gt;(0, width() - borderLeft() - borderRight() - verticalScrollbarWidth()); }
&gt; +    LayoutUnit paddingBoxHeight() const { return std::max&lt;LayoutUnit&gt;(0, height() - borderTop() - borderBottom() - horizontalScrollbarHeight()); }

A more economical way to write this is &quot;std::max(0_lu,&quot;

&gt;&gt; Source/WebCore/rendering/RenderReplaced.cpp:461
&gt;&gt; +    logicalWidth = std::max(0_lu, (logicalWidth - (marginStart + marginEnd + borderLeft() + borderRight() + verticalScrollbarWidth())));
&gt; 
&gt; I am confused how this works (or even worked before). The logical width here (which is the content logical width) of an inline replaced box is supposed to be the containing block&apos;s content box width - (margin start + border inline start + padding inline start + padding inline end + border inline end + margin end), since the constraint equation is as follows containing block&apos;s content width = margin s + border s + padding s + content width + padding e + border e + margin e.
&gt; It&apos;s even in the comment a few lines above.

I am going to say review+ here, but I am concerned that Alan is confused about this, since this is an area he&apos;s expert on. Please follow up with him.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1612307</commentid>
    <comment_count>10</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2020-01-28 19:27:38 -0800</bug_when>
    <thetext>(In reply to Darin Adler from comment #9)
&gt; Comment on attachment 388594 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=388594&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/rendering/RenderBox.h:221
&gt; &gt; +    LayoutUnit paddingBoxWidth() const { return std::max&lt;LayoutUnit&gt;(0, width() - borderLeft() - borderRight() - verticalScrollbarWidth()); }
&gt; &gt; +    LayoutUnit paddingBoxHeight() const { return std::max&lt;LayoutUnit&gt;(0, height() - borderTop() - borderBottom() - horizontalScrollbarHeight()); }
&gt; 
&gt; A more economical way to write this is &quot;std::max(0_lu,&quot;
&gt; 
&gt; &gt;&gt; Source/WebCore/rendering/RenderReplaced.cpp:461
&gt; &gt;&gt; +    logicalWidth = std::max(0_lu, (logicalWidth - (marginStart + marginEnd + borderLeft() + borderRight() + verticalScrollbarWidth())));
&gt; &gt; 
&gt; &gt; I am confused how this works (or even worked before). The logical width here (which is the content logical width) of an inline replaced box is supposed to be the containing block&apos;s content box width - (margin start + border inline start + padding inline start + padding inline end + border inline end + margin end), since the constraint equation is as follows containing block&apos;s content width = margin s + border s + padding s + content width + padding e + border e + margin e.
&gt; &gt; It&apos;s even in the comment a few lines above.
&gt; 
&gt; I am going to say review+ here, but I am concerned that Alan is confused
&gt; about this, since this is an area he&apos;s expert on. Please follow up with him.

(In reply to zalan from comment #8)
&gt; Comment on attachment 388594 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=388594&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/rendering/RenderReplaced.cpp:461
&gt; &gt; -    logicalWidth = std::max(0_lu, (logicalWidth - (marginStart + marginEnd + (size().width() - clientWidth()))));
&gt; &gt; +    logicalWidth = std::max(0_lu, (logicalWidth - (marginStart + marginEnd + borderLeft() + borderRight() + verticalScrollbarWidth())));
&gt; 
&gt; I am confused how this works (or even worked before). The logical width here
&gt; (which is the content logical width) of an inline replaced box is supposed
&gt; to be the containing block&apos;s content box width - (margin start + border
&gt; inline start + padding inline start + padding inline end + border inline end
&gt; + margin end), since the constraint equation is as follows containing
&gt; block&apos;s content width = margin s + border s + padding s + content width +
&gt; padding e + border e + margin e.
&gt; It&apos;s even in the comment a few lines above.
I guess this is fine since you are not changing behavior here. I am just baffled how incorrect this is (as per https://www.w3.org/TR/CSS22/visudet.html#inline-replaced-width) and specifically that there&apos;s even a comment above this line disagreeing with the logic here. I would put a fixme or some kind of explanation why it is ok to have it this way.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1612308</commentid>
    <comment_count>11</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2020-01-28 19:28:10 -0800</bug_when>
    <thetext>Please address Darin&apos;s comment before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1612696</commentid>
    <comment_count>12</comment_count>
      <attachid>389189</attachid>
    <who name="Sunny He">sunny_he</who>
    <bug_when>2020-01-29 14:42:59 -0800</bug_when>
    <thetext>Created attachment 389189
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1612737</commentid>
    <comment_count>13</comment_count>
      <attachid>389189</attachid>
    <who name="Sunny He">sunny_he</who>
    <bug_when>2020-01-29 15:38:49 -0800</bug_when>
    <thetext>Comment on attachment 389189
Patch

Need to take another look at this, just changing to match the spec&apos;s expression is clobbering some css tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1612760</commentid>
    <comment_count>14</comment_count>
      <attachid>389201</attachid>
    <who name="Sunny He">sunny_he</who>
    <bug_when>2020-01-29 16:50:18 -0800</bug_when>
    <thetext>Created attachment 389201
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1612786</commentid>
    <comment_count>15</comment_count>
      <attachid>389207</attachid>
    <who name="Sunny He">sunny_he</who>
    <bug_when>2020-01-29 17:40:36 -0800</bug_when>
    <thetext>Created attachment 389207
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1612787</commentid>
    <comment_count>16</comment_count>
    <who name="Sunny He">sunny_he</who>
    <bug_when>2020-01-29 17:41:14 -0800</bug_when>
    <thetext>(In reply to Sunny He from comment #14)
&gt; Created attachment 389201 [details]
&gt; Patch

Figures, missed the tests again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1612843</commentid>
    <comment_count>17</comment_count>
      <attachid>389207</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-29 20:13:02 -0800</bug_when>
    <thetext>Comment on attachment 389207
Patch

Clearing flags on attachment: 389207

Committed r255413: &lt;https://trac.webkit.org/changeset/255413&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1612844</commentid>
    <comment_count>18</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-29 20:13:04 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>387848</attachid>
            <date>2020-01-15 14:45:44 -0800</date>
            <delta_ts>2020-01-23 14:40:35 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206317-20200115144543.patch</filename>
            <type>text/plain</type>
            <size>4063</size>
            <attacher name="Sunny He">sunny_he</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU0NjM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGI1YWZjY2ExMDE2MTk5
ZGEyZDY0MjE4NTJjMzE3MzlmZjhiYTA3Yy4uNTgwZjQwY2E5ZWJlZjViMDg5Zjc4NmJhNzZkNmNj
Yjk1NTY4NGJiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIwLTAxLTE1ICBTdW5u
eSBIZSAgPHN1bm55X2hlQGFwcGxlLmNvbT4KKworICAgICAgICBDbGFtcCBwYWRkaW5nQm94V2lk
dGgvSGVpZ2h0IHRvIGEgbWluaW11bSBvZiB6ZXJvCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDYzMTcKKyAgICAgICAgcmRhcjovLzU3MTAyMDEwCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogZmFz
dC9tdWx0aWNvbC9jcmFzaC1uZWdhdGl2ZS1wYWRkaW5nQm94V2lkdGguaHRtbAorCisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckJveC5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94Ojpw
YWRkaW5nQm94V2lkdGggY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94OjpwYWRk
aW5nQm94SGVpZ2h0IGNvbnN0KToKKwogMjAyMC0wMS0xNSAgQW50dGkgS29pdmlzdG8gIDxhbnR0
aUBhcHBsZS5jb20+CiAKICAgICAgICAgW0xGQ10gQ2FjaGUgZGlzcGxheSBib3ggZm9yIHRoZSBm
aXJzdCBMYXlvdXRTdGF0ZSB0byBMYXlvdXQ6OkJveApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJveC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJveC5oCmluZGV4IDQ5NTQ4MTQwNTRhNjAxNzEwOGQ2NTQ5MTk1MmEzNWFmOGMyZTMwMmIuLjJl
NWJmODAyMjkyZjY2NzgyZDkzMTQ0NmNmM2I3MWVhOWEzY2EyY2UgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQm94LmgKQEAgLTIxNyw4ICsyMTcsOCBAQCBwdWJsaWM6CiAgICAgTGF5b3V0
VW5pdCBjb250ZW50TG9naWNhbFdpZHRoKCkgY29uc3QgeyByZXR1cm4gc3R5bGUoKS5pc0hvcml6
b250YWxXcml0aW5nTW9kZSgpID8gY29udGVudFdpZHRoKCkgOiBjb250ZW50SGVpZ2h0KCk7IH0K
ICAgICBMYXlvdXRVbml0IGNvbnRlbnRMb2dpY2FsSGVpZ2h0KCkgY29uc3QgeyByZXR1cm4gc3R5
bGUoKS5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gY29udGVudEhlaWdodCgpIDogY29udGVu
dFdpZHRoKCk7IH0KIAotICAgIExheW91dFVuaXQgcGFkZGluZ0JveFdpZHRoKCkgY29uc3QgeyBy
ZXR1cm4gd2lkdGgoKSAtIGJvcmRlckxlZnQoKSAtIGJvcmRlclJpZ2h0KCkgLSB2ZXJ0aWNhbFNj
cm9sbGJhcldpZHRoKCk7IH0KLSAgICBMYXlvdXRVbml0IHBhZGRpbmdCb3hIZWlnaHQoKSBjb25z
dCB7IHJldHVybiBoZWlnaHQoKSAtIGJvcmRlclRvcCgpIC0gYm9yZGVyQm90dG9tKCkgLSBob3Jp
em9udGFsU2Nyb2xsYmFySGVpZ2h0KCk7IH0KKyAgICBMYXlvdXRVbml0IHBhZGRpbmdCb3hXaWR0
aCgpIGNvbnN0IHsgcmV0dXJuIHN0ZDo6bWF4PExheW91dFVuaXQ+KDAsIHdpZHRoKCkgLSBib3Jk
ZXJMZWZ0KCkgLSBib3JkZXJSaWdodCgpIC0gdmVydGljYWxTY3JvbGxiYXJXaWR0aCgpKTsgfQor
ICAgIExheW91dFVuaXQgcGFkZGluZ0JveEhlaWdodCgpIGNvbnN0IHsgcmV0dXJuIHN0ZDo6bWF4
PExheW91dFVuaXQ+KDAsIGhlaWdodCgpIC0gYm9yZGVyVG9wKCkgLSBib3JkZXJCb3R0b20oKSAt
IGhvcml6b250YWxTY3JvbGxiYXJIZWlnaHQoKSk7IH0KICAgICBMYXlvdXRSZWN0IHBhZGRpbmdC
b3hSZWN0KCkgY29uc3Q7CiAgICAgTGF5b3V0UmVjdCBwYWRkaW5nQm94UmVjdEluY2x1ZGluZ1Nj
cm9sbGJhcigpIGNvbnN0IHsgcmV0dXJuIExheW91dFJlY3QoYm9yZGVyTGVmdCgpLCBib3JkZXJU
b3AoKSwgd2lkdGgoKSAtIGJvcmRlckxlZnQoKSAtIGJvcmRlclJpZ2h0KCksIGhlaWdodCgpIC0g
Ym9yZGVyVG9wKCkgLSBib3JkZXJCb3R0b20oKSk7IH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDVmMTE4OTI4ZmVlZjgy
ZmQ5ZmQ5YjJjYjE5ZDg5ZTE0NzQ5NWMxM2QuLmM1NWI0OWJkOTQ3MjJjZmFlYzg5YzgwODQyYTBl
OGVmMjg4OGI2ZDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMC0wMS0xNSAgU3VubnkgSGUg
IDxzdW5ueV9oZUBhcHBsZS5jb20+CisKKyAgICAgICAgQ2xhbXAgcGFkZGluZ0JveFdpZHRoL0hl
aWdodCB0byBhIG1pbmltdW0gb2YgemVybworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjA2MzE3CisgICAgICAgIHJkYXI6Ly81NzEwMjAxMAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9tdWx0aWNv
bC9jcmFzaC1uZWdhdGl2ZS1wYWRkaW5nQm94V2lkdGgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L211bHRpY29sL2NyYXNoLW5lZ2F0aXZlLXBhZGRpbmdCb3hXaWR0aC5odG1s
OiBBZGRlZC4KKwogMjAyMC0wMS0xNSAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtp
dC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjI1NDU3Ni4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbXVsdGljb2wvY3Jhc2gtbmVnYXRpdmUtcGFkZGluZ0Jv
eFdpZHRoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvbXVsdGljb2wvY3Jhc2gtbmVn
YXRpdmUtcGFkZGluZ0JveFdpZHRoLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MWNiNjVlYTk5
MjFiZDgzMjljNTk0MmY1YTA2Y2JiODYzY2ZkMGY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9tdWx0aWNvbC9jcmFzaC1uZWdhdGl2ZS1wYWRkaW5nQm94V2lkdGgtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorCitDaGVjayB0aGF0IGludGVyYWN0aW9ucyBiZXR3ZWVu
IGNvbHVtbiBnYXAsIHdpZHRoLCBhbmQgc2Nyb2xsYmFyIHdpZHRoIGRvbid0IGNhdXNlIGNyYXNo
ZXMuCisKK1BBU1MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbXVsdGljb2wvY3Jhc2gt
bmVnYXRpdmUtcGFkZGluZ0JveFdpZHRoLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L211bHRpY29s
L2NyYXNoLW5lZ2F0aXZlLXBhZGRpbmdCb3hXaWR0aC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkwOTU2ZGIy
ZDQ5MzAyMzQwNTA4OTY5YmJlMDVlOGEwNGQwNGMyNjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L211bHRpY29sL2NyYXNoLW5lZ2F0aXZlLXBhZGRpbmdCb3hXaWR0aC5odG1s
CkBAIC0wLDAgKzEsMTQgQEAKKzxodG1sPgorICAgIDxzdHlsZT4KKyAgICAqIHsgd2lkdGg6IDI1
JTsgZ3JpZC1nYXA6IDQwJTsgY29sdW1uczogNnB4O30KKyAgICA8L3N0eWxlPgorICAgIDxzY3Jp
cHQ+CisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgIHRlc3RSdW5u
ZXIuZHVtcEFzVGV4dCgpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAgICAgICA8dGV4
dGFyZWE+QTwvdGV4dGFyZWE+CisgICAgICAgIDxwPkNoZWNrIHRoYXQgaW50ZXJhY3Rpb25zIGJl
dHdlZW4gY29sdW1uIGdhcCwgd2lkdGgsIGFuZCBzY3JvbGxiYXIgd2lkdGggZG9uJ3QgY2F1c2Ug
Y3Jhc2hlcy48L3A+CisgICAgUEFTUworICAgIDwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>388592</attachid>
            <date>2020-01-23 14:40:36 -0800</date>
            <delta_ts>2020-01-23 14:45:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206317-20200123144036.patch</filename>
            <type>text/plain</type>
            <size>6345</size>
            <attacher name="Sunny He">sunny_he</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU0NjM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGI1YWZjY2ExMDE2MTk5
ZGEyZDY0MjE4NTJjMzE3MzlmZjhiYTA3Yy4uNTgwZjQwY2E5ZWJlZjViMDg5Zjc4NmJhNzZkNmNj
Yjk1NTY4NGJiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIwLTAxLTE1ICBTdW5u
eSBIZSAgPHN1bm55X2hlQGFwcGxlLmNvbT4KKworICAgICAgICBDbGFtcCBwYWRkaW5nQm94V2lk
dGgvSGVpZ2h0IHRvIGEgbWluaW11bSBvZiB6ZXJvCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDYzMTcKKyAgICAgICAgcmRhcjovLzU3MTAyMDEwCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogZmFz
dC9tdWx0aWNvbC9jcmFzaC1uZWdhdGl2ZS1wYWRkaW5nQm94V2lkdGguaHRtbAorCisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckJveC5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94Ojpw
YWRkaW5nQm94V2lkdGggY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94OjpwYWRk
aW5nQm94SGVpZ2h0IGNvbnN0KToKKwogMjAyMC0wMS0xNSAgQW50dGkgS29pdmlzdG8gIDxhbnR0
aUBhcHBsZS5jb20+CiAKICAgICAgICAgW0xGQ10gQ2FjaGUgZGlzcGxheSBib3ggZm9yIHRoZSBm
aXJzdCBMYXlvdXRTdGF0ZSB0byBMYXlvdXQ6OkJveApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJveC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJveC5oCmluZGV4IDQ5NTQ4MTQwNTRhNjAxNzEwOGQ2NTQ5MTk1MmEzNWFmOGMyZTMwMmIuLjJl
NWJmODAyMjkyZjY2NzgyZDkzMTQ0NmNmM2I3MWVhOWEzY2EyY2UgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQm94LmgKQEAgLTIxNyw4ICsyMTcsOCBAQCBwdWJsaWM6CiAgICAgTGF5b3V0
VW5pdCBjb250ZW50TG9naWNhbFdpZHRoKCkgY29uc3QgeyByZXR1cm4gc3R5bGUoKS5pc0hvcml6
b250YWxXcml0aW5nTW9kZSgpID8gY29udGVudFdpZHRoKCkgOiBjb250ZW50SGVpZ2h0KCk7IH0K
ICAgICBMYXlvdXRVbml0IGNvbnRlbnRMb2dpY2FsSGVpZ2h0KCkgY29uc3QgeyByZXR1cm4gc3R5
bGUoKS5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gY29udGVudEhlaWdodCgpIDogY29udGVu
dFdpZHRoKCk7IH0KIAotICAgIExheW91dFVuaXQgcGFkZGluZ0JveFdpZHRoKCkgY29uc3QgeyBy
ZXR1cm4gd2lkdGgoKSAtIGJvcmRlckxlZnQoKSAtIGJvcmRlclJpZ2h0KCkgLSB2ZXJ0aWNhbFNj
cm9sbGJhcldpZHRoKCk7IH0KLSAgICBMYXlvdXRVbml0IHBhZGRpbmdCb3hIZWlnaHQoKSBjb25z
dCB7IHJldHVybiBoZWlnaHQoKSAtIGJvcmRlclRvcCgpIC0gYm9yZGVyQm90dG9tKCkgLSBob3Jp
em9udGFsU2Nyb2xsYmFySGVpZ2h0KCk7IH0KKyAgICBMYXlvdXRVbml0IHBhZGRpbmdCb3hXaWR0
aCgpIGNvbnN0IHsgcmV0dXJuIHN0ZDo6bWF4PExheW91dFVuaXQ+KDAsIHdpZHRoKCkgLSBib3Jk
ZXJMZWZ0KCkgLSBib3JkZXJSaWdodCgpIC0gdmVydGljYWxTY3JvbGxiYXJXaWR0aCgpKTsgfQor
ICAgIExheW91dFVuaXQgcGFkZGluZ0JveEhlaWdodCgpIGNvbnN0IHsgcmV0dXJuIHN0ZDo6bWF4
PExheW91dFVuaXQ+KDAsIGhlaWdodCgpIC0gYm9yZGVyVG9wKCkgLSBib3JkZXJCb3R0b20oKSAt
IGhvcml6b250YWxTY3JvbGxiYXJIZWlnaHQoKSk7IH0KICAgICBMYXlvdXRSZWN0IHBhZGRpbmdC
b3hSZWN0KCkgY29uc3Q7CiAgICAgTGF5b3V0UmVjdCBwYWRkaW5nQm94UmVjdEluY2x1ZGluZ1Nj
cm9sbGJhcigpIGNvbnN0IHsgcmV0dXJuIExheW91dFJlY3QoYm9yZGVyTGVmdCgpLCBib3JkZXJU
b3AoKSwgd2lkdGgoKSAtIGJvcmRlckxlZnQoKSAtIGJvcmRlclJpZ2h0KCksIGhlaWdodCgpIC0g
Ym9yZGVyVG9wKCkgLSBib3JkZXJCb3R0b20oKSk7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJSZXBsYWNlZC5jcHAKaW5kZXggMzM4YzMyM2NjODNjZThkNWNiZTY2Zjc5NWM5
YTRiMzIxMmQ0ODZkMi4uNTE3OGU0ZTc1ODg4ZGIyMDIxOGQ3ODkxNzUyODllYjFiMTZlMzk2YiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwCkBAIC00NTQs
MTEgKzQ1NCwxNCBAQCBMYXlvdXRVbml0IFJlbmRlclJlcGxhY2VkOjpjb21wdXRlQ29uc3RyYWlu
ZWRMb2dpY2FsV2lkdGgoU2hvdWxkQ29tcHV0ZVByZWZlcnJlZAogICAgIC8vICdwYWRkaW5nLXJp
Z2h0JyArICdib3JkZXItcmlnaHQtd2lkdGgnICsgJ21hcmdpbi1yaWdodCcgPSB3aWR0aCBvZgog
ICAgIC8vIGNvbnRhaW5pbmcgYmxvY2sKICAgICBMYXlvdXRVbml0IGxvZ2ljYWxXaWR0aCA9IGNv
bnRhaW5pbmdCbG9jaygpLT5hdmFpbGFibGVMb2dpY2FsV2lkdGgoKTsKLSAgICAKKwogICAgIC8v
IFRoaXMgc29sdmVzIGFib3ZlIGVxdWF0aW9uIGZvciAnd2lkdGgnICg9PSBsb2dpY2FsV2lkdGgp
LgogICAgIExheW91dFVuaXQgbWFyZ2luU3RhcnQgPSBtaW5pbXVtVmFsdWVGb3JMZW5ndGgoc3R5
bGUoKS5tYXJnaW5TdGFydCgpLCBsb2dpY2FsV2lkdGgpOwogICAgIExheW91dFVuaXQgbWFyZ2lu
RW5kID0gbWluaW11bVZhbHVlRm9yTGVuZ3RoKHN0eWxlKCkubWFyZ2luRW5kKCksIGxvZ2ljYWxX
aWR0aCk7Ci0gICAgbG9naWNhbFdpZHRoID0gc3RkOjptYXgoMF9sdSwgKGxvZ2ljYWxXaWR0aCAt
IChtYXJnaW5TdGFydCArIG1hcmdpbkVuZCArIChzaXplKCkud2lkdGgoKSAtIGNsaWVudFdpZHRo
KCkpKSkpOworICAgIFdURkxvZ0Fsd2F5cygiY29tcHV0ZUNvbnN0cmFpbmVkTG9naWNhbFdpZHRo
IGxvZ2ljYWxXaWR0aD0lZiwgbWFyZ2luU3RhcnQ9JWYsIG1hcmdpbkVuZD0lZiwgc2l6ZSgpLndp
ZHRoKCk9JWYsIGNsaWVudFdpZHRoKCk9JWYiLAorICAgICAgICBsb2dpY2FsV2lkdGgudG9GbG9h
dCgpLCBtYXJnaW5TdGFydC50b0Zsb2F0KCksIG1hcmdpbkVuZC50b0Zsb2F0KCksIHNpemUoKS53
aWR0aCgpLnRvRmxvYXQoKSwgY2xpZW50V2lkdGgoKS50b0Zsb2F0KCkpOworICAgIGxvZ2ljYWxX
aWR0aCA9IHN0ZDo6bWF4KDBfbHUsIChsb2dpY2FsV2lkdGggLSAobWFyZ2luU3RhcnQgKyBtYXJn
aW5FbmQgKyBib3JkZXJMZWZ0KCkgKyBib3JkZXJSaWdodCgpICsgdmVydGljYWxTY3JvbGxiYXJX
aWR0aCgpKSkpOworICAgIFdURkxvZ0Fsd2F5cygiY29tcHV0ZUNvbnN0cmFpbmVkTG9naWNhbFdp
ZHRoIGZpbmFsIGxvZ2ljYWxXaWR0aD0lZiIsIGxvZ2ljYWxXaWR0aC50b0Zsb2F0KCkpOwogICAg
IHJldHVybiBjb21wdXRlUmVwbGFjZWRMb2dpY2FsV2lkdGhSZXNwZWN0aW5nTWluTWF4V2lkdGgo
bG9naWNhbFdpZHRoLCBzaG91bGRDb21wdXRlUHJlZmVycmVkKTsKIH0KIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDVmMTE4
OTI4ZmVlZjgyZmQ5ZmQ5YjJjYjE5ZDg5ZTE0NzQ5NWMxM2QuLmM1NWI0OWJkOTQ3MjJjZmFlYzg5
YzgwODQyYTBlOGVmMjg4OGI2ZDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMC0wMS0xNSAg
U3VubnkgSGUgIDxzdW5ueV9oZUBhcHBsZS5jb20+CisKKyAgICAgICAgQ2xhbXAgcGFkZGluZ0Jv
eFdpZHRoL0hlaWdodCB0byBhIG1pbmltdW0gb2YgemVybworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA2MzE3CisgICAgICAgIHJkYXI6Ly81NzEwMjAx
MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFz
dC9tdWx0aWNvbC9jcmFzaC1uZWdhdGl2ZS1wYWRkaW5nQm94V2lkdGgtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBmYXN0L211bHRpY29sL2NyYXNoLW5lZ2F0aXZlLXBhZGRpbmdCb3hX
aWR0aC5odG1sOiBBZGRlZC4KKwogMjAyMC0wMS0xNSAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1
ZXVlQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjI1NDU3
Ni4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbXVsdGljb2wvY3Jhc2gtbmVnYXRpdmUt
cGFkZGluZ0JveFdpZHRoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvbXVsdGljb2wv
Y3Jhc2gtbmVnYXRpdmUtcGFkZGluZ0JveFdpZHRoLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42
MWNiNjVlYTk5MjFiZDgzMjljNTk0MmY1YTA2Y2JiODYzY2ZkMGY0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9tdWx0aWNvbC9jcmFzaC1uZWdhdGl2ZS1wYWRkaW5nQm94V2lk
dGgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorCitDaGVjayB0aGF0IGludGVyYWN0aW9u
cyBiZXR3ZWVuIGNvbHVtbiBnYXAsIHdpZHRoLCBhbmQgc2Nyb2xsYmFyIHdpZHRoIGRvbid0IGNh
dXNlIGNyYXNoZXMuCisKK1BBU1MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbXVsdGlj
b2wvY3Jhc2gtbmVnYXRpdmUtcGFkZGluZ0JveFdpZHRoLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L211bHRpY29sL2NyYXNoLW5lZ2F0aXZlLXBhZGRpbmdCb3hXaWR0aC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjkwOTU2ZGIyZDQ5MzAyMzQwNTA4OTY5YmJlMDVlOGEwNGQwNGMyNjgKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L211bHRpY29sL2NyYXNoLW5lZ2F0aXZlLXBhZGRpbmdCb3hX
aWR0aC5odG1sCkBAIC0wLDAgKzEsMTQgQEAKKzxodG1sPgorICAgIDxzdHlsZT4KKyAgICAqIHsg
d2lkdGg6IDI1JTsgZ3JpZC1nYXA6IDQwJTsgY29sdW1uczogNnB4O30KKyAgICA8L3N0eWxlPgor
ICAgIDxzY3JpcHQ+CisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAg
IHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5PgorICAg
ICAgICA8dGV4dGFyZWE+QTwvdGV4dGFyZWE+CisgICAgICAgIDxwPkNoZWNrIHRoYXQgaW50ZXJh
Y3Rpb25zIGJldHdlZW4gY29sdW1uIGdhcCwgd2lkdGgsIGFuZCBzY3JvbGxiYXIgd2lkdGggZG9u
J3QgY2F1c2UgY3Jhc2hlcy48L3A+CisgICAgUEFTUworICAgIDwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS12aWV3L3Njcm9sbExlZnQtb2Ytc2Ny
b2xsZXItd2l0aC13aWRlci1zY3JvbGxiYXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20tdmlldy9zY3JvbGxMZWZ0LW9m
LXNjcm9sbGVyLXdpdGgtd2lkZXItc2Nyb2xsYmFyLWV4cGVjdGVkLnR4dAppbmRleCAzMjAwY2Y3
NmEwOGRhZWQ0MTE2NDhiNjZmN2RmYTAxNDZmNDk3M2UwLi4wMDJmZmJlMmFmNzY0NTc5ZTY4NTc5
OTg2YzE4ZTc2MmY2Mjk1ZDlhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS12aWV3L3Njcm9sbExlZnQtb2Ytc2Nyb2xsZXIt
d2l0aC13aWRlci1zY3JvbGxiYXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzc29tLXZpZXcvc2Nyb2xsTGVmdC1vZi1z
Y3JvbGxlci13aXRoLXdpZGVyLXNjcm9sbGJhci1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBA
CiAKLUZBSUwgVGVzdCB0aGUgbWF4bWl1bSB2YWx1ZSBvZiBzY3JvbGxMZWZ0IGFzc2VydF9lcXVh
bHM6IGV4cGVjdGVkIDEwMCBidXQgZ290IDExMAorUEFTUyBUZXN0IHRoZSBtYXhtaXVtIHZhbHVl
IG9mIHNjcm9sbExlZnQgCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>388593</attachid>
            <date>2020-01-23 14:46:01 -0800</date>
            <delta_ts>2020-01-23 14:49:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206317-20200123144600.patch</filename>
            <type>text/plain</type>
            <size>7491</size>
            <attacher name="Sunny He">sunny_he</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU0NjM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGI1YWZjY2ExMDE2MTk5
ZGEyZDY0MjE4NTJjMzE3MzlmZjhiYTA3Yy4uNTgwZjQwY2E5ZWJlZjViMDg5Zjc4NmJhNzZkNmNj
Yjk1NTY4NGJiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIwLTAxLTE1ICBTdW5u
eSBIZSAgPHN1bm55X2hlQGFwcGxlLmNvbT4KKworICAgICAgICBDbGFtcCBwYWRkaW5nQm94V2lk
dGgvSGVpZ2h0IHRvIGEgbWluaW11bSBvZiB6ZXJvCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDYzMTcKKyAgICAgICAgcmRhcjovLzU3MTAyMDEwCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogZmFz
dC9tdWx0aWNvbC9jcmFzaC1uZWdhdGl2ZS1wYWRkaW5nQm94V2lkdGguaHRtbAorCisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckJveC5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94Ojpw
YWRkaW5nQm94V2lkdGggY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94OjpwYWRk
aW5nQm94SGVpZ2h0IGNvbnN0KToKKwogMjAyMC0wMS0xNSAgQW50dGkgS29pdmlzdG8gIDxhbnR0
aUBhcHBsZS5jb20+CiAKICAgICAgICAgW0xGQ10gQ2FjaGUgZGlzcGxheSBib3ggZm9yIHRoZSBm
aXJzdCBMYXlvdXRTdGF0ZSB0byBMYXlvdXQ6OkJveApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJveC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJveC5oCmluZGV4IDQ5NTQ4MTQwNTRhNjAxNzEwOGQ2NTQ5MTk1MmEzNWFmOGMyZTMwMmIuLjJl
NWJmODAyMjkyZjY2NzgyZDkzMTQ0NmNmM2I3MWVhOWEzY2EyY2UgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQm94LmgKQEAgLTIxNyw4ICsyMTcsOCBAQCBwdWJsaWM6CiAgICAgTGF5b3V0
VW5pdCBjb250ZW50TG9naWNhbFdpZHRoKCkgY29uc3QgeyByZXR1cm4gc3R5bGUoKS5pc0hvcml6
b250YWxXcml0aW5nTW9kZSgpID8gY29udGVudFdpZHRoKCkgOiBjb250ZW50SGVpZ2h0KCk7IH0K
ICAgICBMYXlvdXRVbml0IGNvbnRlbnRMb2dpY2FsSGVpZ2h0KCkgY29uc3QgeyByZXR1cm4gc3R5
bGUoKS5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gY29udGVudEhlaWdodCgpIDogY29udGVu
dFdpZHRoKCk7IH0KIAotICAgIExheW91dFVuaXQgcGFkZGluZ0JveFdpZHRoKCkgY29uc3QgeyBy
ZXR1cm4gd2lkdGgoKSAtIGJvcmRlckxlZnQoKSAtIGJvcmRlclJpZ2h0KCkgLSB2ZXJ0aWNhbFNj
cm9sbGJhcldpZHRoKCk7IH0KLSAgICBMYXlvdXRVbml0IHBhZGRpbmdCb3hIZWlnaHQoKSBjb25z
dCB7IHJldHVybiBoZWlnaHQoKSAtIGJvcmRlclRvcCgpIC0gYm9yZGVyQm90dG9tKCkgLSBob3Jp
em9udGFsU2Nyb2xsYmFySGVpZ2h0KCk7IH0KKyAgICBMYXlvdXRVbml0IHBhZGRpbmdCb3hXaWR0
aCgpIGNvbnN0IHsgcmV0dXJuIHN0ZDo6bWF4PExheW91dFVuaXQ+KDAsIHdpZHRoKCkgLSBib3Jk
ZXJMZWZ0KCkgLSBib3JkZXJSaWdodCgpIC0gdmVydGljYWxTY3JvbGxiYXJXaWR0aCgpKTsgfQor
ICAgIExheW91dFVuaXQgcGFkZGluZ0JveEhlaWdodCgpIGNvbnN0IHsgcmV0dXJuIHN0ZDo6bWF4
PExheW91dFVuaXQ+KDAsIGhlaWdodCgpIC0gYm9yZGVyVG9wKCkgLSBib3JkZXJCb3R0b20oKSAt
IGhvcml6b250YWxTY3JvbGxiYXJIZWlnaHQoKSk7IH0KICAgICBMYXlvdXRSZWN0IHBhZGRpbmdC
b3hSZWN0KCkgY29uc3Q7CiAgICAgTGF5b3V0UmVjdCBwYWRkaW5nQm94UmVjdEluY2x1ZGluZ1Nj
cm9sbGJhcigpIGNvbnN0IHsgcmV0dXJuIExheW91dFJlY3QoYm9yZGVyTGVmdCgpLCBib3JkZXJU
b3AoKSwgd2lkdGgoKSAtIGJvcmRlckxlZnQoKSAtIGJvcmRlclJpZ2h0KCksIGhlaWdodCgpIC0g
Ym9yZGVyVG9wKCkgLSBib3JkZXJCb3R0b20oKSk7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJSZXBsYWNlZC5jcHAKaW5kZXggMzM4YzMyM2NjODNjZThkNWNiZTY2Zjc5NWM5
YTRiMzIxMmQ0ODZkMi4uNTE3OGU0ZTc1ODg4ZGIyMDIxOGQ3ODkxNzUyODllYjFiMTZlMzk2YiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwCkBAIC00NTQs
MTEgKzQ1NCwxNCBAQCBMYXlvdXRVbml0IFJlbmRlclJlcGxhY2VkOjpjb21wdXRlQ29uc3RyYWlu
ZWRMb2dpY2FsV2lkdGgoU2hvdWxkQ29tcHV0ZVByZWZlcnJlZAogICAgIC8vICdwYWRkaW5nLXJp
Z2h0JyArICdib3JkZXItcmlnaHQtd2lkdGgnICsgJ21hcmdpbi1yaWdodCcgPSB3aWR0aCBvZgog
ICAgIC8vIGNvbnRhaW5pbmcgYmxvY2sKICAgICBMYXlvdXRVbml0IGxvZ2ljYWxXaWR0aCA9IGNv
bnRhaW5pbmdCbG9jaygpLT5hdmFpbGFibGVMb2dpY2FsV2lkdGgoKTsKLSAgICAKKwogICAgIC8v
IFRoaXMgc29sdmVzIGFib3ZlIGVxdWF0aW9uIGZvciAnd2lkdGgnICg9PSBsb2dpY2FsV2lkdGgp
LgogICAgIExheW91dFVuaXQgbWFyZ2luU3RhcnQgPSBtaW5pbXVtVmFsdWVGb3JMZW5ndGgoc3R5
bGUoKS5tYXJnaW5TdGFydCgpLCBsb2dpY2FsV2lkdGgpOwogICAgIExheW91dFVuaXQgbWFyZ2lu
RW5kID0gbWluaW11bVZhbHVlRm9yTGVuZ3RoKHN0eWxlKCkubWFyZ2luRW5kKCksIGxvZ2ljYWxX
aWR0aCk7Ci0gICAgbG9naWNhbFdpZHRoID0gc3RkOjptYXgoMF9sdSwgKGxvZ2ljYWxXaWR0aCAt
IChtYXJnaW5TdGFydCArIG1hcmdpbkVuZCArIChzaXplKCkud2lkdGgoKSAtIGNsaWVudFdpZHRo
KCkpKSkpOworICAgIFdURkxvZ0Fsd2F5cygiY29tcHV0ZUNvbnN0cmFpbmVkTG9naWNhbFdpZHRo
IGxvZ2ljYWxXaWR0aD0lZiwgbWFyZ2luU3RhcnQ9JWYsIG1hcmdpbkVuZD0lZiwgc2l6ZSgpLndp
ZHRoKCk9JWYsIGNsaWVudFdpZHRoKCk9JWYiLAorICAgICAgICBsb2dpY2FsV2lkdGgudG9GbG9h
dCgpLCBtYXJnaW5TdGFydC50b0Zsb2F0KCksIG1hcmdpbkVuZC50b0Zsb2F0KCksIHNpemUoKS53
aWR0aCgpLnRvRmxvYXQoKSwgY2xpZW50V2lkdGgoKS50b0Zsb2F0KCkpOworICAgIGxvZ2ljYWxX
aWR0aCA9IHN0ZDo6bWF4KDBfbHUsIChsb2dpY2FsV2lkdGggLSAobWFyZ2luU3RhcnQgKyBtYXJn
aW5FbmQgKyBib3JkZXJMZWZ0KCkgKyBib3JkZXJSaWdodCgpICsgdmVydGljYWxTY3JvbGxiYXJX
aWR0aCgpKSkpOworICAgIFdURkxvZ0Fsd2F5cygiY29tcHV0ZUNvbnN0cmFpbmVkTG9naWNhbFdp
ZHRoIGZpbmFsIGxvZ2ljYWxXaWR0aD0lZiIsIGxvZ2ljYWxXaWR0aC50b0Zsb2F0KCkpOwogICAg
IHJldHVybiBjb21wdXRlUmVwbGFjZWRMb2dpY2FsV2lkdGhSZXNwZWN0aW5nTWluTWF4V2lkdGgo
bG9naWNhbFdpZHRoLCBzaG91bGRDb21wdXRlUHJlZmVycmVkKTsKIH0KIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDVmMTE4
OTI4ZmVlZjgyZmQ5ZmQ5YjJjYjE5ZDg5ZTE0NzQ5NWMxM2QuLmM1NWI0OWJkOTQ3MjJjZmFlYzg5
YzgwODQyYTBlOGVmMjg4OGI2ZDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMC0wMS0xNSAg
U3VubnkgSGUgIDxzdW5ueV9oZUBhcHBsZS5jb20+CisKKyAgICAgICAgQ2xhbXAgcGFkZGluZ0Jv
eFdpZHRoL0hlaWdodCB0byBhIG1pbmltdW0gb2YgemVybworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA2MzE3CisgICAgICAgIHJkYXI6Ly81NzEwMjAx
MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFz
dC9tdWx0aWNvbC9jcmFzaC1uZWdhdGl2ZS1wYWRkaW5nQm94V2lkdGgtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBmYXN0L211bHRpY29sL2NyYXNoLW5lZ2F0aXZlLXBhZGRpbmdCb3hX
aWR0aC5odG1sOiBBZGRlZC4KKwogMjAyMC0wMS0xNSAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1
ZXVlQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjI1NDU3
Ni4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IGU2MDExMTgyMmViM2ViNGE0ZmUz
YThjZWIxNWNjZjYxNTg2N2FhMWQuLjkwZWIyMDAyMjhkZjE3NTRkZGE3Mjc4YTcxNDU3NzU5OThk
OTBkNDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisy
MDIwLTAxLTIzICBTdW5ueSBIZSAgPHN1bm55X2hlQGFwcGxlLmNvbT4KKworICAgICAgICBDbGFt
cCBwYWRkaW5nQm94V2lkdGgvSGVpZ2h0IHRvIGEgbWluaW11bSBvZiB6ZXJvCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDYzMTcKKyAgICAgICAgcmRh
cjovLzU3MTAyMDEwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgU291cmNlL1dlYkNvcmU6CisKKyAgICAgICAgVGVzdDogZmFzdC9tdWx0aWNvbC9jcmFz
aC1uZWdhdGl2ZS1wYWRkaW5nQm94V2lkdGguaHRtbAorCisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlckJveC5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94OjpwYWRkaW5nQm94V2lkdGgg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94OjpwYWRkaW5nQm94SGVpZ2h0IGNv
bnN0KToKKworICAgICAgICBMYXlvdXRUZXN0czoKKworICAgICAgICAqIGZhc3QvbXVsdGljb2wv
Y3Jhc2gtbmVnYXRpdmUtcGFkZGluZ0JveFdpZHRoLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZmFzdC9tdWx0aWNvbC9jcmFzaC1uZWdhdGl2ZS1wYWRkaW5nQm94V2lkdGguaHRtbDog
QWRkZWQuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzc29tLXZpZXcvc2Ny
b2xsTGVmdC1vZi1zY3JvbGxlci13aXRoLXdpZGVyLXNjcm9sbGJhci1leHBlY3RlZC50eHQ6CisK
IDIwMjAtMDEtMTUgIE9yaW9sIEJydWZhdSAgPG9icnVmYXVAaWdhbGlhLmNvbT4KIAogICAgICAg
ICBbY3NzLWdyaWRdIEV4Y2x1ZGUgaW1wbGljaXQgZ3JpZCB0cmFja3MgZnJvbSB0aGUgcmVzb2x2
ZWQgdmFsdWUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbXVsdGljb2wvY3Jhc2gtbmVn
YXRpdmUtcGFkZGluZ0JveFdpZHRoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvbXVs
dGljb2wvY3Jhc2gtbmVnYXRpdmUtcGFkZGluZ0JveFdpZHRoLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi42MWNiNjVlYTk5MjFiZDgzMjljNTk0MmY1YTA2Y2JiODYzY2ZkMGY0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tdWx0aWNvbC9jcmFzaC1uZWdhdGl2ZS1wYWRkaW5n
Qm94V2lkdGgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorCitDaGVjayB0aGF0IGludGVy
YWN0aW9ucyBiZXR3ZWVuIGNvbHVtbiBnYXAsIHdpZHRoLCBhbmQgc2Nyb2xsYmFyIHdpZHRoIGRv
bid0IGNhdXNlIGNyYXNoZXMuCisKK1BBU1MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
bXVsdGljb2wvY3Jhc2gtbmVnYXRpdmUtcGFkZGluZ0JveFdpZHRoLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L211bHRpY29sL2NyYXNoLW5lZ2F0aXZlLXBhZGRpbmdCb3hXaWR0aC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjkwOTU2ZGIyZDQ5MzAyMzQwNTA4OTY5YmJlMDVlOGEwNGQwNGMyNjgKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L211bHRpY29sL2NyYXNoLW5lZ2F0aXZlLXBhZGRp
bmdCb3hXaWR0aC5odG1sCkBAIC0wLDAgKzEsMTQgQEAKKzxodG1sPgorICAgIDxzdHlsZT4KKyAg
ICAqIHsgd2lkdGg6IDI1JTsgZ3JpZC1nYXA6IDQwJTsgY29sdW1uczogNnB4O30KKyAgICA8L3N0
eWxlPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgIDwvc2NyaXB0PgorICAgIDxib2R5
PgorICAgICAgICA8dGV4dGFyZWE+QTwvdGV4dGFyZWE+CisgICAgICAgIDxwPkNoZWNrIHRoYXQg
aW50ZXJhY3Rpb25zIGJldHdlZW4gY29sdW1uIGdhcCwgd2lkdGgsIGFuZCBzY3JvbGxiYXIgd2lk
dGggZG9uJ3QgY2F1c2UgY3Jhc2hlcy48L3A+CisgICAgUEFTUworICAgIDwvYm9keT4KKzwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS12aWV3L3Njcm9sbExlZnQt
b2Ytc2Nyb2xsZXItd2l0aC13aWRlci1zY3JvbGxiYXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20tdmlldy9zY3JvbGxM
ZWZ0LW9mLXNjcm9sbGVyLXdpdGgtd2lkZXItc2Nyb2xsYmFyLWV4cGVjdGVkLnR4dAppbmRleCAz
MjAwY2Y3NmEwOGRhZWQ0MTE2NDhiNjZmN2RmYTAxNDZmNDk3M2UwLi4wMDJmZmJlMmFmNzY0NTc5
ZTY4NTc5OTg2YzE4ZTc2MmY2Mjk1ZDlhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS12aWV3L3Njcm9sbExlZnQtb2Ytc2Ny
b2xsZXItd2l0aC13aWRlci1zY3JvbGxiYXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzc29tLXZpZXcvc2Nyb2xsTGVm
dC1vZi1zY3JvbGxlci13aXRoLXdpZGVyLXNjcm9sbGJhci1leHBlY3RlZC50eHQKQEAgLTEsMyAr
MSwzIEBACiAKLUZBSUwgVGVzdCB0aGUgbWF4bWl1bSB2YWx1ZSBvZiBzY3JvbGxMZWZ0IGFzc2Vy
dF9lcXVhbHM6IGV4cGVjdGVkIDEwMCBidXQgZ290IDExMAorUEFTUyBUZXN0IHRoZSBtYXhtaXVt
IHZhbHVlIG9mIHNjcm9sbExlZnQgCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>388594</attachid>
            <date>2020-01-23 14:50:01 -0800</date>
            <delta_ts>2020-01-29 14:42:57 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206317-20200123145000.patch</filename>
            <type>text/plain</type>
            <size>6943</size>
            <attacher name="Sunny He">sunny_he</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU0NjM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGI1YWZjY2ExMDE2MTk5
ZGEyZDY0MjE4NTJjMzE3MzlmZjhiYTA3Yy4uNTgwZjQwY2E5ZWJlZjViMDg5Zjc4NmJhNzZkNmNj
Yjk1NTY4NGJiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIwLTAxLTE1ICBTdW5u
eSBIZSAgPHN1bm55X2hlQGFwcGxlLmNvbT4KKworICAgICAgICBDbGFtcCBwYWRkaW5nQm94V2lk
dGgvSGVpZ2h0IHRvIGEgbWluaW11bSBvZiB6ZXJvCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDYzMTcKKyAgICAgICAgcmRhcjovLzU3MTAyMDEwCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogZmFz
dC9tdWx0aWNvbC9jcmFzaC1uZWdhdGl2ZS1wYWRkaW5nQm94V2lkdGguaHRtbAorCisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckJveC5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94Ojpw
YWRkaW5nQm94V2lkdGggY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94OjpwYWRk
aW5nQm94SGVpZ2h0IGNvbnN0KToKKwogMjAyMC0wMS0xNSAgQW50dGkgS29pdmlzdG8gIDxhbnR0
aUBhcHBsZS5jb20+CiAKICAgICAgICAgW0xGQ10gQ2FjaGUgZGlzcGxheSBib3ggZm9yIHRoZSBm
aXJzdCBMYXlvdXRTdGF0ZSB0byBMYXlvdXQ6OkJveApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJveC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJveC5oCmluZGV4IDQ5NTQ4MTQwNTRhNjAxNzEwOGQ2NTQ5MTk1MmEzNWFmOGMyZTMwMmIuLjJl
NWJmODAyMjkyZjY2NzgyZDkzMTQ0NmNmM2I3MWVhOWEzY2EyY2UgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQm94LmgKQEAgLTIxNyw4ICsyMTcsOCBAQCBwdWJsaWM6CiAgICAgTGF5b3V0
VW5pdCBjb250ZW50TG9naWNhbFdpZHRoKCkgY29uc3QgeyByZXR1cm4gc3R5bGUoKS5pc0hvcml6
b250YWxXcml0aW5nTW9kZSgpID8gY29udGVudFdpZHRoKCkgOiBjb250ZW50SGVpZ2h0KCk7IH0K
ICAgICBMYXlvdXRVbml0IGNvbnRlbnRMb2dpY2FsSGVpZ2h0KCkgY29uc3QgeyByZXR1cm4gc3R5
bGUoKS5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gY29udGVudEhlaWdodCgpIDogY29udGVu
dFdpZHRoKCk7IH0KIAotICAgIExheW91dFVuaXQgcGFkZGluZ0JveFdpZHRoKCkgY29uc3QgeyBy
ZXR1cm4gd2lkdGgoKSAtIGJvcmRlckxlZnQoKSAtIGJvcmRlclJpZ2h0KCkgLSB2ZXJ0aWNhbFNj
cm9sbGJhcldpZHRoKCk7IH0KLSAgICBMYXlvdXRVbml0IHBhZGRpbmdCb3hIZWlnaHQoKSBjb25z
dCB7IHJldHVybiBoZWlnaHQoKSAtIGJvcmRlclRvcCgpIC0gYm9yZGVyQm90dG9tKCkgLSBob3Jp
em9udGFsU2Nyb2xsYmFySGVpZ2h0KCk7IH0KKyAgICBMYXlvdXRVbml0IHBhZGRpbmdCb3hXaWR0
aCgpIGNvbnN0IHsgcmV0dXJuIHN0ZDo6bWF4PExheW91dFVuaXQ+KDAsIHdpZHRoKCkgLSBib3Jk
ZXJMZWZ0KCkgLSBib3JkZXJSaWdodCgpIC0gdmVydGljYWxTY3JvbGxiYXJXaWR0aCgpKTsgfQor
ICAgIExheW91dFVuaXQgcGFkZGluZ0JveEhlaWdodCgpIGNvbnN0IHsgcmV0dXJuIHN0ZDo6bWF4
PExheW91dFVuaXQ+KDAsIGhlaWdodCgpIC0gYm9yZGVyVG9wKCkgLSBib3JkZXJCb3R0b20oKSAt
IGhvcml6b250YWxTY3JvbGxiYXJIZWlnaHQoKSk7IH0KICAgICBMYXlvdXRSZWN0IHBhZGRpbmdC
b3hSZWN0KCkgY29uc3Q7CiAgICAgTGF5b3V0UmVjdCBwYWRkaW5nQm94UmVjdEluY2x1ZGluZ1Nj
cm9sbGJhcigpIGNvbnN0IHsgcmV0dXJuIExheW91dFJlY3QoYm9yZGVyTGVmdCgpLCBib3JkZXJU
b3AoKSwgd2lkdGgoKSAtIGJvcmRlckxlZnQoKSAtIGJvcmRlclJpZ2h0KCksIGhlaWdodCgpIC0g
Ym9yZGVyVG9wKCkgLSBib3JkZXJCb3R0b20oKSk7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJSZXBsYWNlZC5jcHAKaW5kZXggMzM4YzMyM2NjODNjZThkNWNiZTY2Zjc5NWM5
YTRiMzIxMmQ0ODZkMi4uM2I1MjVmNGJiYmRiNGQwMTI4YjMyMGFjNDU1MGQyOTMxYzI1NTczZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwCkBAIC00NTgs
NyArNDU4LDcgQEAgTGF5b3V0VW5pdCBSZW5kZXJSZXBsYWNlZDo6Y29tcHV0ZUNvbnN0cmFpbmVk
TG9naWNhbFdpZHRoKFNob3VsZENvbXB1dGVQcmVmZXJyZWQKICAgICAvLyBUaGlzIHNvbHZlcyBh
Ym92ZSBlcXVhdGlvbiBmb3IgJ3dpZHRoJyAoPT0gbG9naWNhbFdpZHRoKS4KICAgICBMYXlvdXRV
bml0IG1hcmdpblN0YXJ0ID0gbWluaW11bVZhbHVlRm9yTGVuZ3RoKHN0eWxlKCkubWFyZ2luU3Rh
cnQoKSwgbG9naWNhbFdpZHRoKTsKICAgICBMYXlvdXRVbml0IG1hcmdpbkVuZCA9IG1pbmltdW1W
YWx1ZUZvckxlbmd0aChzdHlsZSgpLm1hcmdpbkVuZCgpLCBsb2dpY2FsV2lkdGgpOwotICAgIGxv
Z2ljYWxXaWR0aCA9IHN0ZDo6bWF4KDBfbHUsIChsb2dpY2FsV2lkdGggLSAobWFyZ2luU3RhcnQg
KyBtYXJnaW5FbmQgKyAoc2l6ZSgpLndpZHRoKCkgLSBjbGllbnRXaWR0aCgpKSkpKTsKKyAgICBs
b2dpY2FsV2lkdGggPSBzdGQ6Om1heCgwX2x1LCAobG9naWNhbFdpZHRoIC0gKG1hcmdpblN0YXJ0
ICsgbWFyZ2luRW5kICsgYm9yZGVyTGVmdCgpICsgYm9yZGVyUmlnaHQoKSArIHZlcnRpY2FsU2Ny
b2xsYmFyV2lkdGgoKSkpKTsKICAgICByZXR1cm4gY29tcHV0ZVJlcGxhY2VkTG9naWNhbFdpZHRo
UmVzcGVjdGluZ01pbk1heFdpZHRoKGxvZ2ljYWxXaWR0aCwgc2hvdWxkQ29tcHV0ZVByZWZlcnJl
ZCk7CiB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwppbmRleCA1ZjExODkyOGZlZWY4MmZkOWZkOWIyY2IxOWQ4OWUxNDc0OTVjMTNk
Li5jNTViNDliZDk0NzIyY2ZhZWM4OWM4MDg0MmEwZThlZjI4ODhiNmQ4IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTQgQEAKKzIwMjAtMDEtMTUgIFN1bm55IEhlICA8c3VubnlfaGVAYXBwbGUuY29tPgorCisg
ICAgICAgIENsYW1wIHBhZGRpbmdCb3hXaWR0aC9IZWlnaHQgdG8gYSBtaW5pbXVtIG9mIHplcm8K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNjMxNwor
ICAgICAgICByZGFyOi8vNTcxMDIwMTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIGZhc3QvbXVsdGljb2wvY3Jhc2gtbmVnYXRpdmUtcGFkZGluZ0Jv
eFdpZHRoLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9tdWx0aWNvbC9jcmFz
aC1uZWdhdGl2ZS1wYWRkaW5nQm94V2lkdGguaHRtbDogQWRkZWQuCisKIDIwMjAtMDEtMTUgIENv
bW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3
ZWQsIHJvbGxpbmcgb3V0IHIyNTQ1NzYuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRl
eCBlNjAxMTE4MjJlYjNlYjRhNGZlM2E4Y2ViMTVjY2Y2MTU4NjdhYTFkLi45MGViMjAwMjI4ZGYx
NzU0ZGRhNzI3OGE3MTQ1Nzc1OTk4ZDkwZDQ3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwyNiBAQAorMjAyMC0wMS0yMyAgU3VubnkgSGUgIDxzdW5ueV9oZUBhcHBs
ZS5jb20+CisKKyAgICAgICAgQ2xhbXAgcGFkZGluZ0JveFdpZHRoL0hlaWdodCB0byBhIG1pbmlt
dW0gb2YgemVybworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjA2MzE3CisgICAgICAgIHJkYXI6Ly81NzEwMjAxMAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNvdXJjZS9XZWJDb3JlOgorCisgICAgICAgIFRl
c3Q6IGZhc3QvbXVsdGljb2wvY3Jhc2gtbmVnYXRpdmUtcGFkZGluZ0JveFdpZHRoLmh0bWwKKwor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3guaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckJveDo6cGFkZGluZ0JveFdpZHRoIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJv
eDo6cGFkZGluZ0JveEhlaWdodCBjb25zdCk6CisKKyAgICAgICAgTGF5b3V0VGVzdHM6CisKKyAg
ICAgICAgKiBmYXN0L211bHRpY29sL2NyYXNoLW5lZ2F0aXZlLXBhZGRpbmdCb3hXaWR0aC1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvbXVsdGljb2wvY3Jhc2gtbmVnYXRpdmUt
cGFkZGluZ0JveFdpZHRoLmh0bWw6IEFkZGVkLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3NvbS12aWV3L3Njcm9sbExlZnQtb2Ytc2Nyb2xsZXItd2l0aC13aWRlci1zY3Jv
bGxiYXItZXhwZWN0ZWQudHh0OgorCiAyMDIwLTAxLTE1ICBPcmlvbCBCcnVmYXUgIDxvYnJ1ZmF1
QGlnYWxpYS5jb20+CiAKICAgICAgICAgW2Nzcy1ncmlkXSBFeGNsdWRlIGltcGxpY2l0IGdyaWQg
dHJhY2tzIGZyb20gdGhlIHJlc29sdmVkIHZhbHVlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L211bHRpY29sL2NyYXNoLW5lZ2F0aXZlLXBhZGRpbmdCb3hXaWR0aC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9mYXN0L211bHRpY29sL2NyYXNoLW5lZ2F0aXZlLXBhZGRpbmdCb3hXaWR0
aC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjFjYjY1ZWE5OTIxYmQ4MzI5YzU5NDJmNWEwNmNi
Yjg2M2NmZDBmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbXVsdGljb2wv
Y3Jhc2gtbmVnYXRpdmUtcGFkZGluZ0JveFdpZHRoLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQg
QEAKKworQ2hlY2sgdGhhdCBpbnRlcmFjdGlvbnMgYmV0d2VlbiBjb2x1bW4gZ2FwLCB3aWR0aCwg
YW5kIHNjcm9sbGJhciB3aWR0aCBkb24ndCBjYXVzZSBjcmFzaGVzLgorCitQQVNTCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L211bHRpY29sL2NyYXNoLW5lZ2F0aXZlLXBhZGRpbmdCb3hX
aWR0aC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9tdWx0aWNvbC9jcmFzaC1uZWdhdGl2ZS1wYWRk
aW5nQm94V2lkdGguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45MDk1NmRiMmQ0OTMwMjM0MDUwODk2OWJiZTA1
ZThhMDRkMDRjMjY4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tdWx0aWNv
bC9jcmFzaC1uZWdhdGl2ZS1wYWRkaW5nQm94V2lkdGguaHRtbApAQCAtMCwwICsxLDE0IEBACis8
aHRtbD4KKyAgICA8c3R5bGU+CisgICAgKiB7IHdpZHRoOiAyNSU7IGdyaWQtZ2FwOiA0MCU7IGNv
bHVtbnM6IDZweDt9CisgICAgPC9zdHlsZT4KKyAgICA8c2NyaXB0PgorICAgICAgICBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAg
ICA8L3NjcmlwdD4KKyAgICA8Ym9keT4KKyAgICAgICAgPHRleHRhcmVhPkE8L3RleHRhcmVhPgor
ICAgICAgICA8cD5DaGVjayB0aGF0IGludGVyYWN0aW9ucyBiZXR3ZWVuIGNvbHVtbiBnYXAsIHdp
ZHRoLCBhbmQgc2Nyb2xsYmFyIHdpZHRoIGRvbid0IGNhdXNlIGNyYXNoZXMuPC9wPgorICAgIFBB
U1MKKyAgICA8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3Nzb20tdmlldy9zY3JvbGxMZWZ0LW9mLXNjcm9sbGVyLXdpdGgtd2lkZXItc2Nyb2xsYmFyLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzc29tLXZpZXcvc2Nyb2xsTGVmdC1vZi1zY3JvbGxlci13aXRoLXdpZGVyLXNjcm9sbGJh
ci1leHBlY3RlZC50eHQKaW5kZXggMzIwMGNmNzZhMDhkYWVkNDExNjQ4YjY2ZjdkZmEwMTQ2ZjQ5
NzNlMC4uMDAyZmZiZTJhZjc2NDU3OWU2ODU3OTk4NmMxOGU3NjJmNjI5NWQ5YSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20t
dmlldy9zY3JvbGxMZWZ0LW9mLXNjcm9sbGVyLXdpdGgtd2lkZXItc2Nyb2xsYmFyLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3NvbS12aWV3L3Njcm9sbExlZnQtb2Ytc2Nyb2xsZXItd2l0aC13aWRlci1zY3JvbGxiYXIt
ZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1GQUlMIFRlc3QgdGhlIG1heG1pdW0gdmFs
dWUgb2Ygc2Nyb2xsTGVmdCBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxMDAgYnV0IGdvdCAxMTAK
K1BBU1MgVGVzdCB0aGUgbWF4bWl1bSB2YWx1ZSBvZiBzY3JvbGxMZWZ0IAogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>389189</attachid>
            <date>2020-01-29 14:42:59 -0800</date>
            <delta_ts>2020-01-29 16:50:16 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206317-20200129144259.patch</filename>
            <type>text/plain</type>
            <size>3467</size>
            <attacher name="Sunny He">sunny_he</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU1MzgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjAzYjg3NDlmZjk3Njk5
NmYzY2RjMTE3ZTI1MjUxMTAwMjNlYWEyNS4uOWFhZjk1NjQ5MDRiYTI5OTg0MmI5MTM3ZGQyNmM4
ZmQyOTM0NzAyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIwLTAxLTE1ICBTdW5u
eSBIZSAgPHN1bm55X2hlQGFwcGxlLmNvbT4KKworICAgICAgICBDbGFtcCBwYWRkaW5nQm94V2lk
dGgvSGVpZ2h0IHRvIGEgbWluaW11bSBvZiB6ZXJvCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDYzMTcKKyAgICAgICAgcmRhcjovLzU3MTAyMDEwCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogZmFz
dC9tdWx0aWNvbC9jcmFzaC1uZWdhdGl2ZS1wYWRkaW5nQm94V2lkdGguaHRtbAorCisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckJveC5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94Ojpw
YWRkaW5nQm94V2lkdGggY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94OjpwYWRk
aW5nQm94SGVpZ2h0IGNvbnN0KToKKwogMjAyMC0wMS0yOCAgQW50b2luZSBRdWludCAgPGdyYW91
dHNAYXBwbGUuY29tPgogCiAgICAgICAgIFtXZWIgQW5pbWF0aW9uc10gQW5pbWF0aW9ucyBzaG91
bGQgcnVuIGFjY2VsZXJhdGVkIGV2ZW4gaWYgb3RoZXIgYW5pbWF0aW9ucyB0YXJnZXRpbmcgdGhl
IHNhbWUgZWxlbWVudCBhcmUgbm90IGFjY2VsZXJhdGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQm94LmgKaW5kZXggNDk1NDgxNDA1NGE2MDE3MTA4ZDY1NDkxOTUyYTM1YWY4YzJlMzAyYi4u
OTIwMjc2ZDg1MDA2OWNlOTU4YmI1YTA4YjMxZWE5MjIzYjRjNzQ2MSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJCb3guaApAQCAtMjE3LDggKzIxNyw4IEBAIHB1YmxpYzoKICAgICBMYXlv
dXRVbml0IGNvbnRlbnRMb2dpY2FsV2lkdGgoKSBjb25zdCB7IHJldHVybiBzdHlsZSgpLmlzSG9y
aXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBjb250ZW50V2lkdGgoKSA6IGNvbnRlbnRIZWlnaHQoKTsg
fQogICAgIExheW91dFVuaXQgY29udGVudExvZ2ljYWxIZWlnaHQoKSBjb25zdCB7IHJldHVybiBz
dHlsZSgpLmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBjb250ZW50SGVpZ2h0KCkgOiBjb250
ZW50V2lkdGgoKTsgfQogCi0gICAgTGF5b3V0VW5pdCBwYWRkaW5nQm94V2lkdGgoKSBjb25zdCB7
IHJldHVybiB3aWR0aCgpIC0gYm9yZGVyTGVmdCgpIC0gYm9yZGVyUmlnaHQoKSAtIHZlcnRpY2Fs
U2Nyb2xsYmFyV2lkdGgoKTsgfQotICAgIExheW91dFVuaXQgcGFkZGluZ0JveEhlaWdodCgpIGNv
bnN0IHsgcmV0dXJuIGhlaWdodCgpIC0gYm9yZGVyVG9wKCkgLSBib3JkZXJCb3R0b20oKSAtIGhv
cml6b250YWxTY3JvbGxiYXJIZWlnaHQoKTsgfQorICAgIExheW91dFVuaXQgcGFkZGluZ0JveFdp
ZHRoKCkgY29uc3QgeyByZXR1cm4gc3RkOjptYXgoMF9sdSwgd2lkdGgoKSAtIGJvcmRlckxlZnQo
KSAtIGJvcmRlclJpZ2h0KCkgLSB2ZXJ0aWNhbFNjcm9sbGJhcldpZHRoKCkpOyB9CisgICAgTGF5
b3V0VW5pdCBwYWRkaW5nQm94SGVpZ2h0KCkgY29uc3QgeyByZXR1cm4gc3RkOjptYXgoMF9sdSwg
aGVpZ2h0KCkgLSBib3JkZXJUb3AoKSAtIGJvcmRlckJvdHRvbSgpIC0gaG9yaXpvbnRhbFNjcm9s
bGJhckhlaWdodCgpKTsgfQogICAgIExheW91dFJlY3QgcGFkZGluZ0JveFJlY3QoKSBjb25zdDsK
ICAgICBMYXlvdXRSZWN0IHBhZGRpbmdCb3hSZWN0SW5jbHVkaW5nU2Nyb2xsYmFyKCkgY29uc3Qg
eyByZXR1cm4gTGF5b3V0UmVjdChib3JkZXJMZWZ0KCksIGJvcmRlclRvcCgpLCB3aWR0aCgpIC0g
Ym9yZGVyTGVmdCgpIC0gYm9yZGVyUmlnaHQoKSwgaGVpZ2h0KCkgLSBib3JkZXJUb3AoKSAtIGJv
cmRlckJvdHRvbSgpKTsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyUmVwbGFjZWQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxh
Y2VkLmNwcAppbmRleCBmNDcxOTAwYTI3NTA2ZTkzZmZhNGQ3MDFmNmNlNTdhMTdjYjMxZGU2Li45
NmFmODIzMzU2NjliYmJmYjkxYTIzOWVhOGExY2ZlN2U1NTA5OWFkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHAKQEAgLTQ3OSw4ICs0NzksMTEgQEAgTGF5
b3V0VW5pdCBSZW5kZXJSZXBsYWNlZDo6Y29tcHV0ZUNvbnN0cmFpbmVkTG9naWNhbFdpZHRoKFNo
b3VsZENvbXB1dGVQcmVmZXJyZWQKICAgICAKICAgICAvLyBUaGlzIHNvbHZlcyBhYm92ZSBlcXVh
dGlvbiBmb3IgJ3dpZHRoJyAoPT0gbG9naWNhbFdpZHRoKS4KICAgICBMYXlvdXRVbml0IG1hcmdp
blN0YXJ0ID0gbWluaW11bVZhbHVlRm9yTGVuZ3RoKHN0eWxlKCkubWFyZ2luU3RhcnQoKSwgbG9n
aWNhbFdpZHRoKTsKLSAgICBMYXlvdXRVbml0IG1hcmdpbkVuZCA9IG1pbmltdW1WYWx1ZUZvckxl
bmd0aChzdHlsZSgpLm1hcmdpbkVuZCgpLCBsb2dpY2FsV2lkdGgpOwotICAgIGxvZ2ljYWxXaWR0
aCA9IHN0ZDo6bWF4KDBfbHUsIChsb2dpY2FsV2lkdGggLSAobWFyZ2luU3RhcnQgKyBtYXJnaW5F
bmQgKyAoc2l6ZSgpLndpZHRoKCkgLSBjbGllbnRXaWR0aCgpKSkpKTsKKyAgICBMYXlvdXRVbml0
IG1hcmdpbkVuZCA9IG1pbmltdW1WYWx1ZUZvckxlbmd0aChzdHlsZSgpLm1hcmdpbkVuZCgpLCBs
b2dpY2FsV2lkdGgpOyAKKyAgICBMYXlvdXRVbml0IHBhZGRpbmdMZWZ0ID0gbWluaW11bVZhbHVl
Rm9yTGVuZ3RoKHN0eWxlKCkucGFkZGluZ0xlZnQoKSwgbG9naWNhbFdpZHRoKTsgCisgICAgTGF5
b3V0VW5pdCBwYWRkaW5nUmlnaHQgPSBtaW5pbXVtVmFsdWVGb3JMZW5ndGgoc3R5bGUoKS5wYWRk
aW5nUmlnaHQoKSwgbG9naWNhbFdpZHRoKTsgCisKKyAgICBsb2dpY2FsV2lkdGggPSBzdGQ6Om1h
eCgwX2x1LCAobG9naWNhbFdpZHRoIC0gKG1hcmdpblN0YXJ0ICsgbWFyZ2luRW5kICsgYm9yZGVy
TGVmdCgpICsgYm9yZGVyUmlnaHQoKSArIHBhZGRpbmdMZWZ0ICsgcGFkZGluZ1JpZ2h0KSkpOwog
ICAgIHJldHVybiBjb21wdXRlUmVwbGFjZWRMb2dpY2FsV2lkdGhSZXNwZWN0aW5nTWluTWF4V2lk
dGgobG9naWNhbFdpZHRoLCBzaG91bGRDb21wdXRlUHJlZmVycmVkKTsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>389201</attachid>
            <date>2020-01-29 16:50:18 -0800</date>
            <delta_ts>2020-01-29 17:40:34 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206317-20200129165018.patch</filename>
            <type>text/plain</type>
            <size>3394</size>
            <attacher name="Sunny He">sunny_he</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU1MzgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjAzYjg3NDlmZjk3Njk5
NmYzY2RjMTE3ZTI1MjUxMTAwMjNlYWEyNS4uOWFhZjk1NjQ5MDRiYTI5OTg0MmI5MTM3ZGQyNmM4
ZmQyOTM0NzAyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIwLTAxLTE1ICBTdW5u
eSBIZSAgPHN1bm55X2hlQGFwcGxlLmNvbT4KKworICAgICAgICBDbGFtcCBwYWRkaW5nQm94V2lk
dGgvSGVpZ2h0IHRvIGEgbWluaW11bSBvZiB6ZXJvCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDYzMTcKKyAgICAgICAgcmRhcjovLzU3MTAyMDEwCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogZmFz
dC9tdWx0aWNvbC9jcmFzaC1uZWdhdGl2ZS1wYWRkaW5nQm94V2lkdGguaHRtbAorCisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckJveC5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94Ojpw
YWRkaW5nQm94V2lkdGggY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94OjpwYWRk
aW5nQm94SGVpZ2h0IGNvbnN0KToKKwogMjAyMC0wMS0yOCAgQW50b2luZSBRdWludCAgPGdyYW91
dHNAYXBwbGUuY29tPgogCiAgICAgICAgIFtXZWIgQW5pbWF0aW9uc10gQW5pbWF0aW9ucyBzaG91
bGQgcnVuIGFjY2VsZXJhdGVkIGV2ZW4gaWYgb3RoZXIgYW5pbWF0aW9ucyB0YXJnZXRpbmcgdGhl
IHNhbWUgZWxlbWVudCBhcmUgbm90IGFjY2VsZXJhdGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQm94LmgKaW5kZXggNDk1NDgxNDA1NGE2MDE3MTA4ZDY1NDkxOTUyYTM1YWY4YzJlMzAyYi4u
OTIwMjc2ZDg1MDA2OWNlOTU4YmI1YTA4YjMxZWE5MjIzYjRjNzQ2MSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJCb3guaApAQCAtMjE3LDggKzIxNyw4IEBAIHB1YmxpYzoKICAgICBMYXlv
dXRVbml0IGNvbnRlbnRMb2dpY2FsV2lkdGgoKSBjb25zdCB7IHJldHVybiBzdHlsZSgpLmlzSG9y
aXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBjb250ZW50V2lkdGgoKSA6IGNvbnRlbnRIZWlnaHQoKTsg
fQogICAgIExheW91dFVuaXQgY29udGVudExvZ2ljYWxIZWlnaHQoKSBjb25zdCB7IHJldHVybiBz
dHlsZSgpLmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBjb250ZW50SGVpZ2h0KCkgOiBjb250
ZW50V2lkdGgoKTsgfQogCi0gICAgTGF5b3V0VW5pdCBwYWRkaW5nQm94V2lkdGgoKSBjb25zdCB7
IHJldHVybiB3aWR0aCgpIC0gYm9yZGVyTGVmdCgpIC0gYm9yZGVyUmlnaHQoKSAtIHZlcnRpY2Fs
U2Nyb2xsYmFyV2lkdGgoKTsgfQotICAgIExheW91dFVuaXQgcGFkZGluZ0JveEhlaWdodCgpIGNv
bnN0IHsgcmV0dXJuIGhlaWdodCgpIC0gYm9yZGVyVG9wKCkgLSBib3JkZXJCb3R0b20oKSAtIGhv
cml6b250YWxTY3JvbGxiYXJIZWlnaHQoKTsgfQorICAgIExheW91dFVuaXQgcGFkZGluZ0JveFdp
ZHRoKCkgY29uc3QgeyByZXR1cm4gc3RkOjptYXgoMF9sdSwgd2lkdGgoKSAtIGJvcmRlckxlZnQo
KSAtIGJvcmRlclJpZ2h0KCkgLSB2ZXJ0aWNhbFNjcm9sbGJhcldpZHRoKCkpOyB9CisgICAgTGF5
b3V0VW5pdCBwYWRkaW5nQm94SGVpZ2h0KCkgY29uc3QgeyByZXR1cm4gc3RkOjptYXgoMF9sdSwg
aGVpZ2h0KCkgLSBib3JkZXJUb3AoKSAtIGJvcmRlckJvdHRvbSgpIC0gaG9yaXpvbnRhbFNjcm9s
bGJhckhlaWdodCgpKTsgfQogICAgIExheW91dFJlY3QgcGFkZGluZ0JveFJlY3QoKSBjb25zdDsK
ICAgICBMYXlvdXRSZWN0IHBhZGRpbmdCb3hSZWN0SW5jbHVkaW5nU2Nyb2xsYmFyKCkgY29uc3Qg
eyByZXR1cm4gTGF5b3V0UmVjdChib3JkZXJMZWZ0KCksIGJvcmRlclRvcCgpLCB3aWR0aCgpIC0g
Ym9yZGVyTGVmdCgpIC0gYm9yZGVyUmlnaHQoKSwgaGVpZ2h0KCkgLSBib3JkZXJUb3AoKSAtIGJv
cmRlckJvdHRvbSgpKTsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyUmVwbGFjZWQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxh
Y2VkLmNwcAppbmRleCBmNDcxOTAwYTI3NTA2ZTkzZmZhNGQ3MDFmNmNlNTdhMTdjYjMxZGU2Li5i
ZWNjZDM5YzkzZWE2MTg1ZGViNzQ0MGI4NTg3ZTk5ODI0NWEyODRhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHAKQEAgLTQ3OSw4ICs0NzksMTAgQEAgTGF5
b3V0VW5pdCBSZW5kZXJSZXBsYWNlZDo6Y29tcHV0ZUNvbnN0cmFpbmVkTG9naWNhbFdpZHRoKFNo
b3VsZENvbXB1dGVQcmVmZXJyZWQKICAgICAKICAgICAvLyBUaGlzIHNvbHZlcyBhYm92ZSBlcXVh
dGlvbiBmb3IgJ3dpZHRoJyAoPT0gbG9naWNhbFdpZHRoKS4KICAgICBMYXlvdXRVbml0IG1hcmdp
blN0YXJ0ID0gbWluaW11bVZhbHVlRm9yTGVuZ3RoKHN0eWxlKCkubWFyZ2luU3RhcnQoKSwgbG9n
aWNhbFdpZHRoKTsKLSAgICBMYXlvdXRVbml0IG1hcmdpbkVuZCA9IG1pbmltdW1WYWx1ZUZvckxl
bmd0aChzdHlsZSgpLm1hcmdpbkVuZCgpLCBsb2dpY2FsV2lkdGgpOwotICAgIGxvZ2ljYWxXaWR0
aCA9IHN0ZDo6bWF4KDBfbHUsIChsb2dpY2FsV2lkdGggLSAobWFyZ2luU3RhcnQgKyBtYXJnaW5F
bmQgKyAoc2l6ZSgpLndpZHRoKCkgLSBjbGllbnRXaWR0aCgpKSkpKTsKKyAgICBMYXlvdXRVbml0
IG1hcmdpbkVuZCA9IG1pbmltdW1WYWx1ZUZvckxlbmd0aChzdHlsZSgpLm1hcmdpbkVuZCgpLCBs
b2dpY2FsV2lkdGgpOyAKKworICAgIC8vIEZJWE1FOiBUaGlzIGV4cHJlc3Npb24gZG9lcyBub3Qg
YWxpZ24gd2l0aCB0aGUgY29tbWVudCBhYm92ZSwgd2hpY2ggaXMgcXVvdGluZyBodHRwczovL3d3
dy53My5vcmcvVFIvQ1NTMjIvdmlzdWRldC5odG1sI2Jsb2Nrd2lkdGguCisgICAgbG9naWNhbFdp
ZHRoID0gc3RkOjptYXgoMF9sdSwgKGxvZ2ljYWxXaWR0aCAtIChtYXJnaW5TdGFydCArIG1hcmdp
bkVuZCArIGJvcmRlckxlZnQoKSArIGJvcmRlclJpZ2h0KCkpKSk7CiAgICAgcmV0dXJuIGNvbXB1
dGVSZXBsYWNlZExvZ2ljYWxXaWR0aFJlc3BlY3RpbmdNaW5NYXhXaWR0aChsb2dpY2FsV2lkdGgs
IHNob3VsZENvbXB1dGVQcmVmZXJyZWQpOwogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>389207</attachid>
            <date>2020-01-29 17:40:36 -0800</date>
            <delta_ts>2020-01-29 20:13:02 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206317-20200129174035.patch</filename>
            <type>text/plain</type>
            <size>7266</size>
            <attacher name="Sunny He">sunny_he</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU1MzgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjAzYjg3NDlmZjk3Njk5
NmYzY2RjMTE3ZTI1MjUxMTAwMjNlYWEyNS4uOWFhZjk1NjQ5MDRiYTI5OTg0MmI5MTM3ZGQyNmM4
ZmQyOTM0NzAyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIwLTAxLTE1ICBTdW5u
eSBIZSAgPHN1bm55X2hlQGFwcGxlLmNvbT4KKworICAgICAgICBDbGFtcCBwYWRkaW5nQm94V2lk
dGgvSGVpZ2h0IHRvIGEgbWluaW11bSBvZiB6ZXJvCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDYzMTcKKyAgICAgICAgcmRhcjovLzU3MTAyMDEwCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogZmFz
dC9tdWx0aWNvbC9jcmFzaC1uZWdhdGl2ZS1wYWRkaW5nQm94V2lkdGguaHRtbAorCisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckJveC5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94Ojpw
YWRkaW5nQm94V2lkdGggY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94OjpwYWRk
aW5nQm94SGVpZ2h0IGNvbnN0KToKKwogMjAyMC0wMS0yOCAgQW50b2luZSBRdWludCAgPGdyYW91
dHNAYXBwbGUuY29tPgogCiAgICAgICAgIFtXZWIgQW5pbWF0aW9uc10gQW5pbWF0aW9ucyBzaG91
bGQgcnVuIGFjY2VsZXJhdGVkIGV2ZW4gaWYgb3RoZXIgYW5pbWF0aW9ucyB0YXJnZXRpbmcgdGhl
IHNhbWUgZWxlbWVudCBhcmUgbm90IGFjY2VsZXJhdGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQm94LmgKaW5kZXggNDk1NDgxNDA1NGE2MDE3MTA4ZDY1NDkxOTUyYTM1YWY4YzJlMzAyYi4u
OTIwMjc2ZDg1MDA2OWNlOTU4YmI1YTA4YjMxZWE5MjIzYjRjNzQ2MSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJCb3guaApAQCAtMjE3LDggKzIxNyw4IEBAIHB1YmxpYzoKICAgICBMYXlv
dXRVbml0IGNvbnRlbnRMb2dpY2FsV2lkdGgoKSBjb25zdCB7IHJldHVybiBzdHlsZSgpLmlzSG9y
aXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBjb250ZW50V2lkdGgoKSA6IGNvbnRlbnRIZWlnaHQoKTsg
fQogICAgIExheW91dFVuaXQgY29udGVudExvZ2ljYWxIZWlnaHQoKSBjb25zdCB7IHJldHVybiBz
dHlsZSgpLmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBjb250ZW50SGVpZ2h0KCkgOiBjb250
ZW50V2lkdGgoKTsgfQogCi0gICAgTGF5b3V0VW5pdCBwYWRkaW5nQm94V2lkdGgoKSBjb25zdCB7
IHJldHVybiB3aWR0aCgpIC0gYm9yZGVyTGVmdCgpIC0gYm9yZGVyUmlnaHQoKSAtIHZlcnRpY2Fs
U2Nyb2xsYmFyV2lkdGgoKTsgfQotICAgIExheW91dFVuaXQgcGFkZGluZ0JveEhlaWdodCgpIGNv
bnN0IHsgcmV0dXJuIGhlaWdodCgpIC0gYm9yZGVyVG9wKCkgLSBib3JkZXJCb3R0b20oKSAtIGhv
cml6b250YWxTY3JvbGxiYXJIZWlnaHQoKTsgfQorICAgIExheW91dFVuaXQgcGFkZGluZ0JveFdp
ZHRoKCkgY29uc3QgeyByZXR1cm4gc3RkOjptYXgoMF9sdSwgd2lkdGgoKSAtIGJvcmRlckxlZnQo
KSAtIGJvcmRlclJpZ2h0KCkgLSB2ZXJ0aWNhbFNjcm9sbGJhcldpZHRoKCkpOyB9CisgICAgTGF5
b3V0VW5pdCBwYWRkaW5nQm94SGVpZ2h0KCkgY29uc3QgeyByZXR1cm4gc3RkOjptYXgoMF9sdSwg
aGVpZ2h0KCkgLSBib3JkZXJUb3AoKSAtIGJvcmRlckJvdHRvbSgpIC0gaG9yaXpvbnRhbFNjcm9s
bGJhckhlaWdodCgpKTsgfQogICAgIExheW91dFJlY3QgcGFkZGluZ0JveFJlY3QoKSBjb25zdDsK
ICAgICBMYXlvdXRSZWN0IHBhZGRpbmdCb3hSZWN0SW5jbHVkaW5nU2Nyb2xsYmFyKCkgY29uc3Qg
eyByZXR1cm4gTGF5b3V0UmVjdChib3JkZXJMZWZ0KCksIGJvcmRlclRvcCgpLCB3aWR0aCgpIC0g
Ym9yZGVyTGVmdCgpIC0gYm9yZGVyUmlnaHQoKSwgaGVpZ2h0KCkgLSBib3JkZXJUb3AoKSAtIGJv
cmRlckJvdHRvbSgpKTsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyUmVwbGFjZWQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxh
Y2VkLmNwcAppbmRleCBmNDcxOTAwYTI3NTA2ZTkzZmZhNGQ3MDFmNmNlNTdhMTdjYjMxZGU2Li5i
ZWNjZDM5YzkzZWE2MTg1ZGViNzQ0MGI4NTg3ZTk5ODI0NWEyODRhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHAKQEAgLTQ3OSw4ICs0NzksMTAgQEAgTGF5
b3V0VW5pdCBSZW5kZXJSZXBsYWNlZDo6Y29tcHV0ZUNvbnN0cmFpbmVkTG9naWNhbFdpZHRoKFNo
b3VsZENvbXB1dGVQcmVmZXJyZWQKICAgICAKICAgICAvLyBUaGlzIHNvbHZlcyBhYm92ZSBlcXVh
dGlvbiBmb3IgJ3dpZHRoJyAoPT0gbG9naWNhbFdpZHRoKS4KICAgICBMYXlvdXRVbml0IG1hcmdp
blN0YXJ0ID0gbWluaW11bVZhbHVlRm9yTGVuZ3RoKHN0eWxlKCkubWFyZ2luU3RhcnQoKSwgbG9n
aWNhbFdpZHRoKTsKLSAgICBMYXlvdXRVbml0IG1hcmdpbkVuZCA9IG1pbmltdW1WYWx1ZUZvckxl
bmd0aChzdHlsZSgpLm1hcmdpbkVuZCgpLCBsb2dpY2FsV2lkdGgpOwotICAgIGxvZ2ljYWxXaWR0
aCA9IHN0ZDo6bWF4KDBfbHUsIChsb2dpY2FsV2lkdGggLSAobWFyZ2luU3RhcnQgKyBtYXJnaW5F
bmQgKyAoc2l6ZSgpLndpZHRoKCkgLSBjbGllbnRXaWR0aCgpKSkpKTsKKyAgICBMYXlvdXRVbml0
IG1hcmdpbkVuZCA9IG1pbmltdW1WYWx1ZUZvckxlbmd0aChzdHlsZSgpLm1hcmdpbkVuZCgpLCBs
b2dpY2FsV2lkdGgpOyAKKworICAgIC8vIEZJWE1FOiBUaGlzIGV4cHJlc3Npb24gZG9lcyBub3Qg
YWxpZ24gd2l0aCB0aGUgY29tbWVudCBhYm92ZSwgd2hpY2ggaXMgcXVvdGluZyBodHRwczovL3d3
dy53My5vcmcvVFIvQ1NTMjIvdmlzdWRldC5odG1sI2Jsb2Nrd2lkdGguCisgICAgbG9naWNhbFdp
ZHRoID0gc3RkOjptYXgoMF9sdSwgKGxvZ2ljYWxXaWR0aCAtIChtYXJnaW5TdGFydCArIG1hcmdp
bkVuZCArIGJvcmRlckxlZnQoKSArIGJvcmRlclJpZ2h0KCkpKSk7CiAgICAgcmV0dXJuIGNvbXB1
dGVSZXBsYWNlZExvZ2ljYWxXaWR0aFJlc3BlY3RpbmdNaW5NYXhXaWR0aChsb2dpY2FsV2lkdGgs
IHNob3VsZENvbXB1dGVQcmVmZXJyZWQpOwogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZDQ1YTQyMGJjNTYzMzNjMjZi
MzM3Nzc4NTg0MmZkNTJkMDE4NGY2Yi4uYWFlOTAyOTgwY2FlNTllYjNlYTNkYmI5NTg1ZDEyZWYz
YzVmN2JmNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIwLTAxLTE1ICBTdW5ueSBIZSAgPHN1
bm55X2hlQGFwcGxlLmNvbT4KKworICAgICAgICBDbGFtcCBwYWRkaW5nQm94V2lkdGgvSGVpZ2h0
IHRvIGEgbWluaW11bSBvZiB6ZXJvCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMDYzMTcKKyAgICAgICAgcmRhcjovLzU3MTAyMDEwCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L211bHRpY29sL2Ny
YXNoLW5lZ2F0aXZlLXBhZGRpbmdCb3hXaWR0aC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvbXVsdGljb2wvY3Jhc2gtbmVnYXRpdmUtcGFkZGluZ0JveFdpZHRoLmh0bWw6IEFk
ZGVkLgorCiAyMDIwLTAxLTI4ICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CiAK
ICAgICAgICAgW1dlYiBBbmltYXRpb25zXSBBbmltYXRpb25zIHNob3VsZCBydW4gYWNjZWxlcmF0
ZWQgZXZlbiBpZiBvdGhlciBhbmltYXRpb25zIHRhcmdldGluZyB0aGUgc2FtZSBlbGVtZW50IGFy
ZSBub3QgYWNjZWxlcmF0ZWQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDU2ZjBm
ODk4M2M3YjBmMGYyZTkwOWNjMDIwNjlkZGE3NWFmYjU4ZjMuLjEyMTBiYzliYWIxZmVkZjA5YTU3
MTZiMjMxY2JhMTY3YzAwZjk4MWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDI2IEBACisyMDIwLTAxLTIzICBTdW5ueSBIZSAgPHN1bm55X2hlQGFwcGxlLmNvbT4K
KworICAgICAgICBDbGFtcCBwYWRkaW5nQm94V2lkdGgvSGVpZ2h0IHRvIGEgbWluaW11bSBvZiB6
ZXJvCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDYz
MTcKKyAgICAgICAgcmRhcjovLzU3MTAyMDEwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgU291cmNlL1dlYkNvcmU6CisKKyAgICAgICAgVGVzdDogZmFz
dC9tdWx0aWNvbC9jcmFzaC1uZWdhdGl2ZS1wYWRkaW5nQm94V2lkdGguaHRtbAorCisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckJveC5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94Ojpw
YWRkaW5nQm94V2lkdGggY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94OjpwYWRk
aW5nQm94SGVpZ2h0IGNvbnN0KToKKworICAgICAgICBMYXlvdXRUZXN0czoKKworICAgICAgICAq
IGZhc3QvbXVsdGljb2wvY3Jhc2gtbmVnYXRpdmUtcGFkZGluZ0JveFdpZHRoLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZmFzdC9tdWx0aWNvbC9jcmFzaC1uZWdhdGl2ZS1wYWRkaW5n
Qm94V2lkdGguaHRtbDogQWRkZWQuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzc29tLXZpZXcvc2Nyb2xsTGVmdC1vZi1zY3JvbGxlci13aXRoLXdpZGVyLXNjcm9sbGJhci1l
eHBlY3RlZC50eHQ6CisKIDIwMjAtMDEtMjkgIENhcmxvcyBBbGJlcnRvIExvcGV6IFBlcmV6ICA8
Y2xvcGV6QGlnYWxpYS5jb20+CiAKICAgICAgICAgW0NTUyBGb250c10gSW1wb3J0IGNzcy1mb250
cyBXUFQgdGVzdHMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbXVsdGljb2wvY3Jhc2gt
bmVnYXRpdmUtcGFkZGluZ0JveFdpZHRoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qv
bXVsdGljb2wvY3Jhc2gtbmVnYXRpdmUtcGFkZGluZ0JveFdpZHRoLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi42MWNiNjVlYTk5MjFiZDgzMjljNTk0MmY1YTA2Y2JiODYzY2ZkMGY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tdWx0aWNvbC9jcmFzaC1uZWdhdGl2ZS1wYWRk
aW5nQm94V2lkdGgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorCitDaGVjayB0aGF0IGlu
dGVyYWN0aW9ucyBiZXR3ZWVuIGNvbHVtbiBnYXAsIHdpZHRoLCBhbmQgc2Nyb2xsYmFyIHdpZHRo
IGRvbid0IGNhdXNlIGNyYXNoZXMuCisKK1BBU1MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvbXVsdGljb2wvY3Jhc2gtbmVnYXRpdmUtcGFkZGluZ0JveFdpZHRoLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L211bHRpY29sL2NyYXNoLW5lZ2F0aXZlLXBhZGRpbmdCb3hXaWR0aC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjkwOTU2ZGIyZDQ5MzAyMzQwNTA4OTY5YmJlMDVlOGEwNGQwNGMyNjgKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L211bHRpY29sL2NyYXNoLW5lZ2F0aXZlLXBh
ZGRpbmdCb3hXaWR0aC5odG1sCkBAIC0wLDAgKzEsMTQgQEAKKzxodG1sPgorICAgIDxzdHlsZT4K
KyAgICAqIHsgd2lkdGg6IDI1JTsgZ3JpZC1nYXA6IDQwJTsgY29sdW1uczogNnB4O30KKyAgICA8
L3N0eWxlPgorICAgIDxzY3JpcHQ+CisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgIDwvc2NyaXB0PgorICAgIDxi
b2R5PgorICAgICAgICA8dGV4dGFyZWE+QTwvdGV4dGFyZWE+CisgICAgICAgIDxwPkNoZWNrIHRo
YXQgaW50ZXJhY3Rpb25zIGJldHdlZW4gY29sdW1uIGdhcCwgd2lkdGgsIGFuZCBzY3JvbGxiYXIg
d2lkdGggZG9uJ3QgY2F1c2UgY3Jhc2hlcy48L3A+CisgICAgUEFTUworICAgIDwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS12aWV3L3Njcm9sbExl
ZnQtb2Ytc2Nyb2xsZXItd2l0aC13aWRlci1zY3JvbGxiYXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20tdmlldy9zY3Jv
bGxMZWZ0LW9mLXNjcm9sbGVyLXdpdGgtd2lkZXItc2Nyb2xsYmFyLWV4cGVjdGVkLnR4dAppbmRl
eCAzMjAwY2Y3NmEwOGRhZWQ0MTE2NDhiNjZmN2RmYTAxNDZmNDk3M2UwLi4wMDJmZmJlMmFmNzY0
NTc5ZTY4NTc5OTg2YzE4ZTc2MmY2Mjk1ZDlhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS12aWV3L3Njcm9sbExlZnQtb2Yt
c2Nyb2xsZXItd2l0aC13aWRlci1zY3JvbGxiYXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzc29tLXZpZXcvc2Nyb2xs
TGVmdC1vZi1zY3JvbGxlci13aXRoLXdpZGVyLXNjcm9sbGJhci1leHBlY3RlZC50eHQKQEAgLTEs
MyArMSwzIEBACiAKLUZBSUwgVGVzdCB0aGUgbWF4bWl1bSB2YWx1ZSBvZiBzY3JvbGxMZWZ0IGFz
c2VydF9lcXVhbHM6IGV4cGVjdGVkIDEwMCBidXQgZ290IDExMAorUEFTUyBUZXN0IHRoZSBtYXht
aXVtIHZhbHVlIG9mIHNjcm9sbExlZnQgCiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>