<?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>212293</bug_id>
          
          <creation_ts>2020-05-22 18:37:54 -0700</creation_ts>
          <short_desc>VideoFullscreenInterfaceAVKit is leaking when a video element enters and exits fullscreen/picture-in-picture</short_desc>
          <delta_ts>2020-06-23 20:23:29 -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>Media</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=212392</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Peng Liu">peng.liu6</reporter>
          <assigned_to name="Peng Liu">peng.liu6</assigned_to>
          <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1655548</commentid>
    <comment_count>0</comment_count>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2020-05-22 18:37:54 -0700</bug_when>
    <thetext>VideoFullscreenInterfaceAVKit is leaking when a video element enters and exits fullscreen/picture-in-picture</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1655549</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-05-22 18:38:30 -0700</bug_when>
    <thetext>&lt;rdar://problem/63561002&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1655558</commentid>
    <comment_count>2</comment_count>
      <attachid>400100</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2020-05-22 19:13:05 -0700</bug_when>
    <thetext>Created attachment 400100
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1655792</commentid>
    <comment_count>3</comment_count>
      <attachid>400100</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-05-24 23:52:04 -0700</bug_when>
    <thetext>Comment on attachment 400100
Patch

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

&gt; Source/WebKit/ChangeLog:16
&gt; +        VideoFullscreenInterface[AVKit|Mac] is not ready yet.

s/not ready yet/ready/

&gt; Source/WebCore/platform/ios/VideoFullscreenInterfaceAVKit.h:64
&gt; +    , public ThreadSafeRefCounted&lt;VideoFullscreenInterfaceAVKit&gt;

This might be left to another patch but do we even need this one to be ref counted?
Can we make it a unique_ptr and replace all the Ref&lt;VideoFullscreenInterfaceAVKit&gt; by WeakPtr&lt;VideoFullscreenInterfaceAVKit&gt; except for the owner of the VideoFullscreenInterfaceAVKit?

If we need it to be refcounted, is there a possibility VideoFullscreenInterfaceAVKit get destroyed in a background thread?
Given it has string, we probably do not want that. We could make it ThreadSafeRefCounted&lt;VideoFullscreenInterfaceAVKit, DestructionThread::Main (or MainRunLoop)&gt;

&gt; Source/WebCore/platform/ios/VideoFullscreenInterfaceAVKit.mm:48
&gt; +#import &lt;wtf/RefPtr.h&gt;

Is this one really needed, I would expect WTFString.h to include it somehow.

&gt; Source/WebCore/platform/ios/VideoFullscreenInterfaceAVKit.mm:98
&gt; +    WeakPtr&lt;VideoFullscreenInterfaceAVKit&gt; _fullscreenInterface;

Are we sure _fullscreenInterface will only be used in the main thread?

&gt; Source/WebCore/platform/ios/VideoFullscreenInterfaceAVKit.mm:112
&gt; +    _fullscreenInterface = makeWeakPtr(*fullscreenInterface);

Let&apos;s add an ASSERT(IsMainThread()) here.

&gt; Source/WebKit/UIProcess/Cocoa/VideoFullscreenManagerProxy.mm:540
&gt; +    if (!m_contextMap.contains(contextId))

It would be nice to use an ObjectIdentifier&lt;&gt; instead of a uint64_t, as a follow-up patch.
That would make the code more type-aware and allow removing the MESSAGE_CHECK_CONTEXTID(contextId).

&gt; Source/WebKit/UIProcess/Cocoa/VideoFullscreenManagerProxy.mm:543
&gt;      ensureInterface(contextId).hasVideoChanged(hasVideo);

We are searching m_contextMap twice probably.
Can we add a routine so that we can write :
if (auto* interface = interfaceIfFromIdentifier(contextId))
    interface-&gt;hasVideoChanged(hasVideo);

&gt; Source/WebKit/UIProcess/Cocoa/VideoFullscreenManagerProxy.mm:553
&gt; +        return;

Ditto</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1656270</commentid>
    <comment_count>4</comment_count>
      <attachid>400302</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2020-05-26 20:03:10 -0700</bug_when>
    <thetext>Created attachment 400302
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1656272</commentid>
    <comment_count>5</comment_count>
      <attachid>400100</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2020-05-26 20:06:16 -0700</bug_when>
    <thetext>Comment on attachment 400100
Patch

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

&gt;&gt; Source/WebKit/ChangeLog:16
&gt;&gt; +        VideoFullscreenInterface[AVKit|Mac] is not ready yet.
&gt; 
&gt; s/not ready yet/ready/

Fixed.

&gt;&gt; Source/WebCore/platform/ios/VideoFullscreenInterfaceAVKit.h:64
&gt;&gt; +    , public ThreadSafeRefCounted&lt;VideoFullscreenInterfaceAVKit&gt;
&gt; 
&gt; This might be left to another patch but do we even need this one to be ref counted?
&gt; Can we make it a unique_ptr and replace all the Ref&lt;VideoFullscreenInterfaceAVKit&gt; by WeakPtr&lt;VideoFullscreenInterfaceAVKit&gt; except for the owner of the VideoFullscreenInterfaceAVKit?

Did a simple search. Currently, WebAVPlayerLayer, VideoFullscreenControllerContext and
WKFullScreenViewControllerVideoFullscreenModelClient have RefPtr of VideoFullscreenInterfaceAVKit. In addition, VideoFullscreenManagerProxy has a hash map of ModelInterfaceTuple, which includes RefPtr of VideoFullscreenInterfaceAVKit. We may need to refactor some classes to get rid of the RefPtr of VideoFullscreenInterfaceAVKit and we must be very careful to avoid any timing issue. Also, if we do the refactoring for VideoFullscreenInterfaceAVKit, we had better do the same thing for VideoFullscreenInterfaceMac as well.

&gt; 
&gt; If we need it to be refcounted, is there a possibility VideoFullscreenInterfaceAVKit get destroyed in a background thread?
&gt; Given it has string, we probably do not want that. We could make it ThreadSafeRefCounted&lt;VideoFullscreenInterfaceAVKit, DestructionThread::Main (or MainRunLoop)&gt;

Good point! Make it ThreadSafeRefCounted&lt;VideoFullscreenInterfaceAVKit, DestructionThread::MainRunLoop&gt;.

&gt;&gt; Source/WebCore/platform/ios/VideoFullscreenInterfaceAVKit.mm:48
&gt;&gt; +#import &lt;wtf/RefPtr.h&gt;
&gt; 
&gt; Is this one really needed, I would expect WTFString.h to include it somehow.

It should be included indirectly somehow because there was no building errors.

&gt;&gt; Source/WebCore/platform/ios/VideoFullscreenInterfaceAVKit.mm:98
&gt;&gt; +    WeakPtr&lt;VideoFullscreenInterfaceAVKit&gt; _fullscreenInterface;
&gt; 
&gt; Are we sure _fullscreenInterface will only be used in the main thread?

Not sure. Let&apos;s add ASSERT(isMainThread()).

&gt;&gt; Source/WebCore/platform/ios/VideoFullscreenInterfaceAVKit.mm:112
&gt;&gt; +    _fullscreenInterface = makeWeakPtr(*fullscreenInterface);
&gt; 
&gt; Let&apos;s add an ASSERT(IsMainThread()) here.

Done.

&gt;&gt; Source/WebKit/UIProcess/Cocoa/VideoFullscreenManagerProxy.mm:540
&gt;&gt; +    if (!m_contextMap.contains(contextId))
&gt; 
&gt; It would be nice to use an ObjectIdentifier&lt;&gt; instead of a uint64_t, as a follow-up patch.
&gt; That would make the code more type-aware and allow removing the MESSAGE_CHECK_CONTEXTID(contextId).

Filed a bug for it webkit.org/b/212392.

&gt;&gt; Source/WebKit/UIProcess/Cocoa/VideoFullscreenManagerProxy.mm:543
&gt;&gt;      ensureInterface(contextId).hasVideoChanged(hasVideo);
&gt; 
&gt; We are searching m_contextMap twice probably.
&gt; Can we add a routine so that we can write :
&gt; if (auto* interface = interfaceIfFromIdentifier(contextId))
&gt;     interface-&gt;hasVideoChanged(hasVideo);

Added VideoFullscreenManagerProxy::findInterface() for this purpose.

&gt;&gt; Source/WebKit/UIProcess/Cocoa/VideoFullscreenManagerProxy.mm:553
&gt;&gt; +        return;
&gt; 
&gt; Ditto

Same as the above comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1656300</commentid>
    <comment_count>6</comment_count>
      <attachid>400311</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2020-05-26 23:39:50 -0700</bug_when>
    <thetext>Created attachment 400311
patch for landing v2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1656311</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-05-27 00:50:49 -0700</bug_when>
    <thetext>Committed r262185: &lt;https://trac.webkit.org/changeset/262185&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 400311.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>400100</attachid>
            <date>2020-05-22 19:13:05 -0700</date>
            <delta_ts>2020-05-24 23:52:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-212293-20200522191304.patch</filename>
            <type>text/plain</type>
            <size>8056</size>
            <attacher name="Peng Liu">peng.liu6</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYyMDQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWFlZDZjZDM4YTZkMDk3
OGUyMmFkYjkwN2EwOTEwMzQ2ZGNjMTE4Yy4uZGY2YmZjYzg1OTlmNDMzZGFhNGY1Zjk4MGE0ODVj
NWNkZGYwMmJkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDIwLTA1LTIyICBQZW5n
IExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CisKKyAgICAgICAgVmlkZW9GdWxsc2NyZWVuSW50
ZXJmYWNlQVZLaXQgaXMgbGVha2luZyB3aGVuIGEgdmlkZW8gZWxlbWVudCBlbnRlcnMgYW5kIGV4
aXRzIGZ1bGxzY3JlZW4vcGljdHVyZS1pbi1waWN0dXJlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTIyOTMKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZWJBVlBsYXllclZpZXdDb250cm9sbGVyRGVsZWdh
dGUgaXMgY3JlYXRlZCBhbmQgcmV0YWluZWQgYnkgVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZL
aXQsCisgICAgICAgIGJ1dCBpdCBoYXMgYSBSZWZQdHIgdG8gVmlkZW9GdWxsc2NyZWVuSW50ZXJm
YWNlQVZLaXQuIFRoaXMgbGVhZHMgdG8gYSBtZW1vcnkgbGVhaworICAgICAgICB3aGVuIGEgdmlk
ZW8gZWxlbWVudCBlbnRlcnMgYW5kIGV4aXQgZnVsbHNjcmVlbiBvciBQaWN0dXJlLWluLVBpY3R1
cmUuIFRoaXMgcGF0Y2gKKyAgICAgICAgcmVwbGFjZXMgdGhlIFJlZlB0ciB3aXRoIGEgV2Vha1B0
ciB0byBmaXggdGhlIGxlYWsuCisKKyAgICAgICAgV2l0aCB0aGlzIHBhdGNoLCB3ZSBjb25maWcg
cGxheWVyQ29udHJvbGxlciBpbiBWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6c2V0dXBG
dWxsc2NyZWVuKCkKKyAgICAgICAgYW5kIFZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0Ojpj
bGVhbnVwRnVsbHNjcmVlbigpLCBzbyB0aGF0IHdlIGNhbiBhdm9pZCByZWx5aW5nIG9uCisgICAg
ICAgIFZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eTo6c2V0SGFzVmlkZW8oKSBhbmQgVmlkZW9G
dWxsc2NyZWVuTWFuYWdlclByb3h5OjpzZXRWaWRlb0RpbWVuc2lvbnMoKS4KKyAgICAgICAgVGhv
c2UgdHdvIGZ1bmN0aW9ucyBhcmUgZHJpdmVuIGJ5IElQQyBtZXNzYWdlcyBmcm9tIHRoZSBXZWIg
cHJvY2Vzcywgd2hpY2ggbWF5IGNvbWUgYmVmb3JlCisgICAgICAgIFZpZGVvRnVsbHNjcmVlbklu
dGVyZmFjZUFWS2l0IGlzIGNvbnN0cnVjdGVkIG9yIGFmdGVyIFZpZGVvRnVsbHNjcmVlbkludGVy
ZmFjZUFWS2l0CisgICAgICAgIGlzIGRlc3Ryb3llZC4KKworICAgICAgICBNYW51YWxseSB0ZXN0
ZWQuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZL
aXQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZL
aXQubW06CisgICAgICAgICgtW1dlYkFWUGxheWVyVmlld0NvbnRyb2xsZXJEZWxlZ2F0ZSBzZXRG
dWxsc2NyZWVuSW50ZXJmYWNlOl0pOgorICAgICAgICAoVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNl
QVZLaXQ6OnNldHVwRnVsbHNjcmVlbik6CisgICAgICAgIChWaWRlb0Z1bGxzY3JlZW5JbnRlcmZh
Y2VBVktpdDo6Y2xlYW51cEZ1bGxzY3JlZW4pOgorCiAyMDIwLTA1LTIxICBTaW1vbiBGcmFzZXIg
IDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFNjcm9sbGluZyB0aHJlYWQgc2Ny
b2xscyBvbiBzeW5jLXNjcm9sbGluZyBzY3JvbGxlcnMgZG9uJ3QgZ2V0IHRvIHRoZSBtYWluIHRo
cmVhZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZwppbmRleCBmY2U2YjAxMzA4MmU3Y2UxODM3NzJkNGE0MGY4NjZmMjc4NzE2YmY2
Li5mNmMxMTVkZmY0MTRhMzI2M2FkYzNiNjVhZTIxMWQxODBiMWFlYmI0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAt
MSwzICsxLDIzIEBACisyMDIwLTA1LTIyICBQZW5nIExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+
CisKKyAgICAgICAgVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQgaXMgbGVha2luZyB3aGVu
IGEgdmlkZW8gZWxlbWVudCBlbnRlcnMgYW5kIGV4aXRzIGZ1bGxzY3JlZW4vcGljdHVyZS1pbi1w
aWN0dXJlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MTIyOTMKKworICAgICAgICBWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHk6OmVuc3VyZUludGVy
ZmFjZSgpIG1ha2VzIHN1cmUgYSBmdWxsc2NyZWVuIGludGVyZmFjZSBvYmplY3QgZXhpc3RzIChh
biBvYmplY3QKKyAgICAgICAgd2lsbCBiZSBjcmVhdGVkIGlmIGl0IGRvZXMgbm90IGV4aXQpLiBU
aGF0IG1lYW5zIGFuIGV4dHJhIG9iamVjdCB3aWxsIGJlIGNyZWF0ZWQgYnkgYW4gSVBDIG1lc3Nh
Z2UgZnJvbQorICAgICAgICB0aGUgV2ViIHByb2Nlc3MgYWZ0ZXIgdGhlIG9yaWdpbmFsIHZpZGVv
IGZ1bGxzY3JlZW4gaW50ZXJmYWNlIG9iamVjdCBoYXMgYmVlbiBkZXN0cm95ZWQgKHRoYXRzIGhh
cHBlbnMKKyAgICAgICAgd2hlbiBhIHZpZGVvIGVsZW1lbnQgaXMgcmV0dXJuaW5nIHRvIGlubGlu
ZSBmcm9tIGZ1bGxzY3JlZW4gb3IgcGljdHVyZS1pbi1waWN0dXJlKS4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9WaWRl
b0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkubW06CisgICAgICAgIChXZWJLaXQ6OlZpZGVvRnVsbHNj
cmVlbk1hbmFnZXJQcm94eTo6c2V0SGFzVmlkZW8pOgorICAgICAgICBEb24ndCBjYWxsIFZpZGVv
RnVsbHNjcmVlbkludGVyZmFjZVtBVktpdHxNYWNdOjpoYXNWaWRlb0NoYW5nZWQoKSBiZWZvcmUg
dGhlIGluc3RhbmNlIG9mCisgICAgICAgIFZpZGVvRnVsbHNjcmVlbkludGVyZmFjZVtBVktpdHxN
YWNdIGlzIG5vdCByZWFkeSB5ZXQuCisgICAgICAgIChXZWJLaXQ6OlZpZGVvRnVsbHNjcmVlbk1h
bmFnZXJQcm94eTo6c2V0VmlkZW9EaW1lbnNpb25zKToKKyAgICAgICAgRG9uJ3QgY2FsbCBWaWRl
b0Z1bGxzY3JlZW5JbnRlcmZhY2VbQVZLaXR8TWFjXTo6dmlkZW9EaW1lbnNpb25zQ2hhbmdlZCgp
IGFmdGVyIHRoZSBpbnN0YW5jZSBvZgorICAgICAgICBWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2Vb
QVZLaXR8TWFjXSBpcyBkZXN0cm95ZWQuCisKIDIwMjAtMDUtMjEgIFBlbmcgTGl1ICA8cGVuZy5s
aXU2QGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggaXNzdWVzIG9mIHRoZSBQaWN0dXJlLWluLVBp
Y3R1cmUgQVBJIHVuZGVyIHN0cmVzcyB0ZXN0cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vaW9zL1ZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0LmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9pb3MvVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQuaAppbmRleCBk
NmFjNGNhMDVmMmRkZmM4OGUzMGM4ZTFiM2JmZTZhMjdjYWU0MjM4Li43OWFhODVhNmRlN2M2Mjk3
YzVhMTY5YjhhZTM0NGEwN2MyODNjZDFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9pb3MvVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9pb3MvVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQuaApAQCAtMzYs
MTAgKzM2LDEwIEBACiAjaW5jbHVkZSA8b2JqYy9vYmpjLmg+CiAjaW5jbHVkZSA8d3RmL0Zvcndh
cmQuaD4KICNpbmNsdWRlIDx3dGYvRnVuY3Rpb24uaD4KLSNpbmNsdWRlIDx3dGYvUmVmQ291bnRl
ZC5oPgotI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+
CiAjaW5jbHVkZSA8d3RmL1J1bkxvb3AuaD4KKyNpbmNsdWRlIDx3dGYvVGhyZWFkU2FmZVJlZkNv
dW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvV2Vha1B0ci5oPgogCiBPQkpDX0NMQVNTIFVJVmlld0Nv
bnRyb2xsZXI7CiBPQkpDX0NMQVNTIFVJV2luZG93OwpAQCAtNjEsOCArNjEsOCBAQCBjbGFzcyBW
aWRlb0Z1bGxzY3JlZW5DaGFuZ2VPYnNlcnZlcjsKIGNsYXNzIFZpZGVvRnVsbHNjcmVlbkludGVy
ZmFjZUFWS2l0IGZpbmFsCiAgICAgOiBwdWJsaWMgVmlkZW9GdWxsc2NyZWVuTW9kZWxDbGllbnQK
ICAgICAsIHB1YmxpYyBQbGF5YmFja1Nlc3Npb25Nb2RlbENsaWVudAotICAgICwgcHVibGljIFRo
cmVhZFNhZmVSZWZDb3VudGVkPFZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0PiB7Ci0KKyAg
ICAsIHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VB
VktpdD4KKyAgICAsIHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxWaWRlb0Z1bGxzY3JlZW5JbnRlcmZh
Y2VBVktpdD4gewogcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBSZWY8VmlkZW9G
dWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ+IGNyZWF0ZShQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VB
VktpdCYpOwogICAgIHZpcnR1YWwgflZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0KCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvVmlkZW9GdWxsc2NyZWVuSW50
ZXJmYWNlQVZLaXQubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvVmlkZW9GdWxsc2Ny
ZWVuSW50ZXJmYWNlQVZLaXQubW0KaW5kZXggNmNlMTc2ZjJmNzYwNGJlNTZkNDFkMTQ1ZDBjYTUz
NjVjOWQ0Y2MyNy4uMTVjZmM4YjI0YmZiMzVlNDUxNDFlMjAxMGYzOTU4ZWM3MWFjOTZjMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1ZpZGVvRnVsbHNjcmVlbkludGVy
ZmFjZUFWS2l0Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9WaWRlb0Z1bGxz
Y3JlZW5JbnRlcmZhY2VBVktpdC5tbQpAQCAtNDUsNiArNDUsNyBAQAogI2ltcG9ydCA8cGFsL3Nw
aS9jb2NvYS9BVktpdFNQSS5oPgogI2ltcG9ydCA8cGFsL3NwaS9jb2NvYS9RdWFydHpDb3JlU1BJ
Lmg+CiAjaW1wb3J0IDxwYWwvc3BpL2lvcy9VSUtpdFNQSS5oPgorI2ltcG9ydCA8d3RmL1JlZlB0
ci5oPgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgogI2ltcG9ydCA8d3RmL3RleHQvQ1N0cmlu
Zy5oPgogI2ltcG9ydCA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CkBAIC05NCw3ICs5NSw3IEBAIEBl
bmQKIEBjbGFzcyBXZWJBVk1lZGlhU2VsZWN0aW9uT3B0aW9uOwogCiBAaW50ZXJmYWNlIFdlYkFW
UGxheWVyVmlld0NvbnRyb2xsZXJEZWxlZ2F0ZSA6IE5TT2JqZWN0IDxBVlBsYXllclZpZXdDb250
cm9sbGVyRGVsZWdhdGVfV2ViS2l0T25seT4gewotICAgIFJlZlB0cjxWaWRlb0Z1bGxzY3JlZW5J
bnRlcmZhY2VBVktpdD4gX2Z1bGxzY3JlZW5JbnRlcmZhY2U7CisgICAgV2Vha1B0cjxWaWRlb0Z1
bGxzY3JlZW5JbnRlcmZhY2VBVktpdD4gX2Z1bGxzY3JlZW5JbnRlcmZhY2U7CiB9CiBAcHJvcGVy
dHkgKGFzc2lnbikgVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQqIGZ1bGxzY3JlZW5JbnRl
cmZhY2U7CiAtIChCT09MKXBsYXllclZpZXdDb250cm9sbGVyOihBVlBsYXllclZpZXdDb250cm9s
bGVyICopcGxheWVyVmlld0NvbnRyb2xsZXIgc2hvdWxkRXhpdEZ1bGxTY3JlZW5XaXRoUmVhc29u
OihBVlBsYXllclZpZXdDb250cm9sbGVyRXhpdEZ1bGxTY3JlZW5SZWFzb24pcmVhc29uOwpAQCAt
MTA4LDcgKzEwOSw3IEBAIC0gKFZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0KilmdWxsc2Ny
ZWVuSW50ZXJmYWNlCiAKIC0gKHZvaWQpc2V0RnVsbHNjcmVlbkludGVyZmFjZTooVmlkZW9GdWxs
c2NyZWVuSW50ZXJmYWNlQVZLaXQqKWZ1bGxzY3JlZW5JbnRlcmZhY2UKIHsKLSAgICBfZnVsbHNj
cmVlbkludGVyZmFjZSA9IGZ1bGxzY3JlZW5JbnRlcmZhY2U7CisgICAgX2Z1bGxzY3JlZW5JbnRl
cmZhY2UgPSBtYWtlV2Vha1B0cigqZnVsbHNjcmVlbkludGVyZmFjZSk7CiB9CiAKIC0gKHZvaWQp
cGxheWVyVmlld0NvbnRyb2xsZXJXaWxsU3RhcnRQaWN0dXJlSW5QaWN0dXJlOihBVlBsYXllclZp
ZXdDb250cm9sbGVyICopcGxheWVyVmlld0NvbnRyb2xsZXIKQEAgLTg5MSw2ICs4OTIsMTAgQEAg
dm9pZCBWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6c2V0dXBGdWxsc2NyZWVuKFVJVmll
dyYgdmlkZW9WaWV3LCBjb25zdCBJbnQKICAgICBBU1NFUlQoc3RhbmRieSB8fCBtb2RlICE9IEhU
TUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZU5vbmUpOwogICAgIExPRyhG
dWxsc2NyZWVuLCAiVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OnNldHVwRnVsbHNjcmVl
biglcCkiLCB0aGlzKTsKIAorICAgIFtwbGF5ZXJDb250cm9sbGVyKCkgc2V0SGFzRW5hYmxlZFZp
ZGVvOnRydWVdOworICAgIFtwbGF5ZXJDb250cm9sbGVyKCkgc2V0SGFzVmlkZW86dHJ1ZV07Cisg
ICAgW3BsYXllckNvbnRyb2xsZXIoKSBzZXRDb250ZW50RGltZW5zaW9uczppbml0aWFsUmVjdC5z
aXplKCldOworCiAgICAgbV9hbGxvd3NQaWN0dXJlSW5QaWN0dXJlUGxheWJhY2sgPSBhbGxvd3NQ
aWN0dXJlSW5QaWN0dXJlUGxheWJhY2s7CiAgICAgbV92aWRlb1ZpZXcgPSAmdmlkZW9WaWV3Owog
ICAgIG1fcGFyZW50VmlldyA9IHBhcmVudFZpZXc7CkBAIC05NjgsNiArOTczLDkgQEAgdm9pZCBW
aWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6Y2xlYW51cEZ1bGxzY3JlZW4oKQogICAgIAog
ICAgIGlmIChtX2Z1bGxzY3JlZW5DaGFuZ2VPYnNlcnZlcikKICAgICAgICAgbV9mdWxsc2NyZWVu
Q2hhbmdlT2JzZXJ2ZXItPmRpZENsZWFudXBGdWxsc2NyZWVuKCk7CisKKyAgICBbcGxheWVyQ29u
dHJvbGxlcigpIHNldEhhc0VuYWJsZWRWaWRlbzpmYWxzZV07CisgICAgW3BsYXllckNvbnRyb2xs
ZXIoKSBzZXRIYXNWaWRlbzpmYWxzZV07CiB9CiAKIHZvaWQgVmlkZW9GdWxsc2NyZWVuSW50ZXJm
YWNlQVZLaXQ6OmludmFsaWRhdGUoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQ29jb2EvVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5Lm1tIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQ29jb2EvVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5Lm1tCmluZGV4IDQxZDk0
ZDM5MjZkMDdjZjUzNzhlN2Y2ZmMwOThjNDZhMzQxYjRkOWEuLmFlODU3NGUzZWYyZGQ2YThkNGQ1
MmQ1NDNlZDVjZDJjOGE5ODU1OTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0NvY29hL1ZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Db2NvYS9WaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkubW0KQEAgLTUzNyw2
ICs1MzcsOSBAQCB2b2lkIFZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eTo6c2V0SGFzVmlkZW8o
dWludDY0X3QgY29udGV4dElkLCBib29sIGhhc1ZpZGVvKQogICAgIGlmIChtX21vY2tWaWRlb1By
ZXNlbnRhdGlvbk1vZGVFbmFibGVkKQogICAgICAgICByZXR1cm47CiAKKyAgICBpZiAoIW1fY29u
dGV4dE1hcC5jb250YWlucyhjb250ZXh0SWQpKQorICAgICAgICByZXR1cm47CisKICAgICBlbnN1
cmVJbnRlcmZhY2UoY29udGV4dElkKS5oYXNWaWRlb0NoYW5nZWQoaGFzVmlkZW8pOwogfQogCkBA
IC01NDYsNiArNTQ5LDkgQEAgdm9pZCBWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHk6OnNldFZp
ZGVvRGltZW5zaW9ucyh1aW50NjRfdCBjb250ZXh0SWQsIGNvbnN0IEYKICAgICBpZiAobV9tb2Nr
VmlkZW9QcmVzZW50YXRpb25Nb2RlRW5hYmxlZCkKICAgICAgICAgcmV0dXJuOwogCisgICAgaWYg
KCFtX2NvbnRleHRNYXAuY29udGFpbnMoY29udGV4dElkKSkKKyAgICAgICAgcmV0dXJuOworCiAg
ICAgZW5zdXJlSW50ZXJmYWNlKGNvbnRleHRJZCkudmlkZW9EaW1lbnNpb25zQ2hhbmdlZCh2aWRl
b0RpbWVuc2lvbnMpOwogfQogCg==
</data>
<flag name="review"
          id="415533"
          type_id="1"
          status="+"
          setter="youennf"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>400302</attachid>
            <date>2020-05-26 20:03:10 -0700</date>
            <delta_ts>2020-05-26 23:40:23 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-212293-20200526200309.patch</filename>
            <type>text/plain</type>
            <size>9977</size>
            <attacher name="Peng Liu">peng.liu6</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYyMTUxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDM4NzE5ZGY2YThlMGE4
OTI0ZTJkMGZmMjYyYTViODBhOTBmOGYzOS4uZjNlZTUyYTUwZjhiMzZiNDViYzVjMTk4NmMwMDQ0
NzU2OGUxMTIxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDIwLTA1LTI2ICBQZW5n
IExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CisKKyAgICAgICAgVmlkZW9GdWxsc2NyZWVuSW50
ZXJmYWNlQVZLaXQgaXMgbGVha2luZyB3aGVuIGEgdmlkZW8gZWxlbWVudCBlbnRlcnMgYW5kIGV4
aXRzIGZ1bGxzY3JlZW4vcGljdHVyZS1pbi1waWN0dXJlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTIyOTMKKworICAgICAgICBSZXZpZXdlZCBieSBZ
b3Vlbm4gRmFibGV0LgorCisgICAgICAgIFdlYkFWUGxheWVyVmlld0NvbnRyb2xsZXJEZWxlZ2F0
ZSBpcyBjcmVhdGVkIGFuZCByZXRhaW5lZCBieSBWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktp
dCwKKyAgICAgICAgYnV0IGl0IGhhcyBhIFJlZlB0ciB0byBWaWRlb0Z1bGxzY3JlZW5JbnRlcmZh
Y2VBVktpdC4gVGhpcyBsZWFkcyB0byBhIG1lbW9yeSBsZWFrCisgICAgICAgIHdoZW4gYSB2aWRl
byBlbGVtZW50IGVudGVycyBhbmQgZXhpdCBmdWxsc2NyZWVuIG9yIFBpY3R1cmUtaW4tUGljdHVy
ZS4gVGhpcyBwYXRjaAorICAgICAgICByZXBsYWNlcyB0aGUgUmVmUHRyIHdpdGggYSBXZWFrUHRy
IHRvIGZpeCB0aGUgbGVhay4KKworICAgICAgICBXaXRoIHRoaXMgcGF0Y2gsIHdlIGNvbmZpZyBw
bGF5ZXJDb250cm9sbGVyIGluIFZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0OjpzZXR1cEZ1
bGxzY3JlZW4oKQorICAgICAgICBhbmQgVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OmNs
ZWFudXBGdWxsc2NyZWVuKCksIHNvIHRoYXQgd2UgY2FuIGF2b2lkIHJlbHlpbmcgb24KKyAgICAg
ICAgVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5OjpzZXRIYXNWaWRlbygpIGFuZCBWaWRlb0Z1
bGxzY3JlZW5NYW5hZ2VyUHJveHk6OnNldFZpZGVvRGltZW5zaW9ucygpLgorICAgICAgICBUaG9z
ZSB0d28gZnVuY3Rpb25zIGFyZSBkcml2ZW4gYnkgSVBDIG1lc3NhZ2VzIGZyb20gdGhlIFdlYiBw
cm9jZXNzLCB3aGljaCBtYXkgY29tZSBiZWZvcmUKKyAgICAgICAgVmlkZW9GdWxsc2NyZWVuSW50
ZXJmYWNlQVZLaXQgaXMgY29uc3RydWN0ZWQgb3IgYWZ0ZXIgVmlkZW9GdWxsc2NyZWVuSW50ZXJm
YWNlQVZLaXQKKyAgICAgICAgaXMgZGVzdHJveWVkLgorCisgICAgICAgIE1hbnVhbGx5IHRlc3Rl
ZC4KKworICAgICAgICAqIHBsYXRmb3JtL2lvcy9WaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktp
dC5oOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9WaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktp
dC5tbToKKyAgICAgICAgKC1bV2ViQVZQbGF5ZXJWaWV3Q29udHJvbGxlckRlbGVnYXRlIHNldEZ1
bGxzY3JlZW5JbnRlcmZhY2U6XSk6CisgICAgICAgIChWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VB
VktpdDo6c2V0dXBGdWxsc2NyZWVuKToKKyAgICAgICAgKFZpZGVvRnVsbHNjcmVlbkludGVyZmFj
ZUFWS2l0OjpjbGVhbnVwRnVsbHNjcmVlbik6CisKIDIwMjAtMDUtMjYgIFNhbSBXZWluaWcgIDx3
ZWluaWdAYXBwbGUuY29tPgogCiAgICAgICAgIEV4dGVuZGVkIENvbG9yIENsZWFudXA6IFJlbW92
ZSByZWQoKS9ncmVlbigpL2JsdWUoKSBhY2Nlc3NvcnMgZnJvbSBFeHRlbmRlZENvbG9yIGluIHBy
ZXBlcmF0aW9uIGZvciBzdXBwb3J0aW5nIG5vbi1SR0IgYmFzZWQgQ29sb3JTcGFjZXMKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
aW5kZXggNTA5OTYzNTFhZDQyMzNmNGRlMTY3YjA0ZDEyNGI3NDFkMDIwZWJjNS4uYTAxZjIzNjQ2
ZDNlNGVjNTE4YWIzM2FmMmY5ODFiN2JiODFhY2JiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBA
QAorMjAyMC0wNS0yNiAgUGVuZyBMaXUgIDxwZW5nLmxpdTZAYXBwbGUuY29tPgorCisgICAgICAg
IFZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0IGlzIGxlYWtpbmcgd2hlbiBhIHZpZGVvIGVs
ZW1lbnQgZW50ZXJzIGFuZCBleGl0cyBmdWxsc2NyZWVuL3BpY3R1cmUtaW4tcGljdHVyZQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEyMjkzCisKKyAg
ICAgICAgVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5OjplbnN1cmVJbnRlcmZhY2UoKSBtYWtl
cyBzdXJlIGEgZnVsbHNjcmVlbiBpbnRlcmZhY2Ugb2JqZWN0IGV4aXN0cyAoYW4gb2JqZWN0Cisg
ICAgICAgIHdpbGwgYmUgY3JlYXRlZCBpZiBpdCBkb2VzIG5vdCBleGl0KS4gVGhhdCBtZWFucyBh
biBleHRyYSBvYmplY3Qgd2lsbCBiZSBjcmVhdGVkIGJ5IGFuIElQQyBtZXNzYWdlIGZyb20KKyAg
ICAgICAgdGhlIFdlYiBwcm9jZXNzIGFmdGVyIHRoZSBvcmlnaW5hbCB2aWRlbyBmdWxsc2NyZWVu
IGludGVyZmFjZSBvYmplY3QgaGFzIGJlZW4gZGVzdHJveWVkICh0aGF0cyBoYXBwZW5zCisgICAg
ICAgIHdoZW4gYSB2aWRlbyBlbGVtZW50IGlzIHJldHVybmluZyB0byBpbmxpbmUgZnJvbSBmdWxs
c2NyZWVuIG9yIHBpY3R1cmUtaW4tcGljdHVyZSkuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgWW91
ZW5uIEZhYmxldC4KKworICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9WaWRlb0Z1bGxzY3JlZW5N
YW5hZ2VyUHJveHkubW06CisgICAgICAgIChXZWJLaXQ6OlZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQ
cm94eTo6c2V0SGFzVmlkZW8pOgorICAgICAgICBEb24ndCBjYWxsIFZpZGVvRnVsbHNjcmVlbklu
dGVyZmFjZVtBVktpdHxNYWNdOjpoYXNWaWRlb0NoYW5nZWQoKSBiZWZvcmUgdGhlIGluc3RhbmNl
IG9mCisgICAgICAgIFZpZGVvRnVsbHNjcmVlbkludGVyZmFjZVtBVktpdHxNYWNdIGlzIHJlYWR5
LgorICAgICAgICAoV2ViS2l0OjpWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHk6OnNldFZpZGVv
RGltZW5zaW9ucyk6CisgICAgICAgIERvbid0IGNhbGwgVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNl
W0FWS2l0fE1hY106OnZpZGVvRGltZW5zaW9uc0NoYW5nZWQoKSBhZnRlciB0aGUgaW5zdGFuY2Ug
b2YKKyAgICAgICAgVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlW0FWS2l0fE1hY10gaXMgZGVzdHJv
eWVkLgorCiAyMDIwLTA1LTI2ICBQZW5nIExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CiAKICAg
ICAgICAgQVNTRVJUSU9OIEZBSUxFRDogbV9jbGllbnRDb3VudHMuY29udGFpbnMoY29udGV4dElk
KSAtIFdlYktpdDo6VmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5OjpyZW1vdmVDbGllbnRGb3JD
b250ZXh0KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9WaWRlb0Z1
bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1Zp
ZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0LmgKaW5kZXggZDZhYzRjYTA1ZjJkZGZjODhlMzBj
OGUxYjNiZmU2YTI3Y2FlNDIzOC4uNDM5MGNkNmExMTgyOThlZDFjNmNjMjlhY2Q4MDc0YzJkYjFl
NzY4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1ZpZGVvRnVsbHNj
cmVlbkludGVyZmFjZUFWS2l0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1Zp
ZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0LmgKQEAgLTM2LDEwICszNiwxMCBAQAogI2luY2x1
ZGUgPG9iamMvb2JqYy5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3Rm
L0Z1bmN0aW9uLmg+Ci0jaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KLSNpbmNsdWRlIDx3dGYv
UmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SdW5M
b29wLmg+CisjaW5jbHVkZSA8d3RmL1RocmVhZFNhZmVSZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8
d3RmL1dlYWtQdHIuaD4KIAogT0JKQ19DTEFTUyBVSVZpZXdDb250cm9sbGVyOwogT0JKQ19DTEFT
UyBVSVdpbmRvdzsKQEAgLTYxLDggKzYxLDggQEAgY2xhc3MgVmlkZW9GdWxsc2NyZWVuQ2hhbmdl
T2JzZXJ2ZXI7CiBjbGFzcyBWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdCBmaW5hbAogICAg
IDogcHVibGljIFZpZGVvRnVsbHNjcmVlbk1vZGVsQ2xpZW50CiAgICAgLCBwdWJsaWMgUGxheWJh
Y2tTZXNzaW9uTW9kZWxDbGllbnQKLSAgICAsIHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxW
aWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdD4gewotCisgICAgLCBwdWJsaWMgVGhyZWFkU2Fm
ZVJlZkNvdW50ZWQ8VmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQsIFdURjo6RGVzdHJ1Y3Rp
b25UaHJlYWQ6Ok1haW5SdW5Mb29wPgorICAgICwgcHVibGljIENhbk1ha2VXZWFrUHRyPFZpZGVv
RnVsbHNjcmVlbkludGVyZmFjZUFWS2l0PiB7CiBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQg
c3RhdGljIFJlZjxWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdD4gY3JlYXRlKFBsYXliYWNr
U2Vzc2lvbkludGVyZmFjZUFWS2l0Jik7CiAgICAgdmlydHVhbCB+VmlkZW9GdWxsc2NyZWVuSW50
ZXJmYWNlQVZLaXQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9W
aWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2lvcy9WaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5tbQppbmRleCBhNmU1NWQ2NmRhNGEw
ODNmNDYzMTM4YjBiODYxZDE0NmIyMjE1MzZkLi42MDk0YzhmMDRkNGYxOTlkM2QxZTE3YTZjOTUz
NzZkNWVjMTMxMjdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvVmlk
ZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vaW9zL1ZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0Lm1tCkBAIC00NSw2ICs0NSw3IEBA
CiAjaW1wb3J0IDxwYWwvc3BpL2NvY29hL0FWS2l0U1BJLmg+CiAjaW1wb3J0IDxwYWwvc3BpL2Nv
Y29hL1F1YXJ0ekNvcmVTUEkuaD4KICNpbXBvcnQgPHBhbC9zcGkvaW9zL1VJS2l0U1BJLmg+Cisj
aW1wb3J0IDx3dGYvUmVmUHRyLmg+CiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CiAjaW1wb3J0
IDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAjaW1wb3J0IDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KQEAg
LTk0LDcgKzk1LDcgQEAgQGVuZAogQGNsYXNzIFdlYkFWTWVkaWFTZWxlY3Rpb25PcHRpb247CiAK
IEBpbnRlcmZhY2UgV2ViQVZQbGF5ZXJWaWV3Q29udHJvbGxlckRlbGVnYXRlIDogTlNPYmplY3Qg
PEFWUGxheWVyVmlld0NvbnRyb2xsZXJEZWxlZ2F0ZV9XZWJLaXRPbmx5PiB7Ci0gICAgUmVmUHRy
PFZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0PiBfZnVsbHNjcmVlbkludGVyZmFjZTsKKyAg
ICBXZWFrUHRyPFZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0PiBfZnVsbHNjcmVlbkludGVy
ZmFjZTsKIH0KIEBwcm9wZXJ0eSAoYXNzaWduKSBWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktp
dCogZnVsbHNjcmVlbkludGVyZmFjZTsKIC0gKEJPT0wpcGxheWVyVmlld0NvbnRyb2xsZXI6KEFW
UGxheWVyVmlld0NvbnRyb2xsZXIgKilwbGF5ZXJWaWV3Q29udHJvbGxlciBzaG91bGRFeGl0RnVs
bFNjcmVlbldpdGhSZWFzb246KEFWUGxheWVyVmlld0NvbnRyb2xsZXJFeGl0RnVsbFNjcmVlblJl
YXNvbilyZWFzb247CkBAIC0xMDMsMTIgKzEwNCwxNCBAQCBAZW5kCiBAaW1wbGVtZW50YXRpb24g
V2ViQVZQbGF5ZXJWaWV3Q29udHJvbGxlckRlbGVnYXRlCiAtIChWaWRlb0Z1bGxzY3JlZW5JbnRl
cmZhY2VBVktpdCopZnVsbHNjcmVlbkludGVyZmFjZQogeworICAgIEFTU0VSVChpc01haW5UaHJl
YWQoKSk7CiAgICAgcmV0dXJuIF9mdWxsc2NyZWVuSW50ZXJmYWNlLmdldCgpOwogfQogCiAtICh2
b2lkKXNldEZ1bGxzY3JlZW5JbnRlcmZhY2U6KFZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0
KilmdWxsc2NyZWVuSW50ZXJmYWNlCiB7Ci0gICAgX2Z1bGxzY3JlZW5JbnRlcmZhY2UgPSBmdWxs
c2NyZWVuSW50ZXJmYWNlOworICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CisgICAgX2Z1bGxz
Y3JlZW5JbnRlcmZhY2UgPSBtYWtlV2Vha1B0cigqZnVsbHNjcmVlbkludGVyZmFjZSk7CiB9CiAK
IC0gKHZvaWQpcGxheWVyVmlld0NvbnRyb2xsZXJXaWxsU3RhcnRQaWN0dXJlSW5QaWN0dXJlOihB
VlBsYXllclZpZXdDb250cm9sbGVyICopcGxheWVyVmlld0NvbnRyb2xsZXIKQEAgLTg5MSw2ICs4
OTQsMTAgQEAgdm9pZCBWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6c2V0dXBGdWxsc2Ny
ZWVuKFVJVmlldyYgdmlkZW9WaWV3LCBjb25zdCBJbnQKICAgICBBU1NFUlQoc3RhbmRieSB8fCBt
b2RlICE9IEhUTUxNZWRpYUVsZW1lbnRFbnVtczo6VmlkZW9GdWxsc2NyZWVuTW9kZU5vbmUpOwog
ICAgIExPRyhGdWxsc2NyZWVuLCAiVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OnNldHVw
RnVsbHNjcmVlbiglcCkiLCB0aGlzKTsKIAorICAgIFtwbGF5ZXJDb250cm9sbGVyKCkgc2V0SGFz
RW5hYmxlZFZpZGVvOnRydWVdOworICAgIFtwbGF5ZXJDb250cm9sbGVyKCkgc2V0SGFzVmlkZW86
dHJ1ZV07CisgICAgW3BsYXllckNvbnRyb2xsZXIoKSBzZXRDb250ZW50RGltZW5zaW9uczppbml0
aWFsUmVjdC5zaXplKCldOworCiAgICAgbV9hbGxvd3NQaWN0dXJlSW5QaWN0dXJlUGxheWJhY2sg
PSBhbGxvd3NQaWN0dXJlSW5QaWN0dXJlUGxheWJhY2s7CiAgICAgbV92aWRlb1ZpZXcgPSAmdmlk
ZW9WaWV3OwogICAgIG1fcGFyZW50VmlldyA9IHBhcmVudFZpZXc7CkBAIC05NzMsNiArOTgwLDkg
QEAgdm9pZCBWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6Y2xlYW51cEZ1bGxzY3JlZW4o
KQogICAgIAogICAgIGlmIChtX2Z1bGxzY3JlZW5DaGFuZ2VPYnNlcnZlcikKICAgICAgICAgbV9m
dWxsc2NyZWVuQ2hhbmdlT2JzZXJ2ZXItPmRpZENsZWFudXBGdWxsc2NyZWVuKCk7CisKKyAgICBb
cGxheWVyQ29udHJvbGxlcigpIHNldEhhc0VuYWJsZWRWaWRlbzpmYWxzZV07CisgICAgW3BsYXll
ckNvbnRyb2xsZXIoKSBzZXRIYXNWaWRlbzpmYWxzZV07CiB9CiAKIHZvaWQgVmlkZW9GdWxsc2Ny
ZWVuSW50ZXJmYWNlQVZLaXQ6OmludmFsaWRhdGUoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQ29jb2EvVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5LmggYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9WaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkuaAppbmRl
eCA5ZDE2NWVjYmFkNzdlOTUyOWVmNzA5NjA5ZGNlMDM0MTk1NWVlMWZlLi40MmUyZDg1ZDdiMWEz
N2FhZDAyNGFkYTg0OWNhOTU2M2M3NWZlZjY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9Db2NvYS9WaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9WaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkuaApAQCAt
MTUxLDYgKzE1MSw3IEBAIHByaXZhdGU6CiAgICAgTW9kZWxJbnRlcmZhY2VUdXBsZSYgZW5zdXJl
TW9kZWxBbmRJbnRlcmZhY2UodWludDY0X3QgY29udGV4dElkKTsKICAgICBWaWRlb0Z1bGxzY3Jl
ZW5Nb2RlbENvbnRleHQmIGVuc3VyZU1vZGVsKHVpbnQ2NF90IGNvbnRleHRJZCk7CiAgICAgUGxh
dGZvcm1WaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2UmIGVuc3VyZUludGVyZmFjZSh1aW50NjRfdCBj
b250ZXh0SWQpOworICAgIFBsYXRmb3JtVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlKiBmaW5kSW50
ZXJmYWNlKHVpbnQ2NF90IGNvbnRleHRJZCk7CiAgICAgdm9pZCBhZGRDbGllbnRGb3JDb250ZXh0
KHVpbnQ2NF90IGNvbnRleHRJZCk7CiAgICAgdm9pZCByZW1vdmVDbGllbnRGb3JDb250ZXh0KHVp
bnQ2NF90IGNvbnRleHRJZCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0NvY29hL1ZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0NvY29hL1ZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eS5tbQppbmRleCA2ODYzOGIy
NzdhMDVmY2FjY2M1MWJmMWMwNGYwNTc1NGY1MDUxM2ZiLi43ZTY3ZGRiMjc5MWUwOTYwYWFmMGQ0
ZGU0NjUxMWRkNWFjZjZmNTVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9D
b2NvYS9WaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkubW0KKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQ29jb2EvVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5Lm1tCkBAIC00NDEsNiAr
NDQxLDE1IEBAIFBsYXRmb3JtVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlJiBWaWRlb0Z1bGxzY3Jl
ZW5NYW5hZ2VyUHJveHk6OmVuc3VyZUludGVyZmFjZSh1CiAgICAgcmV0dXJuICpzdGQ6OmdldDwx
PihlbnN1cmVNb2RlbEFuZEludGVyZmFjZShjb250ZXh0SWQpKTsKIH0KIAorUGxhdGZvcm1WaWRl
b0Z1bGxzY3JlZW5JbnRlcmZhY2UqIFZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eTo6ZmluZElu
dGVyZmFjZSh1aW50NjRfdCBjb250ZXh0SWQpCit7CisgICAgYXV0byBpdCA9IG1fY29udGV4dE1h
cC5maW5kKGNvbnRleHRJZCk7CisgICAgaWYgKGl0ID09IG1fY29udGV4dE1hcC5lbmQoKSkKKyAg
ICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICByZXR1cm4gc3RkOjpnZXQ8MT4oaXQtPnZhbHVl
KTsKK30KKwogdm9pZCBWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHk6OmFkZENsaWVudEZvckNv
bnRleHQodWludDY0X3QgY29udGV4dElkKQogewogICAgIGF1dG8gYWRkUmVzdWx0ID0gbV9jbGll
bnRDb3VudHMuYWRkKGNvbnRleHRJZCwgMSk7CkBAIC01NDcsNyArNTU2LDggQEAgdm9pZCBWaWRl
b0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHk6OnNldEhhc1ZpZGVvKHVpbnQ2NF90IGNvbnRleHRJZCwg
Ym9vbCBoYXNWaWRlbykKICAgICBpZiAobV9tb2NrVmlkZW9QcmVzZW50YXRpb25Nb2RlRW5hYmxl
ZCkKICAgICAgICAgcmV0dXJuOwogCi0gICAgZW5zdXJlSW50ZXJmYWNlKGNvbnRleHRJZCkuaGFz
VmlkZW9DaGFuZ2VkKGhhc1ZpZGVvKTsKKyAgICBpZiAoYXV0byogaW50ZXJmYWNlID0gbV9jb250
ZXh0TWFwLmZpbmRJbnRlcmZhY2UoY29udGV4dElkKSkKKyAgICAgICAgaW50ZXJmYWNlLT5oYXNW
aWRlb0NoYW5nZWQoaGFzVmlkZW8pOwogfQogCiB2b2lkIFZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQ
cm94eTo6c2V0VmlkZW9EaW1lbnNpb25zKHVpbnQ2NF90IGNvbnRleHRJZCwgY29uc3QgRmxvYXRT
aXplJiB2aWRlb0RpbWVuc2lvbnMpCkBAIC01NTYsNyArNTY2LDggQEAgdm9pZCBWaWRlb0Z1bGxz
Y3JlZW5NYW5hZ2VyUHJveHk6OnNldFZpZGVvRGltZW5zaW9ucyh1aW50NjRfdCBjb250ZXh0SWQs
IGNvbnN0IEYKICAgICBpZiAobV9tb2NrVmlkZW9QcmVzZW50YXRpb25Nb2RlRW5hYmxlZCkKICAg
ICAgICAgcmV0dXJuOwogCi0gICAgZW5zdXJlSW50ZXJmYWNlKGNvbnRleHRJZCkudmlkZW9EaW1l
bnNpb25zQ2hhbmdlZCh2aWRlb0RpbWVuc2lvbnMpOworICAgIGlmIChhdXRvKiBpbnRlcmZhY2Ug
PSBtX2NvbnRleHRNYXAuY29udGFpbnMoY29udGV4dElkKSkKKyAgICAgICAgaW50ZXJmYWNlLT52
aWRlb0RpbWVuc2lvbnNDaGFuZ2VkKHZpZGVvRGltZW5zaW9ucyk7CiB9CiAKIHZvaWQgVmlkZW9G
dWxsc2NyZWVuTWFuYWdlclByb3h5OjplbnRlckZ1bGxzY3JlZW4odWludDY0X3QgY29udGV4dElk
KQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>400311</attachid>
            <date>2020-05-26 23:39:50 -0700</date>
            <delta_ts>2020-05-27 00:50:49 -0700</delta_ts>
            <desc>patch for landing v2</desc>
            <filename>bug-212293-20200526233949.patch</filename>
            <type>text/plain</type>
            <size>9829</size>
            <attacher name="Peng Liu">peng.liu6</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYyMTczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTljNTJmN2E0ZGE1NGQw
YzFmNjU3NTZlYjZhYjY3NjVjNGFmNTI0YS4uYTU0N2FjOGM0OWY4YjMyYTU0NTA2NWM3YjY5MTc0
MTlhMmNjZTBkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDIwLTA1LTI2ICBQZW5n
IExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CisKKyAgICAgICAgVmlkZW9GdWxsc2NyZWVuSW50
ZXJmYWNlQVZLaXQgaXMgbGVha2luZyB3aGVuIGEgdmlkZW8gZWxlbWVudCBlbnRlcnMgYW5kIGV4
aXRzIGZ1bGxzY3JlZW4vcGljdHVyZS1pbi1waWN0dXJlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTIyOTMKKworICAgICAgICBSZXZpZXdlZCBieSBZ
b3Vlbm4gRmFibGV0LgorCisgICAgICAgIFdlYkFWUGxheWVyVmlld0NvbnRyb2xsZXJEZWxlZ2F0
ZSBpcyBjcmVhdGVkIGFuZCByZXRhaW5lZCBieSBWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktp
dCwKKyAgICAgICAgYnV0IGl0IGhhcyBhIFJlZlB0ciB0byBWaWRlb0Z1bGxzY3JlZW5JbnRlcmZh
Y2VBVktpdC4gVGhpcyBsZWFkcyB0byBhIG1lbW9yeSBsZWFrCisgICAgICAgIHdoZW4gYSB2aWRl
byBlbGVtZW50IGVudGVycyBhbmQgZXhpdCBmdWxsc2NyZWVuIG9yIFBpY3R1cmUtaW4tUGljdHVy
ZS4gVGhpcyBwYXRjaAorICAgICAgICByZXBsYWNlcyB0aGUgUmVmUHRyIHdpdGggYSBXZWFrUHRy
IHRvIGZpeCB0aGUgbGVhay4KKworICAgICAgICBXaXRoIHRoaXMgcGF0Y2gsIHdlIGNvbmZpZyBw
bGF5ZXJDb250cm9sbGVyIGluIFZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0OjpzZXR1cEZ1
bGxzY3JlZW4oKQorICAgICAgICBhbmQgVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OmNs
ZWFudXBGdWxsc2NyZWVuKCksIHNvIHRoYXQgd2UgY2FuIGF2b2lkIHJlbHlpbmcgb24KKyAgICAg
ICAgVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5OjpzZXRIYXNWaWRlbygpIGFuZCBWaWRlb0Z1
bGxzY3JlZW5NYW5hZ2VyUHJveHk6OnNldFZpZGVvRGltZW5zaW9ucygpLgorICAgICAgICBUaG9z
ZSB0d28gZnVuY3Rpb25zIGFyZSBkcml2ZW4gYnkgSVBDIG1lc3NhZ2VzIGZyb20gdGhlIFdlYiBw
cm9jZXNzLCB3aGljaCBtYXkgY29tZSBiZWZvcmUKKyAgICAgICAgVmlkZW9GdWxsc2NyZWVuSW50
ZXJmYWNlQVZLaXQgaXMgY29uc3RydWN0ZWQgb3IgYWZ0ZXIgVmlkZW9GdWxsc2NyZWVuSW50ZXJm
YWNlQVZLaXQKKyAgICAgICAgaXMgZGVzdHJveWVkLgorCisgICAgICAgIE1hbnVhbGx5IHRlc3Rl
ZC4KKworICAgICAgICAqIHBsYXRmb3JtL2lvcy9WaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktp
dC5oOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9WaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktp
dC5tbToKKyAgICAgICAgKC1bV2ViQVZQbGF5ZXJWaWV3Q29udHJvbGxlckRlbGVnYXRlIHNldEZ1
bGxzY3JlZW5JbnRlcmZhY2U6XSk6CisgICAgICAgIChWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VB
VktpdDo6c2V0dXBGdWxsc2NyZWVuKToKKyAgICAgICAgKFZpZGVvRnVsbHNjcmVlbkludGVyZmFj
ZUFWS2l0OjpjbGVhbnVwRnVsbHNjcmVlbik6CisKIDIwMjAtMDUtMjYgIEplciBOb2JsZSAgPGpl
ci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAgQ2FuJ3Qgc2NydWIgdmlkZW8gb24gaHR0cHM6
Ly93d3cuanVkaWNpYXJ5LnNlbmF0ZS5nb3YKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggMzgyODQ4MjM5MmE3YTFhZjVh
NDEwODBhNzZiYzM3YTdiMDQ1Zjk1Ny4uNzk3NzBmZDBiZDAzNGM4N2M4MWU1ZGIzNTdjZTkxN2Jj
MDZlOGRjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAyMC0wNS0yNiAgUGVuZyBMaXUg
IDxwZW5nLmxpdTZAYXBwbGUuY29tPgorCisgICAgICAgIFZpZGVvRnVsbHNjcmVlbkludGVyZmFj
ZUFWS2l0IGlzIGxlYWtpbmcgd2hlbiBhIHZpZGVvIGVsZW1lbnQgZW50ZXJzIGFuZCBleGl0cyBm
dWxsc2NyZWVuL3BpY3R1cmUtaW4tcGljdHVyZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEyMjkzCisKKyAgICAgICAgVmlkZW9GdWxsc2NyZWVuTWFu
YWdlclByb3h5OjplbnN1cmVJbnRlcmZhY2UoKSBtYWtlcyBzdXJlIGEgZnVsbHNjcmVlbiBpbnRl
cmZhY2Ugb2JqZWN0IGV4aXN0cyAoYW4gb2JqZWN0CisgICAgICAgIHdpbGwgYmUgY3JlYXRlZCBp
ZiBpdCBkb2VzIG5vdCBleGl0KS4gVGhhdCBtZWFucyBhbiBleHRyYSBvYmplY3Qgd2lsbCBiZSBj
cmVhdGVkIGJ5IGFuIElQQyBtZXNzYWdlIGZyb20KKyAgICAgICAgdGhlIFdlYiBwcm9jZXNzIGFm
dGVyIHRoZSBvcmlnaW5hbCB2aWRlbyBmdWxsc2NyZWVuIGludGVyZmFjZSBvYmplY3QgaGFzIGJl
ZW4gZGVzdHJveWVkICh0aGF0cyBoYXBwZW5zCisgICAgICAgIHdoZW4gYSB2aWRlbyBlbGVtZW50
IGlzIHJldHVybmluZyB0byBpbmxpbmUgZnJvbSBmdWxsc2NyZWVuIG9yIHBpY3R1cmUtaW4tcGlj
dHVyZSkuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgWW91ZW5uIEZhYmxldC4KKworICAgICAgICAq
IFVJUHJvY2Vzcy9Db2NvYS9WaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkubW06CisgICAgICAg
IChXZWJLaXQ6OlZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eTo6c2V0SGFzVmlkZW8pOgorICAg
ICAgICBEb24ndCBjYWxsIFZpZGVvRnVsbHNjcmVlbkludGVyZmFjZVtBVktpdHxNYWNdOjpoYXNW
aWRlb0NoYW5nZWQoKSBiZWZvcmUgdGhlIGluc3RhbmNlIG9mCisgICAgICAgIFZpZGVvRnVsbHNj
cmVlbkludGVyZmFjZVtBVktpdHxNYWNdIGlzIHJlYWR5LgorICAgICAgICAoV2ViS2l0OjpWaWRl
b0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHk6OnNldFZpZGVvRGltZW5zaW9ucyk6CisgICAgICAgIERv
bid0IGNhbGwgVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlW0FWS2l0fE1hY106OnZpZGVvRGltZW5z
aW9uc0NoYW5nZWQoKSBhZnRlciB0aGUgaW5zdGFuY2Ugb2YKKyAgICAgICAgVmlkZW9GdWxsc2Ny
ZWVuSW50ZXJmYWNlW0FWS2l0fE1hY10gaXMgZGVzdHJveWVkLgorCiAyMDIwLTA1LTI2ICBGdWpp
aSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgogCiAgICAgICAgIFtXaW5DYWly
b10gVW5yZXZpZXdlZCBjbGFuZy1jbCBidWlsZCBmaXggYWZ0ZXIgcjI2MjE1OApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1ZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFW
S2l0LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvVmlkZW9GdWxsc2NyZWVuSW50ZXJm
YWNlQVZLaXQuaAppbmRleCBkNmFjNGNhMDVmMmRkZmM4OGUzMGM4ZTFiM2JmZTZhMjdjYWU0MjM4
Li40MzkwY2Q2YTExODI5OGVkMWM2Y2MyOWFjZDgwNzRjMmRiMWU3Njg0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvVmlkZW9GdWxsc2NyZWVuSW50ZXJm
YWNlQVZLaXQuaApAQCAtMzYsMTAgKzM2LDEwIEBACiAjaW5jbHVkZSA8b2JqYy9vYmpjLmg+CiAj
aW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvRnVuY3Rpb24uaD4KLSNpbmNs
dWRlIDx3dGYvUmVmQ291bnRlZC5oPgotI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KICNpbmNsdWRl
IDx3dGYvUmV0YWluUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1J1bkxvb3AuaD4KKyNpbmNsdWRlIDx3
dGYvVGhyZWFkU2FmZVJlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvV2Vha1B0ci5oPgogCiBP
QkpDX0NMQVNTIFVJVmlld0NvbnRyb2xsZXI7CiBPQkpDX0NMQVNTIFVJV2luZG93OwpAQCAtNjEs
OCArNjEsOCBAQCBjbGFzcyBWaWRlb0Z1bGxzY3JlZW5DaGFuZ2VPYnNlcnZlcjsKIGNsYXNzIFZp
ZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0IGZpbmFsCiAgICAgOiBwdWJsaWMgVmlkZW9GdWxs
c2NyZWVuTW9kZWxDbGllbnQKICAgICAsIHB1YmxpYyBQbGF5YmFja1Nlc3Npb25Nb2RlbENsaWVu
dAotICAgICwgcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPFZpZGVvRnVsbHNjcmVlbkludGVy
ZmFjZUFWS2l0PiB7Ci0KKyAgICAsIHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxWaWRlb0Z1
bGxzY3JlZW5JbnRlcmZhY2VBVktpdCwgV1RGOjpEZXN0cnVjdGlvblRocmVhZDo6TWFpblJ1bkxv
b3A+CisgICAgLCBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8VmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNl
QVZLaXQ+IHsKIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgUmVmPFZpZGVvRnVs
bHNjcmVlbkludGVyZmFjZUFWS2l0PiBjcmVhdGUoUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlQVZL
aXQmKTsKICAgICB2aXJ0dWFsIH5WaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdCgpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1ZpZGVvRnVsbHNjcmVlbkludGVy
ZmFjZUFWS2l0Lm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1ZpZGVvRnVsbHNjcmVl
bkludGVyZmFjZUFWS2l0Lm1tCmluZGV4IGE2ZTU1ZDY2ZGE0YTA4M2Y0NjMxMzhiMGI4NjFkMTQ2
YjIyMTUzNmQuLjYwOTRjOGYwNGQ0ZjE5OWQzZDFlMTdhNmM5NTM3NmQ1ZWMxMzEyN2YgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9WaWRlb0Z1bGxzY3JlZW5JbnRlcmZh
Y2VBVktpdC5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvVmlkZW9GdWxsc2Ny
ZWVuSW50ZXJmYWNlQVZLaXQubW0KQEAgLTQ1LDYgKzQ1LDcgQEAKICNpbXBvcnQgPHBhbC9zcGkv
Y29jb2EvQVZLaXRTUEkuaD4KICNpbXBvcnQgPHBhbC9zcGkvY29jb2EvUXVhcnR6Q29yZVNQSS5o
PgogI2ltcG9ydCA8cGFsL3NwaS9pb3MvVUlLaXRTUEkuaD4KKyNpbXBvcnQgPHd0Zi9SZWZQdHIu
aD4KICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KICNpbXBvcnQgPHd0Zi90ZXh0L0NTdHJpbmcu
aD4KICNpbXBvcnQgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgpAQCAtOTQsNyArOTUsNyBAQCBAZW5k
CiBAY2xhc3MgV2ViQVZNZWRpYVNlbGVjdGlvbk9wdGlvbjsKIAogQGludGVyZmFjZSBXZWJBVlBs
YXllclZpZXdDb250cm9sbGVyRGVsZWdhdGUgOiBOU09iamVjdCA8QVZQbGF5ZXJWaWV3Q29udHJv
bGxlckRlbGVnYXRlX1dlYktpdE9ubHk+IHsKLSAgICBSZWZQdHI8VmlkZW9GdWxsc2NyZWVuSW50
ZXJmYWNlQVZLaXQ+IF9mdWxsc2NyZWVuSW50ZXJmYWNlOworICAgIFdlYWtQdHI8VmlkZW9GdWxs
c2NyZWVuSW50ZXJmYWNlQVZLaXQ+IF9mdWxsc2NyZWVuSW50ZXJmYWNlOwogfQogQHByb3BlcnR5
IChhc3NpZ24pIFZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0KiBmdWxsc2NyZWVuSW50ZXJm
YWNlOwogLSAoQk9PTClwbGF5ZXJWaWV3Q29udHJvbGxlcjooQVZQbGF5ZXJWaWV3Q29udHJvbGxl
ciAqKXBsYXllclZpZXdDb250cm9sbGVyIHNob3VsZEV4aXRGdWxsU2NyZWVuV2l0aFJlYXNvbjoo
QVZQbGF5ZXJWaWV3Q29udHJvbGxlckV4aXRGdWxsU2NyZWVuUmVhc29uKXJlYXNvbjsKQEAgLTEw
MywxMiArMTA0LDE0IEBAIEBlbmQKIEBpbXBsZW1lbnRhdGlvbiBXZWJBVlBsYXllclZpZXdDb250
cm9sbGVyRGVsZWdhdGUKIC0gKFZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0KilmdWxsc2Ny
ZWVuSW50ZXJmYWNlCiB7CisgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKICAgICByZXR1cm4g
X2Z1bGxzY3JlZW5JbnRlcmZhY2UuZ2V0KCk7CiB9CiAKIC0gKHZvaWQpc2V0RnVsbHNjcmVlbklu
dGVyZmFjZTooVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQqKWZ1bGxzY3JlZW5JbnRlcmZh
Y2UKIHsKLSAgICBfZnVsbHNjcmVlbkludGVyZmFjZSA9IGZ1bGxzY3JlZW5JbnRlcmZhY2U7Cisg
ICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKKyAgICBfZnVsbHNjcmVlbkludGVyZmFjZSA9IG1h
a2VXZWFrUHRyKCpmdWxsc2NyZWVuSW50ZXJmYWNlKTsKIH0KIAogLSAodm9pZClwbGF5ZXJWaWV3
Q29udHJvbGxlcldpbGxTdGFydFBpY3R1cmVJblBpY3R1cmU6KEFWUGxheWVyVmlld0NvbnRyb2xs
ZXIgKilwbGF5ZXJWaWV3Q29udHJvbGxlcgpAQCAtODkxLDYgKzg5NCwxMCBAQCB2b2lkIFZpZGVv
RnVsbHNjcmVlbkludGVyZmFjZUFWS2l0OjpzZXR1cEZ1bGxzY3JlZW4oVUlWaWV3JiB2aWRlb1Zp
ZXcsIGNvbnN0IEludAogICAgIEFTU0VSVChzdGFuZGJ5IHx8IG1vZGUgIT0gSFRNTE1lZGlhRWxl
bWVudEVudW1zOjpWaWRlb0Z1bGxzY3JlZW5Nb2RlTm9uZSk7CiAgICAgTE9HKEZ1bGxzY3JlZW4s
ICJWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6c2V0dXBGdWxsc2NyZWVuKCVwKSIsIHRo
aXMpOwogCisgICAgW3BsYXllckNvbnRyb2xsZXIoKSBzZXRIYXNFbmFibGVkVmlkZW86dHJ1ZV07
CisgICAgW3BsYXllckNvbnRyb2xsZXIoKSBzZXRIYXNWaWRlbzp0cnVlXTsKKyAgICBbcGxheWVy
Q29udHJvbGxlcigpIHNldENvbnRlbnREaW1lbnNpb25zOmluaXRpYWxSZWN0LnNpemUoKV07CisK
ICAgICBtX2FsbG93c1BpY3R1cmVJblBpY3R1cmVQbGF5YmFjayA9IGFsbG93c1BpY3R1cmVJblBp
Y3R1cmVQbGF5YmFjazsKICAgICBtX3ZpZGVvVmlldyA9ICZ2aWRlb1ZpZXc7CiAgICAgbV9wYXJl
bnRWaWV3ID0gcGFyZW50VmlldzsKQEAgLTk3Myw2ICs5ODAsOSBAQCB2b2lkIFZpZGVvRnVsbHNj
cmVlbkludGVyZmFjZUFWS2l0OjpjbGVhbnVwRnVsbHNjcmVlbigpCiAgICAgCiAgICAgaWYgKG1f
ZnVsbHNjcmVlbkNoYW5nZU9ic2VydmVyKQogICAgICAgICBtX2Z1bGxzY3JlZW5DaGFuZ2VPYnNl
cnZlci0+ZGlkQ2xlYW51cEZ1bGxzY3JlZW4oKTsKKworICAgIFtwbGF5ZXJDb250cm9sbGVyKCkg
c2V0SGFzRW5hYmxlZFZpZGVvOmZhbHNlXTsKKyAgICBbcGxheWVyQ29udHJvbGxlcigpIHNldEhh
c1ZpZGVvOmZhbHNlXTsKIH0KIAogdm9pZCBWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6
aW52YWxpZGF0ZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9W
aWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0Nv
Y29hL1ZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eS5oCmluZGV4IDlkMTY1ZWNiYWQ3N2U5NTI5
ZWY3MDk2MDlkY2UwMzQxOTU1ZWUxZmUuLjQyZTJkODVkN2IxYTM3YWFkMDI0YWRhODQ5Y2E5NTYz
Yzc1ZmVmNjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1ZpZGVv
RnVsbHNjcmVlbk1hbmFnZXJQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0Nv
Y29hL1ZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eS5oCkBAIC0xNTEsNiArMTUxLDcgQEAgcHJp
dmF0ZToKICAgICBNb2RlbEludGVyZmFjZVR1cGxlJiBlbnN1cmVNb2RlbEFuZEludGVyZmFjZSh1
aW50NjRfdCBjb250ZXh0SWQpOwogICAgIFZpZGVvRnVsbHNjcmVlbk1vZGVsQ29udGV4dCYgZW5z
dXJlTW9kZWwodWludDY0X3QgY29udGV4dElkKTsKICAgICBQbGF0Zm9ybVZpZGVvRnVsbHNjcmVl
bkludGVyZmFjZSYgZW5zdXJlSW50ZXJmYWNlKHVpbnQ2NF90IGNvbnRleHRJZCk7CisgICAgUGxh
dGZvcm1WaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2UqIGZpbmRJbnRlcmZhY2UodWludDY0X3QgY29u
dGV4dElkKTsKICAgICB2b2lkIGFkZENsaWVudEZvckNvbnRleHQodWludDY0X3QgY29udGV4dElk
KTsKICAgICB2b2lkIHJlbW92ZUNsaWVudEZvckNvbnRleHQodWludDY0X3QgY29udGV4dElkKTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVmlkZW9GdWxsc2Ny
ZWVuTWFuYWdlclByb3h5Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVmlkZW9G
dWxsc2NyZWVuTWFuYWdlclByb3h5Lm1tCmluZGV4IDY4NjM4YjI3N2EwNWZjYWNjYzUxYmYxYzA0
ZjA1NzU0ZjUwNTEzZmIuLjAyNGE5OWJhOTM5M2U1NDExMzc1NTQzOGQ0NTVlN2NjMTQ0Y2UxMGYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1ZpZGVvRnVsbHNjcmVl
bk1hbmFnZXJQcm94eS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9WaWRl
b0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkubW0KQEAgLTQ0MSw2ICs0NDEsMTUgQEAgUGxhdGZvcm1W
aWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2UmIFZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eTo6ZW5z
dXJlSW50ZXJmYWNlKHUKICAgICByZXR1cm4gKnN0ZDo6Z2V0PDE+KGVuc3VyZU1vZGVsQW5kSW50
ZXJmYWNlKGNvbnRleHRJZCkpOwogfQogCitQbGF0Zm9ybVZpZGVvRnVsbHNjcmVlbkludGVyZmFj
ZSogVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5OjpmaW5kSW50ZXJmYWNlKHVpbnQ2NF90IGNv
bnRleHRJZCkKK3sKKyAgICBhdXRvIGl0ID0gbV9jb250ZXh0TWFwLmZpbmQoY29udGV4dElkKTsK
KyAgICBpZiAoaXQgPT0gbV9jb250ZXh0TWFwLmVuZCgpKQorICAgICAgICByZXR1cm4gbnVsbHB0
cjsKKworICAgIHJldHVybiBzdGQ6OmdldDwxPihpdC0+dmFsdWUpLmdldCgpOworfQorCiB2b2lk
IFZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eTo6YWRkQ2xpZW50Rm9yQ29udGV4dCh1aW50NjRf
dCBjb250ZXh0SWQpCiB7CiAgICAgYXV0byBhZGRSZXN1bHQgPSBtX2NsaWVudENvdW50cy5hZGQo
Y29udGV4dElkLCAxKTsKQEAgLTU0Nyw3ICs1NTYsOCBAQCB2b2lkIFZpZGVvRnVsbHNjcmVlbk1h
bmFnZXJQcm94eTo6c2V0SGFzVmlkZW8odWludDY0X3QgY29udGV4dElkLCBib29sIGhhc1ZpZGVv
KQogICAgIGlmIChtX21vY2tWaWRlb1ByZXNlbnRhdGlvbk1vZGVFbmFibGVkKQogICAgICAgICBy
ZXR1cm47CiAKLSAgICBlbnN1cmVJbnRlcmZhY2UoY29udGV4dElkKS5oYXNWaWRlb0NoYW5nZWQo
aGFzVmlkZW8pOworICAgIGlmIChhdXRvKiBpbnRlcmZhY2UgPSBmaW5kSW50ZXJmYWNlKGNvbnRl
eHRJZCkpCisgICAgICAgIGludGVyZmFjZS0+aGFzVmlkZW9DaGFuZ2VkKGhhc1ZpZGVvKTsKIH0K
IAogdm9pZCBWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHk6OnNldFZpZGVvRGltZW5zaW9ucyh1
aW50NjRfdCBjb250ZXh0SWQsIGNvbnN0IEZsb2F0U2l6ZSYgdmlkZW9EaW1lbnNpb25zKQpAQCAt
NTU2LDcgKzU2Niw4IEBAIHZvaWQgVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5OjpzZXRWaWRl
b0RpbWVuc2lvbnModWludDY0X3QgY29udGV4dElkLCBjb25zdCBGCiAgICAgaWYgKG1fbW9ja1Zp
ZGVvUHJlc2VudGF0aW9uTW9kZUVuYWJsZWQpCiAgICAgICAgIHJldHVybjsKIAotICAgIGVuc3Vy
ZUludGVyZmFjZShjb250ZXh0SWQpLnZpZGVvRGltZW5zaW9uc0NoYW5nZWQodmlkZW9EaW1lbnNp
b25zKTsKKyAgICBpZiAoYXV0byogaW50ZXJmYWNlID0gZmluZEludGVyZmFjZShjb250ZXh0SWQp
KQorICAgICAgICBpbnRlcmZhY2UtPnZpZGVvRGltZW5zaW9uc0NoYW5nZWQodmlkZW9EaW1lbnNp
b25zKTsKIH0KIAogdm9pZCBWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHk6OmVudGVyRnVsbHNj
cmVlbih1aW50NjRfdCBjb250ZXh0SWQpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>