<?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>236100</bug_id>
          
          <creation_ts>2022-02-03 13:11:37 -0800</creation_ts>
          <short_desc>Add PageClient plumbing for video frame extraction</short_desc>
          <delta_ts>2022-02-07 12:37:12 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Platform</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>236083</dependson>
    
    <dependson>236094</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>akeerthi</cc>
    
    <cc>bdakin</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>megan_gardner</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1837071</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2022-02-03 13:11:37 -0800</bug_when>
    <thetext>rdar://86237428</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1837072</commentid>
    <comment_count>1</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2022-02-03 13:12:33 -0800</bug_when>
    <thetext>rdar://86237608</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1837099</commentid>
    <comment_count>2</comment_count>
      <attachid>450816</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2022-02-03 13:53:32 -0800</bug_when>
    <thetext>Created attachment 450816
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1838205</commentid>
    <comment_count>3</comment_count>
      <attachid>451116</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2022-02-07 09:27:54 -0800</bug_when>
    <thetext>Created attachment 451116
Rebase on trunk</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1838217</commentid>
    <comment_count>4</comment_count>
      <attachid>451116</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2022-02-07 09:43:20 -0800</bug_when>
    <thetext>Comment on attachment 451116
Rebase on trunk

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

&gt; Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm:511
&gt; +        if (RetainPtr controller = protectedThis-&gt;m_videoFullscreenManager-&gt;playerViewController(identifier))

You null-checked m_videoFullscreenManager before the completion handler, but is it guaranteed to still be valid here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1838227</commentid>
    <comment_count>5</comment_count>
      <attachid>451116</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2022-02-07 10:03:37 -0800</bug_when>
    <thetext>Comment on attachment 451116
Rebase on trunk

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

Thanks for the review!

&gt;&gt; Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm:511
&gt;&gt; +        if (RetainPtr controller = protectedThis-&gt;m_videoFullscreenManager-&gt;playerViewController(identifier))
&gt; 
&gt; You null-checked m_videoFullscreenManager before the completion handler, but is it guaranteed to still be valid here?

Great catch! I don&apos;t see any (obvious) reason why it&apos;s still guaranteed to be valid here, so I&apos;ll add a null check for `protectedThis-&gt;m_videoFullscreenManager` as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1838232</commentid>
    <comment_count>6</comment_count>
      <attachid>451122</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2022-02-07 10:13:03 -0800</bug_when>
    <thetext>Created attachment 451122
For landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1838296</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-02-07 12:20:00 -0800</bug_when>
    <thetext>Committed r289237 (246921@main): &lt;https://commits.webkit.org/246921@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 451122.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>450816</attachid>
            <date>2022-02-03 13:53:32 -0800</date>
            <delta_ts>2022-02-07 09:27:53 -0800</delta_ts>
            <desc>WIP</desc>
            <filename>bug-236100-20220203135331.patch</filename>
            <type>text/plain</type>
            <size>16062</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg5MDU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGI0Njk5NTZkNzY1MWM4
N2VkOGRkYjNmYWVjMDNjOWExY2M1OTU0OS4uOWZjYTlkMGNlOTUyYzk0YTNjMTBhNmVjNzg5Mjhm
OGE4N2FkMGYzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIyLTAyLTAzICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBQYWdlQ2xp
ZW50IHBsdW1iaW5nIGZvciB2aWRlbyBmcmFtZSBleHRyYWN0aW9uCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzYxMDAKKyAgICAgICAgcmRhcjovLzg2
MjM3NjA4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkIGEgbWV0aG9kIHRvIGdyYWIgdGhlIEFWUGxheWVyVmlld0NvbnRyb2xsZXIgZnJvbSBhIFZp
ZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0LiBTZWUgV2ViS2l0L0NoYW5nZUxvZyBmb3IKKyAg
ICAgICAgbW9yZSBkZXRhaWxzLgorCisgICAgICAgICogcGxhdGZvcm0vaW9zL1ZpZGVvRnVsbHNj
cmVlbkludGVyZmFjZUFWS2l0Lmg6CisgICAgICAgICogcGxhdGZvcm0vaW9zL1ZpZGVvRnVsbHNj
cmVlbkludGVyZmFjZUFWS2l0Lm1tOgorICAgICAgICAoLVtXZWJBVlBsYXllclZpZXdDb250cm9s
bGVyIGF2UGxheWVyVmlld0NvbnRyb2xsZXJdKToKKyAgICAgICAgKFZpZGVvRnVsbHNjcmVlbklu
dGVyZmFjZUFWS2l0OjphdlBsYXllclZpZXdDb250cm9sbGVyIGNvbnN0KToKKwogMjAyMi0wMi0w
MyAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBUZWFj
aCBWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2UgdG8ga2VlcCB0cmFjayBvZiBpdHMgY29ycmVzcG9u
ZGluZyBNZWRpYVBsYXllcidzIE1lZGlhUGxheWVySWRlbnRpZmllcgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAxZjQ0
MjhlZmNhMWQwNTMxOTg3N2U2YWYyZDNiY2MwZjUxMzhjN2FjLi45YTMxM2ZhMzgxZDdkNGY2YThh
NTUwZDUwYWYwYzlkM2NkNjRhOWQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDIyLTAy
LTAzICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIEFk
ZCBQYWdlQ2xpZW50IHBsdW1iaW5nIGZvciB2aWRlbyBmcmFtZSBleHRyYWN0aW9uCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzYxMDAKKyAgICAgICAg
cmRhcjovLzg2MjM3NjA4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgRmluaXNoIG9mZiBzdXBwb3J0IGZvciBmdWxsc2NyZWVuIHZpZGVvIGV4dHJhY3Rp
b24gYnkgYWRkaW5nIGEgbmV3IGlPUyBQYWdlQ2xpZW50IGhvb2ssIGFuZCBjYWxsaW5nIGludG8g
aXQKKyAgICAgICAgYWZ0ZXIgZ3JhYmJpbmcgYSB2aWRlbyBmcmFtZSBmcm9tIHRoZSBHUFUgcHJv
Y2VzcyB3aGVuIHRoZSB2aWRlbyBleHRyYWN0aW9uIHRpbWVyIGZpcmVzLgorCisgICAgICAgICog
VUlQcm9jZXNzL0NvY29hL1ZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eS5oOgorICAgICAgICAq
IFVJUHJvY2Vzcy9Db2NvYS9WaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkubW06CisgICAgICAg
IChXZWJLaXQ6OlZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eTo6ZmluZEludGVyZmFjZSBjb25z
dCk6CisgICAgICAgIChXZWJLaXQ6OlZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eTo6cGxheWVy
Vmlld0NvbnRyb2xsZXIgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpWaWRlb0Z1bGxzY3JlZW5N
YW5hZ2VyUHJveHk6OmZpbmRJbnRlcmZhY2UpOiBEZWxldGVkLgorCisgICAgICAgIE1hcmsgdGhp
cyBtZXRob2QgYXMgYGNvbnN0YCwgc28gdGhhdCB3ZSBjYW4gaW52b2tlIGl0IGZyb20gYFZpZGVv
RnVsbHNjcmVlbk1hbmFnZXJQcm94eTo6cGxheWVyVmlld0NvbnRyb2xsZXJgLgorCisgICAgICAg
ICogVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNvY29hLm1tOgorICAgICAgICAoV2ViS2l0
OjpXZWJQYWdlUHJveHk6OnVwZGF0ZUZ1bGxzY3JlZW5WaWRlb0V4dHJhY3Rpb24pOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmZ1bGxzY3JlZW5WaWRlb0V4dHJhY3Rpb25UaW1lckZp
cmVkKToKKworICAgICAgICBSZXF1ZXN0IHZpZGVvIGZyYW1lIGRhdGEgZnJvbSB0aGUgR1BVIHBy
b2Nlc3MgYW5kIGhhbmQgaXQgb3ZlciB0byB0aGUgcGFnZSBjbGllbnQgYWxvbmcgd2l0aCB0aGUK
KyAgICAgICAgQVZQbGF5ZXJWaWV3Q29udHJvbGxlciBjb3JyZXNwb25kaW5nIHRvIHRoZSBjdXJy
ZW50IGZ1bGxzY3JlZW4gdmlkZW8uCisKKyAgICAgICAgKiBVSVByb2Nlc3MvUGFnZUNsaWVudC5o
OgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50Ojppc0Z1bGxzY3JlZW5WaWRlb0V4dHJhY3Rp
b25FbmFibGVkIGNvbnN0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBs
SU9TLmg6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbToKKyAg
ICAgICAgKFdlYktpdDo6UGFnZUNsaWVudEltcGw6OmJlZ2luRnVsbHNjcmVlblZpZGVvRXh0cmFj
dGlvbik6CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnRJbXBsOjpjYW5jZWxGdWxsc2NyZWVu
VmlkZW9FeHRyYWN0aW9uKToKKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudEltcGw6OmlzRnVs
bHNjcmVlblZpZGVvRXh0cmFjdGlvbkVuYWJsZWQgY29uc3QpOgorICAgICAgICAqIFVJUHJvY2Vz
cy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmg6CisgICAgICAgICogVUlQcm9jZXNzL2lv
cy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW06CisKKyAgICAgICAgQWRkIGEgbmV3IFdlYktp
dEFkZGl0aW9ucyBleHRlbnNpb24gcG9pbnQgdGhhdCBjb250YWlucyB0aGUgaW1wbGVtZW50YXRp
b25zIG9mIHRoZSB0aHJlZSBtZXRob2RzIGJlbG93OyB3aGVuCisgICAgICAgIGNvbXBpbGluZyB3
aXRob3V0IFdlYktpdEFkZGl0aW9ucywgd2Ugc2ltcGx5IHN0dWIgb3V0IHRoZXNlIG1ldGhvZHMu
CisKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBiZWdpbkZ1bGxzY3JlZW5WaWRlb0V4dHJhY3Rp
b246cGxheWVyVmlld0NvbnRyb2xsZXI6XSk6CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgY2Fu
Y2VsRnVsbHNjcmVlblZpZGVvRXh0cmFjdGlvbjpdKToKKyAgICAgICAgKC1bV0tDb250ZW50Vmll
dyBpc0Z1bGxzY3JlZW5WaWRlb0V4dHJhY3Rpb25FbmFibGVkXSk6CisKIDIwMjItMDItMDMgIFdl
bnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIGEgaGVs
cGVyIG1ldGhvZCBvbiBWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkgdG8gcmVxdWVzdCB2aWRl
byBmcmFtZSBkYXRhCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvVmlk
ZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lv
cy9WaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5oCmluZGV4IDhhMTZhN2Y3MWIxNWE5MmQ2
M2E4YzgyZmEyZWJmNTQwNDk0MzYwODMuLjA2ZGI3Y2IyMzJkMWZlYjMyNDk4ODU0NjkxMmQ3ZmE1
ZGUwZmIwMTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9WaWRlb0Z1
bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lv
cy9WaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5oCkBAIC00Myw2ICs0Myw3IEBACiAjaW5j
bHVkZSA8d3RmL1RocmVhZFNhZmVSZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL1dlYWtQdHIu
aD4KIAorT0JKQ19DTEFTUyBBVlBsYXllclZpZXdDb250cm9sbGVyOwogT0JKQ19DTEFTUyBVSVZp
ZXdDb250cm9sbGVyOwogT0JKQ19DTEFTUyBVSVdpbmRvdzsKIE9CSkNfQ0xBU1MgVUlWaWV3OwpA
QCAtMTYyLDYgKzE2Myw3IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCBib29sIHBpY3R1
cmVJblBpY3R1cmVXYXNTdGFydGVkV2hlbkVudGVyaW5nQmFja2dyb3VuZCgpIGNvbnN0OwogCiAg
ICAgc3RkOjpvcHRpb25hbDxNZWRpYVBsYXllcklkZW50aWZpZXI+IHBsYXllcklkZW50aWZpZXIo
KSBjb25zdCB7IHJldHVybiBtX3BsYXllcklkZW50aWZpZXI7IH0KKyAgICBXRUJDT1JFX0VYUE9S
VCBBVlBsYXllclZpZXdDb250cm9sbGVyICphdlBsYXllclZpZXdDb250cm9sbGVyKCkgY29uc3Q7
CiAKIHByb3RlY3RlZDoKICAgICBXRUJDT1JFX0VYUE9SVCBWaWRlb0Z1bGxzY3JlZW5JbnRlcmZh
Y2VBVktpdChQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VBVktpdCYpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1ZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0Lm1t
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1ZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFW
S2l0Lm1tCmluZGV4IGZmMWYyNGU0OTdhM2VkZWI5NzFmMjQyMzAxMGU0Yzc0ZDNiNjQ0OTQuLmUy
NDM2NzVkMGQ2MWNjMmM5YWMwOTljN2M1OTRjYzQ2ZDM3N2Q4MGIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9WaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5tbQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNl
QVZLaXQubW0KQEAgLTc5NSw3ICs3OTUsNyBAQCAtICh2b2lkKXNldFBsYXllckNvbnRyb2xsZXI6
KEFWUGxheWVyQ29udHJvbGxlciAqKXBsYXllckNvbnRyb2xsZXIKICAgICBfYXZQbGF5ZXJWaWV3
Q29udHJvbGxlci5nZXQoKS5wbGF5ZXJDb250cm9sbGVyID0gcGxheWVyQ29udHJvbGxlcjsKIH0K
IAotLSAoQVZQbGF5ZXJWaWV3Q29udHJvbGxlciAqKSBhdlBsYXllclZpZXdDb250cm9sbGVyCist
IChBVlBsYXllclZpZXdDb250cm9sbGVyICopYXZQbGF5ZXJWaWV3Q29udHJvbGxlcgogewogICAg
IHJldHVybiBfYXZQbGF5ZXJWaWV3Q29udHJvbGxlci5nZXQoKTsKIH0KQEAgLTgzNCw2ICs4MzQs
MTEgQEAgV2ViQVZQbGF5ZXJDb250cm9sbGVyICpWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktp
dDo6cGxheWVyQ29udHJvbGxlcigpIGNvbnN0CiAgICAgcmV0dXJuIG1fcGxheWJhY2tTZXNzaW9u
SW50ZXJmYWNlLT5wbGF5ZXJDb250cm9sbGVyKCk7CiB9CiAKK0FWUGxheWVyVmlld0NvbnRyb2xs
ZXIgKlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0OjphdlBsYXllclZpZXdDb250cm9sbGVy
KCkgY29uc3QKK3sKKyAgICByZXR1cm4gW21fcGxheWVyVmlld0NvbnRyb2xsZXIgYXZQbGF5ZXJW
aWV3Q29udHJvbGxlcl07Cit9CisKIHZvaWQgVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6
OnNldFZpZGVvRnVsbHNjcmVlbk1vZGVsKFZpZGVvRnVsbHNjcmVlbk1vZGVsKiBtb2RlbCkKIHsK
ICAgICBpZiAobV92aWRlb0Z1bGxzY3JlZW5Nb2RlbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0NvY29hL1ZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eS5oIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5LmgKaW5k
ZXggNTQ1MzFmNzU1OGIwMGI2MTk2NGQ2ODUzM2Y4NTA5NWE3YTEzNjBmNi4uOWY3ZTRhNzMxM2Ey
Zjk2YTgyNTkwMWExOTEyYTBkNTQ3YmUxOGYyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQ29jb2EvVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5LmgKKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5LmgKQEAg
LTE1NCw2ICsxNTQsMTAgQEAgcHVibGljOgogCiAgICAgdm9pZCByZXF1ZXN0Qml0bWFwSW1hZ2VG
b3JDdXJyZW50VGltZShQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmllciwgQ29tcGxldGlv
bkhhbmRsZXI8dm9pZChjb25zdCBTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSYpPiYmKTsKIAorI2lm
IFBMQVRGT1JNKElPU19GQU1JTFkpCisgICAgQVZQbGF5ZXJWaWV3Q29udHJvbGxlciAqcGxheWVy
Vmlld0NvbnRyb2xsZXIoUGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIpIGNvbnN0Owor
I2VuZGlmCisKIHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIFZpZGVvRnVsbHNjcmVlbk1vZGVs
Q29udGV4dDsKIApAQCAtMTY1LDcgKzE2OSw3IEBAIHByaXZhdGU6CiAgICAgTW9kZWxJbnRlcmZh
Y2VUdXBsZSYgZW5zdXJlTW9kZWxBbmRJbnRlcmZhY2UoUGxheWJhY2tTZXNzaW9uQ29udGV4dElk
ZW50aWZpZXIpOwogICAgIFZpZGVvRnVsbHNjcmVlbk1vZGVsQ29udGV4dCYgZW5zdXJlTW9kZWwo
UGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIpOwogICAgIFBsYXRmb3JtVmlkZW9GdWxs
c2NyZWVuSW50ZXJmYWNlJiBlbnN1cmVJbnRlcmZhY2UoUGxheWJhY2tTZXNzaW9uQ29udGV4dElk
ZW50aWZpZXIpOwotICAgIFBsYXRmb3JtVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlKiBmaW5kSW50
ZXJmYWNlKFBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZGVudGlmaWVyKTsKKyAgICBQbGF0Zm9ybVZp
ZGVvRnVsbHNjcmVlbkludGVyZmFjZSogZmluZEludGVyZmFjZShQbGF5YmFja1Nlc3Npb25Db250
ZXh0SWRlbnRpZmllcikgY29uc3Q7CiAgICAgdm9pZCBlbnN1cmVDbGllbnRGb3JDb250ZXh0KFBs
YXliYWNrU2Vzc2lvbkNvbnRleHRJZGVudGlmaWVyKTsKICAgICB2b2lkIGFkZENsaWVudEZvckNv
bnRleHQoUGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIpOwogICAgIHZvaWQgcmVtb3Zl
Q2xpZW50Rm9yQ29udGV4dChQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmllcik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9WaWRlb0Z1bGxzY3JlZW5NYW5h
Z2VyUHJveHkubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9WaWRlb0Z1bGxzY3Jl
ZW5NYW5hZ2VyUHJveHkubW0KaW5kZXggNWQ0MjY2OWNkMjhmYTFmOGU5ZGMwMjcxMGZjYmY0OTFl
OGY5M2Q3OS4uYmE5NTJiNzMxZjI1NTc0Y2QzNWExOWFhYTQyYmQ1MzUwYzhiMWM5MyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVmlkZW9GdWxsc2NyZWVuTWFuYWdl
clByb3h5Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1ZpZGVvRnVsbHNj
cmVlbk1hbmFnZXJQcm94eS5tbQpAQCAtNDQ3LDcgKzQ0Nyw3IEBAIFBsYXRmb3JtVmlkZW9GdWxs
c2NyZWVuSW50ZXJmYWNlJiBWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHk6OmVuc3VyZUludGVy
ZmFjZShQCiAgICAgcmV0dXJuICpzdGQ6OmdldDwxPihlbnN1cmVNb2RlbEFuZEludGVyZmFjZShj
b250ZXh0SWQpKTsKIH0KIAotUGxhdGZvcm1WaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2UqIFZpZGVv
RnVsbHNjcmVlbk1hbmFnZXJQcm94eTo6ZmluZEludGVyZmFjZShQbGF5YmFja1Nlc3Npb25Db250
ZXh0SWRlbnRpZmllciBjb250ZXh0SWQpCitQbGF0Zm9ybVZpZGVvRnVsbHNjcmVlbkludGVyZmFj
ZSogVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5OjpmaW5kSW50ZXJmYWNlKFBsYXliYWNrU2Vz
c2lvbkNvbnRleHRJZGVudGlmaWVyIGNvbnRleHRJZCkgY29uc3QKIHsKICAgICBhdXRvIGl0ID0g
bV9jb250ZXh0TWFwLmZpbmQoY29udGV4dElkKTsKICAgICBpZiAoaXQgPT0gbV9jb250ZXh0TWFw
LmVuZCgpKQpAQCAtOTA3LDYgKzkwNywxNiBAQCB2b2lkIFZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQ
cm94eTo6ZnVsbHNjcmVlbk1heVJldHVyblRvSW5saW5lKFBsYXliYWNrU2Vzc2lvbkNvbgogCiAj
ZW5kaWYKIAorI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCisKK0FWUGxheWVyVmlld0NvbnRyb2xs
ZXIgKlZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eTo6cGxheWVyVmlld0NvbnRyb2xsZXIoUGxh
eWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIgaWRlbnRpZmllcikgY29uc3QKK3sKKyAgICBh
dXRvKiBpbnRlcmZhY2UgPSBmaW5kSW50ZXJmYWNlKGlkZW50aWZpZXIpOworICAgIHJldHVybiBp
bnRlcmZhY2UgPyBpbnRlcmZhY2UtPmF2UGxheWVyVmlld0NvbnRyb2xsZXIoKSA6IG5pbDsKK30K
KworI2VuZGlmIC8vIFBMQVRGT1JNKElPU19GQU1JTFkpCisKIH0gLy8gbmFtZXNwYWNlIFdlYktp
dAogCiAjdW5kZWYgTUVTU0FHRV9DSEVDSwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbQppbmRleCA2YTk1OGE4ZTEwNzcxODFmOTgwY2Vh
Zjg5NWEwYWYyYTczMDJiOWZiLi5iMGMwYWQyZmI4YzhmZWY3ZmFlZmIzZjZkNzQ4NzgzZWM3MDZm
ZmFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJv
eHlDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJv
eHlDb2NvYS5tbQpAQCAtNDc3LDIwICs0NzcsNDEgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmRpZENo
YW5nZUN1cnJlbnRUaW1lKFBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZGVudGlmaWVyIGlkZW50aWYK
IAogdm9pZCBXZWJQYWdlUHJveHk6OnVwZGF0ZUZ1bGxzY3JlZW5WaWRlb0V4dHJhY3Rpb24oKQog
eworICAgIGlmICghcGFnZUNsaWVudCgpLmlzRnVsbHNjcmVlblZpZGVvRXh0cmFjdGlvbkVuYWJs
ZWQoKSkKKyAgICAgICAgcmV0dXJuOworCiAgICAgaWYgKG1fY3VycmVudEZ1bGxzY3JlZW5WaWRl
b1Nlc3Npb25JZGVudGlmaWVyICYmIG1fcGxheWJhY2tTZXNzaW9uTWFuYWdlciAmJiBtX3BsYXli
YWNrU2Vzc2lvbk1hbmFnZXItPmlzUGF1c2VkKCptX2N1cnJlbnRGdWxsc2NyZWVuVmlkZW9TZXNz
aW9uSWRlbnRpZmllcikpIHsKICAgICAgICAgbV9mdWxsc2NyZWVuVmlkZW9FeHRyYWN0aW9uVGlt
ZXIuc3RhcnRPbmVTaG90KDI1MF9tcyk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBt
X2Z1bGxzY3JlZW5WaWRlb0V4dHJhY3Rpb25UaW1lci5zdG9wKCk7CisKKyAgICBpZiAoIW1fY3Vy
cmVudEZ1bGxzY3JlZW5WaWRlb1Nlc3Npb25JZGVudGlmaWVyKQorICAgICAgICByZXR1cm47CisK
KyNpZiBQTEFURk9STShJT1NfRkFNSUxZKQorICAgIGlmIChSZXRhaW5QdHIgY29udHJvbGxlciA9
IG1fdmlkZW9GdWxsc2NyZWVuTWFuYWdlci0+cGxheWVyVmlld0NvbnRyb2xsZXIoKm1fY3VycmVu
dEZ1bGxzY3JlZW5WaWRlb1Nlc3Npb25JZGVudGlmaWVyKSkKKyAgICAgICAgcGFnZUNsaWVudCgp
LmNhbmNlbEZ1bGxzY3JlZW5WaWRlb0V4dHJhY3Rpb24oY29udHJvbGxlci5nZXQoKSk7CisjZW5k
aWYKIH0KIAogdm9pZCBXZWJQYWdlUHJveHk6OmZ1bGxzY3JlZW5WaWRlb0V4dHJhY3Rpb25UaW1l
ckZpcmVkKCkKIHsKLSAgICBpZiAoIW1fY3VycmVudEZ1bGxzY3JlZW5WaWRlb1Nlc3Npb25JZGVu
dGlmaWVyKQorICAgIGlmICghbV9jdXJyZW50RnVsbHNjcmVlblZpZGVvU2Vzc2lvbklkZW50aWZp
ZXIgfHwgIW1fdmlkZW9GdWxsc2NyZWVuTWFuYWdlcikKICAgICAgICAgcmV0dXJuOwogCi0gICAg
Ly8gRklYTUU6IEFkZCBsb2dpYyB0byBwZXJmb3JtIHZpZGVvIGZyYW1lIGV4dHJhY3Rpb24uCisg
ICAgYXV0byBpZGVudGlmaWVyID0gKm1fY3VycmVudEZ1bGxzY3JlZW5WaWRlb1Nlc3Npb25JZGVu
dGlmaWVyOworICAgIG1fdmlkZW9GdWxsc2NyZWVuTWFuYWdlci0+cmVxdWVzdEJpdG1hcEltYWdl
Rm9yQ3VycmVudFRpbWUoaWRlbnRpZmllciwgW2lkZW50aWZpZXIsIHdlYWtUaGlzID0gV2Vha1B0
ciB7ICp0aGlzIH1dKGF1dG8mIGltYWdlSGFuZGxlKSB7CisgICAgICAgIFJlZlB0ciBwcm90ZWN0
ZWRUaGlzID0gd2Vha1RoaXMuZ2V0KCk7CisgICAgICAgIGlmICghcHJvdGVjdGVkVGhpcyB8fCBw
cm90ZWN0ZWRUaGlzLT5tX2N1cnJlbnRGdWxsc2NyZWVuVmlkZW9TZXNzaW9uSWRlbnRpZmllciAh
PSBpZGVudGlmaWVyKQorICAgICAgICAgICAgcmV0dXJuOworCisjaWYgUExBVEZPUk0oSU9TX0ZB
TUlMWSkKKyAgICAgICAgaWYgKFJldGFpblB0ciBjb250cm9sbGVyID0gcHJvdGVjdGVkVGhpcy0+
bV92aWRlb0Z1bGxzY3JlZW5NYW5hZ2VyLT5wbGF5ZXJWaWV3Q29udHJvbGxlcihpZGVudGlmaWVy
KSkKKyAgICAgICAgICAgIHByb3RlY3RlZFRoaXMtPnBhZ2VDbGllbnQoKS5iZWdpbkZ1bGxzY3Jl
ZW5WaWRlb0V4dHJhY3Rpb24oaW1hZ2VIYW5kbGUsIGNvbnRyb2xsZXIuZ2V0KCkpOworI2VuZGlm
CisgICAgfSk7CiB9CiAKICNlbmRpZiAvLyBFTkFCTEUoVklERU9fUFJFU0VOVEFUSU9OX01PREUp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmggYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKaW5kZXggMmU1ZjYwNzNjN2VkOGVlZmU2
Y2JmODQ3MzE4ZThlNGFlZDQwMzgyZS4uYjJjYmM1ZWI3NWEzOGUxMDE5ZmFmNmNiMmI0NzczZGUw
MDU0MGNmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFnZUNsaWVudC5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaApAQCAtNjcsNiArNjcs
NyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvVGV4dFJlY29nbml0aW9uUmVzdWx0Lmg+CiAjZW5kaWYK
IAorT0JKQ19DTEFTUyBBVlBsYXllclZpZXdDb250cm9sbGVyOwogT0JKQ19DTEFTUyBDQUxheWVy
OwogT0JKQ19DTEFTUyBOU0ZpbGVXcmFwcGVyOwogT0JKQ19DTEFTUyBOU01lbnU7CkBAIC01MDAs
NyArNTAxLDExIEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgV2ViQ29yZTo6Q29sb3IgY29udGVu
dFZpZXdCYWNrZ3JvdW5kQ29sb3IoKSA9IDA7CiAgICAgdmlydHVhbCBTdHJpbmcgc2NlbmVJRCgp
ID0gMDsKKworICAgIHZpcnR1YWwgdm9pZCBiZWdpbkZ1bGxzY3JlZW5WaWRlb0V4dHJhY3Rpb24o
Y29uc3QgU2hhcmVhYmxlQml0bWFwOjpIYW5kbGUmLCBBVlBsYXllclZpZXdDb250cm9sbGVyICop
ID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgY2FuY2VsRnVsbHNjcmVlblZpZGVvRXh0cmFjdGlvbihB
VlBsYXllclZpZXdDb250cm9sbGVyICopID0gMDsKICNlbmRpZgorICAgIHZpcnR1YWwgYm9vbCBp
c0Z1bGxzY3JlZW5WaWRlb0V4dHJhY3Rpb25FbmFibGVkKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7
IH0KIAogICAgIC8vIEF1eGlsaWFyeSBDbGllbnQgQ3JlYXRpb24KICNpZiBFTkFCTEUoRlVMTFND
UkVFTl9BUEkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNs
aWVudEltcGxJT1MuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1w
bElPUy5oCmluZGV4IDNiMDRhODMzZGJlMGI2YjY2ZWUxNGQzYzMwMGYzMDY4NzE4YmYyY2YuLmRm
YjE5Mzk5MzYxNmU4MDBhMWE1MDg4MTg4MzJlNGRmMjU3NmRjZDkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oCkBAIC0zMDMsNiArMzAzLDEw
IEBAIHByaXZhdGU6CiAgICAgV2ViQ29yZTo6Q29sb3IgY29udGVudFZpZXdCYWNrZ3JvdW5kQ29s
b3IoKSBmaW5hbDsKICAgICBTdHJpbmcgc2NlbmVJRCgpIGZpbmFsOwogCisgICAgdm9pZCBiZWdp
bkZ1bGxzY3JlZW5WaWRlb0V4dHJhY3Rpb24oY29uc3QgU2hhcmVhYmxlQml0bWFwOjpIYW5kbGUm
LCBBVlBsYXllclZpZXdDb250cm9sbGVyICopIGZpbmFsOworICAgIHZvaWQgY2FuY2VsRnVsbHNj
cmVlblZpZGVvRXh0cmFjdGlvbihBVlBsYXllclZpZXdDb250cm9sbGVyICopIGZpbmFsOworICAg
IGJvb2wgaXNGdWxsc2NyZWVuVmlkZW9FeHRyYWN0aW9uRW5hYmxlZCgpIGNvbnN0IGZpbmFsOwor
CiAgICAgV2Vha09iakNQdHI8V0tDb250ZW50Vmlldz4gbV9jb250ZW50VmlldzsKICAgICBSZXRh
aW5QdHI8V0tFZGl0b3JVbmRvVGFyZ2V0PiBtX3VuZG9UYXJnZXQ7CiB9OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tCmluZGV4IDBlYzIwODhm
YWJkZjQ3MDg5OWZkMDM1OWFmNWNiOTdlNjhkNWY0YTIuLjJiNWY1MWMyZDgwN2NkZjdlNmVlNTk1
N2Q2NmYzYTcxZmQ4MmMyZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lv
cy9QYWdlQ2xpZW50SW1wbElPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3Mv
UGFnZUNsaWVudEltcGxJT1MubW0KQEAgLTEwMzEsNiArMTAzMSwyMSBAQCBTdHJpbmcgUGFnZUNs
aWVudEltcGw6OnNjZW5lSUQoKQogICAgIHJldHVybiBbbV9jb250ZW50VmlldyB3aW5kb3ddLndp
bmRvd1NjZW5lLl9zY2VuZUlkZW50aWZpZXI7CiB9CiAKK3ZvaWQgUGFnZUNsaWVudEltcGw6OmJl
Z2luRnVsbHNjcmVlblZpZGVvRXh0cmFjdGlvbihjb25zdCBTaGFyZWFibGVCaXRtYXA6OkhhbmRs
ZSYgaW1hZ2VIYW5kbGUsIEFWUGxheWVyVmlld0NvbnRyb2xsZXIgKnBsYXllclZpZXdDb250cm9s
bGVyKQoreworICAgIFttX2NvbnRlbnRWaWV3IGJlZ2luRnVsbHNjcmVlblZpZGVvRXh0cmFjdGlv
bjppbWFnZUhhbmRsZSBwbGF5ZXJWaWV3Q29udHJvbGxlcjpwbGF5ZXJWaWV3Q29udHJvbGxlcl07
Cit9CisKK3ZvaWQgUGFnZUNsaWVudEltcGw6OmNhbmNlbEZ1bGxzY3JlZW5WaWRlb0V4dHJhY3Rp
b24oQVZQbGF5ZXJWaWV3Q29udHJvbGxlciAqY29udHJvbGxlcikKK3sKKyAgICBbbV9jb250ZW50
VmlldyBjYW5jZWxGdWxsc2NyZWVuVmlkZW9FeHRyYWN0aW9uOmNvbnRyb2xsZXJdOworfQorCiti
b29sIFBhZ2VDbGllbnRJbXBsOjppc0Z1bGxzY3JlZW5WaWRlb0V4dHJhY3Rpb25FbmFibGVkKCkg
Y29uc3QKK3sKKyAgICByZXR1cm4gW21fY29udGVudFZpZXcgaXNGdWxsc2NyZWVuVmlkZW9FeHRy
YWN0aW9uRW5hYmxlZF07Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCiAjZW5kaWYgLy8g
UExBVEZPUk0oSU9TX0ZBTUlMWSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaAppbmRleCBjN2JlNWJlZjg2NGFjNmM2YzBh
ZTIwNDExODgxZGY5MGY0Njk3MWQyLi43Y2JiNTQ4ZTczODQ3ZmMxMDNhZWRjMGQ3NmZhMmZlN2I2
N2YyMjRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50
Vmlld0ludGVyYWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29u
dGVudFZpZXdJbnRlcmFjdGlvbi5oCkBAIC0xMTAsNiArMTEwLDcgQEAgY2xhc3MgV2ViT3BlblBh
bmVsUmVzdWx0TGlzdGVuZXJQcm94eTsKIGNsYXNzIFdlYlBhZ2VQcm94eTsKIH0KIAorQGNsYXNz
IEFWUGxheWVyVmlld0NvbnRyb2xsZXI7CiBAY2xhc3MgUUxQcmV2aWV3Q29udHJvbGxlcjsKIEBj
bGFzcyBXZWJFdmVudDsKIEBjbGFzcyBXZWJUZXh0SW5kaWNhdG9yTGF5ZXI7CkBAIC01MjcsNiAr
NTI4LDcgQEAgdXNpbmcgSW1hZ2VBbmFseXNpc1JlcXVlc3RJZGVudGlmaWVyID0gT2JqZWN0SWRl
bnRpZmllcjxJbWFnZUFuYWx5c2lzUmVxdWVzdElkZW4KICAgICBCT09MIF9oYXNWaXN1YWxTZWFy
Y2hSZXN1bHRzOwogI2VuZGlmIC8vIFVTRShRVUlDS19MT09LKQogI2VuZGlmIC8vIEVOQUJMRShJ
TUFHRV9BTkFMWVNJUykKKyAgICB1aW50MzJfdCBfZnVsbHNjcmVlblZpZGVvRXh0cmFjdGlvblJl
cXVlc3RJZGVudGlmaWVyOwogfQogCiBAZW5kCkBAIC03ODIsNiArNzg0LDEwIEBAIEZPUl9FQUNI
X1BSSVZBVEVfV0tDT05URU5UVklFV19BQ1RJT04oREVDTEFSRV9XS0NPTlRFTlRWSUVXX0FDVElP
Tl9GT1JfV0VCX1ZJRVcpCiAtICh2b2lkKXJlcXVlc3RSZWN0Rm9yRm91bmRUZXh0UmFuZ2U6KFVJ
VGV4dFJhbmdlICopcmFuZ2UgY29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKENHUmVjdCkpY29t
cGxldGlvbkhhbmRsZXI7CiAjZW5kaWYKIAorLSAodm9pZCliZWdpbkZ1bGxzY3JlZW5WaWRlb0V4
dHJhY3Rpb246KGNvbnN0IFdlYktpdDo6U2hhcmVhYmxlQml0bWFwOjpIYW5kbGUmKWltYWdlSGFu
ZGxlIHBsYXllclZpZXdDb250cm9sbGVyOihBVlBsYXllclZpZXdDb250cm9sbGVyICopcGxheWVy
Vmlld0NvbnRyb2xsZXI7CistICh2b2lkKWNhbmNlbEZ1bGxzY3JlZW5WaWRlb0V4dHJhY3Rpb246
KEFWUGxheWVyVmlld0NvbnRyb2xsZXIgKiljb250cm9sbGVyOworQHByb3BlcnR5IChub25hdG9t
aWMsIHJlYWRvbmx5KSBCT09MIGlzRnVsbHNjcmVlblZpZGVvRXh0cmFjdGlvbkVuYWJsZWQ7CisK
IEBlbmQKIAogQGludGVyZmFjZSBXS0NvbnRlbnRWaWV3IChXS1Rlc3RpbmcpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1t
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5t
bQppbmRleCA0MDcyNmMxZWQ0NzUzM2YxMzdkYTBkZGE0MGE4ZWVjMjM2Y2QzNTY0Li5kZDg5MTc2
MWU5ZDY4ODU5OTMzODRlZjM5NGEwMWUxZWYzYzc5MTNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KQEAgLTEz
NSw2ICsxMzUsNyBAQAogI2ltcG9ydCA8V2ViQ29yZS9Xcml0aW5nRGlyZWN0aW9uLmg+CiAjaW1w
b3J0IDxXZWJLaXQvV2ViU2VsZWN0aW9uUmVjdC5oPiAvLyBGSVhNRTogV2ViS2l0IHNob3VsZCBu
b3QgaW5jbHVkZSBXZWJLaXRMZWdhY3kgaGVhZGVycyEKICNpbXBvcnQgPHBhbC9zcGkvY2cvQ29y
ZUdyYXBoaWNzU1BJLmg+CisjaW1wb3J0IDxwYWwvc3BpL2NvY29hL0FWS2l0U1BJLmg+CiAjaW1w
b3J0IDxwYWwvc3BpL2NvY29hL0RhdGFEZXRlY3RvcnNDb3JlU1BJLmg+CiAjaW1wb3J0IDxwYWwv
c3BpL2NvY29hL0xhdW5jaFNlcnZpY2VzU1BJLmg+CiAjaW1wb3J0IDxwYWwvc3BpL2NvY29hL05T
QXR0cmlidXRlZFN0cmluZ1NQSS5oPgpAQCAtMTA1OTgsNiArMTA1OTksMjUgQEAgLSAodm9pZClj
YXB0dXJlVGV4dEZyb21DYW1lcmFGb3JXZWJWaWV3OihpZClzZW5kZXIKIAogI2VuZGlmIC8vIEVO
QUJMRShJTUFHRV9BTkFMWVNJUykKIAorI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjaW1w
b3J0IDxXZWJLaXRBZGRpdGlvbnMvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uQWRkaXRpb25zQWZ0
ZXIubW0+CisjZWxzZQorCistICh2b2lkKWJlZ2luRnVsbHNjcmVlblZpZGVvRXh0cmFjdGlvbjoo
Y29uc3QgV2ViS2l0OjpTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSYpaW1hZ2VEYXRhIHBsYXllclZp
ZXdDb250cm9sbGVyOihBVlBsYXllclZpZXdDb250cm9sbGVyICopY29udHJvbGxlcgoreworfQor
CistICh2b2lkKWNhbmNlbEZ1bGxzY3JlZW5WaWRlb0V4dHJhY3Rpb246KEFWUGxheWVyVmlld0Nv
bnRyb2xsZXIgKiljb250cm9sbGVyCit7Cit9CisKKy0gKEJPT0wpaXNGdWxsc2NyZWVuVmlkZW9F
eHRyYWN0aW9uRW5hYmxlZAoreworICAgIHJldHVybiBOTzsKK30KKworI2VuZGlmCisKIEBlbmQK
IAogQGltcGxlbWVudGF0aW9uIFdLQ29udGVudFZpZXcgKFdLVGVzdGluZykK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>451116</attachid>
            <date>2022-02-07 09:27:54 -0800</date>
            <delta_ts>2022-02-07 12:37:12 -0800</delta_ts>
            <desc>Rebase on trunk</desc>
            <filename>bug-236100-20220207092754.patch</filename>
            <type>text/plain</type>
            <size>16007</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg5MjIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDE5N2U1Y2Q5MjkzZWFl
M2ZkMzc0OGZlYWVmNzAzMmRiYjgzMjM5MS4uOGEyZjI5YTQwYmQ4MWJkNjhmNjg5MDg5YTk5ODU4
ZGFkOTQyOTM3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIyLTAyLTA3ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBQYWdlQ2xp
ZW50IHBsdW1iaW5nIGZvciB2aWRlbyBmcmFtZSBleHRyYWN0aW9uCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzYxMDAKKyAgICAgICAgcmRhcjovLzg2
MjM3NjA4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkIGEgbWV0aG9kIHRvIGdyYWIgdGhlIEFWUGxheWVyVmlld0NvbnRyb2xsZXIgZnJvbSBhIFZp
ZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0LiBTZWUgV2ViS2l0L0NoYW5nZUxvZyBmb3IKKyAg
ICAgICAgbW9yZSBkZXRhaWxzLgorCisgICAgICAgICogcGxhdGZvcm0vaW9zL1ZpZGVvRnVsbHNj
cmVlbkludGVyZmFjZUFWS2l0Lmg6CisgICAgICAgICogcGxhdGZvcm0vaW9zL1ZpZGVvRnVsbHNj
cmVlbkludGVyZmFjZUFWS2l0Lm1tOgorICAgICAgICAoLVtXZWJBVlBsYXllclZpZXdDb250cm9s
bGVyIGF2UGxheWVyVmlld0NvbnRyb2xsZXJdKToKKyAgICAgICAgKFZpZGVvRnVsbHNjcmVlbklu
dGVyZmFjZUFWS2l0OjphdlBsYXllclZpZXdDb250cm9sbGVyIGNvbnN0KToKKwogMjAyMi0wMi0w
NyAgQW50b2luZSBRdWludCAgPGdyYW91dHNAd2Via2l0Lm9yZz4KIAogICAgICAgICBJbXByb3Zl
IERvY3VtZW50VGltZWxpbmU6OmFuaW1hdGlvbkNhbkJlUmVtb3ZlZCgpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGJl
NTMzZWRhNWZiNzYwZTYzYTY4MzhlZDNjMmMxNjY3NGFhNGUxMmQuLjZjMmEzYmYzMzNjM2Y5MWQ3
ODZmNjZhZTMyMzAzMzI1ZjQzY2E5YjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDYgQEAKKzIwMjIt
MDItMDcgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAg
QWRkIFBhZ2VDbGllbnQgcGx1bWJpbmcgZm9yIHZpZGVvIGZyYW1lIGV4dHJhY3Rpb24KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNjEwMAorICAgICAg
ICByZGFyOi8vODYyMzc2MDgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBGaW5pc2ggb2ZmIHN1cHBvcnQgZm9yIGZ1bGxzY3JlZW4gdmlkZW8gZXh0cmFj
dGlvbiBieSBhZGRpbmcgYSBuZXcgaU9TIFBhZ2VDbGllbnQgaG9vaywgYW5kIGNhbGxpbmcgaW50
byBpdAorICAgICAgICBhZnRlciBncmFiYmluZyBhIHZpZGVvIGZyYW1lIGZyb20gdGhlIEdQVSBw
cm9jZXNzIHdoZW4gdGhlIHZpZGVvIGV4dHJhY3Rpb24gdGltZXIgZmlyZXMuCisKKyAgICAgICAg
KiBVSVByb2Nlc3MvQ29jb2EvVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5Lmg6CisgICAgICAg
ICogVUlQcm9jZXNzL0NvY29hL1ZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eS5tbToKKyAgICAg
ICAgKFdlYktpdDo6VmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5OjpmaW5kSW50ZXJmYWNlIGNv
bnN0KToKKyAgICAgICAgKFdlYktpdDo6VmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5OjpwbGF5
ZXJWaWV3Q29udHJvbGxlciBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OlZpZGVvRnVsbHNjcmVl
bk1hbmFnZXJQcm94eTo6ZmluZEludGVyZmFjZSk6IERlbGV0ZWQuCisKKyAgICAgICAgTWFyayB0
aGlzIG1ldGhvZCBhcyBgY29uc3RgLCBzbyB0aGF0IHdlIGNhbiBpbnZva2UgaXQgZnJvbSBgVmlk
ZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5OjpwbGF5ZXJWaWV3Q29udHJvbGxlcmAuCisKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW06CisgICAgICAgIChXZWJL
aXQ6OldlYlBhZ2VQcm94eTo6dXBkYXRlRnVsbHNjcmVlblZpZGVvRXh0cmFjdGlvbik6CisgICAg
ICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6ZnVsbHNjcmVlblZpZGVvRXh0cmFjdGlvblRpbWVy
RmlyZWQpOgorCisgICAgICAgIFJlcXVlc3QgdmlkZW8gZnJhbWUgZGF0YSBmcm9tIHRoZSBHUFUg
cHJvY2VzcyBhbmQgaGFuZCBpdCBvdmVyIHRvIHRoZSBwYWdlIGNsaWVudCBhbG9uZyB3aXRoIHRo
ZQorICAgICAgICBBVlBsYXllclZpZXdDb250cm9sbGVyIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGN1
cnJlbnQgZnVsbHNjcmVlbiB2aWRlby4KKworICAgICAgICAqIFVJUHJvY2Vzcy9QYWdlQ2xpZW50
Lmg6CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnQ6OmlzRnVsbHNjcmVlblZpZGVvRXh0cmFj
dGlvbkVuYWJsZWQgY29uc3QpOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudElt
cGxJT1MuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tOgor
ICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50SW1wbDo6YmVnaW5GdWxsc2NyZWVuVmlkZW9FeHRy
YWN0aW9uKToKKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudEltcGw6OmNhbmNlbEZ1bGxzY3Jl
ZW5WaWRlb0V4dHJhY3Rpb24pOgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50SW1wbDo6aXNG
dWxsc2NyZWVuVmlkZW9FeHRyYWN0aW9uRW5hYmxlZCBjb25zdCk6CisgICAgICAgICogVUlQcm9j
ZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaDoKKyAgICAgICAgKiBVSVByb2Nlc3Mv
aW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbToKKworICAgICAgICBBZGQgYSBuZXcgV2Vi
S2l0QWRkaXRpb25zIGV4dGVuc2lvbiBwb2ludCB0aGF0IGNvbnRhaW5zIHRoZSBpbXBsZW1lbnRh
dGlvbnMgb2YgdGhlIHRocmVlIG1ldGhvZHMgYmVsb3c7IHdoZW4KKyAgICAgICAgY29tcGlsaW5n
IHdpdGhvdXQgV2ViS2l0QWRkaXRpb25zLCB3ZSBzaW1wbHkgc3R1YiBvdXQgdGhlc2UgbWV0aG9k
cy4KKworICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IGJlZ2luRnVsbHNjcmVlblZpZGVvRXh0cmFj
dGlvbjpwbGF5ZXJWaWV3Q29udHJvbGxlcjpdKToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBj
YW5jZWxGdWxsc2NyZWVuVmlkZW9FeHRyYWN0aW9uOl0pOgorICAgICAgICAoLVtXS0NvbnRlbnRW
aWV3IGlzRnVsbHNjcmVlblZpZGVvRXh0cmFjdGlvbkVuYWJsZWRdKToKKwogMjAyMi0wMi0wNyAg
V2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgYSBo
ZWxwZXIgbWV0aG9kIG9uIFZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eSB0byByZXF1ZXN0IHZp
ZGVvIGZyYW1lIGRhdGEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9W
aWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
aW9zL1ZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0LmgKaW5kZXggOGExNmE3ZjcxYjE1YTky
ZDYzYThjODJmYTJlYmY1NDA0OTQzNjA4My4uMDZkYjdjYjIzMmQxZmViMzI0OTg4NTQ2OTEyZDdm
YTVkZTBmYjAxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1ZpZGVv
RnVsbHNjcmVlbkludGVyZmFjZUFWS2l0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
aW9zL1ZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0LmgKQEAgLTQzLDYgKzQzLDcgQEAKICNp
bmNsdWRlIDx3dGYvVGhyZWFkU2FmZVJlZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvV2Vha1B0
ci5oPgogCitPQkpDX0NMQVNTIEFWUGxheWVyVmlld0NvbnRyb2xsZXI7CiBPQkpDX0NMQVNTIFVJ
Vmlld0NvbnRyb2xsZXI7CiBPQkpDX0NMQVNTIFVJV2luZG93OwogT0JKQ19DTEFTUyBVSVZpZXc7
CkBAIC0xNjIsNiArMTYzLDcgQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgcGlj
dHVyZUluUGljdHVyZVdhc1N0YXJ0ZWRXaGVuRW50ZXJpbmdCYWNrZ3JvdW5kKCkgY29uc3Q7CiAK
ICAgICBzdGQ6Om9wdGlvbmFsPE1lZGlhUGxheWVySWRlbnRpZmllcj4gcGxheWVySWRlbnRpZmll
cigpIGNvbnN0IHsgcmV0dXJuIG1fcGxheWVySWRlbnRpZmllcjsgfQorICAgIFdFQkNPUkVfRVhQ
T1JUIEFWUGxheWVyVmlld0NvbnRyb2xsZXIgKmF2UGxheWVyVmlld0NvbnRyb2xsZXIoKSBjb25z
dDsKIAogcHJvdGVjdGVkOgogICAgIFdFQkNPUkVfRVhQT1JUIFZpZGVvRnVsbHNjcmVlbkludGVy
ZmFjZUFWS2l0KFBsYXliYWNrU2Vzc2lvbkludGVyZmFjZUFWS2l0Jik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQu
bW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNl
QVZLaXQubW0KaW5kZXggZmYxZjI0ZTQ5N2EzZWRlYjk3MWYyNDIzMDEwZTRjNzRkM2I2NDQ5NC4u
ZTI0MzY3NWQwZDYxY2MyYzlhYzA5OWM3YzU5NGNjNDZkMzc3ZDgwYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1ZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0Lm1t
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9WaWRlb0Z1bGxzY3JlZW5JbnRlcmZh
Y2VBVktpdC5tbQpAQCAtNzk1LDcgKzc5NSw3IEBAIC0gKHZvaWQpc2V0UGxheWVyQ29udHJvbGxl
cjooQVZQbGF5ZXJDb250cm9sbGVyICopcGxheWVyQ29udHJvbGxlcgogICAgIF9hdlBsYXllclZp
ZXdDb250cm9sbGVyLmdldCgpLnBsYXllckNvbnRyb2xsZXIgPSBwbGF5ZXJDb250cm9sbGVyOwog
fQogCi0tIChBVlBsYXllclZpZXdDb250cm9sbGVyICopIGF2UGxheWVyVmlld0NvbnRyb2xsZXIK
Ky0gKEFWUGxheWVyVmlld0NvbnRyb2xsZXIgKilhdlBsYXllclZpZXdDb250cm9sbGVyCiB7CiAg
ICAgcmV0dXJuIF9hdlBsYXllclZpZXdDb250cm9sbGVyLmdldCgpOwogfQpAQCAtODM0LDYgKzgz
NCwxMSBAQCBXZWJBVlBsYXllckNvbnRyb2xsZXIgKlZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFW
S2l0OjpwbGF5ZXJDb250cm9sbGVyKCkgY29uc3QKICAgICByZXR1cm4gbV9wbGF5YmFja1Nlc3Np
b25JbnRlcmZhY2UtPnBsYXllckNvbnRyb2xsZXIoKTsKIH0KIAorQVZQbGF5ZXJWaWV3Q29udHJv
bGxlciAqVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6OmF2UGxheWVyVmlld0NvbnRyb2xs
ZXIoKSBjb25zdAoreworICAgIHJldHVybiBbbV9wbGF5ZXJWaWV3Q29udHJvbGxlciBhdlBsYXll
clZpZXdDb250cm9sbGVyXTsKK30KKwogdm9pZCBWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktp
dDo6c2V0VmlkZW9GdWxsc2NyZWVuTW9kZWwoVmlkZW9GdWxsc2NyZWVuTW9kZWwqIG1vZGVsKQog
ewogICAgIGlmIChtX3ZpZGVvRnVsbHNjcmVlbk1vZGVsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQ29jb2EvVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5LmggYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9WaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkuaApp
bmRleCA1NDUzMWY3NTU4YjAwYjYxOTY0ZDY4NTMzZjg1MDk1YTdhMTM2MGY2Li45ZjdlNGE3MzEz
YTJmOTZhODI1OTAxYTE5MTJhMGQ1NDdiZTE4ZjI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Db2NvYS9WaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9WaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkuaApA
QCAtMTU0LDYgKzE1NCwxMCBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHJlcXVlc3RCaXRtYXBJbWFn
ZUZvckN1cnJlbnRUaW1lKFBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZGVudGlmaWVyLCBDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKGNvbnN0IFNoYXJlYWJsZUJpdG1hcDo6SGFuZGxlJik+JiYpOwogCisj
aWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyAgICBBVlBsYXllclZpZXdDb250cm9sbGVyICpwbGF5
ZXJWaWV3Q29udHJvbGxlcihQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmllcikgY29uc3Q7
CisjZW5kaWYKKwogcHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3MgVmlkZW9GdWxsc2NyZWVuTW9k
ZWxDb250ZXh0OwogCkBAIC0xNjUsNyArMTY5LDcgQEAgcHJpdmF0ZToKICAgICBNb2RlbEludGVy
ZmFjZVR1cGxlJiBlbnN1cmVNb2RlbEFuZEludGVyZmFjZShQbGF5YmFja1Nlc3Npb25Db250ZXh0
SWRlbnRpZmllcik7CiAgICAgVmlkZW9GdWxsc2NyZWVuTW9kZWxDb250ZXh0JiBlbnN1cmVNb2Rl
bChQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmllcik7CiAgICAgUGxhdGZvcm1WaWRlb0Z1
bGxzY3JlZW5JbnRlcmZhY2UmIGVuc3VyZUludGVyZmFjZShQbGF5YmFja1Nlc3Npb25Db250ZXh0
SWRlbnRpZmllcik7Ci0gICAgUGxhdGZvcm1WaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2UqIGZpbmRJ
bnRlcmZhY2UoUGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIpOworICAgIFBsYXRmb3Jt
VmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlKiBmaW5kSW50ZXJmYWNlKFBsYXliYWNrU2Vzc2lvbkNv
bnRleHRJZGVudGlmaWVyKSBjb25zdDsKICAgICB2b2lkIGVuc3VyZUNsaWVudEZvckNvbnRleHQo
UGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIpOwogICAgIHZvaWQgYWRkQ2xpZW50Rm9y
Q29udGV4dChQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmllcik7CiAgICAgdm9pZCByZW1v
dmVDbGllbnRGb3JDb250ZXh0KFBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZGVudGlmaWVyKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1ZpZGVvRnVsbHNjcmVlbk1h
bmFnZXJQcm94eS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1ZpZGVvRnVsbHNj
cmVlbk1hbmFnZXJQcm94eS5tbQppbmRleCBjYzczOTc4MDg0NmI0YTNiYmJmMzNjZmQxM2JhMmY5
MzVlZTMzY2I5Li42MDBhODlmNTU5YmY5YzJlZmZiMmUwZDE3YTNmNWVkZjQwZjk2MmMwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9WaWRlb0Z1bGxzY3JlZW5NYW5h
Z2VyUHJveHkubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVmlkZW9GdWxs
c2NyZWVuTWFuYWdlclByb3h5Lm1tCkBAIC00NDcsNyArNDQ3LDcgQEAgUGxhdGZvcm1WaWRlb0Z1
bGxzY3JlZW5JbnRlcmZhY2UmIFZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eTo6ZW5zdXJlSW50
ZXJmYWNlKFAKICAgICByZXR1cm4gKnN0ZDo6Z2V0PDE+KGVuc3VyZU1vZGVsQW5kSW50ZXJmYWNl
KGNvbnRleHRJZCkpOwogfQogCi1QbGF0Zm9ybVZpZGVvRnVsbHNjcmVlbkludGVyZmFjZSogVmlk
ZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5OjpmaW5kSW50ZXJmYWNlKFBsYXliYWNrU2Vzc2lvbkNv
bnRleHRJZGVudGlmaWVyIGNvbnRleHRJZCkKK1BsYXRmb3JtVmlkZW9GdWxsc2NyZWVuSW50ZXJm
YWNlKiBWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHk6OmZpbmRJbnRlcmZhY2UoUGxheWJhY2tT
ZXNzaW9uQ29udGV4dElkZW50aWZpZXIgY29udGV4dElkKSBjb25zdAogewogICAgIGF1dG8gaXQg
PSBtX2NvbnRleHRNYXAuZmluZChjb250ZXh0SWQpOwogICAgIGlmIChpdCA9PSBtX2NvbnRleHRN
YXAuZW5kKCkpCkBAIC05MDcsNiArOTA3LDE2IEBAIHZvaWQgVmlkZW9GdWxsc2NyZWVuTWFuYWdl
clByb3h5OjpmdWxsc2NyZWVuTWF5UmV0dXJuVG9JbmxpbmUoUGxheWJhY2tTZXNzaW9uQ29uCiAK
ICNlbmRpZgogCisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKworQVZQbGF5ZXJWaWV3Q29udHJv
bGxlciAqVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5OjpwbGF5ZXJWaWV3Q29udHJvbGxlcihQ
bGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmllciBpZGVudGlmaWVyKSBjb25zdAoreworICAg
IGF1dG8qIGludGVyZmFjZSA9IGZpbmRJbnRlcmZhY2UoaWRlbnRpZmllcik7CisgICAgcmV0dXJu
IGludGVyZmFjZSA/IGludGVyZmFjZS0+YXZQbGF5ZXJWaWV3Q29udHJvbGxlcigpIDogbmlsOwor
fQorCisjZW5kaWYgLy8gUExBVEZPUk0oSU9TX0ZBTUlMWSkKKwogfSAvLyBuYW1lc3BhY2UgV2Vi
S2l0CiAKICN1bmRlZiBNRVNTQUdFX0NIRUNLCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNvY29hLm1tCmluZGV4IDZhOTU4YThlMTA3NzE4MWY5ODBj
ZWFmODk1YTBhZjJhNzMwMmI5ZmIuLmIwYzBhZDJmYjhjOGZlZjdmYWVmYjNmNmQ3NDg3ODNlYzcw
NmZmYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQ
cm94eUNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQ
cm94eUNvY29hLm1tCkBAIC00NzcsMjAgKzQ3Nyw0MSBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlk
Q2hhbmdlQ3VycmVudFRpbWUoUGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIgaWRlbnRp
ZgogCiB2b2lkIFdlYlBhZ2VQcm94eTo6dXBkYXRlRnVsbHNjcmVlblZpZGVvRXh0cmFjdGlvbigp
CiB7CisgICAgaWYgKCFwYWdlQ2xpZW50KCkuaXNGdWxsc2NyZWVuVmlkZW9FeHRyYWN0aW9uRW5h
YmxlZCgpKQorICAgICAgICByZXR1cm47CisKICAgICBpZiAobV9jdXJyZW50RnVsbHNjcmVlblZp
ZGVvU2Vzc2lvbklkZW50aWZpZXIgJiYgbV9wbGF5YmFja1Nlc3Npb25NYW5hZ2VyICYmIG1fcGxh
eWJhY2tTZXNzaW9uTWFuYWdlci0+aXNQYXVzZWQoKm1fY3VycmVudEZ1bGxzY3JlZW5WaWRlb1Nl
c3Npb25JZGVudGlmaWVyKSkgewogICAgICAgICBtX2Z1bGxzY3JlZW5WaWRlb0V4dHJhY3Rpb25U
aW1lci5zdGFydE9uZVNob3QoMjUwX21zKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAg
IG1fZnVsbHNjcmVlblZpZGVvRXh0cmFjdGlvblRpbWVyLnN0b3AoKTsKKworICAgIGlmICghbV9j
dXJyZW50RnVsbHNjcmVlblZpZGVvU2Vzc2lvbklkZW50aWZpZXIpCisgICAgICAgIHJldHVybjsK
KworI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCisgICAgaWYgKFJldGFpblB0ciBjb250cm9sbGVy
ID0gbV92aWRlb0Z1bGxzY3JlZW5NYW5hZ2VyLT5wbGF5ZXJWaWV3Q29udHJvbGxlcigqbV9jdXJy
ZW50RnVsbHNjcmVlblZpZGVvU2Vzc2lvbklkZW50aWZpZXIpKQorICAgICAgICBwYWdlQ2xpZW50
KCkuY2FuY2VsRnVsbHNjcmVlblZpZGVvRXh0cmFjdGlvbihjb250cm9sbGVyLmdldCgpKTsKKyNl
bmRpZgogfQogCiB2b2lkIFdlYlBhZ2VQcm94eTo6ZnVsbHNjcmVlblZpZGVvRXh0cmFjdGlvblRp
bWVyRmlyZWQoKQogewotICAgIGlmICghbV9jdXJyZW50RnVsbHNjcmVlblZpZGVvU2Vzc2lvbklk
ZW50aWZpZXIpCisgICAgaWYgKCFtX2N1cnJlbnRGdWxsc2NyZWVuVmlkZW9TZXNzaW9uSWRlbnRp
ZmllciB8fCAhbV92aWRlb0Z1bGxzY3JlZW5NYW5hZ2VyKQogICAgICAgICByZXR1cm47CiAKLSAg
ICAvLyBGSVhNRTogQWRkIGxvZ2ljIHRvIHBlcmZvcm0gdmlkZW8gZnJhbWUgZXh0cmFjdGlvbi4K
KyAgICBhdXRvIGlkZW50aWZpZXIgPSAqbV9jdXJyZW50RnVsbHNjcmVlblZpZGVvU2Vzc2lvbklk
ZW50aWZpZXI7CisgICAgbV92aWRlb0Z1bGxzY3JlZW5NYW5hZ2VyLT5yZXF1ZXN0Qml0bWFwSW1h
Z2VGb3JDdXJyZW50VGltZShpZGVudGlmaWVyLCBbaWRlbnRpZmllciwgd2Vha1RoaXMgPSBXZWFr
UHRyIHsgKnRoaXMgfV0oYXV0byYgaW1hZ2VIYW5kbGUpIHsKKyAgICAgICAgUmVmUHRyIHByb3Rl
Y3RlZFRoaXMgPSB3ZWFrVGhpcy5nZXQoKTsKKyAgICAgICAgaWYgKCFwcm90ZWN0ZWRUaGlzIHx8
IHByb3RlY3RlZFRoaXMtPm1fY3VycmVudEZ1bGxzY3JlZW5WaWRlb1Nlc3Npb25JZGVudGlmaWVy
ICE9IGlkZW50aWZpZXIpCisgICAgICAgICAgICByZXR1cm47CisKKyNpZiBQTEFURk9STShJT1Nf
RkFNSUxZKQorICAgICAgICBpZiAoUmV0YWluUHRyIGNvbnRyb2xsZXIgPSBwcm90ZWN0ZWRUaGlz
LT5tX3ZpZGVvRnVsbHNjcmVlbk1hbmFnZXItPnBsYXllclZpZXdDb250cm9sbGVyKGlkZW50aWZp
ZXIpKQorICAgICAgICAgICAgcHJvdGVjdGVkVGhpcy0+cGFnZUNsaWVudCgpLmJlZ2luRnVsbHNj
cmVlblZpZGVvRXh0cmFjdGlvbihpbWFnZUhhbmRsZSwgY29udHJvbGxlci5nZXQoKSk7CisjZW5k
aWYKKyAgICB9KTsKIH0KIAogI2VuZGlmIC8vIEVOQUJMRShWSURFT19QUkVTRU5UQVRJT05fTU9E
RSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaCBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAppbmRleCAyZTVmNjA3M2M3ZWQ4ZWVm
ZTZjYmY4NDczMThlOGU0YWVkNDAzODJlLi5iMmNiYzVlYjc1YTM4ZTEwMTlmYWY2Y2IyYjQ3NzNk
ZTAwNTQwY2YyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50
LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCkBAIC02Nyw2ICs2
Nyw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9UZXh0UmVjb2duaXRpb25SZXN1bHQuaD4KICNlbmRp
ZgogCitPQkpDX0NMQVNTIEFWUGxheWVyVmlld0NvbnRyb2xsZXI7CiBPQkpDX0NMQVNTIENBTGF5
ZXI7CiBPQkpDX0NMQVNTIE5TRmlsZVdyYXBwZXI7CiBPQkpDX0NMQVNTIE5TTWVudTsKQEAgLTUw
MCw3ICs1MDEsMTEgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBXZWJDb3JlOjpDb2xvciBjb250
ZW50Vmlld0JhY2tncm91bmRDb2xvcigpID0gMDsKICAgICB2aXJ0dWFsIFN0cmluZyBzY2VuZUlE
KCkgPSAwOworCisgICAgdmlydHVhbCB2b2lkIGJlZ2luRnVsbHNjcmVlblZpZGVvRXh0cmFjdGlv
bihjb25zdCBTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSYsIEFWUGxheWVyVmlld0NvbnRyb2xsZXIg
KikgPSAwOworICAgIHZpcnR1YWwgdm9pZCBjYW5jZWxGdWxsc2NyZWVuVmlkZW9FeHRyYWN0aW9u
KEFWUGxheWVyVmlld0NvbnRyb2xsZXIgKikgPSAwOwogI2VuZGlmCisgICAgdmlydHVhbCBib29s
IGlzRnVsbHNjcmVlblZpZGVvRXh0cmFjdGlvbkVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBmYWxz
ZTsgfQogCiAgICAgLy8gQXV4aWxpYXJ5IENsaWVudCBDcmVhdGlvbgogI2lmIEVOQUJMRShGVUxM
U0NSRUVOX0FQSSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdl
Q2xpZW50SW1wbElPUy5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJ
bXBsSU9TLmgKaW5kZXggM2IwNGE4MzNkYmUwYjZiNjZlZTE0ZDNjMzAwZjMwNjg3MThiZjJjZi4u
ZGZiMTkzOTkzNjE2ZTgwMGExYTUwODgxODgzMmU0ZGYyNTc2ZGNkOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmgKKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmgKQEAgLTMwMyw2ICszMDMs
MTAgQEAgcHJpdmF0ZToKICAgICBXZWJDb3JlOjpDb2xvciBjb250ZW50Vmlld0JhY2tncm91bmRD
b2xvcigpIGZpbmFsOwogICAgIFN0cmluZyBzY2VuZUlEKCkgZmluYWw7CiAKKyAgICB2b2lkIGJl
Z2luRnVsbHNjcmVlblZpZGVvRXh0cmFjdGlvbihjb25zdCBTaGFyZWFibGVCaXRtYXA6OkhhbmRs
ZSYsIEFWUGxheWVyVmlld0NvbnRyb2xsZXIgKikgZmluYWw7CisgICAgdm9pZCBjYW5jZWxGdWxs
c2NyZWVuVmlkZW9FeHRyYWN0aW9uKEFWUGxheWVyVmlld0NvbnRyb2xsZXIgKikgZmluYWw7Cisg
ICAgYm9vbCBpc0Z1bGxzY3JlZW5WaWRlb0V4dHJhY3Rpb25FbmFibGVkKCkgY29uc3QgZmluYWw7
CisKICAgICBXZWFrT2JqQ1B0cjxXS0NvbnRlbnRWaWV3PiBtX2NvbnRlbnRWaWV3OwogICAgIFJl
dGFpblB0cjxXS0VkaXRvclVuZG9UYXJnZXQ+IG1fdW5kb1RhcmdldDsKIH07CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0gYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0KaW5kZXggMGVjMjA4
OGZhYmRmNDcwODk5ZmQwMzU5YWY1Y2I5N2U2OGQ1ZjRhMi4uMmI1ZjUxYzJkODA3Y2RmN2U2ZWU1
OTU3ZDY2ZjNhNzFmZDgyYzJkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
aW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lv
cy9QYWdlQ2xpZW50SW1wbElPUy5tbQpAQCAtMTAzMSw2ICsxMDMxLDIxIEBAIFN0cmluZyBQYWdl
Q2xpZW50SW1wbDo6c2NlbmVJRCgpCiAgICAgcmV0dXJuIFttX2NvbnRlbnRWaWV3IHdpbmRvd10u
d2luZG93U2NlbmUuX3NjZW5lSWRlbnRpZmllcjsKIH0KIAordm9pZCBQYWdlQ2xpZW50SW1wbDo6
YmVnaW5GdWxsc2NyZWVuVmlkZW9FeHRyYWN0aW9uKGNvbnN0IFNoYXJlYWJsZUJpdG1hcDo6SGFu
ZGxlJiBpbWFnZUhhbmRsZSwgQVZQbGF5ZXJWaWV3Q29udHJvbGxlciAqcGxheWVyVmlld0NvbnRy
b2xsZXIpCit7CisgICAgW21fY29udGVudFZpZXcgYmVnaW5GdWxsc2NyZWVuVmlkZW9FeHRyYWN0
aW9uOmltYWdlSGFuZGxlIHBsYXllclZpZXdDb250cm9sbGVyOnBsYXllclZpZXdDb250cm9sbGVy
XTsKK30KKwordm9pZCBQYWdlQ2xpZW50SW1wbDo6Y2FuY2VsRnVsbHNjcmVlblZpZGVvRXh0cmFj
dGlvbihBVlBsYXllclZpZXdDb250cm9sbGVyICpjb250cm9sbGVyKQoreworICAgIFttX2NvbnRl
bnRWaWV3IGNhbmNlbEZ1bGxzY3JlZW5WaWRlb0V4dHJhY3Rpb246Y29udHJvbGxlcl07Cit9CisK
K2Jvb2wgUGFnZUNsaWVudEltcGw6OmlzRnVsbHNjcmVlblZpZGVvRXh0cmFjdGlvbkVuYWJsZWQo
KSBjb25zdAoreworICAgIHJldHVybiBbbV9jb250ZW50VmlldyBpc0Z1bGxzY3JlZW5WaWRlb0V4
dHJhY3Rpb25FbmFibGVkXTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICNlbmRpZiAv
LyBQTEFURk9STShJT1NfRkFNSUxZKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5oCmluZGV4IGM3YmU1YmVmODY0YWM2YzZj
MGFlMjA0MTE4ODFkZjkwZjQ2OTcxZDIuLjdjYmI1NDhlNzM4NDdmYzEwM2FlZGMwZDc2ZmEyZmU3
YjY3ZjIyNGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRl
bnRWaWV3SW50ZXJhY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tD
b250ZW50Vmlld0ludGVyYWN0aW9uLmgKQEAgLTExMCw2ICsxMTAsNyBAQCBjbGFzcyBXZWJPcGVu
UGFuZWxSZXN1bHRMaXN0ZW5lclByb3h5OwogY2xhc3MgV2ViUGFnZVByb3h5OwogfQogCitAY2xh
c3MgQVZQbGF5ZXJWaWV3Q29udHJvbGxlcjsKIEBjbGFzcyBRTFByZXZpZXdDb250cm9sbGVyOwog
QGNsYXNzIFdlYkV2ZW50OwogQGNsYXNzIFdlYlRleHRJbmRpY2F0b3JMYXllcjsKQEAgLTUyNyw2
ICs1MjgsNyBAQCB1c2luZyBJbWFnZUFuYWx5c2lzUmVxdWVzdElkZW50aWZpZXIgPSBPYmplY3RJ
ZGVudGlmaWVyPEltYWdlQW5hbHlzaXNSZXF1ZXN0SWRlbgogICAgIEJPT0wgX2hhc1Zpc3VhbFNl
YXJjaFJlc3VsdHM7CiAjZW5kaWYgLy8gVVNFKFFVSUNLX0xPT0spCiAjZW5kaWYgLy8gRU5BQkxF
KElNQUdFX0FOQUxZU0lTKQorICAgIHVpbnQzMl90IF9mdWxsc2NyZWVuVmlkZW9FeHRyYWN0aW9u
UmVxdWVzdElkZW50aWZpZXI7CiB9CiAKIEBlbmQKQEAgLTc4Miw2ICs3ODQsMTAgQEAgRk9SX0VB
Q0hfUFJJVkFURV9XS0NPTlRFTlRWSUVXX0FDVElPTihERUNMQVJFX1dLQ09OVEVOVFZJRVdfQUNU
SU9OX0ZPUl9XRUJfVklFVykKIC0gKHZvaWQpcmVxdWVzdFJlY3RGb3JGb3VuZFRleHRSYW5nZToo
VUlUZXh0UmFuZ2UgKilyYW5nZSBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoQ0dSZWN0KSlj
b21wbGV0aW9uSGFuZGxlcjsKICNlbmRpZgogCistICh2b2lkKWJlZ2luRnVsbHNjcmVlblZpZGVv
RXh0cmFjdGlvbjooY29uc3QgV2ViS2l0OjpTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSYpaW1hZ2VI
YW5kbGUgcGxheWVyVmlld0NvbnRyb2xsZXI6KEFWUGxheWVyVmlld0NvbnRyb2xsZXIgKilwbGF5
ZXJWaWV3Q29udHJvbGxlcjsKKy0gKHZvaWQpY2FuY2VsRnVsbHNjcmVlblZpZGVvRXh0cmFjdGlv
bjooQVZQbGF5ZXJWaWV3Q29udHJvbGxlciAqKWNvbnRyb2xsZXI7CitAcHJvcGVydHkgKG5vbmF0
b21pYywgcmVhZG9ubHkpIEJPT0wgaXNGdWxsc2NyZWVuVmlkZW9FeHRyYWN0aW9uRW5hYmxlZDsK
KwogQGVuZAogCiBAaW50ZXJmYWNlIFdLQ29udGVudFZpZXcgKFdLVGVzdGluZykKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24u
bW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9u
Lm1tCmluZGV4IDQwNzI2YzFlZDQ3NTMzZjEzN2RhMGRkYTQwYThlZWMyMzZjZDM1NjQuLmRkODkx
NzYxZTlkNjg4NTk5MzM4NGVmMzk0YTAxZTFlZjNjNzkxM2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQpAQCAt
MTM1LDYgKzEzNSw3IEBACiAjaW1wb3J0IDxXZWJDb3JlL1dyaXRpbmdEaXJlY3Rpb24uaD4KICNp
bXBvcnQgPFdlYktpdC9XZWJTZWxlY3Rpb25SZWN0Lmg+IC8vIEZJWE1FOiBXZWJLaXQgc2hvdWxk
IG5vdCBpbmNsdWRlIFdlYktpdExlZ2FjeSBoZWFkZXJzIQogI2ltcG9ydCA8cGFsL3NwaS9jZy9D
b3JlR3JhcGhpY3NTUEkuaD4KKyNpbXBvcnQgPHBhbC9zcGkvY29jb2EvQVZLaXRTUEkuaD4KICNp
bXBvcnQgPHBhbC9zcGkvY29jb2EvRGF0YURldGVjdG9yc0NvcmVTUEkuaD4KICNpbXBvcnQgPHBh
bC9zcGkvY29jb2EvTGF1bmNoU2VydmljZXNTUEkuaD4KICNpbXBvcnQgPHBhbC9zcGkvY29jb2Ev
TlNBdHRyaWJ1dGVkU3RyaW5nU1BJLmg+CkBAIC0xMDU5OCw2ICsxMDU5OSwyNSBAQCAtICh2b2lk
KWNhcHR1cmVUZXh0RnJvbUNhbWVyYUZvcldlYlZpZXc6KGlkKXNlbmRlcgogCiAjZW5kaWYgLy8g
RU5BQkxFKElNQUdFX0FOQUxZU0lTKQogCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNp
bXBvcnQgPFdlYktpdEFkZGl0aW9ucy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb25BZGRpdGlvbnNB
ZnRlci5tbT4KKyNlbHNlCisKKy0gKHZvaWQpYmVnaW5GdWxsc2NyZWVuVmlkZW9FeHRyYWN0aW9u
Oihjb25zdCBXZWJLaXQ6OlNoYXJlYWJsZUJpdG1hcDo6SGFuZGxlJilpbWFnZURhdGEgcGxheWVy
Vmlld0NvbnRyb2xsZXI6KEFWUGxheWVyVmlld0NvbnRyb2xsZXIgKiljb250cm9sbGVyCit7Cit9
CisKKy0gKHZvaWQpY2FuY2VsRnVsbHNjcmVlblZpZGVvRXh0cmFjdGlvbjooQVZQbGF5ZXJWaWV3
Q29udHJvbGxlciAqKWNvbnRyb2xsZXIKK3sKK30KKworLSAoQk9PTClpc0Z1bGxzY3JlZW5WaWRl
b0V4dHJhY3Rpb25FbmFibGVkCit7CisgICAgcmV0dXJuIE5POworfQorCisjZW5kaWYKKwogQGVu
ZAogCiBAaW1wbGVtZW50YXRpb24gV0tDb250ZW50VmlldyAoV0tUZXN0aW5nKQo=
</data>
<flag name="review"
          id="477743"
          type_id="1"
          status="+"
          setter="eric.carlson"
    />
    <flag name="commit-queue"
          id="477782"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>451122</attachid>
            <date>2022-02-07 10:13:03 -0800</date>
            <delta_ts>2022-02-07 12:20:02 -0800</delta_ts>
            <desc>For landing</desc>
            <filename>bug-236100-20220207101302.patch</filename>
            <type>text/plain</type>
            <size>16112</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg5MjIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDE5N2U1Y2Q5MjkzZWFl
M2ZkMzc0OGZlYWVmNzAzMmRiYjgzMjM5MS4uMTQwM2FiNmI4OTFhYjlkN2QyNDAzOTJjZjZiYzU1
OTgzNzU0MmNkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIyLTAyLTA3ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBQYWdlQ2xp
ZW50IHBsdW1iaW5nIGZvciB2aWRlbyBmcmFtZSBleHRyYWN0aW9uCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzYxMDAKKyAgICAgICAgcmRhcjovLzg2
MjM3NjA4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBDYXJsc29uLgorCisgICAgICAgIEFk
ZCBhIG1ldGhvZCB0byBncmFiIHRoZSBBVlBsYXllclZpZXdDb250cm9sbGVyIGZyb20gYSBWaWRl
b0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC4gU2VlIFdlYktpdC9DaGFuZ2VMb2cgZm9yCisgICAg
ICAgIG1vcmUgZGV0YWlscy4KKworICAgICAgICAqIHBsYXRmb3JtL2lvcy9WaWRlb0Z1bGxzY3Jl
ZW5JbnRlcmZhY2VBVktpdC5oOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9WaWRlb0Z1bGxzY3Jl
ZW5JbnRlcmZhY2VBVktpdC5tbToKKyAgICAgICAgKC1bV2ViQVZQbGF5ZXJWaWV3Q29udHJvbGxl
ciBhdlBsYXllclZpZXdDb250cm9sbGVyXSk6CisgICAgICAgIChWaWRlb0Z1bGxzY3JlZW5JbnRl
cmZhY2VBVktpdDo6YXZQbGF5ZXJWaWV3Q29udHJvbGxlciBjb25zdCk6CisKIDIwMjItMDItMDcg
IEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQHdlYmtpdC5vcmc+CiAKICAgICAgICAgSW1wcm92ZSBE
b2N1bWVudFRpbWVsaW5lOjphbmltYXRpb25DYW5CZVJlbW92ZWQoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBiZTUz
M2VkYTVmYjc2MGU2M2E2ODM4ZWQzYzJjMTY2NzRhYTRlMTJkLi5iODk5YzhmYTFjZTkwZDM5ZWE0
MDAzNDk0Y2IzZTEwM2ZkMWFmNGU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDIyLTAy
LTA3ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIEFk
ZCBQYWdlQ2xpZW50IHBsdW1iaW5nIGZvciB2aWRlbyBmcmFtZSBleHRyYWN0aW9uCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzYxMDAKKyAgICAgICAg
cmRhcjovLzg2MjM3NjA4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBDYXJsc29uLgorCisg
ICAgICAgIEZpbmlzaCBvZmYgc3VwcG9ydCBmb3IgZnVsbHNjcmVlbiB2aWRlbyBleHRyYWN0aW9u
IGJ5IGFkZGluZyBhIG5ldyBpT1MgUGFnZUNsaWVudCBob29rLCBhbmQgY2FsbGluZyBpbnRvIGl0
CisgICAgICAgIGFmdGVyIGdyYWJiaW5nIGEgdmlkZW8gZnJhbWUgZnJvbSB0aGUgR1BVIHByb2Nl
c3Mgd2hlbiB0aGUgdmlkZW8gZXh0cmFjdGlvbiB0aW1lciBmaXJlcy4KKworICAgICAgICAqIFVJ
UHJvY2Vzcy9Db2NvYS9WaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkuaDoKKyAgICAgICAgKiBV
SVByb2Nlc3MvQ29jb2EvVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5Lm1tOgorICAgICAgICAo
V2ViS2l0OjpWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHk6OmZpbmRJbnRlcmZhY2UgY29uc3Qp
OgorICAgICAgICAoV2ViS2l0OjpWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHk6OnBsYXllclZp
ZXdDb250cm9sbGVyIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6VmlkZW9GdWxsc2NyZWVuTWFu
YWdlclByb3h5OjpmaW5kSW50ZXJmYWNlKTogRGVsZXRlZC4KKworICAgICAgICBNYXJrIHRoaXMg
bWV0aG9kIGFzIGBjb25zdGAsIHNvIHRoYXQgd2UgY2FuIGludm9rZSBpdCBmcm9tIGBWaWRlb0Z1
bGxzY3JlZW5NYW5hZ2VyUHJveHk6OnBsYXllclZpZXdDb250cm9sbGVyYC4KKworICAgICAgICAq
IFVJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6
V2ViUGFnZVByb3h5Ojp1cGRhdGVGdWxsc2NyZWVuVmlkZW9FeHRyYWN0aW9uKToKKyAgICAgICAg
KFdlYktpdDo6V2ViUGFnZVByb3h5OjpmdWxsc2NyZWVuVmlkZW9FeHRyYWN0aW9uVGltZXJGaXJl
ZCk6CisKKyAgICAgICAgUmVxdWVzdCB2aWRlbyBmcmFtZSBkYXRhIGZyb20gdGhlIEdQVSBwcm9j
ZXNzIGFuZCBoYW5kIGl0IG92ZXIgdG8gdGhlIHBhZ2UgY2xpZW50IGFsb25nIHdpdGggdGhlCisg
ICAgICAgIEFWUGxheWVyVmlld0NvbnRyb2xsZXIgY29ycmVzcG9uZGluZyB0byB0aGUgY3VycmVu
dCBmdWxsc2NyZWVuIHZpZGVvLgorCisgICAgICAgICogVUlQcm9jZXNzL1BhZ2VDbGllbnQuaDoK
KyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudDo6aXNGdWxsc2NyZWVuVmlkZW9FeHRyYWN0aW9u
RW5hYmxlZCBjb25zdCk6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElP
Uy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW06CisgICAg
ICAgIChXZWJLaXQ6OlBhZ2VDbGllbnRJbXBsOjpiZWdpbkZ1bGxzY3JlZW5WaWRlb0V4dHJhY3Rp
b24pOgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50SW1wbDo6Y2FuY2VsRnVsbHNjcmVlblZp
ZGVvRXh0cmFjdGlvbik6CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnRJbXBsOjppc0Z1bGxz
Y3JlZW5WaWRlb0V4dHJhY3Rpb25FbmFibGVkIGNvbnN0KToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
aW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3Mv
V0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tOgorCisgICAgICAgIEFkZCBhIG5ldyBXZWJLaXRB
ZGRpdGlvbnMgZXh0ZW5zaW9uIHBvaW50IHRoYXQgY29udGFpbnMgdGhlIGltcGxlbWVudGF0aW9u
cyBvZiB0aGUgdGhyZWUgbWV0aG9kcyBiZWxvdzsgd2hlbgorICAgICAgICBjb21waWxpbmcgd2l0
aG91dCBXZWJLaXRBZGRpdGlvbnMsIHdlIHNpbXBseSBzdHViIG91dCB0aGVzZSBtZXRob2RzLgor
CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgYmVnaW5GdWxsc2NyZWVuVmlkZW9FeHRyYWN0aW9u
OnBsYXllclZpZXdDb250cm9sbGVyOl0pOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IGNhbmNl
bEZ1bGxzY3JlZW5WaWRlb0V4dHJhY3Rpb246XSk6CisgICAgICAgICgtW1dLQ29udGVudFZpZXcg
aXNGdWxsc2NyZWVuVmlkZW9FeHRyYWN0aW9uRW5hYmxlZF0pOgorCiAyMDIyLTAyLTA3ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBhIGhlbHBl
ciBtZXRob2Qgb24gVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5IHRvIHJlcXVlc3QgdmlkZW8g
ZnJhbWUgZGF0YQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1ZpZGVv
RnVsbHNjcmVlbkludGVyZmFjZUFWS2l0LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mv
VmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQuaAppbmRleCA4YTE2YTdmNzFiMTVhOTJkNjNh
OGM4MmZhMmViZjU0MDQ5NDM2MDgzLi4wNmRiN2NiMjMyZDFmZWIzMjQ5ODg1NDY5MTJkN2ZhNWRl
MGZiMDE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvVmlkZW9GdWxs
c2NyZWVuSW50ZXJmYWNlQVZLaXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3Mv
VmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQuaApAQCAtNDMsNiArNDMsNyBAQAogI2luY2x1
ZGUgPHd0Zi9UaHJlYWRTYWZlUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+
CiAKK09CSkNfQ0xBU1MgQVZQbGF5ZXJWaWV3Q29udHJvbGxlcjsKIE9CSkNfQ0xBU1MgVUlWaWV3
Q29udHJvbGxlcjsKIE9CSkNfQ0xBU1MgVUlXaW5kb3c7CiBPQkpDX0NMQVNTIFVJVmlldzsKQEAg
LTE2Miw2ICsxNjMsNyBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBwaWN0dXJl
SW5QaWN0dXJlV2FzU3RhcnRlZFdoZW5FbnRlcmluZ0JhY2tncm91bmQoKSBjb25zdDsKIAogICAg
IHN0ZDo6b3B0aW9uYWw8TWVkaWFQbGF5ZXJJZGVudGlmaWVyPiBwbGF5ZXJJZGVudGlmaWVyKCkg
Y29uc3QgeyByZXR1cm4gbV9wbGF5ZXJJZGVudGlmaWVyOyB9CisgICAgV0VCQ09SRV9FWFBPUlQg
QVZQbGF5ZXJWaWV3Q29udHJvbGxlciAqYXZQbGF5ZXJWaWV3Q29udHJvbGxlcigpIGNvbnN0Owog
CiBwcm90ZWN0ZWQ6CiAgICAgV0VCQ09SRV9FWFBPUlQgVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNl
QVZLaXQoUGxheWJhY2tTZXNzaW9uSW50ZXJmYWNlQVZLaXQmKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9WaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdC5tbSBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9WaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktp
dC5tbQppbmRleCBmZjFmMjRlNDk3YTNlZGViOTcxZjI0MjMwMTBlNGM3NGQzYjY0NDk0Li5lMjQz
Njc1ZDBkNjFjYzJjOWFjMDk5YzdjNTk0Y2M0NmQzNzdkODBiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9pb3MvVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQubW0KKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1ZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFW
S2l0Lm1tCkBAIC03OTUsNyArNzk1LDcgQEAgLSAodm9pZClzZXRQbGF5ZXJDb250cm9sbGVyOihB
VlBsYXllckNvbnRyb2xsZXIgKilwbGF5ZXJDb250cm9sbGVyCiAgICAgX2F2UGxheWVyVmlld0Nv
bnRyb2xsZXIuZ2V0KCkucGxheWVyQ29udHJvbGxlciA9IHBsYXllckNvbnRyb2xsZXI7CiB9CiAK
LS0gKEFWUGxheWVyVmlld0NvbnRyb2xsZXIgKikgYXZQbGF5ZXJWaWV3Q29udHJvbGxlcgorLSAo
QVZQbGF5ZXJWaWV3Q29udHJvbGxlciAqKWF2UGxheWVyVmlld0NvbnRyb2xsZXIKIHsKICAgICBy
ZXR1cm4gX2F2UGxheWVyVmlld0NvbnRyb2xsZXIuZ2V0KCk7CiB9CkBAIC04MzQsNiArODM0LDEx
IEBAIFdlYkFWUGxheWVyQ29udHJvbGxlciAqVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlQVZLaXQ6
OnBsYXllckNvbnRyb2xsZXIoKSBjb25zdAogICAgIHJldHVybiBtX3BsYXliYWNrU2Vzc2lvbklu
dGVyZmFjZS0+cGxheWVyQ29udHJvbGxlcigpOwogfQogCitBVlBsYXllclZpZXdDb250cm9sbGVy
ICpWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktpdDo6YXZQbGF5ZXJWaWV3Q29udHJvbGxlcigp
IGNvbnN0Cit7CisgICAgcmV0dXJuIFttX3BsYXllclZpZXdDb250cm9sbGVyIGF2UGxheWVyVmll
d0NvbnRyb2xsZXJdOworfQorCiB2b2lkIFZpZGVvRnVsbHNjcmVlbkludGVyZmFjZUFWS2l0Ojpz
ZXRWaWRlb0Z1bGxzY3JlZW5Nb2RlbChWaWRlb0Z1bGxzY3JlZW5Nb2RlbCogbW9kZWwpCiB7CiAg
ICAgaWYgKG1fdmlkZW9GdWxsc2NyZWVuTW9kZWwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Db2NvYS9WaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkuaCBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0NvY29hL1ZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eS5oCmluZGV4
IDU0NTMxZjc1NThiMDBiNjE5NjRkNjg1MzNmODUwOTVhN2ExMzYwZjYuLjlmN2U0YTczMTNhMmY5
NmE4MjU5MDFhMTkxMmEwZDU0N2JlMThmMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0NvY29hL1ZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eS5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0NvY29hL1ZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eS5oCkBAIC0x
NTQsNiArMTU0LDEwIEBAIHB1YmxpYzoKIAogICAgIHZvaWQgcmVxdWVzdEJpdG1hcEltYWdlRm9y
Q3VycmVudFRpbWUoUGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIsIENvbXBsZXRpb25I
YW5kbGVyPHZvaWQoY29uc3QgU2hhcmVhYmxlQml0bWFwOjpIYW5kbGUmKT4mJik7CiAKKyNpZiBQ
TEFURk9STShJT1NfRkFNSUxZKQorICAgIEFWUGxheWVyVmlld0NvbnRyb2xsZXIgKnBsYXllclZp
ZXdDb250cm9sbGVyKFBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZGVudGlmaWVyKSBjb25zdDsKKyNl
bmRpZgorCiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBWaWRlb0Z1bGxzY3JlZW5Nb2RlbENv
bnRleHQ7CiAKQEAgLTE2NSw3ICsxNjksNyBAQCBwcml2YXRlOgogICAgIE1vZGVsSW50ZXJmYWNl
VHVwbGUmIGVuc3VyZU1vZGVsQW5kSW50ZXJmYWNlKFBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZGVu
dGlmaWVyKTsKICAgICBWaWRlb0Z1bGxzY3JlZW5Nb2RlbENvbnRleHQmIGVuc3VyZU1vZGVsKFBs
YXliYWNrU2Vzc2lvbkNvbnRleHRJZGVudGlmaWVyKTsKICAgICBQbGF0Zm9ybVZpZGVvRnVsbHNj
cmVlbkludGVyZmFjZSYgZW5zdXJlSW50ZXJmYWNlKFBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZGVu
dGlmaWVyKTsKLSAgICBQbGF0Zm9ybVZpZGVvRnVsbHNjcmVlbkludGVyZmFjZSogZmluZEludGVy
ZmFjZShQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmllcik7CisgICAgUGxhdGZvcm1WaWRl
b0Z1bGxzY3JlZW5JbnRlcmZhY2UqIGZpbmRJbnRlcmZhY2UoUGxheWJhY2tTZXNzaW9uQ29udGV4
dElkZW50aWZpZXIpIGNvbnN0OwogICAgIHZvaWQgZW5zdXJlQ2xpZW50Rm9yQ29udGV4dChQbGF5
YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmllcik7CiAgICAgdm9pZCBhZGRDbGllbnRGb3JDb250
ZXh0KFBsYXliYWNrU2Vzc2lvbkNvbnRleHRJZGVudGlmaWVyKTsKICAgICB2b2lkIHJlbW92ZUNs
aWVudEZvckNvbnRleHQoUGxheWJhY2tTZXNzaW9uQ29udGV4dElkZW50aWZpZXIpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVmlkZW9GdWxsc2NyZWVuTWFuYWdl
clByb3h5Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVmlkZW9GdWxsc2NyZWVu
TWFuYWdlclByb3h5Lm1tCmluZGV4IGNjNzM5NzgwODQ2YjRhM2JiYmYzM2NmZDEzYmEyZjkzNWVl
MzNjYjkuLjYwMGE4OWY1NTliZjljMmVmZmIyZTBkMTdhM2Y1ZWRmNDBmOTYyYzAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1ZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQ
cm94eS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9WaWRlb0Z1bGxzY3Jl
ZW5NYW5hZ2VyUHJveHkubW0KQEAgLTQ0Nyw3ICs0NDcsNyBAQCBQbGF0Zm9ybVZpZGVvRnVsbHNj
cmVlbkludGVyZmFjZSYgVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5OjplbnN1cmVJbnRlcmZh
Y2UoUAogICAgIHJldHVybiAqc3RkOjpnZXQ8MT4oZW5zdXJlTW9kZWxBbmRJbnRlcmZhY2UoY29u
dGV4dElkKSk7CiB9CiAKLVBsYXRmb3JtVmlkZW9GdWxsc2NyZWVuSW50ZXJmYWNlKiBWaWRlb0Z1
bGxzY3JlZW5NYW5hZ2VyUHJveHk6OmZpbmRJbnRlcmZhY2UoUGxheWJhY2tTZXNzaW9uQ29udGV4
dElkZW50aWZpZXIgY29udGV4dElkKQorUGxhdGZvcm1WaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2Uq
IFZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eTo6ZmluZEludGVyZmFjZShQbGF5YmFja1Nlc3Np
b25Db250ZXh0SWRlbnRpZmllciBjb250ZXh0SWQpIGNvbnN0CiB7CiAgICAgYXV0byBpdCA9IG1f
Y29udGV4dE1hcC5maW5kKGNvbnRleHRJZCk7CiAgICAgaWYgKGl0ID09IG1fY29udGV4dE1hcC5l
bmQoKSkKQEAgLTkwNyw2ICs5MDcsMTYgQEAgdm9pZCBWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJv
eHk6OmZ1bGxzY3JlZW5NYXlSZXR1cm5Ub0lubGluZShQbGF5YmFja1Nlc3Npb25Db24KIAogI2Vu
ZGlmCiAKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZKQorCitBVlBsYXllclZpZXdDb250cm9sbGVy
ICpWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHk6OnBsYXllclZpZXdDb250cm9sbGVyKFBsYXli
YWNrU2Vzc2lvbkNvbnRleHRJZGVudGlmaWVyIGlkZW50aWZpZXIpIGNvbnN0Cit7CisgICAgYXV0
byogaW50ZXJmYWNlID0gZmluZEludGVyZmFjZShpZGVudGlmaWVyKTsKKyAgICByZXR1cm4gaW50
ZXJmYWNlID8gaW50ZXJmYWNlLT5hdlBsYXllclZpZXdDb250cm9sbGVyKCkgOiBuaWw7Cit9CisK
KyNlbmRpZiAvLyBQTEFURk9STShJT1NfRkFNSUxZKQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
IAogI3VuZGVmIE1FU1NBR0VfQ0hFQ0sKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNvY29hLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
Q29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW0KaW5kZXggNmE5NThhOGUxMDc3MTgxZjk4MGNlYWY4
OTVhMGFmMmE3MzAyYjlmYi4uMzNhNjZmZGE2ZmZiYTVkNjI2MTZkMzhiYjFmMTZjM2M2ODkwMTc5
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5
Q29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5
Q29jb2EubW0KQEAgLTQ3NywyMCArNDc3LDQ1IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpkaWRDaGFu
Z2VDdXJyZW50VGltZShQbGF5YmFja1Nlc3Npb25Db250ZXh0SWRlbnRpZmllciBpZGVudGlmCiAK
IHZvaWQgV2ViUGFnZVByb3h5Ojp1cGRhdGVGdWxsc2NyZWVuVmlkZW9FeHRyYWN0aW9uKCkKIHsK
KyAgICBpZiAoIXBhZ2VDbGllbnQoKS5pc0Z1bGxzY3JlZW5WaWRlb0V4dHJhY3Rpb25FbmFibGVk
KCkpCisgICAgICAgIHJldHVybjsKKwogICAgIGlmIChtX2N1cnJlbnRGdWxsc2NyZWVuVmlkZW9T
ZXNzaW9uSWRlbnRpZmllciAmJiBtX3BsYXliYWNrU2Vzc2lvbk1hbmFnZXIgJiYgbV9wbGF5YmFj
a1Nlc3Npb25NYW5hZ2VyLT5pc1BhdXNlZCgqbV9jdXJyZW50RnVsbHNjcmVlblZpZGVvU2Vzc2lv
bklkZW50aWZpZXIpKSB7CiAgICAgICAgIG1fZnVsbHNjcmVlblZpZGVvRXh0cmFjdGlvblRpbWVy
LnN0YXJ0T25lU2hvdCgyNTBfbXMpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgbV9m
dWxsc2NyZWVuVmlkZW9FeHRyYWN0aW9uVGltZXIuc3RvcCgpOworCisgICAgaWYgKCFtX2N1cnJl
bnRGdWxsc2NyZWVuVmlkZW9TZXNzaW9uSWRlbnRpZmllcikKKyAgICAgICAgcmV0dXJuOworCisj
aWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyAgICBpZiAoUmV0YWluUHRyIGNvbnRyb2xsZXIgPSBt
X3ZpZGVvRnVsbHNjcmVlbk1hbmFnZXItPnBsYXllclZpZXdDb250cm9sbGVyKCptX2N1cnJlbnRG
dWxsc2NyZWVuVmlkZW9TZXNzaW9uSWRlbnRpZmllcikpCisgICAgICAgIHBhZ2VDbGllbnQoKS5j
YW5jZWxGdWxsc2NyZWVuVmlkZW9FeHRyYWN0aW9uKGNvbnRyb2xsZXIuZ2V0KCkpOworI2VuZGlm
CiB9CiAKIHZvaWQgV2ViUGFnZVByb3h5OjpmdWxsc2NyZWVuVmlkZW9FeHRyYWN0aW9uVGltZXJG
aXJlZCgpCiB7Ci0gICAgaWYgKCFtX2N1cnJlbnRGdWxsc2NyZWVuVmlkZW9TZXNzaW9uSWRlbnRp
ZmllcikKKyAgICBpZiAoIW1fY3VycmVudEZ1bGxzY3JlZW5WaWRlb1Nlc3Npb25JZGVudGlmaWVy
IHx8ICFtX3ZpZGVvRnVsbHNjcmVlbk1hbmFnZXIpCiAgICAgICAgIHJldHVybjsKIAotICAgIC8v
IEZJWE1FOiBBZGQgbG9naWMgdG8gcGVyZm9ybSB2aWRlbyBmcmFtZSBleHRyYWN0aW9uLgorICAg
IGF1dG8gaWRlbnRpZmllciA9ICptX2N1cnJlbnRGdWxsc2NyZWVuVmlkZW9TZXNzaW9uSWRlbnRp
ZmllcjsKKyAgICBtX3ZpZGVvRnVsbHNjcmVlbk1hbmFnZXItPnJlcXVlc3RCaXRtYXBJbWFnZUZv
ckN1cnJlbnRUaW1lKGlkZW50aWZpZXIsIFtpZGVudGlmaWVyLCB3ZWFrVGhpcyA9IFdlYWtQdHIg
eyAqdGhpcyB9XShhdXRvJiBpbWFnZUhhbmRsZSkgeworICAgICAgICBSZWZQdHIgcHJvdGVjdGVk
VGhpcyA9IHdlYWtUaGlzLmdldCgpOworICAgICAgICBpZiAoIXByb3RlY3RlZFRoaXMgfHwgcHJv
dGVjdGVkVGhpcy0+bV9jdXJyZW50RnVsbHNjcmVlblZpZGVvU2Vzc2lvbklkZW50aWZpZXIgIT0g
aWRlbnRpZmllcikKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBhdXRvIGZ1bGxzY3Jl
ZW5NYW5hZ2VyID0gcHJvdGVjdGVkVGhpcy0+bV92aWRlb0Z1bGxzY3JlZW5NYW5hZ2VyOworICAg
ICAgICBpZiAoIWZ1bGxzY3JlZW5NYW5hZ2VyKQorICAgICAgICAgICAgcmV0dXJuOworCisjaWYg
UExBVEZPUk0oSU9TX0ZBTUlMWSkKKyAgICAgICAgaWYgKFJldGFpblB0ciBjb250cm9sbGVyID0g
ZnVsbHNjcmVlbk1hbmFnZXItPnBsYXllclZpZXdDb250cm9sbGVyKGlkZW50aWZpZXIpKQorICAg
ICAgICAgICAgcHJvdGVjdGVkVGhpcy0+cGFnZUNsaWVudCgpLmJlZ2luRnVsbHNjcmVlblZpZGVv
RXh0cmFjdGlvbihpbWFnZUhhbmRsZSwgY29udHJvbGxlci5nZXQoKSk7CisjZW5kaWYKKyAgICB9
KTsKIH0KIAogI2VuZGlmIC8vIEVOQUJMRShWSURFT19QUkVTRU5UQVRJT05fTU9ERSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAppbmRleCAyZTVmNjA3M2M3ZWQ4ZWVmZTZjYmY4NDcz
MThlOGU0YWVkNDAzODJlLi5iMmNiYzVlYjc1YTM4ZTEwMTlmYWY2Y2IyYjQ3NzNkZTAwNTQwY2Yy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCkBAIC02Nyw2ICs2Nyw3IEBACiAj
aW5jbHVkZSA8V2ViQ29yZS9UZXh0UmVjb2duaXRpb25SZXN1bHQuaD4KICNlbmRpZgogCitPQkpD
X0NMQVNTIEFWUGxheWVyVmlld0NvbnRyb2xsZXI7CiBPQkpDX0NMQVNTIENBTGF5ZXI7CiBPQkpD
X0NMQVNTIE5TRmlsZVdyYXBwZXI7CiBPQkpDX0NMQVNTIE5TTWVudTsKQEAgLTUwMCw3ICs1MDEs
MTEgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBXZWJDb3JlOjpDb2xvciBjb250ZW50Vmlld0Jh
Y2tncm91bmRDb2xvcigpID0gMDsKICAgICB2aXJ0dWFsIFN0cmluZyBzY2VuZUlEKCkgPSAwOwor
CisgICAgdmlydHVhbCB2b2lkIGJlZ2luRnVsbHNjcmVlblZpZGVvRXh0cmFjdGlvbihjb25zdCBT
aGFyZWFibGVCaXRtYXA6OkhhbmRsZSYsIEFWUGxheWVyVmlld0NvbnRyb2xsZXIgKikgPSAwOwor
ICAgIHZpcnR1YWwgdm9pZCBjYW5jZWxGdWxsc2NyZWVuVmlkZW9FeHRyYWN0aW9uKEFWUGxheWVy
Vmlld0NvbnRyb2xsZXIgKikgPSAwOwogI2VuZGlmCisgICAgdmlydHVhbCBib29sIGlzRnVsbHNj
cmVlblZpZGVvRXh0cmFjdGlvbkVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogCiAg
ICAgLy8gQXV4aWxpYXJ5IENsaWVudCBDcmVhdGlvbgogI2lmIEVOQUJMRShGVUxMU0NSRUVOX0FQ
SSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1w
bElPUy5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmgK
aW5kZXggM2IwNGE4MzNkYmUwYjZiNjZlZTE0ZDNjMzAwZjMwNjg3MThiZjJjZi4uZGZiMTkzOTkz
NjE2ZTgwMGExYTUwODgxODgzMmU0ZGYyNTc2ZGNkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmgKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmgKQEAgLTMwMyw2ICszMDMsMTAgQEAgcHJp
dmF0ZToKICAgICBXZWJDb3JlOjpDb2xvciBjb250ZW50Vmlld0JhY2tncm91bmRDb2xvcigpIGZp
bmFsOwogICAgIFN0cmluZyBzY2VuZUlEKCkgZmluYWw7CiAKKyAgICB2b2lkIGJlZ2luRnVsbHNj
cmVlblZpZGVvRXh0cmFjdGlvbihjb25zdCBTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSYsIEFWUGxh
eWVyVmlld0NvbnRyb2xsZXIgKikgZmluYWw7CisgICAgdm9pZCBjYW5jZWxGdWxsc2NyZWVuVmlk
ZW9FeHRyYWN0aW9uKEFWUGxheWVyVmlld0NvbnRyb2xsZXIgKikgZmluYWw7CisgICAgYm9vbCBp
c0Z1bGxzY3JlZW5WaWRlb0V4dHJhY3Rpb25FbmFibGVkKCkgY29uc3QgZmluYWw7CisKICAgICBX
ZWFrT2JqQ1B0cjxXS0NvbnRlbnRWaWV3PiBtX2NvbnRlbnRWaWV3OwogICAgIFJldGFpblB0cjxX
S0VkaXRvclVuZG9UYXJnZXQ+IG1fdW5kb1RhcmdldDsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0gYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0KaW5kZXggMGVjMjA4OGZhYmRmNDcw
ODk5ZmQwMzU5YWY1Y2I5N2U2OGQ1ZjRhMi4uMmI1ZjUxYzJkODA3Y2RmN2U2ZWU1OTU3ZDY2ZjNh
NzFmZDgyYzJkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VD
bGllbnRJbXBsSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xp
ZW50SW1wbElPUy5tbQpAQCAtMTAzMSw2ICsxMDMxLDIxIEBAIFN0cmluZyBQYWdlQ2xpZW50SW1w
bDo6c2NlbmVJRCgpCiAgICAgcmV0dXJuIFttX2NvbnRlbnRWaWV3IHdpbmRvd10ud2luZG93U2Nl
bmUuX3NjZW5lSWRlbnRpZmllcjsKIH0KIAordm9pZCBQYWdlQ2xpZW50SW1wbDo6YmVnaW5GdWxs
c2NyZWVuVmlkZW9FeHRyYWN0aW9uKGNvbnN0IFNoYXJlYWJsZUJpdG1hcDo6SGFuZGxlJiBpbWFn
ZUhhbmRsZSwgQVZQbGF5ZXJWaWV3Q29udHJvbGxlciAqcGxheWVyVmlld0NvbnRyb2xsZXIpCit7
CisgICAgW21fY29udGVudFZpZXcgYmVnaW5GdWxsc2NyZWVuVmlkZW9FeHRyYWN0aW9uOmltYWdl
SGFuZGxlIHBsYXllclZpZXdDb250cm9sbGVyOnBsYXllclZpZXdDb250cm9sbGVyXTsKK30KKwor
dm9pZCBQYWdlQ2xpZW50SW1wbDo6Y2FuY2VsRnVsbHNjcmVlblZpZGVvRXh0cmFjdGlvbihBVlBs
YXllclZpZXdDb250cm9sbGVyICpjb250cm9sbGVyKQoreworICAgIFttX2NvbnRlbnRWaWV3IGNh
bmNlbEZ1bGxzY3JlZW5WaWRlb0V4dHJhY3Rpb246Y29udHJvbGxlcl07Cit9CisKK2Jvb2wgUGFn
ZUNsaWVudEltcGw6OmlzRnVsbHNjcmVlblZpZGVvRXh0cmFjdGlvbkVuYWJsZWQoKSBjb25zdAor
eworICAgIHJldHVybiBbbV9jb250ZW50VmlldyBpc0Z1bGxzY3JlZW5WaWRlb0V4dHJhY3Rpb25F
bmFibGVkXTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICNlbmRpZiAvLyBQTEFURk9S
TShJT1NfRkFNSUxZKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dL
Q29udGVudFZpZXdJbnRlcmFjdGlvbi5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dL
Q29udGVudFZpZXdJbnRlcmFjdGlvbi5oCmluZGV4IGM3YmU1YmVmODY0YWM2YzZjMGFlMjA0MTE4
ODFkZjkwZjQ2OTcxZDIuLjdjYmI1NDhlNzM4NDdmYzEwM2FlZGMwZDc2ZmEyZmU3YjY3ZjIyNGYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50
ZXJhY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmll
d0ludGVyYWN0aW9uLmgKQEAgLTExMCw2ICsxMTAsNyBAQCBjbGFzcyBXZWJPcGVuUGFuZWxSZXN1
bHRMaXN0ZW5lclByb3h5OwogY2xhc3MgV2ViUGFnZVByb3h5OwogfQogCitAY2xhc3MgQVZQbGF5
ZXJWaWV3Q29udHJvbGxlcjsKIEBjbGFzcyBRTFByZXZpZXdDb250cm9sbGVyOwogQGNsYXNzIFdl
YkV2ZW50OwogQGNsYXNzIFdlYlRleHRJbmRpY2F0b3JMYXllcjsKQEAgLTUyNyw2ICs1MjgsNyBA
QCB1c2luZyBJbWFnZUFuYWx5c2lzUmVxdWVzdElkZW50aWZpZXIgPSBPYmplY3RJZGVudGlmaWVy
PEltYWdlQW5hbHlzaXNSZXF1ZXN0SWRlbgogICAgIEJPT0wgX2hhc1Zpc3VhbFNlYXJjaFJlc3Vs
dHM7CiAjZW5kaWYgLy8gVVNFKFFVSUNLX0xPT0spCiAjZW5kaWYgLy8gRU5BQkxFKElNQUdFX0FO
QUxZU0lTKQorICAgIHVpbnQzMl90IF9mdWxsc2NyZWVuVmlkZW9FeHRyYWN0aW9uUmVxdWVzdElk
ZW50aWZpZXI7CiB9CiAKIEBlbmQKQEAgLTc4Miw2ICs3ODQsMTAgQEAgRk9SX0VBQ0hfUFJJVkFU
RV9XS0NPTlRFTlRWSUVXX0FDVElPTihERUNMQVJFX1dLQ09OVEVOVFZJRVdfQUNUSU9OX0ZPUl9X
RUJfVklFVykKIC0gKHZvaWQpcmVxdWVzdFJlY3RGb3JGb3VuZFRleHRSYW5nZTooVUlUZXh0UmFu
Z2UgKilyYW5nZSBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoQ0dSZWN0KSljb21wbGV0aW9u
SGFuZGxlcjsKICNlbmRpZgogCistICh2b2lkKWJlZ2luRnVsbHNjcmVlblZpZGVvRXh0cmFjdGlv
bjooY29uc3QgV2ViS2l0OjpTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSYpaW1hZ2VIYW5kbGUgcGxh
eWVyVmlld0NvbnRyb2xsZXI6KEFWUGxheWVyVmlld0NvbnRyb2xsZXIgKilwbGF5ZXJWaWV3Q29u
dHJvbGxlcjsKKy0gKHZvaWQpY2FuY2VsRnVsbHNjcmVlblZpZGVvRXh0cmFjdGlvbjooQVZQbGF5
ZXJWaWV3Q29udHJvbGxlciAqKWNvbnRyb2xsZXI7CitAcHJvcGVydHkgKG5vbmF0b21pYywgcmVh
ZG9ubHkpIEJPT0wgaXNGdWxsc2NyZWVuVmlkZW9FeHRyYWN0aW9uRW5hYmxlZDsKKwogQGVuZAog
CiBAaW50ZXJmYWNlIFdLQ29udGVudFZpZXcgKFdLVGVzdGluZykKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0gYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCmluZGV4
IDQwNzI2YzFlZDQ3NTMzZjEzN2RhMGRkYTQwYThlZWMyMzZjZDM1NjQuLmRkODkxNzYxZTlkNjg4
NTk5MzM4NGVmMzk0YTAxZTFlZjNjNzkxM2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQpAQCAtMTM1LDYgKzEz
NSw3IEBACiAjaW1wb3J0IDxXZWJDb3JlL1dyaXRpbmdEaXJlY3Rpb24uaD4KICNpbXBvcnQgPFdl
YktpdC9XZWJTZWxlY3Rpb25SZWN0Lmg+IC8vIEZJWE1FOiBXZWJLaXQgc2hvdWxkIG5vdCBpbmNs
dWRlIFdlYktpdExlZ2FjeSBoZWFkZXJzIQogI2ltcG9ydCA8cGFsL3NwaS9jZy9Db3JlR3JhcGhp
Y3NTUEkuaD4KKyNpbXBvcnQgPHBhbC9zcGkvY29jb2EvQVZLaXRTUEkuaD4KICNpbXBvcnQgPHBh
bC9zcGkvY29jb2EvRGF0YURldGVjdG9yc0NvcmVTUEkuaD4KICNpbXBvcnQgPHBhbC9zcGkvY29j
b2EvTGF1bmNoU2VydmljZXNTUEkuaD4KICNpbXBvcnQgPHBhbC9zcGkvY29jb2EvTlNBdHRyaWJ1
dGVkU3RyaW5nU1BJLmg+CkBAIC0xMDU5OCw2ICsxMDU5OSwyNSBAQCAtICh2b2lkKWNhcHR1cmVU
ZXh0RnJvbUNhbWVyYUZvcldlYlZpZXc6KGlkKXNlbmRlcgogCiAjZW5kaWYgLy8gRU5BQkxFKElN
QUdFX0FOQUxZU0lTKQogCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNpbXBvcnQgPFdl
YktpdEFkZGl0aW9ucy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb25BZGRpdGlvbnNBZnRlci5tbT4K
KyNlbHNlCisKKy0gKHZvaWQpYmVnaW5GdWxsc2NyZWVuVmlkZW9FeHRyYWN0aW9uOihjb25zdCBX
ZWJLaXQ6OlNoYXJlYWJsZUJpdG1hcDo6SGFuZGxlJilpbWFnZURhdGEgcGxheWVyVmlld0NvbnRy
b2xsZXI6KEFWUGxheWVyVmlld0NvbnRyb2xsZXIgKiljb250cm9sbGVyCit7Cit9CisKKy0gKHZv
aWQpY2FuY2VsRnVsbHNjcmVlblZpZGVvRXh0cmFjdGlvbjooQVZQbGF5ZXJWaWV3Q29udHJvbGxl
ciAqKWNvbnRyb2xsZXIKK3sKK30KKworLSAoQk9PTClpc0Z1bGxzY3JlZW5WaWRlb0V4dHJhY3Rp
b25FbmFibGVkCit7CisgICAgcmV0dXJuIE5POworfQorCisjZW5kaWYKKwogQGVuZAogCiBAaW1w
bGVtZW50YXRpb24gV0tDb250ZW50VmlldyAoV0tUZXN0aW5nKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>