<?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>228943</bug_id>
          
          <creation_ts>2021-08-09 22:05:25 -0700</creation_ts>
          <short_desc>Partially revert r280256 behavior change since it broke Facetime</short_desc>
          <delta_ts>2021-08-11 10:25:54 -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>New Bugs</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>
          <dependson>225997</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>ashvayka</cc>
    
    <cc>cdumez</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mark.lam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1783105</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-08-09 22:05:25 -0700</bug_when>
    <thetext>Partially revert r280256 behavior change since it broke Facetime</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1783106</commentid>
    <comment_count>1</comment_count>
      <attachid>435242</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-08-09 22:09:37 -0700</bug_when>
    <thetext>Created attachment 435242
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1783107</commentid>
    <comment_count>2</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-08-09 22:09:39 -0700</bug_when>
    <thetext>&lt;rdar://problem/81700268&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1783112</commentid>
    <comment_count>3</comment_count>
      <attachid>435242</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2021-08-09 22:26:32 -0700</bug_when>
    <thetext>Comment on attachment 435242
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1783113</commentid>
    <comment_count>4</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-08-09 22:45:07 -0700</bug_when>
    <thetext>If we perform `location.replace` from iframe for the top-level window with app link (facetime-open-link://...), before this change, it prompted the window to open it in app. But now, this won&apos;t happen.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1783115</commentid>
    <comment_count>5</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-08-09 22:51:52 -0700</bug_when>
    <thetext>I&apos;ll also revert two tests because the semantics is reverted now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1783118</commentid>
    <comment_count>6</comment_count>
      <attachid>435244</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-08-09 23:34:33 -0700</bug_when>
    <thetext>Created attachment 435244
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1783120</commentid>
    <comment_count>7</comment_count>
      <attachid>435245</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-08-09 23:47:07 -0700</bug_when>
    <thetext>Created attachment 435245
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1783132</commentid>
    <comment_count>8</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-08-10 01:25:42 -0700</bug_when>
    <thetext>Committed r280826 (240389@main): &lt;https://commits.webkit.org/240389@main&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1783199</commentid>
    <comment_count>9</comment_count>
      <attachid>435245</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2021-08-10 10:11:44 -0700</bug_when>
    <thetext>Comment on attachment 435245
Patch

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

&gt; Source/WebCore/ChangeLog:19
&gt; +        We revert the semantic change by using ActiveWindow for replace, assign, and reload. This is
&gt; +        not the correct semantics from the spec, but this is the same to one before r280256, and we
&gt; +        will change this once we find the way to bypass this issue.

Are you sure this is not the correct semantics?

My understanding from recently reading the spec for the Location object is that it is very special, and it uses a different window than most APIs use, for backwards-compatibility.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1783202</commentid>
    <comment_count>10</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2021-08-10 10:17:05 -0700</bug_when>
    <thetext>Specifically, URL parsing is specified to use the entry settings object, which is the the *bottom* of the JS stack, where execution began:

&gt; The href attribute&apos;s setter must run these steps:

&gt; If this Location object&apos;s relevant Document is null, then return.

&gt; Parse the given value relative to the entry settings object. If that failed, throw a TypeError exception.

&gt; Location-object navigate given the resulting URL record.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1783210</commentid>
    <comment_count>11</comment_count>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2021-08-10 10:34:36 -0700</bug_when>
    <thetext>(In reply to Geoffrey Garen from comment #10)
&gt; Specifically, URL parsing is specified to use the entry settings object,
&gt; which is the the *bottom* of the JS stack, where execution began:

Yeah, that&apos;s why FirstWindow (which is implemented by VMEntryScope) is passed: to complete the URL.

IncumbentWindow comes into play a little later: please see step 2 of https://html.spec.whatwg.org/multipage/history.html#location-object-navigate, for security checks and `document.referrer`.

It&apos;s normative description (https://html.spec.whatwg.org/multipage/webappapis.html#topmost-script-having-execution-context) is precisely what CallFrame::globalObjectOfClosestCodeBlock() implements: closest (in stack) userland caller function or module / global code.

Also, adjusted LayoutTests were matching Gecko and Blink before r280826.

With high degree of certainty, I believe using IncumbentWindow is the correct semantics, which was temporarily reverted until we figure out why FaceTime is broken.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1783213</commentid>
    <comment_count>12</comment_count>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2021-08-10 10:37:06 -0700</bug_when>
    <thetext>(In reply to Geoffrey Garen from comment #9)
&gt; My understanding from recently reading the spec for the Location object is
&gt; that it is very special, and it uses a different window than most APIs use,
&gt; for backwards-compatibility.

That&apos;s true, most APIs use ActiveWindow, but Location is special.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1783254</commentid>
    <comment_count>13</comment_count>
      <attachid>435245</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-08-10 12:42:43 -0700</bug_when>
    <thetext>Comment on attachment 435245
Patch

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

&gt;&gt; Source/WebCore/ChangeLog:19
&gt;&gt; +        will change this once we find the way to bypass this issue.
&gt; 
&gt; Are you sure this is not the correct semantics?
&gt; 
&gt; My understanding from recently reading the spec for the Location object is that it is very special, and it uses a different window than most APIs use, for backwards-compatibility.

Yes, Location&apos;s spec states that we need to use ImcumbentWindow (while the usual APIs typically use ActiveWindow).
https://html.spec.whatwg.org/multipage/history.html#location-object-navigate</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1783256</commentid>
    <comment_count>14</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2021-08-10 12:47:20 -0700</bug_when>
    <thetext>Got it. Thanks for the explanation!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1783263</commentid>
    <comment_count>15</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2021-08-10 12:59:27 -0700</bug_when>
    <thetext>I wonder if the incompatibility is caused by the fact that DOMWindow::setLocation expects to be passed the active window:

    void DOMWindow::setLocation(DOMWindow&amp; activeWindow, const URL&amp; completedURL, SetLocationLocking locking)

Since the passed-in window is the window that we will navigate, it seems appropriate to use the active window (the callee&apos;s window) rather than the incumbent window (the caller&apos;s window).

Side note: The spec name for &apos;active window&apos; appears to be &apos;current window&apos;: https://html.spec.whatwg.org/#concept-current-everything.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1783275</commentid>
    <comment_count>16</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-08-10 14:05:12 -0700</bug_when>
    <thetext>(In reply to Geoffrey Garen from comment #15)
&gt; I wonder if the incompatibility is caused by the fact that
&gt; DOMWindow::setLocation expects to be passed the active window:
&gt; 
&gt;     void DOMWindow::setLocation(DOMWindow&amp; activeWindow, const URL&amp;
&gt; completedURL, SetLocationLocking locking)
&gt; 
&gt; Since the passed-in window is the window that we will navigate, it seems
&gt; appropriate to use the active window (the callee&apos;s window) rather than the
&gt; incumbent window (the caller&apos;s window).
&gt; 
&gt; Side note: The spec name for &apos;active window&apos; appears to be &apos;current window&apos;:
&gt; https://html.spec.whatwg.org/#concept-current-everything.

I am with Geoff on this, I think we&apos;re simply navigating the wrong window. As per:

- https://html.spec.whatwg.org/#dom-location-href
We use the first (aka entry) window for relative URL resolution.

- https://html.spec.whatwg.org/#location-object-navigate
We navigate the current (aka active) window

- https://html.spec.whatwg.org/#navigate
We use the incumbent window for the security check (allowed to navigate).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1783548</commentid>
    <comment_count>17</comment_count>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2021-08-11 10:25:54 -0700</bug_when>
    <thetext>(In reply to Geoffrey Garen from comment #15)
&gt; I wonder if the incompatibility is caused by the fact that
&gt; DOMWindow::setLocation expects to be passed the active window:
&gt; 
&gt;     void DOMWindow::setLocation(DOMWindow&amp; activeWindow, const URL&amp;
&gt; completedURL, SetLocationLocking locking)
&gt; 
&gt; Since the passed-in window is the window that we will navigate, it seems
&gt; appropriate to use the active window (the callee&apos;s window) rather than the
&gt; incumbent window (the caller&apos;s window).

Please note that DOMWindow::setLocation() navigates this-&gt;frame(), while first parameter is used for security checks, outgoingReferrer(), and as initiating document for NavigationScheduler::scheduleLocationChange() (all seems to be according to https://html.spec.whatwg.org/#navigate).

this-&gt;frame() here would be the same as ActiveWindow, so I guess we navigate the correct window. Otherwise, we would see a lot of test failures.

However, it might be that we are overusing the first parameter of setLocation(); maybe it&apos;s something related to navigation policy. I will keep digging and keep you posted.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>435242</attachid>
            <date>2021-08-09 22:09:37 -0700</date>
            <delta_ts>2021-08-09 23:49:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-228943-20210809220936.patch</filename>
            <type>text/plain</type>
            <size>5322</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwODExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjRiZmU3ZWQ5ZmQyNjhh
YTM2OGJkMTMyZGNiM2E2MjZiODQxZTk0Ny4uZGEyZTk0ZDI3NTQ5MGU0ZjJlMDgyYzE4ODAyODNm
MDA5MjczOTIzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDIxLTA4LTA5ICBZdXN1
a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CisKKyAgICAgICAgUGFydGlhbGx5IHJldmVy
dCByMjgwMjU2IGJlaGF2aW9yIGNoYW5nZSBzaW5jZSBpdCBicm9rZSBGYWNldGltZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI4OTQzCisgICAgICAg
IHJkYXI6Ly84MTcwMDI2OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEluIHIyODAyNTYsIGN1c3RvbSBhY2Nlc3NvcnMgc3RhcnQgZ2V0dGluZyBob2xk
ZXIncyBKU0dsb2JhbE9iamVjdCAodGhpcyBpcyByaWdodCBiZWhhdmlvcikuCisgICAgICAgIFdl
IGFsc28gaW50cm9kdWNlZCBJbmN1bWJlbnRXaW5kb3cgSURMIGF0dHJpYnV0ZSB0byBnZXQgdGhl
IGNhbGxlcidzIEpTR2xvYmFsT2JqZWN0LCB3aGljaCBpcworICAgICAgICBuZWNlc3NhcnkgaW4g
TG9jYXRpb24uIEF0IHRoYXQgdGltZSwgd2UgcmVwbGFjZWQgYWxsIEFjdGl2ZVdpbmRvdyB0byBJ
bmN1bWJlbnRXaW5kb3csIGJ1dCBpdAorICAgICAgICBjaGFuZ2VzIHRoZSBKU0dsb2JhbE9iamVj
dCBvZiBgcmVwbGFjZWAsIGBhc3NpZ25gLCBhbmQgYHJlbG9hZGAgc2luY2UgdGhleSBhcmUgZnVu
Y3Rpb25zIChub3QKKyAgICAgICAgY3VzdG9tIGFjY2Vzc29ycykuIFdlIG9ic2VydmVkIHRoYXQs
IGFmdGVyIHRoaXMgY2hhbmdlLCBmYWNldGltZSBXZWIgcGFnZSBpcyBicm9rZW46IHdoZW4gb3Bl
bmluZworICAgICAgICB0aGUgbGluayB0byBGYWNldGltZSwgaXQgc2hvdWxkIHNob3cgdGhlIHBy
b21wdCBvZiAiT3BlbiBpbiBGYWNldGltZSBhcHAiIGluIGlPUy4gQnV0IGFmdGVyIHRoaXMKKyAg
ICAgICAgY2hhbmdlLCBpdCB3b24ndCBoYXBwZW4uCisKKyAgICAgICAgV2UgcmV2ZXJ0IHRoZSBz
ZW1hbnRpYyBjaGFuZ2UgYnkgdXNpbmcgQWN0aXZlV2luZG93IGZvciByZXBsYWNlLCBhc3NpZ24s
IGFuZCByZWxvYWQuCisKKyAgICAgICAgKiBwYWdlL0xvY2F0aW9uLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkxvY2F0aW9uOjphc3NpZ24pOgorICAgICAgICAoV2ViQ29yZTo6TG9jYXRpb246OnJl
cGxhY2UpOgorICAgICAgICAoV2ViQ29yZTo6TG9jYXRpb246OnJlbG9hZCk6CisgICAgICAgICog
cGFnZS9Mb2NhdGlvbi5pZGw6CisKIDIwMjEtMDgtMDkgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZy
YXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgVmVydGljYWwgc2Nyb2xsIHdpdGggbW91c2Ugd2hl
ZWwgaW4gaG9yaXpvbnRhbCBzY3JvbGxlciBmYWlscyB0byBwcm9wYWdhdGUgdG8gdGhlIGRvY3Vt
ZW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0xvY2F0aW9uLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvTG9jYXRpb24uY3BwCmluZGV4IDg0YWQxY2M4N2E4OWIxMGMyMzU0ZjQ1
NThkNzZlYWIwOTllYmQwOGEuLjQwODk0NGRlODdhM2I3NGUyNzYzMmNhYjU4NDE4MGU0MzBhY2E3
M2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTG9jYXRpb24uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvTG9jYXRpb24uY3BwCkBAIC0yMTAsMTQgKzIxMCwxNCBAQCBFeGNl
cHRpb25Pcjx2b2lkPiBMb2NhdGlvbjo6c2V0SGFzaChET01XaW5kb3cmIGluY3VtYmVudFdpbmRv
dywgRE9NV2luZG93JiBmaXJzdAogICAgIHJldHVybiBzZXRMb2NhdGlvbihpbmN1bWJlbnRXaW5k
b3csIGZpcnN0V2luZG93LCB1cmwuc3RyaW5nKCkpOwogfQogCi1FeGNlcHRpb25Pcjx2b2lkPiBM
b2NhdGlvbjo6YXNzaWduKERPTVdpbmRvdyYgaW5jdW1iZW50V2luZG93LCBET01XaW5kb3cmIGZp
cnN0V2luZG93LCBjb25zdCBTdHJpbmcmIHVybCkKK0V4Y2VwdGlvbk9yPHZvaWQ+IExvY2F0aW9u
Ojphc3NpZ24oRE9NV2luZG93JiBhY3RpdmVXaW5kb3csIERPTVdpbmRvdyYgZmlyc3RXaW5kb3cs
IGNvbnN0IFN0cmluZyYgdXJsKQogewogICAgIGlmICghZnJhbWUoKSkKICAgICAgICAgcmV0dXJu
IHsgfTsKLSAgICByZXR1cm4gc2V0TG9jYXRpb24oaW5jdW1iZW50V2luZG93LCBmaXJzdFdpbmRv
dywgdXJsKTsKKyAgICByZXR1cm4gc2V0TG9jYXRpb24oYWN0aXZlV2luZG93LCBmaXJzdFdpbmRv
dywgdXJsKTsKIH0KIAotRXhjZXB0aW9uT3I8dm9pZD4gTG9jYXRpb246OnJlcGxhY2UoRE9NV2lu
ZG93JiBpbmN1bWJlbnRXaW5kb3csIERPTVdpbmRvdyYgZmlyc3RXaW5kb3csIGNvbnN0IFN0cmlu
ZyYgdXJsU3RyaW5nKQorRXhjZXB0aW9uT3I8dm9pZD4gTG9jYXRpb246OnJlcGxhY2UoRE9NV2lu
ZG93JiBhY3RpdmVXaW5kb3csIERPTVdpbmRvdyYgZmlyc3RXaW5kb3csIGNvbnN0IFN0cmluZyYg
dXJsU3RyaW5nKQogewogICAgIGF1dG8qIGZyYW1lID0gdGhpcy0+ZnJhbWUoKTsKICAgICBpZiAo
IWZyYW1lKQpAQCAtMjM0LDIxICsyMzQsMjEgQEAgRXhjZXB0aW9uT3I8dm9pZD4gTG9jYXRpb246
OnJlcGxhY2UoRE9NV2luZG93JiBpbmN1bWJlbnRXaW5kb3csIERPTVdpbmRvdyYgZmlyc3QKICAg
ICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFN5bnRheEVycm9yIH07CiAKICAgICAvLyBXZSBjYWxs
IERPTVdpbmRvdzo6c2V0TG9jYXRpb24gZGlyZWN0bHkgaGVyZSBiZWNhdXNlIHJlcGxhY2UoKSBh
bHdheXMgb3BlcmF0ZXMgb24gdGhlIGN1cnJlbnQgZnJhbWUuCi0gICAgZnJhbWUtPmRvY3VtZW50
KCktPmRvbVdpbmRvdygpLT5zZXRMb2NhdGlvbihpbmN1bWJlbnRXaW5kb3csIGNvbXBsZXRlZFVS
TCwgTG9ja0hpc3RvcnlBbmRCYWNrRm9yd2FyZExpc3QpOworICAgIGZyYW1lLT5kb2N1bWVudCgp
LT5kb21XaW5kb3coKS0+c2V0TG9jYXRpb24oYWN0aXZlV2luZG93LCBjb21wbGV0ZWRVUkwsIExv
Y2tIaXN0b3J5QW5kQmFja0ZvcndhcmRMaXN0KTsKICAgICByZXR1cm4geyB9OwogfQogCi12b2lk
IExvY2F0aW9uOjpyZWxvYWQoRE9NV2luZG93JiBpbmN1bWJlbnRXaW5kb3cpCit2b2lkIExvY2F0
aW9uOjpyZWxvYWQoRE9NV2luZG93JiBhY3RpdmVXaW5kb3cpCiB7CiAgICAgYXV0byogZnJhbWUg
PSB0aGlzLT5mcmFtZSgpOwogICAgIGlmICghZnJhbWUpCiAgICAgICAgIHJldHVybjsKIAotICAg
IEFTU0VSVChpbmN1bWJlbnRXaW5kb3cuZG9jdW1lbnQoKSk7CisgICAgQVNTRVJUKGFjdGl2ZVdp
bmRvdy5kb2N1bWVudCgpKTsKICAgICBBU1NFUlQoZnJhbWUtPmRvY3VtZW50KCkpOwogICAgIEFT
U0VSVChmcmFtZS0+ZG9jdW1lbnQoKS0+ZG9tV2luZG93KCkpOwogCi0gICAgYXV0byYgYWN0aXZl
RG9jdW1lbnQgPSAqaW5jdW1iZW50V2luZG93LmRvY3VtZW50KCk7CisgICAgYXV0byYgYWN0aXZl
RG9jdW1lbnQgPSAqYWN0aXZlV2luZG93LmRvY3VtZW50KCk7CiAgICAgYXV0byYgdGFyZ2V0RG9j
dW1lbnQgPSAqZnJhbWUtPmRvY3VtZW50KCk7CiAKICAgICAvLyBGSVhNRTogSXQncyBub3QgY2xl
YXIgdGhpcyBjcm9zcy1vcmlnaW4gc2VjdXJpdHkgY2hlY2sgaXMgdmFsdWFibGUuCkBAIC0yNTYs
NyArMjU2LDcgQEAgdm9pZCBMb2NhdGlvbjo6cmVsb2FkKERPTVdpbmRvdyYgaW5jdW1iZW50V2lu
ZG93KQogICAgIC8vIE90aGVyIGxvY2F0aW9uIG9wZXJhdGlvbnMgc2ltcGx5IGJsb2NrIHVzZSBv
ZiBKYXZhU2NyaXB0IFVSTHMgY3Jvc3Mgb3JpZ2luLgogICAgIGlmICghYWN0aXZlRG9jdW1lbnQu
c2VjdXJpdHlPcmlnaW4oKS5pc1NhbWVPcmlnaW5Eb21haW4odGFyZ2V0RG9jdW1lbnQuc2VjdXJp
dHlPcmlnaW4oKSkpIHsKICAgICAgICAgYXV0byYgdGFyZ2V0V2luZG93ID0gKnRhcmdldERvY3Vt
ZW50LmRvbVdpbmRvdygpOwotICAgICAgICB0YXJnZXRXaW5kb3cucHJpbnRFcnJvck1lc3NhZ2Uo
dGFyZ2V0V2luZG93LmNyb3NzRG9tYWluQWNjZXNzRXJyb3JNZXNzYWdlKGluY3VtYmVudFdpbmRv
dywgSW5jbHVkZVRhcmdldE9yaWdpbjo6WWVzKSk7CisgICAgICAgIHRhcmdldFdpbmRvdy5wcmlu
dEVycm9yTWVzc2FnZSh0YXJnZXRXaW5kb3cuY3Jvc3NEb21haW5BY2Nlc3NFcnJvck1lc3NhZ2Uo
YWN0aXZlV2luZG93LCBJbmNsdWRlVGFyZ2V0T3JpZ2luOjpZZXMpKTsKICAgICAgICAgcmV0dXJu
OwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Mb2NhdGlvbi5pZGwg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0xvY2F0aW9uLmlkbAppbmRleCBlMDI4MTFkNjIwMDdmZTY0
ZWQ3ZjAyNWIzMWJhN2RhODkzY2QzZGMzLi42OGI2MjQ4MGQwNDIyOGJlNjJlOTIzOTFkNjViNWRk
NjgyODAzZmQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0xvY2F0aW9uLmlkbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0xvY2F0aW9uLmlkbApAQCAtNDUsOSArNDUsOSBAQAog
XSBpbnRlcmZhY2UgTG9jYXRpb24gewogICAgIFtTZXR0ZXJDYWxsV2l0aD1JbmN1bWJlbnRXaW5k
b3cmRmlyc3RXaW5kb3csIERvTm90Q2hlY2tTZWN1cml0eU9uU2V0dGVyXSBzdHJpbmdpZmllciBh
dHRyaWJ1dGUgVVNWU3RyaW5nIGhyZWY7CiAKLSAgICBbQ2FsbFdpdGg9SW5jdW1iZW50V2luZG93
JkZpcnN0V2luZG93XSB1bmRlZmluZWQgYXNzaWduKFVTVlN0cmluZyB1cmwpOwotICAgIFtDYWxs
V2l0aD1JbmN1bWJlbnRXaW5kb3cmRmlyc3RXaW5kb3csIERvTm90Q2hlY2tTZWN1cml0eV0gdW5k
ZWZpbmVkIHJlcGxhY2UoVVNWU3RyaW5nIHVybCk7Ci0gICAgW0NhbGxXaXRoPUluY3VtYmVudFdp
bmRvd10gdW5kZWZpbmVkIHJlbG9hZCgpOworICAgIFtDYWxsV2l0aD1BY3RpdmVXaW5kb3cmRmly
c3RXaW5kb3ddIHVuZGVmaW5lZCBhc3NpZ24oVVNWU3RyaW5nIHVybCk7CisgICAgW0NhbGxXaXRo
PUFjdGl2ZVdpbmRvdyZGaXJzdFdpbmRvdywgRG9Ob3RDaGVja1NlY3VyaXR5XSB1bmRlZmluZWQg
cmVwbGFjZShVU1ZTdHJpbmcgdXJsKTsKKyAgICBbQ2FsbFdpdGg9QWN0aXZlV2luZG93XSB1bmRl
ZmluZWQgcmVsb2FkKCk7CiAKICAgICAvLyBVUkkgZGVjb21wb3NpdGlvbiBhdHRyaWJ1dGVzCiAg
ICAgW1NldHRlckNhbGxXaXRoPUluY3VtYmVudFdpbmRvdyZGaXJzdFdpbmRvd10gYXR0cmlidXRl
IFVTVlN0cmluZyBwcm90b2NvbDsK
</data>
<flag name="review"
          id="457972"
          type_id="1"
          status="+"
          setter="mark.lam"
    />
    <flag name="commit-queue"
          id="457979"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>435244</attachid>
            <date>2021-08-09 23:34:33 -0700</date>
            <delta_ts>2021-08-09 23:46:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-228943-20210809233432.patch</filename>
            <type>text/plain</type>
            <size>11225</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwODExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjRiZmU3ZWQ5ZmQyNjhh
YTM2OGJkMTMyZGNiM2E2MjZiODQxZTk0Ny4uYzgzM2EzZWIzODFjOTgzZDI0N2ExNzY0MjdiOWZj
NzczYTg0ZjNjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDIxLTA4LTA5ICBZdXN1
a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CisKKyAgICAgICAgUGFydGlhbGx5IHJldmVy
dCByMjgwMjU2IGJlaGF2aW9yIGNoYW5nZSBzaW5jZSBpdCBicm9rZSBGYWNldGltZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI4OTQzCisgICAgICAg
IHJkYXI6Ly84MTcwMDI2OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEluIHIyODAyNTYsIGN1c3RvbSBhY2Nlc3NvcnMgc3RhcnQgZ2V0dGluZyBob2xk
ZXIncyBKU0dsb2JhbE9iamVjdCAodGhpcyBpcyByaWdodCBiZWhhdmlvcikuCisgICAgICAgIFdl
IGFsc28gaW50cm9kdWNlZCBJbmN1bWJlbnRXaW5kb3cgSURMIGF0dHJpYnV0ZSB0byBnZXQgdGhl
IGNhbGxlcidzIEpTR2xvYmFsT2JqZWN0LCB3aGljaCBpcworICAgICAgICBuZWNlc3NhcnkgaW4g
TG9jYXRpb24uIEF0IHRoYXQgdGltZSwgd2UgcmVwbGFjZWQgYWxsIEFjdGl2ZVdpbmRvdyB0byBJ
bmN1bWJlbnRXaW5kb3csIGJ1dCBpdAorICAgICAgICBjaGFuZ2VzIHRoZSBKU0dsb2JhbE9iamVj
dCBvZiBgcmVwbGFjZWAsIGBhc3NpZ25gLCBhbmQgYHJlbG9hZGAgc2luY2UgdGhleSBhcmUgZnVu
Y3Rpb25zIChub3QKKyAgICAgICAgY3VzdG9tIGFjY2Vzc29ycykuIFdlIG9ic2VydmVkIHRoYXQs
IGFmdGVyIHRoaXMgY2hhbmdlLCBmYWNldGltZSBXZWIgcGFnZSBpcyBicm9rZW46IHdoZW4gb3Bl
bmluZworICAgICAgICB0aGUgbGluayB0byBGYWNldGltZSwgaXQgc2hvdWxkIHNob3cgdGhlIHBy
b21wdCBvZiAiT3BlbiBpbiBGYWNldGltZSBhcHAiIGluIGlPUy4gQnV0IGFmdGVyIHRoaXMKKyAg
ICAgICAgY2hhbmdlLCBpdCB3b24ndCBoYXBwZW4uCisKKyAgICAgICAgV2UgcmV2ZXJ0IHRoZSBz
ZW1hbnRpYyBjaGFuZ2UgYnkgdXNpbmcgQWN0aXZlV2luZG93IGZvciByZXBsYWNlLCBhc3NpZ24s
IGFuZCByZWxvYWQuIFRoaXMgaXMKKyAgICAgICAgbm90IHRoZSBjb3JyZWN0IHNlbWFudGljcyBm
cm9tIHRoZSBzcGVjLCBidXQgdGhpcyBpcyB0aGUgc2FtZSB0byBvbmUgYmVmb3JlIHIyODAyNTYs
IGFuZCB3ZQorICAgICAgICB3aWxsIGNoYW5nZSB0aGlzIG9uY2Ugd2UgZmluZCB0aGUgd2F5IHRv
IGJ5cGFzcyB0aGlzIGlzc3VlLgorCisgICAgICAgICogcGFnZS9Mb2NhdGlvbi5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpMb2NhdGlvbjo6YXNzaWduKToKKyAgICAgICAgKFdlYkNvcmU6OkxvY2F0
aW9uOjpyZXBsYWNlKToKKyAgICAgICAgKFdlYkNvcmU6OkxvY2F0aW9uOjpyZWxvYWQpOgorICAg
ICAgICAqIHBhZ2UvTG9jYXRpb24uaDoKKyAgICAgICAgKiBwYWdlL0xvY2F0aW9uLmlkbDoKKwog
MjAyMS0wOC0wOSAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAg
ICAgICBWZXJ0aWNhbCBzY3JvbGwgd2l0aCBtb3VzZSB3aGVlbCBpbiBob3Jpem9udGFsIHNjcm9s
bGVyIGZhaWxzIHRvIHByb3BhZ2F0ZSB0byB0aGUgZG9jdW1lbnQKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvTG9jYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Mb2NhdGlv
bi5jcHAKaW5kZXggODRhZDFjYzg3YTg5YjEwYzIzNTRmNDU1OGQ3NmVhYjA5OWViZDA4YS4uNDA4
OTQ0ZGU4N2EzYjc0ZTI3NjMyY2FiNTg0MTgwZTQzMGFjYTczZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9Mb2NhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Mb2Nh
dGlvbi5jcHAKQEAgLTIxMCwxNCArMjEwLDE0IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IExvY2F0aW9u
OjpzZXRIYXNoKERPTVdpbmRvdyYgaW5jdW1iZW50V2luZG93LCBET01XaW5kb3cmIGZpcnN0CiAg
ICAgcmV0dXJuIHNldExvY2F0aW9uKGluY3VtYmVudFdpbmRvdywgZmlyc3RXaW5kb3csIHVybC5z
dHJpbmcoKSk7CiB9CiAKLUV4Y2VwdGlvbk9yPHZvaWQ+IExvY2F0aW9uOjphc3NpZ24oRE9NV2lu
ZG93JiBpbmN1bWJlbnRXaW5kb3csIERPTVdpbmRvdyYgZmlyc3RXaW5kb3csIGNvbnN0IFN0cmlu
ZyYgdXJsKQorRXhjZXB0aW9uT3I8dm9pZD4gTG9jYXRpb246OmFzc2lnbihET01XaW5kb3cmIGFj
dGl2ZVdpbmRvdywgRE9NV2luZG93JiBmaXJzdFdpbmRvdywgY29uc3QgU3RyaW5nJiB1cmwpCiB7
CiAgICAgaWYgKCFmcmFtZSgpKQogICAgICAgICByZXR1cm4geyB9OwotICAgIHJldHVybiBzZXRM
b2NhdGlvbihpbmN1bWJlbnRXaW5kb3csIGZpcnN0V2luZG93LCB1cmwpOworICAgIHJldHVybiBz
ZXRMb2NhdGlvbihhY3RpdmVXaW5kb3csIGZpcnN0V2luZG93LCB1cmwpOwogfQogCi1FeGNlcHRp
b25Pcjx2b2lkPiBMb2NhdGlvbjo6cmVwbGFjZShET01XaW5kb3cmIGluY3VtYmVudFdpbmRvdywg
RE9NV2luZG93JiBmaXJzdFdpbmRvdywgY29uc3QgU3RyaW5nJiB1cmxTdHJpbmcpCitFeGNlcHRp
b25Pcjx2b2lkPiBMb2NhdGlvbjo6cmVwbGFjZShET01XaW5kb3cmIGFjdGl2ZVdpbmRvdywgRE9N
V2luZG93JiBmaXJzdFdpbmRvdywgY29uc3QgU3RyaW5nJiB1cmxTdHJpbmcpCiB7CiAgICAgYXV0
byogZnJhbWUgPSB0aGlzLT5mcmFtZSgpOwogICAgIGlmICghZnJhbWUpCkBAIC0yMzQsMjEgKzIz
NCwyMSBAQCBFeGNlcHRpb25Pcjx2b2lkPiBMb2NhdGlvbjo6cmVwbGFjZShET01XaW5kb3cmIGlu
Y3VtYmVudFdpbmRvdywgRE9NV2luZG93JiBmaXJzdAogICAgICAgICByZXR1cm4gRXhjZXB0aW9u
IHsgU3ludGF4RXJyb3IgfTsKIAogICAgIC8vIFdlIGNhbGwgRE9NV2luZG93OjpzZXRMb2NhdGlv
biBkaXJlY3RseSBoZXJlIGJlY2F1c2UgcmVwbGFjZSgpIGFsd2F5cyBvcGVyYXRlcyBvbiB0aGUg
Y3VycmVudCBmcmFtZS4KLSAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+ZG9tV2luZG93KCktPnNldExv
Y2F0aW9uKGluY3VtYmVudFdpbmRvdywgY29tcGxldGVkVVJMLCBMb2NrSGlzdG9yeUFuZEJhY2tG
b3J3YXJkTGlzdCk7CisgICAgZnJhbWUtPmRvY3VtZW50KCktPmRvbVdpbmRvdygpLT5zZXRMb2Nh
dGlvbihhY3RpdmVXaW5kb3csIGNvbXBsZXRlZFVSTCwgTG9ja0hpc3RvcnlBbmRCYWNrRm9yd2Fy
ZExpc3QpOwogICAgIHJldHVybiB7IH07CiB9CiAKLXZvaWQgTG9jYXRpb246OnJlbG9hZChET01X
aW5kb3cmIGluY3VtYmVudFdpbmRvdykKK3ZvaWQgTG9jYXRpb246OnJlbG9hZChET01XaW5kb3cm
IGFjdGl2ZVdpbmRvdykKIHsKICAgICBhdXRvKiBmcmFtZSA9IHRoaXMtPmZyYW1lKCk7CiAgICAg
aWYgKCFmcmFtZSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgQVNTRVJUKGluY3VtYmVudFdpbmRv
dy5kb2N1bWVudCgpKTsKKyAgICBBU1NFUlQoYWN0aXZlV2luZG93LmRvY3VtZW50KCkpOwogICAg
IEFTU0VSVChmcmFtZS0+ZG9jdW1lbnQoKSk7CiAgICAgQVNTRVJUKGZyYW1lLT5kb2N1bWVudCgp
LT5kb21XaW5kb3coKSk7CiAKLSAgICBhdXRvJiBhY3RpdmVEb2N1bWVudCA9ICppbmN1bWJlbnRX
aW5kb3cuZG9jdW1lbnQoKTsKKyAgICBhdXRvJiBhY3RpdmVEb2N1bWVudCA9ICphY3RpdmVXaW5k
b3cuZG9jdW1lbnQoKTsKICAgICBhdXRvJiB0YXJnZXREb2N1bWVudCA9ICpmcmFtZS0+ZG9jdW1l
bnQoKTsKIAogICAgIC8vIEZJWE1FOiBJdCdzIG5vdCBjbGVhciB0aGlzIGNyb3NzLW9yaWdpbiBz
ZWN1cml0eSBjaGVjayBpcyB2YWx1YWJsZS4KQEAgLTI1Niw3ICsyNTYsNyBAQCB2b2lkIExvY2F0
aW9uOjpyZWxvYWQoRE9NV2luZG93JiBpbmN1bWJlbnRXaW5kb3cpCiAgICAgLy8gT3RoZXIgbG9j
YXRpb24gb3BlcmF0aW9ucyBzaW1wbHkgYmxvY2sgdXNlIG9mIEphdmFTY3JpcHQgVVJMcyBjcm9z
cyBvcmlnaW4uCiAgICAgaWYgKCFhY3RpdmVEb2N1bWVudC5zZWN1cml0eU9yaWdpbigpLmlzU2Ft
ZU9yaWdpbkRvbWFpbih0YXJnZXREb2N1bWVudC5zZWN1cml0eU9yaWdpbigpKSkgewogICAgICAg
ICBhdXRvJiB0YXJnZXRXaW5kb3cgPSAqdGFyZ2V0RG9jdW1lbnQuZG9tV2luZG93KCk7Ci0gICAg
ICAgIHRhcmdldFdpbmRvdy5wcmludEVycm9yTWVzc2FnZSh0YXJnZXRXaW5kb3cuY3Jvc3NEb21h
aW5BY2Nlc3NFcnJvck1lc3NhZ2UoaW5jdW1iZW50V2luZG93LCBJbmNsdWRlVGFyZ2V0T3JpZ2lu
OjpZZXMpKTsKKyAgICAgICAgdGFyZ2V0V2luZG93LnByaW50RXJyb3JNZXNzYWdlKHRhcmdldFdp
bmRvdy5jcm9zc0RvbWFpbkFjY2Vzc0Vycm9yTWVzc2FnZShhY3RpdmVXaW5kb3csIEluY2x1ZGVU
YXJnZXRPcmlnaW46OlllcykpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0xvY2F0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0xv
Y2F0aW9uLmgKaW5kZXggYjc5Zjg0YjZkMDYzMTgzNzY3MDU4MmQ5ZmJlM2JjOWYyOWZjMmM1MS4u
NzljMDMwNzg4MWNhMDQyNTI1YjM1MzFlMjgxMDYwM2RlZTQ2MmYwZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9Mb2NhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTG9j
YXRpb24uaApAQCAtNDUsOSArNDUsOSBAQCBjbGFzcyBMb2NhdGlvbiBmaW5hbCA6IHB1YmxpYyBT
Y3JpcHRXcmFwcGFibGUsIHB1YmxpYyBSZWZDb3VudGVkPExvY2F0aW9uPiwgcHVibAogICAgIEV4
Y2VwdGlvbk9yPHZvaWQ+IHNldEhyZWYoRE9NV2luZG93JiBpbmN1bWJlbnRXaW5kb3csIERPTVdp
bmRvdyYgZmlyc3RXaW5kb3csIGNvbnN0IFN0cmluZyYpOwogICAgIFN0cmluZyBocmVmKCkgY29u
c3Q7CiAKLSAgICBFeGNlcHRpb25Pcjx2b2lkPiBhc3NpZ24oRE9NV2luZG93JiBpbmN1bWJlbnRX
aW5kb3csIERPTVdpbmRvdyYgZmlyc3RXaW5kb3csIGNvbnN0IFN0cmluZyYpOwotICAgIEV4Y2Vw
dGlvbk9yPHZvaWQ+IHJlcGxhY2UoRE9NV2luZG93JiBpbmN1bWJlbnRXaW5kb3csIERPTVdpbmRv
dyYgZmlyc3RXaW5kb3csIGNvbnN0IFN0cmluZyYpOwotICAgIHZvaWQgcmVsb2FkKERPTVdpbmRv
dyYgaW5jdW1iZW50V2luZG93KTsKKyAgICBFeGNlcHRpb25Pcjx2b2lkPiBhc3NpZ24oRE9NV2lu
ZG93JiBhY3RpdmVXaW5kb3csIERPTVdpbmRvdyYgZmlyc3RXaW5kb3csIGNvbnN0IFN0cmluZyYp
OworICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHJlcGxhY2UoRE9NV2luZG93JiBhY3RpdmVXaW5kb3cs
IERPTVdpbmRvdyYgZmlyc3RXaW5kb3csIGNvbnN0IFN0cmluZyYpOworICAgIHZvaWQgcmVsb2Fk
KERPTVdpbmRvdyYgYWN0aXZlV2luZG93KTsKIAogICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldFBy
b3RvY29sKERPTVdpbmRvdyYgaW5jdW1iZW50V2luZG93LCBET01XaW5kb3cmIGZpcnN0V2luZG93
LCBjb25zdCBTdHJpbmcmKTsKICAgICBTdHJpbmcgcHJvdG9jb2woKSBjb25zdDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTG9jYXRpb24uaWRsIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9Mb2NhdGlvbi5pZGwKaW5kZXggZTAyODExZDYyMDA3ZmU2NGVkN2YwMjViMzFiYTdkYTg5M2Nk
M2RjMy4uYzJjNjZjNjc2ODdlZWYwMjhhZGRmMGI4N2JlMTMxMDk5ZmM4NWEzNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Mb2NhdGlvbi5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9Mb2NhdGlvbi5pZGwKQEAgLTQ1LDkgKzQ1LDEwIEBACiBdIGludGVyZmFjZSBMb2NhdGlv
biB7CiAgICAgW1NldHRlckNhbGxXaXRoPUluY3VtYmVudFdpbmRvdyZGaXJzdFdpbmRvdywgRG9O
b3RDaGVja1NlY3VyaXR5T25TZXR0ZXJdIHN0cmluZ2lmaWVyIGF0dHJpYnV0ZSBVU1ZTdHJpbmcg
aHJlZjsKIAotICAgIFtDYWxsV2l0aD1JbmN1bWJlbnRXaW5kb3cmRmlyc3RXaW5kb3ddIHVuZGVm
aW5lZCBhc3NpZ24oVVNWU3RyaW5nIHVybCk7Ci0gICAgW0NhbGxXaXRoPUluY3VtYmVudFdpbmRv
dyZGaXJzdFdpbmRvdywgRG9Ob3RDaGVja1NlY3VyaXR5XSB1bmRlZmluZWQgcmVwbGFjZShVU1ZT
dHJpbmcgdXJsKTsKLSAgICBbQ2FsbFdpdGg9SW5jdW1iZW50V2luZG93XSB1bmRlZmluZWQgcmVs
b2FkKCk7CisgICAgLy8gRklYTUU6IFdlIHNob3VsZCB1c2UgSW5jdW1iZW50V2luZG93IG9uY2Ug
d2UgZm91bmQgd2h5IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjg5
NDMgaXNzdWUgb2NjdXJlZC4KKyAgICBbQ2FsbFdpdGg9QWN0aXZlV2luZG93JkZpcnN0V2luZG93
XSB1bmRlZmluZWQgYXNzaWduKFVTVlN0cmluZyB1cmwpOworICAgIFtDYWxsV2l0aD1BY3RpdmVX
aW5kb3cmRmlyc3RXaW5kb3csIERvTm90Q2hlY2tTZWN1cml0eV0gdW5kZWZpbmVkIHJlcGxhY2Uo
VVNWU3RyaW5nIHVybCk7CisgICAgW0NhbGxXaXRoPUFjdGl2ZVdpbmRvd10gdW5kZWZpbmVkIHJl
bG9hZCgpOwogCiAgICAgLy8gVVJJIGRlY29tcG9zaXRpb24gYXR0cmlidXRlcwogICAgIFtTZXR0
ZXJDYWxsV2l0aD1JbmN1bWJlbnRXaW5kb3cmRmlyc3RXaW5kb3ddIGF0dHJpYnV0ZSBVU1ZTdHJp
bmcgcHJvdG9jb2w7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKaW5kZXggZmNlNzc4ZTBmZGEzYzdlODFkMzdlODMyNDQxYjljMmY2MmQ3
YzM5Mi4uMTdlN2U3MjkyZjkyNzY1M2YzNTM5NjMxYWE3NTUyMzliMGJlNGUzYiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE1IEBACisyMDIxLTA4LTA5ICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5j
b20+CisKKyAgICAgICAgUGFydGlhbGx5IHJldmVydCByMjgwMjU2IGJlaGF2aW9yIGNoYW5nZSBz
aW5jZSBpdCBicm9rZSBGYWNldGltZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjI4OTQzCisgICAgICAgIHJkYXI6Ly84MTcwMDI2OAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9mcmFtZXMvc2Fu
ZGJveGVkLWlmcmFtZS1uYXZpZ2F0aW9uLXBhcmVudC1leHBlY3RlZC50eHQ6CisgICAgICAgICog
ZmFzdC9mcmFtZXMvc2FuZGJveGVkLWlmcmFtZS1uYXZpZ2F0aW9uLXBhcmVudC5odG1sOgorICAg
ICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvZnJhbWVOYXZpZ2F0aW9uL2NvbnRleHQtZm9yLWxv
Y2F0aW9uLWFzc2lnbi1leHBlY3RlZC50eHQ6CisKIDIwMjEtMDgtMDkgIFJvYmVydCBKZW5uZXIg
IDxKZW5uZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFsgTW9udGVyZXkgUmVsZWFzZSB3azIgXSBw
bGF0Zm9ybS9tYWMvZmFzdC9vdmVyZmxvdy9vdmVyZmxvdy1zY3JvbGxiYXItaGl0LXRlc3QuaHRt
bCBpcyBhIGZsYWt5IGNyYXNoCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9z
YW5kYm94ZWQtaWZyYW1lLW5hdmlnYXRpb24tcGFyZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2Zhc3QvZnJhbWVzL3NhbmRib3hlZC1pZnJhbWUtbmF2aWdhdGlvbi1wYXJlbnQtZXhwZWN0
ZWQudHh0CmluZGV4IGY2ZjQ2ZTgxZGVhODlkMzA2NjFkN2VjNzFhNzJlYjNmMmE1Y2IwZGYuLmY3
NTRjOGFhOGY2ODA2N2YzODNkYWY3M2FhNmMwNTkxNjBkNmQzOTAgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvZnJhbWVzL3NhbmRib3hlZC1pZnJhbWUtbmF2aWdhdGlvbi1wYXJlbnQtZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL3NhbmRib3hlZC1pZnJhbWUt
bmF2aWdhdGlvbi1wYXJlbnQtZXhwZWN0ZWQudHh0CkBAIC0xLDExICsxLDYgQEAKLUNPTlNPTEUg
TUVTU0FHRTogVW5zYWZlIEphdmFTY3JpcHQgYXR0ZW1wdCB0byBpbml0aWF0ZSBuYXZpZ2F0aW9u
IGZvciBmcmFtZSB3aXRoIFVSTCAnc2FuZGJveGVkLWlmcmFtZS1uYXZpZ2F0aW9uLXNvdXJjZS5o
dG1sJy4gVGhlIGZyYW1lIGF0dGVtcHRpbmcgbmF2aWdhdGlvbiBpcyBzYW5kYm94ZWQsIGFuZCBp
cyB0aGVyZWZvcmUgZGlzYWxsb3dlZCBmcm9tIG5hdmlnYXRpbmcgaXRzIGFuY2VzdG9ycy4KLQot
Q09OU09MRSBNRVNTQUdFOiBTZWN1cml0eUVycm9yOiBUaGUgb3BlcmF0aW9uIGlzIGluc2VjdXJl
LgotVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgYSBzYW5kYm94ZWQgSUZyYW1lIGNhbm5vdCBuYXZp
Z2F0ZSBhbiBhbmNlc3RvciBpbiB0aGUgZnJhbWUgdHJlZSBieSBhc3NpZ25pbmcgdGhlIGxvY2F0
aW9uIGF0dHJpYnV0ZS4KLQotVGhpcyBpcyBkb25lIGJ5IGxvYWRpbmcgdGVuIG5vbi1zYW5kYm94
ZWQgSUZyYW1lcywgYW5kIGEgc2luZ2xlIHNhbmRib3hlZCBvbmUuIEV4cGVjdCB0ZW4gZnJhbWVz
IHRvIGJlIG5hdmlnYXRlZCwgYnV0IHRoZSBzYW5kYm94ZWQgb25lIHRvIG5vdCBiZSBvbmUgb2Yg
dGhlbS4KK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IGEgc2FuZGJveGVkIElGcmFtZSB3aXRoIHRo
ZSBrZXl3b3JkcyBhbGxvdy1zY3JpcHRzIGFuZCBhbGxvdy1zYW1lLW9yaWdpbiBpcyBhbGxvd2Vk
IHRvIG5hdmlnYXRlIGFuIGFuY2VzdG9yIGluIHRoZSBmcmFtZSB0cmVlIGJ5IGFzc2lnbmluZyB0
aGUgbG9jYXRpb24gYXR0cmlidXRlLgogCiBUaGlzIHRlc3Qgd2lsbCBwcmludCAiUEFTUyIgb24g
c3VjY2Vzcy4KIAotCisgICAgICAgICAgICAgICAKIFBBU1MKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZnJhbWVzL3NhbmRib3hlZC1pZnJhbWUtbmF2aWdhdGlvbi1wYXJlbnQuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL3NhbmRib3hlZC1pZnJhbWUtbmF2aWdhdGlvbi1wYXJl
bnQuaHRtbAppbmRleCAzYjdlMWE2ZmYwOTNhODVhMDFlOTYwOTA4NmM2YmJlOThiNTFmYWUyLi4y
MTY5YjkwMjQ5NjY5MTEzZmJiNjgwNTc1YTkxNjlhYTc1MzdjOWZkIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L2ZyYW1lcy9zYW5kYm94ZWQtaWZyYW1lLW5hdmlnYXRpb24tcGFyZW50Lmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvc2FuZGJveGVkLWlmcmFtZS1uYXZpZ2F0
aW9uLXBhcmVudC5odG1sCkBAIC0xMyw5ICsxMyw5IEBACiB7CiAgICAgdmFyIHRlc3RTdGF0dXMg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdFN0YXR1cycpOwogCi0gICAgaWYgKHNlbGYu
bmF2aWdhdGVkLmxvY2F0aW9uLmhyZWYuaW5kZXhPZigncGFyZW50Lmh0bWwnKSA9PSAtMSkKLSAg
ICAgICAgdGVzdFN0YXR1cy5pbm5lckhUTUwgPSAnRkFJTDogZGlzYWxsb3dlZCBmcmFtZSBuYXZp
Z2F0ZWQnOwotICAgIGVsc2UgaWYgKG5hdmlnYXRlZEZyYW1lcyA9PSAxMCkKKyAgICBpZiAoc2Vs
Zi5uYXZpZ2F0ZWQubG9jYXRpb24uaHJlZi5pbmRleE9mKCdwYXJlbnQuaHRtbCcpICE9IC0xKQor
ICAgICAgICB0ZXN0U3RhdHVzLmlubmVySFRNTCA9ICdGQUlMOiBzYW5kYm94ZWQgZnJhbWUgY291
bGRuXCd0IG5hdmlnYXRlJzsKKyAgICBlbHNlIGlmIChuYXZpZ2F0ZWRGcmFtZXMgPT0gMTEpCiAg
ICAgICAgIHRlc3RTdGF0dXMuaW5uZXJIVE1MID0gJ1BBU1MnOwogICAgIGVsc2UKICAgICAgICAg
dGVzdFN0YXR1cy5pbm5lckhUTUwgPSAnRkFJTDogZnJhbWVzIG5vdCBuYXZpZ2F0ZWQgcHJvcGVy
bHknOwpAQCAtMjgsNyArMjgsNyBAQAogewogICAgICsrbmF2aWdhdGVkRnJhbWVzOwogCi0gICAg
aWYgKG5hdmlnYXRlZEZyYW1lcyA9PSAxMCkKKyAgICBpZiAobmF2aWdhdGVkRnJhbWVzID09IDEx
KQogICAgICAgICBjaGVja1Jlc3VsdHMoKTsKIH0KIApAQCAtMzcsMTMgKzM3LDEwIEBACiAKIDxi
b2R5PgogCi0gICAgPHA+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgYSBzYW5kYm94ZWQgSUZyYW1l
IGNhbm5vdCBuYXZpZ2F0ZSBhbiBhbmNlc3RvcgorICAgIDxwPlRoaXMgdGVzdCB2ZXJpZmllcyB0
aGF0IGEgc2FuZGJveGVkIElGcmFtZSB3aXRoIHRoZSBrZXl3b3JkcworICAgIGFsbG93LXNjcmlw
dHMgYW5kIGFsbG93LXNhbWUtb3JpZ2luIGlzIGFsbG93ZWQgdG8gbmF2aWdhdGUgYW4gYW5jZXN0
b3IKICAgICBpbiB0aGUgZnJhbWUgdHJlZSBieSBhc3NpZ25pbmcgdGhlIGxvY2F0aW9uIGF0dHJp
YnV0ZS48L3A+CiAKLSAgICA8cD5UaGlzIGlzIGRvbmUgYnkgbG9hZGluZyB0ZW4gbm9uLXNhbmRi
b3hlZCBJRnJhbWVzLCBhbmQgYSBzaW5nbGUKLSAgICBzYW5kYm94ZWQgb25lLiBFeHBlY3QgdGVu
IGZyYW1lcyB0byBiZSBuYXZpZ2F0ZWQsIGJ1dCB0aGUgc2FuZGJveGVkCi0gICAgb25lIHRvIDxi
Pm5vdDwvYj4gYmUgb25lIG9mIHRoZW0uPC9wPgotICAgIAogICAgIDxwPlRoaXMgdGVzdCB3aWxs
IHByaW50ICZxdW90O1BBU1MmcXVvdDsgb24gc3VjY2Vzcy48L3A+CiAKICAgICA8aWZyYW1lIHNy
Yz0icmVzb3VyY2VzL25vbi1zYW5kYm94ZWQtaWZyYW1lLW5hdmlnYXRpb24uaHRtbCI+PC9pZnJh
bWU+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2ZyYW1lTmF2
aWdhdGlvbi9jb250ZXh0LWZvci1sb2NhdGlvbi1hc3NpZ24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9mcmFtZU5hdmlnYXRpb24vY29udGV4dC1mb3ItbG9j
YXRpb24tYXNzaWduLWV4cGVjdGVkLnR4dAppbmRleCBkZmRhNjA4YjdkZTU1YzllZTZhNDg3M2Q4
YTdjNmZjODg0ZTkxMTZmLi5hNmViNmE3MWNjZDA3MjYzZGYzOTVkNTY4ZDY0ZGMzYWRlYzMzZjMx
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2ZyYW1lTmF2aWdh
dGlvbi9jb250ZXh0LWZvci1sb2NhdGlvbi1hc3NpZ24tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvZnJhbWVOYXZpZ2F0aW9uL2NvbnRleHQtZm9yLWxv
Y2F0aW9uLWFzc2lnbi1leHBlY3RlZC50eHQKQEAgLTEsMiArMSwyIEBACi1kb2N1bWVudC5yZWZl
cnJlciA9IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9zZWN1cml0eS9mcmFtZU5hdmlnYXRpb24vY29u
dGV4dC1mb3ItbG9jYXRpb24tYXNzaWduLmh0bWwKK2RvY3VtZW50LnJlZmVycmVyID0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>435245</attachid>
            <date>2021-08-09 23:47:07 -0700</date>
            <delta_ts>2021-08-10 02:33:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-228943-20210809234706.patch</filename>
            <type>text/plain</type>
            <size>11199</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwODExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjRiZmU3ZWQ5ZmQyNjhh
YTM2OGJkMTMyZGNiM2E2MjZiODQxZTk0Ny4uYzgzM2EzZWIzODFjOTgzZDI0N2ExNzY0MjdiOWZj
NzczYTg0ZjNjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDIxLTA4LTA5ICBZdXN1
a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CisKKyAgICAgICAgUGFydGlhbGx5IHJldmVy
dCByMjgwMjU2IGJlaGF2aW9yIGNoYW5nZSBzaW5jZSBpdCBicm9rZSBGYWNldGltZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI4OTQzCisgICAgICAg
IHJkYXI6Ly84MTcwMDI2OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEluIHIyODAyNTYsIGN1c3RvbSBhY2Nlc3NvcnMgc3RhcnQgZ2V0dGluZyBob2xk
ZXIncyBKU0dsb2JhbE9iamVjdCAodGhpcyBpcyByaWdodCBiZWhhdmlvcikuCisgICAgICAgIFdl
IGFsc28gaW50cm9kdWNlZCBJbmN1bWJlbnRXaW5kb3cgSURMIGF0dHJpYnV0ZSB0byBnZXQgdGhl
IGNhbGxlcidzIEpTR2xvYmFsT2JqZWN0LCB3aGljaCBpcworICAgICAgICBuZWNlc3NhcnkgaW4g
TG9jYXRpb24uIEF0IHRoYXQgdGltZSwgd2UgcmVwbGFjZWQgYWxsIEFjdGl2ZVdpbmRvdyB0byBJ
bmN1bWJlbnRXaW5kb3csIGJ1dCBpdAorICAgICAgICBjaGFuZ2VzIHRoZSBKU0dsb2JhbE9iamVj
dCBvZiBgcmVwbGFjZWAsIGBhc3NpZ25gLCBhbmQgYHJlbG9hZGAgc2luY2UgdGhleSBhcmUgZnVu
Y3Rpb25zIChub3QKKyAgICAgICAgY3VzdG9tIGFjY2Vzc29ycykuIFdlIG9ic2VydmVkIHRoYXQs
IGFmdGVyIHRoaXMgY2hhbmdlLCBmYWNldGltZSBXZWIgcGFnZSBpcyBicm9rZW46IHdoZW4gb3Bl
bmluZworICAgICAgICB0aGUgbGluayB0byBGYWNldGltZSwgaXQgc2hvdWxkIHNob3cgdGhlIHBy
b21wdCBvZiAiT3BlbiBpbiBGYWNldGltZSBhcHAiIGluIGlPUy4gQnV0IGFmdGVyIHRoaXMKKyAg
ICAgICAgY2hhbmdlLCBpdCB3b24ndCBoYXBwZW4uCisKKyAgICAgICAgV2UgcmV2ZXJ0IHRoZSBz
ZW1hbnRpYyBjaGFuZ2UgYnkgdXNpbmcgQWN0aXZlV2luZG93IGZvciByZXBsYWNlLCBhc3NpZ24s
IGFuZCByZWxvYWQuIFRoaXMgaXMKKyAgICAgICAgbm90IHRoZSBjb3JyZWN0IHNlbWFudGljcyBm
cm9tIHRoZSBzcGVjLCBidXQgdGhpcyBpcyB0aGUgc2FtZSB0byBvbmUgYmVmb3JlIHIyODAyNTYs
IGFuZCB3ZQorICAgICAgICB3aWxsIGNoYW5nZSB0aGlzIG9uY2Ugd2UgZmluZCB0aGUgd2F5IHRv
IGJ5cGFzcyB0aGlzIGlzc3VlLgorCisgICAgICAgICogcGFnZS9Mb2NhdGlvbi5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpMb2NhdGlvbjo6YXNzaWduKToKKyAgICAgICAgKFdlYkNvcmU6OkxvY2F0
aW9uOjpyZXBsYWNlKToKKyAgICAgICAgKFdlYkNvcmU6OkxvY2F0aW9uOjpyZWxvYWQpOgorICAg
ICAgICAqIHBhZ2UvTG9jYXRpb24uaDoKKyAgICAgICAgKiBwYWdlL0xvY2F0aW9uLmlkbDoKKwog
MjAyMS0wOC0wOSAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAg
ICAgICBWZXJ0aWNhbCBzY3JvbGwgd2l0aCBtb3VzZSB3aGVlbCBpbiBob3Jpem9udGFsIHNjcm9s
bGVyIGZhaWxzIHRvIHByb3BhZ2F0ZSB0byB0aGUgZG9jdW1lbnQKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvTG9jYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Mb2NhdGlv
bi5jcHAKaW5kZXggODRhZDFjYzg3YTg5YjEwYzIzNTRmNDU1OGQ3NmVhYjA5OWViZDA4YS4uNDA4
OTQ0ZGU4N2EzYjc0ZTI3NjMyY2FiNTg0MTgwZTQzMGFjYTczZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9Mb2NhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Mb2Nh
dGlvbi5jcHAKQEAgLTIxMCwxNCArMjEwLDE0IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IExvY2F0aW9u
OjpzZXRIYXNoKERPTVdpbmRvdyYgaW5jdW1iZW50V2luZG93LCBET01XaW5kb3cmIGZpcnN0CiAg
ICAgcmV0dXJuIHNldExvY2F0aW9uKGluY3VtYmVudFdpbmRvdywgZmlyc3RXaW5kb3csIHVybC5z
dHJpbmcoKSk7CiB9CiAKLUV4Y2VwdGlvbk9yPHZvaWQ+IExvY2F0aW9uOjphc3NpZ24oRE9NV2lu
ZG93JiBpbmN1bWJlbnRXaW5kb3csIERPTVdpbmRvdyYgZmlyc3RXaW5kb3csIGNvbnN0IFN0cmlu
ZyYgdXJsKQorRXhjZXB0aW9uT3I8dm9pZD4gTG9jYXRpb246OmFzc2lnbihET01XaW5kb3cmIGFj
dGl2ZVdpbmRvdywgRE9NV2luZG93JiBmaXJzdFdpbmRvdywgY29uc3QgU3RyaW5nJiB1cmwpCiB7
CiAgICAgaWYgKCFmcmFtZSgpKQogICAgICAgICByZXR1cm4geyB9OwotICAgIHJldHVybiBzZXRM
b2NhdGlvbihpbmN1bWJlbnRXaW5kb3csIGZpcnN0V2luZG93LCB1cmwpOworICAgIHJldHVybiBz
ZXRMb2NhdGlvbihhY3RpdmVXaW5kb3csIGZpcnN0V2luZG93LCB1cmwpOwogfQogCi1FeGNlcHRp
b25Pcjx2b2lkPiBMb2NhdGlvbjo6cmVwbGFjZShET01XaW5kb3cmIGluY3VtYmVudFdpbmRvdywg
RE9NV2luZG93JiBmaXJzdFdpbmRvdywgY29uc3QgU3RyaW5nJiB1cmxTdHJpbmcpCitFeGNlcHRp
b25Pcjx2b2lkPiBMb2NhdGlvbjo6cmVwbGFjZShET01XaW5kb3cmIGFjdGl2ZVdpbmRvdywgRE9N
V2luZG93JiBmaXJzdFdpbmRvdywgY29uc3QgU3RyaW5nJiB1cmxTdHJpbmcpCiB7CiAgICAgYXV0
byogZnJhbWUgPSB0aGlzLT5mcmFtZSgpOwogICAgIGlmICghZnJhbWUpCkBAIC0yMzQsMjEgKzIz
NCwyMSBAQCBFeGNlcHRpb25Pcjx2b2lkPiBMb2NhdGlvbjo6cmVwbGFjZShET01XaW5kb3cmIGlu
Y3VtYmVudFdpbmRvdywgRE9NV2luZG93JiBmaXJzdAogICAgICAgICByZXR1cm4gRXhjZXB0aW9u
IHsgU3ludGF4RXJyb3IgfTsKIAogICAgIC8vIFdlIGNhbGwgRE9NV2luZG93OjpzZXRMb2NhdGlv
biBkaXJlY3RseSBoZXJlIGJlY2F1c2UgcmVwbGFjZSgpIGFsd2F5cyBvcGVyYXRlcyBvbiB0aGUg
Y3VycmVudCBmcmFtZS4KLSAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+ZG9tV2luZG93KCktPnNldExv
Y2F0aW9uKGluY3VtYmVudFdpbmRvdywgY29tcGxldGVkVVJMLCBMb2NrSGlzdG9yeUFuZEJhY2tG
b3J3YXJkTGlzdCk7CisgICAgZnJhbWUtPmRvY3VtZW50KCktPmRvbVdpbmRvdygpLT5zZXRMb2Nh
dGlvbihhY3RpdmVXaW5kb3csIGNvbXBsZXRlZFVSTCwgTG9ja0hpc3RvcnlBbmRCYWNrRm9yd2Fy
ZExpc3QpOwogICAgIHJldHVybiB7IH07CiB9CiAKLXZvaWQgTG9jYXRpb246OnJlbG9hZChET01X
aW5kb3cmIGluY3VtYmVudFdpbmRvdykKK3ZvaWQgTG9jYXRpb246OnJlbG9hZChET01XaW5kb3cm
IGFjdGl2ZVdpbmRvdykKIHsKICAgICBhdXRvKiBmcmFtZSA9IHRoaXMtPmZyYW1lKCk7CiAgICAg
aWYgKCFmcmFtZSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgQVNTRVJUKGluY3VtYmVudFdpbmRv
dy5kb2N1bWVudCgpKTsKKyAgICBBU1NFUlQoYWN0aXZlV2luZG93LmRvY3VtZW50KCkpOwogICAg
IEFTU0VSVChmcmFtZS0+ZG9jdW1lbnQoKSk7CiAgICAgQVNTRVJUKGZyYW1lLT5kb2N1bWVudCgp
LT5kb21XaW5kb3coKSk7CiAKLSAgICBhdXRvJiBhY3RpdmVEb2N1bWVudCA9ICppbmN1bWJlbnRX
aW5kb3cuZG9jdW1lbnQoKTsKKyAgICBhdXRvJiBhY3RpdmVEb2N1bWVudCA9ICphY3RpdmVXaW5k
b3cuZG9jdW1lbnQoKTsKICAgICBhdXRvJiB0YXJnZXREb2N1bWVudCA9ICpmcmFtZS0+ZG9jdW1l
bnQoKTsKIAogICAgIC8vIEZJWE1FOiBJdCdzIG5vdCBjbGVhciB0aGlzIGNyb3NzLW9yaWdpbiBz
ZWN1cml0eSBjaGVjayBpcyB2YWx1YWJsZS4KQEAgLTI1Niw3ICsyNTYsNyBAQCB2b2lkIExvY2F0
aW9uOjpyZWxvYWQoRE9NV2luZG93JiBpbmN1bWJlbnRXaW5kb3cpCiAgICAgLy8gT3RoZXIgbG9j
YXRpb24gb3BlcmF0aW9ucyBzaW1wbHkgYmxvY2sgdXNlIG9mIEphdmFTY3JpcHQgVVJMcyBjcm9z
cyBvcmlnaW4uCiAgICAgaWYgKCFhY3RpdmVEb2N1bWVudC5zZWN1cml0eU9yaWdpbigpLmlzU2Ft
ZU9yaWdpbkRvbWFpbih0YXJnZXREb2N1bWVudC5zZWN1cml0eU9yaWdpbigpKSkgewogICAgICAg
ICBhdXRvJiB0YXJnZXRXaW5kb3cgPSAqdGFyZ2V0RG9jdW1lbnQuZG9tV2luZG93KCk7Ci0gICAg
ICAgIHRhcmdldFdpbmRvdy5wcmludEVycm9yTWVzc2FnZSh0YXJnZXRXaW5kb3cuY3Jvc3NEb21h
aW5BY2Nlc3NFcnJvck1lc3NhZ2UoaW5jdW1iZW50V2luZG93LCBJbmNsdWRlVGFyZ2V0T3JpZ2lu
OjpZZXMpKTsKKyAgICAgICAgdGFyZ2V0V2luZG93LnByaW50RXJyb3JNZXNzYWdlKHRhcmdldFdp
bmRvdy5jcm9zc0RvbWFpbkFjY2Vzc0Vycm9yTWVzc2FnZShhY3RpdmVXaW5kb3csIEluY2x1ZGVU
YXJnZXRPcmlnaW46OlllcykpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0xvY2F0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0xv
Y2F0aW9uLmgKaW5kZXggYjc5Zjg0YjZkMDYzMTgzNzY3MDU4MmQ5ZmJlM2JjOWYyOWZjMmM1MS4u
NzljMDMwNzg4MWNhMDQyNTI1YjM1MzFlMjgxMDYwM2RlZTQ2MmYwZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9Mb2NhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTG9j
YXRpb24uaApAQCAtNDUsOSArNDUsOSBAQCBjbGFzcyBMb2NhdGlvbiBmaW5hbCA6IHB1YmxpYyBT
Y3JpcHRXcmFwcGFibGUsIHB1YmxpYyBSZWZDb3VudGVkPExvY2F0aW9uPiwgcHVibAogICAgIEV4
Y2VwdGlvbk9yPHZvaWQ+IHNldEhyZWYoRE9NV2luZG93JiBpbmN1bWJlbnRXaW5kb3csIERPTVdp
bmRvdyYgZmlyc3RXaW5kb3csIGNvbnN0IFN0cmluZyYpOwogICAgIFN0cmluZyBocmVmKCkgY29u
c3Q7CiAKLSAgICBFeGNlcHRpb25Pcjx2b2lkPiBhc3NpZ24oRE9NV2luZG93JiBpbmN1bWJlbnRX
aW5kb3csIERPTVdpbmRvdyYgZmlyc3RXaW5kb3csIGNvbnN0IFN0cmluZyYpOwotICAgIEV4Y2Vw
dGlvbk9yPHZvaWQ+IHJlcGxhY2UoRE9NV2luZG93JiBpbmN1bWJlbnRXaW5kb3csIERPTVdpbmRv
dyYgZmlyc3RXaW5kb3csIGNvbnN0IFN0cmluZyYpOwotICAgIHZvaWQgcmVsb2FkKERPTVdpbmRv
dyYgaW5jdW1iZW50V2luZG93KTsKKyAgICBFeGNlcHRpb25Pcjx2b2lkPiBhc3NpZ24oRE9NV2lu
ZG93JiBhY3RpdmVXaW5kb3csIERPTVdpbmRvdyYgZmlyc3RXaW5kb3csIGNvbnN0IFN0cmluZyYp
OworICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHJlcGxhY2UoRE9NV2luZG93JiBhY3RpdmVXaW5kb3cs
IERPTVdpbmRvdyYgZmlyc3RXaW5kb3csIGNvbnN0IFN0cmluZyYpOworICAgIHZvaWQgcmVsb2Fk
KERPTVdpbmRvdyYgYWN0aXZlV2luZG93KTsKIAogICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldFBy
b3RvY29sKERPTVdpbmRvdyYgaW5jdW1iZW50V2luZG93LCBET01XaW5kb3cmIGZpcnN0V2luZG93
LCBjb25zdCBTdHJpbmcmKTsKICAgICBTdHJpbmcgcHJvdG9jb2woKSBjb25zdDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTG9jYXRpb24uaWRsIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9Mb2NhdGlvbi5pZGwKaW5kZXggZTAyODExZDYyMDA3ZmU2NGVkN2YwMjViMzFiYTdkYTg5M2Nk
M2RjMy4uYzJjNjZjNjc2ODdlZWYwMjhhZGRmMGI4N2JlMTMxMDk5ZmM4NWEzNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Mb2NhdGlvbi5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9Mb2NhdGlvbi5pZGwKQEAgLTQ1LDkgKzQ1LDEwIEBACiBdIGludGVyZmFjZSBMb2NhdGlv
biB7CiAgICAgW1NldHRlckNhbGxXaXRoPUluY3VtYmVudFdpbmRvdyZGaXJzdFdpbmRvdywgRG9O
b3RDaGVja1NlY3VyaXR5T25TZXR0ZXJdIHN0cmluZ2lmaWVyIGF0dHJpYnV0ZSBVU1ZTdHJpbmcg
aHJlZjsKIAotICAgIFtDYWxsV2l0aD1JbmN1bWJlbnRXaW5kb3cmRmlyc3RXaW5kb3ddIHVuZGVm
aW5lZCBhc3NpZ24oVVNWU3RyaW5nIHVybCk7Ci0gICAgW0NhbGxXaXRoPUluY3VtYmVudFdpbmRv
dyZGaXJzdFdpbmRvdywgRG9Ob3RDaGVja1NlY3VyaXR5XSB1bmRlZmluZWQgcmVwbGFjZShVU1ZT
dHJpbmcgdXJsKTsKLSAgICBbQ2FsbFdpdGg9SW5jdW1iZW50V2luZG93XSB1bmRlZmluZWQgcmVs
b2FkKCk7CisgICAgLy8gRklYTUU6IFdlIHNob3VsZCB1c2UgSW5jdW1iZW50V2luZG93IG9uY2Ug
d2UgZm91bmQgd2h5IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjg5
NDMgaXNzdWUgb2NjdXJlZC4KKyAgICBbQ2FsbFdpdGg9QWN0aXZlV2luZG93JkZpcnN0V2luZG93
XSB1bmRlZmluZWQgYXNzaWduKFVTVlN0cmluZyB1cmwpOworICAgIFtDYWxsV2l0aD1BY3RpdmVX
aW5kb3cmRmlyc3RXaW5kb3csIERvTm90Q2hlY2tTZWN1cml0eV0gdW5kZWZpbmVkIHJlcGxhY2Uo
VVNWU3RyaW5nIHVybCk7CisgICAgW0NhbGxXaXRoPUFjdGl2ZVdpbmRvd10gdW5kZWZpbmVkIHJl
bG9hZCgpOwogCiAgICAgLy8gVVJJIGRlY29tcG9zaXRpb24gYXR0cmlidXRlcwogICAgIFtTZXR0
ZXJDYWxsV2l0aD1JbmN1bWJlbnRXaW5kb3cmRmlyc3RXaW5kb3ddIGF0dHJpYnV0ZSBVU1ZTdHJp
bmcgcHJvdG9jb2w7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKaW5kZXggZmNlNzc4ZTBmZGEzYzdlODFkMzdlODMyNDQxYjljMmY2MmQ3
YzM5Mi4uMTdlN2U3MjkyZjkyNzY1M2YzNTM5NjMxYWE3NTUyMzliMGJlNGUzYiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE1IEBACisyMDIxLTA4LTA5ICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5j
b20+CisKKyAgICAgICAgUGFydGlhbGx5IHJldmVydCByMjgwMjU2IGJlaGF2aW9yIGNoYW5nZSBz
aW5jZSBpdCBicm9rZSBGYWNldGltZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjI4OTQzCisgICAgICAgIHJkYXI6Ly84MTcwMDI2OAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9mcmFtZXMvc2Fu
ZGJveGVkLWlmcmFtZS1uYXZpZ2F0aW9uLXBhcmVudC1leHBlY3RlZC50eHQ6CisgICAgICAgICog
ZmFzdC9mcmFtZXMvc2FuZGJveGVkLWlmcmFtZS1uYXZpZ2F0aW9uLXBhcmVudC5odG1sOgorICAg
ICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvZnJhbWVOYXZpZ2F0aW9uL2NvbnRleHQtZm9yLWxv
Y2F0aW9uLWFzc2lnbi1leHBlY3RlZC50eHQ6CisKIDIwMjEtMDgtMDkgIFJvYmVydCBKZW5uZXIg
IDxKZW5uZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFsgTW9udGVyZXkgUmVsZWFzZSB3azIgXSBw
bGF0Zm9ybS9tYWMvZmFzdC9vdmVyZmxvdy9vdmVyZmxvdy1zY3JvbGxiYXItaGl0LXRlc3QuaHRt
bCBpcyBhIGZsYWt5IGNyYXNoCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9z
YW5kYm94ZWQtaWZyYW1lLW5hdmlnYXRpb24tcGFyZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2Zhc3QvZnJhbWVzL3NhbmRib3hlZC1pZnJhbWUtbmF2aWdhdGlvbi1wYXJlbnQtZXhwZWN0
ZWQudHh0CmluZGV4IGY2ZjQ2ZTgxZGVhODlkMzA2NjFkN2VjNzFhNzJlYjNmMmE1Y2IwZGYuLjgw
NmM3NWE1ZGZjZTY3MjE5NjM5YzMzNTRiNjA0MjYyN2YyMDIxM2UgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvZnJhbWVzL3NhbmRib3hlZC1pZnJhbWUtbmF2aWdhdGlvbi1wYXJlbnQtZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL3NhbmRib3hlZC1pZnJhbWUt
bmF2aWdhdGlvbi1wYXJlbnQtZXhwZWN0ZWQudHh0CkBAIC0xLDkgKzEsNCBAQAotQ09OU09MRSBN
RVNTQUdFOiBVbnNhZmUgSmF2YVNjcmlwdCBhdHRlbXB0IHRvIGluaXRpYXRlIG5hdmlnYXRpb24g
Zm9yIGZyYW1lIHdpdGggVVJMICdzYW5kYm94ZWQtaWZyYW1lLW5hdmlnYXRpb24tc291cmNlLmh0
bWwnLiBUaGUgZnJhbWUgYXR0ZW1wdGluZyBuYXZpZ2F0aW9uIGlzIHNhbmRib3hlZCwgYW5kIGlz
IHRoZXJlZm9yZSBkaXNhbGxvd2VkIGZyb20gbmF2aWdhdGluZyBpdHMgYW5jZXN0b3JzLgotCi1D
T05TT0xFIE1FU1NBR0U6IFNlY3VyaXR5RXJyb3I6IFRoZSBvcGVyYXRpb24gaXMgaW5zZWN1cmUu
Ci1UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBhIHNhbmRib3hlZCBJRnJhbWUgY2Fubm90IG5hdmln
YXRlIGFuIGFuY2VzdG9yIGluIHRoZSBmcmFtZSB0cmVlIGJ5IGFzc2lnbmluZyB0aGUgbG9jYXRp
b24gYXR0cmlidXRlLgotCi1UaGlzIGlzIGRvbmUgYnkgbG9hZGluZyB0ZW4gbm9uLXNhbmRib3hl
ZCBJRnJhbWVzLCBhbmQgYSBzaW5nbGUgc2FuZGJveGVkIG9uZS4gRXhwZWN0IHRlbiBmcmFtZXMg
dG8gYmUgbmF2aWdhdGVkLCBidXQgdGhlIHNhbmRib3hlZCBvbmUgdG8gbm90IGJlIG9uZSBvZiB0
aGVtLgorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgYSBzYW5kYm94ZWQgSUZyYW1lIHdpdGggdGhl
IGtleXdvcmRzIGFsbG93LXNjcmlwdHMgYW5kIGFsbG93LXNhbWUtb3JpZ2luIGlzIGFsbG93ZWQg
dG8gbmF2aWdhdGUgYW4gYW5jZXN0b3IgaW4gdGhlIGZyYW1lIHRyZWUgYnkgYXNzaWduaW5nIHRo
ZSBsb2NhdGlvbiBhdHRyaWJ1dGUuCiAKIFRoaXMgdGVzdCB3aWxsIHByaW50ICJQQVNTIiBvbiBz
dWNjZXNzLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9zYW5kYm94ZWQt
aWZyYW1lLW5hdmlnYXRpb24tcGFyZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9z
YW5kYm94ZWQtaWZyYW1lLW5hdmlnYXRpb24tcGFyZW50Lmh0bWwKaW5kZXggM2I3ZTFhNmZmMDkz
YTg1YTAxZTk2MDkwODZjNmJiZTk4YjUxZmFlMi4uMjE2OWI5MDI0OTY2OTExM2ZiYjY4MDU3NWE5
MTY5YWE3NTM3YzlmZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvc2FuZGJv
eGVkLWlmcmFtZS1uYXZpZ2F0aW9uLXBhcmVudC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
ZnJhbWVzL3NhbmRib3hlZC1pZnJhbWUtbmF2aWdhdGlvbi1wYXJlbnQuaHRtbApAQCAtMTMsOSAr
MTMsOSBAQAogewogICAgIHZhciB0ZXN0U3RhdHVzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J3Rlc3RTdGF0dXMnKTsKIAotICAgIGlmIChzZWxmLm5hdmlnYXRlZC5sb2NhdGlvbi5ocmVmLmlu
ZGV4T2YoJ3BhcmVudC5odG1sJykgPT0gLTEpCi0gICAgICAgIHRlc3RTdGF0dXMuaW5uZXJIVE1M
ID0gJ0ZBSUw6IGRpc2FsbG93ZWQgZnJhbWUgbmF2aWdhdGVkJzsKLSAgICBlbHNlIGlmIChuYXZp
Z2F0ZWRGcmFtZXMgPT0gMTApCisgICAgaWYgKHNlbGYubmF2aWdhdGVkLmxvY2F0aW9uLmhyZWYu
aW5kZXhPZigncGFyZW50Lmh0bWwnKSAhPSAtMSkKKyAgICAgICAgdGVzdFN0YXR1cy5pbm5lckhU
TUwgPSAnRkFJTDogc2FuZGJveGVkIGZyYW1lIGNvdWxkblwndCBuYXZpZ2F0ZSc7CisgICAgZWxz
ZSBpZiAobmF2aWdhdGVkRnJhbWVzID09IDExKQogICAgICAgICB0ZXN0U3RhdHVzLmlubmVySFRN
TCA9ICdQQVNTJzsKICAgICBlbHNlCiAgICAgICAgIHRlc3RTdGF0dXMuaW5uZXJIVE1MID0gJ0ZB
SUw6IGZyYW1lcyBub3QgbmF2aWdhdGVkIHByb3Blcmx5JzsKQEAgLTI4LDcgKzI4LDcgQEAKIHsK
ICAgICArK25hdmlnYXRlZEZyYW1lczsKIAotICAgIGlmIChuYXZpZ2F0ZWRGcmFtZXMgPT0gMTAp
CisgICAgaWYgKG5hdmlnYXRlZEZyYW1lcyA9PSAxMSkKICAgICAgICAgY2hlY2tSZXN1bHRzKCk7
CiB9CiAKQEAgLTM3LDEzICszNywxMCBAQAogCiA8Ym9keT4KIAotICAgIDxwPlRoaXMgdGVzdCB2
ZXJpZmllcyB0aGF0IGEgc2FuZGJveGVkIElGcmFtZSBjYW5ub3QgbmF2aWdhdGUgYW4gYW5jZXN0
b3IKKyAgICA8cD5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBhIHNhbmRib3hlZCBJRnJhbWUgd2l0
aCB0aGUga2V5d29yZHMKKyAgICBhbGxvdy1zY3JpcHRzIGFuZCBhbGxvdy1zYW1lLW9yaWdpbiBp
cyBhbGxvd2VkIHRvIG5hdmlnYXRlIGFuIGFuY2VzdG9yCiAgICAgaW4gdGhlIGZyYW1lIHRyZWUg
YnkgYXNzaWduaW5nIHRoZSBsb2NhdGlvbiBhdHRyaWJ1dGUuPC9wPgogCi0gICAgPHA+VGhpcyBp
cyBkb25lIGJ5IGxvYWRpbmcgdGVuIG5vbi1zYW5kYm94ZWQgSUZyYW1lcywgYW5kIGEgc2luZ2xl
Ci0gICAgc2FuZGJveGVkIG9uZS4gRXhwZWN0IHRlbiBmcmFtZXMgdG8gYmUgbmF2aWdhdGVkLCBi
dXQgdGhlIHNhbmRib3hlZAotICAgIG9uZSB0byA8Yj5ub3Q8L2I+IGJlIG9uZSBvZiB0aGVtLjwv
cD4KLSAgICAKICAgICA8cD5UaGlzIHRlc3Qgd2lsbCBwcmludCAmcXVvdDtQQVNTJnF1b3Q7IG9u
IHN1Y2Nlc3MuPC9wPgogCiAgICAgPGlmcmFtZSBzcmM9InJlc291cmNlcy9ub24tc2FuZGJveGVk
LWlmcmFtZS1uYXZpZ2F0aW9uLmh0bWwiPjwvaWZyYW1lPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zZWN1cml0eS9mcmFtZU5hdmlnYXRpb24vY29udGV4dC1mb3ItbG9jYXRp
b24tYXNzaWduLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkv
ZnJhbWVOYXZpZ2F0aW9uL2NvbnRleHQtZm9yLWxvY2F0aW9uLWFzc2lnbi1leHBlY3RlZC50eHQK
aW5kZXggZGZkYTYwOGI3ZGU1NWM5ZWU2YTQ4NzNkOGE3YzZmYzg4NGU5MTE2Zi4uYTZlYjZhNzFj
Y2QwNzI2M2RmMzk1ZDU2OGQ2NGRjM2FkZWMzM2YzMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9zZWN1cml0eS9mcmFtZU5hdmlnYXRpb24vY29udGV4dC1mb3ItbG9jYXRpb24t
YXNzaWduLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5
L2ZyYW1lTmF2aWdhdGlvbi9jb250ZXh0LWZvci1sb2NhdGlvbi1hc3NpZ24tZXhwZWN0ZWQudHh0
CkBAIC0xLDIgKzEsMiBAQAotZG9jdW1lbnQucmVmZXJyZXIgPSBodHRwOi8vMTI3LjAuMC4xOjgw
MDAvc2VjdXJpdHkvZnJhbWVOYXZpZ2F0aW9uL2NvbnRleHQtZm9yLWxvY2F0aW9uLWFzc2lnbi5o
dG1sCitkb2N1bWVudC5yZWZlcnJlciA9CiAK
</data>
<flag name="commit-queue"
          id="457985"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
      

    </bug>

</bugzilla>