<?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>238558</bug_id>
          
          <creation_ts>2022-03-30 10:18:13 -0700</creation_ts>
          <short_desc>REGRESSION(r288847): GPU Process crash under GPUProcess::canExitUnderMemoryPressure()</short_desc>
          <delta_ts>2022-05-13 15:12:12 -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>WebKit Process Model</component>
          <version>Safari Technology Preview</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=235636</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=229870</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>
          
          <blocked>236508</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Said Abou-Hallawa">sabouhallawa</assigned_to>
          <cc>cdumez</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>kkinnunen</cc>
    
    <cc>philipj</cc>
    
    <cc>sabouhallawa</cc>
    
    <cc>sergio</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1856434</commentid>
    <comment_count>0</comment_count>
      <attachid>456139</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2022-03-30 10:18:13 -0700</bug_when>
    <thetext>Created attachment 456139
Crash log

iOS layout tests show a crash with this backtrace:

Thread 0 Crashed::   Dispatch queue: com.apple.main-thread
0   com.apple.JavaScriptCore      	       0x136c83ace    WTFCrash
1   com.apple.WebKit              	       0x11903c278    WTFCrashWithInfo(int, char const*, char const*, int)
2   com.apple.WebKit              	       0x119c90970    WebKit::QualifiedResourceHeap::checkInvariants() const
3   com.apple.WebKit              	       0x119c996f6    WebKit::QualifiedResourceHeap::hasImageBuffer() const
4   com.apple.WebKit              	       0x119c83f76    WebKit::RemoteResourceCache::hasActiveDrawables() const
5   com.apple.WebKit              	       0x119c71346    WebKit::RemoteRenderingBackend::allowsExitUnderMemoryPressure() const
6   com.apple.WebKit              	       0x119c70dc0    WebKit::GPUConnectionToWebProcess::allowsExitUnderMemoryPressure() const
7   com.apple.WebKit              	       0x119c76640    WebKit::GPUProcess::canExitUnderMemoryPressure() const
8   com.apple.WebKit              	       0x119c756fc    WebKit::GPUProcess::tryExitIfUnused()
9   com.apple.WebKit              	       0x119cb10fc    decltype(*(std::__1::forward&lt;WebKit::GPUProcess*&amp;&gt;(fp0)).*fp()) std::__1::__invoke&lt;void (WebKit::GPUProcess::*&amp;)(), WebKit::GPUProcess*&amp;, void&gt;(void (WebKit::GPUProcess::*&amp;)(), WebKit::GPUProcess*&amp;)
10  com.apple.WebKit              	       0x119cb107a    std::__1::__bind_return&lt;void (WebKit::GPUProcess::*)(), std::__1::tuple&lt;WebKit::GPUProcess*&gt;, std::__1::tuple&lt;&gt;, __is_valid_bind_return&lt;void (WebKit::GPUProcess::*)(), std::__1::tuple&lt;WebKit::GPUProcess*&gt;, std::__1::tuple&lt;&gt; &gt;::value&gt;::type std::__1::__apply_functor&lt;void (WebKit::GPUProcess::*)(), std::__1::tuple&lt;WebKit::GPUProcess*&gt;, 0ul, std::__1::tuple&lt;&gt; &gt;(void (WebKit::GPUProcess::*&amp;)(), std::__1::tuple&lt;WebKit::GPUProcess*&gt;&amp;, std::__1::__tuple_indices&lt;0ul&gt;, std::__1::tuple&lt;&gt;&amp;&amp;)
11  com.apple.WebKit              	       0x119cb102e    std::__1::__bind_return&lt;void (WebKit::GPUProcess::*)(), std::__1::tuple&lt;WebKit::GPUProcess*&gt;, std::__1::tuple&lt;&gt;, __is_valid_bind_return&lt;void (WebKit::GPUProcess::*)(), std::__1::tuple&lt;WebKit::GPUProcess*&gt;, std::__1::tuple&lt;&gt; &gt;::value&gt;::type std::__1::__bind&lt;void (WebKit::GPUProcess::*&amp;)(), WebKit::GPUProcess*&gt;::operator()&lt;&gt;()
12  com.apple.WebKit              	       0x119cb0fc6    WTF::Detail::CallableWrapper&lt;std::__1::__bind&lt;void (WebKit::GPUProcess::*&amp;)(), WebKit::GPUProcess*&gt;, void&gt;::call()
13  com.apple.WebKit              	       0x11909b0c0    WTF::Function&lt;void ()&gt;::operator()() const
14  com.apple.WebKit              	       0x1195f2876    WebCore::Timer::fired()
15  com.apple.WebCore             	       0x1637dd2f4    WebCore::ThreadTimers::sharedTimerFiredInternal()
16  com.apple.WebCore             	       0x1637e772e    WebCore::ThreadTimers::setSharedTimer(WebCore::SharedTimer*)::$_0::operator()() const
17  com.apple.WebCore             	       0x1637e76c6    WTF::Detail::CallableWrapper&lt;WebCore::ThreadTimers::setSharedTimer(WebCore::SharedTimer*)::$_0, void&gt;::call()
18  com.apple.WebCore             	       0x15f0206f0    WTF::Function&lt;void ()&gt;::operator()() const
19  com.apple.WebCore             	       0x16377521e    WebCore::MainThreadSharedTimer::fired()


https://build.webkit.org/results/Apple-iOS-15-Simulator-Debug-WK2-Tests/r292101%20(2082)/results.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1856435</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-03-30 10:18:36 -0700</bug_when>
    <thetext>&lt;rdar://problem/91052033&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1856440</commentid>
    <comment_count>2</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2022-03-30 10:24:45 -0700</bug_when>
    <thetext>Looks like a case where we access the QualifiedResourceHeap on the main thread; it should only be accessed from the thread that RemoteRenderingBackend lives on.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1859954</commentid>
    <comment_count>3</comment_count>
      <attachid>457131</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2022-04-08 18:02:20 -0700</bug_when>
    <thetext>Created attachment 457131
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1860087</commentid>
    <comment_count>4</comment_count>
      <attachid>457131</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-04-09 23:39:37 -0700</bug_when>
    <thetext>Comment on attachment 457131
Patch

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

&gt; Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp:533
&gt; +    m_workQueue-&gt;dispatchSync([&amp;] {

We already tried that and it caused hangs:
https://trac.webkit.org/changeset/282693/webkit

Has the code changed in ways that it is now OK?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1860088</commentid>
    <comment_count>5</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-04-09 23:42:47 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #4)
&gt; Comment on attachment 457131 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=457131&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp:533
&gt; &gt; +    m_workQueue-&gt;dispatchSync([&amp;] {
&gt; 
&gt; We already tried that and it caused hangs:
&gt; https://trac.webkit.org/changeset/282693/webkit
&gt; 
&gt; Has the code changed in ways that it is now OK?

I don&apos;t remember all the details but I think the issue had to do with the fact that the rendering backend thread was stuck on an IPC Semaphore (because that&apos;s how we were passing display lists to the GPU process, at least at the time, not sure if this changed). As a result, the background thread would not process the dispatch_sync().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1860269</commentid>
    <comment_count>6</comment_count>
      <attachid>457131</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2022-04-11 06:10:36 -0700</bug_when>
    <thetext>Comment on attachment 457131
Patch

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

&gt; Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp:534
&gt; +        hasActiveDrawables = m_remoteResourceCache.hasActiveDrawables();

Yeah, this is not really sound in many ways.


I think a better approach would be that:
1) RemoteResourceCache acquires ScopedRenderingResourcesRequest every time it starts having active drawables.
2) RemoteRenderingBackend::allowsExitUnderMemoryPressure() is removed altogether
3) GPUConnectionToWebProcess::allowsExitUnderMemoryPressure() checks for new function ScopedRenderingResourcesRequest::hasActiveUsers() or similar

Additionally ScopedRenderingResourcesRequest could be renamed to something else, like ScopedGPUProcessActivity or something.

ScopedRenderingResourcesRequest could also be modified to not purge anything but just maintain s_requests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1860354</commentid>
    <comment_count>7</comment_count>
      <attachid>457131</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2022-04-11 11:05:06 -0700</bug_when>
    <thetext>Comment on attachment 457131
Patch

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

&gt; Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp:535
&gt; +    });

A better thread safe implementation of this would be to have the dispatched function capture a normal binarysemaphore, see the implementation at WorkQueue::dispatchSync.
(for your interest, it probably isn&apos;t good to do this sync call)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1860393</commentid>
    <comment_count>8</comment_count>
      <attachid>457131</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2022-04-11 13:50:55 -0700</bug_when>
    <thetext>Comment on attachment 457131
Patch

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

&gt;&gt; Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp:535
&gt;&gt; +    });
&gt; 
&gt; A better thread safe implementation of this would be to have the dispatched function capture a normal binarysemaphore, see the implementation at WorkQueue::dispatchSync.
&gt; (for your interest, it probably isn&apos;t good to do this sync call)

It seems this sync call might lead to deadlock. For instance RemoteDisplayListRecorder::paintFrameForMedia(), which runs on the &quot;RemoteRenderingBackend work queue&quot;, makes a media call using callOnMainRunLoopAndWait(). So if RemoteRenderingBackend::allowsExitUnderMemoryPressure() blocks the execution on the main run loop till the &quot;RemoteRenderingBackend work queue&quot; executes the call to RemoteResourceCache::hasActiveDrawables() and there is a PaintFrameForMedia message which was dispatched to the StreamConnectionWorkQueue but has not been processed yet, a deadlock will happen. The main run loop and the &quot;RemoteRenderingBackend work queue&quot; will both be blocked; each is waiting for the other to finish.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1860507</commentid>
    <comment_count>9</comment_count>
      <attachid>457303</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2022-04-11 17:48:14 -0700</bug_when>
    <thetext>Created attachment 457303
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1860523</commentid>
    <comment_count>10</comment_count>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2022-04-11 19:05:27 -0700</bug_when>
    <thetext>Although this patch may fix the assertion, I am not convinced RemoteRenderingBackend::allowsExitUnderMemoryPressure() has the right implementation. This function returns a value which is not guaranteed to stay the same even while it is used by the caller GPUConnectionToWebProcess::allowsExitUnderMemoryPressure().

The &quot;RemoteRenderingBackend work queue&quot; can change the state of RemoteRenderingBackend::m_remoteResourceCache while GPUConnectionToWebProcess::allowsExitUnderMemoryPressure() makes a decision based on out-dated state.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1860524</commentid>
    <comment_count>11</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-04-11 19:12:00 -0700</bug_when>
    <thetext>(In reply to Said Abou-Hallawa from comment #10)
&gt; Although this patch may fix the assertion, I am not convinced
&gt; RemoteRenderingBackend::allowsExitUnderMemoryPressure() has the right
&gt; implementation. This function returns a value which is not guaranteed to
&gt; stay the same even while it is used by the caller
&gt; GPUConnectionToWebProcess::allowsExitUnderMemoryPressure().
&gt; 
&gt; The &quot;RemoteRenderingBackend work queue&quot; can change the state of
&gt; RemoteRenderingBackend::m_remoteResourceCache while
&gt; GPUConnectionToWebProcess::allowsExitUnderMemoryPressure() makes a decision
&gt; based on out-dated state.

allowsExitUnderMemoryPressure() is known to be racy, that is fine. It is always racy anyway due to IPC. Worse case scenario, we&apos;ll exit the GPUProcess and the WebProcess will get notified it exited and it is needs it, it will relaunch it.

Note that eager exit on memory pressure is no longer useful once we enable DOM rendering in the GPUProcess I think (since the GPUProcess will always be needed for DOM rendering). As a result, we should probably consider disabling this idle exit logic altogether when DOM rendering in GPUProcess is enabled.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1860740</commentid>
    <comment_count>12</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-04-12 11:23:43 -0700</bug_when>
    <thetext>API test failure looks related.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1861090</commentid>
    <comment_count>13</comment_count>
      <attachid>457526</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2022-04-13 05:17:29 -0700</bug_when>
    <thetext>Created attachment 457526
Alternative</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1861366</commentid>
    <comment_count>14</comment_count>
      <attachid>457526</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2022-04-13 19:29:11 -0700</bug_when>
    <thetext>Comment on attachment 457526
Alternative

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

&gt; Source/WebKit/ChangeLog:18
&gt; +        the count is now counted by RemoteMediaPlayerProxy creation, destruction.

I think this solution is a good alternative except it does not consider the native image an ActiveDrawable resource as the current code does. RemoteRenderingBackend calls updateRenderingResourceRequest() from RemoteRenderingBackend::createImageBufferWithQualifiedIdentifier() and RemoteRenderingBackend::releaseRemoteResourceWithQualifiedIdentifier(). It does not call it from RemoteRenderingBackend::cacheNativeImageWithQualifiedIdentifier(). 

Do we need to call it from cacheNativeImageWithQualifiedIdentifier()? 
Do we even need to consider the NativeImage an ActiveDrawable resource? 
Do we need to consider the Font also as an ActiveDrawable resource? 
What makes a resource be ActiveDrawable?

RemoteRenderingBackend::allowsExitUnderMemoryPressure() was added in r276148. This is the original version of it:

bool RemoteRenderingBackend::allowsExitUnderMemoryPressure() const
{
    return m_remoteResourceCache.imageBuffers().isEmpty() &amp;&amp; m_remoteResourceCache.nativeImages().isEmpty();
}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1861386</commentid>
    <comment_count>15</comment_count>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2022-04-13 21:31:18 -0700</bug_when>
    <thetext>In fact this bug is a regression of r288847. This revision removes r282754 which was fixing exactly the same bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1861388</commentid>
    <comment_count>16</comment_count>
      <attachid>457594</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2022-04-13 21:47:33 -0700</bug_when>
    <thetext>Created attachment 457594
Another alternative</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1861435</commentid>
    <comment_count>17</comment_count>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2022-04-14 03:08:49 -0700</bug_when>
    <thetext>(In reply to Said Abou-Hallawa from comment #14)
&gt; I think this solution is a good alternative except it does not consider the
&gt; native image an ActiveDrawable resource as the current code does.
&gt; RemoteRenderingBackend calls updateRenderingResourceRequest() from
&gt; RemoteRenderingBackend::createImageBufferWithQualifiedIdentifier() and
&gt; RemoteRenderingBackend::releaseRemoteResourceWithQualifiedIdentifier(). It
&gt; does not call it from
&gt; RemoteRenderingBackend::cacheNativeImageWithQualifiedIdentifier(). 

Right, but that&apos;s just a bug about updateRenderingResourceRequest().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1861695</commentid>
    <comment_count>18</comment_count>
      <attachid>457664</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2022-04-14 19:47:45 -0700</bug_when>
    <thetext>Created attachment 457664
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1861713</commentid>
    <comment_count>19</comment_count>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2022-04-14 20:48:09 -0700</bug_when>
    <thetext>I talked to Simon and we agreed on counting the ImageBuffers only when allowing or disallowing the GPUP to exit under the memory pressure. Counting the NativeImages should not affect this decision because they are remotely cached only when they are drawn on the RemoteImageBuffers. The life cycle of the NativeImage in GPUP is different from the life cycle of the ImageBuffer. The NativeImages in GPUP are released only when the counterpart NativeImages in WebProcess are released. 

So allowing the GPUP process to exit when no ImageBuffer is cached but there are NativeImages cached should be fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1861909</commentid>
    <comment_count>20</comment_count>
      <attachid>457664</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2022-04-15 14:10:37 -0700</bug_when>
    <thetext>Comment on attachment 457664
Patch

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

&gt; Source/WebKit/ChangeLog:19
&gt; +        Remove RemoteMediaPlayerManagerProxy::allowsExitUnderMemoryPressure(),
&gt; +        the count is now counted by RemoteMediaPlayerProxy creation, destruction.

I don&apos;t understand this part. Where does RemoteMediaPlayerManagerProxy use ScopedRenderingResourcesRequest?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1861934</commentid>
    <comment_count>21</comment_count>
      <attachid>457727</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2022-04-15 15:13:41 -0700</bug_when>
    <thetext>Created attachment 457727
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1861935</commentid>
    <comment_count>22</comment_count>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2022-04-15 15:18:39 -0700</bug_when>
    <thetext>(In reply to Said Abou-Hallawa from comment #21)
&gt; Created attachment 457727 [details]
&gt; Patch

In this patch I added a nicer approach which Simon suggested. RemoteImageBuffer will have ScopedRenderingResourcesRequest. So we are going to count the active ImageBuffers and not the RemoteRenderingBackends which have active ImageBuffers as we used to do before.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1862273</commentid>
    <comment_count>23</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-04-18 11:31:24 -0700</bug_when>
    <thetext>Committed r292961 (249726@main): &lt;https://commits.webkit.org/249726@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 457727.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>456139</attachid>
            <date>2022-03-30 10:18:13 -0700</date>
            <delta_ts>2022-03-30 10:18:13 -0700</delta_ts>
            <desc>Crash log</desc>
            <filename>crashlog2.txt</filename>
            <type>text/plain</type>
            <size>20391</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">UHJvY2VzczogICAgICAgICAgICAgICBjb20uYXBwbGUuV2ViS2l0LkdQVS5EZXZlbG9wbWVudCBb
MTEwMDVdClBhdGg6ICAgICAgICAgICAgICAgICAgL1ZvbHVtZXMvVk9MVU1FLyovY29tLmFwcGxl
LldlYktpdC5HUFUuRGV2ZWxvcG1lbnQKSWRlbnRpZmllcjogICAgICAgICAgICBjb20uYXBwbGUu
V2ViS2l0LkdQVQpWZXJzaW9uOiAgICAgICAgICAgICAgIDYxNCsgKDYxNC4xLjkrKQpDb2RlIFR5
cGU6ICAgICAgICAgICAgIFg4Ni02NCAoTmF0aXZlKQpQYXJlbnQgUHJvY2VzczogICAgICAgIGxh
dW5jaGRfc2ltIFs0MjAyXQpSZXNwb25zaWJsZTogICAgICAgICAgIFNpbXVsYXRvclRyYW1wb2xp
bmUgWzM2MjZdClVzZXIgSUQ6ICAgICAgICAgICAgICAgNTAxCgpEYXRlL1RpbWU6ICAgICAgICAg
ICAgIDIwMjItMDMtMzAgMDM6MTk6MDUuNzE5MiAtMDcwMApPUyBWZXJzaW9uOiAgICAgICAgICAg
IG1hY09TIDEyLjMgKDIxRTIzMCkKUmVwb3J0IFZlcnNpb246ICAgICAgICAxMgpBbm9ueW1vdXMg
VVVJRDogICAgICAgIDMxRjQyQTFBLTMzRjktRjNCNC0yQzM2LTc2MDAzMDBFRjVCQQoKClRpbWUg
QXdha2UgU2luY2UgQm9vdDogMTIwMDAwIHNlY29uZHMKClN5c3RlbSBJbnRlZ3JpdHkgUHJvdGVj
dGlvbjogZGlzYWJsZWQKCkNyYXNoZWQgVGhyZWFkOiAgICAgICAgMCAgRGlzcGF0Y2ggcXVldWU6
IGNvbS5hcHBsZS5tYWluLXRocmVhZAoKRXhjZXB0aW9uIFR5cGU6ICAgICAgICBFWENfQkFEX0FD
Q0VTUyAoU0lHU0VHVikKRXhjZXB0aW9uIENvZGVzOiAgICAgICBLRVJOX0lOVkFMSURfQUREUkVT
UyBhdCAweDAwMDAwMDAwYmJhZGJlZWYKRXhjZXB0aW9uIENvZGVzOiAgICAgICAweDAwMDAwMDAw
MDAwMDAwMDEsIDB4MDAwMDAwMDBiYmFkYmVlZgpFeGNlcHRpb24gTm90ZTogICAgICAgIEVYQ19D
T1JQU0VfTk9USUZZCgpUZXJtaW5hdGlvbiBSZWFzb246ICAgIE5hbWVzcGFjZSBTSUdOQUwsIENv
ZGUgMTEgU2VnbWVudGF0aW9uIGZhdWx0OiAxMQpUZXJtaW5hdGluZyBQcm9jZXNzOiAgIGV4YyBo
YW5kbGVyIFsxMTAwNV0KClZNIFJlZ2lvbiBJbmZvOiAweGJiYWRiZWVmIGlzIG5vdCBpbiBhbnkg
cmVnaW9uLiAgQnl0ZXMgYmVmb3JlIGZvbGxvd2luZyByZWdpb246IDExOTMxOTM3NDUKICAgICAg
UkVHSU9OIFRZUEUgICAgICAgICAgICAgICAgICAgIFNUQVJUIC0gRU5EICAgICAgICAgWyBWU0la
RV0gUFJUL01BWCBTSFJNT0QgIFJFR0lPTiBERVRBSUwKICAgICAgVU5VU0VEIFNQQUNFIEFUIFNU
QVJUCi0tLT4gIAogICAgICBfX1RFWFQgICAgICAgICAgICAgICAgICAgICAgMTAyY2M3MDAwLTEw
MmNjYjAwMCAgICBbICAgMTZLXSByLXgvci14IFNNPUNPVyAgLi4uVS5EZXZlbG9wbWVudAoKQXBw
bGljYXRpb24gU3BlY2lmaWMgSW5mb3JtYXRpb246CmR5bGQ6IGR5bGQ0IGNvbmZpZzogRFlMRF9S
T09UX1BBVEg9L0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRm
b3Jtcy9pUGhvbmVPUy5wbGF0Zm9ybS9MaWJyYXJ5L0RldmVsb3Blci9Db3JlU2ltdWxhdG9yL1By
b2ZpbGVzL1J1bnRpbWVzL2lPUy5zaW1ydW50aW1lL0NvbnRlbnRzL1Jlc291cmNlcy9SdW50aW1l
Um9vdCBEWUxEX0xJQlJBUllfUEFUSD0vVm9sdW1lcy9EYXRhL3dvcmtlci9pb3Mtc2ltdWxhdG9y
LTE1LWRlYnVnLXRlc3RzLXdrMi9idWlsZC9XZWJLaXRCdWlsZC9EZWJ1Zy1pcGhvbmVzaW11bGF0
b3IgRFlMRF9GUkFNRVdPUktfUEFUSD0vVm9sdW1lcy9EYXRhL3dvcmtlci9pb3Mtc2ltdWxhdG9y
LTE1LWRlYnVnLXRlc3RzLXdrMi9idWlsZC9XZWJLaXRCdWlsZC9EZWJ1Zy1pcGhvbmVzaW11bGF0
b3IKCmR5bGRfc2ltOiBkeWxkNCBjb25maWc6IERZTERfUk9PVF9QQVRIPS9BcHBsaWNhdGlvbnMv
WGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvaVBob25lT1MucGxhdGZvcm0v
TGlicmFyeS9EZXZlbG9wZXIvQ29yZVNpbXVsYXRvci9Qcm9maWxlcy9SdW50aW1lcy9pT1Muc2lt
cnVudGltZS9Db250ZW50cy9SZXNvdXJjZXMvUnVudGltZVJvb3QgRFlMRF9MSUJSQVJZX1BBVEg9
L1ZvbHVtZXMvRGF0YS93b3JrZXIvaW9zLXNpbXVsYXRvci0xNS1kZWJ1Zy10ZXN0cy13azIvYnVp
bGQvV2ViS2l0QnVpbGQvRGVidWctaXBob25lc2ltdWxhdG9yIERZTERfRlJBTUVXT1JLX1BBVEg9
L1ZvbHVtZXMvRGF0YS93b3JrZXIvaW9zLXNpbXVsYXRvci0xNS1kZWJ1Zy10ZXN0cy13azIvYnVp
bGQvV2ViS2l0QnVpbGQvRGVidWctaXBob25lc2ltdWxhdG9yCgpsaWJzeXN0ZW1fc2ltX3BsYXRm
b3JtLmR5bGliOiBDb3JlU2ltdWxhdG9yIDc3Ni4zIC0gRGV2aWNlOiBNYW5hZ2VkIDMgKDU1QTI3
RTcyLTJEMjUtNDFFNy1CMjU4LTA1Qzc2OTdFMTg3MykgLSBSdW50aW1lOiBpT1MgMTUuMCAoMTlB
MzM5KSAtIERldmljZVR5cGU6IGlQaG9uZSAxMgoKCgpUaHJlYWQgMCBDcmFzaGVkOjogICBEaXNw
YXRjaCBxdWV1ZTogY29tLmFwcGxlLm1haW4tdGhyZWFkCjAgICBjb20uYXBwbGUuSmF2YVNjcmlw
dENvcmUgICAgICAJICAgICAgIDB4MTM2YzgzYWNlICAgIFdURkNyYXNoCjEgICBjb20uYXBwbGUu
V2ViS2l0ICAgICAgICAgICAgICAJICAgICAgIDB4MTE5MDNjMjc4ICAgIFdURkNyYXNoV2l0aElu
Zm8oaW50LCBjaGFyIGNvbnN0KiwgY2hhciBjb25zdCosIGludCkKMiAgIGNvbS5hcHBsZS5XZWJL
aXQgICAgICAgICAgICAgIAkgICAgICAgMHgxMTljOTA5NzAgICAgV2ViS2l0OjpRdWFsaWZpZWRS
ZXNvdXJjZUhlYXA6OmNoZWNrSW52YXJpYW50cygpIGNvbnN0CjMgICBjb20uYXBwbGUuV2ViS2l0
ICAgICAgICAgICAgICAJICAgICAgIDB4MTE5Yzk5NmY2ICAgIFdlYktpdDo6UXVhbGlmaWVkUmVz
b3VyY2VIZWFwOjpoYXNJbWFnZUJ1ZmZlcigpIGNvbnN0CjQgICBjb20uYXBwbGUuV2ViS2l0ICAg
ICAgICAgICAgICAJICAgICAgIDB4MTE5YzgzZjc2ICAgIFdlYktpdDo6UmVtb3RlUmVzb3VyY2VD
YWNoZTo6aGFzQWN0aXZlRHJhd2FibGVzKCkgY29uc3QKNSAgIGNvbS5hcHBsZS5XZWJLaXQgICAg
ICAgICAgICAgIAkgICAgICAgMHgxMTljNzEzNDYgICAgV2ViS2l0OjpSZW1vdGVSZW5kZXJpbmdC
YWNrZW5kOjphbGxvd3NFeGl0VW5kZXJNZW1vcnlQcmVzc3VyZSgpIGNvbnN0CjYgICBjb20uYXBw
bGUuV2ViS2l0ICAgICAgICAgICAgICAJICAgICAgIDB4MTE5YzcwZGMwICAgIFdlYktpdDo6R1BV
Q29ubmVjdGlvblRvV2ViUHJvY2Vzczo6YWxsb3dzRXhpdFVuZGVyTWVtb3J5UHJlc3N1cmUoKSBj
b25zdAo3ICAgY29tLmFwcGxlLldlYktpdCAgICAgICAgICAgICAgCSAgICAgICAweDExOWM3NjY0
MCAgICBXZWJLaXQ6OkdQVVByb2Nlc3M6OmNhbkV4aXRVbmRlck1lbW9yeVByZXNzdXJlKCkgY29u
c3QKOCAgIGNvbS5hcHBsZS5XZWJLaXQgICAgICAgICAgICAgIAkgICAgICAgMHgxMTljNzU2ZmMg
ICAgV2ViS2l0OjpHUFVQcm9jZXNzOjp0cnlFeGl0SWZVbnVzZWQoKQo5ICAgY29tLmFwcGxlLldl
YktpdCAgICAgICAgICAgICAgCSAgICAgICAweDExOWNiMTBmYyAgICBkZWNsdHlwZSgqKHN0ZDo6
X18xOjpmb3J3YXJkPFdlYktpdDo6R1BVUHJvY2VzcyomPihmcDApKS4qZnAoKSkgc3RkOjpfXzE6
Ol9faW52b2tlPHZvaWQgKFdlYktpdDo6R1BVUHJvY2Vzczo6KiYpKCksIFdlYktpdDo6R1BVUHJv
Y2VzcyomLCB2b2lkPih2b2lkIChXZWJLaXQ6OkdQVVByb2Nlc3M6OiomKSgpLCBXZWJLaXQ6OkdQ
VVByb2Nlc3MqJikKMTAgIGNvbS5hcHBsZS5XZWJLaXQgICAgICAgICAgICAgIAkgICAgICAgMHgx
MTljYjEwN2EgICAgc3RkOjpfXzE6Ol9fYmluZF9yZXR1cm48dm9pZCAoV2ViS2l0OjpHUFVQcm9j
ZXNzOjoqKSgpLCBzdGQ6Ol9fMTo6dHVwbGU8V2ViS2l0OjpHUFVQcm9jZXNzKj4sIHN0ZDo6X18x
Ojp0dXBsZTw+LCBfX2lzX3ZhbGlkX2JpbmRfcmV0dXJuPHZvaWQgKFdlYktpdDo6R1BVUHJvY2Vz
czo6KikoKSwgc3RkOjpfXzE6OnR1cGxlPFdlYktpdDo6R1BVUHJvY2Vzcyo+LCBzdGQ6Ol9fMTo6
dHVwbGU8PiA+Ojp2YWx1ZT46OnR5cGUgc3RkOjpfXzE6Ol9fYXBwbHlfZnVuY3Rvcjx2b2lkIChX
ZWJLaXQ6OkdQVVByb2Nlc3M6OiopKCksIHN0ZDo6X18xOjp0dXBsZTxXZWJLaXQ6OkdQVVByb2Nl
c3MqPiwgMHVsLCBzdGQ6Ol9fMTo6dHVwbGU8PiA+KHZvaWQgKFdlYktpdDo6R1BVUHJvY2Vzczo6
KiYpKCksIHN0ZDo6X18xOjp0dXBsZTxXZWJLaXQ6OkdQVVByb2Nlc3MqPiYsIHN0ZDo6X18xOjpf
X3R1cGxlX2luZGljZXM8MHVsPiwgc3RkOjpfXzE6OnR1cGxlPD4mJikKMTEgIGNvbS5hcHBsZS5X
ZWJLaXQgICAgICAgICAgICAgIAkgICAgICAgMHgxMTljYjEwMmUgICAgc3RkOjpfXzE6Ol9fYmlu
ZF9yZXR1cm48dm9pZCAoV2ViS2l0OjpHUFVQcm9jZXNzOjoqKSgpLCBzdGQ6Ol9fMTo6dHVwbGU8
V2ViS2l0OjpHUFVQcm9jZXNzKj4sIHN0ZDo6X18xOjp0dXBsZTw+LCBfX2lzX3ZhbGlkX2JpbmRf
cmV0dXJuPHZvaWQgKFdlYktpdDo6R1BVUHJvY2Vzczo6KikoKSwgc3RkOjpfXzE6OnR1cGxlPFdl
YktpdDo6R1BVUHJvY2Vzcyo+LCBzdGQ6Ol9fMTo6dHVwbGU8PiA+Ojp2YWx1ZT46OnR5cGUgc3Rk
OjpfXzE6Ol9fYmluZDx2b2lkIChXZWJLaXQ6OkdQVVByb2Nlc3M6OiomKSgpLCBXZWJLaXQ6OkdQ
VVByb2Nlc3MqPjo6b3BlcmF0b3IoKTw+KCkKMTIgIGNvbS5hcHBsZS5XZWJLaXQgICAgICAgICAg
ICAgIAkgICAgICAgMHgxMTljYjBmYzYgICAgV1RGOjpEZXRhaWw6OkNhbGxhYmxlV3JhcHBlcjxz
dGQ6Ol9fMTo6X19iaW5kPHZvaWQgKFdlYktpdDo6R1BVUHJvY2Vzczo6KiYpKCksIFdlYktpdDo6
R1BVUHJvY2Vzcyo+LCB2b2lkPjo6Y2FsbCgpCjEzICBjb20uYXBwbGUuV2ViS2l0ICAgICAgICAg
ICAgICAJICAgICAgIDB4MTE5MDliMGMwICAgIFdURjo6RnVuY3Rpb248dm9pZCAoKT46Om9wZXJh
dG9yKCkoKSBjb25zdAoxNCAgY29tLmFwcGxlLldlYktpdCAgICAgICAgICAgICAgCSAgICAgICAw
eDExOTVmMjg3NiAgICBXZWJDb3JlOjpUaW1lcjo6ZmlyZWQoKQoxNSAgY29tLmFwcGxlLldlYkNv
cmUgICAgICAgICAgICAgCSAgICAgICAweDE2MzdkZDJmNCAgICBXZWJDb3JlOjpUaHJlYWRUaW1l
cnM6OnNoYXJlZFRpbWVyRmlyZWRJbnRlcm5hbCgpCjE2ICBjb20uYXBwbGUuV2ViQ29yZSAgICAg
ICAgICAgICAJICAgICAgIDB4MTYzN2U3NzJlICAgIFdlYkNvcmU6OlRocmVhZFRpbWVyczo6c2V0
U2hhcmVkVGltZXIoV2ViQ29yZTo6U2hhcmVkVGltZXIqKTo6JF8wOjpvcGVyYXRvcigpKCkgY29u
c3QKMTcgIGNvbS5hcHBsZS5XZWJDb3JlICAgICAgICAgICAgIAkgICAgICAgMHgxNjM3ZTc2YzYg
ICAgV1RGOjpEZXRhaWw6OkNhbGxhYmxlV3JhcHBlcjxXZWJDb3JlOjpUaHJlYWRUaW1lcnM6OnNl
dFNoYXJlZFRpbWVyKFdlYkNvcmU6OlNoYXJlZFRpbWVyKik6OiRfMCwgdm9pZD46OmNhbGwoKQox
OCAgY29tLmFwcGxlLldlYkNvcmUgICAgICAgICAgICAgCSAgICAgICAweDE1ZjAyMDZmMCAgICBX
VEY6OkZ1bmN0aW9uPHZvaWQgKCk+OjpvcGVyYXRvcigpKCkgY29uc3QKMTkgIGNvbS5hcHBsZS5X
ZWJDb3JlICAgICAgICAgICAgIAkgICAgICAgMHgxNjM3NzUyMWUgICAgV2ViQ29yZTo6TWFpblRo
cmVhZFNoYXJlZFRpbWVyOjpmaXJlZCgpCjIwICBjb20uYXBwbGUuV2ViQ29yZSAgICAgICAgICAg
ICAJICAgICAgIDB4MTYzODcwZjU0ICAgIFdlYkNvcmU6OnRpbWVyRmlyZWQoX19DRlJ1bkxvb3BU
aW1lciosIHZvaWQqKQoyMSAgY29tLmFwcGxlLkNvcmVGb3VuZGF0aW9uICAgICAgCSAgICAgICAw
eDdmZmYyMDM2YTZjNiBfX0NGUlVOTE9PUF9JU19DQUxMSU5HX09VVF9UT19BX1RJTUVSX0NBTExC
QUNLX0ZVTkNUSU9OX18gKyAyMCAoL0xpYnJhcnkvQ2FjaGVzL2NvbS5hcHBsZS54YnMvU291cmNl
cy9Db3JlRm91bmRhdGlvbl9TaW0vRm91bmRhdGlvbi0xODU0L0NvcmVGb3VuZGF0aW9uL1J1bkxv
b3Auc3VicHJvai9DRlJ1bkxvb3AuYzoxODEyKQoyMiAgY29tLmFwcGxlLkNvcmVGb3VuZGF0aW9u
ICAgICAgCSAgICAgICAweDdmZmYyMDM2YTFjMiBfX0NGUnVuTG9vcERvVGltZXIgKyA5MjIgKC9M
aWJyYXJ5L0NhY2hlcy9jb20uYXBwbGUueGJzL1NvdXJjZXMvQ29yZUZvdW5kYXRpb25fU2ltL0Zv
dW5kYXRpb24tMTg1NC9Db3JlRm91bmRhdGlvbi9SdW5Mb29wLnN1YnByb2ovQ0ZSdW5Mb29wLmM6
MjQyMCkKMjMgIGNvbS5hcHBsZS5Db3JlRm91bmRhdGlvbiAgICAgIAkgICAgICAgMHg3ZmZmMjAz
Njk3ODAgX19DRlJ1bkxvb3BEb1RpbWVycyArIDI2NCAoL0xpYnJhcnkvQ2FjaGVzL2NvbS5hcHBs
ZS54YnMvU291cmNlcy9Db3JlRm91bmRhdGlvbl9TaW0vRm91bmRhdGlvbi0xODU0L0NvcmVGb3Vu
ZGF0aW9uL1J1bkxvb3Auc3VicHJvai9DRlJ1bkxvb3AuYzoyNTgwKQoyNCAgY29tLmFwcGxlLkNv
cmVGb3VuZGF0aW9uICAgICAgCSAgICAgICAweDdmZmYyMDM2M2RjMCBfX0NGUnVuTG9vcFJ1biAr
IDIwMTAgKC9MaWJyYXJ5L0NhY2hlcy9jb20uYXBwbGUueGJzL1NvdXJjZXMvQ29yZUZvdW5kYXRp
b25fU2ltL0ZvdW5kYXRpb24tMTg1NC9Db3JlRm91bmRhdGlvbi9SdW5Mb29wLnN1YnByb2ovQ0ZS
dW5Mb29wLmM6MzExNikKMjUgIGNvbS5hcHBsZS5Db3JlRm91bmRhdGlvbiAgICAgIAkgICAgICAg
MHg3ZmZmMjAzNjMxMDIgQ0ZSdW5Mb29wUnVuU3BlY2lmaWMgKyA1NjYgKC9MaWJyYXJ5L0NhY2hl
cy9jb20uYXBwbGUueGJzL1NvdXJjZXMvQ29yZUZvdW5kYXRpb25fU2ltL0ZvdW5kYXRpb24tMTg1
NC9Db3JlRm91bmRhdGlvbi9SdW5Mb29wLnN1YnByb2ovQ0ZSdW5Mb29wLmM6MzI2OCkKMjYgIGNv
bS5hcHBsZS5Gb3VuZGF0aW9uICAgICAgICAgIAkgICAgICAgMHg3ZmZmMjA4MTk0MWMgLVtOU1J1
bkxvb3AoTlNSdW5Mb29wKSBydW5Nb2RlOmJlZm9yZURhdGU6XSArIDIxMiAoL0xpYnJhcnkvQ2Fj
aGVzL2NvbS5hcHBsZS54YnMvU291cmNlcy9Gb3VuZGF0aW9uX1NpbS9Gb3VuZGF0aW9uLTE4NTQv
Rm91bmRhdGlvbi9Tb2lsLnN1YnByb2ovTlNSdW5Mb29wLm06MzczKQoyNyAgY29tLmFwcGxlLkZv
dW5kYXRpb24gICAgICAgICAgCSAgICAgICAweDdmZmYyMDgxOTYzOCAtW05TUnVuTG9vcChOU1J1
bkxvb3ApIHJ1bl0gKyA3NiAoL0xpYnJhcnkvQ2FjaGVzL2NvbS5hcHBsZS54YnMvU291cmNlcy9G
b3VuZGF0aW9uX1NpbS9Gb3VuZGF0aW9uLTE4NTQvRm91bmRhdGlvbi9Tb2lsLnN1YnByb2ovTlNS
dW5Mb29wLm06Mzk4KQoyOCAgbGlieHBjLmR5bGliICAgICAgICAgICAgICAgICAgCSAgICAgICAw
eDdmZmYyMDA2NzA1ZSBfeHBjX29iamNfbWFpbiArIDQzOCAoL0xpYnJhcnkvQ2FjaGVzL2NvbS5h
cHBsZS54YnMvU291cmNlcy9saWJ4cGNfU2ltL2xpYnhwYy0yMjM1LjEyLjEvc3JjL21haW4ubToy
NDYpCjI5ICBsaWJ4cGMuZHlsaWIgICAgICAgICAgICAgICAgICAJICAgICAgIDB4N2ZmZjIwMDY5
MDUwIHhwY19tYWluICsgMTIyICgvTGlicmFyeS9DYWNoZXMvY29tLmFwcGxlLnhicy9Tb3VyY2Vz
L2xpYnhwY19TaW0vbGlieHBjLTIyMzUuMTIuMS9zcmMvaW5pdC5jOjExODcpCjMwICBjb20uYXBw
bGUuV2ViS2l0ICAgICAgICAgICAgICAJICAgICAgIDB4MTE5ZDFlZWU4ICAgIFdlYktpdDo6WFBD
U2VydmljZU1haW4oaW50LCBjaGFyIGNvbnN0KiopCjMxICBjb20uYXBwbGUuV2ViS2l0ICAgICAg
ICAgICAgICAJICAgICAgIDB4MTFiZDI5YTE4ICAgIFdLWFBDU2VydmljZU1haW4KMzIgIGNvbS5h
cHBsZS5XZWJLaXQuR1BVICAgICAgICAgIAkgICAgICAgMHgxMDJjY2FkMTAgICAgbWFpbgozMyAg
ZHlsZF9zaW0gICAgICAgICAgICAgICAgICAgICAgCSAgICAgICAweDEwMmVkMGUxZSAgICBzdGFy
dF9zaW0gKyAxMCAoL0xpYnJhcnkvQ2FjaGVzL2NvbS5hcHBsZS54YnMvU291cmNlcy9keWxkX1Np
bS9keWxkLTkzMi40L2R5bGQvZHlsZE1haW4uY3BwOjkwNCkKMzQgIGR5bGQgICAgICAgICAgICAg
ICAgICAgICAgICAgIAkgICAgICAgMHgxMDQwZGY1MWUgICAgc3RhcnQgKyA0NjIgKC9BcHBsZUlu
dGVybmFsL0xpYnJhcnkvQnVpbGRSb290cy84ZDNiZGE1My04ZDljLTExZWMtYWJkNy1mYTZhMTk2
NGUzNGUvTGlicmFyeS9DYWNoZXMvY29tLmFwcGxlLnhicy9Tb3VyY2VzL2R5bGQvZHlsZC9keWxk
TWFpbi5jcHA6ODc5KQoKVGhyZWFkIDEgCjAgICBsaWJzeXN0ZW1fa2VybmVsLmR5bGliICAgICAg
ICAJICAgICAgIDB4N2ZmZjZiZjliM2VhIF9fcHN5bmNoX2N2d2FpdCArIDEwCjEgICBsaWJzeXN0
ZW1fcHRocmVhZC5keWxpYiAgICAgICAJICAgICAgIDB4N2ZmZjZiZmY2YTZlIF9wdGhyZWFkX2Nv
bmRfd2FpdCArIDEyNDggKC9BcHBsZUludGVybmFsL0xpYnJhcnkvQnVpbGRSb290cy82NjM4MmJj
YS04YmNhLTExZWMtYWFkZS02NjEzYmNmMGUyZWUvTGlicmFyeS9DYWNoZXMvY29tLmFwcGxlLnhi
cy9Tb3VyY2VzL2xpYnB0aHJlYWQvc3JjL3B0aHJlYWRfY29uZC5jOjYzNikKMiAgIGNvbS5hcHBs
ZS5KYXZhU2NyaXB0Q29yZSAgICAgIAkgICAgICAgMHgxMzZlNDBkNjggICAgc2NhdmVuZ2VyX3Ro
cmVhZF9tYWluCjMgICBsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiAgICAgICAJICAgICAgIDB4N2Zm
ZjZiZmY2NGUwIF9wdGhyZWFkX3N0YXJ0ICsgMTI0ICgvQXBwbGVJbnRlcm5hbC9MaWJyYXJ5L0J1
aWxkUm9vdHMvNjYzODJiY2EtOGJjYS0xMWVjLWFhZGUtNjYxM2JjZjBlMmVlL0xpYnJhcnkvQ2Fj
aGVzL2NvbS5hcHBsZS54YnMvU291cmNlcy9saWJwdGhyZWFkL3NyYy9wdGhyZWFkLmM6ODkxKQo0
ICAgbGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgICAgICAgCSAgICAgICAweDdmZmY2YmZmMWY2YSB0
aHJlYWRfc3RhcnQgKyAxNAoKVGhyZWFkIDIgCjAgICBsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiAg
ICAgICAJICAgICAgIDB4N2ZmZjZiZmYxZjQ4IHN0YXJ0X3dxdGhyZWFkICsgMAoKVGhyZWFkIDMg
CjAgICBsaWJzeXN0ZW1fcHRocmVhZC5keWxpYiAgICAgICAJICAgICAgIDB4N2ZmZjZiZmYxZjQ4
IHN0YXJ0X3dxdGhyZWFkICsgMAoKVGhyZWFkIDQgCjAgICBsaWJzeXN0ZW1fcHRocmVhZC5keWxp
YiAgICAgICAJICAgICAgIDB4N2ZmZjZiZmYxZjQ4IHN0YXJ0X3dxdGhyZWFkICsgMAoKVGhyZWFk
IDUgCjAgICBsaWJzeXN0ZW1fa2VybmVsLmR5bGliICAgICAgICAJICAgICAgIDB4N2ZmZjZiZjk4
OTdhIG1hY2hfbXNnX3RyYXAgKyAxMAoxICAgbGlic3lzdGVtX2tlcm5lbC5keWxpYiAgICAgICAg
CSAgICAgICAweDdmZmY2YmY5OGNlOCBtYWNoX21zZyArIDU2ICgvQXBwbGVJbnRlcm5hbC9MaWJy
YXJ5L0J1aWxkUm9vdHMvYjE5MDg5YjYtOTMwOC0xMWVjLWJhOTktNGU2NzgwM2UzZmQ5L0xpYnJh
cnkvQ2FjaGVzL2NvbS5hcHBsZS54YnMvU291cmNlcy9MaWJzeXNjYWxsL2xpYnN5c2NhbGwvbWFj
aC9tYWNoX21zZy5jOjExOSkKMiAgIGNvbS5hcHBsZS5Db3JlRm91bmRhdGlvbiAgICAgIAkgICAg
ICAgMHg3ZmZmMjAzNjk0NTAgX19DRlJ1bkxvb3BTZXJ2aWNlTWFjaFBvcnQgKyAzMTggKC9MaWJy
YXJ5L0NhY2hlcy9jb20uYXBwbGUueGJzL1NvdXJjZXMvQ29yZUZvdW5kYXRpb25fU2ltL0ZvdW5k
YXRpb24tMTg1NC9Db3JlRm91bmRhdGlvbi9SdW5Mb29wLnN1YnByb2ovQ0ZSdW5Mb29wLmM6MjY0
NikKMyAgIGNvbS5hcHBsZS5Db3JlRm91bmRhdGlvbiAgICAgIAkgICAgICAgMHg3ZmZmMjAzNjNh
ZjIgX19DRlJ1bkxvb3BSdW4gKyAxMjkyICgvTGlicmFyeS9DYWNoZXMvY29tLmFwcGxlLnhicy9T
b3VyY2VzL0NvcmVGb3VuZGF0aW9uX1NpbS9Gb3VuZGF0aW9uLTE4NTQvQ29yZUZvdW5kYXRpb24v
UnVuTG9vcC5zdWJwcm9qL0NGUnVuTG9vcC5jOjMwMDApCjQgICBjb20uYXBwbGUuQ29yZUZvdW5k
YXRpb24gICAgICAJICAgICAgIDB4N2ZmZjIwMzYzMTAyIENGUnVuTG9vcFJ1blNwZWNpZmljICsg
NTY2ICgvTGlicmFyeS9DYWNoZXMvY29tLmFwcGxlLnhicy9Tb3VyY2VzL0NvcmVGb3VuZGF0aW9u
X1NpbS9Gb3VuZGF0aW9uLTE4NTQvQ29yZUZvdW5kYXRpb24vUnVuTG9vcC5zdWJwcm9qL0NGUnVu
TG9vcC5jOjMyNjgpCjUgICBjb20uYXBwbGUuYXVkaW8uQXVkaW9TZXNzaW9uICAJICAgICAgIDB4
N2ZmZjVlYWIwZjFjIENBRGVwcmVjYXRlZDo6R2VuZXJpY1J1bkxvb3BUaHJlYWQ6OkVudHJ5KHZv
aWQqKSArIDE1NiAoL0xpYnJhcnkvQ2FjaGVzL2NvbS5hcHBsZS54YnMvU291cmNlcy9BdWRpb1Nl
c3Npb25fU2ltL0F1ZGlvU2Vzc2lvbi0xMjgvQ29yZUF1ZGlvVXRpbGl0eS9Tb3VyY2UvVXRpbGl0
eS9HZW5lcmljUnVuTG9vcFRocmVhZC5oOjk1KQo2ICAgY29tLmFwcGxlLmF1ZGlvLkF1ZGlvU2Vz
c2lvbiAgCSAgICAgICAweDdmZmY1ZWFjMmI4OCBDQURlcHJlY2F0ZWQ6OkNBUFRocmVhZDo6RW50
cnkoQ0FEZXByZWNhdGVkOjpDQVBUaHJlYWQqKSArIDc2ICgvTGlicmFyeS9DYWNoZXMvY29tLmFw
cGxlLnhicy9Tb3VyY2VzL0F1ZGlvU2Vzc2lvbl9TaW0vQXVkaW9TZXNzaW9uLTEyOC9Db3JlQXVk
aW9VdGlsaXR5L1NvdXJjZS9QdWJsaWNVdGlsaXR5L0NBUFRocmVhZC5jcHA6MzI0KQo3ICAgbGli
c3lzdGVtX3B0aHJlYWQuZHlsaWIgICAgICAgCSAgICAgICAweDdmZmY2YmZmNjRlMCBfcHRocmVh
ZF9zdGFydCArIDEyNCAoL0FwcGxlSW50ZXJuYWwvTGlicmFyeS9CdWlsZFJvb3RzLzY2MzgyYmNh
LThiY2EtMTFlYy1hYWRlLTY2MTNiY2YwZTJlZS9MaWJyYXJ5L0NhY2hlcy9jb20uYXBwbGUueGJz
L1NvdXJjZXMvbGlicHRocmVhZC9zcmMvcHRocmVhZC5jOjg5MSkKOCAgIGxpYnN5c3RlbV9wdGhy
ZWFkLmR5bGliICAgICAgIAkgICAgICAgMHg3ZmZmNmJmZjFmNmEgdGhyZWFkX3N0YXJ0ICsgMTQK
ClRocmVhZCA2IAowICAgbGlic3lzdGVtX2tlcm5lbC5keWxpYiAgICAgICAgCSAgICAgICAweDdm
ZmY2YmY5ODliNiBzZW1hcGhvcmVfd2FpdF90cmFwICsgMTAKMSAgIGNvbS5hcHBsZS5hdWRpby5j
YXVsayAgICAgICAgIAkgICAgICAgMHg3ZmZmNDk4YTRhNTYgY2F1bGs6Om1hY2g6OnNlbWFwaG9y
ZTo6d2FpdF9vcl9lcnJvcigpICsgMTYgKC9MaWJyYXJ5L0NhY2hlcy9jb20uYXBwbGUueGJzL1Nv
dXJjZXMvQ2F1bGtfU2ltL0NhdWxrLTkxL2xpYnMvbWFjaC9zcmMvbWFjaF9zZW1hcGhvcmUuY3Bw
OjEzMSkKMiAgIGNvbS5hcHBsZS5hdWRpby5jYXVsayAgICAgICAgIAkgICAgICAgMHg3ZmZmNDk4
OWZlMmUgY2F1bGs6OmNvbmN1cnJlbnQ6OmRldGFpbHM6Ondvcmtlcl90aHJlYWQ6OnJ1bigpICsg
MzYgKC9MaWJyYXJ5L0NhY2hlcy9jb20uYXBwbGUueGJzL1NvdXJjZXMvQ2F1bGtfU2ltL0NhdWxr
LTkxL2xpYnMvc3luYy9zcmMvc2VtYXBob3JlLmNwcDo4NSkKMyAgIGNvbS5hcHBsZS5hdWRpby5j
YXVsayAgICAgICAgIAkgICAgICAgMHg3ZmZmNDk4OWZlODIgdm9pZCogY2F1bGs6OnRocmVhZF9w
cm94eTxzdGQ6Ol9fMTo6dHVwbGU8Y2F1bGs6OnRocmVhZDo6YXR0cmlidXRlcywgdm9pZCAoY2F1
bGs6OmNvbmN1cnJlbnQ6OmRldGFpbHM6Ondvcmtlcl90aHJlYWQ6OiopKCksIHN0ZDo6X18xOjp0
dXBsZTxjYXVsazo6Y29uY3VycmVudDo6ZGV0YWlsczo6d29ya2VyX3RocmVhZCo+ID4gPih2b2lk
KikgKyA0MCAoL1N5c3RlbS9Wb2x1bWVzL0RhdGEvU1dFL2lPUy9CdWlsZFJvb3RzL0J1aWxkUm9v
dDEwMjEvQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1z
L2lQaG9uZVNpbXVsYXRvci5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9pUGhvbmVTaW11bGF0b3Ix
NS4wLkludGVybmFsLnNkay91c3IvaW5jbHVkZS9jKysvdjEvdHlwZV90cmFpdHM6MzY0MikKNCAg
IGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICAgICAgIAkgICAgICAgMHg3ZmZmNmJmZjY0ZTAgX3B0
aHJlYWRfc3RhcnQgKyAxMjQgKC9BcHBsZUludGVybmFsL0xpYnJhcnkvQnVpbGRSb290cy82NjM4
MmJjYS04YmNhLTExZWMtYWFkZS02NjEzYmNmMGUyZWUvTGlicmFyeS9DYWNoZXMvY29tLmFwcGxl
Lnhicy9Tb3VyY2VzL2xpYnB0aHJlYWQvc3JjL3B0aHJlYWQuYzo4OTEpCjUgICBsaWJzeXN0ZW1f
cHRocmVhZC5keWxpYiAgICAgICAJICAgICAgIDB4N2ZmZjZiZmYxZjZhIHRocmVhZF9zdGFydCAr
IDE0CgpUaHJlYWQgNyAKMCAgIGxpYnN5c3RlbV9rZXJuZWwuZHlsaWIgICAgICAgIAkgICAgICAg
MHg3ZmZmNmJmOTg5YjYgc2VtYXBob3JlX3dhaXRfdHJhcCArIDEwCjEgICBjb20uYXBwbGUuV2Vi
S2l0ICAgICAgICAgICAgICAJICAgICAgIDB4MTFhNTQ3Njk2ICAgIElQQzo6U2VtYXBob3JlOjp3
YWl0KCkKMiAgIGNvbS5hcHBsZS5XZWJLaXQgICAgICAgICAgICAgIAkgICAgICAgMHgxMWE1MDRh
MDQgICAgSVBDOjpTdHJlYW1Db25uZWN0aW9uV29ya1F1ZXVlOjpzdGFydFByb2Nlc3NpbmdUaHJl
YWQoKTo6JF8wOjpvcGVyYXRvcigpKCkKMyAgIGNvbS5hcHBsZS5XZWJLaXQgICAgICAgICAgICAg
IAkgICAgICAgMHgxMWE1MDQ5ODYgICAgV1RGOjpEZXRhaWw6OkNhbGxhYmxlV3JhcHBlcjxJUEM6
OlN0cmVhbUNvbm5lY3Rpb25Xb3JrUXVldWU6OnN0YXJ0UHJvY2Vzc2luZ1RocmVhZCgpOjokXzAs
IHZvaWQ+OjpjYWxsKCkKNCAgIGNvbS5hcHBsZS5KYXZhU2NyaXB0Q29yZSAgICAgIAkgICAgICAg
MHgxMzZjYjFhZjAgICAgV1RGOjpGdW5jdGlvbjx2b2lkICgpPjo6b3BlcmF0b3IoKSgpIGNvbnN0
CjUgICBjb20uYXBwbGUuSmF2YVNjcmlwdENvcmUgICAgICAJICAgICAgIDB4MTM2ZDg3Zjk2ICAg
IFdURjo6VGhyZWFkOjplbnRyeVBvaW50KFdURjo6VGhyZWFkOjpOZXdUaHJlYWRDb250ZXh0KikK
NiAgIGNvbS5hcHBsZS5KYXZhU2NyaXB0Q29yZSAgICAgIAkgICAgICAgMHgxMzZkOTYyMDIgICAg
V1RGOjp3dGZUaHJlYWRFbnRyeVBvaW50KHZvaWQqKQo3ICAgbGlic3lzdGVtX3B0aHJlYWQuZHls
aWIgICAgICAgCSAgICAgICAweDdmZmY2YmZmNjRlMCBfcHRocmVhZF9zdGFydCArIDEyNCAoL0Fw
cGxlSW50ZXJuYWwvTGlicmFyeS9CdWlsZFJvb3RzLzY2MzgyYmNhLThiY2EtMTFlYy1hYWRlLTY2
MTNiY2YwZTJlZS9MaWJyYXJ5L0NhY2hlcy9jb20uYXBwbGUueGJzL1NvdXJjZXMvbGlicHRocmVh
ZC9zcmMvcHRocmVhZC5jOjg5MSkKOCAgIGxpYnN5c3RlbV9wdGhyZWFkLmR5bGliICAgICAgIAkg
ICAgICAgMHg3ZmZmNmJmZjFmNmEgdGhyZWFkX3N0YXJ0ICsgMTQKCgpUaHJlYWQgU3RhdGUKICAg
IGNwdSAgIDogMHgwMDAwMDAwMDAwMDAwMDAyICAgICBjcjIgICA6IDB4MDAwMDAwMDBiYmFkYmVl
ZiBlcnIgICA6IDB4MDAwMDAwMDYgICAgICAKICAgIHIxMCAgIDogMHgwMDAwMDAwMDAwMDA4MDAz
ICAgICByMTEgICA6IDB4MDAwMDAwMDAwMDAwM2ZmZiByMTIgICA6IDB4MDAwMDAwMDAwMDAwMDAw
MAogICAgcjEzICAgOiAweDAwMDA2MDAwMDI1MzgwMTggICAgIHIxNCAgIDogMHgwMDAwN2ZlNDM1
MDA5MDcwIHIxNSAgIDogMHgwMDAwNjAwMDAyNTM4MDAwCiAgICByOCAgICA6IDB4MDAwMDAwMDAw
MDAwMDAwMCAgICAgcjkgICAgOiAweDAwMDAwMDAwMDAwMDA2MDAgcmF4ICAgOiAweDAwMDAwMDAw
YmJhZGJlZWYKICAgIHJicCAgIDogMHgwMDAwN2ZmN2JkMjM0ZDMwICAgICByYnggICA6IDB4MDAw
MDAwMDE2Mzg3MGYzMCByY3ggICA6IDB4ZTAyZjBlOWIxODM2MDBhNgogICAgcmRpICAgOiAweDAw
MDA3ZmY3YmQyMzRiYjAgICAgIHJkeCAgIDogMHgwMDAwMDAwMDAwMDAwMTAzIHJmbGFnczogMHgw
MDAwMDAwMDAwMDEwMjAyCiAgICByaXAgICA6IDB4MDAwMDAwMDEzNmM4M2FjZSAgICAgcnNpICAg
OiAweDAwMDAwMDAwMDAwMDAxMDMgcnNwICAgOiAweDAwMDA3ZmY3YmQyMzRkMzAKICAgIHRyYXAg
IDogMHgwMDAwMDAwMDAwMDAwMDBlIAoKVGhyZWFkIDAgSW5zdHJ1Y3Rpb24gU3RyZWFtOgoKMDAg
MDAgNTUgNDggODkgZTUgNDggODMgZWMgMjAgNDggODkgN2QgZjggNDggODkgCjc1IGYwIDQ4IDhi
IDdkIGY4IDQ4IDhiIDQ1IGYwIDQ4IDg5IDQ1IGU4IDQ4IDhkIAo3NSBlOCBlOCA2YiA1MyAwMCAw
MCA0OCA4MyBjNCAyMCA1ZCBjMyAwZiAxZiA0NCAKMDAgMDAgNTUgNDggODkgZTUgNDggODMgZWMg
MTAgNDggODkgN2QgZjggNDggOGIgCjdkIGY4IGU4IDFiIDM2IDAwIDAwIDQ4IDgzIGM0IDEwIDVk
IGMzIDBmIDFmIDQ0IAowMCAwMCA1NSA0OCA4OSBlNSBlOCA5NyBmZSBmZiBmZiBiOCBlZiBiZSBh
ZCBiYiAKYzcgMDAgMDAgMDAgMDAgMDAgMGYgMGIgNjYgMmUgMGYgMWYgODQgMDAgMDAgMDAgCjAw
IDAwIDU1IDQ4IDg5IGU1IGU4IGQ3IGZmIGZmIGZmIDBmIDFmIDgwIDAwIDAwIAowMCAwMCA1NSA0
OCA4OSBlNSA0OCA4MSBlYyBjMCAwMiAwMCAwMCA0OCA4YiAwNSAKOWUgMTUgZTYgMDIgNDggOGIg
MDAgNDggODkgNDUgZjggYzcgODUgNjAgZmQgZmYgCmZmIDAxIDAwIDAwIDAwIGM3IDg1IDY0IGZk
IGZmIGZmIDBlIDAwIDAwIDAwIGM3IAo4NSA2OCBmZCBmZiBmZiAwMSAwMCAwMCAwMCBlOCAyMCAy
YiA0YyAwMiAzMSBjOSAKCgppbnN0cnVjdGlvblN0cmVhbTogYnl0ZXM6IDAKMAo4NQo3MgoxMzcK
MjI5CjcyCjEzMQoyMzYKMzIKNzIKMTM3CjEyNQoyNDgKNzIKMTM3CjExNwoyNDAKNzIKMTM5CjEy
NQoyNDgKNzIKMTM5CjY5CjI0MAo3MgoxMzcKNjkKMjMyCjcyCjE0MQoxMTcKMjMyCjIzMgoxMDcK
ODMKMAowCjcyCjEzMQoxOTYKMzIKOTMKMTk1CjE1CjMxCjY4CjAKMAo4NQo3MgoxMzcKMjI5Cjcy
CjEzMQoyMzYKMTYKNzIKMTM3CjEyNQoyNDgKNzIKMTM5CjEyNQoyNDgKMjMyCjI3CjU0CjAKMAo3
MgoxMzEKMTk2CjE2CjkzCjE5NQoxNQozMQo2OAowCjAKODUKNzIKMTM3CjIyOQoyMzIKMTUxCjI1
NAoyNTUKMjU1CjE4NAoyMzkKMTkwCjE3MwoxODcKMTk5CjAKMAowCjAKMAoxNQoxMQoxMDIKNDYK
MTUKMzEKMTMyCjAKMAowCjAKMAo4NQo3MgoxMzcKMjI5CjIzMgoyMTUKMjU1CjI1NQoyNTUKMTUK
MzEKMTI4CjAKMAowCjAKODUKNzIKMTM3CjIyOQo3MgoxMjkKMjM2CjE5MgoyCjAKMAo3MgoxMzkK
NQoxNTgKMjEKMjMwCjIKNzIKMTM5CjAKNzIKMTM3CjY5CjI0OAoxOTkKMTMzCjk2CjI1MwoyNTUK
MjU1CjEKMAowCjAKMTk5CjEzMwoxMDAKMjUzCjI1NQoyNTUKMTQKMAowCjAKMTk5CjEzMwoxMDQK
MjUzCjI1NQoyNTUKMQowCjAKMAoyMzIKMzIKNDMKNzYKMgo0OQoyMDEKCm9mZnNldDogOTYKCgoK
QmluYXJ5IEltYWdlczoKICAgICAgICAweDEzNmM4MTAwMCAtICAgIDB4MTM5YWU1MDAwIGNvbS5h
cHBsZS5KYXZhU2NyaXB0Q29yZSAoNjE0KyAtIDYxNC4xLjkrKSA8NGY2ODk5MTMtM2QwYy0zNTNh
LTlkYjAtOGU3OThlMTdhMDQwPiAvVm9sdW1lcy9WT0xVTUUvKi9KYXZhU2NyaXB0Q29yZS5mcmFt
ZXdvcmsvSmF2YVNjcmlwdENvcmUKICAgICAgICAweDExOTAzODAwMCAtICAgIDB4MTFjOWQ0MDAw
IGNvbS5hcHBsZS5XZWJLaXQgKDYxNCsgLSA2MTQuMS45KykgPGRkNTNmMmI3LTQ3YWYtM2ZiMS1i
MDkwLTU4NTkzNDA4YjU5NT4gL1ZvbHVtZXMvVk9MVU1FLyovV2ViS2l0LmZyYW1ld29yay9XZWJL
aXQKICAgICAgICAweDE1ZWZmZTAwMCAtICAgIDB4MTY2NjhhMDAwIGNvbS5hcHBsZS5XZWJDb3Jl
ICg2MTQrIC0gNjE0LjEuOSspIDwzYmIwNDFkMC1jNjRmLTM0NGMtYmU4Zi01OWJmMDBhODE3MmM+
IC9Wb2x1bWVzL1ZPTFVNRS8qL1dlYkNvcmUuZnJhbWV3b3JrL1dlYkNvcmUKICAgICAweDdmZmYy
MDJlOTAwMCAtIDB4N2ZmZjIwNjg5MDAwIGNvbS5hcHBsZS5Db3JlRm91bmRhdGlvbiAoNi45IC0g
MTg1NCkgPDFlMzFjNzljLTYzZDUtM2MxMC04NTdkLTJkNjRmOWVmY2M1NT4gL0FwcGxpY2F0aW9u
cy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9pUGhvbmVPUy5wbGF0Zm9y
bS9MaWJyYXJ5L0RldmVsb3Blci9Db3JlU2ltdWxhdG9yL1Byb2ZpbGVzL1J1bnRpbWVzL2lPUy5z
aW1ydW50aW1lL0NvbnRlbnRzL1Jlc291cmNlcy9SdW50aW1lUm9vdC9TeXN0ZW0vTGlicmFyeS9G
cmFtZXdvcmtzL0NvcmVGb3VuZGF0aW9uLmZyYW1ld29yay9Db3JlRm91bmRhdGlvbgogICAgIDB4
N2ZmZjIwNmY3MDAwIC0gMHg3ZmZmMjA5YWMwMDAgY29tLmFwcGxlLkZvdW5kYXRpb24gKDYuOSAt
IDE4NTQpIDwwMjYyMWIzZC0xNzRhLTM3YmUtODc5Yy00YmUwZjBmYThkOTY+IC9BcHBsaWNhdGlv
bnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvaVBob25lT1MucGxhdGZv
cm0vTGlicmFyeS9EZXZlbG9wZXIvQ29yZVNpbXVsYXRvci9Qcm9maWxlcy9SdW50aW1lcy9pT1Mu
c2ltcnVudGltZS9Db250ZW50cy9SZXNvdXJjZXMvUnVudGltZVJvb3QvU3lzdGVtL0xpYnJhcnkv
RnJhbWV3b3Jrcy9Gb3VuZGF0aW9uLmZyYW1ld29yay9Gb3VuZGF0aW9uCiAgICAgMHg3ZmZmMjAw
NTQwMDAgLSAweDdmZmYyMDA4OTAwMCBsaWJ4cGMuZHlsaWIgPDY4ZjZiZTY5LTZkYjItM2ExOC1h
MDUzLTJjMDNhOWQyYTEwYT4gL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxv
cGVyL1BsYXRmb3Jtcy9pUGhvbmVPUy5wbGF0Zm9ybS9MaWJyYXJ5L0RldmVsb3Blci9Db3JlU2lt
dWxhdG9yL1Byb2ZpbGVzL1J1bnRpbWVzL2lPUy5zaW1ydW50aW1lL0NvbnRlbnRzL1Jlc291cmNl
cy9SdW50aW1lUm9vdC91c3IvbGliL3N5c3RlbS9saWJ4cGMuZHlsaWIKICAgICAgICAweDEwMmNj
NzAwMCAtICAgIDB4MTAyY2NiMDAwIGNvbS5hcHBsZS5XZWJLaXQuR1BVICg2MTQrIC0gNjE0LjEu
OSspIDxjMzc3NmQ3YS02ZDMwLTM1MzUtOWU3ZS00NDY1M2ExZGFkYzg+IC9Wb2x1bWVzL1ZPTFVN
RS8qL2NvbS5hcHBsZS5XZWJLaXQuR1BVLkRldmVsb3BtZW50CiAgICAgICAgMHgxMDJlY2YwMDAg
LSAgICAweDEwMmYxYzAwMCBkeWxkX3NpbSA8ZDQ5NGMyOTctZGM3My0zOTRiLTkwMWUtMWI1OTMw
ZTgwMWRmPiAvQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZv
cm1zL2lQaG9uZU9TLnBsYXRmb3JtL0xpYnJhcnkvRGV2ZWxvcGVyL0NvcmVTaW11bGF0b3IvUHJv
ZmlsZXMvUnVudGltZXMvaU9TLnNpbXJ1bnRpbWUvQ29udGVudHMvUmVzb3VyY2VzL1J1bnRpbWVS
b290L3Vzci9saWIvZHlsZF9zaW0KICAgICAgICAweDEwNDBkYTAwMCAtICAgIDB4MTA0MTQ2MDAw
IGR5bGQgPGRkOWU4MGRlLWZiM2ItMzQ5Yi05NmE0LTQ2ODc0YWQzNGQxMT4gL3Vzci9saWIvZHls
ZAogICAgIDB4N2ZmZjZiZjk3MDAwIC0gMHg3ZmZmNmJmY2YwMDAgbGlic3lzdGVtX2tlcm5lbC5k
eWxpYiA8MjZhNTk3ODktYjg0Ni0zZWQ0LTk2ZGMtOGRiZWYzYzBjOGU3PiAvdXNyL2xpYi9zeXN0
ZW0vbGlic3lzdGVtX2tlcm5lbC5keWxpYgogICAgIDB4N2ZmZjZiZmYwMDAwIC0gMHg3ZmZmNmJm
ZmMwMDAgbGlic3lzdGVtX3B0aHJlYWQuZHlsaWIgPDJmNmMyNzVkLTdlMTQtM2QzMS1hOTI0LWUx
YmI0MWQyNDE1Zj4gL3Vzci9saWIvc3lzdGVtL2xpYnN5c3RlbV9wdGhyZWFkLmR5bGliCiAgICAg
MHg3ZmZmNWVhYWYwMDAgLSAweDdmZmY1ZWFkNDAwMCBjb20uYXBwbGUuYXVkaW8uQXVkaW9TZXNz
aW9uICgxLjAgLSApIDxiYWZkNDg3NC1mNTg5LTNmZmUtODMxYi05YTFhZjVmZTgwNGM+IC9BcHBs
aWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvaVBob25lT1Mu
cGxhdGZvcm0vTGlicmFyeS9EZXZlbG9wZXIvQ29yZVNpbXVsYXRvci9Qcm9maWxlcy9SdW50aW1l
cy9pT1Muc2ltcnVudGltZS9Db250ZW50cy9SZXNvdXJjZXMvUnVudGltZVJvb3QvU3lzdGVtL0xp
YnJhcnkvUHJpdmF0ZUZyYW1ld29ya3MvQXVkaW9TZXNzaW9uLmZyYW1ld29yay9BdWRpb1Nlc3Np
b24KICAgICAweDdmZmY0OTg4OTAwMCAtIDB4N2ZmZjQ5OGFkMDAwIGNvbS5hcHBsZS5hdWRpby5j
YXVsayAoMS4wIC0gKSA8NWE0MTY0YmYtMWMwZi0zZDhhLTgyYmItZGUwODkwNWIxNGM1PiAvQXBw
bGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL2lQaG9uZU9T
LnBsYXRmb3JtL0xpYnJhcnkvRGV2ZWxvcGVyL0NvcmVTaW11bGF0b3IvUHJvZmlsZXMvUnVudGlt
ZXMvaU9TLnNpbXJ1bnRpbWUvQ29udGVudHMvUmVzb3VyY2VzL1J1bnRpbWVSb290L1N5c3RlbS9M
aWJyYXJ5L1ByaXZhdGVGcmFtZXdvcmtzL2NhdWxrLmZyYW1ld29yay9jYXVsawoKCgpFeHRlcm5h
bCBNb2RpZmljYXRpb24gU3VtbWFyeToKICBDYWxscyBtYWRlIGJ5IG90aGVyIHByb2Nlc3NlcyB0
YXJnZXRpbmcgdGhpcyBwcm9jZXNzOgogICAgdGFza19mb3JfcGlkOiAwCiAgICB0aHJlYWRfY3Jl
YXRlOiAwCiAgICB0aHJlYWRfc2V0X3N0YXRlOiAwCiAgQ2FsbHMgbWFkZSBieSB0aGlzIHByb2Nl
c3M6CiAgICB0YXNrX2Zvcl9waWQ6IDAKICAgIHRocmVhZF9jcmVhdGU6IDAKICAgIHRocmVhZF9z
ZXRfc3RhdGU6IDAKICBDYWxscyBtYWRlIGJ5IGFsbCBwcm9jZXNzZXMgb24gdGhpcyBtYWNoaW5l
OgogICAgdGFza19mb3JfcGlkOiAwCiAgICB0aHJlYWRfY3JlYXRlOiAwCiAgICB0aHJlYWRfc2V0
X3N0YXRlOiAwCgpWTSBSZWdpb24gU3VtbWFyeToKUmVhZE9ubHkgcG9ydGlvbiBvZiBMaWJyYXJp
ZXM6IFRvdGFsPTEuOUcgcmVzaWRlbnQ9MEsoMCUpIHN3YXBwZWRfb3V0X29yX3VuYWxsb2NhdGVk
PTEuOUcoMTAwJSkKV3JpdGFibGUgcmVnaW9uczogVG90YWw9My43RyB3cml0dGVuPTBLKDAlKSBy
ZXNpZGVudD0wSygwJSkgc3dhcHBlZF9vdXQ9MEsoMCUpIHVuYWxsb2NhdGVkPTMuN0coMTAwJSkK
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVklSVFVBTCAgIFJFR0lPTiAKUkVHSU9O
IFRZUEUgICAgICAgICAgICAgICAgICAgICAgICBTSVpFICAgIENPVU5UIChub24tY29hbGVzY2Vk
KSAKPT09PT09PT09PT0gICAgICAgICAgICAgICAgICAgICA9PT09PT09ICA9PT09PT09IApBY3Rp
dml0eSBUcmFjaW5nICAgICAgICAgICAgICAgICAgIDI1NksgICAgICAgIDEgCkNvbG9yU3luYyAg
ICAgICAgICAgICAgICAgICAgICAgICAgIDE2SyAgICAgICAgMiAKQ29yZUFuaW1hdGlvbiAgICAg
ICAgICAgICAgICAgICAgICAgIDhLICAgICAgICAxIApJT1N1cmZhY2UgICAgICAgICAgICAgICAg
ICAgICAgICAgMTQuNk0gICAgICAgIDIgCkpTIEpJVCBnZW5lcmF0ZWQgY29kZSAgICAgICAgICAg
ICAgMS4wRyAgICAgICAgMyAKS2VybmVsIEFsbG9jIE9uY2UgICAgICAgICAgICAgICAgICAgIDhL
ICAgICAgICAxIApNQUxMT0MgICAgICAgICAgICAgICAgICAgICAgICAgICAzOTQuNE0gICAgICAg
NzcgCk1BTExPQyBndWFyZCBwYWdlICAgICAgICAgICAgICAgICAgIDQ4SyAgICAgICAxMCAKTUFM
TE9DX01FRElVTSAocmVzZXJ2ZWQpICAgICAgICAgNzIwLjBNICAgICAgICA2ICAgICAgICAgcmVz
ZXJ2ZWQgVk0gYWRkcmVzcyBzcGFjZSAodW5hbGxvY2F0ZWQpCk1BTExPQ19OQU5PIChyZXNlcnZl
ZCkgICAgICAgICAgIDM4NC4wTSAgICAgICAgMSAgICAgICAgIHJlc2VydmVkIFZNIGFkZHJlc3Mg
c3BhY2UgKHVuYWxsb2NhdGVkKQpTVEFDSyBHVUFSRCAgICAgICAgICAgICAgICAgICAgICAgNTYu
ME0gICAgICAgIDggClN0YWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMS42TSAgICAg
ICAgOCAKVk1fQUxMT0NBVEUgICAgICAgICAgICAgICAgICAgICAgIDMzMzZLICAgICAgIDExIApX
ZWJLaXQgTWFsbG9jICAgICAgICAgICAgICAgICAgICAyMjQuME0gICAgICAgIDUgCldlYktpdCBN
YWxsb2MgKHJlc2VydmVkKSAgICAgICAgICAgMS4wRyAgICAgICAgMSAgICAgICAgIHJlc2VydmVk
IFZNIGFkZHJlc3Mgc3BhY2UgKHVuYWxsb2NhdGVkKQpfX0RBVEEgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgMTAuN00gICAgICAzMjUgCl9fREFUQV9DT05TVCAgICAgICAgICAgICAgICAgICAg
ICAyNy43TSAgICAgIDMxOSAKX19EQVRBX0RJUlRZICAgICAgICAgICAgICAgICAgICAgICAgMjJL
ICAgICAgIDEwIApfX0ZPTlRfREFUQSAgICAgICAgICAgICAgICAgICAgICAgICAgNEsgICAgICAg
IDEgCl9fTElOS0VESVQgICAgICAgICAgICAgICAgICAgICAgICAgMS4zRyAgICAgICAxMiAKX19P
QkpDX1JPICAgICAgICAgICAgICAgICAgICAgICAgIDYxLjhNICAgICAgICAxIApfX09CSkNfUlcg
ICAgICAgICAgICAgICAgICAgICAgICAgMzA0MEsgICAgICAgIDEgCl9fVEVYVCAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDUyOC4yTSAgICAgIDMyNiAKX19VTklDT0RFICAgICAgICAgICAgICAg
ICAgICAgICAgICA1ODhLICAgICAgICAxIApkeWxkIHByaXZhdGUgbWVtb3J5ICAgICAgICAgICAg
ICAgMjA0OEsgICAgICAgIDIgCm1hcHBlZCBmaWxlICAgICAgICAgICAgICAgICAgICAgICAzNC41
TSAgICAgICAgOCAKc2hhcmVkIG1lbW9yeSAgICAgICAgICAgICAgICAgICAgICAgMTZLICAgICAg
ICAxIAo9PT09PT09PT09PSAgICAgICAgICAgICAgICAgICAgID09PT09PT0gID09PT09PT0gClRP
VEFMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNS44RyAgICAgMTE0NCAKVE9UQUwsIG1p
bnVzIHJlc2VydmVkIFZNIHNwYWNlICAgICAzLjdHICAgICAxMTQ0IAoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>457131</attachid>
            <date>2022-04-08 18:02:20 -0700</date>
            <delta_ts>2022-04-11 17:48:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-238558-20220408180219.patch</filename>
            <type>text/plain</type>
            <size>5265</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyNTc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDJlNzhlNzFkZmM2YjRiNzgw
MjM4ZjJhOTFlNGQ4MTZhYTk4MTQ4OTQuLjYwMzZkNGUxODQ4MDhjNzI0ZDhiOGUyMzk0NDZlMTRm
YTk5MWJjYjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzMgQEAKKzIwMjItMDQtMDggIFNhaWQgQWJv
dS1IYWxsYXdhICA8c2FpZEBhcHBsZS5jb20+CisKKyAgICAgICAgR1BVIFByb2Nlc3MgY3Jhc2gg
dW5kZXIgR1BVUHJvY2Vzczo6Y2FuRXhpdFVuZGVyTWVtb3J5UHJlc3N1cmUoKQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM4NTU4CisgICAgICAgIHJk
YXI6Ly85MTA1MjAzMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmQ6OmFsbG93c0V4aXRVbmRlck1lbW9yeVByZXNz
dXJlKCkgaXMgdGhlIG9ubHkgbWV0aG9kCisgICAgICAgIGluIHRoaXMgY2xhc3MgaW4gd2hpY2gg
d2UgYWNjZXNzIFF1YWxpZmllZFJlc291cmNlSGVhcCBvbiB0aGUgbWFpbiB0aHJlYWQuCisKKyAg
ICAgICAgSXQgc2hvdWxkIG9ubHkgYmUgYWNjZXNzZWQgZnJvbSB0aGUgIlJlbW90ZVJlbmRlcmlu
Z0JhY2tlbmQgd29yayBxdWV1ZSIuCisgICAgICAgIFRvIGRvIHRoYXQgd2UgbmVlZCB0byBpbXBs
ZW1lbnQgU3RyZWFtQ29ubmVjdGlvbldvcmtRdWV1ZTo6ZGlzcGF0Y2hTeW5jKCkuCisgICAgICAg
IGFsbG93c0V4aXRVbmRlck1lbW9yeVByZXNzdXJlKCkgd2lsbCBjYWxsIGRpc3BhdGNoU3luYygp
IHdpdGggYSBsYW1iZGEKKyAgICAgICAgaW4gd2hpY2ggd2UgY2FsbCBSZW1vdGVSZXNvdXJjZUNh
Y2hlOjpoYXNBY3RpdmVEcmF3YWJsZXMoKS4KKworICAgICAgICBUaGlzIFN0cmVhbUNvbm5lY3Rp
b25Xb3JrUXVldWU6OmRpc3BhdGNoU3luYygpIHdpbGwgYmxvY2sgZXhlY3V0aW9uIHRpbGwKKyAg
ICAgICAgd2UgYXJlIHN1cmUgdGhhdCB0aGUgcmVxdWVzdGVkIGZ1bmN0aW9uIGlzIGV4ZWN1dGVk
LiBUbyBkbyB0aGF0IGEgbmV3CisgICAgICAgIHNlbWFwaG9yZSAnbV9zeW5jU2VtYXBob3JlJyB3
aWxsIGJlIGFkZGVkIHRvIFN0cmVhbUNvbm5lY3Rpb25Xb3JrUXVldWUuCisgICAgICAgIGRpc3Bh
dGNoU3luYygpIHdpbGwgY2FsbCBpdHMgd2FpdCgpIGFuZCB0aGUgdGhyZWFkIHRhc2sgd2lsbCBj
YWxsIGl0cworICAgICAgICBzaWduYWwoKS4gQSBuZXcgYXRvbWljIGJvb2xlYW4gJ21fc3luY1Nl
bWFwaG9yZUFjdGl2ZScgd2lsbCBiZSB1c2VkIHRvCisgICAgICAgIG1ha2UgJ21fc3luY1NlbWFw
aG9yZScgYmUgc2lnbmFsZWQgb25seSB3aGVuIGl0IGlzIHdhaXRpbmcuCisKKyAgICAgICAgKiBH
UFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmQuY3BwOgorICAgICAgICAo
V2ViS2l0OjpSZW1vdGVSZW5kZXJpbmdCYWNrZW5kOjphbGxvd3NFeGl0VW5kZXJNZW1vcnlQcmVz
c3VyZSBjb25zdCk6CisgICAgICAgICogUGxhdGZvcm0vSVBDL1N0cmVhbUNvbm5lY3Rpb25Xb3Jr
UXVldWUuY3BwOgorICAgICAgICAoSVBDOjpTdHJlYW1Db25uZWN0aW9uV29ya1F1ZXVlOjpkaXNw
YXRjaFN5bmMpOgorICAgICAgICAoSVBDOjpTdHJlYW1Db25uZWN0aW9uV29ya1F1ZXVlOjpzdGFy
dFByb2Nlc3NpbmdUaHJlYWQpOgorICAgICAgICAqIFBsYXRmb3JtL0lQQy9TdHJlYW1Db25uZWN0
aW9uV29ya1F1ZXVlLmg6CisKIDIwMjItMDQtMDcgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNl
ckBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIGEgTGF5ZXJCYWNraW5nIFJlbmRlcmluZ1B1cnBv
c2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVS
ZW5kZXJpbmdCYWNrZW5kLmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9S
ZW1vdGVSZW5kZXJpbmdCYWNrZW5kLmNwcAppbmRleCA4YjA1ODRiZTA4ZTcwOGEzZGNlMjA3ZDM2
MWJkZDdkMDUyY2QzZTA0Li5lNjE5MGE5OTcwM2FkZWI3YTUxN2JiZTdjYjkzMjg2ZmFmMjFmYWMw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVu
ZGVyaW5nQmFja2VuZC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNz
L1JlbW90ZVJlbmRlcmluZ0JhY2tlbmQuY3BwCkBAIC01MjksNyArNTI5LDExIEBAIHZvaWQgUmVt
b3RlUmVuZGVyaW5nQmFja2VuZDo6dXBkYXRlUmVuZGVyaW5nUmVzb3VyY2VSZXF1ZXN0KCkKIGJv
b2wgUmVtb3RlUmVuZGVyaW5nQmFja2VuZDo6YWxsb3dzRXhpdFVuZGVyTWVtb3J5UHJlc3N1cmUo
KSBjb25zdAogewogICAgIEFTU0VSVChpc01haW5SdW5Mb29wKCkpOwotICAgIHJldHVybiAhbV9y
ZW1vdGVSZXNvdXJjZUNhY2hlLmhhc0FjdGl2ZURyYXdhYmxlcygpOworICAgIGJvb2wgaGFzQWN0
aXZlRHJhd2FibGVzID0gZmFsc2U7CisgICAgbV93b3JrUXVldWUtPmRpc3BhdGNoU3luYyhbJl0g
eworICAgICAgICBoYXNBY3RpdmVEcmF3YWJsZXMgPSBtX3JlbW90ZVJlc291cmNlQ2FjaGUuaGFz
QWN0aXZlRHJhd2FibGVzKCk7CisgICAgfSk7CisgICAgcmV0dXJuICFoYXNBY3RpdmVEcmF3YWJs
ZXM7CiB9CiAKIHZvaWQgUmVtb3RlUmVuZGVyaW5nQmFja2VuZDo6cGVyZm9ybVdpdGhNZWRpYVBs
YXllck9uTWFpblRocmVhZChNZWRpYVBsYXllcklkZW50aWZpZXIgaWRlbnRpZmllciwgRnVuY3Rp
b248dm9pZChNZWRpYVBsYXllciYpPiYmIGNhbGxiYWNrKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9QbGF0Zm9ybS9JUEMvU3RyZWFtQ29ubmVjdGlvbldvcmtRdWV1ZS5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L1BsYXRmb3JtL0lQQy9TdHJlYW1Db25uZWN0aW9uV29ya1F1ZXVlLmNwcAppbmRleCA5
M2ZkZDcxMGYzMjkxNmI2NzQ3N2YyZTcwOTNmNDY2MGZlNjJlZGZhLi5lN2MzYTExNTU1Njc3YTE2
ZTQ4NmM3ZjQxZGNhYjcxOTIxYmZhMTQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRm
b3JtL0lQQy9TdHJlYW1Db25uZWN0aW9uV29ya1F1ZXVlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L1BsYXRmb3JtL0lQQy9TdHJlYW1Db25uZWN0aW9uV29ya1F1ZXVlLmNwcApAQCAtNTMsNiArNTMs
MjIgQEAgdm9pZCBTdHJlYW1Db25uZWN0aW9uV29ya1F1ZXVlOjpkaXNwYXRjaChXVEY6OkZ1bmN0
aW9uPHZvaWQoKT4mJiBmdW5jdGlvbikKICAgICB3YWtlVXAoKTsKIH0KIAordm9pZCBTdHJlYW1D
b25uZWN0aW9uV29ya1F1ZXVlOjpkaXNwYXRjaFN5bmMoV1RGOjpGdW5jdGlvbjx2b2lkKCk+JiYg
ZnVuY3Rpb24pCit7CisgICAgQVNTRVJUKCFtX3Nob3VsZFF1aXQpOyAvLyBSZS1lbnRlcmluZyBk
dXJpbmcgc2h1dGRvd24gbm90IHN1cHBvcnRlZC4KKyAgICB7CisgICAgICAgIExvY2tlciBsb2Nr
ZXIgeyBtX2xvY2sgfTsKKyAgICAgICAgbV9mdW5jdGlvbnMuYXBwZW5kKFdURk1vdmUoZnVuY3Rp
b24pKTsKKyAgICAgICAgaWYgKCFtX3Nob3VsZFF1aXQgJiYgIW1fcHJvY2Vzc2luZ1RocmVhZCkg
eworICAgICAgICAgICAgc3RhcnRQcm9jZXNzaW5nVGhyZWFkKCk7CisgICAgICAgICAgICByZXR1
cm47CisgICAgICAgIH0KKyAgICB9CisgICAgbV9zeW5jU2VtYXBob3JlQWN0aXZlID0gdHJ1ZTsK
KyAgICB3YWtlVXAoKTsKKyAgICBtX3N5bmNTZW1hcGhvcmUud2FpdCgpOworfQorCiB2b2lkIFN0
cmVhbUNvbm5lY3Rpb25Xb3JrUXVldWU6OmFkZFN0cmVhbUNvbm5lY3Rpb24oU3RyZWFtU2VydmVy
Q29ubmVjdGlvbiYgY29ubmVjdGlvbikKIHsKICAgICB7CkBAIC0xMDUsNiArMTIxLDExIEBAIHZv
aWQgU3RyZWFtQ29ubmVjdGlvbldvcmtRdWV1ZTo6c3RhcnRQcm9jZXNzaW5nVGhyZWFkKCkKICAg
ICBhdXRvIHRhc2sgPSBbdGhpc10oKSBtdXRhYmxlIHsKICAgICAgICAgZm9yICg7OykgewogICAg
ICAgICAgICAgcHJvY2Vzc1N0cmVhbXMoKTsKKyAgICAgICAgICAgIGlmIChtX3N5bmNTZW1hcGhv
cmVBY3RpdmUpIHsKKyAgICAgICAgICAgICAgICBwcm9jZXNzU3RyZWFtcygpOworICAgICAgICAg
ICAgICAgIG1fc3luY1NlbWFwaG9yZS5zaWduYWwoKTsKKyAgICAgICAgICAgICAgICBtX3N5bmNT
ZW1hcGhvcmVBY3RpdmUgPSBmYWxzZTsKKyAgICAgICAgICAgIH0KICAgICAgICAgICAgIGlmICht
X3Nob3VsZFF1aXQpIHsKICAgICAgICAgICAgICAgICBwcm9jZXNzU3RyZWFtcygpOwogICAgICAg
ICAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBD
L1N0cmVhbUNvbm5lY3Rpb25Xb3JrUXVldWUuaCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBD
L1N0cmVhbUNvbm5lY3Rpb25Xb3JrUXVldWUuaAppbmRleCA2NzE0ZGRiZjAwZjgwOWY3ZTc5ZDBh
MDJhMmNlZDIyNDNhYTg5YWNkLi40YjQyN2VmYjk0MDYzM2RmMzY0YTc0OWE0NTFlZDY3MjYwYjk5
NDJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9TdHJlYW1Db25uZWN0
aW9uV29ya1F1ZXVlLmgKKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvU3RyZWFtQ29u
bmVjdGlvbldvcmtRdWV1ZS5oCkBAIC00OSw2ICs0OSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHJl
bW92ZVN0cmVhbUNvbm5lY3Rpb24oU3RyZWFtU2VydmVyQ29ubmVjdGlvbiYpOwogCiAgICAgdm9p
ZCBkaXNwYXRjaChXVEY6OkZ1bmN0aW9uPHZvaWQoKT4mJikgZmluYWw7CisgICAgdm9pZCBkaXNw
YXRjaFN5bmMoV1RGOjpGdW5jdGlvbjx2b2lkKCk+JiYpOwogICAgIHZvaWQgc3RvcEFuZFdhaXRG
b3JDb21wbGV0aW9uKCk7CiAKICAgICB2b2lkIHdha2VVcCgpOwpAQCAtNjQsNyArNjUsOSBAQCBw
cml2YXRlOgogICAgIGNvbnN0IGNoYXIqIGNvbnN0IG1fbmFtZTsKIAogICAgIFNlbWFwaG9yZSBt
X3dha2VVcFNlbWFwaG9yZTsKKyAgICBTZW1hcGhvcmUgbV9zeW5jU2VtYXBob3JlOwogICAgIHN0
ZDo6YXRvbWljPGJvb2w+IG1fc2hvdWxkUXVpdCB7IGZhbHNlIH07CisgICAgc3RkOjphdG9taWM8
Ym9vbD4gbV9zeW5jU2VtYXBob3JlQWN0aXZlIHsgZmFsc2UgfTsKIAogICAgIG11dGFibGUgTG9j
ayBtX2xvY2s7CiAgICAgUmVmUHRyPFRocmVhZD4gbV9wcm9jZXNzaW5nVGhyZWFkIFdURl9HVUFS
REVEX0JZX0xPQ0sobV9sb2NrKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>457303</attachid>
            <date>2022-04-11 17:48:14 -0700</date>
            <delta_ts>2022-04-14 19:47:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-238558-20220411174813.patch</filename>
            <type>text/plain</type>
            <size>7529</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyNTc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDJlNzhlNzFkZmM2YjRiNzgw
MjM4ZjJhOTFlNGQ4MTZhYTk4MTQ4OTQuLjBiZTEzZmRjNTY1ZWZhNTA3ODJkM2ZkZWFjYjk4Yjll
ODgyMTk1NWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDMgQEAKKzIwMjItMDQtMTEgIFNhaWQgQWJv
dS1IYWxsYXdhICA8c2FpZEBhcHBsZS5jb20+CisKKyAgICAgICAgR1BVIFByb2Nlc3MgY3Jhc2gg
dW5kZXIgR1BVUHJvY2Vzczo6Y2FuRXhpdFVuZGVyTWVtb3J5UHJlc3N1cmUoKQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM4NTU4CisgICAgICAgIHJk
YXI6Ly85MTA1MjAzMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIGFsbG93c0V4aXRVbmRlck1lbW9yeVByZXNzdXJlKCkgaXMgdGhlIG9ubHkgbWV0aG9k
IGluIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmQKKyAgICAgICAgd2hpY2ggYWNjZXNzZXMgdGhlIFJl
bW90ZVJlc291cmNlQ2FjaGUgb24gdGhlIG1haW4gcnVuLWxvb3AuCisKKyAgICAgICAgVGhlIHBy
b2JsZW0gaXMgUXVhbGlmaWVkUmVzb3VyY2VIZWFwIGlzIG5vdCB0aHJlYWQgc2FmZS4gaGFzSW1h
Z2VCdWZmZXIoKQorICAgICAgICBhbmQgaGFzTmF0aXZlSW1hZ2UoKSBhY2Nlc3MgdGhlIGNvdW50
ZXJzIHdpdGhvdXQgYSBsb2NrLiBCZXNpZGVzIGNoYW5naW5nCisgICAgICAgIG1fcmVzb3VyY2Vz
IGFuZCB0aGUgY291bnRlcnMgaXMgbm90IGF0b21pYy4gU28gdGhlIG1haW4gcnVuLWxvb3AgbWF5
IHJlYWQKKyAgICAgICAgdGhlIGNvdW50ZXJzIGFmdGVyIGNoYW5naW5nIG1fcmVzb3VyY2VzIGJ1
dCBiZWZvcmUgb3Igd2hpbGUgaW5jcmVtZW50aW5nCisgICAgICAgIG9yIGRlY3JlbWVudGluZyB0
aGUgY291bnRlcnMuIEFuZCB0aGlzIGlzIHdoZW4gY2hlY2tJbnZhcmlhbnRzKCkgZmlyZXMKKyAg
ICAgICAgaXRzIGFzc2VydGlvbnMuCisKKyAgICAgICAgVGhlIGZpeCBpcyB0byBtYWtlIHRoZSBj
b3VudGVycyBzdGQ6OmF0b21pYy4gU28gcmVhZGluZyB0aGVtIGFuZCBjaGFuZ2luZworICAgICAg
ICB0aGVtIHdpbGwgYmUgc3luY2hyb25pemVkIHByb3Blcmx5LiBCdXQgd2UgZG8gbm90IGhhdmUg
dG8gbG9jayB0aGUgd2hvbGUKKyAgICAgICAgUXVhbGlmaWVkUmVzb3VyY2VIZWFwIHdoaWxlIGNo
YW5naW5nIGl0IG9yIGNhbGxpbmcgaXRzIGhhc0FjdGl2ZURyYXdhYmxlcygpLgorCisgICAgICAg
IEkgdGhpbmsgaXQgaXMgb2theSwgZm9yIHRoZSBwdXJwb3NlIG9mIGNhbkV4aXRVbmRlck1lbW9y
eVByZXNzdXJlKCksIHRvIAorICAgICAgICBnZXQgYSBwcmVtYXR1cmUgY291bnRlciB2YWx1ZSBz
aW5jZSB0aGlzIGNhbiBiZSB0aGUgY2FzZSBpZiB0aGUgbWFpbiBydW4KKyAgICAgICAgbG9vcCBj
YWxscyBhbGxvd3NFeGl0VW5kZXJNZW1vcnlQcmVzc3VyZSgpIGp1c3QgYSBsaXR0bGUgYml0IGVh
cmxpZXIgYmVmb3JlCisgICAgICAgIHRoZSBSZW1vdGVSZXNvdXJjZUNhY2hlIHN0YXJ0cyBtb2Rp
ZnlpbmcgaXRzIFF1YWxpZmllZFJlc291cmNlSGVhcCBvbiAKKyAgICAgICAgdGhlICJSZW1vdGVS
ZW5kZXJpbmdCYWNrZW5kIHdvcmsgcXVldWUiLgorIAorICAgICAgICAqIEdQVVByb2Nlc3MvZ3Jh
cGhpY3MvUXVhbGlmaWVkUmVzb3VyY2VIZWFwLmg6CisgICAgICAgIChXZWJLaXQ6OlF1YWxpZmll
ZFJlc291cmNlSGVhcDo6aGFzQWN0aXZlRHJhd2FibGVzIGNvbnN0KToKKyAgICAgICAgKFdlYktp
dDo6UXVhbGlmaWVkUmVzb3VyY2VIZWFwOjpjbGVhcik6CisgICAgICAgIChXZWJLaXQ6OlF1YWxp
ZmllZFJlc291cmNlSGVhcDo6YWRkKToKKyAgICAgICAgKFdlYktpdDo6UXVhbGlmaWVkUmVzb3Vy
Y2VIZWFwOjpyZW1vdmUpOgorICAgICAgICAqIEdQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVu
ZGVyaW5nQmFja2VuZC5jcHA6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVJlbmRlcmluZ0JhY2tl
bmQ6OnN0b3BMaXN0ZW5pbmdGb3JJUEMpOgorICAgICAgICAqIEdQVVByb2Nlc3MvZ3JhcGhpY3Mv
UmVtb3RlUmVzb3VyY2VDYWNoZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVJlc291cmNl
Q2FjaGU6OmNsZWFyKToKKyAgICAgICAgKiBHUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlc291
cmNlQ2FjaGUuaDoKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlUmVzb3VyY2VDYWNoZTo6aGFzQWN0
aXZlRHJhd2FibGVzIGNvbnN0KToKKwogMjAyMi0wNC0wNyAgU2ltb24gRnJhc2VyICA8c2ltb24u
ZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgYSBMYXllckJhY2tpbmcgUmVuZGVyaW5n
UHVycG9zZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1F1
YWxpZmllZFJlc291cmNlSGVhcC5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNz
L1F1YWxpZmllZFJlc291cmNlSGVhcC5oCmluZGV4IDU5ZDIyNTU3YzJmOGRkMzFjMmUzMmNmNjI3
OWZjZTFiYTUxMmZlMDAuLjk1ZTNlNmI1YWNkNmEzZTlkNjI2YTQ3NzY4NDk3NjQ1NjExY2YzNTgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9RdWFsaWZpZWRS
ZXNvdXJjZUhlYXAuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUXVh
bGlmaWVkUmVzb3VyY2VIZWFwLmgKQEAgLTEyNSw2ICsxMjUsMTQgQEAgcHVibGljOgogICAgICAg
ICBjaGVja0ludmFyaWFudHMoKTsKICAgICAgICAgcmV0dXJuIG1fZm9udENvdW50OwogICAgIH0K
KyAgICAKKyAgICBib29sIGhhc0FjdGl2ZURyYXdhYmxlcygpIGNvbnN0CisgICAgeworICAgICAg
ICAvLyBEbyBub3QgY2FsbCBjaGVja0ludmFyaWFudHMoKSBoZXJlIGJlY2F1c2UgdGhpcyBmdW5j
dGlvbiBjYW4gYmUgY2FsbGVkIG9uIHRoZSBtYWluCisgICAgICAgIC8vIHJ1bi1sb29wLiBJdCBt
YXkgcmV0dXJuIGZhbHNlIGJ1dCB0aGlzIGlzIG9rYXkgYmVjYXVzZSBjaGFuZ2luZyBtX3Jlc291
cmNlcyBhbmQgdGhlCisgICAgICAgIC8vIGNvdW50ZXJzIG9uIHRoZSAiUmVtb3RlUmVuZGVyaW5n
QmFja2VuZCB3b3JrIHF1ZXVlIiBpcyBub3QgYXRvbWljLgorICAgICAgICByZXR1cm4gIW1faW1h
Z2VCdWZmZXJDb3VudCAmJiAhbV9uYXRpdmVJbWFnZUNvdW50OworICAgIH0KIAogICAgIGJvb2wg
cmVtb3ZlSW1hZ2VCdWZmZXIoUXVhbGlmaWVkUmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyIHJl
bmRlcmluZ1Jlc291cmNlSWRlbnRpZmllcikKICAgICB7CkBAIC0xNTcsOSArMTY1LDIyIEBAIHB1
YmxpYzoKICAgICAgICAgY2hlY2tJbnZhcmlhbnRzKCk7CiAgICAgfQogCisgICAgdm9pZCBjbGVh
cigpCisgICAgeworICAgICAgICBjaGVja0ludmFyaWFudHMoKTsKKworICAgICAgICBpZiAobV9y
ZXNvdXJjZXMuaXNFbXB0eSgpKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIG1fcmVz
b3VyY2VzLmNsZWFyKCk7CisgICAgICAgIG1faW1hZ2VCdWZmZXJDb3VudCA9IDA7CisgICAgICAg
IG1fbmF0aXZlSW1hZ2VDb3VudCA9IDA7CisgICAgICAgIG1fZm9udENvdW50ID0gMDsKKyAgICB9
CisKIHByaXZhdGU6CiAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+Ci0gICAgdm9pZCBhZGQoUXVh
bGlmaWVkUmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyIHJlbmRlcmluZ1Jlc291cmNlSWRlbnRp
ZmllciwgUmVmPFQ+JiYgb2JqZWN0LCB1bnNpZ25lZCYgY291bnRlcikKKyAgICB2b2lkIGFkZChR
dWFsaWZpZWRSZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXIgcmVuZGVyaW5nUmVzb3VyY2VJZGVu
dGlmaWVyLCBSZWY8VD4mJiBvYmplY3QsIHN0ZDo6YXRvbWljPHVuc2lnbmVkPiYgY291bnRlcikK
ICAgICB7CiAgICAgICAgIGNoZWNrSW52YXJpYW50cygpOwogCkBAIC0xODMsNyArMjA0LDcgQEAg
cHJpdmF0ZToKICAgICB9CiAKICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KLSAgICBib29sIHJl
bW92ZShRdWFsaWZpZWRSZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXIgcmVuZGVyaW5nUmVzb3Vy
Y2VJZGVudGlmaWVyLCB1bnNpZ25lZCYgY291bnRlcikKKyAgICBib29sIHJlbW92ZShRdWFsaWZp
ZWRSZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXIgcmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVy
LCBzdGQ6OmF0b21pYzx1bnNpZ25lZD4mIGNvdW50ZXIpCiAgICAgewogICAgICAgICBjaGVja0lu
dmFyaWFudHMoKTsKIApAQCAtMjMyLDkgKzI1Myw5IEBAIHByaXZhdGU6CiAgICAgdXNpbmcgUmVz
b3VyY2UgPSBzdGQ6OnZhcmlhbnQ8c3RkOjptb25vc3RhdGUsIFJlZjxXZWJDb3JlOjpJbWFnZUJ1
ZmZlcj4sIFJlZjxXZWJDb3JlOjpOYXRpdmVJbWFnZT4sIFJlZjxXZWJDb3JlOjpGb250Pj47CiAg
ICAgSGFzaE1hcDxRdWFsaWZpZWRSZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXIsIFJlc291cmNl
PiBtX3Jlc291cmNlczsKICAgICBXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllciBtX3dlYlByb2Nl
c3NJZGVudGlmaWVyOwotICAgIHVuc2lnbmVkIG1faW1hZ2VCdWZmZXJDb3VudCB7IDAgfTsKLSAg
ICB1bnNpZ25lZCBtX25hdGl2ZUltYWdlQ291bnQgeyAwIH07Ci0gICAgdW5zaWduZWQgbV9mb250
Q291bnQgeyAwIH07CisgICAgc3RkOjphdG9taWM8dW5zaWduZWQ+IG1faW1hZ2VCdWZmZXJDb3Vu
dCB7IDAgfTsKKyAgICBzdGQ6OmF0b21pYzx1bnNpZ25lZD4gbV9uYXRpdmVJbWFnZUNvdW50IHsg
MCB9OworICAgIHN0ZDo6YXRvbWljPHVuc2lnbmVkPiBtX2ZvbnRDb3VudCB7IDAgfTsKIAogfTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJl
bmRlcmluZ0JhY2tlbmQuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1Jl
bW90ZVJlbmRlcmluZ0JhY2tlbmQuY3BwCmluZGV4IDhiMDU4NGJlMDhlNzA4YTNkY2UyMDdkMzYx
YmRkN2QwNTJjZDNlMDQuLjFlNDE1YzEyNTJhZjIzNzA2NWEwOGMxMDhhZTI1NjIwNDdhYTQ3ZmIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5k
ZXJpbmdCYWNrZW5kLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3Mv
UmVtb3RlUmVuZGVyaW5nQmFja2VuZC5jcHAKQEAgLTExOSw3ICsxMTksNyBAQCB2b2lkIFJlbW90
ZVJlbmRlcmluZ0JhY2tlbmQ6OnN0b3BMaXN0ZW5pbmdGb3JJUEMoKQogICAgIG1fd29ya1F1ZXVl
LT5kaXNwYXRjaChbJl0gewogICAgICAgICAvLyBNYWtlIHN1cmUgd2UgZGVzdHJveSB0aGUgUmVz
b3VyY2VDYWNoZSBvbiB0aGUgV29ya1F1ZXVlIHNpbmNlIGl0IGdldHMgcG9wdWxhdGVkIG9uIHRo
ZSBXb3JrUXVldWUuCiAgICAgICAgIC8vIE1ha2Ugc3VyZSByZW5kZXJpbmcgcmVzb3VyY2UgcmVx
dWVzdCBpcyByZWxlYXNlZCBhZnRlciBkZXN0cm95aW5nIHRoZSBjYWNoZS4KLSAgICAgICAgbV9y
ZW1vdGVSZXNvdXJjZUNhY2hlID0geyBtX2dwdUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MtPndlYlBy
b2Nlc3NJZGVudGlmaWVyKCkgfTsKKyAgICAgICAgbV9yZW1vdGVSZXNvdXJjZUNhY2hlLmNsZWFy
KCk7CiAgICAgICAgIG1fcmVuZGVyaW5nUmVzb3VyY2VzUmVxdWVzdCA9IHsgfTsKICAgICB9KTsK
ICAgICBtX3dvcmtRdWV1ZS0+c3RvcEFuZFdhaXRGb3JDb21wbGV0aW9uKCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVzb3VyY2VDYWNoZS5j
cHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVzb3VyY2VDYWNo
ZS5jcHAKaW5kZXggMDFmM2QxMzhlMzE4ODI1YWE2NTM5ZDRjYWI3YTViODllOWY4ZmRiMC4uMGQ0
YTMyY2VkZDI2ODYzMmJlYTA4OWE5YzgxY2IwZmE1OGY2YTI1OSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlc291cmNlQ2FjaGUuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVSZXNvdXJjZUNhY2hlLmNw
cApAQCAtNzksNiArNzksMTEgQEAgdm9pZCBSZW1vdGVSZXNvdXJjZUNhY2hlOjpkZWxldGVBbGxG
b250cygpCiAgICAgbV9yZXNvdXJjZUhlYXAuZGVsZXRlQWxsRm9udHMoKTsKIH0KIAordm9pZCBS
ZW1vdGVSZXNvdXJjZUNhY2hlOjpjbGVhcigpCit7CisgICAgbV9yZXNvdXJjZUhlYXAuY2xlYXIo
KTsKK30KKwogYm9vbCBSZW1vdGVSZXNvdXJjZUNhY2hlOjpyZWxlYXNlUmVtb3RlUmVzb3VyY2Uo
UXVhbGlmaWVkUmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyIHJlbmRlcmluZ1Jlc291cmNlSWRl
bnRpZmllcikKIHsKICAgICBpZiAobV9yZXNvdXJjZUhlYXAucmVtb3ZlSW1hZ2VCdWZmZXIocmVu
ZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlc291cmNlQ2FjaGUuaCBiL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVSZXNvdXJjZUNhY2hlLmgKaW5kZXggNWJmZDRmMjg4MDY1
YzY1MDY0Njg5OTA2YmUyODIwODAyZjQwMDg1Zi4uZGJhZjNhOTQ0NTZlMDUwMzk5NGZiMzdkZmQ2
NzFlYWQ5NTI4ZTZmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBo
aWNzL1JlbW90ZVJlc291cmNlQ2FjaGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mv
Z3JhcGhpY3MvUmVtb3RlUmVzb3VyY2VDYWNoZS5oCkBAIC01MiwxMSArNTIsMTIgQEAgcHVibGlj
OgogICAgIHZvaWQgY2FjaGVGb250KFJlZjxXZWJDb3JlOjpGb250PiYmLCBRdWFsaWZpZWRSZW5k
ZXJpbmdSZXNvdXJjZUlkZW50aWZpZXIpOwogICAgIFdlYkNvcmU6OkZvbnQqIGNhY2hlZEZvbnQo
UXVhbGlmaWVkUmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyKSBjb25zdDsKICAgICB2b2lkIGRl
bGV0ZUFsbEZvbnRzKCk7CisgICAgdm9pZCBjbGVhcigpOwogICAgIGJvb2wgcmVsZWFzZVJlbW90
ZVJlc291cmNlKFF1YWxpZmllZFJlbmRlcmluZ1Jlc291cmNlSWRlbnRpZmllcik7CiAKICAgICBj
b25zdCBXZWJDb3JlOjpEaXNwbGF5TGlzdDo6UmVzb3VyY2VIZWFwJiByZXNvdXJjZUhlYXAoKSBj
b25zdCB7IHJldHVybiBtX3Jlc291cmNlSGVhcDsgfQogCi0gICAgYm9vbCBoYXNBY3RpdmVEcmF3
YWJsZXMoKSBjb25zdCB7IHJldHVybiBtX3Jlc291cmNlSGVhcC5oYXNJbWFnZUJ1ZmZlcigpIHx8
IG1fcmVzb3VyY2VIZWFwLmhhc05hdGl2ZUltYWdlKCk7IH0KKyAgICBib29sIGhhc0FjdGl2ZURy
YXdhYmxlcygpIGNvbnN0IHsgcmV0dXJuIG1fcmVzb3VyY2VIZWFwLmhhc0FjdGl2ZURyYXdhYmxl
cygpOyB9CiAKIHByaXZhdGU6CiAgICAgUXVhbGlmaWVkUmVzb3VyY2VIZWFwIG1fcmVzb3VyY2VI
ZWFwOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>457526</attachid>
            <date>2022-04-13 05:17:29 -0700</date>
            <delta_ts>2022-04-14 19:47:41 -0700</delta_ts>
            <desc>Alternative</desc>
            <filename>bug-238558-20220413151727.patch</filename>
            <type>text/plain</type>
            <size>7082</size>
            <attacher name="Kimmo Kinnunen">kkinnunen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyODA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDNkYWRmYmJlYmI0NzYxZWY3
NDhiNTM5ODAxNmZiODMzMDY1NjJhYTIuLjU3N2FiMDVhMDNkZmY3ZDIyMzBiZTc2NmM4ZDgyMGRi
ZDUwZjAyMWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzMgQEAKKzIwMjItMDQtMTMgIEtpbW1vIEtp
bm51bmVuICA8a2tpbm51bmVuQGFwcGxlLmNvbT4KKworICAgICAgICBHUFUgUHJvY2VzcyBjcmFz
aCB1bmRlciBHUFVQcm9jZXNzOjpjYW5FeGl0VW5kZXJNZW1vcnlQcmVzc3VyZSgpCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzg1NTgKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVc2UgdGhlIHJlbmRlcmlu
ZyByZXNvdXJjZXMgcmVxdWVzdCBjb3VudCB0byBrZWVwIHRoZSBHUFUgcHJvY2VzcyBhbGl2ZS4K
KworICAgICAgICBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kIHVwZGF0ZXMgaXQgd2hlbiBhY3RpdmUg
aW1hZ2UgYnVmZmVycyBjaGFuZ2UuCisgICAgICAgIFJlbW90ZUdyYXBoaWNzQ29udGV4dEdMIHVw
ZGF0ZXMgaXQgb24gY3JlYXRpb24gYW5kIGRlc3RydWN0aW9uLgorICAgICAgICBSZW1vdGVNZWRp
YVBsYXllclByb3h5IHVwZGF0ZXMgaXQgb24gY3JlYXRpb24gYW5kIGRlc3RydWN0aW9uLgorCisg
ICAgICAgIFJlbW92ZSBSZW1vdGVyUmVuZGVyaW5nQmFja2VuZDo6YWxsb3dzRXhpdFVuZGVyTWVt
b3J5UHJlc3N1cmUoKSwgaXQgd2FzCisgICAgICAgIGNyYXNoaW5nIGR1ZSB0byByYWNlIGJldHdl
ZW4gdGhlIGZ1bmN0aW9uIGFuZCB0aGUgdGFzayBxdWV1ZSBjbGVhbnVwIHRhc2suCisKKyAgICAg
ICAgUmVtb3ZlIFJlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5OjphbGxvd3NFeGl0VW5kZXJN
ZW1vcnlQcmVzc3VyZSgpLAorICAgICAgICB0aGUgY291bnQgaXMgbm93IGNvdW50ZWQgYnkgUmVt
b3RlTWVkaWFQbGF5ZXJQcm94eSBjcmVhdGlvbiwgZGVzdHJ1Y3Rpb24uCisKKyAgICAgICAgTm8g
bmV3IHRlc3RzLCBoYXJkIHRvIHRlc3QgdGltaW5nIHJlbGF0ZWQgY3Jhc2guCisKKyAgICAgICAg
KiBHUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjphbGxvd3NFeGl0VW5kZXJNZW1vcnlQcmVz
c3VyZSBjb25zdCk6CisgICAgICAgICogR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5kZXJp
bmdCYWNrZW5kLmNwcDoKKyAgICAgICAgKiBHUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRl
cmluZ0JhY2tlbmQuaDoKKyAgICAgICAgKiBHUFVQcm9jZXNzL2dyYXBoaWNzL1Njb3BlZFJlbmRl
cmluZ1Jlc291cmNlc1JlcXVlc3QuaDoKKyAgICAgICAgKFdlYktpdDo6aGFzT3V0c3RhbmRpbmdS
ZW5kZXJpbmdSZXNvdXJjZVVzYWdlKToKKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlhL1JlbW90
ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5LmNwcDoKKyAgICAgICAgKiBHUFVQcm9jZXNzL21lZGlh
L1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5Lmg6CisKIDIwMjItMDQtMTMgIEtpbW1vIEtp
bm51bmVuICA8a2tpbm51bmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBUaHJlYWRNZXNzYWdlUmVj
ZWl2ZXIgY2xhc3NlcyBhcmUgcmVkdW5kYW50IHdheSBvZiByZWNlaXZpbmcgbWVzc2FnZXMgZnJv
bSBJUEM6OkNvbm5lY3Rpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9H
UFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9H
UFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcAppbmRleCA4MDRhNWM2OWYwYjRhMWE2N2U2ZDZi
OTAzNjkyMmM1YWE0MjcxNzg5Li43OTA0OWZhODcwMjM4YmViZjIyOWQ1OTJkNmU4NGMxNzZlMzRh
MTEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRv
V2ViUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rp
b25Ub1dlYlByb2Nlc3MuY3BwCkBAIC02MSw2ICs2MSw3IEBACiAjaW5jbHVkZSAiUmVtb3RlU2Ft
cGxlQnVmZmVyRGlzcGxheUxheWVyTWFuYWdlck1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiUmVtb3Rl
U2FtcGxlQnVmZmVyRGlzcGxheUxheWVyTWVzc2FnZXMuaCIKICNpbmNsdWRlICJSZW1vdGVTY3Jv
bGxpbmdDb29yZGluYXRvclRyYW5zYWN0aW9uLmgiCisjaW5jbHVkZSAiU2NvcGVkUmVuZGVyaW5n
UmVzb3VyY2VzUmVxdWVzdC5oIgogI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgog
I2luY2x1ZGUgIldlYkVycm9ycy5oIgogI2luY2x1ZGUgIldlYkdQVU9iamVjdEhlYXAuaCIKQEAg
LTM4MywxNiArMzg0LDkgQEAgdm9pZCBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpyZWxlYXNl
V0NMYXllclRyZWVIb3N0KFdlYktpdDo6V0NMYXllclRyZWVIb3N0SWQKIAogYm9vbCBHUFVDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzOjphbGxvd3NFeGl0VW5kZXJNZW1vcnlQcmVzc3VyZSgpIGNvbnN0
CiB7Ci0gICAgZm9yIChhdXRvJiByZW1vdGVSZW5kZXJpbmdCYWNrZW5kIDogbV9yZW1vdGVSZW5k
ZXJpbmdCYWNrZW5kTWFwLnZhbHVlcygpKSB7Ci0gICAgICAgIGlmICghcmVtb3RlUmVuZGVyaW5n
QmFja2VuZC0+YWxsb3dzRXhpdFVuZGVyTWVtb3J5UHJlc3N1cmUoKSkKLSAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKLSAgICB9Ci0jaWYgRU5BQkxFKFdFQkdMKQotICAgIGlmICghbV9yZW1vdGVH
cmFwaGljc0NvbnRleHRHTE1hcC5pc0VtcHR5KCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSNl
bmRpZgotICAgIGlmICghbV9yZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eS0+YWxsb3dzRXhp
dFVuZGVyTWVtb3J5UHJlc3N1cmUoKSkKKyAgICBpZiAoaGFzT3V0c3RhbmRpbmdSZW5kZXJpbmdS
ZXNvdXJjZVVzYWdlKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKKwogI2lmIEVOQUJMRShXRUJf
QVVESU8pCiAgICAgaWYgKG1fcmVtb3RlQXVkaW9EZXN0aW5hdGlvbk1hbmFnZXIgJiYgIW1fcmVt
b3RlQXVkaW9EZXN0aW5hdGlvbk1hbmFnZXItPmFsbG93c0V4aXRVbmRlck1lbW9yeVByZXNzdXJl
KCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kLmNwcCBiL1NvdXJjZS9XZWJL
aXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kLmNwcAppbmRleCA3
ZDZmZDI3OGEzM2Q3MzE2NWVkYzE0ZDFlM2I4YjBlZTIwZWMyNzY2Li5hMTVmMjgwMGZiMDA2MzJj
YmE4ZGQzYjk1MTQyZDJiY2M0YzkxYmQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVBy
b2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZC5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmQuY3BwCkBAIC01
MzcsMTIgKzUzNyw2IEBAIHZvaWQgUmVtb3RlUmVuZGVyaW5nQmFja2VuZDo6dXBkYXRlUmVuZGVy
aW5nUmVzb3VyY2VSZXF1ZXN0KCkKICAgICAgICAgbV9yZW5kZXJpbmdSZXNvdXJjZXNSZXF1ZXN0
ID0geyB9OwogfQogCi1ib29sIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmQ6OmFsbG93c0V4aXRVbmRl
ck1lbW9yeVByZXNzdXJlKCkgY29uc3QKLXsKLSAgICBBU1NFUlQoaXNNYWluUnVuTG9vcCgpKTsK
LSAgICByZXR1cm4gIW1fcmVtb3RlUmVzb3VyY2VDYWNoZS5oYXNBY3RpdmVEcmF3YWJsZXMoKTsK
LX0KLQogdm9pZCBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kOjpwZXJmb3JtV2l0aE1lZGlhUGxheWVy
T25NYWluVGhyZWFkKE1lZGlhUGxheWVySWRlbnRpZmllciBpZGVudGlmaWVyLCBGdW5jdGlvbjx2
b2lkKE1lZGlhUGxheWVyJik+JiYgY2FsbGJhY2spCiB7CiAgICAgY2FsbE9uTWFpblJ1bkxvb3BB
bmRXYWl0KFsmLCBncHVDb25uZWN0aW9uVG9XZWJQcm9jZXNzID0gbV9ncHVDb25uZWN0aW9uVG9X
ZWJQcm9jZXNzLCBpZGVudGlmaWVyXSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVBy
b2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZC5oIGIvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmQuaAppbmRleCA2MjIwY2U1
ZjE1ZTU3YjgxZmY2ZjZhZGEzNmNiNGQ4MTFjZjFhMjVlLi44OTNlNTFmZGQ3NjdjOGU4YmQ0NThi
MTdkOTIwNDIzMjkzYmVhMWM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mv
Z3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kLmgKQEAgLTkwLDggKzkwLDYg
QEAgcHVibGljOgogICAgIHZvaWQgZGlkQ3JlYXRlSW1hZ2VCdWZmZXJCYWNrZW5kKEltYWdlQnVm
ZmVyQmFja2VuZEhhbmRsZSwgUXVhbGlmaWVkUmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyLCBS
ZW1vdGVEaXNwbGF5TGlzdFJlY29yZGVyJik7CiAgICAgdm9pZCBkaWRGbHVzaChXZWJDb3JlOjpH
cmFwaGljc0NvbnRleHRGbHVzaElkZW50aWZpZXIsIFF1YWxpZmllZFJlbmRlcmluZ1Jlc291cmNl
SWRlbnRpZmllcik7CiAKLSAgICBib29sIGFsbG93c0V4aXRVbmRlck1lbW9yeVByZXNzdXJlKCkg
Y29uc3Q7Ci0KICAgICAvLyBSdW5zIEZ1bmN0aW9uIGluIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmQg
dGFzayBxdWV1ZS4KICAgICB2b2lkIGRpc3BhdGNoKEZ1bmN0aW9uPHZvaWQoKT4mJik7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9TY29wZWRSZW5kZXJp
bmdSZXNvdXJjZXNSZXF1ZXN0LmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3Mv
U2NvcGVkUmVuZGVyaW5nUmVzb3VyY2VzUmVxdWVzdC5oCmluZGV4IGYxNTI3OGYxNjFjYzcwNDJm
OTk2MGVlOTQxYTUyYWRjNjUyNmJkM2IuLjA5NGVjZDlkMDgyMDE2ODc1OGE2NDYyMGI4ZDAwYWE3
YmYzOGI5ZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9T
Y29wZWRSZW5kZXJpbmdSZXNvdXJjZXNSZXF1ZXN0LmgKKysrIGIvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL2dyYXBoaWNzL1Njb3BlZFJlbmRlcmluZ1Jlc291cmNlc1JlcXVlc3QuaApAQCAtNzQs
NiArNzQsMTIgQEAgcHJpdmF0ZToKICAgICB9CiAgICAgc3RhdGljIHN0ZDo6YXRvbWljPHVuc2ln
bmVkPiBzX3JlcXVlc3RzOwogICAgIGJvb2wgbV9yZXF1ZXN0ZWQgeyBmYWxzZSB9OworICAgIGZy
aWVuZCBib29sIGhhc091dHN0YW5kaW5nUmVuZGVyaW5nUmVzb3VyY2VVc2FnZSgpOwogfTsKIAor
aW5saW5lIGJvb2wgaGFzT3V0c3RhbmRpbmdSZW5kZXJpbmdSZXNvdXJjZVVzYWdlKCkKK3sKKyAg
ICByZXR1cm4gU2NvcGVkUmVuZGVyaW5nUmVzb3VyY2VzUmVxdWVzdDo6c19yZXF1ZXN0czsKK30K
KwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1l
ZGlhUGxheWVyTWFuYWdlclByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRp
YS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eS5jcHAKaW5kZXggOTJiZTgxNWM3ODYxMjBl
M2IyNDY5MDQ3MDM2ZDFjYzZlMzhhOWYyZi4uNGM1ZDVjN2Q0MjI5MjExMjRkMTExZGJlMTE3YzQ0
ZTJiMjFhNDRmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1Jl
bW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVBy
b2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHkuY3BwCkBAIC0xODMsMTEg
KzE4Myw2IEBAIFJlZlB0cjxNZWRpYVBsYXllcj4gUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJv
eHk6Om1lZGlhUGxheWVyKGNvbnN0IE1lZGlhUGxheWVyCiAgICAgcmV0dXJuIG51bGxwdHI7CiB9
CiAKLWJvb2wgUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHk6OmFsbG93c0V4aXRVbmRlck1l
bW9yeVByZXNzdXJlKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9wcm94aWVzLmlzRW1wdHkoKTsK
LX0KLQogI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAogTG9nZ2VyJiBSZW1vdGVNZWRpYVBsYXll
ck1hbmFnZXJQcm94eTo6bG9nZ2VyKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eS5oIGIvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5LmgKaW5k
ZXggZjAzNTZmZWUwNGFkZWRhOTVhNzU0ZGU3ZmI0YzU1MDA1ODhmYjdlNy4uY2JhNGNhZDlhNjhm
NGY4ZDMwMThhYTViODhmMzUwNjA0NjNhYzA3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9H
UFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5LmgKKysrIGIvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5
LmgKQEAgLTY2LDcgKzY2LDYgQEAgcHVibGljOgogICAgIGJvb2wgZGlkUmVjZWl2ZVN5bmNQbGF5
ZXJNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYsIFVuaXF1ZVJlZjxJUEM6
OkVuY29kZXI+Jik7CiAKICAgICBSZWZQdHI8V2ViQ29yZTo6TWVkaWFQbGF5ZXI+IG1lZGlhUGxh
eWVyKGNvbnN0IFdlYkNvcmU6Ok1lZGlhUGxheWVySWRlbnRpZmllciYpOwotICAgIGJvb2wgYWxs
b3dzRXhpdFVuZGVyTWVtb3J5UHJlc3N1cmUoKSBjb25zdDsKIAogICAgIFNoYXJlYWJsZUJpdG1h
cDo6SGFuZGxlIGJpdG1hcEltYWdlRm9yQ3VycmVudFRpbWUoV2ViQ29yZTo6TWVkaWFQbGF5ZXJJ
ZGVudGlmaWVyKTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>457594</attachid>
            <date>2022-04-13 21:47:33 -0700</date>
            <delta_ts>2022-04-14 19:47:43 -0700</delta_ts>
            <desc>Another alternative</desc>
            <filename>bug-238558-20220413214733.patch</filename>
            <type>text/plain</type>
            <size>6995</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyODQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGQ1ZWMxNDUxZGJkZTRjZmY0
ZjNhYjFiMDgwMjExM2Y1NTdhMmI3MGQuLjk3MWE3NzZmYTkyYTUwZDAyYzE0MTI4ZDQ4MDQ4MWY2
Mjg3ZjZkNjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAgQEAKKzIwMjItMDQtMTMgIFNhaWQgQWJv
dS1IYWxsYXdhICA8c2FpZEBhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTihyMjg4ODQ3
KTogR1BVIFByb2Nlc3MgY3Jhc2ggdW5kZXIgR1BVUHJvY2Vzczo6Y2FuRXhpdFVuZGVyTWVtb3J5
UHJlc3N1cmUoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjM4NTU4CisgICAgICAgIHJkYXI6Ly85MTA1MjAzMworCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFB1dCByMjgyNzU0IGJhY2suIFRoaXMgY29kZSB3
YXMgcmVtb3ZlZCBpbiByMjg4ODQ3LgorCisgICAgICAgIFNpbmNlIFJlbW90ZVJlc291cmNlQ2Fj
aGUgaGFzIGFuIHN0ZDo6YXRvbWljLCBpdCBjYW4ndCBiZSBjb3BpZWQgYW55bW9yZS4KKyAgICAg
ICAgU28gYWRkIHRoZSBtZXRob2QgUmVtb3RlUmVzb3VyY2VDYWNoZTo6cmVsZWFzZUFsbFJlc291
cmNlcygpIGFuZCBjYWxsIGl0CisgICAgICAgIGluc3RlYWQgb2YgYXNzaWduaW5nIGEgbmV3IHZh
bHVlIHRvIG1fcmVtb3RlUmVzb3VyY2VDYWNoZSBpbiAKKworICAgICAgICAqIEdQVVByb2Nlc3Mv
Z3JhcGhpY3MvUXVhbGlmaWVkUmVzb3VyY2VIZWFwLmg6CisgICAgICAgIChXZWJLaXQ6OlF1YWxp
ZmllZFJlc291cmNlSGVhcDo6d2ViUHJvY2Vzc0lkZW50aWZpZXIgY29uc3QpOgorICAgICAgICAq
IEdQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZC5jcHA6CisgICAgICAg
IChXZWJLaXQ6OlJlbW90ZVJlbmRlcmluZ0JhY2tlbmQ6OnN0b3BMaXN0ZW5pbmdGb3JJUEMpOgor
ICAgICAgICAqIEdQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVzb3VyY2VDYWNoZS5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OlJlbW90ZVJlc291cmNlQ2FjaGU6OmNhY2hlSW1hZ2VCdWZmZXIpOgor
ICAgICAgICAoV2ViS2l0OjpSZW1vdGVSZXNvdXJjZUNhY2hlOjpjYWNoZU5hdGl2ZUltYWdlKToK
KyAgICAgICAgKFdlYktpdDo6UmVtb3RlUmVzb3VyY2VDYWNoZTo6cmVsZWFzZUFsbFJlc291cmNl
cyk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVJlc291cmNlQ2FjaGU6OnJlbGVhc2VSZW1vdGVS
ZXNvdXJjZSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVJlc291cmNlQ2FjaGU6OnVwZGF0ZUhh
c0FjdGl2ZURyYXdhYmxlcyk6CisgICAgICAgICogR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVS
ZXNvdXJjZUNhY2hlLmg6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVJlc291cmNlQ2FjaGU6Omhh
c0FjdGl2ZURyYXdhYmxlcyBjb25zdCk6CisKIDIwMjItMDQtMTMgIEVsbGlvdHQgV2lsbGlhbXMg
IDxlbXdAYXBwbGUuY29tPgogCiAgICAgICAgIFtYY29kZV0gRml4IHB1YmxpYyB3YXRjaE9TIHdv
cmtzcGFjZSBidWlsZCBieSB1cGRhdGluZyBzY2hlbWUgYW5kIGJ1aWxkIHNldHRpbmdzCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUXVhbGlmaWVkUmVzb3Vy
Y2VIZWFwLmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUXVhbGlmaWVkUmVz
b3VyY2VIZWFwLmgKaW5kZXggNTlkMjI1NTdjMmY4ZGQzMWMyZTMyY2Y2Mjc5ZmNlMWJhNTEyZmUw
MC4uY2JlNTgwZmU3NTUyODEwMWNmMmJhOTRhYjQ2OWJmMTY2ZjVhMGI3NiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1F1YWxpZmllZFJlc291cmNlSGVhcC5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9RdWFsaWZpZWRSZXNvdXJj
ZUhlYXAuaApAQCAtNDQsNiArNDQsOCBAQCBwdWJsaWM6CiAgICAgewogICAgIH0KIAorICAgIFdl
YkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyIHdlYlByb2Nlc3NJZGVudGlmaWVyKCkgY29uc3QgeyBy
ZXR1cm4gbV93ZWJQcm9jZXNzSWRlbnRpZmllcjsgfQorCiAgICAgdm9pZCBhZGQoUXVhbGlmaWVk
UmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyIHJlbmRlcmluZ1Jlc291cmNlSWRlbnRpZmllciwg
UmVmPFdlYkNvcmU6OkltYWdlQnVmZmVyPiYmIGltYWdlQnVmZmVyKQogICAgIHsKICAgICAgICAg
YWRkKHJlbmRlcmluZ1Jlc291cmNlSWRlbnRpZmllciwgV1RGTW92ZShpbWFnZUJ1ZmZlciksIG1f
aW1hZ2VCdWZmZXJDb3VudCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mv
Z3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZC5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVBy
b2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZC5jcHAKaW5kZXggN2Q2ZmQyNzhh
MzNkNzMxNjVlZGMxNGQxZTNiOGIwZWUyMGVjMjc2Ni4uZmY1NDBmOTUxMjZkNDJkNDEzOWE0MDI2
ZGYxMzRhMTQxODgyZmU4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dy
YXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kLmNwcApAQCAtMTIzLDcgKzEy
Myw3IEBAIHZvaWQgUmVtb3RlUmVuZGVyaW5nQmFja2VuZDo6c3RvcExpc3RlbmluZ0ZvcklQQygp
CiAgICAgbV93b3JrUXVldWUtPmRpc3BhdGNoKFsmXSB7CiAgICAgICAgIC8vIE1ha2Ugc3VyZSB3
ZSBkZXN0cm95IHRoZSBSZXNvdXJjZUNhY2hlIG9uIHRoZSBXb3JrUXVldWUgc2luY2UgaXQgZ2V0
cyBwb3B1bGF0ZWQgb24gdGhlIFdvcmtRdWV1ZS4KICAgICAgICAgLy8gTWFrZSBzdXJlIHJlbmRl
cmluZyByZXNvdXJjZSByZXF1ZXN0IGlzIHJlbGVhc2VkIGFmdGVyIGRlc3Ryb3lpbmcgdGhlIGNh
Y2hlLgotICAgICAgICBtX3JlbW90ZVJlc291cmNlQ2FjaGUgPSB7IG1fZ3B1Q29ubmVjdGlvblRv
V2ViUHJvY2Vzcy0+d2ViUHJvY2Vzc0lkZW50aWZpZXIoKSB9OworICAgICAgICBtX3JlbW90ZVJl
c291cmNlQ2FjaGUucmVsZWFzZUFsbFJlc291cmNlcygpOwogICAgICAgICBtX3JlbmRlcmluZ1Jl
c291cmNlc1JlcXVlc3QgPSB7IH07CiAgICAgfSk7CiAgICAgbV93b3JrUXVldWUtPnN0b3BBbmRX
YWl0Rm9yQ29tcGxldGlvbigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNz
L2dyYXBoaWNzL1JlbW90ZVJlc291cmNlQ2FjaGUuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9j
ZXNzL2dyYXBoaWNzL1JlbW90ZVJlc291cmNlQ2FjaGUuY3BwCmluZGV4IDAxZjNkMTM4ZTMxODgy
NWFhNjUzOWQ0Y2FiN2E1Yjg5ZTlmOGZkYjAuLjQyNTVlMDIwODI5MzllZWRjNDQ0ZmNhZTkyNDJk
Y2QwNTkxZTA3ZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGlj
cy9SZW1vdGVSZXNvdXJjZUNhY2hlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mv
Z3JhcGhpY3MvUmVtb3RlUmVzb3VyY2VDYWNoZS5jcHAKQEAgLTQwLDYgKzQwLDcgQEAgdm9pZCBS
ZW1vdGVSZXNvdXJjZUNhY2hlOjpjYWNoZUltYWdlQnVmZmVyKFJlZjxJbWFnZUJ1ZmZlcj4mJiBp
bWFnZUJ1ZmZlciwgUXVhbGkKIHsKICAgICBBU1NFUlQocmVuZGVyaW5nUmVzb3VyY2VJZGVudGlm
aWVyLm9iamVjdCgpID09IGltYWdlQnVmZmVyLT5yZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXIo
KSk7CiAgICAgbV9yZXNvdXJjZUhlYXAuYWRkKHJlbmRlcmluZ1Jlc291cmNlSWRlbnRpZmllciwg
V1RGTW92ZShpbWFnZUJ1ZmZlcikpOworICAgIHVwZGF0ZUhhc0FjdGl2ZURyYXdhYmxlcygpOwog
fQogCiBJbWFnZUJ1ZmZlciogUmVtb3RlUmVzb3VyY2VDYWNoZTo6Y2FjaGVkSW1hZ2VCdWZmZXIo
UXVhbGlmaWVkUmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyIHJlbmRlcmluZ1Jlc291cmNlSWRl
bnRpZmllcikgY29uc3QKQEAgLTUxLDYgKzUyLDcgQEAgdm9pZCBSZW1vdGVSZXNvdXJjZUNhY2hl
OjpjYWNoZU5hdGl2ZUltYWdlKFJlZjxOYXRpdmVJbWFnZT4mJiBpbWFnZSwgUXVhbGlmaWVkUmUK
IHsKICAgICBBU1NFUlQocmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyLm9iamVjdCgpID09IGlt
YWdlLT5yZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXIoKSk7CiAgICAgbV9yZXNvdXJjZUhlYXAu
YWRkKHJlbmRlcmluZ1Jlc291cmNlSWRlbnRpZmllciwgV1RGTW92ZShpbWFnZSkpOworICAgIHVw
ZGF0ZUhhc0FjdGl2ZURyYXdhYmxlcygpOwogfQogCiBOYXRpdmVJbWFnZSogUmVtb3RlUmVzb3Vy
Y2VDYWNoZTo6Y2FjaGVkTmF0aXZlSW1hZ2UoUXVhbGlmaWVkUmVuZGVyaW5nUmVzb3VyY2VJZGVu
dGlmaWVyIHJlbmRlcmluZ1Jlc291cmNlSWRlbnRpZmllcikgY29uc3QKQEAgLTc5LDE3ICs4MSwz
MyBAQCB2b2lkIFJlbW90ZVJlc291cmNlQ2FjaGU6OmRlbGV0ZUFsbEZvbnRzKCkKICAgICBtX3Jl
c291cmNlSGVhcC5kZWxldGVBbGxGb250cygpOwogfQogCit2b2lkIFJlbW90ZVJlc291cmNlQ2Fj
aGU6OnJlbGVhc2VBbGxSZXNvdXJjZXMoKQoreworICAgIG1fcmVzb3VyY2VIZWFwID0geyBtX3Jl
c291cmNlSGVhcC53ZWJQcm9jZXNzSWRlbnRpZmllcigpIH07CisgICAgbV9oYXNBY3RpdmVEcmF3
YWJsZXMgPSBmYWxzZTsKK30KKwogYm9vbCBSZW1vdGVSZXNvdXJjZUNhY2hlOjpyZWxlYXNlUmVt
b3RlUmVzb3VyY2UoUXVhbGlmaWVkUmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyIHJlbmRlcmlu
Z1Jlc291cmNlSWRlbnRpZmllcikKIHsKLSAgICBpZiAobV9yZXNvdXJjZUhlYXAucmVtb3ZlSW1h
Z2VCdWZmZXIocmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyKQotICAgICAgICB8fCBtX3Jlc291
cmNlSGVhcC5yZW1vdmVOYXRpdmVJbWFnZShyZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXIpCi0g
ICAgICAgIHx8IG1fcmVzb3VyY2VIZWFwLnJlbW92ZUZvbnQocmVuZGVyaW5nUmVzb3VyY2VJZGVu
dGlmaWVyKSkKKyAgICBpZiAobV9yZXNvdXJjZUhlYXAucmVtb3ZlSW1hZ2VCdWZmZXIocmVuZGVy
aW5nUmVzb3VyY2VJZGVudGlmaWVyKSB8fCBtX3Jlc291cmNlSGVhcC5yZW1vdmVOYXRpdmVJbWFn
ZShyZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXIpKSB7CisgICAgICAgIHVwZGF0ZUhhc0FjdGl2
ZURyYXdhYmxlcygpOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICBpZiAobV9y
ZXNvdXJjZUhlYXAucmVtb3ZlRm9udChyZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXIpKQogICAg
ICAgICByZXR1cm4gdHJ1ZTsKIAogICAgIC8vIENhY2hpbmcgdGhlIHJlbW90ZSByZXNvdXJjZSBz
aG91bGQgaGF2ZSBoYXBwZW5lZCBiZWZvcmUgcmVsZWFzaW5nIGl0LgogICAgIHJldHVybiBmYWxz
ZTsKIH0KIAordm9pZCBSZW1vdGVSZXNvdXJjZUNhY2hlOjp1cGRhdGVIYXNBY3RpdmVEcmF3YWJs
ZXMoKQoreworICAgIC8vIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIG9uIHRoZSB3b3JrIHF1ZXVl
IHRocmVhZCB3aGlsZSBoYXNBY3RpdmVEcmF3YWJsZXMoKSBpcyBjYWxsZWQgb24KKyAgICAvLyB0
aGUgbWFpbiB0aHJlYWQuIFN0b3JpbmcgdGhlIHZhbHVlIGluIHN0ZDo6YXRvbWljIGVuc3VyZXMg
aGFzQWN0aXZlRHJhd2FibGVzKCkgaXMgbm90IHJhY3kuCisgICAgbV9oYXNBY3RpdmVEcmF3YWJs
ZXMgPSBtX3Jlc291cmNlSGVhcC5oYXNJbWFnZUJ1ZmZlcigpIHx8IG1fcmVzb3VyY2VIZWFwLmhh
c05hdGl2ZUltYWdlKCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCiAjZW5kaWYgLy8g
RU5BQkxFKEdQVV9QUk9DRVNTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNz
L2dyYXBoaWNzL1JlbW90ZVJlc291cmNlQ2FjaGUuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy9ncmFwaGljcy9SZW1vdGVSZXNvdXJjZUNhY2hlLmgKaW5kZXggNWJmZDRmMjg4MDY1YzY1MDY0
Njg5OTA2YmUyODIwODAyZjQwMDg1Zi4uNDVjYWVkOGZjYTZlNzAzYTA4ZjgwMTYzNDY4ZTdmNmI2
NGM1ZjBhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1Jl
bW90ZVJlc291cmNlQ2FjaGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhp
Y3MvUmVtb3RlUmVzb3VyY2VDYWNoZS5oCkBAIC01MywxMyArNTMsMTcgQEAgcHVibGljOgogICAg
IFdlYkNvcmU6OkZvbnQqIGNhY2hlZEZvbnQoUXVhbGlmaWVkUmVuZGVyaW5nUmVzb3VyY2VJZGVu
dGlmaWVyKSBjb25zdDsKICAgICB2b2lkIGRlbGV0ZUFsbEZvbnRzKCk7CiAgICAgYm9vbCByZWxl
YXNlUmVtb3RlUmVzb3VyY2UoUXVhbGlmaWVkUmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyKTsK
KyAgICB2b2lkIHJlbGVhc2VBbGxSZXNvdXJjZXMoKTsKIAogICAgIGNvbnN0IFdlYkNvcmU6OkRp
c3BsYXlMaXN0OjpSZXNvdXJjZUhlYXAmIHJlc291cmNlSGVhcCgpIGNvbnN0IHsgcmV0dXJuIG1f
cmVzb3VyY2VIZWFwOyB9CiAKLSAgICBib29sIGhhc0FjdGl2ZURyYXdhYmxlcygpIGNvbnN0IHsg
cmV0dXJuIG1fcmVzb3VyY2VIZWFwLmhhc0ltYWdlQnVmZmVyKCkgfHwgbV9yZXNvdXJjZUhlYXAu
aGFzTmF0aXZlSW1hZ2UoKTsgfQorICAgIGJvb2wgaGFzQWN0aXZlRHJhd2FibGVzKCkgY29uc3Qg
eyByZXR1cm4gbV9oYXNBY3RpdmVEcmF3YWJsZXM7IH0KIAogcHJpdmF0ZToKKyAgICB2b2lkIHVw
ZGF0ZUhhc0FjdGl2ZURyYXdhYmxlcygpOworCiAgICAgUXVhbGlmaWVkUmVzb3VyY2VIZWFwIG1f
cmVzb3VyY2VIZWFwOworICAgIHN0ZDo6YXRvbWljPGJvb2w+IG1faGFzQWN0aXZlRHJhd2FibGVz
IHsgZmFsc2UgfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>457664</attachid>
            <date>2022-04-14 19:47:45 -0700</date>
            <delta_ts>2022-04-15 15:13:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-238558-20220414194744.patch</filename>
            <type>text/plain</type>
            <size>10289</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyODk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGU0OWFhNTA3MmM3ZDYwOTg2
Yzk1NzRkYmE3ODk2MjllMDdlMGU2ZDUuLmJjYzI3OTEyYTI4NmIzOTA4YzAwZmJjMGM0OTc4NTNl
NzY3NDdkNDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDIgQEAKKzIwMjItMDQtMTQgIFNhaWQgQWJv
dS1IYWxsYXdhICA8c2FpZEBhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTihyMjg4ODQ3
KTogR1BVIFByb2Nlc3MgY3Jhc2ggdW5kZXIgR1BVUHJvY2Vzczo6Y2FuRXhpdFVuZGVyTWVtb3J5
UHJlc3N1cmUoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjM4NTU4CisgICAgICAgIHJkYXI6Ly85MTA1MjAzMworCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVzZSB0aGUgcmVuZGVyaW5nIHJlc291cmNlcyBy
ZXF1ZXN0IGNvdW50IHRvIGtlZXAgdGhlIEdQVSBwcm9jZXNzIGFsaXZlLgorCisgICAgICAgIFJl
bW90ZVJlbmRlcmluZ0JhY2tlbmQgdXBkYXRlcyBpdCB3aGVuIGFjdGl2ZSBpbWFnZSBidWZmZXJz
IGNoYW5nZS4KKyAgICAgICAgUmVtb3RlR3JhcGhpY3NDb250ZXh0R0wgdXBkYXRlcyBpdCBvbiBj
cmVhdGlvbiBhbmQgZGVzdHJ1Y3Rpb24uCisgICAgICAgIFJlbW90ZU1lZGlhUGxheWVyUHJveHkg
dXBkYXRlcyBpdCBvbiBjcmVhdGlvbiBhbmQgZGVzdHJ1Y3Rpb24uCisKKyAgICAgICAgUmVtb3Zl
IFJlbW90ZXJSZW5kZXJpbmdCYWNrZW5kOjphbGxvd3NFeGl0VW5kZXJNZW1vcnlQcmVzc3VyZSgp
LCBpdCB3YXMKKyAgICAgICAgY3Jhc2hpbmcgZHVlIHRvIHJhY2UgYmV0d2VlbiB0aGUgZnVuY3Rp
b24gYW5kIHRoZSB0YXNrIHF1ZXVlIGNsZWFudXAgdGFzay4KKworICAgICAgICBSZW1vdmUgUmVt
b3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHk6OmFsbG93c0V4aXRVbmRlck1lbW9yeVByZXNzdXJl
KCksCisgICAgICAgIHRoZSBjb3VudCBpcyBub3cgY291bnRlZCBieSBSZW1vdGVNZWRpYVBsYXll
clByb3h5IGNyZWF0aW9uLCBkZXN0cnVjdGlvbi4KKworICAgICAgICBCYXNlZCBvbiB0aGUgaW5p
dGlhbCBwYXRjaCBieSAgS2ltbW8gS2lubnVuZW4uCisKKyAgICAgICAgKiBHUFVQcm9jZXNzL0dQ
VUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpHUFVDb25uZWN0
aW9uVG9XZWJQcm9jZXNzOjphbGxvd3NFeGl0VW5kZXJNZW1vcnlQcmVzc3VyZSBjb25zdCk6Cisg
ICAgICAgICogR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6UmVtb3RlUmVuZGVyaW5nQmFja2VuZDo6dXBkYXRlUmVuZGVyaW5n
UmVzb3VyY2VSZXF1ZXN0KToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlUmVuZGVyaW5nQmFja2Vu
ZDo6YWxsb3dzRXhpdFVuZGVyTWVtb3J5UHJlc3N1cmUgY29uc3QpOiBEZWxldGVkLgorICAgICAg
ICAqIEdQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZC5oOgorICAgICAg
ICAqIEdQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVzb3VyY2VDYWNoZS5oOgorICAgICAgICAo
V2ViS2l0OjpSZW1vdGVSZXNvdXJjZUNhY2hlOjpoYXNJbWFnZUJ1ZmZlciBjb25zdCk6CisgICAg
ICAgIChXZWJLaXQ6OlJlbW90ZVJlc291cmNlQ2FjaGU6OnJlc291cmNlSGVhcCBjb25zdCk6IERl
bGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVJlc291cmNlQ2FjaGU6Omhhc0FjdGl2ZURy
YXdhYmxlcyBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogR1BVUHJvY2Vzcy9ncmFwaGljcy9T
Y29wZWRSZW5kZXJpbmdSZXNvdXJjZXNSZXF1ZXN0Lmg6CisgICAgICAgIChXZWJLaXQ6Omhhc091
dHN0YW5kaW5nUmVuZGVyaW5nUmVzb3VyY2VVc2FnZSk6CisgICAgICAgICogR1BVUHJvY2Vzcy9t
ZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6
OlJlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5OjpkZWxldGVNZWRpYVBsYXllcik6CisgICAg
ICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5OjphbGxvd3NFeGl0VW5k
ZXJNZW1vcnlQcmVzc3VyZSBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogR1BVUHJvY2Vzcy9t
ZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eS5oOgorCiAyMDIyLTA0LTE0ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQs
IGZpeCB0aGUgQ2F0YWx5c3QgYnVpbGQgYWZ0ZXIgcjI5Mjg4OApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwIGIvU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwCmluZGV4IDgw
NGE1YzY5ZjBiNGExYTY3ZTZkNmI5MDM2OTIyYzVhYTQyNzE3ODkuLmMwNDMyMWNlNWM0NjY2ZWI5
NzVhMGNjNDI5ODhjMWU3Njc3MDUyOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAKQEAgLTYxLDYgKzYxLDcgQEAK
ICNpbmNsdWRlICJSZW1vdGVTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXJNYW5hZ2VyTWVzc2FnZXMu
aCIKICNpbmNsdWRlICJSZW1vdGVTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXJNZXNzYWdlcy5oIgog
I2luY2x1ZGUgIlJlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yVHJhbnNhY3Rpb24uaCIKKyNpbmNs
dWRlICJTY29wZWRSZW5kZXJpbmdSZXNvdXJjZXNSZXF1ZXN0LmgiCiAjaW5jbHVkZSAiV2ViQ29y
ZUFyZ3VtZW50Q29kZXJzLmgiCiAjaW5jbHVkZSAiV2ViRXJyb3JzLmgiCiAjaW5jbHVkZSAiV2Vi
R1BVT2JqZWN0SGVhcC5oIgpAQCAtMzgzLDE1ICszODQsNyBAQCB2b2lkIEdQVUNvbm5lY3Rpb25U
b1dlYlByb2Nlc3M6OnJlbGVhc2VXQ0xheWVyVHJlZUhvc3QoV2ViS2l0OjpXQ0xheWVyVHJlZUhv
c3RJZAogCiBib29sIEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmFsbG93c0V4aXRVbmRlck1l
bW9yeVByZXNzdXJlKCkgY29uc3QKIHsKLSAgICBmb3IgKGF1dG8mIHJlbW90ZVJlbmRlcmluZ0Jh
Y2tlbmQgOiBtX3JlbW90ZVJlbmRlcmluZ0JhY2tlbmRNYXAudmFsdWVzKCkpIHsKLSAgICAgICAg
aWYgKCFyZW1vdGVSZW5kZXJpbmdCYWNrZW5kLT5hbGxvd3NFeGl0VW5kZXJNZW1vcnlQcmVzc3Vy
ZSgpKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLSNpZiBFTkFCTEUoV0VCR0wp
Ci0gICAgaWYgKCFtX3JlbW90ZUdyYXBoaWNzQ29udGV4dEdMTWFwLmlzRW1wdHkoKSkKLSAgICAg
ICAgcmV0dXJuIGZhbHNlOwotI2VuZGlmCi0gICAgaWYgKCFtX3JlbW90ZU1lZGlhUGxheWVyTWFu
YWdlclByb3h5LT5hbGxvd3NFeGl0VW5kZXJNZW1vcnlQcmVzc3VyZSgpKQorICAgIGlmIChoYXNP
dXRzdGFuZGluZ1JlbmRlcmluZ1Jlc291cmNlVXNhZ2UoKSkKICAgICAgICAgcmV0dXJuIGZhbHNl
OwogI2lmIEVOQUJMRShXRUJfQVVESU8pCiAgICAgaWYgKG1fcmVtb3RlQXVkaW9EZXN0aW5hdGlv
bk1hbmFnZXIgJiYgIW1fcmVtb3RlQXVkaW9EZXN0aW5hdGlvbk1hbmFnZXItPmFsbG93c0V4aXRV
bmRlck1lbW9yeVByZXNzdXJlKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZC5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZC5jcHAKaW5kZXggN2Q2ZmQy
NzhhMzNkNzMxNjVlZGMxNGQxZTNiOGIwZWUyMGVjMjc2Ni4uMDU5N2NmZjhiN2M0MmY1N2JhOWQ2
MTgyNTNmNjdkNTMzYzIzOTVmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNz
L2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kLmNwcApAQCAtNTI5LDIw
ICs1MjksMTQgQEAgdm9pZCBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kOjpmaW5hbGl6ZVJlbmRlcmlu
Z1VwZGF0ZShSZW5kZXJpbmdVcGRhdGVJRCByZW5kZXJpbmcKIAogdm9pZCBSZW1vdGVSZW5kZXJp
bmdCYWNrZW5kOjp1cGRhdGVSZW5kZXJpbmdSZXNvdXJjZVJlcXVlc3QoKQogewotICAgIGJvb2wg
aGFzQWN0aXZlRHJhd2FibGVzID0gbV9yZW1vdGVSZXNvdXJjZUNhY2hlLmhhc0FjdGl2ZURyYXdh
YmxlcygpOworICAgIGJvb2wgaGFzSW1hZ2VCdWZmZXIgPSBtX3JlbW90ZVJlc291cmNlQ2FjaGUu
aGFzSW1hZ2VCdWZmZXIoKTsKICAgICBib29sIGhhc0FjdGl2ZVJlcXVlc3QgPSBtX3JlbmRlcmlu
Z1Jlc291cmNlc1JlcXVlc3QuaXNSZXF1ZXN0ZWQoKTsKLSAgICBpZiAoaGFzQWN0aXZlRHJhd2Fi
bGVzICYmICFoYXNBY3RpdmVSZXF1ZXN0KQorICAgIGlmIChoYXNJbWFnZUJ1ZmZlciAmJiAhaGFz
QWN0aXZlUmVxdWVzdCkKICAgICAgICAgbV9yZW5kZXJpbmdSZXNvdXJjZXNSZXF1ZXN0ID0gU2Nv
cGVkUmVuZGVyaW5nUmVzb3VyY2VzUmVxdWVzdDo6YWNxdWlyZSgpOwotICAgIGVsc2UgaWYgKCFo
YXNBY3RpdmVEcmF3YWJsZXMgJiYgaGFzQWN0aXZlUmVxdWVzdCkKKyAgICBlbHNlIGlmICghaGFz
SW1hZ2VCdWZmZXIgJiYgaGFzQWN0aXZlUmVxdWVzdCkKICAgICAgICAgbV9yZW5kZXJpbmdSZXNv
dXJjZXNSZXF1ZXN0ID0geyB9OwogfQogCi1ib29sIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmQ6OmFs
bG93c0V4aXRVbmRlck1lbW9yeVByZXNzdXJlKCkgY29uc3QKLXsKLSAgICBBU1NFUlQoaXNNYWlu
UnVuTG9vcCgpKTsKLSAgICByZXR1cm4gIW1fcmVtb3RlUmVzb3VyY2VDYWNoZS5oYXNBY3RpdmVE
cmF3YWJsZXMoKTsKLX0KLQogdm9pZCBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kOjpwZXJmb3JtV2l0
aE1lZGlhUGxheWVyT25NYWluVGhyZWFkKE1lZGlhUGxheWVySWRlbnRpZmllciBpZGVudGlmaWVy
LCBGdW5jdGlvbjx2b2lkKE1lZGlhUGxheWVyJik+JiYgY2FsbGJhY2spCiB7CiAgICAgY2FsbE9u
TWFpblJ1bkxvb3BBbmRXYWl0KFsmLCBncHVDb25uZWN0aW9uVG9XZWJQcm9jZXNzID0gbV9ncHVD
b25uZWN0aW9uVG9XZWJQcm9jZXNzLCBpZGVudGlmaWVyXSB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZC5oIGIvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmQuaApp
bmRleCA2MjIwY2U1ZjE1ZTU3YjgxZmY2ZjZhZGEzNmNiNGQ4MTFjZjFhMjVlLi44OTNlNTFmZGQ3
NjdjOGU4YmQ0NThiMTdkOTIwNDIzMjkzYmVhMWM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZC5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kLmgKQEAg
LTkwLDggKzkwLDYgQEAgcHVibGljOgogICAgIHZvaWQgZGlkQ3JlYXRlSW1hZ2VCdWZmZXJCYWNr
ZW5kKEltYWdlQnVmZmVyQmFja2VuZEhhbmRsZSwgUXVhbGlmaWVkUmVuZGVyaW5nUmVzb3VyY2VJ
ZGVudGlmaWVyLCBSZW1vdGVEaXNwbGF5TGlzdFJlY29yZGVyJik7CiAgICAgdm9pZCBkaWRGbHVz
aChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHRGbHVzaElkZW50aWZpZXIsIFF1YWxpZmllZFJlbmRl
cmluZ1Jlc291cmNlSWRlbnRpZmllcik7CiAKLSAgICBib29sIGFsbG93c0V4aXRVbmRlck1lbW9y
eVByZXNzdXJlKCkgY29uc3Q7Ci0KICAgICAvLyBSdW5zIEZ1bmN0aW9uIGluIFJlbW90ZVJlbmRl
cmluZ0JhY2tlbmQgdGFzayBxdWV1ZS4KICAgICB2b2lkIGRpc3BhdGNoKEZ1bmN0aW9uPHZvaWQo
KT4mJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9S
ZW1vdGVSZXNvdXJjZUNhY2hlLmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3Mv
UmVtb3RlUmVzb3VyY2VDYWNoZS5oCmluZGV4IDViZmQ0ZjI4ODA2NWM2NTA2NDY4OTkwNmJlMjgy
MDgwMmY0MDA4NWYuLmMyMzU0N2VlODc4MjZiNTY4YzUxNzdjNGQ0N2EzNTRjODc5MGFhOGUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVSZXNvdXJj
ZUNhY2hlLmgKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJl
c291cmNlQ2FjaGUuaApAQCAtMjksMTcgKzI5LDEwIEBACiAKICNpbmNsdWRlICJRdWFsaWZpZWRS
ZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXIuaCIKICNpbmNsdWRlICJRdWFsaWZpZWRSZXNvdXJj
ZUhlYXAuaCIKLSNpbmNsdWRlIDxXZWJDb3JlL0ZvbnQuaD4KLSNpbmNsdWRlIDxXZWJDb3JlL0lt
YWdlQnVmZmVyLmg+Ci0jaW5jbHVkZSA8V2ViQ29yZS9OYXRpdmVJbWFnZS5oPgogI2luY2x1ZGUg
PFdlYkNvcmUvUHJvY2Vzc0lkZW50aWZpZXIuaD4KLSNpbmNsdWRlIDxXZWJDb3JlL1JlbmRlcmlu
Z1Jlc291cmNlSWRlbnRpZmllci5oPgotI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAKIG5hbWVz
cGFjZSBXZWJLaXQgewogCi1jbGFzcyBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kOwotCiBjbGFzcyBS
ZW1vdGVSZXNvdXJjZUNhY2hlIHsKIHB1YmxpYzoKICAgICBSZW1vdGVSZXNvdXJjZUNhY2hlKFdl
YkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyIHdlYlByb2Nlc3NJZGVudGlmaWVyKTsKQEAgLTU0LDkg
KzQ3LDcgQEAgcHVibGljOgogICAgIHZvaWQgZGVsZXRlQWxsRm9udHMoKTsKICAgICBib29sIHJl
bGVhc2VSZW1vdGVSZXNvdXJjZShRdWFsaWZpZWRSZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXIp
OwogCi0gICAgY29uc3QgV2ViQ29yZTo6RGlzcGxheUxpc3Q6OlJlc291cmNlSGVhcCYgcmVzb3Vy
Y2VIZWFwKCkgY29uc3QgeyByZXR1cm4gbV9yZXNvdXJjZUhlYXA7IH0KLQotICAgIGJvb2wgaGFz
QWN0aXZlRHJhd2FibGVzKCkgY29uc3QgeyByZXR1cm4gbV9yZXNvdXJjZUhlYXAuaGFzSW1hZ2VC
dWZmZXIoKSB8fCBtX3Jlc291cmNlSGVhcC5oYXNOYXRpdmVJbWFnZSgpOyB9CisgICAgYm9vbCBo
YXNJbWFnZUJ1ZmZlcigpIGNvbnN0IHsgcmV0dXJuIG1fcmVzb3VyY2VIZWFwLmhhc0ltYWdlQnVm
ZmVyKCk7IH0KIAogcHJpdmF0ZToKICAgICBRdWFsaWZpZWRSZXNvdXJjZUhlYXAgbV9yZXNvdXJj
ZUhlYXA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvU2Nv
cGVkUmVuZGVyaW5nUmVzb3VyY2VzUmVxdWVzdC5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNz
L2dyYXBoaWNzL1Njb3BlZFJlbmRlcmluZ1Jlc291cmNlc1JlcXVlc3QuaAppbmRleCBmMTUyNzhm
MTYxY2M3MDQyZjk5NjBlZTk0MWE1MmFkYzY1MjZiZDNiLi4wOTRlY2Q5ZDA4MjAxNjg3NThhNjQ2
MjBiOGQwMGFhN2JmMzhiOWRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mv
Z3JhcGhpY3MvU2NvcGVkUmVuZGVyaW5nUmVzb3VyY2VzUmVxdWVzdC5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9TY29wZWRSZW5kZXJpbmdSZXNvdXJjZXNSZXF1ZXN0
LmgKQEAgLTc0LDYgKzc0LDEyIEBAIHByaXZhdGU6CiAgICAgfQogICAgIHN0YXRpYyBzdGQ6OmF0
b21pYzx1bnNpZ25lZD4gc19yZXF1ZXN0czsKICAgICBib29sIG1fcmVxdWVzdGVkIHsgZmFsc2Ug
fTsKKyAgICBmcmllbmQgYm9vbCBoYXNPdXRzdGFuZGluZ1JlbmRlcmluZ1Jlc291cmNlVXNhZ2Uo
KTsKIH07CiAKK2lubGluZSBib29sIGhhc091dHN0YW5kaW5nUmVuZGVyaW5nUmVzb3VyY2VVc2Fn
ZSgpCit7CisgICAgcmV0dXJuIFNjb3BlZFJlbmRlcmluZ1Jlc291cmNlc1JlcXVlc3Q6OnNfcmVx
dWVzdHM7Cit9CisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRp
YS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVBy
b2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHkuY3BwCmluZGV4IDkyYmU4
MTVjNzg2MTIwZTNiMjQ2OTA0NzAzNmQxY2M2ZTM4YTlmMmYuLmYyMTA5NmFhYWNkMGQ5ZjdjMDA2
ZTk4ZjczMTFhNDc5MmYwNGM3YTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eS5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5LmNwcApA
QCAtMzQsNiArMzQsNyBAQAogI2luY2x1ZGUgIlJlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5
TWVzc2FnZXMuaCIKICNpbmNsdWRlICJSZW1vdGVNZWRpYVBsYXllclByb3h5LmgiCiAjaW5jbHVk
ZSAiUmVtb3RlTWVkaWFQbGF5ZXJQcm94eUNvbmZpZ3VyYXRpb24uaCIKKyNpbmNsdWRlICJTY29w
ZWRSZW5kZXJpbmdSZXNvdXJjZXNSZXF1ZXN0LmgiCiAjaW5jbHVkZSAiV2ViQ29yZUFyZ3VtZW50
Q29kZXJzLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9NZWRpYVBsYXllci5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvTWVkaWFQbGF5ZXJQcml2YXRlLmg+CkBAIC03OCw3ICs3OSw3IEBAIHZvaWQgUmVtb3Rl
TWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHk6OmRlbGV0ZU1lZGlhUGxheWVyKE1lZGlhUGxheWVySWRl
bnRpZmllciBpZGVuCiAgICAgaWYgKGF1dG8gcHJveHkgPSBtX3Byb3hpZXMudGFrZShpZGVudGlm
aWVyKSkKICAgICAgICAgcHJveHktPmludmFsaWRhdGUoKTsKIAotICAgIGlmIChtX2dwdUNvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3MgJiYgYWxsb3dzRXhpdFVuZGVyTWVtb3J5UHJlc3N1cmUoKSkKKyAg
ICBpZiAobV9ncHVDb25uZWN0aW9uVG9XZWJQcm9jZXNzICYmICFoYXNPdXRzdGFuZGluZ1JlbmRl
cmluZ1Jlc291cmNlVXNhZ2UoKSkKICAgICAgICAgbV9ncHVDb25uZWN0aW9uVG9XZWJQcm9jZXNz
LT5ncHVQcm9jZXNzKCkudHJ5RXhpdElmVW51c2VkQW5kVW5kZXJNZW1vcnlQcmVzc3VyZSgpOwog
fQogCkBAIC0xODMsMTEgKzE4NCw2IEBAIFJlZlB0cjxNZWRpYVBsYXllcj4gUmVtb3RlTWVkaWFQ
bGF5ZXJNYW5hZ2VyUHJveHk6Om1lZGlhUGxheWVyKGNvbnN0IE1lZGlhUGxheWVyCiAgICAgcmV0
dXJuIG51bGxwdHI7CiB9CiAKLWJvb2wgUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHk6OmFs
bG93c0V4aXRVbmRlck1lbW9yeVByZXNzdXJlKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9wcm94
aWVzLmlzRW1wdHkoKTsKLX0KLQogI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAogTG9nZ2VyJiBS
ZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eTo6bG9nZ2VyKCkKIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94
eS5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFu
YWdlclByb3h5LmgKaW5kZXggZjAzNTZmZWUwNGFkZWRhOTVhNzU0ZGU3ZmI0YzU1MDA1ODhmYjdl
Ny4uY2JhNGNhZDlhNjhmNGY4ZDMwMThhYTViODhmMzUwNjA0NjNhYzA3YyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlclBy
b3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxh
eWVyTWFuYWdlclByb3h5LmgKQEAgLTY2LDcgKzY2LDYgQEAgcHVibGljOgogICAgIGJvb2wgZGlk
UmVjZWl2ZVN5bmNQbGF5ZXJNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYs
IFVuaXF1ZVJlZjxJUEM6OkVuY29kZXI+Jik7CiAKICAgICBSZWZQdHI8V2ViQ29yZTo6TWVkaWFQ
bGF5ZXI+IG1lZGlhUGxheWVyKGNvbnN0IFdlYkNvcmU6Ok1lZGlhUGxheWVySWRlbnRpZmllciYp
OwotICAgIGJvb2wgYWxsb3dzRXhpdFVuZGVyTWVtb3J5UHJlc3N1cmUoKSBjb25zdDsKIAogICAg
IFNoYXJlYWJsZUJpdG1hcDo6SGFuZGxlIGJpdG1hcEltYWdlRm9yQ3VycmVudFRpbWUoV2ViQ29y
ZTo6TWVkaWFQbGF5ZXJJZGVudGlmaWVyKTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>457727</attachid>
            <date>2022-04-15 15:13:41 -0700</date>
            <delta_ts>2022-04-18 11:31:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-238558-20220415151340.patch</filename>
            <type>text/plain</type>
            <size>14125</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyOTIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDZjNDQ5YTQxMTlmYTU4MTdm
MDAzOTNjMWU4NmQ0MzJmNmRjNmM3NTAuLjFjN2U2M2UwNmVlYjVjZTdkZWQzMWFiODMyMDBjYTM4
NTkxZGVkNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTIgQEAKKzIwMjItMDQtMTUgIFNhaWQgQWJv
dS1IYWxsYXdhICA8c2FpZEBhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTihyMjg4ODQ3
KTogR1BVIFByb2Nlc3MgY3Jhc2ggdW5kZXIgR1BVUHJvY2Vzczo6Y2FuRXhpdFVuZGVyTWVtb3J5
UHJlc3N1cmUoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjM4NTU4CisgICAgICAgIHJkYXI6Ly85MTA1MjAzMworCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVzZSB0aGUgcmVuZGVyaW5nIHJlc291cmNlcyBy
ZXF1ZXN0IGNvdW50IHRvIGtlZXAgdGhlIEdQVSBwcm9jZXNzIGFsaXZlLgorCisgICAgICAgIFJl
bW90ZVJlbmRlcmluZ0JhY2tlbmQgdXBkYXRlcyBpdCB3aGVuIGFjdGl2ZSBpbWFnZSBidWZmZXJz
IGNoYW5nZS4KKyAgICAgICAgUmVtb3RlR3JhcGhpY3NDb250ZXh0R0wgdXBkYXRlcyBpdCBvbiBj
cmVhdGlvbiBhbmQgZGVzdHJ1Y3Rpb24uCisgICAgICAgIFJlbW90ZU1lZGlhUGxheWVyUHJveHkg
dXBkYXRlcyBpdCBvbiBjcmVhdGlvbiBhbmQgZGVzdHJ1Y3Rpb24uCisKKyAgICAgICAgUmVtb3Zl
IFJlbW90ZXJSZW5kZXJpbmdCYWNrZW5kOjp1cGRhdGVSZW5kZXJpbmdSZXNvdXJjZVJlcXVlc3Qo
KSwgdGhlCisgICAgICAgIGNvdW50IGlzIG5vdyBjb3VudGVkIGJ5IFJlbW90ZUltYWdlQnVmZmVy
IGNyZWF0aW9uLCBkZXN0cnVjdGlvbi4KKworICAgICAgICBSZW1vdmUgUmVtb3RlclJlbmRlcmlu
Z0JhY2tlbmQ6OmFsbG93c0V4aXRVbmRlck1lbW9yeVByZXNzdXJlKCksIGl0IHdhcworICAgICAg
ICBjcmFzaGluZyBkdWUgdG8gcmFjZSBiZXR3ZWVuIHRoZSBmdW5jdGlvbiBhbmQgdGhlIHdvcmsg
cXVldWUgY2xlYW51cCB0YXNrLgorCisgICAgICAgIFJlbW92ZSBSZW1vdGVNZWRpYVBsYXllck1h
bmFnZXJQcm94eTo6YWxsb3dzRXhpdFVuZGVyTWVtb3J5UHJlc3N1cmUoKSwKKyAgICAgICAgdGhl
IGNvdW50IGlzIGFscmVhZHkgY291bnRlZCBieSBSZW1vdGVNZWRpYVBsYXllclByb3h5IGNyZWF0
aW9uLCBkZXN0cnVjdGlvbi4KKworICAgICAgICBCYXNlZCBvbiB0aGUgaW5pdGlhbCBwYXRjaCBi
eSBLaW1tbyBLaW5udW5lbi4KKworICAgICAgICAqIEdQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRv
V2ViUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OkdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nl
c3M6OmFsbG93c0V4aXRVbmRlck1lbW9yeVByZXNzdXJlIGNvbnN0KToKKyAgICAgICAgKiBHUFVQ
cm9jZXNzL2dyYXBoaWNzL1F1YWxpZmllZFJlc291cmNlSGVhcC5oOgorICAgICAgICAoV2ViS2l0
OjpRdWFsaWZpZWRSZXNvdXJjZUhlYXA6Omhhc0ltYWdlQnVmZmVyIGNvbnN0KTogRGVsZXRlZC4K
KyAgICAgICAgKFdlYktpdDo6UXVhbGlmaWVkUmVzb3VyY2VIZWFwOjpoYXNOYXRpdmVJbWFnZSBj
b25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OlF1YWxpZmllZFJlc291cmNlSGVhcDo6
aGFzRm9udCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogR1BVUHJvY2Vzcy9ncmFwaGljcy9S
ZW1vdGVJbWFnZUJ1ZmZlci5oOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVJbWFnZUJ1ZmZlcjo6
bV9yZW5kZXJpbmdSZXNvdXJjZXNSZXF1ZXN0KToKKyAgICAgICAgKiBHUFVQcm9jZXNzL2dyYXBo
aWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmQuY3BwOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVS
ZW5kZXJpbmdCYWNrZW5kOjpjcmVhdGVJbWFnZUJ1ZmZlcldpdGhRdWFsaWZpZWRJZGVudGlmaWVy
KToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlUmVuZGVyaW5nQmFja2VuZDo6cmVsZWFzZVJlbW90
ZVJlc291cmNlV2l0aFF1YWxpZmllZElkZW50aWZpZXIpOgorICAgICAgICAoV2ViS2l0OjpSZW1v
dGVSZW5kZXJpbmdCYWNrZW5kOjp1cGRhdGVSZW5kZXJpbmdSZXNvdXJjZVJlcXVlc3QpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVSZW5kZXJpbmdCYWNrZW5kOjphbGxvd3NFeGl0
VW5kZXJNZW1vcnlQcmVzc3VyZSBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogR1BVUHJvY2Vz
cy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kLmg6CisgICAgICAgICogR1BVUHJvY2Vz
cy9ncmFwaGljcy9SZW1vdGVSZXNvdXJjZUNhY2hlLmg6CisgICAgICAgIChXZWJLaXQ6OlJlbW90
ZVJlc291cmNlQ2FjaGU6OnJlc291cmNlSGVhcCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChX
ZWJLaXQ6OlJlbW90ZVJlc291cmNlQ2FjaGU6Omhhc0FjdGl2ZURyYXdhYmxlcyBjb25zdCk6IERl
bGV0ZWQuCisgICAgICAgICogR1BVUHJvY2Vzcy9ncmFwaGljcy9TY29wZWRSZW5kZXJpbmdSZXNv
dXJjZXNSZXF1ZXN0Lmg6CisgICAgICAgIChXZWJLaXQ6Omhhc091dHN0YW5kaW5nUmVuZGVyaW5n
UmVzb3VyY2VVc2FnZSk6CisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBs
YXllck1hbmFnZXJQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZU1lZGlhUGxheWVy
TWFuYWdlclByb3h5OjpkZWxldGVNZWRpYVBsYXllcik6CisgICAgICAgIChXZWJLaXQ6OlJlbW90
ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5OjphbGxvd3NFeGl0VW5kZXJNZW1vcnlQcmVzc3VyZSBj
b25zdCk6IERlbGV0ZWQuCisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBs
YXllck1hbmFnZXJQcm94eS5oOgorCiAyMDIyLTA0LTE1ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdo
YW1AYXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04gKHIyOTE4NDMpOiBCcm9rZW4gTmV0
ZmxpeCBhbmQgQW1hem9uIHZpZGVvIHBsYXliYWNrCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAKaW5kZXggODA0YTVjNjlm
MGI0YTFhNjdlNmQ2YjkwMzY5MjJjNWFhNDI3MTc4OS4uYzA0MzIxY2U1YzQ2NjZlYjk3NWEwY2M0
Mjk4OGMxZTc2NzcwNTI5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQ
VUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcApAQCAtNjEsNiArNjEsNyBAQAogI2luY2x1
ZGUgIlJlbW90ZVNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllck1hbmFnZXJNZXNzYWdlcy5oIgogI2lu
Y2x1ZGUgIlJlbW90ZVNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllck1lc3NhZ2VzLmgiCiAjaW5jbHVk
ZSAiUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JUcmFuc2FjdGlvbi5oIgorI2luY2x1ZGUgIlNj
b3BlZFJlbmRlcmluZ1Jlc291cmNlc1JlcXVlc3QuaCIKICNpbmNsdWRlICJXZWJDb3JlQXJndW1l
bnRDb2RlcnMuaCIKICNpbmNsdWRlICJXZWJFcnJvcnMuaCIKICNpbmNsdWRlICJXZWJHUFVPYmpl
Y3RIZWFwLmgiCkBAIC0zODMsMTUgKzM4NCw3IEBAIHZvaWQgR1BVQ29ubmVjdGlvblRvV2ViUHJv
Y2Vzczo6cmVsZWFzZVdDTGF5ZXJUcmVlSG9zdChXZWJLaXQ6OldDTGF5ZXJUcmVlSG9zdElkCiAK
IGJvb2wgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6YWxsb3dzRXhpdFVuZGVyTWVtb3J5UHJl
c3N1cmUoKSBjb25zdAogewotICAgIGZvciAoYXV0byYgcmVtb3RlUmVuZGVyaW5nQmFja2VuZCA6
IG1fcmVtb3RlUmVuZGVyaW5nQmFja2VuZE1hcC52YWx1ZXMoKSkgewotICAgICAgICBpZiAoIXJl
bW90ZVJlbmRlcmluZ0JhY2tlbmQtPmFsbG93c0V4aXRVbmRlck1lbW9yeVByZXNzdXJlKCkpCi0g
ICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotI2lmIEVOQUJMRShXRUJHTCkKLSAgICBp
ZiAoIW1fcmVtb3RlR3JhcGhpY3NDb250ZXh0R0xNYXAuaXNFbXB0eSgpKQotICAgICAgICByZXR1
cm4gZmFsc2U7Ci0jZW5kaWYKLSAgICBpZiAoIW1fcmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJv
eHktPmFsbG93c0V4aXRVbmRlck1lbW9yeVByZXNzdXJlKCkpCisgICAgaWYgKGhhc091dHN0YW5k
aW5nUmVuZGVyaW5nUmVzb3VyY2VVc2FnZSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAjaWYg
RU5BQkxFKFdFQl9BVURJTykKICAgICBpZiAobV9yZW1vdGVBdWRpb0Rlc3RpbmF0aW9uTWFuYWdl
ciAmJiAhbV9yZW1vdGVBdWRpb0Rlc3RpbmF0aW9uTWFuYWdlci0+YWxsb3dzRXhpdFVuZGVyTWVt
b3J5UHJlc3N1cmUoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFw
aGljcy9RdWFsaWZpZWRSZXNvdXJjZUhlYXAuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9n
cmFwaGljcy9RdWFsaWZpZWRSZXNvdXJjZUhlYXAuaAppbmRleCA1OWQyMjU1N2MyZjhkZDMxYzJl
MzJjZjYyNzlmY2UxYmE1MTJmZTAwLi41ZjUxYzQ1Yjk4NmM4NWIwNjc1NTc2ZTMxMWI3YjY3ZDNi
ZjY0Y2EzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUXVh
bGlmaWVkUmVzb3VyY2VIZWFwLmgKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBo
aWNzL1F1YWxpZmllZFJlc291cmNlSGVhcC5oCkBAIC0xMDgsMjQgKzEwOCw2IEBAIHB1YmxpYzoK
ICAgICAgICAgcmV0dXJuIGdldDxXZWJDb3JlOjpGb250PihyZW5kZXJpbmdSZXNvdXJjZUlkZW50
aWZpZXIpOwogICAgIH0KIAotICAgIGJvb2wgaGFzSW1hZ2VCdWZmZXIoKSBjb25zdAotICAgIHsK
LSAgICAgICAgY2hlY2tJbnZhcmlhbnRzKCk7Ci0gICAgICAgIHJldHVybiBtX2ltYWdlQnVmZmVy
Q291bnQ7Ci0gICAgfQotCi0gICAgYm9vbCBoYXNOYXRpdmVJbWFnZSgpIGNvbnN0Ci0gICAgewot
ICAgICAgICBjaGVja0ludmFyaWFudHMoKTsKLSAgICAgICAgcmV0dXJuIG1fbmF0aXZlSW1hZ2VD
b3VudDsKLSAgICB9Ci0KLSAgICBib29sIGhhc0ZvbnQoKSBjb25zdAotICAgIHsKLSAgICAgICAg
Y2hlY2tJbnZhcmlhbnRzKCk7Ci0gICAgICAgIHJldHVybiBtX2ZvbnRDb3VudDsKLSAgICB9Ci0K
ICAgICBib29sIHJlbW92ZUltYWdlQnVmZmVyKFF1YWxpZmllZFJlbmRlcmluZ1Jlc291cmNlSWRl
bnRpZmllciByZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXIpCiAgICAgewogICAgICAgICByZXR1
cm4gcmVtb3ZlPFdlYkNvcmU6OkltYWdlQnVmZmVyPihyZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZp
ZXIsIG1faW1hZ2VCdWZmZXJDb3VudCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVBy
b2Nlc3MvZ3JhcGhpY3MvUmVtb3RlSW1hZ2VCdWZmZXIuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy9ncmFwaGljcy9SZW1vdGVJbWFnZUJ1ZmZlci5oCmluZGV4IDNjNGJlZGFlNTk5ZGRjM2Rk
YTdmMTZiMjMwMjA1NGQ5MDAyNzUyN2EuLjQxYTRlMDNhZGE0MTM2OTQ4NGE3Mjk2ZGM3YWI2MmY2
NGM3NTdkZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9S
ZW1vdGVJbWFnZUJ1ZmZlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGlj
cy9SZW1vdGVJbWFnZUJ1ZmZlci5oCkBAIC02Miw2ICs2Miw3IEBAIHB1YmxpYzoKICAgICAgICAg
LCBtX3JlbW90ZVJlbmRlcmluZ0JhY2tlbmQocmVtb3RlUmVuZGVyaW5nQmFja2VuZCkKICAgICAg
ICAgLCBtX3JlbmRlcmluZ1Jlc291cmNlSWRlbnRpZmllcihyZW5kZXJpbmdSZXNvdXJjZUlkZW50
aWZpZXIpCiAgICAgICAgICwgbV9yZW1vdGVEaXNwbGF5TGlzdCh7IFJlbW90ZURpc3BsYXlMaXN0
UmVjb3JkZXI6OmNyZWF0ZSgqdGhpcywgcmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyLCByZW5k
ZXJpbmdSZXNvdXJjZUlkZW50aWZpZXIucHJvY2Vzc0lkZW50aWZpZXIoKSwgcmVtb3RlUmVuZGVy
aW5nQmFja2VuZCkgfSkKKyAgICAgICAgLCBtX3JlbmRlcmluZ1Jlc291cmNlc1JlcXVlc3QoU2Nv
cGVkUmVuZGVyaW5nUmVzb3VyY2VzUmVxdWVzdDo6YWNxdWlyZSgpKQogICAgIHsKICAgICAgICAg
bV9yZW1vdGVSZW5kZXJpbmdCYWNrZW5kLmRpZENyZWF0ZUltYWdlQnVmZmVyQmFja2VuZChtX2Jh
Y2tlbmQtPmNyZWF0ZUJhY2tlbmRIYW5kbGUoKSwgcmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVy
LCAqbV9yZW1vdGVEaXNwbGF5TGlzdC5nZXQoKSk7CiAgICAgfQpAQCAtODgsNiArODksNyBAQCBw
cml2YXRlOgogICAgIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmQmIG1fcmVtb3RlUmVuZGVyaW5nQmFj
a2VuZDsKICAgICBRdWFsaWZpZWRSZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXIgbV9yZW5kZXJp
bmdSZXNvdXJjZUlkZW50aWZpZXI7CiAgICAgSVBDOjpTY29wZWRBY3RpdmVNZXNzYWdlUmVjZWl2
ZVF1ZXVlPFJlbW90ZURpc3BsYXlMaXN0UmVjb3JkZXI+IG1fcmVtb3RlRGlzcGxheUxpc3Q7Cisg
ICAgU2NvcGVkUmVuZGVyaW5nUmVzb3VyY2VzUmVxdWVzdCBtX3JlbmRlcmluZ1Jlc291cmNlc1Jl
cXVlc3Q7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kLmNw
cAppbmRleCA3ZDZmZDI3OGEzM2Q3MzE2NWVkYzE0ZDFlM2I4YjBlZTIwZWMyNzY2Li4zOTQxY2M3
YzdmNDAwZTY3NjY4ZTU0ZWEzZTkyZDljNzQ0ZWI3ZGRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZC5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmQu
Y3BwCkBAIC0yMTAsNyArMjEwLDYgQEAgdm9pZCBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kOjpjcmVh
dGVJbWFnZUJ1ZmZlcldpdGhRdWFsaWZpZWRJZGVudGlmaWVyKGNvbnN0IEZsb2EKICAgICB9CiAK
ICAgICBtX3JlbW90ZVJlc291cmNlQ2FjaGUuY2FjaGVJbWFnZUJ1ZmZlcigqaW1hZ2VCdWZmZXIs
IGltYWdlQnVmZmVyUmVzb3VyY2VJZGVudGlmaWVyKTsKLSAgICB1cGRhdGVSZW5kZXJpbmdSZXNv
dXJjZVJlcXVlc3QoKTsKIH0KIAogdm9pZCBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kOjpnZXRQaXhl
bEJ1ZmZlckZvckltYWdlQnVmZmVyKFJlbmRlcmluZ1Jlc291cmNlSWRlbnRpZmllciBpbWFnZUJ1
ZmZlciwgUGl4ZWxCdWZmZXJGb3JtYXQmJiBkZXN0aW5hdGlvbkZvcm1hdCwgSW50UmVjdCYmIHNy
Y1JlY3QsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKQEAg
LTQwMSw3ICs0MDAsNiBAQCB2b2lkIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmQ6OnJlbGVhc2VSZW1v
dGVSZXNvdXJjZVdpdGhRdWFsaWZpZWRJZGVudGlmaWVyKFF1YWxpZgogICAgIH0KICAgICBhdXRv
IHN1Y2Nlc3MgPSBtX3JlbW90ZVJlc291cmNlQ2FjaGUucmVsZWFzZVJlbW90ZVJlc291cmNlKHJl
bmRlcmluZ1Jlc291cmNlSWRlbnRpZmllcik7CiAgICAgTUVTU0FHRV9DSEVDSyhzdWNjZXNzLCAi
UmVzb3VyY2UgaXMgYmVpbmcgcmVsZWFzZWQgYmVmb3JlIGJlaW5nIGNhY2hlZC4iKTsKLSAgICB1
cGRhdGVSZW5kZXJpbmdSZXNvdXJjZVJlcXVlc3QoKTsKIH0KIAogc3RhdGljIHN0ZDo6b3B0aW9u
YWw8SW1hZ2VCdWZmZXJCYWNrZW5kSGFuZGxlPiBoYW5kbGVGcm9tQnVmZmVyKEltYWdlQnVmZmVy
JiBidWZmZXIpCkBAIC01MjcsMjIgKzUyNSw2IEBAIHZvaWQgUmVtb3RlUmVuZGVyaW5nQmFja2Vu
ZDo6ZmluYWxpemVSZW5kZXJpbmdVcGRhdGUoUmVuZGVyaW5nVXBkYXRlSUQgcmVuZGVyaW5nCiAg
ICAgc2VuZChNZXNzYWdlczo6UmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5OjpEaWRGaW5hbGl6
ZVJlbmRlcmluZ1VwZGF0ZShyZW5kZXJpbmdVcGRhdGVJRCksIG1fcmVuZGVyaW5nQmFja2VuZElk
ZW50aWZpZXIpOwogfQogCi12b2lkIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmQ6OnVwZGF0ZVJlbmRl
cmluZ1Jlc291cmNlUmVxdWVzdCgpCi17Ci0gICAgYm9vbCBoYXNBY3RpdmVEcmF3YWJsZXMgPSBt
X3JlbW90ZVJlc291cmNlQ2FjaGUuaGFzQWN0aXZlRHJhd2FibGVzKCk7Ci0gICAgYm9vbCBoYXNB
Y3RpdmVSZXF1ZXN0ID0gbV9yZW5kZXJpbmdSZXNvdXJjZXNSZXF1ZXN0LmlzUmVxdWVzdGVkKCk7
Ci0gICAgaWYgKGhhc0FjdGl2ZURyYXdhYmxlcyAmJiAhaGFzQWN0aXZlUmVxdWVzdCkKLSAgICAg
ICAgbV9yZW5kZXJpbmdSZXNvdXJjZXNSZXF1ZXN0ID0gU2NvcGVkUmVuZGVyaW5nUmVzb3VyY2Vz
UmVxdWVzdDo6YWNxdWlyZSgpOwotICAgIGVsc2UgaWYgKCFoYXNBY3RpdmVEcmF3YWJsZXMgJiYg
aGFzQWN0aXZlUmVxdWVzdCkKLSAgICAgICAgbV9yZW5kZXJpbmdSZXNvdXJjZXNSZXF1ZXN0ID0g
eyB9OwotfQotCi1ib29sIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmQ6OmFsbG93c0V4aXRVbmRlck1l
bW9yeVByZXNzdXJlKCkgY29uc3QKLXsKLSAgICBBU1NFUlQoaXNNYWluUnVuTG9vcCgpKTsKLSAg
ICByZXR1cm4gIW1fcmVtb3RlUmVzb3VyY2VDYWNoZS5oYXNBY3RpdmVEcmF3YWJsZXMoKTsKLX0K
LQogdm9pZCBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kOjpwZXJmb3JtV2l0aE1lZGlhUGxheWVyT25N
YWluVGhyZWFkKE1lZGlhUGxheWVySWRlbnRpZmllciBpZGVudGlmaWVyLCBGdW5jdGlvbjx2b2lk
KE1lZGlhUGxheWVyJik+JiYgY2FsbGJhY2spCiB7CiAgICAgY2FsbE9uTWFpblJ1bkxvb3BBbmRX
YWl0KFsmLCBncHVDb25uZWN0aW9uVG9XZWJQcm9jZXNzID0gbV9ncHVDb25uZWN0aW9uVG9XZWJQ
cm9jZXNzLCBpZGVudGlmaWVyXSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZC5oIGIvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmQuaAppbmRleCA2MjIwY2U1ZjE1
ZTU3YjgxZmY2ZjZhZGEzNmNiNGQ4MTFjZjFhMjVlLi4xODIwM2U0YzRhZjM2NzUyNDAyZWRhYmUx
OWIzYzViMmYxMTNiYTY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3Jh
cGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kLmgKQEAgLTkwLDggKzkwLDYgQEAg
cHVibGljOgogICAgIHZvaWQgZGlkQ3JlYXRlSW1hZ2VCdWZmZXJCYWNrZW5kKEltYWdlQnVmZmVy
QmFja2VuZEhhbmRsZSwgUXVhbGlmaWVkUmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyLCBSZW1v
dGVEaXNwbGF5TGlzdFJlY29yZGVyJik7CiAgICAgdm9pZCBkaWRGbHVzaChXZWJDb3JlOjpHcmFw
aGljc0NvbnRleHRGbHVzaElkZW50aWZpZXIsIFF1YWxpZmllZFJlbmRlcmluZ1Jlc291cmNlSWRl
bnRpZmllcik7CiAKLSAgICBib29sIGFsbG93c0V4aXRVbmRlck1lbW9yeVByZXNzdXJlKCkgY29u
c3Q7Ci0KICAgICAvLyBSdW5zIEZ1bmN0aW9uIGluIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmQgdGFz
ayBxdWV1ZS4KICAgICB2b2lkIGRpc3BhdGNoKEZ1bmN0aW9uPHZvaWQoKT4mJik7CiAKQEAgLTEx
MCw3ICsxMDgsNiBAQCBwcml2YXRlOgogICAgIHZvaWQgc3RhcnRMaXN0ZW5pbmdGb3JJUEMoKTsK
IAogICAgIHN0ZDo6b3B0aW9uYWw8U2hhcmVkTWVtb3J5OjpJUENIYW5kbGU+IHVwZGF0ZVNoYXJl
ZE1lbW9yeUZvckdldFBpeGVsQnVmZmVySGVscGVyKHNpemVfdCBieXRlQ291bnQpOwotICAgIHZv
aWQgdXBkYXRlUmVuZGVyaW5nUmVzb3VyY2VSZXF1ZXN0KCk7CiAKICAgICAvLyBJUEM6Ok1lc3Nh
Z2VTZW5kZXIuCiAgICAgSVBDOjpDb25uZWN0aW9uKiBtZXNzYWdlU2VuZGVyQ29ubmVjdGlvbigp
IGNvbnN0IG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dy
YXBoaWNzL1JlbW90ZVJlc291cmNlQ2FjaGUuaCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9n
cmFwaGljcy9SZW1vdGVSZXNvdXJjZUNhY2hlLmgKaW5kZXggNWJmZDRmMjg4MDY1YzY1MDY0Njg5
OTA2YmUyODIwODAyZjQwMDg1Zi4uZjhiZDQ4NGZjZjI3ZjVhMzI0M2RiNDhkMTlkOWYxNmI2ZjZh
MTAzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90
ZVJlc291cmNlQ2FjaGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3Mv
UmVtb3RlUmVzb3VyY2VDYWNoZS5oCkBAIC0yOSwxMiArMjksNyBAQAogCiAjaW5jbHVkZSAiUXVh
bGlmaWVkUmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyLmgiCiAjaW5jbHVkZSAiUXVhbGlmaWVk
UmVzb3VyY2VIZWFwLmgiCi0jaW5jbHVkZSA8V2ViQ29yZS9Gb250Lmg+Ci0jaW5jbHVkZSA8V2Vi
Q29yZS9JbWFnZUJ1ZmZlci5oPgotI2luY2x1ZGUgPFdlYkNvcmUvTmF0aXZlSW1hZ2UuaD4KICNp
bmNsdWRlIDxXZWJDb3JlL1Byb2Nlc3NJZGVudGlmaWVyLmg+Ci0jaW5jbHVkZSA8V2ViQ29yZS9S
ZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXIuaD4KLSNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgog
CiBuYW1lc3BhY2UgV2ViS2l0IHsKIApAQCAtNTQsMTAgKzQ5LDYgQEAgcHVibGljOgogICAgIHZv
aWQgZGVsZXRlQWxsRm9udHMoKTsKICAgICBib29sIHJlbGVhc2VSZW1vdGVSZXNvdXJjZShRdWFs
aWZpZWRSZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXIpOwogCi0gICAgY29uc3QgV2ViQ29yZTo6
RGlzcGxheUxpc3Q6OlJlc291cmNlSGVhcCYgcmVzb3VyY2VIZWFwKCkgY29uc3QgeyByZXR1cm4g
bV9yZXNvdXJjZUhlYXA7IH0KLQotICAgIGJvb2wgaGFzQWN0aXZlRHJhd2FibGVzKCkgY29uc3Qg
eyByZXR1cm4gbV9yZXNvdXJjZUhlYXAuaGFzSW1hZ2VCdWZmZXIoKSB8fCBtX3Jlc291cmNlSGVh
cC5oYXNOYXRpdmVJbWFnZSgpOyB9Ci0KIHByaXZhdGU6CiAgICAgUXVhbGlmaWVkUmVzb3VyY2VI
ZWFwIG1fcmVzb3VyY2VIZWFwOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy9ncmFwaGljcy9TY29wZWRSZW5kZXJpbmdSZXNvdXJjZXNSZXF1ZXN0LmggYi9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvU2NvcGVkUmVuZGVyaW5nUmVzb3VyY2VzUmVxdWVz
dC5oCmluZGV4IGYxNTI3OGYxNjFjYzcwNDJmOTk2MGVlOTQxYTUyYWRjNjUyNmJkM2IuLjA5NGVj
ZDlkMDgyMDE2ODc1OGE2NDYyMGI4ZDAwYWE3YmYzOGI5ZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9TY29wZWRSZW5kZXJpbmdSZXNvdXJjZXNSZXF1ZXN0
LmgKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1Njb3BlZFJlbmRlcmlu
Z1Jlc291cmNlc1JlcXVlc3QuaApAQCAtNzQsNiArNzQsMTIgQEAgcHJpdmF0ZToKICAgICB9CiAg
ICAgc3RhdGljIHN0ZDo6YXRvbWljPHVuc2lnbmVkPiBzX3JlcXVlc3RzOwogICAgIGJvb2wgbV9y
ZXF1ZXN0ZWQgeyBmYWxzZSB9OworICAgIGZyaWVuZCBib29sIGhhc091dHN0YW5kaW5nUmVuZGVy
aW5nUmVzb3VyY2VVc2FnZSgpOwogfTsKIAoraW5saW5lIGJvb2wgaGFzT3V0c3RhbmRpbmdSZW5k
ZXJpbmdSZXNvdXJjZVVzYWdlKCkKK3sKKyAgICByZXR1cm4gU2NvcGVkUmVuZGVyaW5nUmVzb3Vy
Y2VzUmVxdWVzdDo6c19yZXF1ZXN0czsKK30KKwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5LmNwcCBiL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94
eS5jcHAKaW5kZXggOTJiZTgxNWM3ODYxMjBlM2IyNDY5MDQ3MDM2ZDFjYzZlMzhhOWYyZi4uZjIx
MDk2YWFhY2QwZDlmN2MwMDZlOThmNzMxMWE0NzkyZjA0YzdhMyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5LmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVkaWFQbGF5ZXJN
YW5hZ2VyUHJveHkuY3BwCkBAIC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSAiUmVtb3RlTWVkaWFQ
bGF5ZXJNYW5hZ2VyUHJveHlNZXNzYWdlcy5oIgogI2luY2x1ZGUgIlJlbW90ZU1lZGlhUGxheWVy
UHJveHkuaCIKICNpbmNsdWRlICJSZW1vdGVNZWRpYVBsYXllclByb3h5Q29uZmlndXJhdGlvbi5o
IgorI2luY2x1ZGUgIlNjb3BlZFJlbmRlcmluZ1Jlc291cmNlc1JlcXVlc3QuaCIKICNpbmNsdWRl
ICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKICNpbmNsdWRlIDxXZWJDb3JlL01lZGlhUGxheWVy
Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9NZWRpYVBsYXllclByaXZhdGUuaD4KQEAgLTc4LDcgKzc5
LDcgQEAgdm9pZCBSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eTo6ZGVsZXRlTWVkaWFQbGF5
ZXIoTWVkaWFQbGF5ZXJJZGVudGlmaWVyIGlkZW4KICAgICBpZiAoYXV0byBwcm94eSA9IG1fcHJv
eGllcy50YWtlKGlkZW50aWZpZXIpKQogICAgICAgICBwcm94eS0+aW52YWxpZGF0ZSgpOwogCi0g
ICAgaWYgKG1fZ3B1Q29ubmVjdGlvblRvV2ViUHJvY2VzcyAmJiBhbGxvd3NFeGl0VW5kZXJNZW1v
cnlQcmVzc3VyZSgpKQorICAgIGlmIChtX2dwdUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MgJiYgIWhh
c091dHN0YW5kaW5nUmVuZGVyaW5nUmVzb3VyY2VVc2FnZSgpKQogICAgICAgICBtX2dwdUNvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3MtPmdwdVByb2Nlc3MoKS50cnlFeGl0SWZVbnVzZWRBbmRVbmRlck1l
bW9yeVByZXNzdXJlKCk7CiB9CiAKQEAgLTE4MywxMSArMTg0LDYgQEAgUmVmUHRyPE1lZGlhUGxh
eWVyPiBSZW1vdGVNZWRpYVBsYXllck1hbmFnZXJQcm94eTo6bWVkaWFQbGF5ZXIoY29uc3QgTWVk
aWFQbGF5ZXIKICAgICByZXR1cm4gbnVsbHB0cjsKIH0KIAotYm9vbCBSZW1vdGVNZWRpYVBsYXll
ck1hbmFnZXJQcm94eTo6YWxsb3dzRXhpdFVuZGVyTWVtb3J5UHJlc3N1cmUoKSBjb25zdAotewot
ICAgIHJldHVybiBtX3Byb3hpZXMuaXNFbXB0eSgpOwotfQotCiAjaWYgIVJFTEVBU0VfTE9HX0RJ
U0FCTEVECiBMb2dnZXImIFJlbW90ZU1lZGlhUGxheWVyTWFuYWdlclByb3h5Ojpsb2dnZXIoKQog
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZU1lZGlh
UGxheWVyTWFuYWdlclByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVt
b3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHkuaAppbmRleCBmMDM1NmZlZTA0YWRlZGE5NWE3NTRk
ZTdmYjRjNTUwMDU4OGZiN2U3Li5jYmE0Y2FkOWE2OGY0ZjhkMzAxOGFhNWI4OGYzNTA2MDQ2M2Fj
MDdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlTWVk
aWFQbGF5ZXJNYW5hZ2VyUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVk
aWEvUmVtb3RlTWVkaWFQbGF5ZXJNYW5hZ2VyUHJveHkuaApAQCAtNjYsNyArNjYsNiBAQCBwdWJs
aWM6CiAgICAgYm9vbCBkaWRSZWNlaXZlU3luY1BsYXllck1lc3NhZ2UoSVBDOjpDb25uZWN0aW9u
JiwgSVBDOjpEZWNvZGVyJiwgVW5pcXVlUmVmPElQQzo6RW5jb2Rlcj4mKTsKIAogICAgIFJlZlB0
cjxXZWJDb3JlOjpNZWRpYVBsYXllcj4gbWVkaWFQbGF5ZXIoY29uc3QgV2ViQ29yZTo6TWVkaWFQ
bGF5ZXJJZGVudGlmaWVyJik7Ci0gICAgYm9vbCBhbGxvd3NFeGl0VW5kZXJNZW1vcnlQcmVzc3Vy
ZSgpIGNvbnN0OwogCiAgICAgU2hhcmVhYmxlQml0bWFwOjpIYW5kbGUgYml0bWFwSW1hZ2VGb3JD
dXJyZW50VGltZShXZWJDb3JlOjpNZWRpYVBsYXllcklkZW50aWZpZXIpOwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>