<?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>227624</bug_id>
          
          <creation_ts>2021-07-02 07:00:01 -0700</creation_ts>
          <short_desc>REGRESSION (r278377): incorrect hit-testing with clip-path()</short_desc>
          <delta_ts>2021-07-24 22:08:24 -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>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>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=226499</see_also>
          <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="Antoine Quint">graouts</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>changseok</cc>
    
    <cc>christoph-wk</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fred.wang</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>1774444</commentid>
    <comment_count>0</comment_count>
      <attachid>432788</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2021-07-02 07:00:01 -0700</bug_when>
    <thetext>Created attachment 432788
test

The attached test case regressed with r278377 in that the cursor set via CSS on an element with a clip-path and a hierarchy of element with display: flex and clip-path above it fails to show the cursor.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774445</commentid>
    <comment_count>1</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2021-07-02 07:00:29 -0700</bug_when>
    <thetext>&lt;rdar://problem/79845896&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774448</commentid>
    <comment_count>2</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2021-07-02 07:12:14 -0700</bug_when>
    <thetext>The test case shows the intermediate container is the one being hit-tested since the wait cursor is shown when hovering over the black rectangle.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774472</commentid>
    <comment_count>3</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2021-07-02 08:16:39 -0700</bug_when>
    <thetext>We fail this check in Path::contains() under this call stack when consider the RenderLayer for the &quot;leaf&quot; element:

    if (!fastBoundingRect().contains(point))
        return false;

#0	0x000000073c986373 in WebCore::Path::contains(WebCore::FloatPoint const&amp;, WebCore::WindRule) const at WebCore/platform/graphics/cg/PathCG.cpp:227
#1	0x000000073cdca823 in WebCore::RenderBox::hitTestClipPath(WebCore::HitTestLocation const&amp;, WebCore::LayoutPoint const&amp;) const at WebCore/rendering/RenderBox.cpp:1388
#2	0x000000073ceba871 in WebCore::RenderLayer::hitTestLayer(WebCore::RenderLayer*, WebCore::RenderLayer*, WebCore::HitTestRequest const&amp;, WebCore::HitTestResult&amp;, WebCore::LayoutRect const&amp;, WebCore::HitTestLocation const&amp;, bool, WebCore::HitTestingTransformState const*, double*) at WebCore/rendering/RenderLayer.cpp:4122

The provided point is indeed outside of the bounds and seems to be in page coordinates, or at least converted to the coordinates of this element.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774505</commentid>
    <comment_count>4</comment_count>
      <attachid>432805</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-07-02 11:00:30 -0700</bug_when>
    <thetext>Created attachment 432805
More self-explanatory, non-flex testcase</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774554</commentid>
    <comment_count>5</comment_count>
      <attachid>432818</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-07-02 13:41:09 -0700</bug_when>
    <thetext>Created attachment 432818
Another test reduction</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774641</commentid>
    <comment_count>6</comment_count>
      <attachid>432839</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-07-02 20:03:06 -0700</bug_when>
    <thetext>Created attachment 432839
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774673</commentid>
    <comment_count>7</comment_count>
      <attachid>432839</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-07-03 08:49:32 -0700</bug_when>
    <thetext>Comment on attachment 432839
Patch

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

&gt; Source/WebCore/ChangeLog:13
&gt; +        3. The clip-path instersecting takes coordinates relative to the containing block.

&quot;instersecting&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774676</commentid>
    <comment_count>8</comment_count>
      <attachid>432851</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-07-03 09:30:07 -0700</bug_when>
    <thetext>Created attachment 432851
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774683</commentid>
    <comment_count>9</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-07-03 10:27:54 -0700</bug_when>
    <thetext>Committed r279544 (239380@main): &lt;https://commits.webkit.org/239380@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 432851.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1779358</commentid>
    <comment_count>10</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-07-24 22:08:24 -0700</bug_when>
    <thetext>*** Bug 228262 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>432788</attachid>
            <date>2021-07-02 07:00:01 -0700</date>
            <delta_ts>2021-07-02 07:00:01 -0700</delta_ts>
            <desc>test</desc>
            <filename>cursor-clip-path-flex.html</filename>
            <type>text/html</type>
            <size>585</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">PGh0bWw+PGhlYWQ+CjxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KPHRpdGxlPmN1cnNvciwgY2xpcC1w
YXRoIGFuZCBkaXNwbGF5OiBmbGV4PC90aXRsZT4KPHN0eWxlPgoKLnRvcC1jb250YWluZXIgewog
IGRpc3BsYXk6IGZsZXg7CiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsKICBoZWlnaHQ6IDIw
MHB4Owp9CgouaW50ZXJtZWRpYXRlLWNvbnRhaW5lciB7CiAgZGlzcGxheTogZmxleDsKICBoZWln
aHQ6IDIwMHB4OwogIHdpZHRoOiAyMDBweDsKCiAgY2xpcC1wYXRoOiBpbnNldCgwKTsKICBjdXJz
b3I6IHdhaXQ7Cn0KCi5sZWFmIHsKICBiYWNrZ3JvdW5kOiBibGFjazsKICBoZWlnaHQ6IDIwMHB4
OwogIHdpZHRoOiAyMDBweDsKCiAgY2xpcC1wYXRoOiBpbnNldCgwKTsKICBjdXJzb3I6IHBvaW50
ZXI7Cn0KCjwvc3R5bGU+CjwvaGVhZD4KPGJvZHk+CiAgICA8ZGl2IGNsYXNzPSJ0b3AtY29udGFp
bmVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJpbnRlcm1lZGlhdGUtY29udGFpbmVyIj4KICAgICAg
ICAgICAgPGRpdiBjbGFzcz0ibGVhZiI+PC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4K
PC9ib2R5Pgo8L2h0bWw+
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>432805</attachid>
            <date>2021-07-02 11:00:30 -0700</date>
            <delta_ts>2021-07-02 11:00:30 -0700</delta_ts>
            <desc>More self-explanatory, non-flex testcase</desc>
            <filename>clip-path-hit-test.html</filename>
            <type>text/html</type>
            <size>778</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">PGh0bWw+PGhlYWQ+CjxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KPHN0eWxlPgogICAgLnRvcC1jb250
YWluZXIgewogICAgICAgIG1hcmdpbjogMTBweDsKICAgICAgICBwYWRkaW5nOiAyMHB4OwogICAg
ICAgIGJvcmRlcjogMXB4IHNvbGlkIGdyZWVuOwogICAgfQoKICAgIC5pbnRlcm1lZGlhdGUtY29u
dGFpbmVyIHsKICAgICAgICBtYXJnaW46IDEwcHg7CiAgICAgICAgcGFkZGluZzogMTBweDsKICAg
ICAgICBoZWlnaHQ6IDMwMHB4OwogICAgICAgIHdpZHRoOiAyMDBweDsKICAgICAgICBjbGlwLXBh
dGg6IGluc2V0KDApOwogICAgICAgIGJhY2tncm91bmQ6IHNpbHZlcjsKICAgICAgICBjdXJzb3I6
IHdhaXQ7CiAgICB9CgogICAgLmxlYWYgewogICAgICAgIGJhY2tncm91bmQ6IGdyYXk7CiAgICAg
ICAgaGVpZ2h0OiAyMDBweDsKICAgICAgICB3aWR0aDogMjAwcHg7CiAgICAgICAgY2xpcC1wYXRo
OiBpbnNldCgwKTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICB9Cjwvc3R5bGU+CjwvaGVh
ZD4KPGJvZHk+CiAgICA8ZGl2IGNsYXNzPSJ0b3AtY29udGFpbmVyIj4KICAgICAgICA8ZGl2IGNs
YXNzPSJpbnRlcm1lZGlhdGUtY29udGFpbmVyIj4KICAgICAgICAgICAgU2hvdWxkIGdldCBhIHdh
aXQgY3Vyc29yIG92ZXIgdGhpcyBib3guCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxlYWYiPlNo
b3VsZCBnZXQgdGhlIGhhbmQgY3Vyc29yIG92ZXIgYWxsIG9mIHRoaXMgYm94LjwvZGl2PgogICAg
ICAgIDwvZGl2PgogICAgPC9kaXY+CjwvYm9keT4KPC9odG1sPg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>432818</attachid>
            <date>2021-07-02 13:41:09 -0700</date>
            <delta_ts>2021-07-02 13:41:09 -0700</delta_ts>
            <desc>Another test reduction</desc>
            <filename>227624.html</filename>
            <type>text/html</type>
            <size>697</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">PHN0eWxlPgogICAgI3RvcC1jb250YWluZXIgewogICAgICAgIHBhZGRpbmc6IDEwMHB4OwogICAg
fQoKICAgICNpbnRlcm1lZGlhdGUtY29udGFpbmVyIHsKICAgICAgICBoZWlnaHQ6IDQwMHB4Owog
ICAgICAgIHdpZHRoOiA0MDBweDsKICAgICAgICBjbGlwLXBhdGg6IGluc2V0KDApOwogICAgICAg
IGJhY2tncm91bmQ6IGdyZWVuOwogICAgfQoKICAgICNoaXR0ZXN0X2NhbmRpZGF0ZSB7CiAgICAg
ICAgaGVpZ2h0OiAxMDBweDsKICAgICAgICB3aWR0aDogMTAwcHg7CiAgICAgICAgY2xpcC1wYXRo
OiBpbnNldCgwKTsKICAgICAgICBiYWNrZ3JvdW5kOiBibHVlOwogICAgfQo8L3N0eWxlPjxkaXYg
aWQ9dG9wLWNvbnRhaW5lcj48ZGl2IGlkPWludGVybWVkaWF0ZS1jb250YWluZXI+PGRpdiBpZD1o
aXR0ZXN0X2NhbmRpZGF0ZT48L2Rpdj48L2Rpdj48L2Rpdj4KUEFTUyBpZiBlbGVtZW50RnJvbVBv
aW50KGhpdHRlc3RfY2FuZGlkYXRlLm9mZnNldFRvcCwgaGl0dGVzdF9jYW5kaWRhdGUub2Zmc2V0
TGVmdCkgcmV0dXJucyAnaGl0dGVzdF9jYW5kaWRhdGUnLgo8cHJlIGlkPXJlc3VsdD48L3ByZT4K
PHNjcmlwdD4KcmVzdWx0LmlubmVyVGV4dCA9IGRvY3VtZW50LmVsZW1lbnRGcm9tUG9pbnQoaGl0
dGVzdF9jYW5kaWRhdGUub2Zmc2V0VG9wLCBoaXR0ZXN0X2NhbmRpZGF0ZS5vZmZzZXRMZWZ0KS5p
ZDsgCjwvc2NyaXB0Pg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>432839</attachid>
            <date>2021-07-02 20:03:06 -0700</date>
            <delta_ts>2021-07-03 09:30:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227624-20210702200305.patch</filename>
            <type>text/plain</type>
            <size>12017</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5NDk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjQxNjRiMWUzODczNmYw
MTg3NWRjZmQ3YTRjMmVhMjFlZjg1ZDczMy4uNjhmMTVmOGJmZDkwNjEyMjUyY2RhYzE5MWUyODRl
MzMzYTM4MjNiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDIxLTA3LTAyICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OIChyMjc4Mzc3
KTogaW5jb3JyZWN0IGhpdC10ZXN0aW5nIHdpdGggY2xpcC1wYXRoKCkKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzYyNAorICAgICAgICA8cmRhcjov
L3Byb2JsZW0vNzk4NDU4OTY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgVXNlIHRoZSBjb3JyZWN0IGNvb3JkaW5hdGUgc3BhY2UgZm9yIGNsaXAtcGF0
aCBiYXNlZCBoaXR0ZXN0aW5nLgorCisgICAgICAgIDEuIFRoZSBoaXR0ZXN0IGxvY2F0aW9uIGlz
IGluIHRoZSBjb29yZGluYXRlIHNwYWNlIG9mIHRoZSBwYWludGluZyByb290IChoaXR0ZXN0aW5n
IGlzIHNpbWlsYXIgdG8gcGFpbnRpbmcgaW4gdGhpcyBjb250ZXh0KS4KKyAgICAgICAgMi4gUmVu
ZGVyQm94OjpoaXRUZXN0Q2xpcFBhdGgncyBhY2N1bXVsYXRlZE9mZnNldCAoYXMgdGhlIG5hbWUg
aW1wbGllcykgc2hvdWxkIGluY2x1ZGUgdGhlIG9mZnNldCBmcm9tIHRoZSAocGFpbnQpIGhpdHRl
c3Qgcm9vdC4KKyAgICAgICAgMy4gVGhlIGNsaXAtcGF0aCBpbnN0ZXJzZWN0aW5nIHRha2VzIGNv
b3JkaW5hdGVzIHJlbGF0aXZlIHRvIHRoZSBjb250YWluaW5nIGJsb2NrLgorCisgICAgICAgIFRl
c3Q6IGZhc3QvY2xpcC9oaXQtdGVzdC13aXRoLWNsaXAtcGF0aC5odG1sCisKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyQm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6aGl0
VGVzdFZpc3VhbE92ZXJmbG93IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6
aGl0VGVzdENsaXBQYXRoIGNvbnN0KTogTWFrZSB0aGUgaGl0dGVzdCByb290IGNvb3JkaW5hdGVz
IHJlbGF0aXZlIHRvIHRoZSBjb250YWluaW5nIGJsb2NrLiAKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckJveDo6aGl0VGVzdEJvcmRlclJhZGl1cyBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlckJveC5oOiBMZXQncyBub3QgdXNlIGxvY2F0aW9uSW5Db250YWluZXIgbmFtZSBhcyBp
dCBpcyB3YXkgdG9vIGdlbmVyaWMgYW5kIG1pc2xlYWRpbmcuCisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlckxheWVyLmNwcDogQ29tcHV0ZSBhbmQgcGFzcyBpbiBwcm9wZXIgYWNjdW11bGF0ZWQg
b2Zmc2V0IHZhbHVlLiAKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpoaXRUZXN0TGF5
ZXIpOgorCiAyMDIxLTA3LTAxICBKZWFuLVl2ZXMgQXZlbmFyZCAgPGp5YUBhcHBsZS5jb20+CiAK
ICAgICAgICAgW0NvY29hXSBMYXN0IGZldyBzZWNvbmRzIG9mICdhdWRpby93ZWJtOyBjb2RlY3M9
dm9yYmlzJyBhcHBlbmRlZCB0byBhIFNhbXBsZUJ1ZmZlciBhcmUgbm90IHBsYXllZApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAppbmRleCBjYTVhNmMzMzQ4ODk5MmFkZDQ2MjEw
YzdmYTcxYjk4YjA2N2QzZDg3Li42ODliMTdkYzA4MGVlYjU1MGEyYWI3NDg2YmZiODdlYzhjYTk4
NGYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcApAQCAtMTM2MSw3ICsx
MzYxLDcgQEAgTGF5b3V0VW5pdCBSZW5kZXJCb3g6OmFkanVzdENvbnRlbnRCb3hMb2dpY2FsSGVp
Z2h0Rm9yQm94U2l6aW5nKHN0ZDo6b3B0aW9uYWw8TGEKIH0KIAogLy8gSGl0IFRlc3RpbmcKLWJv
b2wgUmVuZGVyQm94OjpoaXRUZXN0VmlzdWFsT3ZlcmZsb3coY29uc3QgSGl0VGVzdExvY2F0aW9u
JiBsb2NhdGlvbkluQ29udGFpbmVyLCBjb25zdCBMYXlvdXRQb2ludCYgYWNjdW11bGF0ZWRPZmZz
ZXQpIGNvbnN0Citib29sIFJlbmRlckJveDo6aGl0VGVzdFZpc3VhbE92ZXJmbG93KGNvbnN0IEhp
dFRlc3RMb2NhdGlvbiYgaGl0VGVzdExvY2F0aW9uLCBjb25zdCBMYXlvdXRQb2ludCYgYWNjdW11
bGF0ZWRPZmZzZXQpIGNvbnN0CiB7CiAgICAgaWYgKGlzUmVuZGVyVmlldygpKQogICAgICAgICBy
ZXR1cm4gdHJ1ZTsKQEAgLTEzNzAsMjIgKzEzNzAsMjEgQEAgYm9vbCBSZW5kZXJCb3g6OmhpdFRl
c3RWaXN1YWxPdmVyZmxvdyhjb25zdCBIaXRUZXN0TG9jYXRpb24mIGxvY2F0aW9uSW5Db250YWlu
ZXIKICAgICBMYXlvdXRSZWN0IG92ZXJmbG93Qm94ID0gdmlzdWFsT3ZlcmZsb3dSZWN0KCk7CiAg
ICAgZmxpcEZvcldyaXRpbmdNb2RlKG92ZXJmbG93Qm94KTsKICAgICBvdmVyZmxvd0JveC5tb3Zl
QnkoYWRqdXN0ZWRMb2NhdGlvbik7Ci0gICAgcmV0dXJuIGxvY2F0aW9uSW5Db250YWluZXIuaW50
ZXJzZWN0cyhvdmVyZmxvd0JveCk7CisgICAgcmV0dXJuIGhpdFRlc3RMb2NhdGlvbi5pbnRlcnNl
Y3RzKG92ZXJmbG93Qm94KTsKIH0KIAotYm9vbCBSZW5kZXJCb3g6OmhpdFRlc3RDbGlwUGF0aChj
b25zdCBIaXRUZXN0TG9jYXRpb24mIGxvY2F0aW9uSW5Db250YWluZXIsIGNvbnN0IExheW91dFBv
aW50JiBhY2N1bXVsYXRlZE9mZnNldCkgY29uc3QKK2Jvb2wgUmVuZGVyQm94OjpoaXRUZXN0Q2xp
cFBhdGgoY29uc3QgSGl0VGVzdExvY2F0aW9uJiBoaXRUZXN0TG9jYXRpb24sIGNvbnN0IExheW91
dFBvaW50JiBhY2N1bXVsYXRlZE9mZnNldCkgY29uc3QKIHsKICAgICBpZiAoIXN0eWxlKCkuY2xp
cFBhdGgoKSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKLSAgICBMYXlvdXRQb2ludCBhZGp1c3Rl
ZExvY2F0aW9uID0gYWNjdW11bGF0ZWRPZmZzZXQgKyBsb2NhdGlvbigpOwotICAgIGNvbnN0IExh
eW91dFNpemUgbG9jYWxPZmZzZXQgPSB0b0xheW91dFNpemUoYWRqdXN0ZWRMb2NhdGlvbik7Ci0K
KyAgICBhdXRvIG9mZnNldEZyb21IaXRUZXN0Um9vdCA9IHRvTGF5b3V0U2l6ZShhY2N1bXVsYXRl
ZE9mZnNldCArIGxvY2F0aW9uKCkpOworICAgIGF1dG8gaGl0VGVzdExvY2F0aW9uSW5Mb2NhbENv
b3JkaW5hdGVzID0gaGl0VGVzdExvY2F0aW9uLnBvaW50KCkgLSBvZmZzZXRGcm9tSGl0VGVzdFJv
b3Q7CiAgICAgc3dpdGNoIChzdHlsZSgpLmNsaXBQYXRoKCktPnR5cGUoKSkgewogICAgIGNhc2Ug
Q2xpcFBhdGhPcGVyYXRpb246OlNoYXBlOiB7CiAgICAgICAgIGF1dG8mIGNsaXBQYXRoID0gZG93
bmNhc3Q8U2hhcGVDbGlwUGF0aE9wZXJhdGlvbj4oKnN0eWxlKCkuY2xpcFBhdGgoKSk7CiAgICAg
ICAgIGF1dG8gcmVmZXJlbmNlQm94UmVjdCA9IHJlZmVyZW5jZUJveChjbGlwUGF0aC5yZWZlcmVu
Y2VCb3goKSk7Ci0gICAgICAgIGlmICghY2xpcFBhdGgucGF0aEZvclJlZmVyZW5jZVJlY3QocmVm
ZXJlbmNlQm94UmVjdCkuY29udGFpbnMobG9jYXRpb25JbkNvbnRhaW5lci5wb2ludCgpIC0gbG9j
YWxPZmZzZXQsIGNsaXBQYXRoLndpbmRSdWxlKCkpKQorICAgICAgICBpZiAoIWNsaXBQYXRoLnBh
dGhGb3JSZWZlcmVuY2VSZWN0KHJlZmVyZW5jZUJveFJlY3QpLmNvbnRhaW5zKGhpdFRlc3RMb2Nh
dGlvbkluTG9jYWxDb29yZGluYXRlcywgY2xpcFBhdGgud2luZFJ1bGUoKSkpCiAgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7CiAgICAgICAgIGJyZWFrOwogICAgIH0KQEAgLTEzOTcsNyArMTM5Niw3
IEBAIGJvb2wgUmVuZGVyQm94OjpoaXRUZXN0Q2xpcFBhdGgoY29uc3QgSGl0VGVzdExvY2F0aW9u
JiBsb2NhdGlvbkluQ29udGFpbmVyLCBjb25zCiAgICAgICAgIGlmICghaXM8U1ZHQ2xpcFBhdGhF
bGVtZW50PigqZWxlbWVudCkpCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgYXV0byYgY2xp
cHBlciA9IGRvd25jYXN0PFJlbmRlclNWR1Jlc291cmNlQ2xpcHBlcj4oKmVsZW1lbnQtPnJlbmRl
cmVyKCkpOwotICAgICAgICBpZiAoIWNsaXBwZXIuaGl0VGVzdENsaXBDb250ZW50KEZsb2F0UmVj
dChib3JkZXJCb3hSZWN0KCkpLCBGbG9hdFBvaW50KGxvY2F0aW9uSW5Db250YWluZXIucG9pbnQo
KSAtIGxvY2FsT2Zmc2V0KSkpCisgICAgICAgIGlmICghY2xpcHBlci5oaXRUZXN0Q2xpcENvbnRl
bnQoRmxvYXRSZWN0KGJvcmRlckJveFJlY3QoKSksIEZsb2F0UG9pbnQgeyBoaXRUZXN0TG9jYXRp
b25JbkxvY2FsQ29vcmRpbmF0ZXMgfSkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAg
ICAgIGJyZWFrOwogICAgIH0KQEAgLTE0MDgsNyArMTQwNyw3IEBAIGJvb2wgUmVuZGVyQm94Ojpo
aXRUZXN0Q2xpcFBhdGgoY29uc3QgSGl0VGVzdExvY2F0aW9uJiBsb2NhdGlvbkluQ29udGFpbmVy
LCBjb25zCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLWJvb2wgUmVuZGVyQm94OjpoaXRUZXN0Qm9y
ZGVyUmFkaXVzKGNvbnN0IEhpdFRlc3RMb2NhdGlvbiYgbG9jYXRpb25JbkNvbnRhaW5lciwgY29u
c3QgTGF5b3V0UG9pbnQmIGFjY3VtdWxhdGVkT2Zmc2V0KSBjb25zdAorYm9vbCBSZW5kZXJCb3g6
OmhpdFRlc3RCb3JkZXJSYWRpdXMoY29uc3QgSGl0VGVzdExvY2F0aW9uJiBoaXRUZXN0TG9jYXRp
b24sIGNvbnN0IExheW91dFBvaW50JiBhY2N1bXVsYXRlZE9mZnNldCkgY29uc3QKIHsKICAgICBp
ZiAoaXNSZW5kZXJWaWV3KCkgfHwgIXN0eWxlKCkuaGFzQm9yZGVyUmFkaXVzKCkpCiAgICAgICAg
IHJldHVybiB0cnVlOwpAQCAtMTQxNyw3ICsxNDE2LDcgQEAgYm9vbCBSZW5kZXJCb3g6OmhpdFRl
c3RCb3JkZXJSYWRpdXMoY29uc3QgSGl0VGVzdExvY2F0aW9uJiBsb2NhdGlvbkluQ29udGFpbmVy
LAogICAgIExheW91dFJlY3QgYm9yZGVyUmVjdCA9IGJvcmRlckJveFJlY3QoKTsKICAgICBib3Jk
ZXJSZWN0Lm1vdmVCeShhZGp1c3RlZExvY2F0aW9uKTsKICAgICBSb3VuZGVkUmVjdCBib3JkZXIg
PSBzdHlsZSgpLmdldFJvdW5kZWRCb3JkZXJGb3IoYm9yZGVyUmVjdCk7Ci0gICAgcmV0dXJuIGxv
Y2F0aW9uSW5Db250YWluZXIuaW50ZXJzZWN0cyhib3JkZXIpOworICAgIHJldHVybiBoaXRUZXN0
TG9jYXRpb24uaW50ZXJzZWN0cyhib3JkZXIpOwogfQogCiBib29sIFJlbmRlckJveDo6bm9kZUF0
UG9pbnQoY29uc3QgSGl0VGVzdFJlcXVlc3QmIHJlcXVlc3QsIEhpdFRlc3RSZXN1bHQmIHJlc3Vs
dCwgY29uc3QgSGl0VGVzdExvY2F0aW9uJiBsb2NhdGlvbkluQ29udGFpbmVyLCBjb25zdCBMYXlv
dXRQb2ludCYgYWNjdW11bGF0ZWRPZmZzZXQsIEhpdFRlc3RBY3Rpb24gYWN0aW9uKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJveC5oCmluZGV4IDFkOTliZjBjMzg5NmI0Njc0MDA0NjM1Mzdm
MTc1NmZkYTczM2Y5NTIuLmZiODBjMjliY2Q0OTNjOGNkNWUwZDczOTBlMzNjYmRmNWVjYzVkZjIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgKQEAgLTMwNSwxMCArMzA1LDEwIEBA
IHB1YmxpYzoKICAgICBMYXlvdXRSZWN0IHJlZmxlY3RlZFJlY3QoY29uc3QgTGF5b3V0UmVjdCYp
IGNvbnN0OwogCiAgICAgdm9pZCBsYXlvdXQoKSBvdmVycmlkZTsKLSAgICBib29sIG5vZGVBdFBv
aW50KGNvbnN0IEhpdFRlc3RSZXF1ZXN0JiwgSGl0VGVzdFJlc3VsdCYsIGNvbnN0IEhpdFRlc3RM
b2NhdGlvbiYgbG9jYXRpb25JbkNvbnRhaW5lciwgY29uc3QgTGF5b3V0UG9pbnQmIGFjY3VtdWxh
dGVkT2Zmc2V0LCBIaXRUZXN0QWN0aW9uKSBvdmVycmlkZTsKLSAgICBib29sIGhpdFRlc3RWaXN1
YWxPdmVyZmxvdyhjb25zdCBIaXRUZXN0TG9jYXRpb24mIGxvY2F0aW9uSW5Db250YWluZXIsIGNv
bnN0IExheW91dFBvaW50JiBhY2N1bXVsYXRlZE9mZnNldCkgY29uc3Q7Ci0gICAgYm9vbCBoaXRU
ZXN0Q2xpcFBhdGgoY29uc3QgSGl0VGVzdExvY2F0aW9uJiBsb2NhdGlvbkluQ29udGFpbmVyLCBj
b25zdCBMYXlvdXRQb2ludCYgYWNjdW11bGF0ZWRPZmZzZXQpIGNvbnN0OwotICAgIGJvb2wgaGl0
VGVzdEJvcmRlclJhZGl1cyhjb25zdCBIaXRUZXN0TG9jYXRpb24mIGxvY2F0aW9uSW5Db250YWlu
ZXIsIGNvbnN0IExheW91dFBvaW50JiBhY2N1bXVsYXRlZE9mZnNldCkgY29uc3Q7CisgICAgYm9v
bCBub2RlQXRQb2ludChjb25zdCBIaXRUZXN0UmVxdWVzdCYsIEhpdFRlc3RSZXN1bHQmLCBjb25z
dCBIaXRUZXN0TG9jYXRpb24mLCBjb25zdCBMYXlvdXRQb2ludCYgYWNjdW11bGF0ZWRPZmZzZXQs
IEhpdFRlc3RBY3Rpb24pIG92ZXJyaWRlOworICAgIGJvb2wgaGl0VGVzdFZpc3VhbE92ZXJmbG93
KGNvbnN0IEhpdFRlc3RMb2NhdGlvbiYsIGNvbnN0IExheW91dFBvaW50JiBhY2N1bXVsYXRlZE9m
ZnNldCkgY29uc3Q7CisgICAgYm9vbCBoaXRUZXN0Q2xpcFBhdGgoY29uc3QgSGl0VGVzdExvY2F0
aW9uJiwgY29uc3QgTGF5b3V0UG9pbnQmIGFjY3VtdWxhdGVkT2Zmc2V0KSBjb25zdDsKKyAgICBi
b29sIGhpdFRlc3RCb3JkZXJSYWRpdXMoY29uc3QgSGl0VGVzdExvY2F0aW9uJiwgY29uc3QgTGF5
b3V0UG9pbnQmIGFjY3VtdWxhdGVkT2Zmc2V0KSBjb25zdDsKIAogICAgIExheW91dFVuaXQgbWlu
UHJlZmVycmVkTG9naWNhbFdpZHRoKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgTGF5b3V0VW5pdCBt
YXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgoKSBjb25zdCBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4IDI2NTc0Mjk5ZGMzZGYxN2Q5ZmNhY2U3NzY4
ZGQxYmE2MDdjZWI1MmEuLjYyMDVlNjA4Zjc4YmNkNTY2MWE0NzQ1ZTJjZmRmYTY4ZDk5MTMyMzYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApAQCAtNDExMSw4ICs0
MTExLDkgQEAgUmVuZGVyTGF5ZXIqIFJlbmRlckxheWVyOjpoaXRUZXN0TGF5ZXIoUmVuZGVyTGF5
ZXIqIHJvb3RMYXllciwgUmVuZGVyTGF5ZXIqIGNvbnQKICAgICBMYXllckxpc3RNdXRhdGlvbkRl
dGVjdG9yIG11dGF0aW9uQ2hlY2tlcigqdGhpcyk7CiAjZW5kaWYKIAorICAgIGF1dG8gb2Zmc2V0
RnJvbVJvb3QgPSBvZmZzZXRGcm9tQW5jZXN0b3Iocm9vdExheWVyKTsKICAgICAvLyBGSVhNRTog
V2UgbmVlZCB0byBjb3JyZWN0bHkgaGl0IHRlc3QgdGhlIGNsaXAtcGF0aCB3aGVuIHdlIGhhdmUg
YSBSZW5kZXJJbmxpbmUgdG9vLgotICAgIGlmIChyZW5kZXJlcigpLmhhc0NsaXBQYXRoKCkgJiYg
aXM8UmVuZGVyQm94PihyZW5kZXJlcigpKSAmJiAhZG93bmNhc3Q8UmVuZGVyQm94PihyZW5kZXJl
cigpKS5oaXRUZXN0Q2xpcFBhdGgoaGl0VGVzdExvY2F0aW9uLCB0b0xheW91dFBvaW50KGxvY2F0
aW9uKCkgLSByZW5kZXJCb3hMb2NhdGlvbigpKSkpCisgICAgaWYgKGF1dG8qIHJlbmRlcmVyQm94
ID0gdGhpcy0+cmVuZGVyQm94KCk7IHJlbmRlcmVyQm94ICYmICFyZW5kZXJlckJveC0+aGl0VGVz
dENsaXBQYXRoKGhpdFRlc3RMb2NhdGlvbiwgdG9MYXlvdXRQb2ludChvZmZzZXRGcm9tUm9vdCAt
IHRvTGF5b3V0U2l6ZShyZW5kZXJCb3hMb2NhdGlvbigpKSkpKQogICAgICAgICByZXR1cm4gbnVs
bHB0cjsKIAogICAgIC8vIEJlZ2luIGJ5IHdhbGtpbmcgb3VyIGxpc3Qgb2YgcG9zaXRpdmUgbGF5
ZXJzIGZyb20gaGlnaGVzdCB6LWluZGV4IGRvd24gdG8gdGhlIGxvd2VzdCB6LWluZGV4LgpAQCAt
NDEzNSw4ICs0MTM2LDcgQEAgUmVuZGVyTGF5ZXIqIFJlbmRlckxheWVyOjpoaXRUZXN0TGF5ZXIo
UmVuZGVyTGF5ZXIqIHJvb3RMYXllciwgUmVuZGVyTGF5ZXIqIGNvbnQKIAogICAgIC8vIENvbGxl
Y3QgdGhlIGZyYWdtZW50cy4gVGhpcyB3aWxsIGNvbXB1dGUgdGhlIGNsaXAgcmVjdGFuZ2xlcyBm
b3IgZWFjaCBsYXllciBmcmFnbWVudC4KICAgICBMYXllckZyYWdtZW50cyBsYXllckZyYWdtZW50
czsKLSAgICBjb2xsZWN0RnJhZ21lbnRzKGxheWVyRnJhZ21lbnRzLCByb290TGF5ZXIsIGhpdFRl
c3RSZWN0LCBJbmNsdWRlQ29tcG9zaXRlZFBhZ2luYXRlZExheWVycywgUm9vdFJlbGF0aXZlQ2xp
cFJlY3RzLCBJbmNsdWRlT3ZlcmxheVNjcm9sbGJhclNpemUsIFJlc3BlY3RPdmVyZmxvd0NsaXAs
Ci0gICAgICAgIG9mZnNldEZyb21BbmNlc3Rvcihyb290TGF5ZXIpKTsKKyAgICBjb2xsZWN0RnJh
Z21lbnRzKGxheWVyRnJhZ21lbnRzLCByb290TGF5ZXIsIGhpdFRlc3RSZWN0LCBJbmNsdWRlQ29t
cG9zaXRlZFBhZ2luYXRlZExheWVycywgUm9vdFJlbGF0aXZlQ2xpcFJlY3RzLCBJbmNsdWRlT3Zl
cmxheVNjcm9sbGJhclNpemUsIFJlc3BlY3RPdmVyZmxvd0NsaXAsIG9mZnNldEZyb21Sb290KTsK
IAogICAgIExheW91dFBvaW50IGxvY2FsUG9pbnQ7CiAgICAgaWYgKGNhblJlc2l6ZSgpICYmIG1f
c2Nyb2xsYWJsZUFyZWEgJiYgbV9zY3JvbGxhYmxlQXJlYS0+aGl0VGVzdFJlc2l6ZXJJbkZyYWdt
ZW50cyhsYXllckZyYWdtZW50cywgaGl0VGVzdExvY2F0aW9uLCBsb2NhbFBvaW50KSkgewpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmlu
ZGV4IGRmY2YzNTg5YjNkYjljYjkzMGU1NGEwMTFmNDY1MTQyMDRmMjYxN2EuLjkxMTQwMWQ0ZTkz
NmMxMDU5YTM4MDg2Y2MyMDI0ZGEzMWY5NjFjODMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAy
MS0wNy0wMiAgQWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVT
U0lPTiAocjI3ODM3Nyk6IGluY29ycmVjdCBoaXQtdGVzdGluZyB3aXRoIGNsaXAtcGF0aCgpCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjc2MjQKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc5ODQ1ODk2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9jbGlwL2hpdC10ZXN0LXdpdGgtY2xpcC1w
YXRoLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9jbGlwL2hpdC10ZXN0LXdp
dGgtY2xpcC1wYXRoLmh0bWw6IEFkZGVkLgorCiAyMDIxLTA3LTAxICBKZWFuLVl2ZXMgQXZlbmFy
ZCAgPGp5YUBhcHBsZS5jb20+CiAKICAgICAgICAgW0NvY29hXSBMYXN0IGZldyBzZWNvbmRzIG9m
ICdhdWRpby93ZWJtOyBjb2RlY3M9dm9yYmlzJyBhcHBlbmRlZCB0byBhIFNhbXBsZUJ1ZmZlciBh
cmUgbm90IHBsYXllZApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jbGlwL2hpdC10ZXN0
LXdpdGgtY2xpcC1wYXRoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY2xpcC9oaXQt
dGVzdC13aXRoLWNsaXAtcGF0aC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmYyN2RhNzE1OGI2
MzU3YmVhNDk1Y2Y4YjIxM2E5MDBmZDkxZWQ2ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvY2xpcC9oaXQtdGVzdC13aXRoLWNsaXAtcGF0aC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSw1IEBACitoaXR0ZXN0IHJlc3VsdDoKK2NhbmRpZGF0ZTEKK2NhbmRpZGF0ZTIKK2NhbmRp
ZGF0ZTMKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jbGlwL2hpdC10ZXN0LXdpdGgt
Y2xpcC1wYXRoLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2NsaXAvaGl0LXRlc3Qtd2l0aC1jbGlw
LXBhdGguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMDA5NzI5OTI4NDJlZTQwNDU5M2YxZDBkNDY2YmQ5ZGQ4
YjczZGZkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jbGlwL2hpdC10ZXN0
LXdpdGgtY2xpcC1wYXRoLmh0bWwKQEAgLTAsMCArMSw2OSBAQAorPCFET0NUWVBFIGh0bWw+Cis8
c3R5bGU+CisudG9wLWNvbnRhaW5lciB7CisgIHBhZGRpbmc6IDIwcHg7CisgIG1hcmdpbjogM3B4
OworfQorCisuaW50ZXJtZWRpYXRlLWNvbnRhaW5lciB7CisgICAgaGVpZ2h0OiA1MHB4OworICAg
IHdpZHRoOiA1MHB4OworICAgIGNsaXAtcGF0aDogaW5zZXQoMCk7CisgICAgYmFja2dyb3VuZDog
Z3JlZW47Cit9CisKKy5oaXR0ZXN0X2NhbmRpZGF0ZSB7CisgICAgaGVpZ2h0OiAyMHB4OworICAg
IHdpZHRoOiAyMHB4OworICAgIGNsaXAtcGF0aDogaW5zZXQoMCk7CisgICAgYmFja2dyb3VuZDog
Ymx1ZTsKK30KKworaWZyYW1lIHsKKyAgd2lkdGg6IDIwMHB4OworICBoZWlnaHQ6IDIwMHB4Owor
ICBib3JkZXI6IG5vbmU7Cit9Cis8L3N0eWxlPgorPHNjcmlwdD4KK2lmICh3aW5kb3cudGVzdFJ1
bm5lcikKKyAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Cis8L3NjcmlwdD4KKzxwcmUgaWQ9cmVz
dWx0PmhpdHRlc3QgcmVzdWx0OiA8L3ByZT4KKworPCEtLSBzaW1wbGUgaGl0dGVzdCAtLT4KKzxk
aXYgY2xhc3M9dG9wLWNvbnRhaW5lcj4KKyAgPGRpdiBjbGFzcz1pbnRlcm1lZGlhdGUtY29udGFp
bmVyPgorICAgIDxkaXYgY2xhc3M9aGl0dGVzdF9jYW5kaWRhdGUgaWQ9Y2FuZGlkYXRlMT48L2Rp
dj4KKyAgPC9kaXY+Cis8L2Rpdj4KKzxzY3JpcHQ+CityZXN1bHQuaW5uZXJUZXh0ICs9ICJcbiIg
KyBkb2N1bWVudC5lbGVtZW50RnJvbVBvaW50KGNhbmRpZGF0ZTEub2Zmc2V0TGVmdCwgY2FuZGlk
YXRlMS5vZmZzZXRUb3ApLmlkOworPC9zY3JpcHQ+CisKKzwhLS0gbm9uLXRvcCBsZXZlbCBwYWlu
dCByb290IGhpdHRlc3QgLS0+Cis8ZGl2IHN0eWxlPSJib3JkZXI6IDRweCBzb2xpZCBncmVlbjsg
dHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApIj4KKyAgPGRpdiBjbGFzcz10b3AtY29udGFpbmVyPgor
ICAgIDxkaXYgY2xhc3M9aW50ZXJtZWRpYXRlLWNvbnRhaW5lcj4KKyAgICAgIDxkaXYgY2xhc3M9
aGl0dGVzdF9jYW5kaWRhdGUgaWQ9Y2FuZGlkYXRlMj48L2Rpdj4KKyAgICA8L2Rpdj4KKyAgPC9k
aXY+Cis8L2Rpdj4KKzxzY3JpcHQ+CityZXN1bHQuaW5uZXJUZXh0ICs9ICJcbiIgKyBkb2N1bWVu
dC5lbGVtZW50RnJvbVBvaW50KGNhbmRpZGF0ZTIub2Zmc2V0TGVmdCwgY2FuZGlkYXRlMi5vZmZz
ZXRUb3ApLmlkOworPC9zY3JpcHQ+CisKKzwhLS0gbXVsdGktbGV2ZWwgbm9uLXRvcCBsZXZlbCBw
YWludCByb290IGhpdHRlc3QgLS0+Cis8ZGl2IHN0eWxlPSJtYXJnaW46IDRweDsgYm9yZGVyOiAx
cHggc29saWQgY3lhbjsgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApIj4KKyAgPGRpdiBzdHlsZT0i
aGVpZ2h0OiAxMXB4OyI+PC9kaXY+CisgIDxkaXYgc3R5bGU9ImJvcmRlcjogNHB4IHNvbGlkIGdy
ZWVuOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCkiPgorICAgIDxkaXYgY2xhc3M9dG9wLWNvbnRh
aW5lcj4KKyAgICAgIDxkaXYgY2xhc3M9aW50ZXJtZWRpYXRlLWNvbnRhaW5lcj4KKyAgICAgICAg
PGRpdiBjbGFzcz1oaXR0ZXN0X2NhbmRpZGF0ZSBpZD1jYW5kaWRhdGUzPjwvZGl2PgorICAgICAg
PC9kaXY+CisgICAgPC9kaXY+CisgIDwvZGl2PgorPC9kaXY+Cis8c2NyaXB0PgorcmVzdWx0Lmlu
bmVyVGV4dCArPSAiXG4iICsgZG9jdW1lbnQuZWxlbWVudEZyb21Qb2ludChjYW5kaWRhdGUzLm9m
ZnNldExlZnQsIGNhbmRpZGF0ZTMub2Zmc2V0VG9wKS5pZDsKKzwvc2NyaXB0Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>432851</attachid>
            <date>2021-07-03 09:30:07 -0700</date>
            <delta_ts>2021-07-03 10:27:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227624-20210703093006.patch</filename>
            <type>text/plain</type>
            <size>11964</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5NTQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjllMDMwMmU4MmQ3ZTdk
OWM4NTcwYjljNjkyMzEwZWNkNGFlNDg2MS4uNWZmZTk4YTVhZTY0YWIwNzgyZmQxYmIzODUyNDQx
YjM4YjNjODRhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDIxLTA3LTAzICBBbGFu
IEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OIChyMjc4Mzc3
KTogaW5jb3JyZWN0IGhpdC10ZXN0aW5nIHdpdGggY2xpcC1wYXRoKCkKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzYyNAorICAgICAgICA8cmRhcjov
L3Byb2JsZW0vNzk4NDU4OTY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgor
CisgICAgICAgIFVzZSB0aGUgY29ycmVjdCBjb29yZGluYXRlIHNwYWNlIGZvciBjbGlwLXBhdGgg
YmFzZWQgaGl0dGVzdGluZy4KKworICAgICAgICAxLiBUaGUgaGl0dGVzdCBsb2NhdGlvbiBpcyBp
biB0aGUgY29vcmRpbmF0ZSBzcGFjZSBvZiB0aGUgcGFpbnRpbmcgcm9vdCAoaGl0dGVzdGluZyBp
cyBzaW1pbGFyIHRvIHBhaW50aW5nIGluIHRoaXMgY29udGV4dCkuCisgICAgICAgIDIuIFJlbmRl
ckJveDo6aGl0VGVzdENsaXBQYXRoJ3MgYWNjdW11bGF0ZWRPZmZzZXQgKGFzIHRoZSBuYW1lIGlt
cGxpZXMpIHNob3VsZCBpbmNsdWRlIHRoZSBvZmZzZXQgZnJvbSB0aGUgKHBhaW50KSBoaXR0ZXN0
IHJvb3QuCisgICAgICAgIDMuIFRoZSBjbGlwLXBhdGggaW50ZXJzZWN0aW5nIHRha2VzIGNvb3Jk
aW5hdGVzIHJlbGF0aXZlIHRvIHRoZSBjb250YWluaW5nIGJsb2NrLgorCisgICAgICAgIFRlc3Q6
IGZhc3QvY2xpcC9oaXQtdGVzdC13aXRoLWNsaXAtcGF0aC5odG1sCisKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyQm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6aGl0VGVz
dFZpc3VhbE92ZXJmbG93IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6aGl0
VGVzdENsaXBQYXRoIGNvbnN0KTogTWFrZSB0aGUgaGl0dGVzdCByb290IGNvb3JkaW5hdGVzIHJl
bGF0aXZlIHRvIHRoZSBjb250YWluaW5nIGJsb2NrLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
Qm94OjpoaXRUZXN0Qm9yZGVyUmFkaXVzIGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyQm94Lmg6IExldCdzIG5vdCB1c2UgbG9jYXRpb25JbkNvbnRhaW5lciBuYW1lIGFzIGl0IGlz
IHdheSB0b28gZ2VuZXJpYyBhbmQgbWlzbGVhZGluZy4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyTGF5ZXIuY3BwOiBDb21wdXRlIGFuZCBwYXNzIGluIHByb3BlciBhY2N1bXVsYXRlZCBvZmZz
ZXQgdmFsdWUuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6aGl0VGVzdExheWVyKToK
KwogMjAyMS0wNy0wMyAgQWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAg
W0xGQ11bVEZDXSBBZGQgc3VwcG9ydCBmb3IgcHJpb3JpdHkgbGlzdCBvZiB3aWR0aCB0eXBlcyB3
aGVuIGV4cGFuZGluZyBjb2x1bW5zCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3Bw
CmluZGV4IGNhNWE2YzMzNDg4OTkyYWRkNDYyMTBjN2ZhNzFiOThiMDY3ZDNkODcuLjY4OWIxN2Rj
MDgwZWViNTUwYTJhYjc0ODZiZmI4N2VjOGNhOTg0ZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCb3guY3BwCkBAIC0xMzYxLDcgKzEzNjEsNyBAQCBMYXlvdXRVbml0IFJlbmRlckJv
eDo6YWRqdXN0Q29udGVudEJveExvZ2ljYWxIZWlnaHRGb3JCb3hTaXppbmcoc3RkOjpvcHRpb25h
bDxMYQogfQogCiAvLyBIaXQgVGVzdGluZwotYm9vbCBSZW5kZXJCb3g6OmhpdFRlc3RWaXN1YWxP
dmVyZmxvdyhjb25zdCBIaXRUZXN0TG9jYXRpb24mIGxvY2F0aW9uSW5Db250YWluZXIsIGNvbnN0
IExheW91dFBvaW50JiBhY2N1bXVsYXRlZE9mZnNldCkgY29uc3QKK2Jvb2wgUmVuZGVyQm94Ojpo
aXRUZXN0VmlzdWFsT3ZlcmZsb3coY29uc3QgSGl0VGVzdExvY2F0aW9uJiBoaXRUZXN0TG9jYXRp
b24sIGNvbnN0IExheW91dFBvaW50JiBhY2N1bXVsYXRlZE9mZnNldCkgY29uc3QKIHsKICAgICBp
ZiAoaXNSZW5kZXJWaWV3KCkpCiAgICAgICAgIHJldHVybiB0cnVlOwpAQCAtMTM3MCwyMiArMTM3
MCwyMSBAQCBib29sIFJlbmRlckJveDo6aGl0VGVzdFZpc3VhbE92ZXJmbG93KGNvbnN0IEhpdFRl
c3RMb2NhdGlvbiYgbG9jYXRpb25JbkNvbnRhaW5lcgogICAgIExheW91dFJlY3Qgb3ZlcmZsb3dC
b3ggPSB2aXN1YWxPdmVyZmxvd1JlY3QoKTsKICAgICBmbGlwRm9yV3JpdGluZ01vZGUob3ZlcmZs
b3dCb3gpOwogICAgIG92ZXJmbG93Qm94Lm1vdmVCeShhZGp1c3RlZExvY2F0aW9uKTsKLSAgICBy
ZXR1cm4gbG9jYXRpb25JbkNvbnRhaW5lci5pbnRlcnNlY3RzKG92ZXJmbG93Qm94KTsKKyAgICBy
ZXR1cm4gaGl0VGVzdExvY2F0aW9uLmludGVyc2VjdHMob3ZlcmZsb3dCb3gpOwogfQogCi1ib29s
IFJlbmRlckJveDo6aGl0VGVzdENsaXBQYXRoKGNvbnN0IEhpdFRlc3RMb2NhdGlvbiYgbG9jYXRp
b25JbkNvbnRhaW5lciwgY29uc3QgTGF5b3V0UG9pbnQmIGFjY3VtdWxhdGVkT2Zmc2V0KSBjb25z
dAorYm9vbCBSZW5kZXJCb3g6OmhpdFRlc3RDbGlwUGF0aChjb25zdCBIaXRUZXN0TG9jYXRpb24m
IGhpdFRlc3RMb2NhdGlvbiwgY29uc3QgTGF5b3V0UG9pbnQmIGFjY3VtdWxhdGVkT2Zmc2V0KSBj
b25zdAogewogICAgIGlmICghc3R5bGUoKS5jbGlwUGF0aCgpKQogICAgICAgICByZXR1cm4gdHJ1
ZTsKIAotICAgIExheW91dFBvaW50IGFkanVzdGVkTG9jYXRpb24gPSBhY2N1bXVsYXRlZE9mZnNl
dCArIGxvY2F0aW9uKCk7Ci0gICAgY29uc3QgTGF5b3V0U2l6ZSBsb2NhbE9mZnNldCA9IHRvTGF5
b3V0U2l6ZShhZGp1c3RlZExvY2F0aW9uKTsKLQorICAgIGF1dG8gb2Zmc2V0RnJvbUhpdFRlc3RS
b290ID0gdG9MYXlvdXRTaXplKGFjY3VtdWxhdGVkT2Zmc2V0ICsgbG9jYXRpb24oKSk7CisgICAg
YXV0byBoaXRUZXN0TG9jYXRpb25JbkxvY2FsQ29vcmRpbmF0ZXMgPSBoaXRUZXN0TG9jYXRpb24u
cG9pbnQoKSAtIG9mZnNldEZyb21IaXRUZXN0Um9vdDsKICAgICBzd2l0Y2ggKHN0eWxlKCkuY2xp
cFBhdGgoKS0+dHlwZSgpKSB7CiAgICAgY2FzZSBDbGlwUGF0aE9wZXJhdGlvbjo6U2hhcGU6IHsK
ICAgICAgICAgYXV0byYgY2xpcFBhdGggPSBkb3duY2FzdDxTaGFwZUNsaXBQYXRoT3BlcmF0aW9u
Pigqc3R5bGUoKS5jbGlwUGF0aCgpKTsKICAgICAgICAgYXV0byByZWZlcmVuY2VCb3hSZWN0ID0g
cmVmZXJlbmNlQm94KGNsaXBQYXRoLnJlZmVyZW5jZUJveCgpKTsKLSAgICAgICAgaWYgKCFjbGlw
UGF0aC5wYXRoRm9yUmVmZXJlbmNlUmVjdChyZWZlcmVuY2VCb3hSZWN0KS5jb250YWlucyhsb2Nh
dGlvbkluQ29udGFpbmVyLnBvaW50KCkgLSBsb2NhbE9mZnNldCwgY2xpcFBhdGgud2luZFJ1bGUo
KSkpCisgICAgICAgIGlmICghY2xpcFBhdGgucGF0aEZvclJlZmVyZW5jZVJlY3QocmVmZXJlbmNl
Qm94UmVjdCkuY29udGFpbnMoaGl0VGVzdExvY2F0aW9uSW5Mb2NhbENvb3JkaW5hdGVzLCBjbGlw
UGF0aC53aW5kUnVsZSgpKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgYnJl
YWs7CiAgICAgfQpAQCAtMTM5Nyw3ICsxMzk2LDcgQEAgYm9vbCBSZW5kZXJCb3g6OmhpdFRlc3RD
bGlwUGF0aChjb25zdCBIaXRUZXN0TG9jYXRpb24mIGxvY2F0aW9uSW5Db250YWluZXIsIGNvbnMK
ICAgICAgICAgaWYgKCFpczxTVkdDbGlwUGF0aEVsZW1lbnQ+KCplbGVtZW50KSkKICAgICAgICAg
ICAgIGJyZWFrOwogICAgICAgICBhdXRvJiBjbGlwcGVyID0gZG93bmNhc3Q8UmVuZGVyU1ZHUmVz
b3VyY2VDbGlwcGVyPigqZWxlbWVudC0+cmVuZGVyZXIoKSk7Ci0gICAgICAgIGlmICghY2xpcHBl
ci5oaXRUZXN0Q2xpcENvbnRlbnQoRmxvYXRSZWN0KGJvcmRlckJveFJlY3QoKSksIEZsb2F0UG9p
bnQobG9jYXRpb25JbkNvbnRhaW5lci5wb2ludCgpIC0gbG9jYWxPZmZzZXQpKSkKKyAgICAgICAg
aWYgKCFjbGlwcGVyLmhpdFRlc3RDbGlwQ29udGVudChGbG9hdFJlY3QoYm9yZGVyQm94UmVjdCgp
KSwgRmxvYXRQb2ludCB7IGhpdFRlc3RMb2NhdGlvbkluTG9jYWxDb29yZGluYXRlcyB9KSkKICAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgYnJlYWs7CiAgICAgfQpAQCAtMTQwOCw3
ICsxNDA3LDcgQEAgYm9vbCBSZW5kZXJCb3g6OmhpdFRlc3RDbGlwUGF0aChjb25zdCBIaXRUZXN0
TG9jYXRpb24mIGxvY2F0aW9uSW5Db250YWluZXIsIGNvbnMKICAgICByZXR1cm4gdHJ1ZTsKIH0K
IAotYm9vbCBSZW5kZXJCb3g6OmhpdFRlc3RCb3JkZXJSYWRpdXMoY29uc3QgSGl0VGVzdExvY2F0
aW9uJiBsb2NhdGlvbkluQ29udGFpbmVyLCBjb25zdCBMYXlvdXRQb2ludCYgYWNjdW11bGF0ZWRP
ZmZzZXQpIGNvbnN0Citib29sIFJlbmRlckJveDo6aGl0VGVzdEJvcmRlclJhZGl1cyhjb25zdCBI
aXRUZXN0TG9jYXRpb24mIGhpdFRlc3RMb2NhdGlvbiwgY29uc3QgTGF5b3V0UG9pbnQmIGFjY3Vt
dWxhdGVkT2Zmc2V0KSBjb25zdAogewogICAgIGlmIChpc1JlbmRlclZpZXcoKSB8fCAhc3R5bGUo
KS5oYXNCb3JkZXJSYWRpdXMoKSkKICAgICAgICAgcmV0dXJuIHRydWU7CkBAIC0xNDE3LDcgKzE0
MTYsNyBAQCBib29sIFJlbmRlckJveDo6aGl0VGVzdEJvcmRlclJhZGl1cyhjb25zdCBIaXRUZXN0
TG9jYXRpb24mIGxvY2F0aW9uSW5Db250YWluZXIsCiAgICAgTGF5b3V0UmVjdCBib3JkZXJSZWN0
ID0gYm9yZGVyQm94UmVjdCgpOwogICAgIGJvcmRlclJlY3QubW92ZUJ5KGFkanVzdGVkTG9jYXRp
b24pOwogICAgIFJvdW5kZWRSZWN0IGJvcmRlciA9IHN0eWxlKCkuZ2V0Um91bmRlZEJvcmRlckZv
cihib3JkZXJSZWN0KTsKLSAgICByZXR1cm4gbG9jYXRpb25JbkNvbnRhaW5lci5pbnRlcnNlY3Rz
KGJvcmRlcik7CisgICAgcmV0dXJuIGhpdFRlc3RMb2NhdGlvbi5pbnRlcnNlY3RzKGJvcmRlcik7
CiB9CiAKIGJvb2wgUmVuZGVyQm94Ojpub2RlQXRQb2ludChjb25zdCBIaXRUZXN0UmVxdWVzdCYg
cmVxdWVzdCwgSGl0VGVzdFJlc3VsdCYgcmVzdWx0LCBjb25zdCBIaXRUZXN0TG9jYXRpb24mIGxv
Y2F0aW9uSW5Db250YWluZXIsIGNvbnN0IExheW91dFBvaW50JiBhY2N1bXVsYXRlZE9mZnNldCwg
SGl0VGVzdEFjdGlvbiBhY3Rpb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQm94LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgKaW5k
ZXggMWQ5OWJmMGMzODk2YjQ2NzQwMDQ2MzUzN2YxNzU2ZmRhNzMzZjk1Mi4uZmI4MGMyOWJjZDQ5
M2M4Y2Q1ZTBkNzM5MGUzM2NiZGY1ZWNjNWRmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckJveC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCb3guaApAQCAtMzA1LDEwICszMDUsMTAgQEAgcHVibGljOgogICAgIExheW91dFJlY3QgcmVm
bGVjdGVkUmVjdChjb25zdCBMYXlvdXRSZWN0JikgY29uc3Q7CiAKICAgICB2b2lkIGxheW91dCgp
IG92ZXJyaWRlOwotICAgIGJvb2wgbm9kZUF0UG9pbnQoY29uc3QgSGl0VGVzdFJlcXVlc3QmLCBI
aXRUZXN0UmVzdWx0JiwgY29uc3QgSGl0VGVzdExvY2F0aW9uJiBsb2NhdGlvbkluQ29udGFpbmVy
LCBjb25zdCBMYXlvdXRQb2ludCYgYWNjdW11bGF0ZWRPZmZzZXQsIEhpdFRlc3RBY3Rpb24pIG92
ZXJyaWRlOwotICAgIGJvb2wgaGl0VGVzdFZpc3VhbE92ZXJmbG93KGNvbnN0IEhpdFRlc3RMb2Nh
dGlvbiYgbG9jYXRpb25JbkNvbnRhaW5lciwgY29uc3QgTGF5b3V0UG9pbnQmIGFjY3VtdWxhdGVk
T2Zmc2V0KSBjb25zdDsKLSAgICBib29sIGhpdFRlc3RDbGlwUGF0aChjb25zdCBIaXRUZXN0TG9j
YXRpb24mIGxvY2F0aW9uSW5Db250YWluZXIsIGNvbnN0IExheW91dFBvaW50JiBhY2N1bXVsYXRl
ZE9mZnNldCkgY29uc3Q7Ci0gICAgYm9vbCBoaXRUZXN0Qm9yZGVyUmFkaXVzKGNvbnN0IEhpdFRl
c3RMb2NhdGlvbiYgbG9jYXRpb25JbkNvbnRhaW5lciwgY29uc3QgTGF5b3V0UG9pbnQmIGFjY3Vt
dWxhdGVkT2Zmc2V0KSBjb25zdDsKKyAgICBib29sIG5vZGVBdFBvaW50KGNvbnN0IEhpdFRlc3RS
ZXF1ZXN0JiwgSGl0VGVzdFJlc3VsdCYsIGNvbnN0IEhpdFRlc3RMb2NhdGlvbiYsIGNvbnN0IExh
eW91dFBvaW50JiBhY2N1bXVsYXRlZE9mZnNldCwgSGl0VGVzdEFjdGlvbikgb3ZlcnJpZGU7Cisg
ICAgYm9vbCBoaXRUZXN0VmlzdWFsT3ZlcmZsb3coY29uc3QgSGl0VGVzdExvY2F0aW9uJiwgY29u
c3QgTGF5b3V0UG9pbnQmIGFjY3VtdWxhdGVkT2Zmc2V0KSBjb25zdDsKKyAgICBib29sIGhpdFRl
c3RDbGlwUGF0aChjb25zdCBIaXRUZXN0TG9jYXRpb24mLCBjb25zdCBMYXlvdXRQb2ludCYgYWNj
dW11bGF0ZWRPZmZzZXQpIGNvbnN0OworICAgIGJvb2wgaGl0VGVzdEJvcmRlclJhZGl1cyhjb25z
dCBIaXRUZXN0TG9jYXRpb24mLCBjb25zdCBMYXlvdXRQb2ludCYgYWNjdW11bGF0ZWRPZmZzZXQp
IGNvbnN0OwogCiAgICAgTGF5b3V0VW5pdCBtaW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgoKSBjb25z
dCBvdmVycmlkZTsKICAgICBMYXlvdXRVbml0IG1heFByZWZlcnJlZExvZ2ljYWxXaWR0aCgpIGNv
bnN0IG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKaW5k
ZXggMjY1NzQyOTlkYzNkZjE3ZDlmY2FjZTc3NjhkZDFiYTYwN2NlYjUyYS4uNjIwNWU2MDhmNzhi
Y2Q1NjYxYTQ3NDVlMmNmZGZhNjhkOTkxMzIzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXIuY3BwCkBAIC00MTExLDggKzQxMTEsOSBAQCBSZW5kZXJMYXllciogUmVuZGVy
TGF5ZXI6OmhpdFRlc3RMYXllcihSZW5kZXJMYXllciogcm9vdExheWVyLCBSZW5kZXJMYXllciog
Y29udAogICAgIExheWVyTGlzdE11dGF0aW9uRGV0ZWN0b3IgbXV0YXRpb25DaGVja2VyKCp0aGlz
KTsKICNlbmRpZgogCisgICAgYXV0byBvZmZzZXRGcm9tUm9vdCA9IG9mZnNldEZyb21BbmNlc3Rv
cihyb290TGF5ZXIpOwogICAgIC8vIEZJWE1FOiBXZSBuZWVkIHRvIGNvcnJlY3RseSBoaXQgdGVz
dCB0aGUgY2xpcC1wYXRoIHdoZW4gd2UgaGF2ZSBhIFJlbmRlcklubGluZSB0b28uCi0gICAgaWYg
KHJlbmRlcmVyKCkuaGFzQ2xpcFBhdGgoKSAmJiBpczxSZW5kZXJCb3g+KHJlbmRlcmVyKCkpICYm
ICFkb3duY2FzdDxSZW5kZXJCb3g+KHJlbmRlcmVyKCkpLmhpdFRlc3RDbGlwUGF0aChoaXRUZXN0
TG9jYXRpb24sIHRvTGF5b3V0UG9pbnQobG9jYXRpb24oKSAtIHJlbmRlckJveExvY2F0aW9uKCkp
KSkKKyAgICBpZiAoYXV0byogcmVuZGVyZXJCb3ggPSB0aGlzLT5yZW5kZXJCb3goKTsgcmVuZGVy
ZXJCb3ggJiYgIXJlbmRlcmVyQm94LT5oaXRUZXN0Q2xpcFBhdGgoaGl0VGVzdExvY2F0aW9uLCB0
b0xheW91dFBvaW50KG9mZnNldEZyb21Sb290IC0gdG9MYXlvdXRTaXplKHJlbmRlckJveExvY2F0
aW9uKCkpKSkpCiAgICAgICAgIHJldHVybiBudWxscHRyOwogCiAgICAgLy8gQmVnaW4gYnkgd2Fs
a2luZyBvdXIgbGlzdCBvZiBwb3NpdGl2ZSBsYXllcnMgZnJvbSBoaWdoZXN0IHotaW5kZXggZG93
biB0byB0aGUgbG93ZXN0IHotaW5kZXguCkBAIC00MTM1LDggKzQxMzYsNyBAQCBSZW5kZXJMYXll
ciogUmVuZGVyTGF5ZXI6OmhpdFRlc3RMYXllcihSZW5kZXJMYXllciogcm9vdExheWVyLCBSZW5k
ZXJMYXllciogY29udAogCiAgICAgLy8gQ29sbGVjdCB0aGUgZnJhZ21lbnRzLiBUaGlzIHdpbGwg
Y29tcHV0ZSB0aGUgY2xpcCByZWN0YW5nbGVzIGZvciBlYWNoIGxheWVyIGZyYWdtZW50LgogICAg
IExheWVyRnJhZ21lbnRzIGxheWVyRnJhZ21lbnRzOwotICAgIGNvbGxlY3RGcmFnbWVudHMobGF5
ZXJGcmFnbWVudHMsIHJvb3RMYXllciwgaGl0VGVzdFJlY3QsIEluY2x1ZGVDb21wb3NpdGVkUGFn
aW5hdGVkTGF5ZXJzLCBSb290UmVsYXRpdmVDbGlwUmVjdHMsIEluY2x1ZGVPdmVybGF5U2Nyb2xs
YmFyU2l6ZSwgUmVzcGVjdE92ZXJmbG93Q2xpcCwKLSAgICAgICAgb2Zmc2V0RnJvbUFuY2VzdG9y
KHJvb3RMYXllcikpOworICAgIGNvbGxlY3RGcmFnbWVudHMobGF5ZXJGcmFnbWVudHMsIHJvb3RM
YXllciwgaGl0VGVzdFJlY3QsIEluY2x1ZGVDb21wb3NpdGVkUGFnaW5hdGVkTGF5ZXJzLCBSb290
UmVsYXRpdmVDbGlwUmVjdHMsIEluY2x1ZGVPdmVybGF5U2Nyb2xsYmFyU2l6ZSwgUmVzcGVjdE92
ZXJmbG93Q2xpcCwgb2Zmc2V0RnJvbVJvb3QpOwogCiAgICAgTGF5b3V0UG9pbnQgbG9jYWxQb2lu
dDsKICAgICBpZiAoY2FuUmVzaXplKCkgJiYgbV9zY3JvbGxhYmxlQXJlYSAmJiBtX3Njcm9sbGFi
bGVBcmVhLT5oaXRUZXN0UmVzaXplckluRnJhZ21lbnRzKGxheWVyRnJhZ21lbnRzLCBoaXRUZXN0
TG9jYXRpb24sIGxvY2FsUG9pbnQpKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNjViYTkyNmRjNjlkOTJiZmUxZWNlNmMy
NGQ2MmRkMWVhZDM2NjA3Ni4uZThlYTMwNTIyZTk1YzljMTQ0MjE5MmUzNGE3MzAyNWY2YTJjMTU3
YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIxLTA3LTAzICBBbGFuIEJ1anRhcyAgPHphbGFu
QGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OIChyMjc4Mzc3KTogaW5jb3JyZWN0IGhp
dC10ZXN0aW5nIHdpdGggY2xpcC1wYXRoKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIyNzYyNAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzk4NDU4
OTY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgorCisgICAgICAgICogZmFz
dC9jbGlwL2hpdC10ZXN0LXdpdGgtY2xpcC1wYXRoLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZmFzdC9jbGlwL2hpdC10ZXN0LXdpdGgtY2xpcC1wYXRoLmh0bWw6IEFkZGVkLgorCiAy
MDIxLTA3LTAzICBBbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZD
XVtURkNdIEFkZCBzdXBwb3J0IGZvciBwcmlvcml0eSBsaXN0IG9mIHdpZHRoIHR5cGVzIHdoZW4g
ZXhwYW5kaW5nIGNvbHVtbnMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY2xpcC9oaXQt
dGVzdC13aXRoLWNsaXAtcGF0aC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2NsaXAv
aGl0LXRlc3Qtd2l0aC1jbGlwLXBhdGgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJmMjdkYTcx
NThiNjM1N2JlYTQ5NWNmOGIyMTNhOTAwZmQ5MWVkNmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2NsaXAvaGl0LXRlc3Qtd2l0aC1jbGlwLXBhdGgtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsNSBAQAoraGl0dGVzdCByZXN1bHQ6CitjYW5kaWRhdGUxCitjYW5kaWRhdGUyCitj
YW5kaWRhdGUzCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY2xpcC9oaXQtdGVzdC13
aXRoLWNsaXAtcGF0aC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jbGlwL2hpdC10ZXN0LXdpdGgt
Y2xpcC1wYXRoLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzAwOTcyOTkyODQyZWU0MDQ1OTNmMWQwZDQ2NmJk
OWRkOGI3M2RmZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY2xpcC9oaXQt
dGVzdC13aXRoLWNsaXAtcGF0aC5odG1sCkBAIC0wLDAgKzEsNjkgQEAKKzwhRE9DVFlQRSBodG1s
PgorPHN0eWxlPgorLnRvcC1jb250YWluZXIgeworICBwYWRkaW5nOiAyMHB4OworICBtYXJnaW46
IDNweDsKK30KKworLmludGVybWVkaWF0ZS1jb250YWluZXIgeworICAgIGhlaWdodDogNTBweDsK
KyAgICB3aWR0aDogNTBweDsKKyAgICBjbGlwLXBhdGg6IGluc2V0KDApOworICAgIGJhY2tncm91
bmQ6IGdyZWVuOworfQorCisuaGl0dGVzdF9jYW5kaWRhdGUgeworICAgIGhlaWdodDogMjBweDsK
KyAgICB3aWR0aDogMjBweDsKKyAgICBjbGlwLXBhdGg6IGluc2V0KDApOworICAgIGJhY2tncm91
bmQ6IGJsdWU7Cit9CisKK2lmcmFtZSB7CisgIHdpZHRoOiAyMDBweDsKKyAgaGVpZ2h0OiAyMDBw
eDsKKyAgYm9yZGVyOiBub25lOworfQorPC9zdHlsZT4KKzxzY3JpcHQ+CitpZiAod2luZG93LnRl
c3RSdW5uZXIpCisgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworPC9zY3JpcHQ+Cis8cHJlIGlk
PXJlc3VsdD5oaXR0ZXN0IHJlc3VsdDogPC9wcmU+CisKKzwhLS0gc2ltcGxlIGhpdHRlc3QgLS0+
Cis8ZGl2IGNsYXNzPXRvcC1jb250YWluZXI+CisgIDxkaXYgY2xhc3M9aW50ZXJtZWRpYXRlLWNv
bnRhaW5lcj4KKyAgICA8ZGl2IGNsYXNzPWhpdHRlc3RfY2FuZGlkYXRlIGlkPWNhbmRpZGF0ZTE+
PC9kaXY+CisgIDwvZGl2PgorPC9kaXY+Cis8c2NyaXB0PgorcmVzdWx0LmlubmVyVGV4dCArPSAi
XG4iICsgZG9jdW1lbnQuZWxlbWVudEZyb21Qb2ludChjYW5kaWRhdGUxLm9mZnNldExlZnQsIGNh
bmRpZGF0ZTEub2Zmc2V0VG9wKS5pZDsKKzwvc2NyaXB0PgorCis8IS0tIG5vbi10b3AgbGV2ZWwg
cGFpbnQgcm9vdCBoaXR0ZXN0IC0tPgorPGRpdiBzdHlsZT0iYm9yZGVyOiA0cHggc29saWQgZ3Jl
ZW47IHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKSI+CisgIDxkaXYgY2xhc3M9dG9wLWNvbnRhaW5l
cj4KKyAgICA8ZGl2IGNsYXNzPWludGVybWVkaWF0ZS1jb250YWluZXI+CisgICAgICA8ZGl2IGNs
YXNzPWhpdHRlc3RfY2FuZGlkYXRlIGlkPWNhbmRpZGF0ZTI+PC9kaXY+CisgICAgPC9kaXY+Cisg
IDwvZGl2PgorPC9kaXY+Cis8c2NyaXB0PgorcmVzdWx0LmlubmVyVGV4dCArPSAiXG4iICsgZG9j
dW1lbnQuZWxlbWVudEZyb21Qb2ludChjYW5kaWRhdGUyLm9mZnNldExlZnQsIGNhbmRpZGF0ZTIu
b2Zmc2V0VG9wKS5pZDsKKzwvc2NyaXB0PgorCis8IS0tIG11bHRpLWxldmVsIG5vbi10b3AgbGV2
ZWwgcGFpbnQgcm9vdCBoaXR0ZXN0IC0tPgorPGRpdiBzdHlsZT0ibWFyZ2luOiA0cHg7IGJvcmRl
cjogMXB4IHNvbGlkIGN5YW47IHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKSI+CisgIDxkaXYgc3R5
bGU9ImhlaWdodDogMTFweDsiPjwvZGl2PgorICA8ZGl2IHN0eWxlPSJib3JkZXI6IDRweCBzb2xp
ZCBncmVlbjsgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApIj4KKyAgICA8ZGl2IGNsYXNzPXRvcC1j
b250YWluZXI+CisgICAgICA8ZGl2IGNsYXNzPWludGVybWVkaWF0ZS1jb250YWluZXI+CisgICAg
ICAgIDxkaXYgY2xhc3M9aGl0dGVzdF9jYW5kaWRhdGUgaWQ9Y2FuZGlkYXRlMz48L2Rpdj4KKyAg
ICAgIDwvZGl2PgorICAgIDwvZGl2PgorICA8L2Rpdj4KKzwvZGl2PgorPHNjcmlwdD4KK3Jlc3Vs
dC5pbm5lclRleHQgKz0gIlxuIiArIGRvY3VtZW50LmVsZW1lbnRGcm9tUG9pbnQoY2FuZGlkYXRl
My5vZmZzZXRMZWZ0LCBjYW5kaWRhdGUzLm9mZnNldFRvcCkuaWQ7Cis8L3NjcmlwdD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>