<?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>224445</bug_id>
          
          <creation_ts>2021-04-12 12:40:16 -0700</creation_ts>
          <short_desc>[macOS] Refactor logic for presenting the shared QLPreviewPanel when revealing an image</short_desc>
          <delta_ts>2021-04-13 14:44:41 -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>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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>aestes</cc>
    
    <cc>bdakin</cc>
    
    <cc>hi</cc>
    
    <cc>megan_gardner</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1749335</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-04-12 12:40:16 -0700</bug_when>
    <thetext>.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1749338</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-04-12 12:46:04 -0700</bug_when>
    <thetext>&lt;rdar://problem/76552762&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1749355</commentid>
    <comment_count>2</comment_count>
      <attachid>425781</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-04-12 13:27:25 -0700</bug_when>
    <thetext>Created attachment 425781
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1749813</commentid>
    <comment_count>3</comment_count>
      <attachid>425781</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2021-04-13 12:52:34 -0700</bug_when>
    <thetext>Comment on attachment 425781
Patch

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

&gt; Source/WebKit/UIProcess/API/mac/WKWebViewMac.mm:46
&gt; +@class QLPreviewPanel;

Do you still need this since WebViewImpl.h also declares QLPreviewPanel?

&gt; Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm:139
&gt; +#import &quot;WKImageExtractionPreviewController.h&quot;

Could this be imported unconditionally?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1749825</commentid>
    <comment_count>4</comment_count>
      <attachid>425781</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-04-13 13:07:03 -0700</bug_when>
    <thetext>Comment on attachment 425781
Patch

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

r=me as well :)

&gt; Source/WebKit/ChangeLog:23
&gt; +        To address this, we refactor this logic is that we make `WKWebView` (or `WKView`, if applicable) capable of

oops</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1749837</commentid>
    <comment_count>5</comment_count>
      <attachid>425781</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-04-13 13:35:58 -0700</bug_when>
    <thetext>Comment on attachment 425781
Patch

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

Thanks for the reviews!

&gt;&gt; Source/WebKit/ChangeLog:23
&gt;&gt; +        To address this, we refactor this logic is that we make `WKWebView` (or `WKView`, if applicable) capable of
&gt; 
&gt; oops

😅

&gt;&gt; Source/WebKit/UIProcess/API/mac/WKWebViewMac.mm:46
&gt;&gt; +@class QLPreviewPanel;
&gt; 
&gt; Do you still need this since WebViewImpl.h also declares QLPreviewPanel?

Good catch! I should be able to remove this.

&gt;&gt; Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm:139
&gt;&gt; +#import &quot;WKImageExtractionPreviewController.h&quot;
&gt; 
&gt; Could this be imported unconditionally?

Ah, yes, both of these headers can be imported unconditionally since the header contents are already guarded by the flag. I&apos;ll move them out of here and remove the #if.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1749854</commentid>
    <comment_count>6</comment_count>
      <attachid>425912</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-04-13 14:14:49 -0700</bug_when>
    <thetext>Created attachment 425912
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1749872</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-04-13 14:44:40 -0700</bug_when>
    <thetext>Committed r275913 (236477@main): &lt;https://commits.webkit.org/236477@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 425912.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>425781</attachid>
            <date>2021-04-12 13:27:25 -0700</date>
            <delta_ts>2021-04-13 12:52:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224445-20210412132724.patch</filename>
            <type>text/plain</type>
            <size>19881</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1NzkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDE0ZDVkNmY4ZjRhZTM0OTkz
ZDg2MTE1MzI4YTZmODgyM2Q2YTM1MzEuLjM2ZjA2ZDRiZmU1MzEzYzVjOTBhZTQxN2U4MmZkOWQ1
NWZmY2Y5NjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNzEgQEAKKzIwMjEtMDQtMTIgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW21hY09TXSBSZWZhY3Rv
ciBsb2dpYyBmb3IgcHJlc2VudGluZyB0aGUgc2hhcmVkIFFMUHJldmlld1BhbmVsIHdoZW4gcmV2
ZWFsaW5nIGFuIGltYWdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMjQ0NDUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc2NTUyNzYyPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGBRTFByZXZpZXdQYW5l
bC5oYCBzdGF0ZXMgdGhhdCBgUUxQcmV2aWV3UGFuZWxgJ3Mgc3RhdGUgc2hvdWxkIG5ldmVyIGJl
IG1vZGlmaWVkIGJ5IHNvbWV0aGluZyB0aGF0IGlzIG5vdAorICAgICAgICBjdXJyZW50bHkgY29u
dHJvbGxpbmcgaXQgKHdoZXJlICJjb250cm9sIiBpcyBkZXRlcm1pbmVkIHRocm91Z2ggdGhlIGBR
TFByZXZpZXdQYW5lbENvbnRyb2xsZXJgIGNhdGVnb3J5CisgICAgICAgIG1ldGhvZHMgZGVjbGFy
ZWQgaW4gdGhlIHNhbWUgaGVhZGVyIGZpbGUpLiBDdXJyZW50bHksIFdlYktpdCBjb2RlIGZvciBy
ZXZlYWxpbmcgYW4gaW1hZ2UgdXNpbmcgdGhlIHNoYXJlZAorICAgICAgICBRdWlja0xvb2sgcGFu
ZWwgZG9lcyBub3QgcmVzcGVjdCB0aGlzIHJlcXVpcmVtZW50LCBhbmQgaW5zdGVhZCBhdHRlbXB0
cyB0byBzZXQgdGhlIGBkYXRhU291cmNlYCBhbmQgYGRlbGVnYXRlYAorICAgICAgICBwcm9wZXJ0
aWVzIG9mIGBRTFByZXZpZXdQYW5lbGAgb3V0IG9mIGJhbmQuCisKKyAgICAgICAgV2hpbGUgdGhp
cyBpcyBub3QgYW4gaXNzdWUgaWYgbm90aGluZyBpbiB0aGUgcmVzcG9uZGVyIGNoYWluIGFjY2Vw
dHMgcHJldmlldyBwYW5lbCBjb250cm9sIChpLmUuIGltcGxlbWVudHMgdGhlCisgICAgICAgIG1l
dGhvZCBgLWFjY2VwdHNQcmV2aWV3UGFuZWxDb250cm9sOmAgYW5kIHJldHVybnMgYFlFU2ApLCBp
dCBsZWFkcyB0byBjb21wYXRpYmlsaXR5IGlzc3VlcyBpbiBhcHBzIGxpa2UgTWFpbAorICAgICAg
ICB0aGF0IG92ZXJyaWRlIHRoZXNlIG1ldGhvZHMgYW5kIHJlcGxhY2UgdGhlIGBkYXRhU291cmNl
YCBhbmQgYGRlbGVnYXRlYCBwcm9wZXJ0aWVzIG9uIGBRTFByZXZpZXdQYW5lbGAuIFRoZSBlbmQK
KyAgICAgICAgcmVzdWx0IGlzIHRoYXQgYFdlYlBhZ2VQcm94eWAgZW5kcyB1cCBpbiBhbiB1bmV4
cGVjdGVkIHN0YXRlIHdoZXJlIGBXS0ltYWdlRXh0cmFjdGlvblByZXZpZXdDb250cm9sbGVyYCBo
YXMgYmVlbgorICAgICAgICBjcmVhdGVkLCBidXQgd2lsbCBuZXZlciBiZSBkZXN0cm95ZWQgKHVu
dGlsIHRoZSB3ZWIgdmlldyBpdHNlbGYgaXMgZGVzdHJveWVkKSBiZWNhdXNlIHdlJ3JlIG5vIGxv
bmdlciB0aGUKKyAgICAgICAgZGVsZWdhdGUgZm9yIHRoZSBzaGFyZWQgYFFMUHJldmlld1BhbmVs
YCwgYW5kIHRoZXJlZm9yZSB3b24ndCByZWNlaXZlIHRoZSB0ZWFyZG93biBtZXNzYWdlIHdoZW4g
dGhlIHByZXZpZXcKKyAgICAgICAgd2luZG93IGlzIGRpc21pc3NlZC4KKworICAgICAgICBUbyBh
ZGRyZXNzIHRoaXMsIHdlIHJlZmFjdG9yIHRoaXMgbG9naWMgaXMgdGhhdCB3ZSBtYWtlIGBXS1dl
YlZpZXdgIChvciBgV0tWaWV3YCwgaWYgYXBwbGljYWJsZSkgY2FwYWJsZSBvZgorICAgICAgICBh
Y2NlcHRpbmcgcHJldmlldyBwYW5lbCBjb250cm9sLiBTZWUgYmVsb3cgZm9yIG1vcmUgZGV0YWls
cy4KKworICAgICAgICAqIFNvdXJjZXNDb2NvYS50eHQ6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9tYWMvV0tWaWV3Lm1tOgorICAgICAgICAoLVtXS1ZpZXcgYWNjZXB0c1ByZXZpZXdQYW5lbENv
bnRyb2w6XSk6CisgICAgICAgICgtW1dLVmlldyBiZWdpblByZXZpZXdQYW5lbENvbnRyb2w6XSk6
CisgICAgICAgICgtW1dLVmlldyBlbmRQcmV2aWV3UGFuZWxDb250cm9sOl0pOgorCisgICAgICAg
IEltcGxlbWVudCBgUUxQcmV2aWV3UGFuZWxDb250cm9sbGVyYCBob29rcyBvbiBgV0tWaWV3YCwg
YW5kIHBsdW1iIGRpcmVjdGx5IGludG8gYFdlYlZpZXdJbXBsYC4KKworICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvbWFjL1dLV2ViVmlld01hYy5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3IGFjY2Vw
dHNQcmV2aWV3UGFuZWxDb250cm9sOl0pOgorICAgICAgICAoLVtXS1dlYlZpZXcgYmVnaW5QcmV2
aWV3UGFuZWxDb250cm9sOl0pOgorICAgICAgICAoLVtXS1dlYlZpZXcgZW5kUHJldmlld1BhbmVs
Q29udHJvbDpdKToKKworICAgICAgICBJbXBsZW1lbnQgYFFMUHJldmlld1BhbmVsQ29udHJvbGxl
cmAgaG9va3Mgb24gYFdLV2ViVmlld2AsIGFuZCBwbHVtYiBkaXJlY3RseSBpbnRvIGBXZWJWaWV3
SW1wbGAuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwuaDoKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW06CisgICAgICAgIChXZWJLaXQ6Oldl
YlZpZXdJbXBsOjphY2NlcHRzUHJldmlld1BhbmVsQ29udHJvbCk6CisKKyAgICAgICAgT25seSBh
Y2NlcHQgY29udHJvbCBvZiB0aGUgcHJldmlldyBwYW5lbCBpZiB3ZSBoYXZlIGFuIGFjdGl2ZSBp
bWFnZSBleHRyYWN0aW9uIHByZXZpZXcgY29udHJvbGxlci4KKworICAgICAgICAoV2ViS2l0OjpX
ZWJWaWV3SW1wbDo6YmVnaW5QcmV2aWV3UGFuZWxDb250cm9sKToKKyAgICAgICAgKFdlYktpdDo6
V2ViVmlld0ltcGw6OmVuZFByZXZpZXdQYW5lbENvbnRyb2wpOgorCisgICAgICAgIFdoZW4gYmVn
aW5uaW5nIHRvIHRha2UgY29udHJvbCAoYW5kIHJlbGlucXVpc2hpbmcgY29udHJvbCkgb2YgdGhl
IHByZXZpZXcgcGFuZWwsIHJlc3BlY3RpdmVseSBzZXQgYW5kIHVuc2V0IHRoZQorICAgICAgICBg
ZGF0YVNvdXJjZWAgYW5kIGBkZWxlZ2F0ZWAgcHJvcGVydGllcyB0byB0aGUgYWN0aXZlIGltYWdl
IGV4dHJhY3Rpb24gcHJldmlldyBjb250cm9sbGVyLgorCisgICAgICAgICogVUlQcm9jZXNzL21h
Yy9XS0ltYWdlRXh0cmFjdGlvblByZXZpZXdDb250cm9sbGVyLmg6IEFkZGVkLgorICAgICAgICAq
IFVJUHJvY2Vzcy9tYWMvV0tJbWFnZUV4dHJhY3Rpb25QcmV2aWV3Q29udHJvbGxlci5tbTogQWRk
ZWQuCisgICAgICAgICgtW1dLSW1hZ2VFeHRyYWN0aW9uUHJldmlld0l0ZW0gaW5pdFdpdGhVUkw6
dGl0bGU6XSk6CisgICAgICAgICgtW1dLSW1hZ2VFeHRyYWN0aW9uUHJldmlld0l0ZW0gZGVhbGxv
Y10pOgorICAgICAgICAoLVtXS0ltYWdlRXh0cmFjdGlvblByZXZpZXdJdGVtIHByZXZpZXdJdGVt
VVJMXSk6CisgICAgICAgICgtW1dLSW1hZ2VFeHRyYWN0aW9uUHJldmlld0l0ZW0gcHJldmlld0l0
ZW1UaXRsZV0pOgorICAgICAgICAoLVtXS0ltYWdlRXh0cmFjdGlvblByZXZpZXdDb250cm9sbGVy
IGluaXRXaXRoUGFnZTp1cmw6dGl0bGU6XSk6CisgICAgICAgICgtW1dLSW1hZ2VFeHRyYWN0aW9u
UHJldmlld0NvbnRyb2xsZXIgbnVtYmVyT2ZQcmV2aWV3SXRlbXNJblByZXZpZXdQYW5lbDpdKToK
KyAgICAgICAgKC1bV0tJbWFnZUV4dHJhY3Rpb25QcmV2aWV3Q29udHJvbGxlciBwcmV2aWV3UGFu
ZWw6cHJldmlld0l0ZW1BdEluZGV4Ol0pOgorCisgICAgICAgIFBhcnRpYWxseSB1cHN0cmVhbSBg
X1dLSW1hZ2VFeHRyYWN0aW9uUHJldmlld0NvbnRyb2xsZXJgIHRvIE9wZW5Tb3VyY2UsIGFzIGBX
S0ltYWdlRXh0cmFjdGlvblByZXZpZXdDb250cm9sbGVyYAorICAgICAgICAodGhlIHVuZGVyc2Nv
cmUgaXMgdW5uZWNlc3NhcnkgYmVjYXVzZSB0aGlzIG9iamVjdCBpcyBub3QgU1BJLSBvciBBUEkt
ZXhwb3NlZCkuIEFkZGl0aW9uYWxseSwgbW92ZSBpdCBvdXQgaW50bworICAgICAgICBpdHMgb3du
IGhlYWRlciBhbmQgc291cmNlLCBzbyB0aGF0IGl0IGNhbiBiZSBpbXBvcnRlZCBlbHNld2hlcmUu
CisKKyAgICAgICAgKiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKwogMjAyMS0w
NC0wOSAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBS
RUdSRVNTSU9OIChyMjcxNjYwKTogVGFwIGhpZ2hsaWdodCBubyBsb25nZXIgc2hvd3Mgd2hlbiB0
YXBwaW5nIGNsaWNrYWJsZSBlbGVtZW50cyB3aXRob3V0IHRvdWNoIGV2ZW50IGxpc3RlbmVycwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0IGIvU291cmNlL1dlYktp
dC9Tb3VyY2VzQ29jb2EudHh0CmluZGV4IGY2ZTE2ZjJiYzg0YzBkNTBhNjY1NWE3MzM2ZmM5ZjI2
YjRkNjRhNDQuLjQ3NzJiNzFlOWI5YjBlMGE1MGMyY2M5NjVlNzliYTFkNGI5ZWY5ZDIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0
L1NvdXJjZXNDb2NvYS50eHQKQEAgLTUyMCw2ICs1MjAsNyBAQCBVSVByb2Nlc3MvbWFjL1dlYlBv
cHVwTWVudVByb3h5TWFjLm1tCiBVSVByb2Nlc3MvbWFjL1dlYlByb2Nlc3NQcm94eU1hYy5tbQog
VUlQcm9jZXNzL21hYy9XaW5kb3dTZXJ2ZXJDb25uZWN0aW9uLm1tCiBVSVByb2Nlc3MvbWFjL1dL
RnVsbFNjcmVlbldpbmRvd0NvbnRyb2xsZXIubW0KK1VJUHJvY2Vzcy9tYWMvV0tJbWFnZUV4dHJh
Y3Rpb25QcmV2aWV3Q29udHJvbGxlci5tbQogVUlQcm9jZXNzL21hYy9XS0ltbWVkaWF0ZUFjdGlv
bkNvbnRyb2xsZXIubW0KIFVJUHJvY2Vzcy9tYWMvV0tQcmludGluZ1ZpZXcubW0KIFVJUHJvY2Vz
cy9tYWMvV0tTaGFyaW5nU2VydmljZVBpY2tlckRlbGVnYXRlLm1tCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvbWFjL1dLVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9tYWMvV0tWaWV3Lm1tCmluZGV4IDQ2OTQ2ZTBjMjcyYjIwNDUwYzgzZjI4NGY5
YTIzN2JmOGJhZjAyZjMuLmU5ZDQ1YTg5OGJmMjk2ZmY5YzJjN2Q3MjA2NzBmZDE2YWNlMGQ1N2Mg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9tYWMvV0tWaWV3Lm1tCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9tYWMvV0tWaWV3Lm1tCkBAIC0xNjk0LDYg
KzE2OTQsMjEgQEAgLSAoQk9PTClfdXNlU3lzdGVtQXBwZWFyYW5jZQogICAgIHJldHVybiBfZGF0
YS0+X2ltcGwtPnVzZVN5c3RlbUFwcGVhcmFuY2UoKTsKIH0KIAorLSAoQk9PTClhY2NlcHRzUHJl
dmlld1BhbmVsQ29udHJvbDooUUxQcmV2aWV3UGFuZWwgKilwYW5lbAoreworICAgIHJldHVybiBf
ZGF0YS0+X2ltcGwtPmFjY2VwdHNQcmV2aWV3UGFuZWxDb250cm9sKHBhbmVsKTsKK30KKworLSAo
dm9pZCliZWdpblByZXZpZXdQYW5lbENvbnRyb2w6KFFMUHJldmlld1BhbmVsICopcGFuZWwKK3sK
KyAgICBfZGF0YS0+X2ltcGwtPmJlZ2luUHJldmlld1BhbmVsQ29udHJvbChwYW5lbCk7Cit9CisK
Ky0gKHZvaWQpZW5kUHJldmlld1BhbmVsQ29udHJvbDooUUxQcmV2aWV3UGFuZWwgKilwYW5lbAor
eworICAgIF9kYXRhLT5faW1wbC0+ZW5kUHJldmlld1BhbmVsQ29udHJvbChwYW5lbCk7Cit9CisK
IEBlbmQKIEFMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0VORAogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvbWFjL1dLV2ViVmlld01hYy5tbSBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9tYWMvV0tXZWJWaWV3TWFjLm1tCmluZGV4IGVkOTQ0NTM5MTZl
ZjQzMzhiMGI0NjJkN2VhOTQ4MWYxODRhM2I0NDEuLmJkOWNmMmRmMjU0YTIxN2NlMzdmZjIyNDQw
OWY0ZmFkYzkyN2FkODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9t
YWMvV0tXZWJWaWV3TWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9tYWMv
V0tXZWJWaWV3TWFjLm1tCkBAIC00Myw2ICs0Myw4IEBACiAjaW1wb3J0IDxXZWJDb3JlL1ZlcnNp
b25DaGVja3MuaD4KICNpbXBvcnQgPHBhbC9zcGkvbWFjL05TVGV4dEZpbmRlclNQSS5oPgogCitA
Y2xhc3MgUUxQcmV2aWV3UGFuZWw7CisKIF9XS092ZXJsYXlTY3JvbGxiYXJTdHlsZSB0b0FQSVNj
cm9sbGJhclN0eWxlKE9wdGlvbmFsPFdlYkNvcmU6OlNjcm9sbGJhck92ZXJsYXlTdHlsZT4gY29y
ZVNjcm9sbGJhclN0eWxlKQogewogICAgIGlmICghY29yZVNjcm9sbGJhclN0eWxlKQpAQCAtMTIy
Myw2ICsxMjI1LDIzIEBAIC0gKHZvaWQpc2Nyb2xsVmlld0NvbnRlbnRJbnNldHNEaWRDaGFuZ2U6
KE5TU2Nyb2xsVmlldyAqKXNjcm9sbFZpZXcKICAgICAvLyBPbmx5IGNhbGxlZCB3aXRoIFVJLXNp
ZGUgY29tcG9zaXRpbmcuCiB9CiAKKyNwcmFnbWEgbWFyayAtIFFMUHJldmlld1BhbmVsQ29udHJv
bGxlcgorCistIChCT09MKWFjY2VwdHNQcmV2aWV3UGFuZWxDb250cm9sOihRTFByZXZpZXdQYW5l
bCAqKXBhbmVsCit7CisgICAgcmV0dXJuIF9pbXBsLT5hY2NlcHRzUHJldmlld1BhbmVsQ29udHJv
bChwYW5lbCk7Cit9CisKKy0gKHZvaWQpYmVnaW5QcmV2aWV3UGFuZWxDb250cm9sOihRTFByZXZp
ZXdQYW5lbCAqKXBhbmVsCit7CisgICAgX2ltcGwtPmJlZ2luUHJldmlld1BhbmVsQ29udHJvbChw
YW5lbCk7Cit9CisKKy0gKHZvaWQpZW5kUHJldmlld1BhbmVsQ29udHJvbDooUUxQcmV2aWV3UGFu
ZWwgKilwYW5lbAoreworICAgIF9pbXBsLT5lbmRQcmV2aWV3UGFuZWxDb250cm9sKHBhbmVsKTsK
K30KKwogI3ByYWdtYSBtYXJrIC0KIAogLSAodm9pZClfc2V0dXBTY3JvbGxBbmRDb250ZW50Vmll
d3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBs
LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5oCmluZGV4IDc0
OGIyNzQ1MWFhZjdkN2VlY2MyYzE4MDk5Nzg2YTY3OTI4YmM1MTkuLmQ2OTlhZDcwNzM5NzRmYmM4
MjliNzFmYzdkYTlmNTM3MmUwNmY0ZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0NvY29hL1dlYlZpZXdJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29j
b2EvV2ViVmlld0ltcGwuaApAQCAtNTQsNiArNTQsNyBAQCBPQkpDX0NMQVNTIE5TSW1tZWRpYXRl
QWN0aW9uR2VzdHVyZVJlY29nbml6ZXI7CiBPQkpDX0NMQVNTIE5TTWVudTsKIE9CSkNfQ0xBU1Mg
TlNUZXh0SW5wdXRDb250ZXh0OwogT0JKQ19DTEFTUyBOU1ZpZXc7CitPQkpDX0NMQVNTIFFMUHJl
dmlld1BhbmVsOwogT0JKQ19DTEFTUyBXS0FjY2Vzc2liaWxpdHlTZXR0aW5nc09ic2VydmVyOwog
T0JKQ19DTEFTUyBXS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXI7CiBPQkpDX0NMQVNTIFdLRE9N
UGFzdGVNZW51RGVsZWdhdGU7CkBAIC01OTAsNiArNTkxLDEwIEBAIHB1YmxpYzoKICAgICB2b2lk
IGNvbXB1dGVDYW5SZXZlYWxJbWFnZShjb25zdCBVUkwmIGltYWdlVVJMLCBTaGFyZWFibGVCaXRt
YXAmIGltYWdlQml0bWFwLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmKTsKICNlbmRp
ZgogCisgICAgYm9vbCBhY2NlcHRzUHJldmlld1BhbmVsQ29udHJvbChRTFByZXZpZXdQYW5lbCAq
KTsKKyAgICB2b2lkIGJlZ2luUHJldmlld1BhbmVsQ29udHJvbChRTFByZXZpZXdQYW5lbCAqKTsK
KyAgICB2b2lkIGVuZFByZXZpZXdQYW5lbENvbnRyb2woUUxQcmV2aWV3UGFuZWwgKik7CisKICAg
ICBib29sIHdpbmRvd0lzRnJvbnRXaW5kb3dVbmRlck1vdXNlKE5TRXZlbnQgKik7CiAKICAgICB2
b2lkIHNldFJlcXVpcmVzVXNlckFjdGlvbkZvckVkaXRpbmdDb250cm9sc01hbmFnZXIoYm9vbCBy
ZXF1aXJlc1VzZXJBY3Rpb25Gb3JFZGl0aW5nQ29udHJvbHNNYW5hZ2VyKSB7IG1fcmVxdWlyZXNV
c2VyQWN0aW9uRm9yRWRpdGluZ0NvbnRyb2xzTWFuYWdlciA9IHJlcXVpcmVzVXNlckFjdGlvbkZv
ckVkaXRpbmdDb250cm9sc01hbmFnZXI7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29j
b2EvV2ViVmlld0ltcGwubW0KaW5kZXggODdiYWQyYjRjNDBhODM2YzEzNGZmYTc0YjA2ODA3ZWNj
YzI0NzBkOC4uNTA3NmNmZGU3MmM5YWM2N2IxMDNiOTMwMjIxMWM2NWY2NjU1NjhiNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW0KKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW0KQEAgLTEzNiw2ICsx
MzYsNyBAQAogI2ltcG9ydCA8d3RmL3RleHQvU3RyaW5nQ29uY2F0ZW5hdGUuaD4KIAogI2lmIEVO
QUJMRShJTUFHRV9FWFRSQUNUSU9OKQorI2ltcG9ydCAiV0tJbWFnZUV4dHJhY3Rpb25QcmV2aWV3
Q29udHJvbGxlci5oIgogI2ltcG9ydCA8V2ViQ29yZS9JbWFnZUV4dHJhY3Rpb25SZXN1bHQuaD4K
ICNlbmRpZgogCkBAIC01NjM0LDYgKzU2MzUsNDggQEAgdm9pZCBXZWJWaWV3SW1wbDo6aGFuZGxl
Q29udGV4dE1lbnVUcmFuc2xhdGlvbihjb25zdCBTdHJpbmcmIHRleHQsIGNvbnN0IEludFJlY3QK
IAogI2VuZGlmIC8vIEhBVkUoVFJBTlNMQVRJT05fVUlfU0VSVklDRVMpICYmIEVOQUJMRShDT05U
RVhUX01FTlVTKQogCitib29sIFdlYlZpZXdJbXBsOjphY2NlcHRzUHJldmlld1BhbmVsQ29udHJv
bChRTFByZXZpZXdQYW5lbCAqKQoreworI2lmIEVOQUJMRShJTUFHRV9FWFRSQUNUSU9OKQorICAg
IHJldHVybiAhIW1fcGFnZS0+aW1hZ2VFeHRyYWN0aW9uUHJldmlld0NvbnRyb2xsZXIoKTsKKyNl
bHNlCisgICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCit9CisKK3ZvaWQgV2ViVmlld0ltcGw6OmJl
Z2luUHJldmlld1BhbmVsQ29udHJvbChRTFByZXZpZXdQYW5lbCAqcGFuZWwpCit7CisjaWYgRU5B
QkxFKElNQUdFX0VYVFJBQ1RJT04pCisgICAgYXV0byBjb250cm9sbGVyID0gbV9wYWdlLT5pbWFn
ZUV4dHJhY3Rpb25QcmV2aWV3Q29udHJvbGxlcigpOworICAgIGlmICghY29udHJvbGxlcikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgcGFuZWwuZGF0YVNvdXJjZSA9IGNvbnRyb2xsZXI7CisgICAg
cGFuZWwuZGVsZWdhdGUgPSBjb250cm9sbGVyOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0ocGFu
ZWwpOworI2VuZGlmCit9CisKK3ZvaWQgV2ViVmlld0ltcGw6OmVuZFByZXZpZXdQYW5lbENvbnRy
b2woUUxQcmV2aWV3UGFuZWwgKnBhbmVsKQoreworI2lmIEVOQUJMRShJTUFHRV9FWFRSQUNUSU9O
KQorICAgIGF1dG8gY29udHJvbGxlciA9IG1fcGFnZS0+aW1hZ2VFeHRyYWN0aW9uUHJldmlld0Nv
bnRyb2xsZXIoKTsKKyAgICBpZiAoIWNvbnRyb2xsZXIpCisgICAgICAgIHJldHVybjsKKworICAg
IGlmIChwYW5lbC5kYXRhU291cmNlID09IGNvbnRyb2xsZXIpCisgICAgICAgIHBhbmVsLmRhdGFT
b3VyY2UgPSBuaWw7CisKKyAgICBpZiAocGFuZWwuZGVsZWdhdGUgPT0gY29udHJvbGxlcikKKyAg
ICAgICAgcGFuZWwuZGVsZWdhdGUgPSBuaWw7CisKKyAgICBtX3BhZ2UtPnJlc2V0SW1hZ2VFeHRy
YWN0aW9uUHJldmlldygpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0ocGFuZWwpOworI2VuZGlm
Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCiAjZW5kaWYgLy8gUExBVEZPUk0oTUFDKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1dLSW1hZ2VFeHRyYWN0aW9u
UHJldmlld0NvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9XS0ltYWdl
RXh0cmFjdGlvblByZXZpZXdDb250cm9sbGVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmI0MDVjMWViYWQ0NDVl
Njc3YTc1YzU2ZGFjOTExM2Y4NGU2MzVjMgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL21hYy9XS0ltYWdlRXh0cmFjdGlvblByZXZpZXdDb250cm9sbGVyLmgKQEAg
LTAsMCArMSw0NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgUExBVEZPUk0o
TUFDKSAmJiBFTkFCTEUoSU1BR0VfRVhUUkFDVElPTikKKworI2ltcG9ydCA8cGFsL3NwaS9tYWMv
UXVpY2tMb29rTWFjU1BJLmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworY2xhc3MgV2ViUGFnZVBy
b3h5OworfQorCitAaW50ZXJmYWNlIFdLSW1hZ2VFeHRyYWN0aW9uUHJldmlld0l0ZW0gOiBOU09i
amVjdCA8UUxQcmV2aWV3SXRlbT4KKy0gKGluc3RhbmNldHlwZSlpbml0V2l0aFVSTDooTlNVUkwg
Kil1cmwgdGl0bGU6KE5TU3RyaW5nICopdGl0bGU7CitAZW5kCisKK0BpbnRlcmZhY2UgV0tJbWFn
ZUV4dHJhY3Rpb25QcmV2aWV3Q29udHJvbGxlciA6IE5TT2JqZWN0IDxRTFByZXZpZXdQYW5lbERl
bGVnYXRlLCBRTFByZXZpZXdQYW5lbERhdGFTb3VyY2U+CistIChpbnN0YW5jZXR5cGUpaW5pdFdp
dGhQYWdlOihXZWJLaXQ6OldlYlBhZ2VQcm94eSYpcGFnZSB1cmw6KE5TVVJMICopdXJsIHRpdGxl
OihOU1N0cmluZyAqKXRpdGxlOworQGVuZAorCisjZW5kaWYgLy8gUExBVEZPUk0oTUFDKSAmJiBF
TkFCTEUoSU1BR0VfRVhUUkFDVElPTikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL21hYy9XS0ltYWdlRXh0cmFjdGlvblByZXZpZXdDb250cm9sbGVyLm1tIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvbWFjL1dLSW1hZ2VFeHRyYWN0aW9uUHJldmlld0NvbnRyb2xsZXIubW0K
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNjFjYTY1OWI2NzRjOTM1OWY5YTE4MTc5M2QxOTcwNmFhNDA0ODU5ZgotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9XS0ltYWdlRXh0cmFj
dGlvblByZXZpZXdDb250cm9sbGVyLm1tCkBAIC0wLDAgKzEsMTA4IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2ltcG9ydCAiY29uZmlnLmgiCisjaW1wb3J0ICJXS0ltYWdlRXh0cmFjdGlvblByZXZpZXdDb250
cm9sbGVyLmgiCisKKyNpZiBFTkFCTEUoSU1BR0VfRVhUUkFDVElPTikgJiYgUExBVEZPUk0oTUFD
KQorCisjaW1wb3J0ICJXZWJQYWdlUHJveHkuaCIKKyNpbXBvcnQgPHd0Zi9GaWxlU3lzdGVtLmg+
CisjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CisjaW1wb3J0IDx3dGYvV2Vha1B0ci5oPgorCitA
aW1wbGVtZW50YXRpb24gV0tJbWFnZUV4dHJhY3Rpb25QcmV2aWV3SXRlbSB7CisgICAgUmV0YWlu
UHRyPE5TVVJMPiBfdXJsOworICAgIFJldGFpblB0cjxOU1N0cmluZz4gX3RpdGxlOworfQorCist
IChpbnN0YW5jZXR5cGUpaW5pdFdpdGhVUkw6KE5TVVJMICopdXJsIHRpdGxlOihOU1N0cmluZyAq
KXRpdGxlCit7CisgICAgaWYgKCEoc2VsZiA9IFtzdXBlciBpbml0XSkpCisgICAgICAgIHJldHVy
biBuaWw7CisKKyAgICBfdXJsID0gdXJsOworICAgIF90aXRsZSA9IGFkb3B0TlMoW3RpdGxlIGNv
cHldKTsKKworICAgIHJldHVybiBzZWxmOworfQorCistICh2b2lkKWRlYWxsb2MKK3sKKyAgICBG
aWxlU3lzdGVtOjpkZWxldGVGaWxlKFtfdXJsIHBhdGhdKTsKKworICAgIFtzdXBlciBkZWFsbG9j
XTsKK30KKworI3ByYWdtYSBtYXJrIC0gUUxQcmV2aWV3SXRlbQorCistIChOU1VSTCAqKXByZXZp
ZXdJdGVtVVJMCit7CisgICAgcmV0dXJuIF91cmwuZ2V0KCk7Cit9CisKKy0gKE5TU3RyaW5nICop
cHJldmlld0l0ZW1UaXRsZQoreworICAgIHJldHVybiBfdGl0bGUuZ2V0KCk7Cit9CisKK0BlbmQK
KworQGltcGxlbWVudGF0aW9uIFdLSW1hZ2VFeHRyYWN0aW9uUHJldmlld0NvbnRyb2xsZXIgewor
ICAgIFdlYWtQdHI8V2ViS2l0OjpXZWJQYWdlUHJveHk+IF9wYWdlOworICAgIFJldGFpblB0cjxX
S0ltYWdlRXh0cmFjdGlvblByZXZpZXdJdGVtPiBfcHJldmlld0l0ZW07Cit9CisKKy0gKGluc3Rh
bmNldHlwZSlpbml0V2l0aFBhZ2U6KFdlYktpdDo6V2ViUGFnZVByb3h5JilwYWdlIHVybDooTlNV
UkwgKil1cmwgdGl0bGU6KE5TU3RyaW5nICopdGl0bGUKK3sKKyAgICBpZiAoIShzZWxmID0gW3N1
cGVyIGluaXRdKSkKKyAgICAgICAgcmV0dXJuIG5pbDsKKworICAgIF9wYWdlID0gbWFrZVdlYWtQ
dHIocGFnZSk7CisgICAgX3ByZXZpZXdJdGVtID0gYWRvcHROUyhbW1dLSW1hZ2VFeHRyYWN0aW9u
UHJldmlld0l0ZW0gYWxsb2NdIGluaXRXaXRoVVJMOnVybCB0aXRsZTp0aXRsZV0pOworCisgICAg
cmV0dXJuIHNlbGY7Cit9CisKKyNwcmFnbWEgbWFyayAtIFFMUHJldmlld1BhbmVsRGF0YVNvdXJj
ZQorCistIChOU0ludGVnZXIpbnVtYmVyT2ZQcmV2aWV3SXRlbXNJblByZXZpZXdQYW5lbDooUUxQ
cmV2aWV3UGFuZWwgKilwYW5lbAoreworICAgIHJldHVybiAxOworfQorCistIChpZCA8UUxQcmV2
aWV3SXRlbT4pcHJldmlld1BhbmVsOihRTFByZXZpZXdQYW5lbCAqKXBhbmVsIHByZXZpZXdJdGVt
QXRJbmRleDooTlNJbnRlZ2VyKWluZGV4Cit7CisgICAgQVNTRVJUKCFpbmRleCk7CisgICAgcmV0
dXJuIF9wcmV2aWV3SXRlbS5nZXQoKTsKK30KKworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREsp
CisjaW1wb3J0IDxXZWJLaXRBZGRpdGlvbnMvV0tJbWFnZUV4dHJhY3Rpb25QcmV2aWV3Q29udHJv
bGxlckFkZGl0aW9ucy5tbT4KKyNlbmRpZgorCitAZW5kCisKKyNlbmRpZiAvLyBFTkFCTEUoSU1B
R0VfRVhUUkFDVElPTikgJiYgUExBVEZPUk0oTUFDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZTFjMjVjYWYwMjBiY2VjYmY4MWUyZGFh
YjVhNzcxYzQ5OGJlOTA0Yy4uNGM3Yjg5YWQ2ODQyNWU0ZDVmOWQwMGUyZTliYzIxNjI4MDZiMGMz
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CkBAIC0yMDE0LDYgKzIwMTQsNyBAQAogCQlGNDY2MEJDMjI1REVGMDgxMDBFODY1OTggLyogUGFz
dGVib2FyZEFjY2Vzc0ludGVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRjQ2NjBCQzEyNURFRjA4MTAwRTg2NTk4IC8qIFBhc3RlYm9hcmRBY2Nlc3NJ
bnRlbnQuaCAqLzsgfTsKIAkJRjQ4RDJBODUyMTU4M0E3RTAwQzY3NTJCIC8qIEFwcEtpdFNQSS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQ4RDJBODQy
MTU4M0EwMjAwQzY3NTJCIC8qIEFwcEtpdFNQSS5oICovOyB9OwogCQlGNDk2QTQzMTFGNThBMjcy
MDA0QzE3NTcgLyogRHJhZ0Ryb3BJbnRlcmFjdGlvblN0YXRlLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNDk2QTQyRjFGNThBMjcyMDA0QzE3NTcgLyog
RHJhZ0Ryb3BJbnRlcmFjdGlvblN0YXRlLmggKi87IH07CisJCUY0OTc1Q0YyMjYyNEI4MEEwMDND
NjI2RSAvKiBXS0ltYWdlRXh0cmFjdGlvblByZXZpZXdDb250cm9sbGVyLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNDk3NUNGMTI2MjRCODBBMDAzQzYy
NkUgLyogV0tJbWFnZUV4dHJhY3Rpb25QcmV2aWV3Q29udHJvbGxlci5oICovOyB9OwogCQlGNEE2
RDZCQzI1NENBM0U5MDBCNjVGQUEgLyogU2hhcmVkRGlzcGxheUxpc3RIYW5kbGUuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0QTZENkJCMjU0Q0EzRTkw
MEI2NUZBQSAvKiBTaGFyZWREaXNwbGF5TGlzdEhhbmRsZS5oICovOyB9OwogCQlGNEJBMzNGMjI1
NzU3RTg5MDAwQTNDRTggLyogV0tJbWFnZUV4dHJhY3Rpb25HZXN0dXJlUmVjb2duaXplci5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjRCQTMzRjAyNTc1
N0U4OTAwMEEzQ0U4IC8qIFdLSW1hZ2VFeHRyYWN0aW9uR2VzdHVyZVJlY29nbml6ZXIuaCAqLzsg
fTsKIAkJRjRDQjA5RTUyMjVENUEwOTAwODkxNDg3IC8qIFdlYnNpdGVNZWRpYVNvdXJjZVBvbGlj
eS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjRDQjA5
RTQyMjVENUEwMzAwODkxNDg3IC8qIFdlYnNpdGVNZWRpYVNvdXJjZVBvbGljeS5oICovOyB9OwpA
QCAtNTk0NSw2ICs1OTQ2LDggQEAKIAkJRjQ4RDJBODQyMTU4M0EwMjAwQzY3NTJCIC8qIEFwcEtp
dFNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBBcHBLaXRTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJRjQ5NkE0MkYxRjU4QTI3MjAwNEMxNzU3IC8qIERyYWdEcm9wSW50ZXJhY3Rpb25T
dGF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IG5hbWUgPSBEcmFnRHJvcEludGVyYWN0aW9uU3RhdGUuaDsgcGF0aCA9
IGlvcy9EcmFnRHJvcEludGVyYWN0aW9uU3RhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJRjQ5NkE0MzAxRjU4QTI3MjAwNEMxNzU3IC8qIERyYWdEcm9wSW50ZXJhY3Rpb25TdGF0
ZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9IERyYWdEcm9wSW50ZXJhY3Rpb25TdGF0ZS5tbTsg
cGF0aCA9IGlvcy9EcmFnRHJvcEludGVyYWN0aW9uU3RhdGUubW07IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUY0OTc1Q0YxMjYyNEI4MEEwMDNDNjI2RSAvKiBXS0ltYWdlRXh0cmFjdGlv
blByZXZpZXdDb250cm9sbGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLSW1hZ2VFeHRyYWN0aW9uUHJl
dmlld0NvbnRyb2xsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRjQ5NzVDRjMy
NjI0QjkxODAwM0M2MjZFIC8qIFdLSW1hZ2VFeHRyYWN0aW9uUHJldmlld0NvbnRyb2xsZXIubW0g
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXS0ltYWdlRXh0cmFjdGlvblByZXZpZXdDb250cm9sbGVy
Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNEE2RDZCQjI1NENBM0U5MDBCNjVG
QUEgLyogU2hhcmVkRGlzcGxheUxpc3RIYW5kbGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2hhcmVkRGlz
cGxheUxpc3RIYW5kbGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjRBQzY1NUUy
MkEzMTQwRTAwQTA1NjA3IC8qIFdlYlByZWZlcmVuY2VzRGVmYXVsdFZhbHVlc0lPUy5tbSAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9IFdlYlByZWZlcmVuY2VzRGVmYXVs
dFZhbHVlc0lPUy5tbTsgcGF0aCA9IGlvcy9XZWJQcmVmZXJlbmNlc0RlZmF1bHRWYWx1ZXNJT1Mu
bW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0QjM3OEQwMjFEREJCQUIwMDk1QTM3
OCAvKiBXZWJVbmRvU3RlcElELmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYlVuZG9TdGVwSUQuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEwNzg3LDYgKzEwNzkwLDggQEAKIAkJCQk4Njgx
NjBDRjE4NzY0NTM3MDAyMUU3OUQgLyogV2luZG93U2VydmVyQ29ubmVjdGlvbi5tbSAqLywKIAkJ
CQlDRENBODVDNzEzMkFCQTRFMDBFOTYxREYgLyogV0tGdWxsU2NyZWVuV2luZG93Q29udHJvbGxl
ci5oICovLAogCQkJCUNEQ0E4NUM2MTMyQUJBNEUwMEU5NjFERiAvKiBXS0Z1bGxTY3JlZW5XaW5k
b3dDb250cm9sbGVyLm1tICovLAorCQkJCUY0OTc1Q0YxMjYyNEI4MEEwMDNDNjI2RSAvKiBXS0lt
YWdlRXh0cmFjdGlvblByZXZpZXdDb250cm9sbGVyLmggKi8sCisJCQkJRjQ5NzVDRjMyNjI0Qjkx
ODAwM0M2MjZFIC8qIFdLSW1hZ2VFeHRyYWN0aW9uUHJldmlld0NvbnRyb2xsZXIubW0gKi8sCiAJ
CQkJOTMyMUQ1ODUxQTM4RUUzQzAwODA1MkJFIC8qIFdLSW1tZWRpYXRlQWN0aW9uQ29udHJvbGxl
ci5oICovLAogCQkJCTkzMjFENTg3MUEzOEVFNzQwMDgwNTJCRSAvKiBXS0ltbWVkaWF0ZUFjdGlv
bkNvbnRyb2xsZXIubW0gKi8sCiAJCQkJMEZDQjRFNUMxOEJCRTNEOTAwMEZDRkM5IC8qIFdLUHJp
bnRpbmdWaWV3LmggKi8sCkBAIC0xMjcxOSw2ICsxMjcyNCw3IEBACiAJCQkJQkNDRjZBQzMxMkM5
MUYzNDAwOEY5QzM1IC8qIFdLSW1hZ2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDQ0Y2QUNBMTJD
OTFGNTkwMDhGOUMzNSAvKiBXS0ltYWdlQ0cuaCBpbiBIZWFkZXJzICovLAogCQkJCUY0QkEzM0Yy
MjU3NTdFODkwMDBBM0NFOCAvKiBXS0ltYWdlRXh0cmFjdGlvbkdlc3R1cmVSZWNvZ25pemVyLmgg
aW4gSGVhZGVycyAqLywKKwkJCQlGNDk3NUNGMjI2MjRCODBBMDAzQzYyNkUgLyogV0tJbWFnZUV4
dHJhY3Rpb25QcmV2aWV3Q29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTMzREY4MkUx
QjNCQzA5MDAwQUVBOUUzIC8qIFdLSW1hZ2VQcmV2aWV3Vmlld0NvbnRyb2xsZXIuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTkzMjFENTg2MUEzOEVFM0MwMDgwNTJCRSAvKiBXS0ltbWVkaWF0ZUFjdGlv
bkNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzMjFENThBMUEzOEYxOTYwMDgwNTJC
RSAvKiBXS0ltbWVkaWF0ZUFjdGlvblR5cGVzLmggaW4gSGVhZGVycyAqLywK
</data>
<flag name="review"
          id="445839"
          type_id="1"
          status="+"
          setter="aestes"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>425912</attachid>
            <date>2021-04-13 14:14:49 -0700</date>
            <delta_ts>2021-04-13 14:44:40 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-224445-20210413141449.patch</filename>
            <type>text/plain</type>
            <size>20183</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1ODkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDY2ZWE5NDE3MDhjMzhjZTRj
YWMwYTFiMGJjZjcwZDY3MDcwMDQ2NzQuLmFmZjRhNTkwZGQzYzMxZDcxZmE2NDc4OTJjMmJjNmU4
ZmU5ZThiNjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNzEgQEAKKzIwMjEtMDQtMTIgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW21hY09TXSBSZWZhY3Rv
ciBsb2dpYyBmb3IgcHJlc2VudGluZyB0aGUgc2hhcmVkIFFMUHJldmlld1BhbmVsIHdoZW4gcmV2
ZWFsaW5nIGFuIGltYWdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMjQ0NDUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc2NTUyNzYyPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IEFuZHkgRXN0ZXMgYW5kIERldmluIFJvdXNzby4KKworICAgICAgICBg
UUxQcmV2aWV3UGFuZWwuaGAgc3RhdGVzIHRoYXQgYFFMUHJldmlld1BhbmVsYCdzIHN0YXRlIHNo
b3VsZCBuZXZlciBiZSBtb2RpZmllZCBieSBzb21ldGhpbmcgdGhhdCBpcyBub3QKKyAgICAgICAg
Y3VycmVudGx5IGNvbnRyb2xsaW5nIGl0ICh3aGVyZSAiY29udHJvbCIgaXMgZGV0ZXJtaW5lZCB0
aHJvdWdoIHRoZSBgUUxQcmV2aWV3UGFuZWxDb250cm9sbGVyYCBjYXRlZ29yeQorICAgICAgICBt
ZXRob2RzIGRlY2xhcmVkIGluIHRoZSBzYW1lIGhlYWRlciBmaWxlKS4gQ3VycmVudGx5LCBXZWJL
aXQgY29kZSBmb3IgcmV2ZWFsaW5nIGFuIGltYWdlIHVzaW5nIHRoZSBzaGFyZWQKKyAgICAgICAg
UXVpY2tMb29rIHBhbmVsIGRvZXMgbm90IHJlc3BlY3QgdGhpcyByZXF1aXJlbWVudCwgYW5kIGlu
c3RlYWQgYXR0ZW1wdHMgdG8gc2V0IHRoZSBgZGF0YVNvdXJjZWAgYW5kIGBkZWxlZ2F0ZWAKKyAg
ICAgICAgcHJvcGVydGllcyBvZiBgUUxQcmV2aWV3UGFuZWxgIG91dCBvZiBiYW5kLgorCisgICAg
ICAgIFdoaWxlIHRoaXMgaXMgbm90IGFuIGlzc3VlIGlmIG5vdGhpbmcgaW4gdGhlIHJlc3BvbmRl
ciBjaGFpbiBhY2NlcHRzIHByZXZpZXcgcGFuZWwgY29udHJvbCAoaS5lLiBpbXBsZW1lbnRzIHRo
ZQorICAgICAgICBtZXRob2QgYC1hY2NlcHRzUHJldmlld1BhbmVsQ29udHJvbDpgIGFuZCByZXR1
cm5zIGBZRVNgKSwgaXQgbGVhZHMgdG8gY29tcGF0aWJpbGl0eSBpc3N1ZXMgaW4gYXBwcyBsaWtl
IE1haWwKKyAgICAgICAgdGhhdCBvdmVycmlkZSB0aGVzZSBtZXRob2RzIGFuZCByZXBsYWNlIHRo
ZSBgZGF0YVNvdXJjZWAgYW5kIGBkZWxlZ2F0ZWAgcHJvcGVydGllcyBvbiBgUUxQcmV2aWV3UGFu
ZWxgLiBUaGUgZW5kCisgICAgICAgIHJlc3VsdCBpcyB0aGF0IGBXZWJQYWdlUHJveHlgIGVuZHMg
dXAgaW4gYW4gdW5leHBlY3RlZCBzdGF0ZSB3aGVyZSBgV0tJbWFnZUV4dHJhY3Rpb25QcmV2aWV3
Q29udHJvbGxlcmAgaGFzIGJlZW4KKyAgICAgICAgY3JlYXRlZCwgYnV0IHdpbGwgbmV2ZXIgYmUg
ZGVzdHJveWVkICh1bnRpbCB0aGUgd2ViIHZpZXcgaXRzZWxmIGlzIGRlc3Ryb3llZCkgYmVjYXVz
ZSB3ZSdyZSBubyBsb25nZXIgdGhlCisgICAgICAgIGRlbGVnYXRlIGZvciB0aGUgc2hhcmVkIGBR
TFByZXZpZXdQYW5lbGAsIGFuZCB0aGVyZWZvcmUgd29uJ3QgcmVjZWl2ZSB0aGUgdGVhcmRvd24g
bWVzc2FnZSB3aGVuIHRoZSBwcmV2aWV3CisgICAgICAgIHdpbmRvdyBpcyBkaXNtaXNzZWQuCisK
KyAgICAgICAgVG8gYWRkcmVzcyB0aGlzLCB3ZSByZWZhY3RvciB0aGlzIGxvZ2ljIHNvIHRoYXQg
YFdLV2ViVmlld2AgKG9yIGBXS1ZpZXdgLCBpZiBhcHBsaWNhYmxlKSBpcyBjYXBhYmxlIG9mIGFj
Y2VwdGluZworICAgICAgICBwcmV2aWV3IHBhbmVsIGNvbnRyb2wuIFNlZSBiZWxvdyBmb3IgbW9y
ZSBkZXRhaWxzLgorCisgICAgICAgICogU291cmNlc0NvY29hLnR4dDoKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQVBJL21hYy9XS1ZpZXcubW06CisgICAgICAgICgtW1dLVmlldyBhY2NlcHRzUHJldmll
d1BhbmVsQ29udHJvbDpdKToKKyAgICAgICAgKC1bV0tWaWV3IGJlZ2luUHJldmlld1BhbmVsQ29u
dHJvbDpdKToKKyAgICAgICAgKC1bV0tWaWV3IGVuZFByZXZpZXdQYW5lbENvbnRyb2w6XSk6CisK
KyAgICAgICAgSW1wbGVtZW50IGBRTFByZXZpZXdQYW5lbENvbnRyb2xsZXJgIGhvb2tzIG9uIGBX
S1ZpZXdgLCBhbmQgcGx1bWIgZGlyZWN0bHkgaW50byBgV2ViVmlld0ltcGxgLgorCisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9tYWMvV0tXZWJWaWV3TWFjLm1tOgorICAgICAgICAoLVtXS1dlYlZp
ZXcgYWNjZXB0c1ByZXZpZXdQYW5lbENvbnRyb2w6XSk6CisgICAgICAgICgtW1dLV2ViVmlldyBi
ZWdpblByZXZpZXdQYW5lbENvbnRyb2w6XSk6CisgICAgICAgICgtW1dLV2ViVmlldyBlbmRQcmV2
aWV3UGFuZWxDb250cm9sOl0pOgorCisgICAgICAgIEltcGxlbWVudCBgUUxQcmV2aWV3UGFuZWxD
b250cm9sbGVyYCBob29rcyBvbiBgV0tXZWJWaWV3YCwgYW5kIHBsdW1iIGRpcmVjdGx5IGludG8g
YFdlYlZpZXdJbXBsYC4KKworICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5o
OgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5tbToKKyAgICAgICAgKFdl
YktpdDo6V2ViVmlld0ltcGw6OmFjY2VwdHNQcmV2aWV3UGFuZWxDb250cm9sKToKKworICAgICAg
ICBPbmx5IGFjY2VwdCBjb250cm9sIG9mIHRoZSBwcmV2aWV3IHBhbmVsIGlmIHdlIGhhdmUgYW4g
YWN0aXZlIGltYWdlIGV4dHJhY3Rpb24gcHJldmlldyBjb250cm9sbGVyLgorCisgICAgICAgIChX
ZWJLaXQ6OldlYlZpZXdJbXBsOjpiZWdpblByZXZpZXdQYW5lbENvbnRyb2wpOgorICAgICAgICAo
V2ViS2l0OjpXZWJWaWV3SW1wbDo6ZW5kUHJldmlld1BhbmVsQ29udHJvbCk6CisKKyAgICAgICAg
V2hlbiBiZWdpbm5pbmcgdG8gdGFrZSBjb250cm9sIChhbmQgcmVsaW5xdWlzaGluZyBjb250cm9s
KSBvZiB0aGUgcHJldmlldyBwYW5lbCwgcmVzcGVjdGl2ZWx5IHNldCBhbmQgdW5zZXQgdGhlCisg
ICAgICAgIGBkYXRhU291cmNlYCBhbmQgYGRlbGVnYXRlYCBwcm9wZXJ0aWVzIHRvIHRoZSBhY3Rp
dmUgaW1hZ2UgZXh0cmFjdGlvbiBwcmV2aWV3IGNvbnRyb2xsZXIuCisKKyAgICAgICAgKiBVSVBy
b2Nlc3MvbWFjL1dLSW1hZ2VFeHRyYWN0aW9uUHJldmlld0NvbnRyb2xsZXIuaDogQWRkZWQuCisg
ICAgICAgICogVUlQcm9jZXNzL21hYy9XS0ltYWdlRXh0cmFjdGlvblByZXZpZXdDb250cm9sbGVy
Lm1tOiBBZGRlZC4KKyAgICAgICAgKC1bV0tJbWFnZUV4dHJhY3Rpb25QcmV2aWV3SXRlbSBpbml0
V2l0aFVSTDp0aXRsZTpdKToKKyAgICAgICAgKC1bV0tJbWFnZUV4dHJhY3Rpb25QcmV2aWV3SXRl
bSBkZWFsbG9jXSk6CisgICAgICAgICgtW1dLSW1hZ2VFeHRyYWN0aW9uUHJldmlld0l0ZW0gcHJl
dmlld0l0ZW1VUkxdKToKKyAgICAgICAgKC1bV0tJbWFnZUV4dHJhY3Rpb25QcmV2aWV3SXRlbSBw
cmV2aWV3SXRlbVRpdGxlXSk6CisgICAgICAgICgtW1dLSW1hZ2VFeHRyYWN0aW9uUHJldmlld0Nv
bnRyb2xsZXIgaW5pdFdpdGhQYWdlOnVybDp0aXRsZTpdKToKKyAgICAgICAgKC1bV0tJbWFnZUV4
dHJhY3Rpb25QcmV2aWV3Q29udHJvbGxlciBudW1iZXJPZlByZXZpZXdJdGVtc0luUHJldmlld1Bh
bmVsOl0pOgorICAgICAgICAoLVtXS0ltYWdlRXh0cmFjdGlvblByZXZpZXdDb250cm9sbGVyIHBy
ZXZpZXdQYW5lbDpwcmV2aWV3SXRlbUF0SW5kZXg6XSk6CisKKyAgICAgICAgUGFydGlhbGx5IHVw
c3RyZWFtIGBfV0tJbWFnZUV4dHJhY3Rpb25QcmV2aWV3Q29udHJvbGxlcmAgdG8gT3BlblNvdXJj
ZSwgYXMgYFdLSW1hZ2VFeHRyYWN0aW9uUHJldmlld0NvbnRyb2xsZXJgCisgICAgICAgICh0aGUg
dW5kZXJzY29yZSBpcyB1bm5lY2Vzc2FyeSBiZWNhdXNlIHRoaXMgb2JqZWN0IGlzIG5vdCBTUEkt
IG9yIEFQSS1leHBvc2VkKS4gQWRkaXRpb25hbGx5LCBtb3ZlIGl0IG91dCBpbnRvCisgICAgICAg
IGl0cyBvd24gaGVhZGVyIGFuZCBzb3VyY2UsIHNvIHRoYXQgaXQgY2FuIGJlIGltcG9ydGVkIGVs
c2V3aGVyZS4KKworICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgor
CiAyMDIxLTA0LTEzICBDb21taXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KIAog
ICAgICAgICBVbnJldmlld2VkLCByZXZlcnRpbmcgcjI3NTg4OS4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dCBiL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4
dAppbmRleCAwYzMyNWI2MDMwMGM1NTlhYmI1ODBhNzViMDRhNDE5NGYwNDk5Njc5Li5mNjI2ZDNm
NmFjMWM2NDI0MzlmZDRkOTIyNDJkNDAzMTY0MWUxODMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1NvdXJjZXNDb2NvYS50eHQKKysrIGIvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0
CkBAIC01MjIsNiArNTIyLDcgQEAgVUlQcm9jZXNzL21hYy9XZWJQb3B1cE1lbnVQcm94eU1hYy5t
bQogVUlQcm9jZXNzL21hYy9XZWJQcm9jZXNzUHJveHlNYWMubW0KIFVJUHJvY2Vzcy9tYWMvV2lu
ZG93U2VydmVyQ29ubmVjdGlvbi5tbQogVUlQcm9jZXNzL21hYy9XS0Z1bGxTY3JlZW5XaW5kb3dD
b250cm9sbGVyLm1tCitVSVByb2Nlc3MvbWFjL1dLSW1hZ2VFeHRyYWN0aW9uUHJldmlld0NvbnRy
b2xsZXIubW0KIFVJUHJvY2Vzcy9tYWMvV0tJbW1lZGlhdGVBY3Rpb25Db250cm9sbGVyLm1tCiBV
SVByb2Nlc3MvbWFjL1dLUHJpbnRpbmdWaWV3Lm1tCiBVSVByb2Nlc3MvbWFjL1dLU2hhcmluZ1Nl
cnZpY2VQaWNrZXJEZWxlZ2F0ZS5tbQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL21hYy9XS1ZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvbWFjL1dL
Vmlldy5tbQppbmRleCA0Njk0NmUwYzI3MmIyMDQ1MGM4M2YyODRmOWEyMzdiZjhiYWYwMmYzLi5l
OWQ0NWE4OThiZjI5NmZmOWMyYzdkNzIwNjcwZmQxNmFjZTBkNTdjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvbWFjL1dLVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvbWFjL1dLVmlldy5tbQpAQCAtMTY5NCw2ICsxNjk0LDIxIEBAIC0gKEJP
T0wpX3VzZVN5c3RlbUFwcGVhcmFuY2UKICAgICByZXR1cm4gX2RhdGEtPl9pbXBsLT51c2VTeXN0
ZW1BcHBlYXJhbmNlKCk7CiB9CiAKKy0gKEJPT0wpYWNjZXB0c1ByZXZpZXdQYW5lbENvbnRyb2w6
KFFMUHJldmlld1BhbmVsICopcGFuZWwKK3sKKyAgICByZXR1cm4gX2RhdGEtPl9pbXBsLT5hY2Nl
cHRzUHJldmlld1BhbmVsQ29udHJvbChwYW5lbCk7Cit9CisKKy0gKHZvaWQpYmVnaW5QcmV2aWV3
UGFuZWxDb250cm9sOihRTFByZXZpZXdQYW5lbCAqKXBhbmVsCit7CisgICAgX2RhdGEtPl9pbXBs
LT5iZWdpblByZXZpZXdQYW5lbENvbnRyb2wocGFuZWwpOworfQorCistICh2b2lkKWVuZFByZXZp
ZXdQYW5lbENvbnRyb2w6KFFMUHJldmlld1BhbmVsICopcGFuZWwKK3sKKyAgICBfZGF0YS0+X2lt
cGwtPmVuZFByZXZpZXdQYW5lbENvbnRyb2wocGFuZWwpOworfQorCiBAZW5kCiBBTExPV19ERVBS
RUNBVEVEX0RFQ0xBUkFUSU9OU19FTkQKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL21hYy9XS1dlYlZpZXdNYWMubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvbWFjL1dLV2ViVmlld01hYy5tbQppbmRleCBlZDk0NDUzOTE2ZWY0MzM4YjBiNDYyZDdlYTk0
ODFmMTg0YTNiNDQxLi4xZDE2MWYxNzQ4ZmEzMTg1Zjk0NTlkNDA3OTA4Y2ZiZjk3ODM3ZWNlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvbWFjL1dLV2ViVmlld01hYy5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvbWFjL1dLV2ViVmlld01hYy5tbQpA
QCAtMTIyMyw2ICsxMjIzLDIzIEBAIC0gKHZvaWQpc2Nyb2xsVmlld0NvbnRlbnRJbnNldHNEaWRD
aGFuZ2U6KE5TU2Nyb2xsVmlldyAqKXNjcm9sbFZpZXcKICAgICAvLyBPbmx5IGNhbGxlZCB3aXRo
IFVJLXNpZGUgY29tcG9zaXRpbmcuCiB9CiAKKyNwcmFnbWEgbWFyayAtIFFMUHJldmlld1BhbmVs
Q29udHJvbGxlcgorCistIChCT09MKWFjY2VwdHNQcmV2aWV3UGFuZWxDb250cm9sOihRTFByZXZp
ZXdQYW5lbCAqKXBhbmVsCit7CisgICAgcmV0dXJuIF9pbXBsLT5hY2NlcHRzUHJldmlld1BhbmVs
Q29udHJvbChwYW5lbCk7Cit9CisKKy0gKHZvaWQpYmVnaW5QcmV2aWV3UGFuZWxDb250cm9sOihR
TFByZXZpZXdQYW5lbCAqKXBhbmVsCit7CisgICAgX2ltcGwtPmJlZ2luUHJldmlld1BhbmVsQ29u
dHJvbChwYW5lbCk7Cit9CisKKy0gKHZvaWQpZW5kUHJldmlld1BhbmVsQ29udHJvbDooUUxQcmV2
aWV3UGFuZWwgKilwYW5lbAoreworICAgIF9pbXBsLT5lbmRQcmV2aWV3UGFuZWxDb250cm9sKHBh
bmVsKTsKK30KKwogI3ByYWdtYSBtYXJrIC0KIAogLSAodm9pZClfc2V0dXBTY3JvbGxBbmRDb250
ZW50Vmlld3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZp
ZXdJbXBsLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5oCmlu
ZGV4IDc0OGIyNzQ1MWFhZjdkN2VlY2MyYzE4MDk5Nzg2YTY3OTI4YmM1MTkuLmQ2OTlhZDcwNzM5
NzRmYmM4MjliNzFmYzdkYTlmNTM3MmUwNmY0ZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQ29jb2EvV2ViVmlld0ltcGwuaApAQCAtNTQsNiArNTQsNyBAQCBPQkpDX0NMQVNTIE5TSW1t
ZWRpYXRlQWN0aW9uR2VzdHVyZVJlY29nbml6ZXI7CiBPQkpDX0NMQVNTIE5TTWVudTsKIE9CSkNf
Q0xBU1MgTlNUZXh0SW5wdXRDb250ZXh0OwogT0JKQ19DTEFTUyBOU1ZpZXc7CitPQkpDX0NMQVNT
IFFMUHJldmlld1BhbmVsOwogT0JKQ19DTEFTUyBXS0FjY2Vzc2liaWxpdHlTZXR0aW5nc09ic2Vy
dmVyOwogT0JKQ19DTEFTUyBXS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXI7CiBPQkpDX0NMQVNT
IFdLRE9NUGFzdGVNZW51RGVsZWdhdGU7CkBAIC01OTAsNiArNTkxLDEwIEBAIHB1YmxpYzoKICAg
ICB2b2lkIGNvbXB1dGVDYW5SZXZlYWxJbWFnZShjb25zdCBVUkwmIGltYWdlVVJMLCBTaGFyZWFi
bGVCaXRtYXAmIGltYWdlQml0bWFwLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmKTsK
ICNlbmRpZgogCisgICAgYm9vbCBhY2NlcHRzUHJldmlld1BhbmVsQ29udHJvbChRTFByZXZpZXdQ
YW5lbCAqKTsKKyAgICB2b2lkIGJlZ2luUHJldmlld1BhbmVsQ29udHJvbChRTFByZXZpZXdQYW5l
bCAqKTsKKyAgICB2b2lkIGVuZFByZXZpZXdQYW5lbENvbnRyb2woUUxQcmV2aWV3UGFuZWwgKik7
CisKICAgICBib29sIHdpbmRvd0lzRnJvbnRXaW5kb3dVbmRlck1vdXNlKE5TRXZlbnQgKik7CiAK
ICAgICB2b2lkIHNldFJlcXVpcmVzVXNlckFjdGlvbkZvckVkaXRpbmdDb250cm9sc01hbmFnZXIo
Ym9vbCByZXF1aXJlc1VzZXJBY3Rpb25Gb3JFZGl0aW5nQ29udHJvbHNNYW5hZ2VyKSB7IG1fcmVx
dWlyZXNVc2VyQWN0aW9uRm9yRWRpdGluZ0NvbnRyb2xzTWFuYWdlciA9IHJlcXVpcmVzVXNlckFj
dGlvbkZvckVkaXRpbmdDb250cm9sc01hbmFnZXI7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQ29jb2EvV2ViVmlld0ltcGwubW0KaW5kZXggODdiYWQyYjRjNDBhODM2YzEzNGZmYTc0YjA2
ODA3ZWNjYzI0NzBkOC4uYTQxODQzZWEyMDA3ZjBjNjU2YzYwNWE5OGUzODVhNzRhMzgwZjAzYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW0K
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW0KQEAgLTYx
LDYgKzYxLDcgQEAKICNpbXBvcnQgIldLRWRpdENvbW1hbmQuaCIKICNpbXBvcnQgIldLRXJyb3JJ
bnRlcm5hbC5oIgogI2ltcG9ydCAiV0tGdWxsU2NyZWVuV2luZG93Q29udHJvbGxlci5oIgorI2lt
cG9ydCAiV0tJbWFnZUV4dHJhY3Rpb25QcmV2aWV3Q29udHJvbGxlci5oIgogI2ltcG9ydCAiV0tJ
bW1lZGlhdGVBY3Rpb25Db250cm9sbGVyLmgiCiAjaW1wb3J0ICJXS05TVVJMRXh0cmFzLmgiCiAj
aW1wb3J0ICJXS1BERkhVRFZpZXcuaCIKQEAgLTk0LDYgKzk1LDcgQEAKICNpbXBvcnQgPFdlYkNv
cmUvRWRpdG9yLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0ZvbnRBdHRyaWJ1dGVDaGFuZ2VzLmg+CiAj
aW1wb3J0IDxXZWJDb3JlL0ZvbnRBdHRyaWJ1dGVzLmg+CisjaW1wb3J0IDxXZWJDb3JlL0ltYWdl
RXh0cmFjdGlvblJlc3VsdC5oPgogI2ltcG9ydCA8V2ViQ29yZS9LZXlwcmVzc0NvbW1hbmQuaD4K
ICNpbXBvcnQgPFdlYkNvcmUvTGVnYWN5TlNQYXN0ZWJvYXJkVHlwZXMuaD4KICNpbXBvcnQgPFdl
YkNvcmUvTG9hZGVyTlNVUkxFeHRyYXMuaD4KQEAgLTEzNSwxMCArMTM3LDYgQEAKICNpbXBvcnQg
PHd0Zi9jb2NvYS9WZWN0b3JDb2NvYS5oPgogI2ltcG9ydCA8d3RmL3RleHQvU3RyaW5nQ29uY2F0
ZW5hdGUuaD4KIAotI2lmIEVOQUJMRShJTUFHRV9FWFRSQUNUSU9OKQotI2ltcG9ydCA8V2ViQ29y
ZS9JbWFnZUV4dHJhY3Rpb25SZXN1bHQuaD4KLSNlbmRpZgotCiAjaWYgRU5BQkxFKE1FRElBX1NF
U1NJT05fQ09PUkRJTkFUT1IpCiAjaW5jbHVkZSA8V2ViS2l0L01lZGlhU2Vzc2lvbkNvb3JkaW5h
dG9yUHJveHlQcml2YXRlLmg+CiAjZW5kaWYKQEAgLTU2MzQsNiArNTYzMiw0OCBAQCB2b2lkIFdl
YlZpZXdJbXBsOjpoYW5kbGVDb250ZXh0TWVudVRyYW5zbGF0aW9uKGNvbnN0IFN0cmluZyYgdGV4
dCwgY29uc3QgSW50UmVjdAogCiAjZW5kaWYgLy8gSEFWRShUUkFOU0xBVElPTl9VSV9TRVJWSUNF
UykgJiYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCiAKK2Jvb2wgV2ViVmlld0ltcGw6OmFjY2VwdHNQ
cmV2aWV3UGFuZWxDb250cm9sKFFMUHJldmlld1BhbmVsICopCit7CisjaWYgRU5BQkxFKElNQUdF
X0VYVFJBQ1RJT04pCisgICAgcmV0dXJuICEhbV9wYWdlLT5pbWFnZUV4dHJhY3Rpb25QcmV2aWV3
Q29udHJvbGxlcigpOworI2Vsc2UKKyAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYKK30KKwordm9p
ZCBXZWJWaWV3SW1wbDo6YmVnaW5QcmV2aWV3UGFuZWxDb250cm9sKFFMUHJldmlld1BhbmVsICpw
YW5lbCkKK3sKKyNpZiBFTkFCTEUoSU1BR0VfRVhUUkFDVElPTikKKyAgICBhdXRvIGNvbnRyb2xs
ZXIgPSBtX3BhZ2UtPmltYWdlRXh0cmFjdGlvblByZXZpZXdDb250cm9sbGVyKCk7CisgICAgaWYg
KCFjb250cm9sbGVyKQorICAgICAgICByZXR1cm47CisKKyAgICBwYW5lbC5kYXRhU291cmNlID0g
Y29udHJvbGxlcjsKKyAgICBwYW5lbC5kZWxlZ2F0ZSA9IGNvbnRyb2xsZXI7CisjZWxzZQorICAg
IFVOVVNFRF9QQVJBTShwYW5lbCk7CisjZW5kaWYKK30KKwordm9pZCBXZWJWaWV3SW1wbDo6ZW5k
UHJldmlld1BhbmVsQ29udHJvbChRTFByZXZpZXdQYW5lbCAqcGFuZWwpCit7CisjaWYgRU5BQkxF
KElNQUdFX0VYVFJBQ1RJT04pCisgICAgYXV0byBjb250cm9sbGVyID0gbV9wYWdlLT5pbWFnZUV4
dHJhY3Rpb25QcmV2aWV3Q29udHJvbGxlcigpOworICAgIGlmICghY29udHJvbGxlcikKKyAgICAg
ICAgcmV0dXJuOworCisgICAgaWYgKHBhbmVsLmRhdGFTb3VyY2UgPT0gY29udHJvbGxlcikKKyAg
ICAgICAgcGFuZWwuZGF0YVNvdXJjZSA9IG5pbDsKKworICAgIGlmIChwYW5lbC5kZWxlZ2F0ZSA9
PSBjb250cm9sbGVyKQorICAgICAgICBwYW5lbC5kZWxlZ2F0ZSA9IG5pbDsKKworICAgIG1fcGFn
ZS0+cmVzZXRJbWFnZUV4dHJhY3Rpb25QcmV2aWV3KCk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJB
TShwYW5lbCk7CisjZW5kaWYKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICNlbmRpZiAv
LyBQTEFURk9STShNQUMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMv
V0tJbWFnZUV4dHJhY3Rpb25QcmV2aWV3Q29udHJvbGxlci5oIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvbWFjL1dLSW1hZ2VFeHRyYWN0aW9uUHJldmlld0NvbnRyb2xsZXIuaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li42YjQwNWMxZWJhZDQ0NWU2NzdhNzVjNTZkYWM5MTEzZjg0ZTYzNWMyCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1dLSW1hZ2VFeHRyYWN0aW9uUHJldmll
d0NvbnRyb2xsZXIuaApAQCAtMCwwICsxLDQ0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIx
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
CisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNl
CisKKyNpZiBQTEFURk9STShNQUMpICYmIEVOQUJMRShJTUFHRV9FWFRSQUNUSU9OKQorCisjaW1w
b3J0IDxwYWwvc3BpL21hYy9RdWlja0xvb2tNYWNTUEkuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7
CitjbGFzcyBXZWJQYWdlUHJveHk7Cit9CisKK0BpbnRlcmZhY2UgV0tJbWFnZUV4dHJhY3Rpb25Q
cmV2aWV3SXRlbSA6IE5TT2JqZWN0IDxRTFByZXZpZXdJdGVtPgorLSAoaW5zdGFuY2V0eXBlKWlu
aXRXaXRoVVJMOihOU1VSTCAqKXVybCB0aXRsZTooTlNTdHJpbmcgKil0aXRsZTsKK0BlbmQKKwor
QGludGVyZmFjZSBXS0ltYWdlRXh0cmFjdGlvblByZXZpZXdDb250cm9sbGVyIDogTlNPYmplY3Qg
PFFMUHJldmlld1BhbmVsRGVsZWdhdGUsIFFMUHJldmlld1BhbmVsRGF0YVNvdXJjZT4KKy0gKGlu
c3RhbmNldHlwZSlpbml0V2l0aFBhZ2U6KFdlYktpdDo6V2ViUGFnZVByb3h5JilwYWdlIHVybDoo
TlNVUkwgKil1cmwgdGl0bGU6KE5TU3RyaW5nICopdGl0bGU7CitAZW5kCisKKyNlbmRpZiAvLyBQ
TEFURk9STShNQUMpICYmIEVOQUJMRShJTUFHRV9FWFRSQUNUSU9OKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1dLSW1hZ2VFeHRyYWN0aW9uUHJldmlld0NvbnRyb2xs
ZXIubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvV0tJbWFnZUV4dHJhY3Rpb25QcmV2
aWV3Q29udHJvbGxlci5tbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MWNhNjU5YjY3NGM5MzU5ZjlhMTgxNzkzZDE5
NzA2YWE0MDQ4NTlmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
bWFjL1dLSW1hZ2VFeHRyYWN0aW9uUHJldmlld0NvbnRyb2xsZXIubW0KQEAgLTAsMCArMSwxMDgg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaW1wb3J0ICJjb25maWcuaCIKKyNpbXBvcnQgIldLSW1hZ2VFeHRy
YWN0aW9uUHJldmlld0NvbnRyb2xsZXIuaCIKKworI2lmIEVOQUJMRShJTUFHRV9FWFRSQUNUSU9O
KSAmJiBQTEFURk9STShNQUMpCisKKyNpbXBvcnQgIldlYlBhZ2VQcm94eS5oIgorI2ltcG9ydCA8
d3RmL0ZpbGVTeXN0ZW0uaD4KKyNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KKyNpbXBvcnQgPHd0
Zi9XZWFrUHRyLmg+CisKK0BpbXBsZW1lbnRhdGlvbiBXS0ltYWdlRXh0cmFjdGlvblByZXZpZXdJ
dGVtIHsKKyAgICBSZXRhaW5QdHI8TlNVUkw+IF91cmw7CisgICAgUmV0YWluUHRyPE5TU3RyaW5n
PiBfdGl0bGU7Cit9CisKKy0gKGluc3RhbmNldHlwZSlpbml0V2l0aFVSTDooTlNVUkwgKil1cmwg
dGl0bGU6KE5TU3RyaW5nICopdGl0bGUKK3sKKyAgICBpZiAoIShzZWxmID0gW3N1cGVyIGluaXRd
KSkKKyAgICAgICAgcmV0dXJuIG5pbDsKKworICAgIF91cmwgPSB1cmw7CisgICAgX3RpdGxlID0g
YWRvcHROUyhbdGl0bGUgY29weV0pOworCisgICAgcmV0dXJuIHNlbGY7Cit9CisKKy0gKHZvaWQp
ZGVhbGxvYworeworICAgIEZpbGVTeXN0ZW06OmRlbGV0ZUZpbGUoW191cmwgcGF0aF0pOworCisg
ICAgW3N1cGVyIGRlYWxsb2NdOworfQorCisjcHJhZ21hIG1hcmsgLSBRTFByZXZpZXdJdGVtCisK
Ky0gKE5TVVJMICopcHJldmlld0l0ZW1VUkwKK3sKKyAgICByZXR1cm4gX3VybC5nZXQoKTsKK30K
KworLSAoTlNTdHJpbmcgKilwcmV2aWV3SXRlbVRpdGxlCit7CisgICAgcmV0dXJuIF90aXRsZS5n
ZXQoKTsKK30KKworQGVuZAorCitAaW1wbGVtZW50YXRpb24gV0tJbWFnZUV4dHJhY3Rpb25QcmV2
aWV3Q29udHJvbGxlciB7CisgICAgV2Vha1B0cjxXZWJLaXQ6OldlYlBhZ2VQcm94eT4gX3BhZ2U7
CisgICAgUmV0YWluUHRyPFdLSW1hZ2VFeHRyYWN0aW9uUHJldmlld0l0ZW0+IF9wcmV2aWV3SXRl
bTsKK30KKworLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoUGFnZTooV2ViS2l0OjpXZWJQYWdlUHJv
eHkmKXBhZ2UgdXJsOihOU1VSTCAqKXVybCB0aXRsZTooTlNTdHJpbmcgKil0aXRsZQoreworICAg
IGlmICghKHNlbGYgPSBbc3VwZXIgaW5pdF0pKQorICAgICAgICByZXR1cm4gbmlsOworCisgICAg
X3BhZ2UgPSBtYWtlV2Vha1B0cihwYWdlKTsKKyAgICBfcHJldmlld0l0ZW0gPSBhZG9wdE5TKFtb
V0tJbWFnZUV4dHJhY3Rpb25QcmV2aWV3SXRlbSBhbGxvY10gaW5pdFdpdGhVUkw6dXJsIHRpdGxl
OnRpdGxlXSk7CisKKyAgICByZXR1cm4gc2VsZjsKK30KKworI3ByYWdtYSBtYXJrIC0gUUxQcmV2
aWV3UGFuZWxEYXRhU291cmNlCisKKy0gKE5TSW50ZWdlciludW1iZXJPZlByZXZpZXdJdGVtc0lu
UHJldmlld1BhbmVsOihRTFByZXZpZXdQYW5lbCAqKXBhbmVsCit7CisgICAgcmV0dXJuIDE7Cit9
CisKKy0gKGlkIDxRTFByZXZpZXdJdGVtPilwcmV2aWV3UGFuZWw6KFFMUHJldmlld1BhbmVsICop
cGFuZWwgcHJldmlld0l0ZW1BdEluZGV4OihOU0ludGVnZXIpaW5kZXgKK3sKKyAgICBBU1NFUlQo
IWluZGV4KTsKKyAgICByZXR1cm4gX3ByZXZpZXdJdGVtLmdldCgpOworfQorCisjaWYgVVNFKEFQ
UExFX0lOVEVSTkFMX1NESykKKyNpbXBvcnQgPFdlYktpdEFkZGl0aW9ucy9XS0ltYWdlRXh0cmFj
dGlvblByZXZpZXdDb250cm9sbGVyQWRkaXRpb25zLm1tPgorI2VuZGlmCisKK0BlbmQKKworI2Vu
ZGlmIC8vIEVOQUJMRShJTUFHRV9FWFRSQUNUSU9OKSAmJiBQTEFURk9STShNQUMpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291
cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBkZjhjNWQz
NDc4MzhjYzU4MzNiMDc3YWFiYjE4MDU5ODYyNTdhZjFlLi5jODhhODMzYjY5ZGU4MDhhZWI2ODJl
OGM0YzM3MWFjYTVjODk2YjFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKQEAgLTIwMTgsNiArMjAxOCw3IEBACiAJCUY0NjYwQkMyMjVERUYw
ODEwMEU4NjU5OCAvKiBQYXN0ZWJvYXJkQWNjZXNzSW50ZW50LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNDY2MEJDMTI1REVGMDgxMDBFODY1OTggLyog
UGFzdGVib2FyZEFjY2Vzc0ludGVudC5oICovOyB9OwogCQlGNDhEMkE4NTIxNTgzQTdFMDBDNjc1
MkIgLyogQXBwS2l0U1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBGNDhEMkE4NDIxNTgzQTAyMDBDNjc1MkIgLyogQXBwS2l0U1BJLmggKi87IH07CiAJ
CUY0OTZBNDMxMUY1OEEyNzIwMDRDMTc1NyAvKiBEcmFnRHJvcEludGVyYWN0aW9uU3RhdGUuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0OTZBNDJGMUY1
OEEyNzIwMDRDMTc1NyAvKiBEcmFnRHJvcEludGVyYWN0aW9uU3RhdGUuaCAqLzsgfTsKKwkJRjQ5
NzVDRjIyNjI0QjgwQTAwM0M2MjZFIC8qIFdLSW1hZ2VFeHRyYWN0aW9uUHJldmlld0NvbnRyb2xs
ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0OTc1
Q0YxMjYyNEI4MEEwMDNDNjI2RSAvKiBXS0ltYWdlRXh0cmFjdGlvblByZXZpZXdDb250cm9sbGVy
LmggKi87IH07CiAJCUY0QTZENkJDMjU0Q0EzRTkwMEI2NUZBQSAvKiBTaGFyZWREaXNwbGF5TGlz
dEhhbmRsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
RjRBNkQ2QkIyNTRDQTNFOTAwQjY1RkFBIC8qIFNoYXJlZERpc3BsYXlMaXN0SGFuZGxlLmggKi87
IH07CiAJCUY0QkEzM0YyMjU3NTdFODkwMDBBM0NFOCAvKiBXS0ltYWdlRXh0cmFjdGlvbkdlc3R1
cmVSZWNvZ25pemVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBGNEJBMzNGMDI1NzU3RTg5MDAwQTNDRTggLyogV0tJbWFnZUV4dHJhY3Rpb25HZXN0dXJl
UmVjb2duaXplci5oICovOyB9OwogCQlGNENCMDlFNTIyNUQ1QTA5MDA4OTE0ODcgLyogV2Vic2l0
ZU1lZGlhU291cmNlUG9saWN5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBGNENCMDlFNDIyNUQ1QTAzMDA4OTE0ODcgLyogV2Vic2l0ZU1lZGlhU291cmNl
UG9saWN5LmggKi87IH07CkBAIC01OTYwLDYgKzU5NjEsOCBAQAogCQlGNDhEMkE4NDIxNTgzQTAy
MDBDNjc1MkIgLyogQXBwS2l0U1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFwcEtpdFNQSS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNDk2QTQyRjFGNThBMjcyMDA0QzE3NTcgLyogRHJh
Z0Ryb3BJbnRlcmFjdGlvblN0YXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERyYWdEcm9wSW50ZXJhY3Rp
b25TdGF0ZS5oOyBwYXRoID0gaW9zL0RyYWdEcm9wSW50ZXJhY3Rpb25TdGF0ZS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlGNDk2QTQzMDFGNThBMjcyMDA0QzE3NTcgLyogRHJhZ0Ry
b3BJbnRlcmFjdGlvblN0YXRlLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBuYW1lID0gRHJhZ0Ryb3BJbnRl
cmFjdGlvblN0YXRlLm1tOyBwYXRoID0gaW9zL0RyYWdEcm9wSW50ZXJhY3Rpb25TdGF0ZS5tbTsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRjQ5NzVDRjEyNjI0QjgwQTAwM0M2MjZFIC8q
IFdLSW1hZ2VFeHRyYWN0aW9uUHJldmlld0NvbnRyb2xsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tJ
bWFnZUV4dHJhY3Rpb25QcmV2aWV3Q29udHJvbGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlGNDk3NUNGMzI2MjRCOTE4MDAzQzYyNkUgLyogV0tJbWFnZUV4dHJhY3Rpb25QcmV2
aWV3Q29udHJvbGxlci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdLSW1hZ2VFeHRyYWN0aW9u
UHJldmlld0NvbnRyb2xsZXIubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0QTZE
NkJCMjU0Q0EzRTkwMEI2NUZBQSAvKiBTaGFyZWREaXNwbGF5TGlzdEhhbmRsZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBTaGFyZWREaXNwbGF5TGlzdEhhbmRsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlGNEFDNjU1RTIyQTMxNDBFMDBBMDU2MDcgLyogV2ViUHJlZmVyZW5jZXNEZWZhdWx0
VmFsdWVzSU9TLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBuYW1lID0gV2Vi
UHJlZmVyZW5jZXNEZWZhdWx0VmFsdWVzSU9TLm1tOyBwYXRoID0gaW9zL1dlYlByZWZlcmVuY2Vz
RGVmYXVsdFZhbHVlc0lPUy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjRCMzc4
RDAyMUREQkJBQjAwOTVBMzc4IC8qIFdlYlVuZG9TdGVwSUQuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2Vi
VW5kb1N0ZXBJRC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTA4MTMsNiArMTA4
MTYsOCBAQAogCQkJCTg2ODE2MENGMTg3NjQ1MzcwMDIxRTc5RCAvKiBXaW5kb3dTZXJ2ZXJDb25u
ZWN0aW9uLm1tICovLAogCQkJCUNEQ0E4NUM3MTMyQUJBNEUwMEU5NjFERiAvKiBXS0Z1bGxTY3Jl
ZW5XaW5kb3dDb250cm9sbGVyLmggKi8sCiAJCQkJQ0RDQTg1QzYxMzJBQkE0RTAwRTk2MURGIC8q
IFdLRnVsbFNjcmVlbldpbmRvd0NvbnRyb2xsZXIubW0gKi8sCisJCQkJRjQ5NzVDRjEyNjI0Qjgw
QTAwM0M2MjZFIC8qIFdLSW1hZ2VFeHRyYWN0aW9uUHJldmlld0NvbnRyb2xsZXIuaCAqLywKKwkJ
CQlGNDk3NUNGMzI2MjRCOTE4MDAzQzYyNkUgLyogV0tJbWFnZUV4dHJhY3Rpb25QcmV2aWV3Q29u
dHJvbGxlci5tbSAqLywKIAkJCQk5MzIxRDU4NTFBMzhFRTNDMDA4MDUyQkUgLyogV0tJbW1lZGlh
dGVBY3Rpb25Db250cm9sbGVyLmggKi8sCiAJCQkJOTMyMUQ1ODcxQTM4RUU3NDAwODA1MkJFIC8q
IFdLSW1tZWRpYXRlQWN0aW9uQ29udHJvbGxlci5tbSAqLywKIAkJCQkwRkNCNEU1QzE4QkJFM0Q5
MDAwRkNGQzkgLyogV0tQcmludGluZ1ZpZXcuaCAqLywKQEAgLTEyNzQ4LDYgKzEyNzUzLDcgQEAK
IAkJCQlCQ0NGNkFDMzEyQzkxRjM0MDA4RjlDMzUgLyogV0tJbWFnZS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQkNDRjZBQ0ExMkM5MUY1OTAwOEY5QzM1IC8qIFdLSW1hZ2VDRy5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJRjRCQTMzRjIyNTc1N0U4OTAwMEEzQ0U4IC8qIFdLSW1hZ2VFeHRyYWN0aW9uR2Vz
dHVyZVJlY29nbml6ZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCUY0OTc1Q0YyMjYyNEI4MEEwMDND
NjI2RSAvKiBXS0ltYWdlRXh0cmFjdGlvblByZXZpZXdDb250cm9sbGVyLmggaW4gSGVhZGVycyAq
LywKIAkJCQk5MzNERjgyRTFCM0JDMDkwMDBBRUE5RTMgLyogV0tJbWFnZVByZXZpZXdWaWV3Q29u
dHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTMyMUQ1ODYxQTM4RUUzQzAwODA1MkJFIC8q
IFdLSW1tZWRpYXRlQWN0aW9uQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTMyMUQ1
OEExQTM4RjE5NjAwODA1MkJFIC8qIFdLSW1tZWRpYXRlQWN0aW9uVHlwZXMuaCBpbiBIZWFkZXJz
ICovLAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>