<?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>225620</bug_id>
          
          <creation_ts>2021-05-10 15:40:35 -0700</creation_ts>
          <short_desc>[iPad] SourceBufferPrivateAVFObjC should not report an error to the web page when the video playback is interrupted</short_desc>
          <delta_ts>2021-05-12 22:37:26 -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>
          
          
          <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>darin</cc>
    
    <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>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1758693</commentid>
    <comment_count>0</comment_count>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2021-05-10 15:40:35 -0700</bug_when>
    <thetext>SourceBufferPrivateAVFObjC should not report an error to the web page when the video playback is interrupted</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1758697</commentid>
    <comment_count>1</comment_count>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2021-05-10 15:45:40 -0700</bug_when>
    <thetext>&lt;rdar://70118480&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1758701</commentid>
    <comment_count>2</comment_count>
      <attachid>428214</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2021-05-10 16:03:26 -0700</bug_when>
    <thetext>Created attachment 428214
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1758819</commentid>
    <comment_count>3</comment_count>
      <attachid>428214</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-05-10 22:33:19 -0700</bug_when>
    <thetext>Comment on attachment 428214
Patch

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

&gt; Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:971
&gt; +#if PLATFORM(IOS_FAMILY)
&gt; +    if ([layer status] == AVQueuedSampleBufferRenderingStatusFailed &amp;&amp; [[error domain] isEqualToString:@&quot;AVFoundationErrorDomain&quot;] &amp;&amp; [error code] == AVErrorOperationInterrupted) {
&gt; +        m_displayLayerWasInterrupted = true;
&gt; +        return;
&gt; +    }
&gt; +#endif

Why isn’t this needed on Mac? Why are we compiling all the code to handle m_displayLayerWasInterrupted on Mac, but then not using it there?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1758937</commentid>
    <comment_count>4</comment_count>
      <attachid>428214</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2021-05-11 10:00:31 -0700</bug_when>
    <thetext>Comment on attachment 428214
Patch

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

&gt;&gt; Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:971
&gt;&gt; +#endif
&gt; 
&gt; Why isn’t this needed on Mac? Why are we compiling all the code to handle m_displayLayerWasInterrupted on Mac, but then not using it there?

The bug that this patch is fixing only happens on iPads. Based on my test results, AVFoundation only reports the error (AVErrorOperationInterrupted) on iPads. Therefore, I enabled this code section for iOS only.

Potentially, other code sections related to &quot;m_displayLayerWasInterrupted&quot; are useful for Mac, so I did not wrap them with the macro. But it seems a good idea to compile them for iOS only because they won&apos;t be used on Mac for now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1758963</commentid>
    <comment_count>5</comment_count>
      <attachid>428293</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2021-05-11 10:38:43 -0700</bug_when>
    <thetext>Created attachment 428293
Make all changes for iOS only</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1759282</commentid>
    <comment_count>6</comment_count>
      <attachid>428293</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2021-05-12 10:09:49 -0700</bug_when>
    <thetext>Comment on attachment 428293
Make all changes for iOS only

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

&gt; Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:1206
&gt; +#if PLATFORM(IOS_FAMILY)
&gt; +    if (m_displayLayerWasInterrupted)
&gt; +        return false;
&gt; +#endif

This will block appending samples to the audio renderer as well as the display layer. Consider moving this inside the `if (trackID == m_enabledVideoTrackID)` block below.

&gt; Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:1260
&gt; +#if PLATFORM(IOS_FAMILY)
&gt; +    if (m_displayLayerWasInterrupted)
&gt; +        return;
&gt; +#endif

Ditto, and consider adding a call to `[m_displayLayer stopRequestingMediaData];` before the return.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1759302</commentid>
    <comment_count>7</comment_count>
      <attachid>428293</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2021-05-12 10:59:58 -0700</bug_when>
    <thetext>Comment on attachment 428293
Make all changes for iOS only

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

&gt;&gt; Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:1206
&gt;&gt; +#endif
&gt; 
&gt; This will block appending samples to the audio renderer as well as the display layer. Consider moving this inside the `if (trackID == m_enabledVideoTrackID)` block below.

Good point! But looks like it won&apos;t impact the function, because we will want to stop appending audio samples when video is interrupted.
I will fix it anyway.

&gt;&gt; Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:1260
&gt;&gt; +#endif
&gt; 
&gt; Ditto, and consider adding a call to `[m_displayLayer stopRequestingMediaData];` before the return.

Hmm, probably we can just remove this change. Let me have a try.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1759409</commentid>
    <comment_count>8</comment_count>
      <attachid>428421</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2021-05-12 14:48:12 -0700</bug_when>
    <thetext>Created attachment 428421
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1759410</commentid>
    <comment_count>9</comment_count>
      <attachid>428293</attachid>
    <who name="Peng Liu">peng.liu6</who>
    <bug_when>2021-05-12 14:50:35 -0700</bug_when>
    <thetext>Comment on attachment 428293
Make all changes for iOS only

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

&gt;&gt;&gt; Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:1260
&gt;&gt;&gt; +#endif
&gt;&gt; 
&gt;&gt; Ditto, and consider adding a call to `[m_displayLayer stopRequestingMediaData];` before the return.
&gt; 
&gt; Hmm, probably we can just remove this change. Let me have a try.

Confirmed that this change is not needed. Removed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1759557</commentid>
    <comment_count>10</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-05-12 22:37:25 -0700</bug_when>
    <thetext>Committed r277424 (237672@main): &lt;https://commits.webkit.org/237672@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 428421.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>428214</attachid>
            <date>2021-05-10 16:03:26 -0700</date>
            <delta_ts>2021-05-11 10:38:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-225620-20210510160325.patch</filename>
            <type>text/plain</type>
            <size>8807</size>
            <attacher name="Peng Liu">peng.liu6</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc3MjY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDAzYTZjYWRlMWE5NWY3
NjdkYmQ2MjAzZDJjN2VlMTNjMjZlZDQ1Ny4uNWU5NDc4YTZhOWI1ZDEzOWM4YWMwNzNjZTkwNDJl
NTY4MTFjNmM2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDIxLTA1LTEwICBQZW5n
IExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CisKKyAgICAgICAgU291cmNlQnVmZmVyUHJpdmF0
ZUFWRk9iakMgc2hvdWxkIG5vdCByZXBvcnQgYW4gZXJyb3IgdG8gdGhlIHdlYiBwYWdlIHdoZW4g
dGhlIHZpZGVvIHBsYXliYWNrIGlzIGludGVycnVwdGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjU2MjAKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJZiBgU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakNg
IHJlcG9ydHMgYW4gZXJyb3IgdG8gYSB3ZWIgcGFnZSB3aGVuCisgICAgICAgIGBBVlNhbXBsZUJ1
ZmZlckRpc3BsYXlMYXllcmAgcmVwb3J0cyBgQVZFcnJvck9wZXJhdGlvbkludGVycnVwdGVkYCAo
dGhlIHBsYXliYWNrCisgICAgICAgIHdhcyBpbnRlcnJ1cHRlZCksIHRoZSB3ZWIgcGFnZSB3aWxs
IGxpa2VseSBkZXN0cm95IHRoZSB2aWRlbyBwbGF5ZXIgKGFuZCB0ZWFyZG93bgorICAgICAgICB0
aGUgdmlkZW8gZWxlbWVudCkuIFRoYXQgYmVoYXZpb3Igd2lsbCBsZWFkIHRvIGFuIGVtcHR5IHBp
Y3R1cmUtaW4tcGljdHVyZSB3aW5kb3cKKyAgICAgICAgaWYgdGhlIHZpZGVvIHdhcyBwbGF5aW5n
IGluIHBpY3R1cmUtaW4tcGljdHVyZS4KKworICAgICAgICBXaXRoIHRoaXMgcGF0Y2gsIGBTb3Vy
Y2VCdWZmZXJQcml2YXRlQVZGT2JqQ2Agd2lsbCBub3QgcmVwb3J0IGFuIGVycm9yIHRvIHRoZQor
ICAgICAgICB3ZWIgcGFnZSBpbiBjYXNlIG9mIHBsYXliYWNrIGludGVycnVwdGlvbi4gSW5zdGVh
ZCwgaXQgdGFrZXMgYSBub3RlIHRoYXQKKyAgICAgICAgdGhlIHBsYXliYWNrIHdhcyBpbnRlcnJ1
cHRlZCwgc28gdGhhdCB3aGVuIHdlIHRyeSB0byByZXN1bWUgdGhlIHBsYXliYWNrIGxhdGVyLAor
ICAgICAgICBpdCB3aWxsIGZsdXNoIHRoZSBgQVZTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXJgIHRv
IHJlY292ZXIgdGhlIHBsYXliYWNrIHN0YXRlLgorCisgICAgICAgIEluIGFkZGl0aW9uLCB3ZSBu
ZWVkIHRvIGVucXVldWUgYW4gSURSIGZyYW1lIGZpcnN0IGJlZm9yZSB3ZSBlbnF1ZXVlIG1vcmUK
KyAgICAgICAgc2FtcGxlcyBhZnRlciBmbHVzaGluZyB0aGUgYEFWU2FtcGxlQnVmZmVyRGlzcGxh
eUxheWVyYC4gVGhhdCBpcyBndWFyYW50ZWVkCisgICAgICAgIGJ5IGBTb3VyY2VCdWZmZXJQcml2
YXRlOjpyZWVucXVlU2FtcGxlcygpYC4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2
Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5tbToK
KyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6
cGxheUludGVybmFsKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24v
b2JqYy9NZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpDLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQy5tbToKKyAg
ICAgICAgKFdlYkNvcmU6Ok1lZGlhU291cmNlUHJpdmF0ZUFWRk9iakM6OmZsdXNoQWN0aXZlU291
cmNlQnVmZmVyc0lmTmVlZGVkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5k
YXRpb24vb2JqYy9Tb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQy5oOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL1NvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpD
Lm1tOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM6OmZsdXNo
SWZOZWVkZWQpOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM6
OmxheWVyRGlkUmVjZWl2ZUVycm9yKToKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclBy
aXZhdGVBVkZPYmpDOjppc1JlYWR5Rm9yTW9yZVNhbXBsZXMpOgorICAgICAgICAoV2ViQ29yZTo6
U291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM6OmRpZEJlY29tZVJlYWR5Rm9yTW9yZVNhbXBsZXMp
OgorCiAyMDIxLTA1LTEwICBBbGljaWEgQm95YSBHYXJjw61hICA8YWJveWFAaWdhbGlhLmNvbT4K
IAogICAgICAgICBbTVNFXVtHU3RyZWFtZXJdIFJlbW92ZSBzdGFsZSBQbGF5YmFja1BpcGVsaW5l
LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3Vu
ZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5
ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tCmluZGV4IDA0OTJjYTM5MjI2NTUxZjRlOGI1
NjBkNzdkN2ZiNjU1YzNiZTg4ZTEuLjljZjUwY2RhYjRkYzg1ZTRjZWI1Yzc4ZjBiYWFhODcyNjYy
ZDRiNjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5tbQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRp
YVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW0KQEAgLTMxNyw2ICszMTcsNyBAQCB2
b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQzo6cGxheUludGVybmFsKCkK
ICAgICB9CiAKICAgICBBTFdBWVNfTE9HKExPR0lERU5USUZJRVIpOworICAgIG1fbWVkaWFTb3Vy
Y2VQcml2YXRlLT5mbHVzaEFjdGl2ZVNvdXJjZUJ1ZmZlcnNJZk5lZWRlZCgpOwogICAgIG1fcGxh
eWluZyA9IHRydWU7CiAgICAgaWYgKHNob3VsZEJlUGxheWluZygpKQogICAgICAgICBbbV9zeW5j
aHJvbml6ZXIgc2V0UmF0ZTptX3JhdGVdOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTb3VyY2VQcml2YXRlQVZGT2Jq
Qy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMv
TWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQy5oCmluZGV4IDliMDFlYzU5ODg5MDMxYzk3MmIxMjli
Zjc3MDUwZDk2YTE1NzRiZGYuLjgwZmIxY2U3NTlmYWQ2OGZlOThkY2U3ZTQ2MjI4ZDdjNTQzMDMx
OWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRh
dGlvbi9vYmpjL01lZGlhU291cmNlUHJpdmF0ZUFWRk9iakMuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNvdXJjZVByaXZhdGVB
VkZPYmpDLmgKQEAgLTkzLDYgKzkzLDggQEAgcHVibGljOgogICAgIHZvaWQgc2V0VmlkZW9MYXll
cihBVlNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllciopOwogICAgIHZvaWQgc2V0RGVjb21wcmVzc2lv
blNlc3Npb24oV2ViQ29yZURlY29tcHJlc3Npb25TZXNzaW9uKik7CiAKKyAgICB2b2lkIGZsdXNo
QWN0aXZlU291cmNlQnVmZmVyc0lmTmVlZGVkKCk7CisKICNpZiBFTkFCTEUoRU5DUllQVEVEX01F
RElBKQogICAgIHZvaWQgY2RtSW5zdGFuY2VBdHRhY2hlZChDRE1JbnN0YW5jZSYpOwogICAgIHZv
aWQgY2RtSW5zdGFuY2VEZXRhY2hlZChDRE1JbnN0YW5jZSYpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTb3VyY2VQ
cml2YXRlQVZGT2JqQy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9vYmpjL01lZGlhU291cmNlUHJpdmF0ZUFWRk9iakMubW0KaW5kZXggZTEwYzEwNjg0
ZGIyYmZjM2I5NWVjNWViOTY1OTdjMWRkOTZiNDVmYS4uYTY3MGQwYmFlNzE0NDExZjY1N2Y3Nzhj
ZDM3Yzg4ZjI2NmYyMmYwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQy5tbQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRp
YVNvdXJjZVByaXZhdGVBVkZPYmpDLm1tCkBAIC0yODIsNiArMjgyLDEyIEBAIHZvaWQgTWVkaWFT
b3VyY2VQcml2YXRlQVZGT2JqQzo6c2V0RGVjb21wcmVzc2lvblNlc3Npb24oV2ViQ29yZURlY29t
cHJlc3Npb25TZXNzCiAgICAgICAgIG1fc291cmNlQnVmZmVyV2l0aFNlbGVjdGVkVmlkZW8tPnNl
dERlY29tcHJlc3Npb25TZXNzaW9uKGRlY29tcHJlc3Npb25TZXNzaW9uKTsKIH0KIAordm9pZCBN
ZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpDOjpmbHVzaEFjdGl2ZVNvdXJjZUJ1ZmZlcnNJZk5lZWRl
ZCgpCit7CisgICAgZm9yIChhdXRvKiBzb3VyY2VCdWZmZXIgOiBtX2FjdGl2ZVNvdXJjZUJ1ZmZl
cnMpCisgICAgICAgIHNvdXJjZUJ1ZmZlci0+Zmx1c2hJZk5lZWRlZCgpOworfQorCiAjaWYgRU5B
QkxFKEVOQ1JZUFRFRF9NRURJQSkKIHZvaWQgTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQzo6Y2Rt
SW5zdGFuY2VBdHRhY2hlZChDRE1JbnN0YW5jZSYgaW5zdGFuY2UpCiB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9Tb3VyY2VC
dWZmZXJQcml2YXRlQVZGT2JqQy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
YXZmb3VuZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMuaAppbmRleCA0ZTJl
NjQxMDFmODFkOGRlN2U0MmY3ZGIwZjM2ZmVlOWYxOTllYzQ0Li5mM2Q3ODkwZGUzYjQ5MTIyNzc1
MWRjYWNiMDA1YzMwZTA0ZjA1YTlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9Tb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQy5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpj
L1NvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDLmgKQEAgLTEwOSw2ICsxMDksNyBAQCBwdWJsaWM6
CiAgICAgYm9vbCB3YWl0aW5nRm9yS2V5KCkgY29uc3QgeyByZXR1cm4gbV93YWl0aW5nRm9yS2V5
OyB9CiAKICAgICB2b2lkIGZsdXNoKCk7CisgICAgdm9pZCBmbHVzaElmTmVlZGVkKCk7CiAKICAg
ICB2b2lkIHJlZ2lzdGVyRm9yRXJyb3JOb3RpZmljYXRpb25zKFNvdXJjZUJ1ZmZlclByaXZhdGVB
VkZPYmpDRXJyb3JDbGllbnQqKTsKICAgICB2b2lkIHVucmVnaXN0ZXJGb3JFcnJvck5vdGlmaWNh
dGlvbnMoU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakNFcnJvckNsaWVudCopOwpAQCAtMTk3LDYg
KzE5OCw3IEBAIHByaXZhdGU6CiAgICAgSGFzaE1hcDx1aW50NjRfdCwgUmV0YWluUHRyPEFWU2Ft
cGxlQnVmZmVyQXVkaW9SZW5kZXJlcj4sIERlZmF1bHRIYXNoPHVpbnQ2NF90PiwgV1RGOjpVbnNp
Z25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czx1aW50NjRfdD4+IG1fYXVkaW9SZW5kZXJlcnM7CiAg
ICAgQUxMT1dfTkVXX0FQSV9XSVRIT1VUX0dVQVJEU19FTkQKICAgICBSZXRhaW5QdHI8V2ViQVZT
YW1wbGVCdWZmZXJFcnJvckxpc3RlbmVyPiBtX2Vycm9yTGlzdGVuZXI7CisgICAgYm9vbCBtX2Rp
c3BsYXlMYXllcldhc0ludGVycnVwdGVkIHsgZmFsc2UgfTsKICAgICBSZXRhaW5QdHI8TlNFcnJv
cj4gbV9oZGNwRXJyb3I7CiAgICAgQm94PEJpbmFyeVNlbWFwaG9yZT4gbV9oYXNTZXNzaW9uU2Vt
YXBob3JlOwogICAgIEJveDxTZW1hcGhvcmU+IG1fYWJvcnRTZW1hcGhvcmU7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9Tb3Vy
Y2VCdWZmZXJQcml2YXRlQVZGT2JqQy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2F2Zm91bmRhdGlvbi9vYmpjL1NvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDLm1tCmluZGV4
IDAzMzdlNzU5MTEzMmY3OGI3ODA5NzkyZmJhNTNhYzY1YWU0NjEwMDkuLjJkOGYwZmQ5ZDNhM2Q3
YjNkY2JmMDRhOWM3MjNiZDdjMDJjOWU3Y2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL1NvdXJjZUJ1ZmZlclByaXZhdGVBVkZP
YmpDLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlv
bi9vYmpjL1NvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDLm1tCkBAIC05MjgsNiArOTI4LDI1IEBA
IHZvaWQgU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM6OmZsdXNoKCkKICAgICAgICAgZmx1c2hB
dWRpbyhyZW5kZXJlci5nZXQoKSk7CiB9CiAKK3ZvaWQgU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9i
akM6OmZsdXNoSWZOZWVkZWQoKQoreworICAgIGlmICghbV9kaXNwbGF5TGF5ZXJXYXNJbnRlcnJ1
cHRlZCkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9kaXNwbGF5TGF5ZXJXYXNJbnRlcnJ1cHRl
ZCA9IGZhbHNlOworICAgIGlmIChtX3ZpZGVvVHJhY2tzLnNpemUoKSkKKyAgICAgICAgZmx1c2hW
aWRlbygpOworCisgICAgLy8gV2UgaW5pdGlhdGl2ZWx5IGVucXVldWUgc2FtcGxlcyBpbnN0ZWFk
IG9mIHdhaXRpbmcgZm9yIHRoZQorICAgIC8vIG1lZGlhIGRhdGEgcmVxdWVzdHMgZnJvbSBtX2Rl
Y29tcHJlc3Npb25TZXNzaW9uIGFuZCBtX2Rpc3BsYXlMYXllci4KKyAgICAvLyBJbiBhZGRpdGlv
biwgd2UgbmVlZCB0byBlbnF1ZXVlIGEgc3luYyBzYW1wbGUgKElEUiB2aWRlbyBmcmFtZSkgZmly
c3QuCisgICAgaWYgKG1fZGVjb21wcmVzc2lvblNlc3Npb24pCisgICAgICAgIG1fZGVjb21wcmVz
c2lvblNlc3Npb24tPnN0b3BSZXF1ZXN0aW5nTWVkaWFEYXRhKCk7CisgICAgW21fZGlzcGxheUxh
eWVyIHN0b3BSZXF1ZXN0aW5nTWVkaWFEYXRhXTsKKworICAgIHJlZW5xdWVTYW1wbGVzKEF0b21T
dHJpbmc6Om51bWJlcihtX2VuYWJsZWRWaWRlb1RyYWNrSUQpKTsKK30KKwogdm9pZCBTb3VyY2VC
dWZmZXJQcml2YXRlQVZGT2JqQzo6cmVnaXN0ZXJGb3JFcnJvck5vdGlmaWNhdGlvbnMoU291cmNl
QnVmZmVyUHJpdmF0ZUFWRk9iakNFcnJvckNsaWVudCogY2xpZW50KQogewogICAgIEFTU0VSVCgh
bV9lcnJvckNsaWVudHMuY29udGFpbnMoY2xpZW50KSk7CkBAIC05NDQsNiArOTYzLDEzIEBAIHZv
aWQgU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM6OmxheWVyRGlkUmVjZWl2ZUVycm9yKEFWU2Ft
cGxlQnVmZmVyRGlzcGxheUxheWVyCiB7CiAgICAgRVJST1JfTE9HKExPR0lERU5USUZJRVIsIFtb
ZXJyb3IgZGVzY3JpcHRpb25dIFVURjhTdHJpbmddKTsKIAorI2lmIFBMQVRGT1JNKElPU19GQU1J
TFkpCisgICAgaWYgKFtsYXllciBzdGF0dXNdID09IEFWUXVldWVkU2FtcGxlQnVmZmVyUmVuZGVy
aW5nU3RhdHVzRmFpbGVkICYmIFtbZXJyb3IgZG9tYWluXSBpc0VxdWFsVG9TdHJpbmc6QCJBVkZv
dW5kYXRpb25FcnJvckRvbWFpbiJdICYmIFtlcnJvciBjb2RlXSA9PSBBVkVycm9yT3BlcmF0aW9u
SW50ZXJydXB0ZWQpIHsKKyAgICAgICAgbV9kaXNwbGF5TGF5ZXJXYXNJbnRlcnJ1cHRlZCA9IHRy
dWU7CisgICAgICAgIHJldHVybjsKKyAgICB9CisjZW5kaWYKKwogICAgIC8vIEZJWE1FKDE0MjI0
Nik6IFJlbW92ZSB0aGUgZm9sbG93aW5nIG9uY2UgPHJkYXI6Ly9wcm9ibGVtLzIwMDI3NDM0PiBp
cyByZXNvbHZlZC4KICAgICBib29sIGFueUlnbm9yZWQgPSBmYWxzZTsKICAgICBmb3IgKGF1dG8m
IGNsaWVudCA6IG1fZXJyb3JDbGllbnRzKSB7CkBAIC0xMTcyLDYgKzExOTgsOSBAQCB2b2lkIFNv
dXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjpidWZmZXJXYXNDb25zdW1lZCgpCiAKIGJvb2wgU291
cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM6OmlzUmVhZHlGb3JNb3JlU2FtcGxlcyhjb25zdCBBdG9t
U3RyaW5nJiB0cmFja0lEU3RyaW5nKQogeworICAgIGlmIChtX2Rpc3BsYXlMYXllcldhc0ludGVy
cnVwdGVkKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICBhdXRvIHRyYWNrSUQgPSBwYXJz
ZUludGVnZXJBbGxvd2luZ1RyYWlsaW5nSnVuazx1aW50NjRfdD4odHJhY2tJRFN0cmluZykudmFs
dWVPcigwKTsKICAgICBpZiAodHJhY2tJRCA9PSBtX2VuYWJsZWRWaWRlb1RyYWNrSUQpIHsKICAg
ICAgICAgaWYgKG1fZGVjb21wcmVzc2lvblNlc3Npb24pCkBAIC0xMjIxLDYgKzEyNTAsOCBAQCBG
bG9hdFNpemUgU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM6Om5hdHVyYWxTaXplKCkKIHZvaWQg
U291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM6OmRpZEJlY29tZVJlYWR5Rm9yTW9yZVNhbXBsZXMo
dWludDY0X3QgdHJhY2tJRCkKIHsKICAgICBJTkZPX0xPRyhMT0dJREVOVElGSUVSLCB0cmFja0lE
KTsKKyAgICBpZiAobV9kaXNwbGF5TGF5ZXJXYXNJbnRlcnJ1cHRlZCkKKyAgICAgICAgcmV0dXJu
OwogCiAgICAgaWYgKHRyYWNrSUQgPT0gbV9lbmFibGVkVmlkZW9UcmFja0lEKSB7CiAgICAgICAg
IGlmIChtX2RlY29tcHJlc3Npb25TZXNzaW9uKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>428293</attachid>
            <date>2021-05-11 10:38:43 -0700</date>
            <delta_ts>2021-05-12 10:09:49 -0700</delta_ts>
            <desc>Make all changes for iOS only</desc>
            <filename>bug-225620-20210511103842.patch</filename>
            <type>text/plain</type>
            <size>9089</size>
            <attacher name="Peng Liu">peng.liu6</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc3MjY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDAzYTZjYWRlMWE5NWY3
NjdkYmQ2MjAzZDJjN2VlMTNjMjZlZDQ1Ny4uODhiYWRmNDQ4MjJhZmVlYzQ4YjU2OGNiNTEyYTU2
ODMzM2FmMTBhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDIxLTA1LTEwICBQZW5n
IExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CisKKyAgICAgICAgW2lQYWRdIFNvdXJjZUJ1ZmZl
clByaXZhdGVBVkZPYmpDIHNob3VsZCBub3QgcmVwb3J0IGFuIGVycm9yIHRvIHRoZSB3ZWIgcGFn
ZSB3aGVuIHRoZSB2aWRlbyBwbGF5YmFjayBpcyBpbnRlcnJ1cHRlZAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI1NjIwCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSWYgYFNvdXJjZUJ1ZmZlclByaXZhdGVB
VkZPYmpDYCByZXBvcnRzIGFuIGVycm9yIHRvIGEgd2ViIHBhZ2Ugd2hlbgorICAgICAgICBgQVZT
YW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXJgIHJlcG9ydHMgYEFWRXJyb3JPcGVyYXRpb25JbnRlcnJ1
cHRlZGAgKHRoZSBwbGF5YmFjaworICAgICAgICB3YXMgaW50ZXJydXB0ZWQpLCB0aGUgd2ViIHBh
Z2Ugd2lsbCBsaWtlbHkgZGVzdHJveSB0aGUgdmlkZW8gcGxheWVyIChhbmQgdGVhcmRvd24KKyAg
ICAgICAgdGhlIHZpZGVvIGVsZW1lbnQpLiBUaGF0IGJlaGF2aW9yIHdpbGwgbGVhZCB0byBhbiBl
bXB0eSBwaWN0dXJlLWluLXBpY3R1cmUgd2luZG93CisgICAgICAgIGlmIHRoZSB2aWRlbyB3YXMg
cGxheWluZyBpbiBwaWN0dXJlLWluLXBpY3R1cmUuCisKKyAgICAgICAgV2l0aCB0aGlzIHBhdGNo
LCBgU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakNgIHdpbGwgbm90IHJlcG9ydCBhbiBlcnJvciB0
byB0aGUKKyAgICAgICAgd2ViIHBhZ2UgaW4gY2FzZSBvZiBwbGF5YmFjayBpbnRlcnJ1cHRpb24u
IEluc3RlYWQsIGl0IHRha2VzIGEgbm90ZSB0aGF0CisgICAgICAgIHRoZSBwbGF5YmFjayB3YXMg
aW50ZXJydXB0ZWQsIHNvIHRoYXQgd2hlbiB3ZSB0cnkgdG8gcmVzdW1lIHRoZSBwbGF5YmFjayBs
YXRlciwKKyAgICAgICAgaXQgd2lsbCBmbHVzaCB0aGUgYEFWU2FtcGxlQnVmZmVyRGlzcGxheUxh
eWVyYCB0byByZWNvdmVyIHRoZSBwbGF5YmFjayBzdGF0ZS4KKworICAgICAgICBJbiBhZGRpdGlv
biwgd2UgbmVlZCB0byBlbnF1ZXVlIGFuIElEUiBmcmFtZSBmaXJzdCBiZWZvcmUgd2UgZW5xdWV1
ZSBtb3JlCisgICAgICAgIHNhbXBsZXMgYWZ0ZXIgZmx1c2hpbmcgdGhlIGBBVlNhbXBsZUJ1ZmZl
ckRpc3BsYXlMYXllcmAuIFRoYXQgaXMgZ3VhcmFudGVlZAorICAgICAgICBieSBgU291cmNlQnVm
ZmVyUHJpdmF0ZTo6cmVlbnF1ZVNhbXBsZXMoKWAuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9i
akMubW06CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFW
Rk9iakM6OnBsYXlJbnRlcm5hbCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3Vu
ZGF0aW9uL29iamMvTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQy5oOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhU291cmNlUHJpdmF0ZUFWRk9iakMu
bW06CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpDOjpmbHVzaEFj
dGl2ZVNvdXJjZUJ1ZmZlcnNJZk5lZWRlZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
YXZmb3VuZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMuaDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9Tb3VyY2VCdWZmZXJQcml2YXRl
QVZGT2JqQy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpD
OjpmbHVzaElmTmVlZGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVB
VkZPYmpDOjpsYXllckRpZFJlY2VpdmVFcnJvcik6CisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VC
dWZmZXJQcml2YXRlQVZGT2JqQzo6aXNSZWFkeUZvck1vcmVTYW1wbGVzKToKKyAgICAgICAgKFdl
YkNvcmU6OlNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjpkaWRCZWNvbWVSZWFkeUZvck1vcmVT
YW1wbGVzKToKKwogMjAyMS0wNS0xMCAgQWxpY2lhIEJveWEgR2FyY8OtYSAgPGFib3lhQGlnYWxp
YS5jb20+CiAKICAgICAgICAgW01TRV1bR1N0cmVhbWVyXSBSZW1vdmUgc3RhbGUgUGxheWJhY2tQ
aXBlbGluZS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5t
bSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01l
ZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5tbQppbmRleCAwNDkyY2EzOTIyNjU1
MWY0ZThiNTYwZDc3ZDdmYjY1NWMzYmU4OGUxLi4zMDZkMWRhN2JjYjBmODRiY2UyYjdkYjFhODM5
ZWNjN2Y2MDE2ZDY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMu
bW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1tCkBAIC0zMTcsNiArMzE3
LDkgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakM6OnBsYXlJbnRl
cm5hbCgpCiAgICAgfQogCiAgICAgQUxXQVlTX0xPRyhMT0dJREVOVElGSUVSKTsKKyNpZiBQTEFU
Rk9STShJT1NfRkFNSUxZKQorICAgIG1fbWVkaWFTb3VyY2VQcml2YXRlLT5mbHVzaEFjdGl2ZVNv
dXJjZUJ1ZmZlcnNJZk5lZWRlZCgpOworI2VuZGlmCiAgICAgbV9wbGF5aW5nID0gdHJ1ZTsKICAg
ICBpZiAoc2hvdWxkQmVQbGF5aW5nKCkpCiAgICAgICAgIFttX3N5bmNocm9uaXplciBzZXRSYXRl
Om1fcmF0ZV07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vb2JqYy9NZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpDLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNvdXJjZVByaXZh
dGVBVkZPYmpDLmgKaW5kZXggOWIwMWVjNTk4ODkwMzFjOTcyYjEyOWJmNzcwNTBkOTZhMTU3NGJk
Zi4uNzIyNDk3ZTBiYzQyMGNkNGU2MmIwNjI0OTIzYmZkOGY5ZDU0MDYyMiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFT
b3VyY2VQcml2YXRlQVZGT2JqQy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhU291cmNlUHJpdmF0ZUFWRk9iakMuaApAQCAtOTMs
NiArOTMsMTAgQEAgcHVibGljOgogICAgIHZvaWQgc2V0VmlkZW9MYXllcihBVlNhbXBsZUJ1ZmZl
ckRpc3BsYXlMYXllciopOwogICAgIHZvaWQgc2V0RGVjb21wcmVzc2lvblNlc3Npb24oV2ViQ29y
ZURlY29tcHJlc3Npb25TZXNzaW9uKik7CiAKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZKQorICAg
IHZvaWQgZmx1c2hBY3RpdmVTb3VyY2VCdWZmZXJzSWZOZWVkZWQoKTsKKyNlbmRpZgorCiAjaWYg
RU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKICAgICB2b2lkIGNkbUluc3RhbmNlQXR0YWNoZWQoQ0RN
SW5zdGFuY2UmKTsKICAgICB2b2lkIGNkbUluc3RhbmNlRGV0YWNoZWQoQ0RNSW5zdGFuY2UmKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlv
bi9vYmpjL01lZGlhU291cmNlUHJpdmF0ZUFWRk9iakMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpD
Lm1tCmluZGV4IGUxMGMxMDY4NGRiMmJmYzNiOTVlYzVlYjk2NTk3YzFkZDk2YjQ1ZmEuLjc5NjFi
NDEwNWI1OWIyNjlhYjU1YTg1NTcyZWMxNTk4NWVlOGIzOWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhU291cmNlUHJp
dmF0ZUFWRk9iakMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZm
b3VuZGF0aW9uL29iamMvTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQy5tbQpAQCAtMjgyLDYgKzI4
MiwxNCBAQCB2b2lkIE1lZGlhU291cmNlUHJpdmF0ZUFWRk9iakM6OnNldERlY29tcHJlc3Npb25T
ZXNzaW9uKFdlYkNvcmVEZWNvbXByZXNzaW9uU2VzcwogICAgICAgICBtX3NvdXJjZUJ1ZmZlcldp
dGhTZWxlY3RlZFZpZGVvLT5zZXREZWNvbXByZXNzaW9uU2Vzc2lvbihkZWNvbXByZXNzaW9uU2Vz
c2lvbik7CiB9CiAKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZKQordm9pZCBNZWRpYVNvdXJjZVBy
aXZhdGVBVkZPYmpDOjpmbHVzaEFjdGl2ZVNvdXJjZUJ1ZmZlcnNJZk5lZWRlZCgpCit7CisgICAg
Zm9yIChhdXRvKiBzb3VyY2VCdWZmZXIgOiBtX2FjdGl2ZVNvdXJjZUJ1ZmZlcnMpCisgICAgICAg
IHNvdXJjZUJ1ZmZlci0+Zmx1c2hJZk5lZWRlZCgpOworfQorI2VuZGlmCisKICNpZiBFTkFCTEUo
RU5DUllQVEVEX01FRElBKQogdm9pZCBNZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpDOjpjZG1JbnN0
YW5jZUF0dGFjaGVkKENETUluc3RhbmNlJiBpbnN0YW5jZSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL1NvdXJjZUJ1ZmZl
clByaXZhdGVBVkZPYmpDLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZv
dW5kYXRpb24vb2JqYy9Tb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQy5oCmluZGV4IDRlMmU2NDEw
MWY4MWQ4ZGU3ZTQyZjdkYjBmMzZmZWU5ZjE5OWVjNDQuLjg4NGIwYjI2MzZmNmY0ODQ2MjM2NmQ5
MWNlMjQ5NmMxYmI0OTk5YzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL1NvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvU291
cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMuaApAQCAtMTA5LDYgKzEwOSw5IEBAIHB1YmxpYzoKICAg
ICBib29sIHdhaXRpbmdGb3JLZXkoKSBjb25zdCB7IHJldHVybiBtX3dhaXRpbmdGb3JLZXk7IH0K
IAogICAgIHZvaWQgZmx1c2goKTsKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZKQorICAgIHZvaWQg
Zmx1c2hJZk5lZWRlZCgpOworI2VuZGlmCiAKICAgICB2b2lkIHJlZ2lzdGVyRm9yRXJyb3JOb3Rp
ZmljYXRpb25zKFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDRXJyb3JDbGllbnQqKTsKICAgICB2
b2lkIHVucmVnaXN0ZXJGb3JFcnJvck5vdGlmaWNhdGlvbnMoU291cmNlQnVmZmVyUHJpdmF0ZUFW
Rk9iakNFcnJvckNsaWVudCopOwpAQCAtMTk3LDYgKzIwMCw5IEBAIHByaXZhdGU6CiAgICAgSGFz
aE1hcDx1aW50NjRfdCwgUmV0YWluUHRyPEFWU2FtcGxlQnVmZmVyQXVkaW9SZW5kZXJlcj4sIERl
ZmF1bHRIYXNoPHVpbnQ2NF90PiwgV1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czx1
aW50NjRfdD4+IG1fYXVkaW9SZW5kZXJlcnM7CiAgICAgQUxMT1dfTkVXX0FQSV9XSVRIT1VUX0dV
QVJEU19FTkQKICAgICBSZXRhaW5QdHI8V2ViQVZTYW1wbGVCdWZmZXJFcnJvckxpc3RlbmVyPiBt
X2Vycm9yTGlzdGVuZXI7CisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyAgICBib29sIG1fZGlz
cGxheUxheWVyV2FzSW50ZXJydXB0ZWQgeyBmYWxzZSB9OworI2VuZGlmCiAgICAgUmV0YWluUHRy
PE5TRXJyb3I+IG1faGRjcEVycm9yOwogICAgIEJveDxCaW5hcnlTZW1hcGhvcmU+IG1faGFzU2Vz
c2lvblNlbWFwaG9yZTsKICAgICBCb3g8U2VtYXBob3JlPiBtX2Fib3J0U2VtYXBob3JlOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29i
amMvU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9Tb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQy5t
bQppbmRleCAwMzM3ZTc1OTExMzJmNzhiNzgwOTc5MmZiYTUzYWM2NWFlNDYxMDA5Li5iMGNjYWRk
MDNmZjRhNzcyMDIwZDFiMmU1MDUwNThiNmM2M2FiMTQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9Tb3VyY2VCdWZmZXJQcml2
YXRlQVZGT2JqQy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZv
dW5kYXRpb24vb2JqYy9Tb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQy5tbQpAQCAtOTI4LDYgKzky
OCwyNyBAQCB2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjpmbHVzaCgpCiAgICAgICAg
IGZsdXNoQXVkaW8ocmVuZGVyZXIuZ2V0KCkpOwogfQogCisjaWYgUExBVEZPUk0oSU9TX0ZBTUlM
WSkKK3ZvaWQgU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakM6OmZsdXNoSWZOZWVkZWQoKQorewor
ICAgIGlmICghbV9kaXNwbGF5TGF5ZXJXYXNJbnRlcnJ1cHRlZCkKKyAgICAgICAgcmV0dXJuOwor
CisgICAgbV9kaXNwbGF5TGF5ZXJXYXNJbnRlcnJ1cHRlZCA9IGZhbHNlOworICAgIGlmIChtX3Zp
ZGVvVHJhY2tzLnNpemUoKSkKKyAgICAgICAgZmx1c2hWaWRlbygpOworCisgICAgLy8gV2UgaW5p
dGlhdGl2ZWx5IGVucXVldWUgc2FtcGxlcyBpbnN0ZWFkIG9mIHdhaXRpbmcgZm9yIHRoZQorICAg
IC8vIG1lZGlhIGRhdGEgcmVxdWVzdHMgZnJvbSBtX2RlY29tcHJlc3Npb25TZXNzaW9uIGFuZCBt
X2Rpc3BsYXlMYXllci4KKyAgICAvLyBJbiBhZGRpdGlvbiwgd2UgbmVlZCB0byBlbnF1ZXVlIGEg
c3luYyBzYW1wbGUgKElEUiB2aWRlbyBmcmFtZSkgZmlyc3QuCisgICAgaWYgKG1fZGVjb21wcmVz
c2lvblNlc3Npb24pCisgICAgICAgIG1fZGVjb21wcmVzc2lvblNlc3Npb24tPnN0b3BSZXF1ZXN0
aW5nTWVkaWFEYXRhKCk7CisgICAgW21fZGlzcGxheUxheWVyIHN0b3BSZXF1ZXN0aW5nTWVkaWFE
YXRhXTsKKworICAgIHJlZW5xdWVTYW1wbGVzKEF0b21TdHJpbmc6Om51bWJlcihtX2VuYWJsZWRW
aWRlb1RyYWNrSUQpKTsKK30KKyNlbmRpZgorCiB2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZP
YmpDOjpyZWdpc3RlckZvckVycm9yTm90aWZpY2F0aW9ucyhTb3VyY2VCdWZmZXJQcml2YXRlQVZG
T2JqQ0Vycm9yQ2xpZW50KiBjbGllbnQpCiB7CiAgICAgQVNTRVJUKCFtX2Vycm9yQ2xpZW50cy5j
b250YWlucyhjbGllbnQpKTsKQEAgLTk0NCw2ICs5NjUsMTMgQEAgdm9pZCBTb3VyY2VCdWZmZXJQ
cml2YXRlQVZGT2JqQzo6bGF5ZXJEaWRSZWNlaXZlRXJyb3IoQVZTYW1wbGVCdWZmZXJEaXNwbGF5
TGF5ZXIKIHsKICAgICBFUlJPUl9MT0coTE9HSURFTlRJRklFUiwgW1tlcnJvciBkZXNjcmlwdGlv
bl0gVVRGOFN0cmluZ10pOwogCisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyAgICBpZiAoW2xh
eWVyIHN0YXR1c10gPT0gQVZRdWV1ZWRTYW1wbGVCdWZmZXJSZW5kZXJpbmdTdGF0dXNGYWlsZWQg
JiYgW1tlcnJvciBkb21haW5dIGlzRXF1YWxUb1N0cmluZzpAIkFWRm91bmRhdGlvbkVycm9yRG9t
YWluIl0gJiYgW2Vycm9yIGNvZGVdID09IEFWRXJyb3JPcGVyYXRpb25JbnRlcnJ1cHRlZCkgewor
ICAgICAgICBtX2Rpc3BsYXlMYXllcldhc0ludGVycnVwdGVkID0gdHJ1ZTsKKyAgICAgICAgcmV0
dXJuOworICAgIH0KKyNlbmRpZgorCiAgICAgLy8gRklYTUUoMTQyMjQ2KTogUmVtb3ZlIHRoZSBm
b2xsb3dpbmcgb25jZSA8cmRhcjovL3Byb2JsZW0vMjAwMjc0MzQ+IGlzIHJlc29sdmVkLgogICAg
IGJvb2wgYW55SWdub3JlZCA9IGZhbHNlOwogICAgIGZvciAoYXV0byYgY2xpZW50IDogbV9lcnJv
ckNsaWVudHMpIHsKQEAgLTExNzIsNiArMTIwMCwxMSBAQCB2b2lkIFNvdXJjZUJ1ZmZlclByaXZh
dGVBVkZPYmpDOjpidWZmZXJXYXNDb25zdW1lZCgpCiAKIGJvb2wgU291cmNlQnVmZmVyUHJpdmF0
ZUFWRk9iakM6OmlzUmVhZHlGb3JNb3JlU2FtcGxlcyhjb25zdCBBdG9tU3RyaW5nJiB0cmFja0lE
U3RyaW5nKQogeworI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCisgICAgaWYgKG1fZGlzcGxheUxh
eWVyV2FzSW50ZXJydXB0ZWQpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyNlbmRpZgorCiAgICAg
YXV0byB0cmFja0lEID0gcGFyc2VJbnRlZ2VyQWxsb3dpbmdUcmFpbGluZ0p1bms8dWludDY0X3Q+
KHRyYWNrSURTdHJpbmcpLnZhbHVlT3IoMCk7CiAgICAgaWYgKHRyYWNrSUQgPT0gbV9lbmFibGVk
VmlkZW9UcmFja0lEKSB7CiAgICAgICAgIGlmIChtX2RlY29tcHJlc3Npb25TZXNzaW9uKQpAQCAt
MTIyMSw2ICsxMjU0LDEwIEBAIEZsb2F0U2l6ZSBTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6
bmF0dXJhbFNpemUoKQogdm9pZCBTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6ZGlkQmVjb21l
UmVhZHlGb3JNb3JlU2FtcGxlcyh1aW50NjRfdCB0cmFja0lEKQogewogICAgIElORk9fTE9HKExP
R0lERU5USUZJRVIsIHRyYWNrSUQpOworI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCisgICAgaWYg
KG1fZGlzcGxheUxheWVyV2FzSW50ZXJydXB0ZWQpCisgICAgICAgIHJldHVybjsKKyNlbmRpZgog
CiAgICAgaWYgKHRyYWNrSUQgPT0gbV9lbmFibGVkVmlkZW9UcmFja0lEKSB7CiAgICAgICAgIGlm
IChtX2RlY29tcHJlc3Npb25TZXNzaW9uKQo=
</data>
<flag name="review"
          id="449176"
          type_id="1"
          status="+"
          setter="jer.noble"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>428421</attachid>
            <date>2021-05-12 14:48:12 -0700</date>
            <delta_ts>2021-05-12 22:37:26 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-225620-20210512144811.patch</filename>
            <type>text/plain</type>
            <size>8682</size>
            <attacher name="Peng Liu">peng.liu6</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc3Mzg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDU1Y2FmODcwZmI1OTZk
N2M3MTQ0NTZlZjgyZDA5NmYwMTYyNjUyYS4uYTNlMjQ3NTQ2ZjZjNDIyMTk2MGIwMGJjYmMyNDYw
ZmZkNTZjNTljMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDIxLTA1LTEyICBQZW5n
IExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+CisKKyAgICAgICAgW2lQYWRdIFNvdXJjZUJ1ZmZl
clByaXZhdGVBVkZPYmpDIHNob3VsZCBub3QgcmVwb3J0IGFuIGVycm9yIHRvIHRoZSB3ZWIgcGFn
ZSB3aGVuIHRoZSB2aWRlbyBwbGF5YmFjayBpcyBpbnRlcnJ1cHRlZAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI1NjIwCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgSmVyIE5vYmxlLgorCisgICAgICAgIElmIGBTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2Jq
Q2AgcmVwb3J0cyBhbiBlcnJvciB0byBhIHdlYiBwYWdlIHdoZW4KKyAgICAgICAgYEFWU2FtcGxl
QnVmZmVyRGlzcGxheUxheWVyYCByZXBvcnRzIGBBVkVycm9yT3BlcmF0aW9uSW50ZXJydXB0ZWRg
ICh0aGUgcGxheWJhY2sKKyAgICAgICAgd2FzIGludGVycnVwdGVkKSwgdGhlIHdlYiBwYWdlIHdp
bGwgbGlrZWx5IGRlc3Ryb3kgdGhlIHZpZGVvIHBsYXllciAoYW5kIHRlYXJkb3duCisgICAgICAg
IHRoZSB2aWRlbyBlbGVtZW50KS4gVGhhdCBiZWhhdmlvciB3aWxsIGxlYWQgdG8gYW4gZW1wdHkg
cGljdHVyZS1pbi1waWN0dXJlIHdpbmRvdworICAgICAgICBpZiB0aGUgdmlkZW8gd2FzIHBsYXlp
bmcgaW4gcGljdHVyZS1pbi1waWN0dXJlLgorCisgICAgICAgIFdpdGggdGhpcyBwYXRjaCwgYFNv
dXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDYCB3aWxsIG5vdCByZXBvcnQgYW4gZXJyb3IgdG8gdGhl
CisgICAgICAgIHdlYiBwYWdlIGluIGNhc2Ugb2YgcGxheWJhY2sgaW50ZXJydXB0aW9uLiBJbnN0
ZWFkLCBpdCB0YWtlcyBhIG5vdGUgdGhhdAorICAgICAgICB0aGUgcGxheWJhY2sgd2FzIGludGVy
cnVwdGVkLCBzbyB0aGF0IHdoZW4gd2UgdHJ5IHRvIHJlc3VtZSB0aGUgcGxheWJhY2sgbGF0ZXIs
CisgICAgICAgIGl0IHdpbGwgZmx1c2ggdGhlIGBBVlNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllcmAg
dG8gcmVjb3ZlciB0aGUgcGxheWJhY2sgc3RhdGUuCisKKyAgICAgICAgSW4gYWRkaXRpb24sIHdl
IG5lZWQgdG8gZW5xdWV1ZSBhbiBJRFIgZnJhbWUgZmlyc3QgYmVmb3JlIHdlIGVucXVldWUgbW9y
ZQorICAgICAgICBzYW1wbGVzIGFmdGVyIGZsdXNoaW5nIHRoZSBgQVZTYW1wbGVCdWZmZXJEaXNw
bGF5TGF5ZXJgLiBUaGF0IGlzIGd1YXJhbnRlZWQKKyAgICAgICAgYnkgYFNvdXJjZUJ1ZmZlclBy
aXZhdGU6OnJlZW5xdWVTYW1wbGVzKClgLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
YXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLm1t
OgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpD
OjpwbGF5SW50ZXJuYWwpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlv
bi9vYmpjL01lZGlhU291cmNlUHJpdmF0ZUFWRk9iakMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpDLm1tOgor
ICAgICAgICAoV2ViQ29yZTo6TWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQzo6Zmx1c2hBY3RpdmVT
b3VyY2VCdWZmZXJzSWZOZWVkZWQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9vYmpjL1NvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDLmg6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9i
akMubW06CisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6Zmx1
c2hJZk5lZWRlZCk6CisgICAgICAgIChXZWJDb3JlOjpTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2Jq
Qzo6bGF5ZXJEaWRSZWNlaXZlRXJyb3IpOgorICAgICAgICAoV2ViQ29yZTo6U291cmNlQnVmZmVy
UHJpdmF0ZUFWRk9iakM6OmlzUmVhZHlGb3JNb3JlU2FtcGxlcyk6CisKIDIwMjEtMDUtMTIgIFNh
aWQgQWJvdS1IYWxsYXdhICA8c2FpZEBhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZpbmcgdGhl
IHRyYW5zZm9ybSBDU1MgcHJvcGVydHkgZnJvbSB0aGUgU1ZHIGVsZW1lbnQgZG9lcyBub3QgY2F1
c2UgaW52YWxpZGF0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9i
akMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2Jq
Yy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMubW0KaW5kZXggOTY1YjhmZDE0
NWViNWUxZjgyM2E3OTJkMTNiN2EyZmZiMjMwNjBjZC4uOWZhNzY5NGM5MzlkM2JiMzQ3ZWY1ZGQ3
MDVkNzQyZjI0NDY0YmJjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZP
YmpDLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlv
bi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU291cmNlQVZGT2JqQy5tbQpAQCAtMzIyLDYg
KzMyMiw5IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDOjpwbGF5
SW50ZXJuYWwoKQogICAgIH0KIAogICAgIEFMV0FZU19MT0coTE9HSURFTlRJRklFUik7CisjaWYg
UExBVEZPUk0oSU9TX0ZBTUlMWSkKKyAgICBtX21lZGlhU291cmNlUHJpdmF0ZS0+Zmx1c2hBY3Rp
dmVTb3VyY2VCdWZmZXJzSWZOZWVkZWQoKTsKKyNlbmRpZgogICAgIG1fcGxheWluZyA9IHRydWU7
CiAgICAgaWYgKHNob3VsZEJlUGxheWluZygpKQogICAgICAgICBbbV9zeW5jaHJvbml6ZXIgc2V0
UmF0ZTptX3JhdGVdOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQy5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTb3VyY2VQ
cml2YXRlQVZGT2JqQy5oCmluZGV4IDliMDFlYzU5ODg5MDMxYzk3MmIxMjliZjc3MDUwZDk2YTE1
NzRiZGYuLjcyMjQ5N2UwYmM0MjBjZDRlNjJiMDYyNDkyM2JmZDhmOWQ1NDA2MjIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01l
ZGlhU291cmNlUHJpdmF0ZUFWRk9iakMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpDLmgKQEAg
LTkzLDYgKzkzLDEwIEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFZpZGVvTGF5ZXIoQVZTYW1wbGVC
dWZmZXJEaXNwbGF5TGF5ZXIqKTsKICAgICB2b2lkIHNldERlY29tcHJlc3Npb25TZXNzaW9uKFdl
YkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbiopOwogCisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkK
KyAgICB2b2lkIGZsdXNoQWN0aXZlU291cmNlQnVmZmVyc0lmTmVlZGVkKCk7CisjZW5kaWYKKwog
I2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCiAgICAgdm9pZCBjZG1JbnN0YW5jZUF0dGFjaGVk
KENETUluc3RhbmNlJik7CiAgICAgdm9pZCBjZG1JbnN0YW5jZURldGFjaGVkKENETUluc3RhbmNl
Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5k
YXRpb24vb2JqYy9NZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpDLm1tIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFTb3VyY2VQcml2YXRlQVZG
T2JqQy5tbQppbmRleCBlMTBjMTA2ODRkYjJiZmMzYjk1ZWM1ZWI5NjU5N2MxZGQ5NmI0NWZhLi43
OTYxYjQxMDViNTliMjY5YWI1NWE4NTU3MmVjMTU5ODVlZThiMzliIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVNvdXJj
ZVByaXZhdGVBVkZPYmpDLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhU291cmNlUHJpdmF0ZUFWRk9iakMubW0KQEAgLTI4Miw2
ICsyODIsMTQgQEAgdm9pZCBNZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpDOjpzZXREZWNvbXByZXNz
aW9uU2Vzc2lvbihXZWJDb3JlRGVjb21wcmVzc2lvblNlc3MKICAgICAgICAgbV9zb3VyY2VCdWZm
ZXJXaXRoU2VsZWN0ZWRWaWRlby0+c2V0RGVjb21wcmVzc2lvblNlc3Npb24oZGVjb21wcmVzc2lv
blNlc3Npb24pOwogfQogCisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKK3ZvaWQgTWVkaWFTb3Vy
Y2VQcml2YXRlQVZGT2JqQzo6Zmx1c2hBY3RpdmVTb3VyY2VCdWZmZXJzSWZOZWVkZWQoKQorewor
ICAgIGZvciAoYXV0byogc291cmNlQnVmZmVyIDogbV9hY3RpdmVTb3VyY2VCdWZmZXJzKQorICAg
ICAgICBzb3VyY2VCdWZmZXItPmZsdXNoSWZOZWVkZWQoKTsKK30KKyNlbmRpZgorCiAjaWYgRU5B
QkxFKEVOQ1JZUFRFRF9NRURJQSkKIHZvaWQgTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQzo6Y2Rt
SW5zdGFuY2VBdHRhY2hlZChDRE1JbnN0YW5jZSYgaW5zdGFuY2UpCiB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9Tb3VyY2VC
dWZmZXJQcml2YXRlQVZGT2JqQy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
YXZmb3VuZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMuaAppbmRleCA0ZTJl
NjQxMDFmODFkOGRlN2U0MmY3ZGIwZjM2ZmVlOWYxOTllYzQ0Li44ODRiMGIyNjM2ZjZmNDg0NjIz
NjZkOTFjZTI0OTZjMWJiNDk5OWM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9Tb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQy5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpj
L1NvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDLmgKQEAgLTEwOSw2ICsxMDksOSBAQCBwdWJsaWM6
CiAgICAgYm9vbCB3YWl0aW5nRm9yS2V5KCkgY29uc3QgeyByZXR1cm4gbV93YWl0aW5nRm9yS2V5
OyB9CiAKICAgICB2b2lkIGZsdXNoKCk7CisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyAgICB2
b2lkIGZsdXNoSWZOZWVkZWQoKTsKKyNlbmRpZgogCiAgICAgdm9pZCByZWdpc3RlckZvckVycm9y
Tm90aWZpY2F0aW9ucyhTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQ0Vycm9yQ2xpZW50Kik7CiAg
ICAgdm9pZCB1bnJlZ2lzdGVyRm9yRXJyb3JOb3RpZmljYXRpb25zKFNvdXJjZUJ1ZmZlclByaXZh
dGVBVkZPYmpDRXJyb3JDbGllbnQqKTsKQEAgLTE5Nyw2ICsyMDAsOSBAQCBwcml2YXRlOgogICAg
IEhhc2hNYXA8dWludDY0X3QsIFJldGFpblB0cjxBVlNhbXBsZUJ1ZmZlckF1ZGlvUmVuZGVyZXI+
LCBEZWZhdWx0SGFzaDx1aW50NjRfdD4sIFdURjo6VW5zaWduZWRXaXRoWmVyb0tleUhhc2hUcmFp
dHM8dWludDY0X3Q+PiBtX2F1ZGlvUmVuZGVyZXJzOwogICAgIEFMTE9XX05FV19BUElfV0lUSE9V
VF9HVUFSRFNfRU5ECiAgICAgUmV0YWluUHRyPFdlYkFWU2FtcGxlQnVmZmVyRXJyb3JMaXN0ZW5l
cj4gbV9lcnJvckxpc3RlbmVyOworI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCisgICAgYm9vbCBt
X2Rpc3BsYXlMYXllcldhc0ludGVycnVwdGVkIHsgZmFsc2UgfTsKKyNlbmRpZgogICAgIFJldGFp
blB0cjxOU0Vycm9yPiBtX2hkY3BFcnJvcjsKICAgICBCb3g8QmluYXJ5U2VtYXBob3JlPiBtX2hh
c1Nlc3Npb25TZW1hcGhvcmU7CiAgICAgQm94PFNlbWFwaG9yZT4gbV9hYm9ydFNlbWFwaG9yZTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlv
bi9vYmpjL1NvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDLm1tIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9i
akMubW0KaW5kZXggMDMzN2U3NTkxMTMyZjc4Yjc4MDk3OTJmYmE1M2FjNjVhZTQ2MTAwOS4uMDlm
OThiOTA1ZDNlNjM0MmM4NDk2YTZlZjk0ZmE0ZjU4NzA2N2JhOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvU291cmNlQnVmZmVy
UHJpdmF0ZUFWRk9iakMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
YXZmb3VuZGF0aW9uL29iamMvU291cmNlQnVmZmVyUHJpdmF0ZUFWRk9iakMubW0KQEAgLTkyOCw2
ICs5MjgsMjcgQEAgdm9pZCBTb3VyY2VCdWZmZXJQcml2YXRlQVZGT2JqQzo6Zmx1c2goKQogICAg
ICAgICBmbHVzaEF1ZGlvKHJlbmRlcmVyLmdldCgpKTsKIH0KIAorI2lmIFBMQVRGT1JNKElPU19G
QU1JTFkpCit2b2lkIFNvdXJjZUJ1ZmZlclByaXZhdGVBVkZPYmpDOjpmbHVzaElmTmVlZGVkKCkK
K3sKKyAgICBpZiAoIW1fZGlzcGxheUxheWVyV2FzSW50ZXJydXB0ZWQpCisgICAgICAgIHJldHVy
bjsKKworICAgIG1fZGlzcGxheUxheWVyV2FzSW50ZXJydXB0ZWQgPSBmYWxzZTsKKyAgICBpZiAo
bV92aWRlb1RyYWNrcy5zaXplKCkpCisgICAgICAgIGZsdXNoVmlkZW8oKTsKKworICAgIC8vIFdl
IGluaXRpYXRpdmVseSBlbnF1ZXVlIHNhbXBsZXMgaW5zdGVhZCBvZiB3YWl0aW5nIGZvciB0aGUK
KyAgICAvLyBtZWRpYSBkYXRhIHJlcXVlc3RzIGZyb20gbV9kZWNvbXByZXNzaW9uU2Vzc2lvbiBh
bmQgbV9kaXNwbGF5TGF5ZXIuCisgICAgLy8gSW4gYWRkaXRpb24sIHdlIG5lZWQgdG8gZW5xdWV1
ZSBhIHN5bmMgc2FtcGxlIChJRFIgdmlkZW8gZnJhbWUpIGZpcnN0LgorICAgIGlmIChtX2RlY29t
cHJlc3Npb25TZXNzaW9uKQorICAgICAgICBtX2RlY29tcHJlc3Npb25TZXNzaW9uLT5zdG9wUmVx
dWVzdGluZ01lZGlhRGF0YSgpOworICAgIFttX2Rpc3BsYXlMYXllciBzdG9wUmVxdWVzdGluZ01l
ZGlhRGF0YV07CisKKyAgICByZWVucXVlU2FtcGxlcyhBdG9tU3RyaW5nOjpudW1iZXIobV9lbmFi
bGVkVmlkZW9UcmFja0lEKSk7Cit9CisjZW5kaWYKKwogdm9pZCBTb3VyY2VCdWZmZXJQcml2YXRl
QVZGT2JqQzo6cmVnaXN0ZXJGb3JFcnJvck5vdGlmaWNhdGlvbnMoU291cmNlQnVmZmVyUHJpdmF0
ZUFWRk9iakNFcnJvckNsaWVudCogY2xpZW50KQogewogICAgIEFTU0VSVCghbV9lcnJvckNsaWVu
dHMuY29udGFpbnMoY2xpZW50KSk7CkBAIC05NDQsNiArOTY1LDEzIEBAIHZvaWQgU291cmNlQnVm
ZmVyUHJpdmF0ZUFWRk9iakM6OmxheWVyRGlkUmVjZWl2ZUVycm9yKEFWU2FtcGxlQnVmZmVyRGlz
cGxheUxheWVyCiB7CiAgICAgRVJST1JfTE9HKExPR0lERU5USUZJRVIsIFtbZXJyb3IgZGVzY3Jp
cHRpb25dIFVURjhTdHJpbmddKTsKIAorI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCisgICAgaWYg
KFtsYXllciBzdGF0dXNdID09IEFWUXVldWVkU2FtcGxlQnVmZmVyUmVuZGVyaW5nU3RhdHVzRmFp
bGVkICYmIFtbZXJyb3IgZG9tYWluXSBpc0VxdWFsVG9TdHJpbmc6QCJBVkZvdW5kYXRpb25FcnJv
ckRvbWFpbiJdICYmIFtlcnJvciBjb2RlXSA9PSBBVkVycm9yT3BlcmF0aW9uSW50ZXJydXB0ZWQp
IHsKKyAgICAgICAgbV9kaXNwbGF5TGF5ZXJXYXNJbnRlcnJ1cHRlZCA9IHRydWU7CisgICAgICAg
IHJldHVybjsKKyAgICB9CisjZW5kaWYKKwogICAgIC8vIEZJWE1FKDE0MjI0Nik6IFJlbW92ZSB0
aGUgZm9sbG93aW5nIG9uY2UgPHJkYXI6Ly9wcm9ibGVtLzIwMDI3NDM0PiBpcyByZXNvbHZlZC4K
ICAgICBib29sIGFueUlnbm9yZWQgPSBmYWxzZTsKICAgICBmb3IgKGF1dG8mIGNsaWVudCA6IG1f
ZXJyb3JDbGllbnRzKSB7CkBAIC0xMTc0LDYgKzEyMDIsMTEgQEAgYm9vbCBTb3VyY2VCdWZmZXJQ
cml2YXRlQVZGT2JqQzo6aXNSZWFkeUZvck1vcmVTYW1wbGVzKGNvbnN0IEF0b21TdHJpbmcmIHRy
YWNrSUQKIHsKICAgICBhdXRvIHRyYWNrSUQgPSBwYXJzZUludGVnZXJBbGxvd2luZ1RyYWlsaW5n
SnVuazx1aW50NjRfdD4odHJhY2tJRFN0cmluZykudmFsdWVPcigwKTsKICAgICBpZiAodHJhY2tJ
RCA9PSBtX2VuYWJsZWRWaWRlb1RyYWNrSUQpIHsKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZKQor
ICAgICAgICBpZiAobV9kaXNwbGF5TGF5ZXJXYXNJbnRlcnJ1cHRlZCkKKyAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKKyNlbmRpZgorCiAgICAgICAgIGlmIChtX2RlY29tcHJlc3Npb25TZXNzaW9u
KQogICAgICAgICAgICAgcmV0dXJuIG1fZGVjb21wcmVzc2lvblNlc3Npb24tPmlzUmVhZHlGb3JN
b3JlTWVkaWFEYXRhKCk7CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>