<?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>229462</bug_id>
          
          <creation_ts>2021-08-24 11:57:16 -0700</creation_ts>
          <short_desc>[ Catalina EWS ] media/track/track-disabled-addcue.html is flaky crashing</short_desc>
          <delta_ts>2021-09-01 12:00:02 -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>Mac (Intel)</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=229765</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>ayumi_kojima</reporter>
          <assigned_to name="Eric Carlson">eric.carlson</assigned_to>
          <cc>alancoon</cc>
    
    <cc>benjamin</cc>
    
    <cc>calvaris</cc>
    
    <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>darin</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>mark.lam</cc>
    
    <cc>philipj</cc>
    
    <cc>webkit-bot-watchers-bugzilla</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1786866</commentid>
    <comment_count>0</comment_count>
    <who name="">ayumi_kojima</who>
    <bug_when>2021-08-24 11:57:16 -0700</bug_when>
    <thetext>media/track/track-disabled-addcue.html

Is flaky crashing on macOS-Catalina-Debug-WK1-Tests-EWS

The flaky crash is not showing up on the open source: https://results.webkit.org/?suite=layout-tests&amp;test=media/track/track-disabled-addcue.html

It seems to have started being flaky at this build https://ews-build.webkit.org/#/builders/56/builds/10449

Crash log: 

No crash log found for DumpRenderTree:5432.

stdout:

stderr:
ASSERTION FAILED: m_wrapper
./bindings/js/JSEventListener.h(128) : JSC::JSObject *WebCore::JSEventListener::ensureJSFunction(WebCore::ScriptExecutionContext &amp;) const
1   0x10853d2f9 WTFCrash
2   0x128abea1b WTFCrashWithInfo(int, char const*, char const*, int)
3   0x12b6ca62f WebCore::JSEventListener::ensureJSFunction(WebCore::ScriptExecutionContext&amp;) const
4   0x12b6c9994 WebCore::JSEventListener::handleEvent(WebCore::ScriptExecutionContext&amp;, WebCore::Event&amp;)
5   0x12beb0357 WebCore::EventTarget::innerInvokeEventListeners(WebCore::Event&amp;, WTF::Vector&lt;WTF::RefPtr&lt;WebCore::RegisteredEventListener, WTF::RawPtrTraits&lt;WebCore::RegisteredEventListener&gt;, WTF::DefaultRefDerefTraits&lt;WebCore::RegisteredEventListener&gt; &gt;, 1ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc&gt;, WebCore::EventTarget::EventInvokePhase)
6   0x12beafdb4 WebCore::EventTarget::fireEventListeners(WebCore::Event&amp;, WebCore::EventTarget::EventInvokePhase)
7   0x12be82d5a WebCore::EventContext::handleLocalEvents(WebCore::Event&amp;, WebCore::EventTarget::EventInvokePhase) const
8   0x12be83c25 WebCore::dispatchEventInDOM(WebCore::Event&amp;, WebCore::EventPath const&amp;)
9   0x12be834c2 WebCore::EventDispatcher::dispatchEvent(WebCore::Node&amp;, WebCore::Event&amp;)
10  0x12bf37b3d WebCore::Node::dispatchEvent(WebCore::Event&amp;)
11  0x12c43e217 WebCore::HTMLTrackElement::didCompleteLoad(WebCore::HTMLTrackElement::LoadStatus)
12  0x12c6acc45 WebCore::LoadableTextTrack::loadTimerFired()
13  0x12c6c5ac7 decltype(*(std::__1::forward&lt;WebCore::LoadableTextTrack*&amp;&gt;(fp0)).*fp()) std::__1::__invoke&lt;void (WebCore::LoadableTextTrack::*&amp;)(), WebCore::LoadableTextTrack*&amp;, void&gt;(void (WebCore::LoadableTextTrack::*&amp;)(), WebCore::LoadableTextTrack*&amp;)
14  0x12c6c5a40 std::__1::__bind_return&lt;void (WebCore::LoadableTextTrack::*)(), std::__1::tuple&lt;WebCore::LoadableTextTrack*&gt;, std::__1::tuple&lt;&gt;, __is_valid_bind_return&lt;void (WebCore::LoadableTextTrack::*)(), std::__1::tuple&lt;WebCore::LoadableTextTrack*&gt;, std::__1::tuple&lt;&gt; &gt;::value&gt;::type std::__1::__apply_functor&lt;void (WebCore::LoadableTextTrack::*)(), std::__1::tuple&lt;WebCore::LoadableTextTrack*&gt;, 0ul, std::__1::tuple&lt;&gt; &gt;(void (WebCore::LoadableTextTrack::*&amp;)(), std::__1::tuple&lt;WebCore::LoadableTextTrack*&gt;&amp;, std::__1::__tuple_indices&lt;0ul&gt;, std::__1::tuple&lt;&gt;&amp;&amp;)
15  0x12c6c59f9 std::__1::__bind_return&lt;void (WebCore::LoadableTextTrack::*)(), std::__1::tuple&lt;WebCore::LoadableTextTrack*&gt;, std::__1::tuple&lt;&gt;, __is_valid_bind_return&lt;void (WebCore::LoadableTextTrack::*)(), std::__1::tuple&lt;WebCore::LoadableTextTrack*&gt;, std::__1::tuple&lt;&gt; &gt;::value&gt;::type std::__1::__bind&lt;void (WebCore::LoadableTextTrack::*&amp;)(), WebCore::LoadableTextTrack*&gt;::operator()&lt;&gt;()
16  0x12c6c597e WTF::Detail::CallableWrapper&lt;std::__1::__bind&lt;void (WebCore::LoadableTextTrack::*&amp;)(), WebCore::LoadableTextTrack*&gt;, void&gt;::call()
17  0x128ad4312 WTF::Function&lt;void ()&gt;::operator()() const
18  0x128b1462e WebCore::Timer::fired()
19  0x12cfdcee4 WebCore::ThreadTimers::sharedTimerFiredInternal()
20  0x12cfea031 WebCore::ThreadTimers::setSharedTimer(WebCore::SharedTimer*)::$_0::operator()() const
21  0x12cfe9fbe WTF::Detail::CallableWrapper&lt;WebCore::ThreadTimers::setSharedTimer(WebCore::SharedTimer*)::$_0, void&gt;::call()
22  0x128ad4312 WTF::Function&lt;void ()&gt;::operator()() const
23  0x12cf9489b WebCore::MainThreadSharedTimer::fired()
24  0x12d063c76 WebCore::timerFired(__CFRunLoopTimer*, void*)
25  0x7fff378a6468 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__
26  0x7fff378a5fce __CFRunLoopDoTimer
27  0x7fff378a5ab9 __CFRunLoopDoTimers
28  0x7fff3788a70d __CFRunLoopRun
29  0x7fff37889953 CFRunLoopRunSpecific
30  0x100cdc1d8 runTest(std::__1::basic_string&lt;char, std::__1::char_traits&lt;char&gt;, std::__1::allocator&lt;char&gt; &gt; const&amp;)
31  0x100cdb47a runTestingServerLoop()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1786867</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-08-24 11:59:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/82302915&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1786868</commentid>
    <comment_count>2</comment_count>
    <who name="">ayumi_kojima</who>
    <bug_when>2021-08-24 12:02:07 -0700</bug_when>
    <thetext>Updated expectations: https://trac.webkit.org/changeset/281509/webkit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788101</commentid>
    <comment_count>3</comment_count>
      <attachid>436652</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2021-08-27 11:54:31 -0700</bug_when>
    <thetext>Created attachment 436652
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788106</commentid>
    <comment_count>4</comment_count>
      <attachid>436652</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-08-27 12:08:38 -0700</bug_when>
    <thetext>Comment on attachment 436652
Patch

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

&gt; Source/WTF/wtf/SetForScope.h:64
&gt; +        , m_originalValue(restoreValue)

Should this be std::forward&lt;U&gt;(restoreValue)?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788114</commentid>
    <comment_count>5</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2021-08-27 12:28:04 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #4)
&gt; Comment on attachment 436652 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=436652&amp;action=review
&gt; 
&gt; &gt; Source/WTF/wtf/SetForScope.h:64
&gt; &gt; +        , m_originalValue(restoreValue)
&gt; 
&gt; Should this be std::forward&lt;U&gt;(restoreValue)?

Good point, thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788119</commentid>
    <comment_count>6</comment_count>
      <attachid>436652</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-08-27 12:37:26 -0700</bug_when>
    <thetext>Comment on attachment 436652
Patch

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

Looks good assuming we have enough test coverage. I see various interesting cases here in the code we are refactoring and altering subtly and not really sure we have tests for all of them

&gt;&gt;&gt; Source/WTF/wtf/SetForScope.h:64
&gt;&gt;&gt; +        , m_originalValue(restoreValue)
&gt;&gt; 
&gt;&gt; Should this be std::forward&lt;U&gt;(restoreValue)?
&gt; 
&gt; Good point, thanks.

Was thinking further and, for flexibility, I also think that we also could use two different types for newValue and restoreValue. The stored values will still be of type T, but the arguments could be two different types convertible to T.

    template&lt;typename U, typename V&gt;
    SetForScope(T&amp; scopedVariable, U&amp;&amp; newValue, V&amp;&amp; restoreValue)

&gt; Source/WebCore/html/HTMLTrackElement.cpp:196
&gt; +        URL url = getNonEmptyURLAttribute(srcAttr);

I find the name &quot;url&quot; distasteful, and try to dodge it, so I would have named this &quot;trackURL&quot;.

&gt; Source/WebCore/html/HTMLTrackElement.cpp:202
&gt; +        if (url.isEmpty() || !canLoadURL(url)) {

Do we need an empty check here? Maybe canLoadURL is guaranteed to return false for empty?

&gt; Source/WebCore/html/HTMLTrackElement.cpp:-209
&gt;  
&gt; -    track().scheduleLoad(url);

Stray blank line here we could delete.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788165</commentid>
    <comment_count>7</comment_count>
      <attachid>436652</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2021-08-27 14:13:06 -0700</bug_when>
    <thetext>Comment on attachment 436652
Patch

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

&gt;&gt;&gt;&gt; Source/WTF/wtf/SetForScope.h:64
&gt;&gt;&gt;&gt; +        , m_originalValue(restoreValue)
&gt;&gt;&gt; 
&gt;&gt;&gt; Should this be std::forward&lt;U&gt;(restoreValue)?
&gt;&gt; 
&gt;&gt; Good point, thanks.
&gt; 
&gt; Was thinking further and, for flexibility, I also think that we also could use two different types for newValue and restoreValue. The stored values will still be of type T, but the arguments could be two different types convertible to T.
&gt; 
&gt;     template&lt;typename U, typename V&gt;
&gt;     SetForScope(T&amp; scopedVariable, U&amp;&amp; newValue, V&amp;&amp; restoreValue)

Great idea, changed. I also renamed `m_originalValue` to `m_valueToRestore` for clarity

&gt;&gt; Source/WebCore/html/HTMLTrackElement.cpp:196
&gt;&gt; +        URL url = getNonEmptyURLAttribute(srcAttr);
&gt; 
&gt; I find the name &quot;url&quot; distasteful, and try to dodge it, so I would have named this &quot;trackURL&quot;.

Changed.

&gt;&gt; Source/WebCore/html/HTMLTrackElement.cpp:202
&gt;&gt; +        if (url.isEmpty() || !canLoadURL(url)) {
&gt; 
&gt; Do we need an empty check here? Maybe canLoadURL is guaranteed to return false for empty?

canLoadURL does return false for an empty url, so this check isn&apos;t necessary.

&gt;&gt; Source/WebCore/html/HTMLTrackElement.cpp:-209
&gt;&gt; -    track().scheduleLoad(url);
&gt; 
&gt; Stray blank line here we could delete.

Removed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788166</commentid>
    <comment_count>8</comment_count>
      <attachid>436673</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2021-08-27 14:14:58 -0700</bug_when>
    <thetext>Created attachment 436673
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788232</commentid>
    <comment_count>9</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-08-27 16:49:06 -0700</bug_when>
    <thetext>Committed r281727 (241069@main): &lt;https://commits.webkit.org/241069@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 436673.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436652</attachid>
            <date>2021-08-27 11:54:31 -0700</date>
            <delta_ts>2021-08-27 12:37:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229462-20210827115430.patch</filename>
            <type>text/plain</type>
            <size>13620</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxNjI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGYyNGY1ODIwYzYwYzkxYjhmNzczNTJh
NmFmNzk0ZTZlNTJjMGEyZDIuLjBjOTMwZjMxNmJmZDlkNzI1ZTIyZjBjM2JmYWU0YTU3ZWY2YmNh
YjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjEtMDgtMjcgIEVyaWMgQ2FybHNvbiAgPGVyaWMu
Y2FybHNvbkBhcHBsZS5jb20+CisKKyAgICAgICAgWyBDYXRhbGluYSBFV1MgXSBtZWRpYS90cmFj
ay90cmFjay1kaXNhYmxlZC1hZGRjdWUuaHRtbCBpcyBmbGFreSBjcmFzaGluZworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5NDYyCisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS84MjMwMjkxNT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIHd0Zi9TZXRGb3JTY29wZS5oOgorICAgICAgICAoV1RGOjpTZXRG
b3JTY29wZTo6U2V0Rm9yU2NvcGUpOiBBZGQgYSBjb25zdHJ1Y3RvciB0aGF0IHRha2VzIHRoZSB2
YWx1ZSB0byBzZXQKKyAgICAgICAgb24gc2NvcGUgZXhpdC4KKwogMjAyMS0wOC0yNSAgV2Vuc29u
IEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1vdmUgc29tZSBp
T1Mtc3BlY2lmaWMgY29tcGlsZS10aW1lIGd1YXJkcyB0aGF0IGFyZSBubyBsb25nZXIgbmVlZGVk
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKaW5kZXggMjI4Y2ZlOGRlN2E5NjY5NTI3MGVjMzk4MGE5YTg1MGFjNjkwMmYwNS4u
MmJhMThmNzhkNzJkM2U4YTIzNjA4MWJhMjc2ZDA3NjJjNTJiNDdlOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDI3IEBACisyMDIxLTA4LTI3ICBFcmljIENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBw
bGUuY29tPgorCisgICAgICAgIFsgQ2F0YWxpbmEgRVdTIF0gbWVkaWEvdHJhY2svdHJhY2stZGlz
YWJsZWQtYWRkY3VlLmh0bWwgaXMgZmxha3kgY3Jhc2hpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTQ2MgorICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vODIzMDI5MTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgVXNlIGBxdWV1ZVRhc2tLZWVwaW5nT2JqZWN0QWxpdmVgIGluc3RlYWQgb2YgYSB0aW1l
ciB3aGVuIHNjaGVkdWxpbmcgdGV4dCB0cmFjaworICAgICAgICBsb2FkaW5nLgorCisgICAgICAg
ICogaHRtbC9IVE1MVHJhY2tFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUcmFj
a0VsZW1lbnQ6OkhUTUxUcmFja0VsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRyYWNr
RWxlbWVudDo6c2NoZWR1bGVMb2FkKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUcmFja0VsZW1l
bnQ6OnNjaGVkdWxlVGFzayk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVHJhY2tFbGVtZW50Ojps
b2FkVGltZXJGaXJlZCk6IERlbGV0ZWQuCisgICAgICAgICogaHRtbC9IVE1MVHJhY2tFbGVtZW50
Lmg6CisgICAgICAgICogaHRtbC90cmFjay9Mb2FkYWJsZVRleHRUcmFjay5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpMb2FkYWJsZVRleHRUcmFjazo6TG9hZGFibGVUZXh0VHJhY2spOgorICAgICAg
ICAoV2ViQ29yZTo6TG9hZGFibGVUZXh0VHJhY2s6OnNjaGVkdWxlTG9hZCk6CisgICAgICAgIChX
ZWJDb3JlOjpMb2FkYWJsZVRleHRUcmFjazo6ZWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpM
b2FkYWJsZVRleHRUcmFjazo6bG9hZFRpbWVyRmlyZWQpOiBEZWxldGVkLgorICAgICAgICAqIGh0
bWwvdHJhY2svTG9hZGFibGVUZXh0VHJhY2suaDoKKwogMjAyMS0wOC0yNiAgS2ltbW8gS2lubnVu
ZW4gIDxra2lubnVuZW5AYXBwbGUuY29tPgogCiAgICAgICAgIFdlYkdMIGNhbGxzIGludG8gc3Rh
dGljIEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMIGZ1bmN0aW9ucyBuZWVkbGVzc2x5CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV1RGL3d0Zi9TZXRGb3JTY29wZS5oIGIvU291cmNlL1dURi93dGYvU2V0Rm9y
U2NvcGUuaAppbmRleCAxM2RmNDhiNWNkYWE0ZjQ2N2ZhYjRmMDA0NDg1NzJlMTA0MTg2YWY5Li5h
MzRiMDY0M2JhM2VmMGNmMTg2MGMyMGRiYzAxYzZhNTJhZTdjNDllIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV1RGL3d0Zi9TZXRGb3JTY29wZS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1NldEZvclNjb3Bl
LmgKQEAgLTUwLDYgKzUwLDcgQEAgcHVibGljOgogICAgICAgICAsIG1fb3JpZ2luYWxWYWx1ZShz
Y29wZWRWYXJpYWJsZSkKICAgICB7CiAgICAgfQorCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVT4K
ICAgICBTZXRGb3JTY29wZShUJiBzY29wZWRWYXJpYWJsZSwgVSYmIG5ld1ZhbHVlKQogICAgICAg
ICA6IFNldEZvclNjb3BlKHNjb3BlZFZhcmlhYmxlKQpAQCAtNTcsNiArNTgsMTQgQEAgcHVibGlj
OgogICAgICAgICBtX3Njb3BlZFZhcmlhYmxlID0gc3RkOjpmb3J3YXJkPFU+KG5ld1ZhbHVlKTsK
ICAgICB9CiAKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBVPgorICAgIFNldEZvclNjb3BlKFQmIHNj
b3BlZFZhcmlhYmxlLCBVJiYgbmV3VmFsdWUsIFUmJiByZXN0b3JlVmFsdWUpCisgICAgICAgIDog
bV9zY29wZWRWYXJpYWJsZShzY29wZWRWYXJpYWJsZSkKKyAgICAgICAgLCBtX29yaWdpbmFsVmFs
dWUocmVzdG9yZVZhbHVlKQorICAgIHsKKyAgICAgICAgbV9zY29wZWRWYXJpYWJsZSA9IHN0ZDo6
Zm9yd2FyZDxVPihuZXdWYWx1ZSk7CisgICAgfQorCiAgICAgflNldEZvclNjb3BlKCkKICAgICB7
CiAgICAgICAgIG1fc2NvcGVkVmFyaWFibGUgPSBXVEZNb3ZlKG1fb3JpZ2luYWxWYWx1ZSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUcmFja0VsZW1lbnQuY3BwIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MVHJhY2tFbGVtZW50LmNwcAppbmRleCA4YWU1ZTdkMTMyYTY4
Mjk2MWRjMzRkZDYyNzdlY2MyMmUwZjc5MTdlLi45OTU1NWY4NzBjMDAxOTJjMGRjMThlMTFlMjg0
ZDFhMmNmNTRlZjg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUcmFja0Vs
ZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRyYWNrRWxlbWVudC5jcHAK
QEAgLTEsNiArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDExLCAyMDEzIEdvb2dsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEtMjAxNyBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEtMjAyMSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKQEAgLTYwLDcgKzYwLDYgQEAgc3RhdGljIFN0cmluZyB1cmxGb3JMb2dnaW5nVHJhY2so
Y29uc3QgVVJMJiB1cmwpCiBpbmxpbmUgSFRNTFRyYWNrRWxlbWVudDo6SFRNTFRyYWNrRWxlbWVu
dChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCYgZG9jdW1lbnQpCiAgICAg
OiBIVE1MRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKICAgICAsIEFjdGl2ZURPTU9iamVjdChk
b2N1bWVudCkKLSAgICAsIG1fbG9hZFRpbWVyKCp0aGlzLCAmSFRNTFRyYWNrRWxlbWVudDo6bG9h
ZFRpbWVyRmlyZWQpCiB7CiAgICAgTE9HKE1lZGlhLCAiSFRNTFRyYWNrRWxlbWVudDo6SFRNTFRy
YWNrRWxlbWVudCAtICVwIiwgdGhpcyk7CiAgICAgQVNTRVJUKGhhc1RhZ05hbWUodHJhY2tUYWcp
KTsKQEAgLTE2OCw3ICsxNjcsNyBAQCB2b2lkIEhUTUxUcmFja0VsZW1lbnQ6OnNjaGVkdWxlTG9h
ZCgpCiB7CiAgICAgLy8gMS4gSWYgYW5vdGhlciBvY2N1cnJlbmNlIG9mIHRoaXMgYWxnb3JpdGht
IGlzIGFscmVhZHkgcnVubmluZyBmb3IgdGhpcyB0ZXh0IHRyYWNrIGFuZCBpdHMgdHJhY2sgZWxl
bWVudCwKICAgICAvLyBhYm9ydCB0aGVzZSBzdGVwcywgbGV0dGluZyB0aGF0IG90aGVyIGFsZ29y
aXRobSB0YWtlIGNhcmUgb2YgdGhpcyBlbGVtZW50LgotICAgIGlmIChtX2xvYWRUaW1lci5pc0Fj
dGl2ZSgpKQorICAgIGlmIChtX2xvYWRQZW5kaW5nKQogICAgICAgICByZXR1cm47CiAKICAgICAv
LyAyLiBJZiB0aGUgdGV4dCB0cmFjaydzIHRleHQgdHJhY2sgbW9kZSBpcyBub3Qgc2V0IHRvIG9u
ZSBvZiBoaWRkZW4gb3Igc2hvd2luZywgYWJvcnQgdGhlc2Ugc3RlcHMuCkBAIC0xODAsMzMgKzE3
OSw0MiBAQCB2b2lkIEhUTUxUcmFja0VsZW1lbnQ6OnNjaGVkdWxlTG9hZCgpCiAgICAgICAgIHJl
dHVybjsKIAogICAgIC8vIDQuIFJ1biB0aGUgcmVtYWluZGVyIG9mIHRoZXNlIHN0ZXBzIGFzeW5j
aHJvbm91c2x5LCBhbGxvd2luZyB3aGF0ZXZlciBjYXVzZWQgdGhlc2Ugc3RlcHMgdG8gcnVuIHRv
IGNvbnRpbnVlLgotICAgIG1fbG9hZFRpbWVyLnN0YXJ0T25lU2hvdCgwX3MpOwotfQorICAgIG1f
bG9hZFBlbmRpbmcgPSB0cnVlOworICAgIHNjaGVkdWxlVGFzayhbdGhpc10oKSBtdXRhYmxlIHsK
IAotdm9pZCBIVE1MVHJhY2tFbGVtZW50Ojpsb2FkVGltZXJGaXJlZCgpCi17Ci0gICAgaWYgKCFo
YXNBdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKHNyY0F0dHIpKSB7Ci0gICAgICAgIHRy
YWNrKCkucmVtb3ZlQWxsQ3VlcygpOwotICAgICAgICByZXR1cm47Ci0gICAgfQorICAgICAgICBT
ZXRGb3JTY29wZTxib29sPiBsb2FkUGVuZGluZyB7IG1fbG9hZFBlbmRpbmcsIHRydWUsIGZhbHNl
IH07CiAKLSAgICAvLyA2LiBTZXQgdGhlIHRleHQgdHJhY2sgcmVhZGluZXNzIHN0YXRlIHRvIGxv
YWRpbmcuCi0gICAgc2V0UmVhZHlTdGF0ZShIVE1MVHJhY2tFbGVtZW50OjpMT0FESU5HKTsKKyAg
ICAgICAgaWYgKCFoYXNBdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKHNyY0F0dHIpKSB7
CisgICAgICAgICAgICB0cmFjaygpLnJlbW92ZUFsbEN1ZXMoKTsKKyAgICAgICAgICAgIHJldHVy
bjsKKyAgICAgICAgfQogCi0gICAgLy8gNy4gTGV0IFVSTCBiZSB0aGUgdHJhY2sgVVJMIG9mIHRo
ZSB0cmFjayBlbGVtZW50LgotICAgIFVSTCB1cmwgPSBnZXROb25FbXB0eVVSTEF0dHJpYnV0ZShz
cmNBdHRyKTsKKyAgICAgICAgLy8gNi4gU2V0IHRoZSB0ZXh0IHRyYWNrIHJlYWRpbmVzcyBzdGF0
ZSB0byBsb2FkaW5nLgorICAgICAgICBzZXRSZWFkeVN0YXRlKEhUTUxUcmFja0VsZW1lbnQ6OkxP
QURJTkcpOwogCi0gICAgLy8gLi4uIGlmIFVSTCBpcyB0aGUgZW1wdHkgc3RyaW5nLCB0aGVuIHF1
ZXVlIGEgdGFzayB0byBmaXJzdCBjaGFuZ2UgdGhlIHRleHQgdHJhY2sgcmVhZGluZXNzIHN0YXRl
Ci0gICAgLy8gdG8gZmFpbGVkIHRvIGxvYWQgYW5kIHRoZW4gZmlyZSBhbiBldmVudCBuYW1lZCBl
cnJvciBhdCB0aGUgdHJhY2sgZWxlbWVudC4KLSAgICAvLyA4LiBJZiB0aGUgdHJhY2sgZWxlbWVu
dCdzIHBhcmVudCBpcyBhIG1lZGlhIGVsZW1lbnQgdGhlbiBsZXQgQ09SUyBtb2RlIGJlIHRoZSBz
dGF0ZSBvZiB0aGUgcGFyZW50IG1lZGlhCi0gICAgLy8gZWxlbWVudCdzIGNyb3Nzb3JpZ2luIGNv
bnRlbnQgYXR0cmlidXRlLiBPdGhlcndpc2UsIGxldCBDT1JTIG1vZGUgYmUgTm8gQ09SUy4KLSAg
ICBpZiAodXJsLmlzRW1wdHkoKSB8fCAhY2FuTG9hZFVSTCh1cmwpKSB7Ci0gICAgICAgIHRyYWNr
KCkucmVtb3ZlQWxsQ3VlcygpOwotICAgICAgICBkaWRDb21wbGV0ZUxvYWQoSFRNTFRyYWNrRWxl
bWVudDo6RmFpbHVyZSk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9CisgICAgICAgIC8vIDcuIExl
dCBVUkwgYmUgdGhlIHRyYWNrIFVSTCBvZiB0aGUgdHJhY2sgZWxlbWVudC4KKyAgICAgICAgVVJM
IHVybCA9IGdldE5vbkVtcHR5VVJMQXR0cmlidXRlKHNyY0F0dHIpOworCisgICAgICAgIC8vIC4u
LiBpZiBVUkwgaXMgdGhlIGVtcHR5IHN0cmluZywgdGhlbiBxdWV1ZSBhIHRhc2sgdG8gZmlyc3Qg
Y2hhbmdlIHRoZSB0ZXh0IHRyYWNrIHJlYWRpbmVzcyBzdGF0ZQorICAgICAgICAvLyB0byBmYWls
ZWQgdG8gbG9hZCBhbmQgdGhlbiBmaXJlIGFuIGV2ZW50IG5hbWVkIGVycm9yIGF0IHRoZSB0cmFj
ayBlbGVtZW50LgorICAgICAgICAvLyA4LiBJZiB0aGUgdHJhY2sgZWxlbWVudCdzIHBhcmVudCBp
cyBhIG1lZGlhIGVsZW1lbnQgdGhlbiBsZXQgQ09SUyBtb2RlIGJlIHRoZSBzdGF0ZSBvZiB0aGUg
cGFyZW50IG1lZGlhCisgICAgICAgIC8vIGVsZW1lbnQncyBjcm9zc29yaWdpbiBjb250ZW50IGF0
dHJpYnV0ZS4gT3RoZXJ3aXNlLCBsZXQgQ09SUyBtb2RlIGJlIE5vIENPUlMuCisgICAgICAgIGlm
ICh1cmwuaXNFbXB0eSgpIHx8ICFjYW5Mb2FkVVJMKHVybCkpIHsKKyAgICAgICAgICAgIHRyYWNr
KCkucmVtb3ZlQWxsQ3VlcygpOworICAgICAgICAgICAgZGlkQ29tcGxldGVMb2FkKEhUTUxUcmFj
a0VsZW1lbnQ6OkZhaWx1cmUpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAg
ICAgICAgdHJhY2soKS5zY2hlZHVsZUxvYWQodXJsKTsKKyAgICB9KTsKK30KKwordm9pZCBIVE1M
VHJhY2tFbGVtZW50OjpzY2hlZHVsZVRhc2soRnVuY3Rpb248dm9pZCgpPiYmIHRhc2spCit7Cisg
ICAgcXVldWVUYXNrS2VlcGluZ09iamVjdEFsaXZlKCp0aGlzLCBUYXNrU291cmNlOjpNZWRpYUVs
ZW1lbnQsIFt0YXNrID0gV1RGTW92ZSh0YXNrKV0oKSBtdXRhYmxlIHsKKyAgICAgICAgdGFzaygp
OworICAgIH0pOwogCi0gICAgdHJhY2soKS5zY2hlZHVsZUxvYWQodXJsKTsKIH0KIAogYm9vbCBI
VE1MVHJhY2tFbGVtZW50OjpjYW5Mb2FkVVJMKGNvbnN0IFVSTCYgdXJsKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVHJhY2tFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxUcmFja0VsZW1lbnQuaAppbmRleCAyMjM5ZTgxMGE2MzJlZTgwZjY2ZGNhMGRkZmIz
MTJjZGVlNzVjZWZiLi5mNzg5ODk4ZDFmN2RkNzBlMzY1NzE5OGEyOTFjOGRiNDI3MmE4YWNjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUcmFja0VsZW1lbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUcmFja0VsZW1lbnQuaApAQCAtNjIsNiArNjIsOCBAQCBw
dWJsaWM6CiAgICAgUmVmUHRyPEhUTUxNZWRpYUVsZW1lbnQ+IG1lZGlhRWxlbWVudCgpIGNvbnN0
OwogICAgIGNvbnN0IEF0b21TdHJpbmcmIG1lZGlhRWxlbWVudENyb3NzT3JpZ2luQXR0cmlidXRl
KCkgY29uc3Q7CiAKKyAgICB2b2lkIHNjaGVkdWxlVGFzayhGdW5jdGlvbjx2b2lkKCk+JiYpOwor
CiBwcml2YXRlOgogICAgIEhUTUxUcmFja0VsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERv
Y3VtZW50Jik7CiAgICAgdmlydHVhbCB+SFRNTFRyYWNrRWxlbWVudCgpOwpAQCAtODAsOCArODIs
NiBAQCBwcml2YXRlOgogICAgIC8vIEV2ZW50VGFyZ2V0LgogICAgIHZvaWQgZXZlbnRMaXN0ZW5l
cnNEaWRDaGFuZ2UoKSBmaW5hbDsKIAotICAgIHZvaWQgbG9hZFRpbWVyRmlyZWQoKTsKLQogICAg
IC8vIFRleHRUcmFja0NsaWVudAogICAgIHZvaWQgdGV4dFRyYWNrTW9kZUNoYW5nZWQoVGV4dFRy
YWNrJikgZmluYWw7CiAgICAgdm9pZCB0ZXh0VHJhY2tLaW5kQ2hhbmdlZChUZXh0VHJhY2smKSBm
aW5hbDsKQEAgLTkzLDcgKzkzLDcgQEAgcHJpdmF0ZToKICAgICBib29sIGNhbkxvYWRVUkwoY29u
c3QgVVJMJik7CiAKICAgICBSZWZQdHI8TG9hZGFibGVUZXh0VHJhY2s+IG1fdHJhY2s7Ci0gICAg
VGltZXIgbV9sb2FkVGltZXI7CisgICAgYm9vbCBtX2xvYWRQZW5kaW5nIHsgZmFsc2UgfTsKICAg
ICBib29sIG1faGFzUmVsZXZhbnRMb2FkRXZlbnRzTGlzdGVuZXIgeyBmYWxzZSB9OwogfTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9Mb2FkYWJsZVRleHRUcmFjay5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL0xvYWRhYmxlVGV4dFRyYWNrLmNwcAppbmRl
eCA3NDYzMjBkN2MxNGQyYzQ3NWJhMDQzNmI3Y2JiNTdhMDQxNzY1ZjIwLi5mODBhMDAzYjAwMDg5
NTE5Y2M5YmIxOTliYjM5YWM0ZTAyNDkwODUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3RyYWNrL0xvYWRhYmxlVGV4dFRyYWNrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L3RyYWNrL0xvYWRhYmxlVGV4dFRyYWNrLmNwcApAQCAtNDIsNyArNDIsNiBAQCBXVEZfTUFLRV9J
U09fQUxMT0NBVEVEX0lNUEwoTG9hZGFibGVUZXh0VHJhY2spOwogTG9hZGFibGVUZXh0VHJhY2s6
OkxvYWRhYmxlVGV4dFRyYWNrKEhUTUxUcmFja0VsZW1lbnQmIHRyYWNrLCBjb25zdCBTdHJpbmcm
IGtpbmQsIGNvbnN0IFN0cmluZyYgbGFiZWwsIGNvbnN0IFN0cmluZyYgbGFuZ3VhZ2UpCiAgICAg
OiBUZXh0VHJhY2soJnRyYWNrLmRvY3VtZW50KCksICZ0cmFjaywga2luZCwgZW1wdHlTdHJpbmco
KSwgbGFiZWwsIGxhbmd1YWdlLCBUcmFja0VsZW1lbnQpCiAgICAgLCBtX3RyYWNrRWxlbWVudCgm
dHJhY2spCi0gICAgLCBtX2xvYWRUaW1lcigqdGhpcywgJkxvYWRhYmxlVGV4dFRyYWNrOjpsb2Fk
VGltZXJGaXJlZCkKIHsKIH0KIApAQCAtNTUsNDQgKzU0LDUwIEBAIFJlZjxMb2FkYWJsZVRleHRU
cmFjaz4gTG9hZGFibGVUZXh0VHJhY2s6OmNyZWF0ZShIVE1MVHJhY2tFbGVtZW50JiB0cmFjaywg
Y29uc3QKIAogdm9pZCBMb2FkYWJsZVRleHRUcmFjazo6c2NoZWR1bGVMb2FkKGNvbnN0IFVSTCYg
dXJsKQogeworICAgIEFTU0VSVCghdXJsLmlzRW1wdHkoKSk7CisKICAgICBpZiAodXJsID09IG1f
dXJsKQogICAgICAgICByZXR1cm47CiAKICAgICAvLyBXaGVuIHNyYyBhdHRyaWJ1dGUgaXMgY2hh
bmdlZCB3ZSBuZWVkIHRvIGZsdXNoIGFsbCBjb2xsZWN0ZWQgdHJhY2sgZGF0YQogICAgIHJlbW92
ZUFsbEN1ZXMoKTsKIAorICAgIGlmICghbV90cmFja0VsZW1lbnQpCisgICAgICAgIHJldHVybjsK
KwogICAgIC8vIDQuOC4xMC4xMi4zIFNvdXJjaW5nIG91dC1vZi1iYW5kIHRleHQgdHJhY2tzIChj
b250aW51ZWQpCiAKICAgICAvLyAyLiBMZXQgVVJMIGJlIHRoZSB0cmFjayBVUkwgb2YgdGhlIHRy
YWNrIGVsZW1lbnQuCiAgICAgbV91cmwgPSB1cmw7CiAgICAgCi0gICAgLy8gMy4gQXN5bmNocm9u
b3VzbHkgcnVuIHRoZSByZW1haW5pbmcgc3RlcHMsIHdoaWxlIGNvbnRpbnVpbmcgd2l0aCB3aGF0
ZXZlciB0YXNrIAorICAgIGlmIChtX2xvYWRQZW5kaW5nKQorICAgICAgICByZXR1cm47CisgICAg
CisgICAgLy8gMy4gQXN5bmNocm9ub3VzbHkgcnVuIHRoZSByZW1haW5pbmcgc3RlcHMsIHdoaWxl
IGNvbnRpbnVpbmcgd2l0aCB3aGF0ZXZlciB0YXNrCiAgICAgLy8gd2FzIHJlc3BvbnNpYmxlIGZv
ciBjcmVhdGluZyB0aGUgdGV4dCB0cmFjayBvciBjaGFuZ2luZyB0aGUgdGV4dCB0cmFjayBtb2Rl
LgotICAgIGlmICghbV9sb2FkVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9sb2FkVGltZXIu
c3RhcnRPbmVTaG90KDBfcyk7Ci19CisgICAgbV90cmFja0VsZW1lbnQtPnNjaGVkdWxlVGFzayhb
dGhpc10oKSBtdXRhYmxlIHsKKyAgICAgICAgU2V0Rm9yU2NvcGU8Ym9vbD4gbG9hZFBlbmRpbmcg
eyBtX2xvYWRQZW5kaW5nLCB0cnVlLCBmYWxzZSB9OwogCi1FbGVtZW50KiBMb2FkYWJsZVRleHRU
cmFjazo6ZWxlbWVudCgpCi17Ci0gICAgcmV0dXJuIG1fdHJhY2tFbGVtZW50OwotfQorICAgICAg
ICBpZiAobV9sb2FkZXIpCisgICAgICAgICAgICBtX2xvYWRlci0+Y2FuY2VsTG9hZCgpOwogCi12
b2lkIExvYWRhYmxlVGV4dFRyYWNrOjpsb2FkVGltZXJGaXJlZCgpCi17Ci0gICAgaWYgKG1fbG9h
ZGVyKQotICAgICAgICBtX2xvYWRlci0+Y2FuY2VsTG9hZCgpOworICAgICAgICBpZiAoIW1fdHJh
Y2tFbGVtZW50KQorICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKCFtX3RyYWNrRWxlbWVu
dCkKLSAgICAgICAgcmV0dXJuOworICAgICAgICAvLyA0LjguMTAuMTIuMyBTb3VyY2luZyBvdXQt
b2YtYmFuZCB0ZXh0IHRyYWNrcyAoY29udGludWVkKQogCi0gICAgLy8gNC44LjEwLjEyLjMgU291
cmNpbmcgb3V0LW9mLWJhbmQgdGV4dCB0cmFja3MgKGNvbnRpbnVlZCkKKyAgICAgICAgLy8gNC4g
RG93bmxvYWQ6IElmIFVSTCBpcyBub3QgdGhlIGVtcHR5IHN0cmluZywgcGVyZm9ybSBhIHBvdGVu
dGlhbGx5IENPUlMtZW5hYmxlZCBmZXRjaCBvZiBVUkwsIHdpdGggdGhlCisgICAgICAgIC8vIG1v
ZGUgYmVpbmcgdGhlIHN0YXRlIG9mIHRoZSBtZWRpYSBlbGVtZW50J3MgY3Jvc3NvcmlnaW4gY29u
dGVudCBhdHRyaWJ1dGUsIHRoZSBvcmlnaW4gYmVpbmcgdGhlCisgICAgICAgIC8vIG9yaWdpbiBv
ZiB0aGUgbWVkaWEgZWxlbWVudCdzIERvY3VtZW50LCBhbmQgdGhlIGRlZmF1bHQgb3JpZ2luIGJl
aGF2aW91ciBzZXQgdG8gZmFpbC4KKyAgICAgICAgbV9sb2FkZXIgPSBtYWtlVW5pcXVlPFRleHRU
cmFja0xvYWRlcj4oc3RhdGljX2Nhc3Q8VGV4dFRyYWNrTG9hZGVyQ2xpZW50Jj4oKnRoaXMpLCBt
X3RyYWNrRWxlbWVudC0+ZG9jdW1lbnQoKSk7CisgICAgICAgIGlmICghbV9sb2FkZXItPmxvYWQo
bV91cmwsICptX3RyYWNrRWxlbWVudCkpCisgICAgICAgICAgICBtX3RyYWNrRWxlbWVudC0+ZGlk
Q29tcGxldGVMb2FkKEhUTUxUcmFja0VsZW1lbnQ6OkZhaWx1cmUpOworICAgIH0pOworfQogCi0g
ICAgLy8gNC4gRG93bmxvYWQ6IElmIFVSTCBpcyBub3QgdGhlIGVtcHR5IHN0cmluZywgcGVyZm9y
bSBhIHBvdGVudGlhbGx5IENPUlMtZW5hYmxlZCBmZXRjaCBvZiBVUkwsIHdpdGggdGhlCi0gICAg
Ly8gbW9kZSBiZWluZyB0aGUgc3RhdGUgb2YgdGhlIG1lZGlhIGVsZW1lbnQncyBjcm9zc29yaWdp
biBjb250ZW50IGF0dHJpYnV0ZSwgdGhlIG9yaWdpbiBiZWluZyB0aGUKLSAgICAvLyBvcmlnaW4g
b2YgdGhlIG1lZGlhIGVsZW1lbnQncyBEb2N1bWVudCwgYW5kIHRoZSBkZWZhdWx0IG9yaWdpbiBi
ZWhhdmlvdXIgc2V0IHRvIGZhaWwuCi0gICAgbV9sb2FkZXIgPSBtYWtlVW5pcXVlPFRleHRUcmFj
a0xvYWRlcj4oc3RhdGljX2Nhc3Q8VGV4dFRyYWNrTG9hZGVyQ2xpZW50Jj4oKnRoaXMpLCBtX3Ry
YWNrRWxlbWVudC0+ZG9jdW1lbnQoKSk7Ci0gICAgaWYgKCFtX2xvYWRlci0+bG9hZChtX3VybCwg
Km1fdHJhY2tFbGVtZW50KSkKLSAgICAgICAgbV90cmFja0VsZW1lbnQtPmRpZENvbXBsZXRlTG9h
ZChIVE1MVHJhY2tFbGVtZW50OjpGYWlsdXJlKTsKK0VsZW1lbnQqIExvYWRhYmxlVGV4dFRyYWNr
OjplbGVtZW50KCkKK3sKKyAgICByZXR1cm4gbV90cmFja0VsZW1lbnQ7CiB9CiAKIHZvaWQgTG9h
ZGFibGVUZXh0VHJhY2s6Om5ld0N1ZXNBdmFpbGFibGUoVGV4dFRyYWNrTG9hZGVyJiBsb2FkZXIp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL0xvYWRhYmxlVGV4dFRyYWNr
LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL0xvYWRhYmxlVGV4dFRyYWNrLmgKaW5kZXgg
OWM5OGU1NjExNmE4YTc2MjVkZGNmZTI3MWY4NTA2NzhhMzVmMjRiYy4uMDhkZmFhZDI4ZGNkZDFk
OGFiNWNiMGZiNmFlMmY4NjFiZTc5MDhiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC90cmFjay9Mb2FkYWJsZVRleHRUcmFjay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJh
Y2svTG9hZGFibGVUZXh0VHJhY2suaApAQCAtNjUsOSArNjUsOSBAQCBwcml2YXRlOgogI2VuZGlm
CiAKICAgICBIVE1MVHJhY2tFbGVtZW50KiBtX3RyYWNrRWxlbWVudDsKLSAgICBUaW1lciBtX2xv
YWRUaW1lcjsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8VGV4dFRyYWNrTG9hZGVyPiBtX2xvYWRlcjsK
ICAgICBVUkwgbV91cmw7CisgICAgYm9vbCBtX2xvYWRQZW5kaW5nIHsgZmFsc2UgfTsKIH07CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA5ODU3OWExMjE5N2Y4MjJjZmY0MjE2Mjg3
Y2NiNDA0NGI4MDQ4MmJkLi5iMTFmODk1MGMzNzQyZDRmMzY5YWRmODk3ZDFhZTg0YTNkNjMxNWVi
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjEtMDgtMjcgIEVyaWMgQ2FybHNvbiAgPGVyaWMu
Y2FybHNvbkBhcHBsZS5jb20+CisKKyAgICAgICAgWyBDYXRhbGluYSBFV1MgXSBtZWRpYS90cmFj
ay90cmFjay1kaXNhYmxlZC1hZGRjdWUuaHRtbCBpcyBmbGFreSBjcmFzaGluZworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5NDYyCisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS84MjMwMjkxNT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9uczoKKwog
MjAyMS0wOC0yNiAgRXJpYyBIdXRjaGlzb24gIDxlaHV0Y2hpc29uQGFwcGxlLmNvbT4KIAogICAg
ICAgICBbaU9TIHdrMiByZWxlYXNlXSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtZGlzcGxheS9kaXNwbGF5LWNvbnRlbnRzLWJsb2NraWZ5LWR5bmFtaWMuaHRtbCBpcyBh
IGZsYWt5IHRpbWVvdXQpLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdr
MS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhw
ZWN0YXRpb25zCmluZGV4IDIwMDkxNWExMWQ4NTdmNTlmNmU0ODcwYjk4MWE5NjgzOWUwMjY5NzEu
LjUyZGZiODhjMzJhZDlkYzY4ZDQ4YTAzZjFmMGE1ODQ5MjFjNzc4YjggMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTY0Niw4ICs2NDYsNiBA
QCBtZWRpYS90cmFjay90cmFjay1jdWVzLWVudGVyLWV4aXQuaHRtbCBbIFBhc3MgQ3Jhc2ggXQog
IyA8cmRhcjovL3Byb2JsZW0vNjE3NDQ5OTQ+IG1lZGlhL3RyYWNrL3RyYWNrLWN1ZXMtY3VlY2hh
bmdlLmh0bWwgaXMgZmxha3kgdGltaW5nIG91dC4KIG1lZGlhL3RyYWNrL3RyYWNrLWN1ZXMtY3Vl
Y2hhbmdlLmh0bWwgWyBQYXNzIENyYXNoIFRpbWVvdXQgXQogCi13ZWJraXQub3JnL2IvMjI5NDYy
IFsgQ2F0YWxpbmEgRGVidWcgXSBtZWRpYS90cmFjay90cmFjay1kaXNhYmxlZC1hZGRjdWUuaHRt
bCBbIFBhc3MgQ3Jhc2ggXQotCiB3ZWJraXQub3JnL2IvMTY3MTI3IHBvaW50ZXItbG9jay9sb2Nr
ZWQtZWxlbWVudC1yZW1vdmVkLWZyb20tZG9tLmh0bWwKIAogd2Via2l0Lm9yZy9iLzE2Nzg1NyBw
YWdlb3ZlcmxheS9vdmVybGF5LXJlbW92ZS1yZWluc2VydC12aWV3Lmh0bWwgWyBTa2lwIF0K
</data>
<flag name="review"
          id="459719"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436673</attachid>
            <date>2021-08-27 14:14:58 -0700</date>
            <delta_ts>2021-08-27 16:49:08 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-229462-20210827141457.patch</filename>
            <type>text/plain</type>
            <size>13942</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxNjI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGYyNGY1ODIwYzYwYzkxYjhmNzczNTJh
NmFmNzk0ZTZlNTJjMGEyZDIuLmZhMzQxYjRiM2U0MDYzMzk4NTU1NTYyMDg3MzM2MGNlZjIzNmU3
MmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjEtMDgtMjcgIEVyaWMgQ2FybHNvbiAgPGVyaWMu
Y2FybHNvbkBhcHBsZS5jb20+CisKKyAgICAgICAgWyBDYXRhbGluYSBFV1MgXSBtZWRpYS90cmFj
ay90cmFjay1kaXNhYmxlZC1hZGRjdWUuaHRtbCBpcyBmbGFreSBjcmFzaGluZworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5NDYyCisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS84MjMwMjkxNT4KKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxl
ci4KKworICAgICAgICAqIHd0Zi9TZXRGb3JTY29wZS5oOgorICAgICAgICAoV1RGOjpTZXRGb3JT
Y29wZTo6U2V0Rm9yU2NvcGUpOiBBZGQgYSBjb25zdHJ1Y3RvciB0aGF0IHRha2VzIHRoZSB2YWx1
ZSB0byBzZXQKKyAgICAgICAgb24gc2NvcGUgZXhpdC4KKwogMjAyMS0wOC0yNSAgV2Vuc29uIEhz
aWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1vdmUgc29tZSBpT1Mt
c3BlY2lmaWMgY29tcGlsZS10aW1lIGd1YXJkcyB0aGF0IGFyZSBubyBsb25nZXIgbmVlZGVkCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKaW5kZXggMjI4Y2ZlOGRlN2E5NjY5NTI3MGVjMzk4MGE5YTg1MGFjNjkwMmYwNS4uZGNl
OTlhNTdkMzVmZTQzZWRjY2RhZWQ4NzQyMTkzOGI4MmM1MWYwZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDI3IEBACisyMDIxLTA4LTI3ICBFcmljIENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUu
Y29tPgorCisgICAgICAgIFsgQ2F0YWxpbmEgRVdTIF0gbWVkaWEvdHJhY2svdHJhY2stZGlzYWJs
ZWQtYWRkY3VlLmh0bWwgaXMgZmxha3kgY3Jhc2hpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTQ2MgorICAgICAgICA8cmRhcjovL3Byb2JsZW0v
ODIzMDI5MTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAg
VXNlIGBxdWV1ZVRhc2tLZWVwaW5nT2JqZWN0QWxpdmVgIGluc3RlYWQgb2YgYSB0aW1lciB3aGVu
IHNjaGVkdWxpbmcgdGV4dCB0cmFjaworICAgICAgICBsb2FkaW5nLgorCisgICAgICAgICogaHRt
bC9IVE1MVHJhY2tFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUcmFja0VsZW1l
bnQ6OkhUTUxUcmFja0VsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRyYWNrRWxlbWVu
dDo6c2NoZWR1bGVMb2FkKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUcmFja0VsZW1lbnQ6OnNj
aGVkdWxlVGFzayk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVHJhY2tFbGVtZW50Ojpsb2FkVGlt
ZXJGaXJlZCk6IERlbGV0ZWQuCisgICAgICAgICogaHRtbC9IVE1MVHJhY2tFbGVtZW50Lmg6Cisg
ICAgICAgICogaHRtbC90cmFjay9Mb2FkYWJsZVRleHRUcmFjay5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpMb2FkYWJsZVRleHRUcmFjazo6TG9hZGFibGVUZXh0VHJhY2spOgorICAgICAgICAoV2Vi
Q29yZTo6TG9hZGFibGVUZXh0VHJhY2s6OnNjaGVkdWxlTG9hZCk6CisgICAgICAgIChXZWJDb3Jl
OjpMb2FkYWJsZVRleHRUcmFjazo6ZWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpMb2FkYWJs
ZVRleHRUcmFjazo6bG9hZFRpbWVyRmlyZWQpOiBEZWxldGVkLgorICAgICAgICAqIGh0bWwvdHJh
Y2svTG9hZGFibGVUZXh0VHJhY2suaDoKKwogMjAyMS0wOC0yNiAgS2ltbW8gS2lubnVuZW4gIDxr
a2lubnVuZW5AYXBwbGUuY29tPgogCiAgICAgICAgIFdlYkdMIGNhbGxzIGludG8gc3RhdGljIEdy
YXBoaWNzQ29udGV4dEdMT3BlbkdMIGZ1bmN0aW9ucyBuZWVkbGVzc2x5CmRpZmYgLS1naXQgYS9T
b3VyY2UvV1RGL3d0Zi9TZXRGb3JTY29wZS5oIGIvU291cmNlL1dURi93dGYvU2V0Rm9yU2NvcGUu
aAppbmRleCAxM2RmNDhiNWNkYWE0ZjQ2N2ZhYjRmMDA0NDg1NzJlMTA0MTg2YWY5Li43NGRlZjBh
MjU0MGFiNTBhYjg0YzViM2Q0YzgwZjFiZWU4NTYxMmYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RG
L3d0Zi9TZXRGb3JTY29wZS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1NldEZvclNjb3BlLmgKQEAg
LTQ3LDkgKzQ3LDEwIEBAIGNsYXNzIFNldEZvclNjb3BlIHsKIHB1YmxpYzoKICAgICBTZXRGb3JT
Y29wZShUJiBzY29wZWRWYXJpYWJsZSkKICAgICAgICAgOiBtX3Njb3BlZFZhcmlhYmxlKHNjb3Bl
ZFZhcmlhYmxlKQotICAgICAgICAsIG1fb3JpZ2luYWxWYWx1ZShzY29wZWRWYXJpYWJsZSkKKyAg
ICAgICAgLCBtX3ZhbHVlVG9SZXN0b3JlKHNjb3BlZFZhcmlhYmxlKQogICAgIHsKICAgICB9CisK
ICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBVPgogICAgIFNldEZvclNjb3BlKFQmIHNjb3BlZFZhcmlh
YmxlLCBVJiYgbmV3VmFsdWUpCiAgICAgICAgIDogU2V0Rm9yU2NvcGUoc2NvcGVkVmFyaWFibGUp
CkBAIC01NywxNCArNTgsMjIgQEAgcHVibGljOgogICAgICAgICBtX3Njb3BlZFZhcmlhYmxlID0g
c3RkOjpmb3J3YXJkPFU+KG5ld1ZhbHVlKTsKICAgICB9CiAKKyAgICB0ZW1wbGF0ZTx0eXBlbmFt
ZSBVLCB0eXBlbmFtZSBWPgorICAgIFNldEZvclNjb3BlKFQmIHNjb3BlZFZhcmlhYmxlLCBVJiYg
bmV3VmFsdWUsIFYmJiByZXN0b3JlVmFsdWUpCisgICAgICAgIDogbV9zY29wZWRWYXJpYWJsZShz
Y29wZWRWYXJpYWJsZSkKKyAgICAgICAgLCBtX3ZhbHVlVG9SZXN0b3JlKHN0ZDo6Zm9yd2FyZDxW
PihyZXN0b3JlVmFsdWUpKQorICAgIHsKKyAgICAgICAgbV9zY29wZWRWYXJpYWJsZSA9IHN0ZDo6
Zm9yd2FyZDxVPihuZXdWYWx1ZSk7CisgICAgfQorCiAgICAgflNldEZvclNjb3BlKCkKICAgICB7
Ci0gICAgICAgIG1fc2NvcGVkVmFyaWFibGUgPSBXVEZNb3ZlKG1fb3JpZ2luYWxWYWx1ZSk7Cisg
ICAgICAgIG1fc2NvcGVkVmFyaWFibGUgPSBXVEZNb3ZlKG1fdmFsdWVUb1Jlc3RvcmUpOwogICAg
IH0KIAogcHJpdmF0ZToKICAgICBUJiBtX3Njb3BlZFZhcmlhYmxlOwotICAgIFQgbV9vcmlnaW5h
bFZhbHVlOworICAgIFQgbV92YWx1ZVRvUmVzdG9yZTsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRyYWNrRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxUcmFja0VsZW1lbnQuY3BwCmluZGV4IDhhZTVlN2QxMzJhNjgyOTYxZGMzNGRkNjI3
N2VjYzIyZTBmNzkxN2UuLmI4NjVjNzJhMmQzZGM0OWJmZTdhNmU0MTQxNzU1ZDg5YmZjZTlhN2Qg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRyYWNrRWxlbWVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVHJhY2tFbGVtZW50LmNwcApAQCAtMSw2ICsxLDYg
QEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTEsIDIwMTMgR29vZ2xlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KLSAqIENvcHlyaWdodCAoQykgMjAxMS0yMDE3IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMS0yMDIxIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNjAs
NyArNjAsNiBAQCBzdGF0aWMgU3RyaW5nIHVybEZvckxvZ2dpbmdUcmFjayhjb25zdCBVUkwmIHVy
bCkKIGlubGluZSBIVE1MVHJhY2tFbGVtZW50OjpIVE1MVHJhY2tFbGVtZW50KGNvbnN0IFF1YWxp
ZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50JiBkb2N1bWVudCkKICAgICA6IEhUTUxFbGVtZW50
KHRhZ05hbWUsIGRvY3VtZW50KQogICAgICwgQWN0aXZlRE9NT2JqZWN0KGRvY3VtZW50KQotICAg
ICwgbV9sb2FkVGltZXIoKnRoaXMsICZIVE1MVHJhY2tFbGVtZW50Ojpsb2FkVGltZXJGaXJlZCkK
IHsKICAgICBMT0coTWVkaWEsICJIVE1MVHJhY2tFbGVtZW50OjpIVE1MVHJhY2tFbGVtZW50IC0g
JXAiLCB0aGlzKTsKICAgICBBU1NFUlQoaGFzVGFnTmFtZSh0cmFja1RhZykpOwpAQCAtMTY4LDcg
KzE2Nyw3IEBAIHZvaWQgSFRNTFRyYWNrRWxlbWVudDo6c2NoZWR1bGVMb2FkKCkKIHsKICAgICAv
LyAxLiBJZiBhbm90aGVyIG9jY3VycmVuY2Ugb2YgdGhpcyBhbGdvcml0aG0gaXMgYWxyZWFkeSBy
dW5uaW5nIGZvciB0aGlzIHRleHQgdHJhY2sgYW5kIGl0cyB0cmFjayBlbGVtZW50LAogICAgIC8v
IGFib3J0IHRoZXNlIHN0ZXBzLCBsZXR0aW5nIHRoYXQgb3RoZXIgYWxnb3JpdGhtIHRha2UgY2Fy
ZSBvZiB0aGlzIGVsZW1lbnQuCi0gICAgaWYgKG1fbG9hZFRpbWVyLmlzQWN0aXZlKCkpCisgICAg
aWYgKG1fbG9hZFBlbmRpbmcpCiAgICAgICAgIHJldHVybjsKIAogICAgIC8vIDIuIElmIHRoZSB0
ZXh0IHRyYWNrJ3MgdGV4dCB0cmFjayBtb2RlIGlzIG5vdCBzZXQgdG8gb25lIG9mIGhpZGRlbiBv
ciBzaG93aW5nLCBhYm9ydCB0aGVzZSBzdGVwcy4KQEAgLTE4MCwzMyArMTc5LDQxIEBAIHZvaWQg
SFRNTFRyYWNrRWxlbWVudDo6c2NoZWR1bGVMb2FkKCkKICAgICAgICAgcmV0dXJuOwogCiAgICAg
Ly8gNC4gUnVuIHRoZSByZW1haW5kZXIgb2YgdGhlc2Ugc3RlcHMgYXN5bmNocm9ub3VzbHksIGFs
bG93aW5nIHdoYXRldmVyIGNhdXNlZCB0aGVzZSBzdGVwcyB0byBydW4gdG8gY29udGludWUuCi0g
ICAgbV9sb2FkVGltZXIuc3RhcnRPbmVTaG90KDBfcyk7Ci19CisgICAgbV9sb2FkUGVuZGluZyA9
IHRydWU7CisgICAgc2NoZWR1bGVUYXNrKFt0aGlzXSgpIG11dGFibGUgewogCi12b2lkIEhUTUxU
cmFja0VsZW1lbnQ6OmxvYWRUaW1lckZpcmVkKCkKLXsKLSAgICBpZiAoIWhhc0F0dHJpYnV0ZVdp
dGhvdXRTeW5jaHJvbml6YXRpb24oc3JjQXR0cikpIHsKLSAgICAgICAgdHJhY2soKS5yZW1vdmVB
bGxDdWVzKCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9CisgICAgICAgIFNldEZvclNjb3BlPGJv
b2w+IGxvYWRQZW5kaW5nIHsgbV9sb2FkUGVuZGluZywgdHJ1ZSwgZmFsc2UgfTsKIAotICAgIC8v
IDYuIFNldCB0aGUgdGV4dCB0cmFjayByZWFkaW5lc3Mgc3RhdGUgdG8gbG9hZGluZy4KLSAgICBz
ZXRSZWFkeVN0YXRlKEhUTUxUcmFja0VsZW1lbnQ6OkxPQURJTkcpOworICAgICAgICBpZiAoIWhh
c0F0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oc3JjQXR0cikpIHsKKyAgICAgICAgICAg
IHRyYWNrKCkucmVtb3ZlQWxsQ3VlcygpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9
CiAKLSAgICAvLyA3LiBMZXQgVVJMIGJlIHRoZSB0cmFjayBVUkwgb2YgdGhlIHRyYWNrIGVsZW1l
bnQuCi0gICAgVVJMIHVybCA9IGdldE5vbkVtcHR5VVJMQXR0cmlidXRlKHNyY0F0dHIpOworICAg
ICAgICAvLyA2LiBTZXQgdGhlIHRleHQgdHJhY2sgcmVhZGluZXNzIHN0YXRlIHRvIGxvYWRpbmcu
CisgICAgICAgIHNldFJlYWR5U3RhdGUoSFRNTFRyYWNrRWxlbWVudDo6TE9BRElORyk7CiAKLSAg
ICAvLyAuLi4gaWYgVVJMIGlzIHRoZSBlbXB0eSBzdHJpbmcsIHRoZW4gcXVldWUgYSB0YXNrIHRv
IGZpcnN0IGNoYW5nZSB0aGUgdGV4dCB0cmFjayByZWFkaW5lc3Mgc3RhdGUKLSAgICAvLyB0byBm
YWlsZWQgdG8gbG9hZCBhbmQgdGhlbiBmaXJlIGFuIGV2ZW50IG5hbWVkIGVycm9yIGF0IHRoZSB0
cmFjayBlbGVtZW50LgotICAgIC8vIDguIElmIHRoZSB0cmFjayBlbGVtZW50J3MgcGFyZW50IGlz
IGEgbWVkaWEgZWxlbWVudCB0aGVuIGxldCBDT1JTIG1vZGUgYmUgdGhlIHN0YXRlIG9mIHRoZSBw
YXJlbnQgbWVkaWEKLSAgICAvLyBlbGVtZW50J3MgY3Jvc3NvcmlnaW4gY29udGVudCBhdHRyaWJ1
dGUuIE90aGVyd2lzZSwgbGV0IENPUlMgbW9kZSBiZSBObyBDT1JTLgotICAgIGlmICh1cmwuaXNF
bXB0eSgpIHx8ICFjYW5Mb2FkVVJMKHVybCkpIHsKLSAgICAgICAgdHJhY2soKS5yZW1vdmVBbGxD
dWVzKCk7Ci0gICAgICAgIGRpZENvbXBsZXRlTG9hZChIVE1MVHJhY2tFbGVtZW50OjpGYWlsdXJl
KTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KKyAgICAgICAgLy8gNy4gTGV0IFVSTCBiZSB0aGUg
dHJhY2sgVVJMIG9mIHRoZSB0cmFjayBlbGVtZW50LgorICAgICAgICBVUkwgdHJhY2tVUkwgPSBn
ZXROb25FbXB0eVVSTEF0dHJpYnV0ZShzcmNBdHRyKTsKKworICAgICAgICAvLyAuLi4gaWYgVVJM
IGlzIHRoZSBlbXB0eSBzdHJpbmcsIHRoZW4gcXVldWUgYSB0YXNrIHRvIGZpcnN0IGNoYW5nZSB0
aGUgdGV4dCB0cmFjayByZWFkaW5lc3Mgc3RhdGUKKyAgICAgICAgLy8gdG8gZmFpbGVkIHRvIGxv
YWQgYW5kIHRoZW4gZmlyZSBhbiBldmVudCBuYW1lZCBlcnJvciBhdCB0aGUgdHJhY2sgZWxlbWVu
dC4KKyAgICAgICAgLy8gOC4gSWYgdGhlIHRyYWNrIGVsZW1lbnQncyBwYXJlbnQgaXMgYSBtZWRp
YSBlbGVtZW50IHRoZW4gbGV0IENPUlMgbW9kZSBiZSB0aGUgc3RhdGUgb2YgdGhlIHBhcmVudCBt
ZWRpYQorICAgICAgICAvLyBlbGVtZW50J3MgY3Jvc3NvcmlnaW4gY29udGVudCBhdHRyaWJ1dGUu
IE90aGVyd2lzZSwgbGV0IENPUlMgbW9kZSBiZSBObyBDT1JTLgorICAgICAgICBpZiAoIWNhbkxv
YWRVUkwodHJhY2tVUkwpKSB7CisgICAgICAgICAgICB0cmFjaygpLnJlbW92ZUFsbEN1ZXMoKTsK
KyAgICAgICAgICAgIGRpZENvbXBsZXRlTG9hZChIVE1MVHJhY2tFbGVtZW50OjpGYWlsdXJlKTsK
KyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQogCi0gICAgdHJhY2soKS5zY2hlZHVsZUxv
YWQodXJsKTsKKyAgICAgICAgdHJhY2soKS5zY2hlZHVsZUxvYWQodHJhY2tVUkwpOworICAgIH0p
OworfQorCit2b2lkIEhUTUxUcmFja0VsZW1lbnQ6OnNjaGVkdWxlVGFzayhGdW5jdGlvbjx2b2lk
KCk+JiYgdGFzaykKK3sKKyAgICBxdWV1ZVRhc2tLZWVwaW5nT2JqZWN0QWxpdmUoKnRoaXMsIFRh
c2tTb3VyY2U6Ok1lZGlhRWxlbWVudCwgW3Rhc2sgPSBXVEZNb3ZlKHRhc2spXSgpIG11dGFibGUg
eworICAgICAgICB0YXNrKCk7CisgICAgfSk7CiB9CiAKIGJvb2wgSFRNTFRyYWNrRWxlbWVudDo6
Y2FuTG9hZFVSTChjb25zdCBVUkwmIHVybCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTFRyYWNrRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVHJhY2tFbGVt
ZW50LmgKaW5kZXggMjIzOWU4MTBhNjMyZWU4MGY2NmRjYTBkZGZiMzEyY2RlZTc1Y2VmYi4uZjc4
OTg5OGQxZjdkZDcwZTM2NTcxOThhMjkxYzhkYjQyNzJhOGFjYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MVHJhY2tFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MVHJhY2tFbGVtZW50LmgKQEAgLTYyLDYgKzYyLDggQEAgcHVibGljOgogICAgIFJlZlB0
cjxIVE1MTWVkaWFFbGVtZW50PiBtZWRpYUVsZW1lbnQoKSBjb25zdDsKICAgICBjb25zdCBBdG9t
U3RyaW5nJiBtZWRpYUVsZW1lbnRDcm9zc09yaWdpbkF0dHJpYnV0ZSgpIGNvbnN0OwogCisgICAg
dm9pZCBzY2hlZHVsZVRhc2soRnVuY3Rpb248dm9pZCgpPiYmKTsKKwogcHJpdmF0ZToKICAgICBI
VE1MVHJhY2tFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogICAgIHZp
cnR1YWwgfkhUTUxUcmFja0VsZW1lbnQoKTsKQEAgLTgwLDggKzgyLDYgQEAgcHJpdmF0ZToKICAg
ICAvLyBFdmVudFRhcmdldC4KICAgICB2b2lkIGV2ZW50TGlzdGVuZXJzRGlkQ2hhbmdlKCkgZmlu
YWw7CiAKLSAgICB2b2lkIGxvYWRUaW1lckZpcmVkKCk7Ci0KICAgICAvLyBUZXh0VHJhY2tDbGll
bnQKICAgICB2b2lkIHRleHRUcmFja01vZGVDaGFuZ2VkKFRleHRUcmFjayYpIGZpbmFsOwogICAg
IHZvaWQgdGV4dFRyYWNrS2luZENoYW5nZWQoVGV4dFRyYWNrJikgZmluYWw7CkBAIC05Myw3ICs5
Myw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBjYW5Mb2FkVVJMKGNvbnN0IFVSTCYpOwogCiAgICAg
UmVmUHRyPExvYWRhYmxlVGV4dFRyYWNrPiBtX3RyYWNrOwotICAgIFRpbWVyIG1fbG9hZFRpbWVy
OworICAgIGJvb2wgbV9sb2FkUGVuZGluZyB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2hhc1JlbGV2
YW50TG9hZEV2ZW50c0xpc3RlbmVyIHsgZmFsc2UgfTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvdHJhY2svTG9hZGFibGVUZXh0VHJhY2suY3BwIGIvU291cmNlL1dlYkNv
cmUvaHRtbC90cmFjay9Mb2FkYWJsZVRleHRUcmFjay5jcHAKaW5kZXggNzQ2MzIwZDdjMTRkMmM0
NzViYTA0MzZiN2NiYjU3YTA0MTc2NWYyMC4uZjgwYTAwM2IwMDA4OTUxOWNjOWJiMTk5YmIzOWFj
NGUwMjQ5MDg1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9Mb2FkYWJs
ZVRleHRUcmFjay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC90cmFjay9Mb2FkYWJsZVRl
eHRUcmFjay5jcHAKQEAgLTQyLDcgKzQyLDYgQEAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBM
KExvYWRhYmxlVGV4dFRyYWNrKTsKIExvYWRhYmxlVGV4dFRyYWNrOjpMb2FkYWJsZVRleHRUcmFj
ayhIVE1MVHJhY2tFbGVtZW50JiB0cmFjaywgY29uc3QgU3RyaW5nJiBraW5kLCBjb25zdCBTdHJp
bmcmIGxhYmVsLCBjb25zdCBTdHJpbmcmIGxhbmd1YWdlKQogICAgIDogVGV4dFRyYWNrKCZ0cmFj
ay5kb2N1bWVudCgpLCAmdHJhY2ssIGtpbmQsIGVtcHR5U3RyaW5nKCksIGxhYmVsLCBsYW5ndWFn
ZSwgVHJhY2tFbGVtZW50KQogICAgICwgbV90cmFja0VsZW1lbnQoJnRyYWNrKQotICAgICwgbV9s
b2FkVGltZXIoKnRoaXMsICZMb2FkYWJsZVRleHRUcmFjazo6bG9hZFRpbWVyRmlyZWQpCiB7CiB9
CiAKQEAgLTU1LDQ0ICs1NCw1MCBAQCBSZWY8TG9hZGFibGVUZXh0VHJhY2s+IExvYWRhYmxlVGV4
dFRyYWNrOjpjcmVhdGUoSFRNTFRyYWNrRWxlbWVudCYgdHJhY2ssIGNvbnN0CiAKIHZvaWQgTG9h
ZGFibGVUZXh0VHJhY2s6OnNjaGVkdWxlTG9hZChjb25zdCBVUkwmIHVybCkKIHsKKyAgICBBU1NF
UlQoIXVybC5pc0VtcHR5KCkpOworCiAgICAgaWYgKHVybCA9PSBtX3VybCkKICAgICAgICAgcmV0
dXJuOwogCiAgICAgLy8gV2hlbiBzcmMgYXR0cmlidXRlIGlzIGNoYW5nZWQgd2UgbmVlZCB0byBm
bHVzaCBhbGwgY29sbGVjdGVkIHRyYWNrIGRhdGEKICAgICByZW1vdmVBbGxDdWVzKCk7CiAKKyAg
ICBpZiAoIW1fdHJhY2tFbGVtZW50KQorICAgICAgICByZXR1cm47CisKICAgICAvLyA0LjguMTAu
MTIuMyBTb3VyY2luZyBvdXQtb2YtYmFuZCB0ZXh0IHRyYWNrcyAoY29udGludWVkKQogCiAgICAg
Ly8gMi4gTGV0IFVSTCBiZSB0aGUgdHJhY2sgVVJMIG9mIHRoZSB0cmFjayBlbGVtZW50LgogICAg
IG1fdXJsID0gdXJsOwogICAgIAotICAgIC8vIDMuIEFzeW5jaHJvbm91c2x5IHJ1biB0aGUgcmVt
YWluaW5nIHN0ZXBzLCB3aGlsZSBjb250aW51aW5nIHdpdGggd2hhdGV2ZXIgdGFzayAKKyAgICBp
ZiAobV9sb2FkUGVuZGluZykKKyAgICAgICAgcmV0dXJuOworICAgIAorICAgIC8vIDMuIEFzeW5j
aHJvbm91c2x5IHJ1biB0aGUgcmVtYWluaW5nIHN0ZXBzLCB3aGlsZSBjb250aW51aW5nIHdpdGgg
d2hhdGV2ZXIgdGFzawogICAgIC8vIHdhcyByZXNwb25zaWJsZSBmb3IgY3JlYXRpbmcgdGhlIHRl
eHQgdHJhY2sgb3IgY2hhbmdpbmcgdGhlIHRleHQgdHJhY2sgbW9kZS4KLSAgICBpZiAoIW1fbG9h
ZFRpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgIG1fbG9hZFRpbWVyLnN0YXJ0T25lU2hvdCgwX3Mp
OwotfQorICAgIG1fdHJhY2tFbGVtZW50LT5zY2hlZHVsZVRhc2soW3RoaXNdKCkgbXV0YWJsZSB7
CisgICAgICAgIFNldEZvclNjb3BlPGJvb2w+IGxvYWRQZW5kaW5nIHsgbV9sb2FkUGVuZGluZywg
dHJ1ZSwgZmFsc2UgfTsKIAotRWxlbWVudCogTG9hZGFibGVUZXh0VHJhY2s6OmVsZW1lbnQoKQot
ewotICAgIHJldHVybiBtX3RyYWNrRWxlbWVudDsKLX0KKyAgICAgICAgaWYgKG1fbG9hZGVyKQor
ICAgICAgICAgICAgbV9sb2FkZXItPmNhbmNlbExvYWQoKTsKIAotdm9pZCBMb2FkYWJsZVRleHRU
cmFjazo6bG9hZFRpbWVyRmlyZWQoKQotewotICAgIGlmIChtX2xvYWRlcikKLSAgICAgICAgbV9s
b2FkZXItPmNhbmNlbExvYWQoKTsKKyAgICAgICAgaWYgKCFtX3RyYWNrRWxlbWVudCkKKyAgICAg
ICAgICAgIHJldHVybjsKIAotICAgIGlmICghbV90cmFja0VsZW1lbnQpCi0gICAgICAgIHJldHVy
bjsKKyAgICAgICAgLy8gNC44LjEwLjEyLjMgU291cmNpbmcgb3V0LW9mLWJhbmQgdGV4dCB0cmFj
a3MgKGNvbnRpbnVlZCkKIAotICAgIC8vIDQuOC4xMC4xMi4zIFNvdXJjaW5nIG91dC1vZi1iYW5k
IHRleHQgdHJhY2tzIChjb250aW51ZWQpCisgICAgICAgIC8vIDQuIERvd25sb2FkOiBJZiBVUkwg
aXMgbm90IHRoZSBlbXB0eSBzdHJpbmcsIHBlcmZvcm0gYSBwb3RlbnRpYWxseSBDT1JTLWVuYWJs
ZWQgZmV0Y2ggb2YgVVJMLCB3aXRoIHRoZQorICAgICAgICAvLyBtb2RlIGJlaW5nIHRoZSBzdGF0
ZSBvZiB0aGUgbWVkaWEgZWxlbWVudCdzIGNyb3Nzb3JpZ2luIGNvbnRlbnQgYXR0cmlidXRlLCB0
aGUgb3JpZ2luIGJlaW5nIHRoZQorICAgICAgICAvLyBvcmlnaW4gb2YgdGhlIG1lZGlhIGVsZW1l
bnQncyBEb2N1bWVudCwgYW5kIHRoZSBkZWZhdWx0IG9yaWdpbiBiZWhhdmlvdXIgc2V0IHRvIGZh
aWwuCisgICAgICAgIG1fbG9hZGVyID0gbWFrZVVuaXF1ZTxUZXh0VHJhY2tMb2FkZXI+KHN0YXRp
Y19jYXN0PFRleHRUcmFja0xvYWRlckNsaWVudCY+KCp0aGlzKSwgbV90cmFja0VsZW1lbnQtPmRv
Y3VtZW50KCkpOworICAgICAgICBpZiAoIW1fbG9hZGVyLT5sb2FkKG1fdXJsLCAqbV90cmFja0Vs
ZW1lbnQpKQorICAgICAgICAgICAgbV90cmFja0VsZW1lbnQtPmRpZENvbXBsZXRlTG9hZChIVE1M
VHJhY2tFbGVtZW50OjpGYWlsdXJlKTsKKyAgICB9KTsKK30KIAotICAgIC8vIDQuIERvd25sb2Fk
OiBJZiBVUkwgaXMgbm90IHRoZSBlbXB0eSBzdHJpbmcsIHBlcmZvcm0gYSBwb3RlbnRpYWxseSBD
T1JTLWVuYWJsZWQgZmV0Y2ggb2YgVVJMLCB3aXRoIHRoZQotICAgIC8vIG1vZGUgYmVpbmcgdGhl
IHN0YXRlIG9mIHRoZSBtZWRpYSBlbGVtZW50J3MgY3Jvc3NvcmlnaW4gY29udGVudCBhdHRyaWJ1
dGUsIHRoZSBvcmlnaW4gYmVpbmcgdGhlCi0gICAgLy8gb3JpZ2luIG9mIHRoZSBtZWRpYSBlbGVt
ZW50J3MgRG9jdW1lbnQsIGFuZCB0aGUgZGVmYXVsdCBvcmlnaW4gYmVoYXZpb3VyIHNldCB0byBm
YWlsLgotICAgIG1fbG9hZGVyID0gbWFrZVVuaXF1ZTxUZXh0VHJhY2tMb2FkZXI+KHN0YXRpY19j
YXN0PFRleHRUcmFja0xvYWRlckNsaWVudCY+KCp0aGlzKSwgbV90cmFja0VsZW1lbnQtPmRvY3Vt
ZW50KCkpOwotICAgIGlmICghbV9sb2FkZXItPmxvYWQobV91cmwsICptX3RyYWNrRWxlbWVudCkp
Ci0gICAgICAgIG1fdHJhY2tFbGVtZW50LT5kaWRDb21wbGV0ZUxvYWQoSFRNTFRyYWNrRWxlbWVu
dDo6RmFpbHVyZSk7CitFbGVtZW50KiBMb2FkYWJsZVRleHRUcmFjazo6ZWxlbWVudCgpCit7Cisg
ICAgcmV0dXJuIG1fdHJhY2tFbGVtZW50OwogfQogCiB2b2lkIExvYWRhYmxlVGV4dFRyYWNrOjpu
ZXdDdWVzQXZhaWxhYmxlKFRleHRUcmFja0xvYWRlciYgbG9hZGVyKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC90cmFjay9Mb2FkYWJsZVRleHRUcmFjay5oIGIvU291cmNlL1dlYkNv
cmUvaHRtbC90cmFjay9Mb2FkYWJsZVRleHRUcmFjay5oCmluZGV4IDljOThlNTYxMTZhOGE3NjI1
ZGRjZmUyNzFmODUwNjc4YTM1ZjI0YmMuLjA4ZGZhYWQyOGRjZGQxZDhhYjVjYjBmYjZhZTJmODYx
YmU3OTA4YjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvdHJhY2svTG9hZGFibGVU
ZXh0VHJhY2suaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3RyYWNrL0xvYWRhYmxlVGV4dFRy
YWNrLmgKQEAgLTY1LDkgKzY1LDkgQEAgcHJpdmF0ZToKICNlbmRpZgogCiAgICAgSFRNTFRyYWNr
RWxlbWVudCogbV90cmFja0VsZW1lbnQ7Ci0gICAgVGltZXIgbV9sb2FkVGltZXI7CiAgICAgc3Rk
Ojp1bmlxdWVfcHRyPFRleHRUcmFja0xvYWRlcj4gbV9sb2FkZXI7CiAgICAgVVJMIG1fdXJsOwor
ICAgIGJvb2wgbV9sb2FkUGVuZGluZyB7IGZhbHNlIH07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKaW5kZXggOTg1NzlhMTIxOTdmODIyY2ZmNDIxNjI4N2NjYjQwNDRiODA0ODJiZC4u
NTRkMzkwMzZiOTIwMGY3OTgyYWMxYzFkMTY4NzU5MmQ0MDkwNDYxYSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDEzIEBACisyMDIxLTA4LTI3ICBFcmljIENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29t
PgorCisgICAgICAgIFsgQ2F0YWxpbmEgRVdTIF0gbWVkaWEvdHJhY2svdHJhY2stZGlzYWJsZWQt
YWRkY3VlLmh0bWwgaXMgZmxha3kgY3Jhc2hpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIyOTQ2MgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vODIz
MDI5MTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgKiBw
bGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMjEtMDgtMjYgIEVyaWMgSHV0
Y2hpc29uICA8ZWh1dGNoaXNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgW2lPUyB3azIgcmVsZWFz
ZV0gaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWRpc3BsYXkvZGlzcGxh
eS1jb250ZW50cy1ibG9ja2lmeS1keW5hbWljLmh0bWwgaXMgYSBmbGFreSB0aW1lb3V0KS4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucwppbmRleCAyMDA5
MTVhMTFkODU3ZjU5ZjZlNDg3MGI5ODFhOTY4MzllMDI2OTcxLi41MmRmYjg4YzMyYWQ5ZGM2OGQ0
OGEwM2YxZjBhNTg0OTIxYzc3OGI4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdr
MS9UZXN0RXhwZWN0YXRpb25zCkBAIC02NDYsOCArNjQ2LDYgQEAgbWVkaWEvdHJhY2svdHJhY2st
Y3Vlcy1lbnRlci1leGl0Lmh0bWwgWyBQYXNzIENyYXNoIF0KICMgPHJkYXI6Ly9wcm9ibGVtLzYx
NzQ0OTk0PiBtZWRpYS90cmFjay90cmFjay1jdWVzLWN1ZWNoYW5nZS5odG1sIGlzIGZsYWt5IHRp
bWluZyBvdXQuCiBtZWRpYS90cmFjay90cmFjay1jdWVzLWN1ZWNoYW5nZS5odG1sIFsgUGFzcyBD
cmFzaCBUaW1lb3V0IF0KIAotd2Via2l0Lm9yZy9iLzIyOTQ2MiBbIENhdGFsaW5hIERlYnVnIF0g
bWVkaWEvdHJhY2svdHJhY2stZGlzYWJsZWQtYWRkY3VlLmh0bWwgWyBQYXNzIENyYXNoIF0KLQog
d2Via2l0Lm9yZy9iLzE2NzEyNyBwb2ludGVyLWxvY2svbG9ja2VkLWVsZW1lbnQtcmVtb3ZlZC1m
cm9tLWRvbS5odG1sCiAKIHdlYmtpdC5vcmcvYi8xNjc4NTcgcGFnZW92ZXJsYXkvb3ZlcmxheS1y
ZW1vdmUtcmVpbnNlcnQtdmlldy5odG1sIFsgU2tpcCBdCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>