<?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>220958</bug_id>
          
          <creation_ts>2021-01-25 16:55:57 -0800</creation_ts>
          <short_desc>[Cocoa] Add WKWebView session restoration API</short_desc>
          <delta_ts>2021-02-22 15:19:31 -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>WebKit2</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="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>ajuma</cc>
    
    <cc>beidson</cc>
    
    <cc>ggaren</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1722350</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-01-25 16:55:57 -0800</bug_when>
    <thetext>Add WKWebView session restoration API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1722351</commentid>
    <comment_count>1</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-01-25 16:56:24 -0800</bug_when>
    <thetext>&lt;rdar://70956146&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1722539</commentid>
    <comment_count>2</comment_count>
      <attachid>418427</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-01-26 09:06:35 -0800</bug_when>
    <thetext>Created attachment 418427
WIP Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1722581</commentid>
    <comment_count>3</comment_count>
      <attachid>418441</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-01-26 10:21:35 -0800</bug_when>
    <thetext>Created attachment 418441
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1722588</commentid>
    <comment_count>4</comment_count>
      <attachid>418444</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-01-26 10:27:55 -0800</bug_when>
    <thetext>Created attachment 418444
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1722719</commentid>
    <comment_count>5</comment_count>
      <attachid>418476</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-01-26 14:12:55 -0800</bug_when>
    <thetext>Created attachment 418476
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1722768</commentid>
    <comment_count>6</comment_count>
      <attachid>418484</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-01-26 16:22:05 -0800</bug_when>
    <thetext>Created attachment 418484
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1722769</commentid>
    <comment_count>7</comment_count>
      <attachid>418485</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-01-26 16:28:56 -0800</bug_when>
    <thetext>Created attachment 418485
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1722984</commentid>
    <comment_count>8</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-01-27 07:43:56 -0800</bug_when>
    <thetext>Trying to figure out the iOS build issue..</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1723414</commentid>
    <comment_count>9</comment_count>
      <attachid>418655</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-01-28 10:32:07 -0800</bug_when>
    <thetext>Created attachment 418655
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1732168</commentid>
    <comment_count>10</comment_count>
      <attachid>421205</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-02-22 09:50:37 -0800</bug_when>
    <thetext>Created attachment 421205
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1732261</commentid>
    <comment_count>11</comment_count>
      <attachid>421227</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-02-22 12:35:31 -0800</bug_when>
    <thetext>Created attachment 421227
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1732275</commentid>
    <comment_count>12</comment_count>
      <attachid>421227</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2021-02-22 13:14:19 -0800</bug_when>
    <thetext>Comment on attachment 421227
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1732276</commentid>
    <comment_count>13</comment_count>
      <attachid>421227</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-02-22 13:19:19 -0800</bug_when>
    <thetext>Comment on attachment 421227
Patch

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

&gt; Source/WebKit/UIProcess/API/Cocoa/WKWebView.h:480
&gt; +@property (nonatomic, nullable, copy) id interactionState WK_API_AVAILABLE(macos(WK_MAC_TBA), ios(WK_IOS_TBA));

Did we consciously decide to remove &lt;NSSecureCoding&gt; ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1732283</commentid>
    <comment_count>14</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-02-22 13:30:14 -0800</bug_when>
    <thetext>(In reply to Alex Christensen from comment #13)
&gt; Comment on attachment 421227 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=421227&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/UIProcess/API/Cocoa/WKWebView.h:480
&gt; &gt; +@property (nonatomic, nullable, copy) id interactionState WK_API_AVAILABLE(macos(WK_MAC_TBA), ios(WK_IOS_TBA));
&gt; 
&gt; Did we consciously decide to remove &lt;NSSecureCoding&gt; ?

Yes. Following up on Slack.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1732328</commentid>
    <comment_count>15</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-02-22 15:19:28 -0800</bug_when>
    <thetext>Committed r273283: &lt;https://commits.webkit.org/r273283&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 421227.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>418427</attachid>
            <date>2021-01-26 09:06:35 -0800</date>
            <delta_ts>2021-01-26 10:21:33 -0800</delta_ts>
            <desc>WIP Patch</desc>
            <filename>220958_WKWebView_SessionRestorationAPI_wip.patch</filename>
            <type>text/plain</type>
            <size>14464</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dCBiL1NvdXJjZS9XZWJL
aXQvU291cmNlc0NvY29hLnR4dAppbmRleCBiODNkNzM4NjI1OTYuLjA3ZDE5MTgxZDA4ZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CisrKyBiL1NvdXJjZS9XZWJL
aXQvU291cmNlc0NvY29hLnR4dApAQCAtMzM0LDYgKzMzNCw3IEBAIFVJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tQcm9jZXNzR3JvdXAubW0KIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcm9jZXNzUG9vbC5t
bQogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1NjcmlwdE1lc3NhZ2UubW0KIFVJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tTZWN1cml0eU9yaWdpbi5tbQorVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1Nlc3Npb25T
dGF0ZS5tbQogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1NuYXBzaG90Q29uZmlndXJhdGlvbi5tbQog
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1R5cGVSZWZXcmFwcGVyLm1tCiBVSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLVVJMU2NoZW1lVGFzay5tbQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLU2Vzc2lvblN0YXRlLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQ29jb2EvV0tTZXNzaW9uU3RhdGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAuLjIwYTExNmMyZDMzYwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1Nlc3Npb25TdGF0ZS5oCkBAIC0wLDAgKzEsMzcgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaW1wb3J0IDxXZWJLaXQvV0tGb3VuZGF0aW9uLmg+CisKKyNpbXBvcnQgPEZv
dW5kYXRpb24vRm91bmRhdGlvbi5oPgorCitXS19DTEFTU19BVkFJTEFCTEUobWFjb3MoV0tfTUFD
X1RCQSksIGlvcyhXS19JT1NfVEJBKSkKK0BpbnRlcmZhY2UgV0tTZXNzaW9uU3RhdGUgOiBOU09i
amVjdAorCistIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhEYXRhOihOU0RhdGEgKilkYXRhOworCitA
cHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHksIGNvcHkpIE5TRGF0YSAqZGF0YTsKKworQGVu
ZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLU2Vzc2lv
blN0YXRlLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLU2Vzc2lvblN0
YXRlLm1tCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uMjA5ZWUxZTg4
ZmY5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29h
L1dLU2Vzc2lvblN0YXRlLm1tCkBAIC0wLDAgKzEsNjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0
ICJjb25maWcuaCIKKyNpbXBvcnQgIldLU2Vzc2lvblN0YXRlSW50ZXJuYWwuaCIKKworI2ltcG9y
dCAiU2Vzc2lvblN0YXRlQ29kaW5nLmgiCisKK0BpbXBsZW1lbnRhdGlvbiBXS1Nlc3Npb25TdGF0
ZQorCistIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhEYXRhOihOU0RhdGEgKilkYXRhCit7CisgICAg
aWYgKCEoc2VsZiA9IFtzdXBlciBpbml0XSkpCisgICAgICAgIHJldHVybiBuaWw7CisKKyAgICBp
ZiAoIVdlYktpdDo6ZGVjb2RlU2Vzc2lvblN0YXRlKGRhdGEsIF9zZXNzaW9uU3RhdGUpKSB7Cisg
ICAgICAgIFtzZWxmIHJlbGVhc2VdOworICAgICAgICByZXR1cm4gbmlsOworICAgIH0KKworICAg
IHJldHVybiBzZWxmOworfQorCistIChpbnN0YW5jZXR5cGUpX2luaXRXaXRoU2Vzc2lvblN0YXRl
OihXZWJLaXQ6OlNlc3Npb25TdGF0ZSlzZXNzaW9uU3RhdGUKK3sKKyAgICBpZiAoIShzZWxmID0g
W3N1cGVyIGluaXRdKSkKKyAgICAgICAgcmV0dXJuIG5pbDsKKworICAgIF9zZXNzaW9uU3RhdGUg
PSBXVEZNb3ZlKHNlc3Npb25TdGF0ZSk7CisKKyAgICByZXR1cm4gc2VsZjsKK30KKworLSAoTlNE
YXRhICopZGF0YQoreworICAgIHJldHVybiBXZWJLaXQ6OmVuY29kZVNlc3Npb25TdGF0ZShfc2Vz
c2lvblN0YXRlKS5hdXRvcmVsZWFzZSgpOworfQorCitAZW5kCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tTZXNzaW9uU3RhdGVJbnRlcm5hbC5oIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLU2Vzc2lvblN0YXRlSW50ZXJuYWwuaApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjhiYjU5ZmI0ZjA1NQotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1Nlc3Np
b25TdGF0ZUludGVybmFsLmgKQEAgLTAsMCArMSwzNyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQg
IldLU2Vzc2lvblN0YXRlLmgiCisKKyNpbXBvcnQgIlNlc3Npb25TdGF0ZS5oIgorCitAaW50ZXJm
YWNlIFdLU2Vzc2lvblN0YXRlICgpIHsKK0BwYWNrYWdlCisgICAgV2ViS2l0OjpTZXNzaW9uU3Rh
dGUgX3Nlc3Npb25TdGF0ZTsKK30KKworLSAoaW5zdGFuY2V0eXBlKV9pbml0V2l0aFNlc3Npb25T
dGF0ZTooV2ViS2l0OjpTZXNzaW9uU3RhdGUpc2Vzc2lvblN0YXRlOworCitAZW5kCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3LmggYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3LmgKaW5kZXggMzRiMmZjZmVl
NTM5Li5jMDhhZTZhZWIwYTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS1dlYlZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tXZWJWaWV3LmgKQEAgLTQ0LDYgKzQ0LDcgQEAgTlNfQVNTVU1FX05PTk5VTExfQkVHSU4K
IEBjbGFzcyBXS0ZyYW1lSW5mbzsKIEBjbGFzcyBXS05hdmlnYXRpb247CiBAY2xhc3MgV0tQREZD
b25maWd1cmF0aW9uOworQGNsYXNzIFdLU2Vzc2lvblN0YXRlOwogQGNsYXNzIFdLU25hcHNob3RD
b25maWd1cmF0aW9uOwogQGNsYXNzIFdLV2ViVmlld0NvbmZpZ3VyYXRpb247CiAKQEAgLTQ3Miw2
ICs0NzMsMTggQEAgVGhlIHVuaWZvcm0gdHlwZSBpZGVudGlmaWVyIGtVVFR5cGVXZWJBcmNoaXZl
IGNhbiBiZSB1c2VkIGdldCB0aGUgcmVsYXRlZCBwYXN0ZWIKICovCiBAcHJvcGVydHkgKG5vbmF0
b21pYywgbnVsbGFibGUsIGNvcHkpIE5TU3RyaW5nICptZWRpYVR5cGUgV0tfQVBJX0FWQUlMQUJM
RShtYWNvcygxMS4wKSwgaW9zKDE0LjApKTsKIAorLyogQGFic3RyYWN0IFRoZSBzZXNzaW9uIHN0
YXRlIGZvciB0aGUgV0tXZWJWaWV3CisgQGRpc2N1c3Npb24gVGhlIHNlc3Npb24gc3RhdGUgKGJh
Y2stZm9yd2FyZCBsaXN0IGFuZCBhc3NvY2lhdGVkIGluZm9ybWF0aW9uIGxpa2Ugc2Nyb2xsIHBv
c2l0aW9uKSB0byB0aGUgV0tXZWJWaWV3LCB3aGljaAorIGNhbiBiZSByZXN0b3JlIGxhdGVyIG9u
IHZpYSByZXN0b3JlU2Vzc2lvblN0YXRlLgorKi8KK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFk
b25seSkgV0tTZXNzaW9uU3RhdGUgKnNlc3Npb25TdGF0ZSBXS19BUElfQVZBSUxBQkxFKG1hY29z
KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOworCisvKiBAYWJzdHJhY3QgUmVzdG9yZXMg
dGhlIHNlc3Npb24gc3RhdGUgb2YgdGhlIFdLV2ViVmlldworIEBwYXJhbSBzZXNzaW9uU3RhdGUg
U2Vzc2lvbiBzdGF0ZSB0byBiZSByZXN0b3JlZC4KKyBAZGlzY3Vzc2lvbiBSZXN0b3JlcyB0aGUg
c2Vzc2lvbiBzdGF0ZSAoYmFjay1mb3J3YXJkIGxpc3QgYW5kIGFzc29jaWF0ZWQgaW5mb3JtYXRp
b24gbGlrZSBzY3JvbGwgcG9zaXRpb24pLgorICovCistICh2b2lkKXJlc3RvcmVTZXNzaW9uU3Rh
dGU6KFdLU2Vzc2lvblN0YXRlICopc2Vzc2lvblN0YXRlIFdLX0FQSV9BVkFJTEFCTEUobWFjb3Mo
V0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CisKICNpZiAhVEFSR0VUX09TX0lQSE9ORQog
LyogQGFic3RyYWN0IFJldHVybnMgYW4gTlNQcmludE9wZXJhdGlvbiBvYmplY3QgY29uZmlndXJl
ZCB0byBwcmludCB0aGUgY29udGVudHMgb2YgdGhpcyBXS1dlYlZpZXcKIEBwYXJhbSBwcmludElu
Zm8gVGhlIHByaW50IGluZm8gb2JqZWN0IHVzZWQgdG8gY29uZmlndXJlIHRoZSByZXN1bHRpbmcg
cHJpbnQgb3BlcmF0aW9uLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9X
S1dlYlZpZXcubW0KaW5kZXggMTdjNmJlOTFhMjQ5Li44OWYyZWZiNTRlYTUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQpAQCAtNzQsNiArNzQs
NyBAQAogI2ltcG9ydCAiV0tQcmVmZXJlbmNlc0ludGVybmFsLmgiCiAjaW1wb3J0ICJXS1Byb2Nl
c3NQb29sSW50ZXJuYWwuaCIKICNpbXBvcnQgIldLU2FmZUJyb3dzaW5nV2FybmluZy5oIgorI2lt
cG9ydCAiV0tTZXNzaW9uU3RhdGVJbnRlcm5hbC5oIgogI2ltcG9ydCAiV0tTaGFyZWRBUElDYXN0
LmgiCiAjaW1wb3J0ICJXS1NuYXBzaG90Q29uZmlndXJhdGlvbi5oIgogI2ltcG9ydCAiV0tVSURl
bGVnYXRlLmgiCkBAIC0xMjU2LDYgKzEyNTcsMTYgQEAgLSAoTlNTdHJpbmcgKiltZWRpYVR5cGUK
ICAgICByZXR1cm4gX3BhZ2UtPm92ZXJyaWRkZW5NZWRpYVR5cGUoKS5pc051bGwoKSA/IG5pbCA6
IChOU1N0cmluZyAqKV9wYWdlLT5vdmVycmlkZGVuTWVkaWFUeXBlKCk7CiB9CiAKKy0gKFdLU2Vz
c2lvblN0YXRlICopc2Vzc2lvblN0YXRlCit7CisgICAgcmV0dXJuIFtbW1dLU2Vzc2lvblN0YXRl
IGFsbG9jXSBfaW5pdFdpdGhTZXNzaW9uU3RhdGU6X3BhZ2UtPnNlc3Npb25TdGF0ZSgpXSBhdXRv
cmVsZWFzZV07Cit9CisKKy0gKHZvaWQpcmVzdG9yZVNlc3Npb25TdGF0ZTooV0tTZXNzaW9uU3Rh
dGUgKilzZXNzaW9uU3RhdGUKK3sKKyAgICBfcGFnZS0+cmVzdG9yZUZyb21TZXNzaW9uU3RhdGUo
c2Vzc2lvblN0YXRlID8gc2Vzc2lvblN0YXRlLT5fc2Vzc2lvblN0YXRlIDogV2ViS2l0OjpTZXNz
aW9uU3RhdGUgeyB9LCBmYWxzZSk7Cit9CisKICNwcmFnbWEgbWFyayAtIGlPUyBBUEkKIAogI2lm
IFBMQVRGT1JNKElPU19GQU1JTFkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagppbmRleCBmYTAzZGM4NTE0MDAuLmJmNjA0MjI2NjI5NSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC05NjIs
NiArOTYyLDggQEAKIAkJNDY3RTQzRTgyMjQzRkY3RDAwQjEzOTI0IC8qIFdlYlByb2Nlc3NEYXRh
U3RvcmVQYXJhbWV0ZXJzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA0NjdFNDNFNzIyNDNGRjZEMDBCMTM5MjQgLyogV2ViUHJvY2Vzc0RhdGFTdG9yZVBh
cmFtZXRlcnMuaCAqLzsgfTsKIAkJNDY4MDlBN0MyM0Q5MjI1RTAwQzI5N0QwIC8qIFdlYkNvb2tp
ZUNhY2hlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
NjgwOUE3QTIzRDkyMjUzMDBDMjk3RDAgLyogV2ViQ29va2llQ2FjaGUuaCAqLzsgfTsKIAkJNDZB
MkI2MDkxRTU2NzZBNjAwQzNERURBIC8qIEJhY2tncm91bmRQcm9jZXNzUmVzcG9uc2l2ZW5lc3NU
aW1lci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDZB
MkI2MDcxRTU2NzVBMjAwQzNERURBIC8qIEJhY2tncm91bmRQcm9jZXNzUmVzcG9uc2l2ZW5lc3NU
aW1lci5oICovOyB9OworCQk0NkE2N0RDODI1QkY5RjhFMDA1NzZGRUQgLyogV0tTZXNzaW9uU3Rh
dGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2QTY3
REM1MjVCRjlGOEQwMDU3NkZFRCAvKiBXS1Nlc3Npb25TdGF0ZS5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFB1YmxpYywgKTsgfTsgfTsKKwkJNDZBNjdEQzkyNUJGOUY4RTAwNTc2RkVE
IC8qIFdLU2Vzc2lvblN0YXRlSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQ2QTY3REM2MjVCRjlGOEUwMDU3NkZFRCAvKiBXS1Nlc3Npb25T
dGF0ZUludGVybmFsLmggKi87IH07CiAJCTQ2QjA1MjQ3MjI2NjhEODUwMDI2NUI5NyAvKiBXZWJE
ZXZpY2VPcmllbnRhdGlvbkFuZE1vdGlvbkFjY2Vzc0NvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2QjA1MjQ0MjI2NjhEMjMwMDI2NUI5
NyAvKiBXZWJEZXZpY2VPcmllbnRhdGlvbkFuZE1vdGlvbkFjY2Vzc0NvbnRyb2xsZXIuaCAqLzsg
fTsKIAkJNDZCRUI2RDcyMkZCOUJENzAwMjY5ODY3IC8qIFN0b3JhZ2VBcmVhLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NkJFQjZENTIyRkI5QkQ2MDAy
Njk4NjcgLyogU3RvcmFnZUFyZWEuaCAqLzsgfTsKIAkJNDZCRUI2REIyMkZCOUQ0ODAwMjY5ODY3
IC8qIExvY2FsU3RvcmFnZU5hbWVzcGFjZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNDZCRUI2RDkyMkZCOUQ0ODAwMjY5ODY3IC8qIExvY2FsU3RvcmFn
ZU5hbWVzcGFjZS5oICovOyB9OwpAQCAtMzgxMSw2ICszODEzLDkgQEAKIAkJNDY4MzU2OUIyMUU4
MUNDNzAwNkUyN0EzIC8qIFByb3Zpc2lvbmFsUGFnZVByb3h5LmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFByb3Zpc2lvbmFsUGFnZVByb3h5LmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDZBMkI2MDYxRTU2NzVBMjAwQzNERURBIC8qIEJhY2tncm91
bmRQcm9jZXNzUmVzcG9uc2l2ZW5lc3NUaW1lci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBCYWNrZ3JvdW5kUHJvY2Vzc1Jlc3BvbnNpdmVuZXNzVGltZXIuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NkEyQjYwNzFFNTY3NUEyMDBDM0RFREEgLyog
QmFja2dyb3VuZFByb2Nlc3NSZXNwb25zaXZlbmVzc1RpbWVyLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEJhY2tncm91bmRQcm9jZXNzUmVzcG9uc2l2ZW5lc3NUaW1lci5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0NkE2N0RDNTI1QkY5RjhEMDA1NzZGRUQgLyog
V0tTZXNzaW9uU3RhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tTZXNz
aW9uU3RhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDZBNjdEQzYyNUJGOUY4
RTAwNTc2RkVEIC8qIFdLU2Vzc2lvblN0YXRlSW50ZXJuYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gV0tTZXNzaW9uU3RhdGVJbnRlcm5hbC5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk0NkE2N0RDNzI1QkY5RjhFMDA1NzZGRUQgLyogV0tTZXNzaW9uU3RhdGUu
bW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXS1Nlc3Npb25TdGF0
ZS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDZCMDUyNDQyMjY2OEQyMzAwMjY1
Qjk3IC8qIFdlYkRldmljZU9yaWVudGF0aW9uQW5kTW90aW9uQWNjZXNzQ29udHJvbGxlci5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJEZXZpY2VPcmllbnRhdGlvbkFuZE1v
dGlvbkFjY2Vzc0NvbnRyb2xsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDZC
MDUyNDUyMjY2OEQyNDAwMjY1Qjk3IC8qIFdlYkRldmljZU9yaWVudGF0aW9uQW5kTW90aW9uQWNj
ZXNzQ29udHJvbGxlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBX
ZWJEZXZpY2VPcmllbnRhdGlvbkFuZE1vdGlvbkFjY2Vzc0NvbnRyb2xsZXIuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk0NkJFQjZENTIyRkI5QkQ2MDAyNjk4NjcgLyogU3RvcmFn
ZUFyZWEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3RvcmFnZUFyZWEuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKQEAgLTc5NDcsNiArNzk1Miw5IEBACiAJCQkJNTFDRDFDNUYxQjM0QjlDOTAwMTQy
Q0E1IC8qIFdLU2VjdXJpdHlPcmlnaW4uaCAqLywKIAkJCQk1MUNEMUM2MDFCMzRCOUM5MDAxNDJD
QTUgLyogV0tTZWN1cml0eU9yaWdpbi5tbSAqLywKIAkJCQk1MUNEMUM2MTFCMzRCOUM5MDAxNDJD
QTUgLyogV0tTZWN1cml0eU9yaWdpbkludGVybmFsLmggKi8sCisJCQkJNDZBNjdEQzUyNUJGOUY4
RDAwNTc2RkVEIC8qIFdLU2Vzc2lvblN0YXRlLmggKi8sCisJCQkJNDZBNjdEQzcyNUJGOUY4RTAw
NTc2RkVEIC8qIFdLU2Vzc2lvblN0YXRlLm1tICovLAorCQkJCTQ2QTY3REM2MjVCRjlGOEUwMDU3
NkZFRCAvKiBXS1Nlc3Npb25TdGF0ZUludGVybmFsLmggKi8sCiAJCQkJOTNGNTQ5QjMxRTMxNzRC
NzAwMEU3MjM5IC8qIFdLU25hcHNob3RDb25maWd1cmF0aW9uLmggKi8sCiAJCQkJOTNGNTQ5QjUx
RTMxNzREQTAwMEU3MjM5IC8qIFdLU25hcHNob3RDb25maWd1cmF0aW9uLm1tICovLAogCQkJCTFB
RDg3OTA5MThCNkMzOEEwMDZDQUZENyAvKiBXS1VJRGVsZWdhdGUuaCAqLywKQEAgLTExNDQ1LDYg
KzExNDUzLDcgQEAKIAkJCQk5M0E4OEI0NjFCQzg4MjkzMDBBQkE1QzIgLyogQVBJSGl0VGVzdFJl
c3VsdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0FCNkVBNDUxRUVBQUUzODAwMDM3QjJCIC8qIEFQ
SUljb25EYXRhYmFzZUNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0E4QTlENUExRUYxMzAy
OTAwOTgwMUFFIC8qIEFQSUluamVjdGVkQnVuZGxlQnVuZGxlQ2xpZW50LmggaW4gSGVhZGVycyAq
LywKKwkJCQk0NkE2N0RDOTI1QkY5RjhFMDA1NzZGRUQgLyogV0tTZXNzaW9uU3RhdGVJbnRlcm5h
bC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0E4QTlENTgxRUYxMTlCMDAwOTgwMUFFIC8qIEFQSUlu
amVjdGVkQnVuZGxlQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkzNzc1MTIzMTFERjBERUUy
MDA4QTM1MUMgLyogQVBJSW5qZWN0ZWRCdW5kbGVFZGl0b3JDbGllbnQuaCBpbiBIZWFkZXJzICov
LAogCQkJCTM3NjkwNzlFMThGMzQwQTIwMDFERkYwNCAvKiBBUElJbmplY3RlZEJ1bmRsZUZvcm1D
bGllbnQuaCBpbiBIZWFkZXJzICovLApAQCAtMTI0NTEsNiArMTI0NjAsNyBAQAogCQkJCTFBMUIw
RUI4MThBNDI0Q0QwMDM4NDgxQSAvKiBXS05hdmlnYXRpb25SZXNwb25zZUludGVybmFsLmggaW4g
SGVhZGVycyAqLywKIAkJCQkxQUExMzIxMjE5MUQ1OTI0MDA5QzE0ODkgLyogV0tOYXZpZ2F0aW9u
UmVzcG9uc2VQcml2YXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQkyRDNBNjVERjFBN0MzQTdEMDBD
QUM2MzcgLyogV0tOYXZpZ2F0aW9uUmVzcG9uc2VSZWYuaCBpbiBIZWFkZXJzICovLAorCQkJCTQ2
QTY3REM4MjVCRjlGOEUwMDU3NkZFRCAvKiBXS1Nlc3Npb25TdGF0ZS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNTcwREFBQzYyMzAzN0Y3RjAwRThGQzA0IC8qIFdLTkZSZWFkZXJTZXNzaW9uRGVsZWdh
dGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTMxOEJFMTc5MTQ3NDNFNkYwMEE4RkJCMiAvKiBXS05v
dGlmaWNhdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzE4QkUxNzExNDc0M0RCMTAwQThGQkIy
IC8qIFdLTm90aWZpY2F0aW9uTWFuYWdlci5oIGluIEhlYWRlcnMgKi8sCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>418441</attachid>
            <date>2021-01-26 10:21:35 -0800</date>
            <delta_ts>2021-01-26 10:27:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220958-20210126102134.patch</filename>
            <type>text/plain</type>
            <size>20768</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxODg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDI4ZTZmNWMxNTFlYjBkMzE0
NWE2OWFiNjQ0OGE1M2E3ZjRiYzkxODguLjQ4NGQzZjMzZWI0MjNlNGIzOGQxMjVhYTIyMGI4ZTIw
NDUyMzNiNWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMjEtMDEtMjYgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIEFkZCBXS1dlYlZpZXcg
c2Vzc2lvbiByZXN0b3JhdGlvbiBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIyMDk1OAorICAgICAgICA8cmRhcjovLzcwOTU2MTQ2PgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBXS1dlYlZpZXcg
c2Vzc2lvbiByZXN0b3JhdGlvbiBBUEkgYmFzZWQgb24gdGhlIFNQSSB0aGF0IGFscmVhZHkgZXhp
c3RlZC4KKworICAgICAgICAqIFNvdXJjZXNDb2NvYS50eHQ6CisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1Nlc3Npb25TdGF0ZS5oOiBBZGRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL0NvY29hL1dLU2Vzc2lvblN0YXRlLm1tOiBBZGRlZC4KKyAgICAgICAgKC1bV0tTZXNzaW9u
U3RhdGUgaW5pdFdpdGhEYXRhOl0pOgorICAgICAgICAoLVtXS1Nlc3Npb25TdGF0ZSBfaW5pdFdp
dGhTZXNzaW9uU3RhdGU6XSk6CisgICAgICAgICgtW1dLU2Vzc2lvblN0YXRlIGRhdGFdKToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLU2Vzc2lvblN0YXRlSW50ZXJuYWwuaDogQWRk
ZWQuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcuaDoKKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3
IHNlc3Npb25TdGF0ZV0pOgorICAgICAgICAoLVtXS1dlYlZpZXcgcmVzdG9yZVNlc3Npb25TdGF0
ZTpdKToKKyAgICAgICAgKiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKwogMjAy
MS0wMS0yNiAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2
aWV3ZWQsIHNpbGVuY2UgZGVwcmVjYXRpb24gd2FybmluZyBmb3Igb3VyIG93biBBUEkgdG8gYWRk
cmVzcyBidWlsZCBpc3N1ZXMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2Nv
YS50eHQgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQKaW5kZXggYjgzZDczODYyNTk2
OGRmZDdlODkyM2QyZmU3ODQyYmIwNTcyZmUyZi4uMDdkMTkxODFkMDhmOTVmZDQzODcyZDhkNTY0
ZjJhYmZkZjY3ZmY5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0
CisrKyBiL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dApAQCAtMzM0LDYgKzMzNCw3IEBA
IFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcm9jZXNzR3JvdXAubW0KIFVJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tQcm9jZXNzUG9vbC5tbQogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1NjcmlwdE1lc3NhZ2Uu
bW0KIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tTZWN1cml0eU9yaWdpbi5tbQorVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS1Nlc3Npb25TdGF0ZS5tbQogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1NuYXBzaG90
Q29uZmlndXJhdGlvbi5tbQogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1R5cGVSZWZXcmFwcGVyLm1t
CiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLVVJMU2NoZW1lVGFzay5tbQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLU2Vzc2lvblN0YXRlLmggYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tTZXNzaW9uU3RhdGUuaApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
MzViN2NjYzZjZTIxNmU4NTM4MjEyZjY5OWNkMTJmZjAwNzU2NDA1Ci0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLU2Vzc2lvblN0YXRlLmgKQEAg
LTAsMCArMSwzNiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgPEZvdW5kYXRpb24vRm91bmRhdGlv
bi5oPgorI2ltcG9ydCA8V2ViS2l0L1dLRm91bmRhdGlvbi5oPgorCitXS19DTEFTU19BVkFJTEFC
TEUobWFjb3MoV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSkKK0BpbnRlcmZhY2UgV0tTZXNz
aW9uU3RhdGUgOiBOU09iamVjdAorCistIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhEYXRhOihOU0Rh
dGEgKilkYXRhOworCitAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHksIGNvcHkpIE5TRGF0
YSAqZGF0YTsKKworQGVuZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLU2Vzc2lvblN0YXRlLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLU2Vzc2lvblN0YXRlLm1tCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIwOWVlMWU4OGZmOTkzY2QxNTEwYzE1
MjA0ZTZlNDJkOTY5MTExNDgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tTZXNzaW9uU3RhdGUubW0KQEAgLTAsMCArMSw2MSBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbXBvcnQgImNvbmZpZy5oIgorI2ltcG9ydCAiV0tTZXNzaW9uU3RhdGVJbnRlcm5h
bC5oIgorCisjaW1wb3J0ICJTZXNzaW9uU3RhdGVDb2RpbmcuaCIKKworQGltcGxlbWVudGF0aW9u
IFdLU2Vzc2lvblN0YXRlCisKKy0gKGluc3RhbmNldHlwZSlpbml0V2l0aERhdGE6KE5TRGF0YSAq
KWRhdGEKK3sKKyAgICBpZiAoIShzZWxmID0gW3N1cGVyIGluaXRdKSkKKyAgICAgICAgcmV0dXJu
IG5pbDsKKworICAgIGlmICghV2ViS2l0OjpkZWNvZGVTZXNzaW9uU3RhdGUoZGF0YSwgX3Nlc3Np
b25TdGF0ZSkpIHsKKyAgICAgICAgW3NlbGYgcmVsZWFzZV07CisgICAgICAgIHJldHVybiBuaWw7
CisgICAgfQorCisgICAgcmV0dXJuIHNlbGY7Cit9CisKKy0gKGluc3RhbmNldHlwZSlfaW5pdFdp
dGhTZXNzaW9uU3RhdGU6KFdlYktpdDo6U2Vzc2lvblN0YXRlKXNlc3Npb25TdGF0ZQoreworICAg
IGlmICghKHNlbGYgPSBbc3VwZXIgaW5pdF0pKQorICAgICAgICByZXR1cm4gbmlsOworCisgICAg
X3Nlc3Npb25TdGF0ZSA9IFdURk1vdmUoc2Vzc2lvblN0YXRlKTsKKworICAgIHJldHVybiBzZWxm
OworfQorCistIChOU0RhdGEgKilkYXRhCit7CisgICAgcmV0dXJuIFdlYktpdDo6ZW5jb2RlU2Vz
c2lvblN0YXRlKF9zZXNzaW9uU3RhdGUpLmF1dG9yZWxlYXNlKCk7Cit9CisKK0BlbmQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1Nlc3Npb25TdGF0ZUlu
dGVybmFsLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tTZXNzaW9uU3Rh
dGVJbnRlcm5hbC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZlMjI4ODQ1MjNjNTliZDBlZWJjOWYyMDYwZGZkNjgw
ZTQyZjUxNzUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tTZXNzaW9uU3RhdGVJbnRlcm5hbC5oCkBAIC0wLDAgKzEsMzYgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaW1wb3J0ICJTZXNzaW9uU3RhdGUuaCIKKyNpbXBvcnQgIldLU2Vzc2lvblN0YXRlLmgi
CisKK0BpbnRlcmZhY2UgV0tTZXNzaW9uU3RhdGUgKCkgeworQHBhY2thZ2UKKyAgICBXZWJLaXQ6
OlNlc3Npb25TdGF0ZSBfc2Vzc2lvblN0YXRlOworfQorCistIChpbnN0YW5jZXR5cGUpX2luaXRX
aXRoU2Vzc2lvblN0YXRlOihXZWJLaXQ6OlNlc3Npb25TdGF0ZSlzZXNzaW9uU3RhdGU7CisKK0Bl
bmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZp
ZXcuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcuaAppbmRl
eCAzNGIyZmNmZWU1Mzk5MzllMTE3ZWZlZGQzYWQ1NDZmMmIzYjg3YzhkLi5jMDhhZTZhZWIwYTUy
YjQ1ZDkxM2Q1ZWNiOWU1OWViOGJiODhmZDAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2ViVmlldy5oCkBAIC00NCw2ICs0NCw3IEBAIE5TX0FTU1VNRV9OT05O
VUxMX0JFR0lOCiBAY2xhc3MgV0tGcmFtZUluZm87CiBAY2xhc3MgV0tOYXZpZ2F0aW9uOwogQGNs
YXNzIFdLUERGQ29uZmlndXJhdGlvbjsKK0BjbGFzcyBXS1Nlc3Npb25TdGF0ZTsKIEBjbGFzcyBX
S1NuYXBzaG90Q29uZmlndXJhdGlvbjsKIEBjbGFzcyBXS1dlYlZpZXdDb25maWd1cmF0aW9uOwog
CkBAIC00NzIsNiArNDczLDE4IEBAIFRoZSB1bmlmb3JtIHR5cGUgaWRlbnRpZmllciBrVVRUeXBl
V2ViQXJjaGl2ZSBjYW4gYmUgdXNlZCBnZXQgdGhlIHJlbGF0ZWQgcGFzdGViCiAqLwogQHByb3Bl
cnR5IChub25hdG9taWMsIG51bGxhYmxlLCBjb3B5KSBOU1N0cmluZyAqbWVkaWFUeXBlIFdLX0FQ
SV9BVkFJTEFCTEUobWFjb3MoMTEuMCksIGlvcygxNC4wKSk7CiAKKy8qIEBhYnN0cmFjdCBUaGUg
c2Vzc2lvbiBzdGF0ZSBmb3IgdGhlIFdLV2ViVmlldworIEBkaXNjdXNzaW9uIFRoZSBzZXNzaW9u
IHN0YXRlIChiYWNrLWZvcndhcmQgbGlzdCBhbmQgYXNzb2NpYXRlZCBpbmZvcm1hdGlvbiBsaWtl
IHNjcm9sbCBwb3NpdGlvbikgdG8gdGhlIFdLV2ViVmlldywgd2hpY2gKKyBjYW4gYmUgcmVzdG9y
ZSBsYXRlciBvbiB2aWEgcmVzdG9yZVNlc3Npb25TdGF0ZS4KKyovCitAcHJvcGVydHkgKG5vbmF0
b21pYywgcmVhZG9ubHkpIFdLU2Vzc2lvblN0YXRlICpzZXNzaW9uU3RhdGUgV0tfQVBJX0FWQUlM
QUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKKworLyogQGFic3RyYWN0
IFJlc3RvcmVzIHRoZSBzZXNzaW9uIHN0YXRlIG9mIHRoZSBXS1dlYlZpZXcKKyBAcGFyYW0gc2Vz
c2lvblN0YXRlIFNlc3Npb24gc3RhdGUgdG8gYmUgcmVzdG9yZWQuCisgQGRpc2N1c3Npb24gUmVz
dG9yZXMgdGhlIHNlc3Npb24gc3RhdGUgKGJhY2stZm9yd2FyZCBsaXN0IGFuZCBhc3NvY2lhdGVk
IGluZm9ybWF0aW9uIGxpa2Ugc2Nyb2xsIHBvc2l0aW9uKS4KKyAqLworLSAodm9pZClyZXN0b3Jl
U2Vzc2lvblN0YXRlOihXS1Nlc3Npb25TdGF0ZSAqKXNlc3Npb25TdGF0ZSBXS19BUElfQVZBSUxB
QkxFKG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOworCiAjaWYgIVRBUkdFVF9P
U19JUEhPTkUKIC8qIEBhYnN0cmFjdCBSZXR1cm5zIGFuIE5TUHJpbnRPcGVyYXRpb24gb2JqZWN0
IGNvbmZpZ3VyZWQgdG8gcHJpbnQgdGhlIGNvbnRlbnRzIG9mIHRoaXMgV0tXZWJWaWV3CiBAcGFy
YW0gcHJpbnRJbmZvIFRoZSBwcmludCBpbmZvIG9iamVjdCB1c2VkIHRvIGNvbmZpZ3VyZSB0aGUg
cmVzdWx0aW5nIHByaW50IG9wZXJhdGlvbi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQ29jb2EvV0tXZWJWaWV3Lm1tCmluZGV4IDE3YzZiZTkxYTI0OWJkNDE3NzAxMTQ0ZmUzMjNh
ZjU0ZGMyNmY5MzUuLjg5ZjJlZmI1NGVhNWUyOTI5MzhhMmY1YjAxNjJiMWNjNmEwYTNmZTYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0K
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQpAQCAt
NzQsNiArNzQsNyBAQAogI2ltcG9ydCAiV0tQcmVmZXJlbmNlc0ludGVybmFsLmgiCiAjaW1wb3J0
ICJXS1Byb2Nlc3NQb29sSW50ZXJuYWwuaCIKICNpbXBvcnQgIldLU2FmZUJyb3dzaW5nV2Fybmlu
Zy5oIgorI2ltcG9ydCAiV0tTZXNzaW9uU3RhdGVJbnRlcm5hbC5oIgogI2ltcG9ydCAiV0tTaGFy
ZWRBUElDYXN0LmgiCiAjaW1wb3J0ICJXS1NuYXBzaG90Q29uZmlndXJhdGlvbi5oIgogI2ltcG9y
dCAiV0tVSURlbGVnYXRlLmgiCkBAIC0xMjU2LDYgKzEyNTcsMTYgQEAgLSAoTlNTdHJpbmcgKilt
ZWRpYVR5cGUKICAgICByZXR1cm4gX3BhZ2UtPm92ZXJyaWRkZW5NZWRpYVR5cGUoKS5pc051bGwo
KSA/IG5pbCA6IChOU1N0cmluZyAqKV9wYWdlLT5vdmVycmlkZGVuTWVkaWFUeXBlKCk7CiB9CiAK
Ky0gKFdLU2Vzc2lvblN0YXRlICopc2Vzc2lvblN0YXRlCit7CisgICAgcmV0dXJuIFtbW1dLU2Vz
c2lvblN0YXRlIGFsbG9jXSBfaW5pdFdpdGhTZXNzaW9uU3RhdGU6X3BhZ2UtPnNlc3Npb25TdGF0
ZSgpXSBhdXRvcmVsZWFzZV07Cit9CisKKy0gKHZvaWQpcmVzdG9yZVNlc3Npb25TdGF0ZTooV0tT
ZXNzaW9uU3RhdGUgKilzZXNzaW9uU3RhdGUKK3sKKyAgICBfcGFnZS0+cmVzdG9yZUZyb21TZXNz
aW9uU3RhdGUoc2Vzc2lvblN0YXRlID8gc2Vzc2lvblN0YXRlLT5fc2Vzc2lvblN0YXRlIDogV2Vi
S2l0OjpTZXNzaW9uU3RhdGUgeyB9LCBmYWxzZSk7Cit9CisKICNwcmFnbWEgbWFyayAtIGlPUyBB
UEkKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktpdC9XZWJLaXQu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBmYTAzZGM4NTE0MDAzODU4MjYxNzUzZGVj
Y2Y5NTc3N2ExYWJjZWExLi4xMjAzMzI3NmE2ZTE1NDg3MGZmNDgyNTY4NzliMDM3NDRiMDBjMGYw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
QEAgLTk2Miw2ICs5NjIsOCBAQAogCQk0NjdFNDNFODIyNDNGRjdEMDBCMTM5MjQgLyogV2ViUHJv
Y2Vzc0RhdGFTdG9yZVBhcmFtZXRlcnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDQ2N0U0M0U3MjI0M0ZGNkQwMEIxMzkyNCAvKiBXZWJQcm9jZXNzRGF0
YVN0b3JlUGFyYW1ldGVycy5oICovOyB9OwogCQk0NjgwOUE3QzIzRDkyMjVFMDBDMjk3RDAgLyog
V2ViQ29va2llQ2FjaGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDQ2ODA5QTdBMjNEOTIyNTMwMEMyOTdEMCAvKiBXZWJDb29raWVDYWNoZS5oICovOyB9
OwogCQk0NkEyQjYwOTFFNTY3NkE2MDBDM0RFREEgLyogQmFja2dyb3VuZFByb2Nlc3NSZXNwb25z
aXZlbmVzc1RpbWVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA0NkEyQjYwNzFFNTY3NUEyMDBDM0RFREEgLyogQmFja2dyb3VuZFByb2Nlc3NSZXNwb25z
aXZlbmVzc1RpbWVyLmggKi87IH07CisJCTQ2QTY3REM4MjVCRjlGOEUwMDU3NkZFRCAvKiBXS1Nl
c3Npb25TdGF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDZBNjdEQzUyNUJGOUY4RDAwNTc2RkVEIC8qIFdLU2Vzc2lvblN0YXRlLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHVibGljLCApOyB9OyB9OworCQk0NkE2N0RDOTI1QkY5RjhF
MDA1NzZGRUQgLyogV0tTZXNzaW9uU3RhdGVJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDZBNjdEQzYyNUJGOUY4RTAwNTc2RkVEIC8qIFdL
U2Vzc2lvblN0YXRlSW50ZXJuYWwuaCAqLzsgfTsKIAkJNDZCMDUyNDcyMjY2OEQ4NTAwMjY1Qjk3
IC8qIFdlYkRldmljZU9yaWVudGF0aW9uQW5kTW90aW9uQWNjZXNzQ29udHJvbGxlci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDZCMDUyNDQyMjY2OEQy
MzAwMjY1Qjk3IC8qIFdlYkRldmljZU9yaWVudGF0aW9uQW5kTW90aW9uQWNjZXNzQ29udHJvbGxl
ci5oICovOyB9OwogCQk0NkJFQjZENzIyRkI5QkQ3MDAyNjk4NjcgLyogU3RvcmFnZUFyZWEuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2QkVCNkQ1MjJG
QjlCRDYwMDI2OTg2NyAvKiBTdG9yYWdlQXJlYS5oICovOyB9OwogCQk0NkJFQjZEQjIyRkI5RDQ4
MDAyNjk4NjcgLyogTG9jYWxTdG9yYWdlTmFtZXNwYWNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NkJFQjZEOTIyRkI5RDQ4MDAyNjk4NjcgLyogTG9j
YWxTdG9yYWdlTmFtZXNwYWNlLmggKi87IH07CkBAIC0zODExLDYgKzM4MTMsOSBAQAogCQk0Njgz
NTY5QjIxRTgxQ0M3MDA2RTI3QTMgLyogUHJvdmlzaW9uYWxQYWdlUHJveHkuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUHJvdmlzaW9uYWxQYWdlUHJveHkuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NkEyQjYwNjFFNTY3NUEyMDBDM0RFREEgLyog
QmFja2dyb3VuZFByb2Nlc3NSZXNwb25zaXZlbmVzc1RpbWVyLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEJhY2tncm91bmRQcm9jZXNzUmVzcG9uc2l2ZW5lc3NUaW1l
ci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2QTJCNjA3MUU1Njc1QTIwMEMz
REVEQSAvKiBCYWNrZ3JvdW5kUHJvY2Vzc1Jlc3BvbnNpdmVuZXNzVGltZXIuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQmFja2dyb3VuZFByb2Nlc3NSZXNwb25zaXZlbmVzc1Rp
bWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ2QTY3REM1MjVCRjlGOEQwMDU3
NkZFRCAvKiBXS1Nlc3Npb25TdGF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBXS1Nlc3Npb25TdGF0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0NkE2N0RD
NjI1QkY5RjhFMDA1NzZGRUQgLyogV0tTZXNzaW9uU3RhdGVJbnRlcm5hbC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBXS1Nlc3Npb25TdGF0ZUludGVybmFsLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ2QTY3REM3MjVCRjlGOEUwMDU3NkZFRCAvKiBXS1Nlc3Np
b25TdGF0ZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdLU2Vz
c2lvblN0YXRlLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NkIwNTI0NDIyNjY4
RDIzMDAyNjVCOTcgLyogV2ViRGV2aWNlT3JpZW50YXRpb25BbmRNb3Rpb25BY2Nlc3NDb250cm9s
bGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkRldmljZU9yaWVudGF0
aW9uQW5kTW90aW9uQWNjZXNzQ29udHJvbGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk0NkIwNTI0NTIyNjY4RDI0MDAyNjVCOTcgLyogV2ViRGV2aWNlT3JpZW50YXRpb25BbmRN
b3Rpb25BY2Nlc3NDb250cm9sbGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFdlYkRldmljZU9yaWVudGF0aW9uQW5kTW90aW9uQWNjZXNzQ29udHJvbGxlci5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2QkVCNkQ1MjJGQjlCRDYwMDI2OTg2NyAv
KiBTdG9yYWdlQXJlYS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTdG9yYWdlQXJlYS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwpAQCAtNzk0Nyw2ICs3OTUyLDkgQEAKIAkJCQk1MUNEMUM1RjFCMzRC
OUM5MDAxNDJDQTUgLyogV0tTZWN1cml0eU9yaWdpbi5oICovLAogCQkJCTUxQ0QxQzYwMUIzNEI5
QzkwMDE0MkNBNSAvKiBXS1NlY3VyaXR5T3JpZ2luLm1tICovLAogCQkJCTUxQ0QxQzYxMUIzNEI5
QzkwMDE0MkNBNSAvKiBXS1NlY3VyaXR5T3JpZ2luSW50ZXJuYWwuaCAqLywKKwkJCQk0NkE2N0RD
NTI1QkY5RjhEMDA1NzZGRUQgLyogV0tTZXNzaW9uU3RhdGUuaCAqLywKKwkJCQk0NkE2N0RDNzI1
QkY5RjhFMDA1NzZGRUQgLyogV0tTZXNzaW9uU3RhdGUubW0gKi8sCisJCQkJNDZBNjdEQzYyNUJG
OUY4RTAwNTc2RkVEIC8qIFdLU2Vzc2lvblN0YXRlSW50ZXJuYWwuaCAqLywKIAkJCQk5M0Y1NDlC
MzFFMzE3NEI3MDAwRTcyMzkgLyogV0tTbmFwc2hvdENvbmZpZ3VyYXRpb24uaCAqLywKIAkJCQk5
M0Y1NDlCNTFFMzE3NERBMDAwRTcyMzkgLyogV0tTbmFwc2hvdENvbmZpZ3VyYXRpb24ubW0gKi8s
CiAJCQkJMUFEODc5MDkxOEI2QzM4QTAwNkNBRkQ3IC8qIFdLVUlEZWxlZ2F0ZS5oICovLApAQCAt
MTI1NDUsNiArMTI1NTMsOCBAQAogCQkJCTUxQ0QxQzY3MUIzNEI5REYwMDE0MkNBNSAvKiBXS1Nl
Y3VyaXR5T3JpZ2luSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxQ0QxQzVFMUIzNDkz
QjQwMDE0MkNBNSAvKiBXS1NlY3VyaXR5T3JpZ2luUmVmLmggaW4gSGVhZGVycyAqLywKIAkJCQlC
QzQwNzYwNDEyNEZGMDI3MDA2OEYyMEEgLyogV0tTZXJpYWxpemVkU2NyaXB0VmFsdWUuaCBpbiBI
ZWFkZXJzICovLAorCQkJCTQ2QTY3REM4MjVCRjlGOEUwMDU3NkZFRCAvKiBXS1Nlc3Npb25TdGF0
ZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDZBNjdEQzkyNUJGOUY4RTAwNTc2RkVEIC8qIFdLU2Vz
c2lvblN0YXRlSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBREU0NkIzMTk1NEVDNjEw
MDBGNzk4NSAvKiBXS1Nlc3Npb25TdGF0ZVJlZi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNEREIz
MkIxMjRFQzJBQjAwNDhEMTNDIC8qIFdLU2hhcmVkQVBJQ2FzdC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMURCMDE5NDMyMTFDRjAwMjAwOUZCM0U4IC8qIFdLU2hhcmVTaGVldC5oIGluIEhlYWRlcnMg
Ki8sCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXgg
YjA4M2Q1MWFhMWNhMjcwOGVlYjM1YmIwN2VkMjQ5NTBiMGRlNWRmZC4uNzE5NTZhZDhiNDNmNTI4
Mjc1NzYyM2Q5YWQ4NWU5N2MxYmNmZDVlMSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisr
KyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIxLTAxLTI2ICBDaHJpcyBE
dW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBBZGQgV0tXZWJWaWV3
IHNlc3Npb24gcmVzdG9yYXRpb24gQVBJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMjA5NTgKKyAgICAgICAgPHJkYXI6Ly83MDk1NjE0Nj4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgQVBJIHRlc3Qg
Y292ZXJhZ2UuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9XS0JhY2tG
b3J3YXJkTGlzdC5tbToKKyAgICAgICAgKHRlc3RTdGF0ZVJlc3RvcmF0aW9uKToKKyAgICAgICAg
KFRFU1QpOgorCiAyMDIxLTAxLTI2ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdh
bGlhLmNvbT4KIAogICAgICAgICBbU09VUF0gU3RvcCB1c2luZyBTb3VwUmVxdWVzdCBBUEkgdG8g
bG9hZCBmaWxlcyBpbiBwcmVwYXJhdGlvbiBmb3IgbGlic291cDMKZGlmZiAtLWdpdCBhL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1dLQmFja0ZvcndhcmRMaXN0Lm1tIGIvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvV0tCYWNrRm9yd2FyZExpc3QubW0KaW5kZXggODNi
Y2ZhOTcyMDFhMDMwZWI1NzU2MDY1ZjliNWVmYWUzMzQ4YjY0Yi4uMzFiN2MwODM4N2Q3ZWI3MWU3
ZWJjNTdlOWVlNzE1MzYxOWU2MmQ0OSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXQvV0tCYWNrRm9yd2FyZExpc3QubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXQvV0tCYWNrRm9yd2FyZExpc3QubW0KQEAgLTMwLDYgKzMwLDcgQEAKIAog
I2ltcG9ydCA8V2ViS2l0L1dLQmFja0ZvcndhcmRMaXN0UHJpdmF0ZS5oPgogI2ltcG9ydCA8V2Vi
S2l0L1dLTmF2aWdhdGlvblByaXZhdGUuaD4KKyNpbXBvcnQgPFdlYktpdC9XS1Nlc3Npb25TdGF0
ZS5oPgogI2ltcG9ydCA8V2ViS2l0L1dLV2ViVmlld1ByaXZhdGUuaD4KICNpbXBvcnQgPFdlYktp
dC9fV0tTZXNzaW9uU3RhdGUuaD4KICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KQEAgLTE2Niwz
ICsxNjcsOTUgQEAgVEVTVChXS0JhY2tGb3J3YXJkTGlzdCwgV2luZG93TG9jYXRpb25Bc3luY1Bv
bGljeURlY2lzaW9uKQogICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZSk7CiAgICAg
RVhQRUNUX1NUUkVRKHdlYlZpZXcuZ2V0KCkuYmFja0ZvcndhcmRMaXN0LmN1cnJlbnRJdGVtLlVS
TC5hYnNvbHV0ZVN0cmluZy5VVEY4U3RyaW5nLCBzaW1wbGUuYWJzb2x1dGVTdHJpbmcuVVRGOFN0
cmluZyk7CiB9CisKK2VudW0gY2xhc3MgU2hvdWxkU2VyaWFsaXplU2Vzc2lvblN0YXRlIDogYm9v
bCB7IE5vLCBZZXMgfTsKK3N0YXRpYyB2b2lkIHRlc3RTdGF0ZVJlc3RvcmF0aW9uKFNob3VsZFNl
cmlhbGl6ZVNlc3Npb25TdGF0ZSBzaG91bGRTZXJpYWxpemVTZXNzaW9uU3RhdGUpCit7CisgICAg
YXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1dLV2ViVmlldyBhbGxvY10gaW5pdF0pOworCisgICAg
TlNVUkwgKnVybDEgPSBbW05TQnVuZGxlIG1haW5CdW5kbGVdIFVSTEZvclJlc291cmNlOkAic2lt
cGxlIiB3aXRoRXh0ZW5zaW9uOkAiaHRtbCIgc3ViZGlyZWN0b3J5OkAiVGVzdFdlYktpdEFQSS5y
ZXNvdXJjZXMiXTsKKyAgICBOU1VSTCAqdXJsMiA9IFtbTlNCdW5kbGUgbWFpbkJ1bmRsZV0gVVJM
Rm9yUmVzb3VyY2U6QCJzaW1wbGUyIiB3aXRoRXh0ZW5zaW9uOkAiaHRtbCIgc3ViZGlyZWN0b3J5
OkAiVGVzdFdlYktpdEFQSS5yZXNvdXJjZXMiXTsKKyAgICBOU1VSTCAqdXJsMyA9IFtbTlNCdW5k
bGUgbWFpbkJ1bmRsZV0gVVJMRm9yUmVzb3VyY2U6QCJzaW1wbGUzIiB3aXRoRXh0ZW5zaW9uOkAi
aHRtbCIgc3ViZGlyZWN0b3J5OkAiVGVzdFdlYktpdEFQSS5yZXNvdXJjZXMiXTsKKworICAgIFt3
ZWJWaWV3IGxvYWRSZXF1ZXN0OltOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6dXJsMV1dOwor
ICAgIFt3ZWJWaWV3IF90ZXN0X3dhaXRGb3JEaWRGaW5pc2hOYXZpZ2F0aW9uXTsKKworICAgIFt3
ZWJWaWV3IGxvYWRSZXF1ZXN0OltOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6dXJsMl1dOwor
ICAgIFt3ZWJWaWV3IF90ZXN0X3dhaXRGb3JEaWRGaW5pc2hOYXZpZ2F0aW9uXTsKKworICAgIFt3
ZWJWaWV3IGxvYWRSZXF1ZXN0OltOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6dXJsM11dOwor
ICAgIFt3ZWJWaWV3IF90ZXN0X3dhaXRGb3JEaWRGaW5pc2hOYXZpZ2F0aW9uXTsKKworICAgIFdL
QmFja0ZvcndhcmRMaXN0ICpsaXN0ID0gW3dlYlZpZXcgYmFja0ZvcndhcmRMaXN0XTsKKyAgICBF
WFBFQ1RfRVEoKE5TVUludGVnZXIpMiwgbGlzdC5iYWNrTGlzdC5jb3VudCk7CisgICAgRVhQRUNU
X0VRKChOU1VJbnRlZ2VyKTAsIGxpc3QuZm9yd2FyZExpc3QuY291bnQpOworICAgIEVYUEVDVF9T
VFJFUShbW2xpc3QuY3VycmVudEl0ZW0gVVJMXSBhYnNvbHV0ZVN0cmluZ10uVVRGOFN0cmluZywg
dXJsMy5hYnNvbHV0ZVN0cmluZy5VVEY4U3RyaW5nKTsKKworICAgIFJldGFpblB0cjxXS1Nlc3Np
b25TdGF0ZT4gc2Vzc2lvblN0YXRlID0gW3dlYlZpZXcgc2Vzc2lvblN0YXRlXTsKKyAgICBOU0Rh
dGEqIHNlcmlhbGl6ZWRTZXNzaW9uU3RhdGUgPSBuaWw7CisgICAgaWYgKHNob3VsZFNlcmlhbGl6
ZVNlc3Npb25TdGF0ZSA9PSBTaG91bGRTZXJpYWxpemVTZXNzaW9uU3RhdGU6OlllcykgeworICAg
ICAgICBzZXJpYWxpemVkU2Vzc2lvblN0YXRlID0gW3Nlc3Npb25TdGF0ZSBkYXRhXTsKKyAgICAg
ICAgc2Vzc2lvblN0YXRlID0gbmlsOworICAgIH0KKworICAgIHdlYlZpZXcgPSBhZG9wdE5TKFtb
V0tXZWJWaWV3IGFsbG9jXSBpbml0XSk7CisKKyAgICBpZiAoc2hvdWxkU2VyaWFsaXplU2Vzc2lv
blN0YXRlID09IFNob3VsZFNlcmlhbGl6ZVNlc3Npb25TdGF0ZTo6WWVzKSB7CisgICAgICAgIHNl
c3Npb25TdGF0ZSA9IGFkb3B0TlMoW1tXS1Nlc3Npb25TdGF0ZSBhbGxvY10gaW5pdFdpdGhEYXRh
OnNlcmlhbGl6ZWRTZXNzaW9uU3RhdGVdKTsKKyAgICAgICAgc2VyaWFsaXplZFNlc3Npb25TdGF0
ZSA9IG5pbDsKKyAgICB9CisKKyAgICBbd2ViVmlldyByZXN0b3JlU2Vzc2lvblN0YXRlOnNlc3Np
b25TdGF0ZS5nZXQoKV07CisKKyAgICBXS0JhY2tGb3J3YXJkTGlzdCAqbmV3TGlzdCA9IFt3ZWJW
aWV3IGJhY2tGb3J3YXJkTGlzdF07CisKKyAgICBFWFBFQ1RfRVEoKE5TVUludGVnZXIpMiwgbmV3
TGlzdC5iYWNrTGlzdC5jb3VudCk7CisgICAgRVhQRUNUX0VRKChOU1VJbnRlZ2VyKTAsIG5ld0xp
c3QuZm9yd2FyZExpc3QuY291bnQpOworICAgIEVYUEVDVF9TVFJFUShbW25ld0xpc3QuY3VycmVu
dEl0ZW0gVVJMXSBhYnNvbHV0ZVN0cmluZ10uVVRGOFN0cmluZywgdXJsMy5hYnNvbHV0ZVN0cmlu
Zy5VVEY4U3RyaW5nKTsKKworICAgIFt3ZWJWaWV3IHJlbG9hZF07CisgICAgW3dlYlZpZXcgX3Rl
c3Rfd2FpdEZvckRpZEZpbmlzaE5hdmlnYXRpb25dOworCisgICAgZG9uZSA9IGZhbHNlOworICAg
IFt3ZWJWaWV3IGV2YWx1YXRlSmF2YVNjcmlwdDpAImRvY3VtZW50LmJvZHkuaW5uZXJUZXh0IiBj
b21wbGV0aW9uSGFuZGxlcjpeKGlkIHJlc3VsdCwgTlNFcnJvciAqZXJyb3IpIHsKKyAgICAgICAg
RVhQRUNUX1RSVUUoIWVycm9yKTsKKyAgICAgICAgTlNTdHJpbmcqIGJvZHlUZXh0ID0gcmVzdWx0
OworICAgICAgICBFWFBFQ1RfV0tfU1RSRVEoQCJUaGlyZCBzaW1wbGUgSFRNTCBmaWxlLiIsIGJv
ZHlUZXh0KTsKKyAgICAgICAgZG9uZSA9IHRydWU7CisgICAgfV07CisgICAgVGVzdFdlYktpdEFQ
STo6VXRpbDo6cnVuKCZkb25lKTsKKworICAgIFt3ZWJWaWV3IGdvQmFja107CisgICAgW3dlYlZp
ZXcgX3Rlc3Rfd2FpdEZvckRpZEZpbmlzaE5hdmlnYXRpb25dOworCisgICAgZG9uZSA9IGZhbHNl
OworICAgIFt3ZWJWaWV3IGV2YWx1YXRlSmF2YVNjcmlwdDpAImRvY3VtZW50LmJvZHkuaW5uZXJU
ZXh0IiBjb21wbGV0aW9uSGFuZGxlcjpeKGlkIHJlc3VsdCwgTlNFcnJvciAqZXJyb3IpIHsKKyAg
ICAgICAgRVhQRUNUX1RSVUUoIWVycm9yKTsKKyAgICAgICAgTlNTdHJpbmcqIGJvZHlUZXh0ID0g
cmVzdWx0OworICAgICAgICBFWFBFQ1RfV0tfU1RSRVEoQCJTZWNvbmQgc2ltcGxlIEhUTUwgZmls
ZS4iLCBib2R5VGV4dCk7CisgICAgICAgIGRvbmUgPSB0cnVlOworICAgIH1dOworICAgIFRlc3RX
ZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZSk7CisKKyAgICBbd2ViVmlldyBnb0JhY2tdOworICAg
IFt3ZWJWaWV3IF90ZXN0X3dhaXRGb3JEaWRGaW5pc2hOYXZpZ2F0aW9uXTsKKworICAgIGRvbmUg
PSBmYWxzZTsKKyAgICBbd2ViVmlldyBldmFsdWF0ZUphdmFTY3JpcHQ6QCJkb2N1bWVudC5ib2R5
LmlubmVyVGV4dCIgY29tcGxldGlvbkhhbmRsZXI6XihpZCByZXN1bHQsIE5TRXJyb3IgKmVycm9y
KSB7CisgICAgICAgIEVYUEVDVF9UUlVFKCFlcnJvcik7CisgICAgICAgIE5TU3RyaW5nKiBib2R5
VGV4dCA9IHJlc3VsdDsKKyAgICAgICAgRVhQRUNUX1dLX1NUUkVRKEAiU2ltcGxlIEhUTUwgZmls
ZS4iLCBib2R5VGV4dCk7CisgICAgICAgIGRvbmUgPSB0cnVlOworICAgIH1dOworICAgIFRlc3RX
ZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZSk7Cit9CisKK1RFU1QoV0tCYWNrRm9yd2FyZExpc3Qs
IFNlc3Npb25TdGF0ZVJlc3RvcmF0aW9uV2l0aG91dFNlcmlhbGl6YXRpb24pCit7CisgICAgdGVz
dFN0YXRlUmVzdG9yYXRpb24oU2hvdWxkU2VyaWFsaXplU2Vzc2lvblN0YXRlOjpObyk7Cit9CisK
K1RFU1QoV0tCYWNrRm9yd2FyZExpc3QsIFNlc3Npb25TdGF0ZVJlc3RvcmF0aW9uV2l0aFNlcmlh
bGl6YXRpb24pCit7CisgICAgdGVzdFN0YXRlUmVzdG9yYXRpb24oU2hvdWxkU2VyaWFsaXplU2Vz
c2lvblN0YXRlOjpZZXMpOworfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>418444</attachid>
            <date>2021-01-26 10:27:55 -0800</date>
            <delta_ts>2021-01-26 14:12:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220958-20210126102754.patch</filename>
            <type>text/plain</type>
            <size>21054</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxODg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDI4ZTZmNWMxNTFlYjBkMzE0
NWE2OWFiNjQ0OGE1M2E3ZjRiYzkxODguLjQ4NGQzZjMzZWI0MjNlNGIzOGQxMjVhYTIyMGI4ZTIw
NDUyMzNiNWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMjEtMDEtMjYgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIEFkZCBXS1dlYlZpZXcg
c2Vzc2lvbiByZXN0b3JhdGlvbiBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIyMDk1OAorICAgICAgICA8cmRhcjovLzcwOTU2MTQ2PgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBXS1dlYlZpZXcg
c2Vzc2lvbiByZXN0b3JhdGlvbiBBUEkgYmFzZWQgb24gdGhlIFNQSSB0aGF0IGFscmVhZHkgZXhp
c3RlZC4KKworICAgICAgICAqIFNvdXJjZXNDb2NvYS50eHQ6CisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1Nlc3Npb25TdGF0ZS5oOiBBZGRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL0NvY29hL1dLU2Vzc2lvblN0YXRlLm1tOiBBZGRlZC4KKyAgICAgICAgKC1bV0tTZXNzaW9u
U3RhdGUgaW5pdFdpdGhEYXRhOl0pOgorICAgICAgICAoLVtXS1Nlc3Npb25TdGF0ZSBfaW5pdFdp
dGhTZXNzaW9uU3RhdGU6XSk6CisgICAgICAgICgtW1dLU2Vzc2lvblN0YXRlIGRhdGFdKToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLU2Vzc2lvblN0YXRlSW50ZXJuYWwuaDogQWRk
ZWQuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcuaDoKKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3
IHNlc3Npb25TdGF0ZV0pOgorICAgICAgICAoLVtXS1dlYlZpZXcgcmVzdG9yZVNlc3Npb25TdGF0
ZTpdKToKKyAgICAgICAgKiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKwogMjAy
MS0wMS0yNiAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2
aWV3ZWQsIHNpbGVuY2UgZGVwcmVjYXRpb24gd2FybmluZyBmb3Igb3VyIG93biBBUEkgdG8gYWRk
cmVzcyBidWlsZCBpc3N1ZXMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2Nv
YS50eHQgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQKaW5kZXggYjgzZDczODYyNTk2
OGRmZDdlODkyM2QyZmU3ODQyYmIwNTcyZmUyZi4uMDdkMTkxODFkMDhmOTVmZDQzODcyZDhkNTY0
ZjJhYmZkZjY3ZmY5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0
CisrKyBiL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dApAQCAtMzM0LDYgKzMzNCw3IEBA
IFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcm9jZXNzR3JvdXAubW0KIFVJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tQcm9jZXNzUG9vbC5tbQogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1NjcmlwdE1lc3NhZ2Uu
bW0KIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tTZWN1cml0eU9yaWdpbi5tbQorVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS1Nlc3Npb25TdGF0ZS5tbQogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1NuYXBzaG90
Q29uZmlndXJhdGlvbi5tbQogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1R5cGVSZWZXcmFwcGVyLm1t
CiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLVVJMU2NoZW1lVGFzay5tbQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLU2Vzc2lvblN0YXRlLmggYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tTZXNzaW9uU3RhdGUuaApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5i
ZGE5M2QwMWM0NWZhYzUwMWY4Zjk2ZmI0YjMxNzdlNmNiMjJmMmVhCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLU2Vzc2lvblN0YXRlLmgKQEAg
LTAsMCArMSwzNiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgPEZvdW5kYXRpb24vRm91bmRhdGlv
bi5oPgorI2ltcG9ydCA8V2ViS2l0L1dLRm91bmRhdGlvbi5oPgorCitXS19DTEFTU19BVkFJTEFC
TEUobWFjb3MoV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSkKK0BpbnRlcmZhY2UgV0tTZXNz
aW9uU3RhdGUgOiBOU09iamVjdAorCistIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhEYXRhOihOU0Rh
dGEgKilkYXRhOworCitAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHksIGNvcHkpIE5TRGF0
YSAqZGF0YTsKKworQGVuZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLU2Vzc2lvblN0YXRlLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLU2Vzc2lvblN0YXRlLm1tCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJlMjc0ZjUwMGM4Njk0YjIyOWUzMWY0
YzE4MjliZjZhYjA5NDVkMTIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tTZXNzaW9uU3RhdGUubW0KQEAgLTAsMCArMSw2MSBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbXBvcnQgImNvbmZpZy5oIgorI2ltcG9ydCAiV0tTZXNzaW9uU3RhdGVJbnRlcm5h
bC5oIgorCisjaW1wb3J0ICJTZXNzaW9uU3RhdGVDb2RpbmcuaCIKKworQGltcGxlbWVudGF0aW9u
IFdLU2Vzc2lvblN0YXRlCisKKy0gKGluc3RhbmNldHlwZSlpbml0V2l0aERhdGE6KE5TRGF0YSAq
KWRhdGEKK3sKKyAgICBpZiAoIShzZWxmID0gW3N1cGVyIGluaXRdKSkKKyAgICAgICAgcmV0dXJu
IG5pbDsKKworICAgIGlmICghV2ViS2l0OjpkZWNvZGVTZXNzaW9uU3RhdGUoZGF0YSwgX3Nlc3Np
b25TdGF0ZSkpIHsKKyAgICAgICAgW3NlbGYgcmVsZWFzZV07CisgICAgICAgIHJldHVybiBuaWw7
CisgICAgfQorCisgICAgcmV0dXJuIHNlbGY7Cit9CisKKy0gKGluc3RhbmNldHlwZSlfaW5pdFdp
dGhTZXNzaW9uU3RhdGU6KFdlYktpdDo6U2Vzc2lvblN0YXRlKXNlc3Npb25TdGF0ZQoreworICAg
IGlmICghKHNlbGYgPSBbc3VwZXIgaW5pdF0pKQorICAgICAgICByZXR1cm4gbmlsOworCisgICAg
X3Nlc3Npb25TdGF0ZSA9IFdURk1vdmUoc2Vzc2lvblN0YXRlKTsKKworICAgIHJldHVybiBzZWxm
OworfQorCistIChOU0RhdGEgKilkYXRhCit7CisgICAgcmV0dXJuIFdlYktpdDo6ZW5jb2RlU2Vz
c2lvblN0YXRlKF9zZXNzaW9uU3RhdGUpLmF1dG9yZWxlYXNlKCk7Cit9CisKK0BlbmQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1Nlc3Npb25TdGF0ZUlu
dGVybmFsLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tTZXNzaW9uU3Rh
dGVJbnRlcm5hbC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxYTFiMGUzYjg3ZTI0YTJkMzgxMGU1YzNiODBmYWZj
NGI3N2VkYTMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tTZXNzaW9uU3RhdGVJbnRlcm5hbC5oCkBAIC0wLDAgKzEsMzYgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaW1wb3J0ICJTZXNzaW9uU3RhdGUuaCIKKyNpbXBvcnQgIldLU2Vzc2lvblN0YXRlLmgi
CisKK0BpbnRlcmZhY2UgV0tTZXNzaW9uU3RhdGUgKCkgeworQHBhY2thZ2UKKyAgICBXZWJLaXQ6
OlNlc3Npb25TdGF0ZSBfc2Vzc2lvblN0YXRlOworfQorCistIChpbnN0YW5jZXR5cGUpX2luaXRX
aXRoU2Vzc2lvblN0YXRlOihXZWJLaXQ6OlNlc3Npb25TdGF0ZSlzZXNzaW9uU3RhdGU7CisKK0Bl
bmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZp
ZXcuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcuaAppbmRl
eCAzNGIyZmNmZWU1Mzk5MzllMTE3ZWZlZGQzYWQ1NDZmMmIzYjg3YzhkLi43MzkxMDI5ZThiZTA0
MDIxZWE0NThlZjI4ZGQ3NjFjNTI5ZjI2YjI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2ViVmlldy5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdo
dCAoQykgMjAxNC0yMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHly
aWdodCAoQykgMjAxNC0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNDQsNiArNDQsNyBAQCBOU19BU1NVTUVfTk9O
TlVMTF9CRUdJTgogQGNsYXNzIFdLRnJhbWVJbmZvOwogQGNsYXNzIFdLTmF2aWdhdGlvbjsKIEBj
bGFzcyBXS1BERkNvbmZpZ3VyYXRpb247CitAY2xhc3MgV0tTZXNzaW9uU3RhdGU7CiBAY2xhc3Mg
V0tTbmFwc2hvdENvbmZpZ3VyYXRpb247CiBAY2xhc3MgV0tXZWJWaWV3Q29uZmlndXJhdGlvbjsK
IApAQCAtNDcyLDYgKzQ3MywxOCBAQCBUaGUgdW5pZm9ybSB0eXBlIGlkZW50aWZpZXIga1VUVHlw
ZVdlYkFyY2hpdmUgY2FuIGJlIHVzZWQgZ2V0IHRoZSByZWxhdGVkIHBhc3RlYgogKi8KIEBwcm9w
ZXJ0eSAobm9uYXRvbWljLCBudWxsYWJsZSwgY29weSkgTlNTdHJpbmcgKm1lZGlhVHlwZSBXS19B
UElfQVZBSUxBQkxFKG1hY29zKDExLjApLCBpb3MoMTQuMCkpOwogCisvKiBAYWJzdHJhY3QgVGhl
IHNlc3Npb24gc3RhdGUgZm9yIHRoZSBXS1dlYlZpZXcKKyBAZGlzY3Vzc2lvbiBUaGUgc2Vzc2lv
biBzdGF0ZSAoYmFjay1mb3J3YXJkIGxpc3QgYW5kIGFzc29jaWF0ZWQgaW5mb3JtYXRpb24gbGlr
ZSBzY3JvbGwgcG9zaXRpb24pIHRvIHRoZSBXS1dlYlZpZXcsIHdoaWNoCisgY2FuIGJlIHJlc3Rv
cmUgbGF0ZXIgb24gdmlhIHJlc3RvcmVTZXNzaW9uU3RhdGUuCisqLworQHByb3BlcnR5IChub25h
dG9taWMsIHJlYWRvbmx5KSBXS1Nlc3Npb25TdGF0ZSAqc2Vzc2lvblN0YXRlIFdLX0FQSV9BVkFJ
TEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CisKKy8qIEBhYnN0cmFj
dCBSZXN0b3JlcyB0aGUgc2Vzc2lvbiBzdGF0ZSBvZiB0aGUgV0tXZWJWaWV3CisgQHBhcmFtIHNl
c3Npb25TdGF0ZSBTZXNzaW9uIHN0YXRlIHRvIGJlIHJlc3RvcmVkLgorIEBkaXNjdXNzaW9uIFJl
c3RvcmVzIHRoZSBzZXNzaW9uIHN0YXRlIChiYWNrLWZvcndhcmQgbGlzdCBhbmQgYXNzb2NpYXRl
ZCBpbmZvcm1hdGlvbiBsaWtlIHNjcm9sbCBwb3NpdGlvbikuCisgKi8KKy0gKHZvaWQpcmVzdG9y
ZVNlc3Npb25TdGF0ZTooV0tTZXNzaW9uU3RhdGUgKilzZXNzaW9uU3RhdGUgV0tfQVBJX0FWQUlM
QUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKKwogI2lmICFUQVJHRVRf
T1NfSVBIT05FCiAvKiBAYWJzdHJhY3QgUmV0dXJucyBhbiBOU1ByaW50T3BlcmF0aW9uIG9iamVj
dCBjb25maWd1cmVkIHRvIHByaW50IHRoZSBjb250ZW50cyBvZiB0aGlzIFdLV2ViVmlldwogQHBh
cmFtIHByaW50SW5mbyBUaGUgcHJpbnQgaW5mbyBvYmplY3QgdXNlZCB0byBjb25maWd1cmUgdGhl
IHJlc3VsdGluZyBwcmludCBvcGVyYXRpb24uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0NvY29hL1dLV2ViVmlldy5tbQppbmRleCAxN2M2YmU5MWEyNDliZDQxNzcwMTE0NGZlMzIz
YWY1NGRjMjZmOTM1Li44OWYyZWZiNTRlYTVlMjkyOTM4YTJmNWIwMTYyYjFjYzZhMGEzZmU2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KQEAg
LTc0LDYgKzc0LDcgQEAKICNpbXBvcnQgIldLUHJlZmVyZW5jZXNJbnRlcm5hbC5oIgogI2ltcG9y
dCAiV0tQcm9jZXNzUG9vbEludGVybmFsLmgiCiAjaW1wb3J0ICJXS1NhZmVCcm93c2luZ1dhcm5p
bmcuaCIKKyNpbXBvcnQgIldLU2Vzc2lvblN0YXRlSW50ZXJuYWwuaCIKICNpbXBvcnQgIldLU2hh
cmVkQVBJQ2FzdC5oIgogI2ltcG9ydCAiV0tTbmFwc2hvdENvbmZpZ3VyYXRpb24uaCIKICNpbXBv
cnQgIldLVUlEZWxlZ2F0ZS5oIgpAQCAtMTI1Niw2ICsxMjU3LDE2IEBAIC0gKE5TU3RyaW5nICop
bWVkaWFUeXBlCiAgICAgcmV0dXJuIF9wYWdlLT5vdmVycmlkZGVuTWVkaWFUeXBlKCkuaXNOdWxs
KCkgPyBuaWwgOiAoTlNTdHJpbmcgKilfcGFnZS0+b3ZlcnJpZGRlbk1lZGlhVHlwZSgpOwogfQog
CistIChXS1Nlc3Npb25TdGF0ZSAqKXNlc3Npb25TdGF0ZQoreworICAgIHJldHVybiBbW1tXS1Nl
c3Npb25TdGF0ZSBhbGxvY10gX2luaXRXaXRoU2Vzc2lvblN0YXRlOl9wYWdlLT5zZXNzaW9uU3Rh
dGUoKV0gYXV0b3JlbGVhc2VdOworfQorCistICh2b2lkKXJlc3RvcmVTZXNzaW9uU3RhdGU6KFdL
U2Vzc2lvblN0YXRlICopc2Vzc2lvblN0YXRlCit7CisgICAgX3BhZ2UtPnJlc3RvcmVGcm9tU2Vz
c2lvblN0YXRlKHNlc3Npb25TdGF0ZSA/IHNlc3Npb25TdGF0ZS0+X3Nlc3Npb25TdGF0ZSA6IFdl
YktpdDo6U2Vzc2lvblN0YXRlIHsgfSwgZmFsc2UpOworfQorCiAjcHJhZ21hIG1hcmsgLSBpT1Mg
QVBJCiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZmEwM2RjODUxNDAwMzg1ODI2MTc1M2Rl
Y2NmOTU3NzdhMWFiY2VhMS4uMTIwMzMyNzZhNmUxNTQ4NzBmZjQ4MjU2ODc5YjAzNzQ0YjAwYzBm
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CkBAIC05NjIsNiArOTYyLDggQEAKIAkJNDY3RTQzRTgyMjQzRkY3RDAwQjEzOTI0IC8qIFdlYlBy
b2Nlc3NEYXRhU3RvcmVQYXJhbWV0ZXJzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA0NjdFNDNFNzIyNDNGRjZEMDBCMTM5MjQgLyogV2ViUHJvY2Vzc0Rh
dGFTdG9yZVBhcmFtZXRlcnMuaCAqLzsgfTsKIAkJNDY4MDlBN0MyM0Q5MjI1RTAwQzI5N0QwIC8q
IFdlYkNvb2tpZUNhY2hlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA0NjgwOUE3QTIzRDkyMjUzMDBDMjk3RDAgLyogV2ViQ29va2llQ2FjaGUuaCAqLzsg
fTsKIAkJNDZBMkI2MDkxRTU2NzZBNjAwQzNERURBIC8qIEJhY2tncm91bmRQcm9jZXNzUmVzcG9u
c2l2ZW5lc3NUaW1lci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNDZBMkI2MDcxRTU2NzVBMjAwQzNERURBIC8qIEJhY2tncm91bmRQcm9jZXNzUmVzcG9u
c2l2ZW5lc3NUaW1lci5oICovOyB9OworCQk0NkE2N0RDODI1QkY5RjhFMDA1NzZGRUQgLyogV0tT
ZXNzaW9uU3RhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDQ2QTY3REM1MjVCRjlGOEQwMDU3NkZFRCAvKiBXS1Nlc3Npb25TdGF0ZS5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFB1YmxpYywgKTsgfTsgfTsKKwkJNDZBNjdEQzkyNUJGOUY4
RTAwNTc2RkVEIC8qIFdLU2Vzc2lvblN0YXRlSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2QTY3REM2MjVCRjlGOEUwMDU3NkZFRCAvKiBX
S1Nlc3Npb25TdGF0ZUludGVybmFsLmggKi87IH07CiAJCTQ2QjA1MjQ3MjI2NjhEODUwMDI2NUI5
NyAvKiBXZWJEZXZpY2VPcmllbnRhdGlvbkFuZE1vdGlvbkFjY2Vzc0NvbnRyb2xsZXIuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2QjA1MjQ0MjI2NjhE
MjMwMDI2NUI5NyAvKiBXZWJEZXZpY2VPcmllbnRhdGlvbkFuZE1vdGlvbkFjY2Vzc0NvbnRyb2xs
ZXIuaCAqLzsgfTsKIAkJNDZCRUI2RDcyMkZCOUJENzAwMjY5ODY3IC8qIFN0b3JhZ2VBcmVhLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NkJFQjZENTIy
RkI5QkQ2MDAyNjk4NjcgLyogU3RvcmFnZUFyZWEuaCAqLzsgfTsKIAkJNDZCRUI2REIyMkZCOUQ0
ODAwMjY5ODY3IC8qIExvY2FsU3RvcmFnZU5hbWVzcGFjZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDZCRUI2RDkyMkZCOUQ0ODAwMjY5ODY3IC8qIExv
Y2FsU3RvcmFnZU5hbWVzcGFjZS5oICovOyB9OwpAQCAtMzgxMSw2ICszODEzLDkgQEAKIAkJNDY4
MzU2OUIyMUU4MUNDNzAwNkUyN0EzIC8qIFByb3Zpc2lvbmFsUGFnZVByb3h5LmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFByb3Zpc2lvbmFsUGFnZVByb3h5LmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDZBMkI2MDYxRTU2NzVBMjAwQzNERURBIC8q
IEJhY2tncm91bmRQcm9jZXNzUmVzcG9uc2l2ZW5lc3NUaW1lci5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBCYWNrZ3JvdW5kUHJvY2Vzc1Jlc3BvbnNpdmVuZXNzVGlt
ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NkEyQjYwNzFFNTY3NUEyMDBD
M0RFREEgLyogQmFja2dyb3VuZFByb2Nlc3NSZXNwb25zaXZlbmVzc1RpbWVyLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEJhY2tncm91bmRQcm9jZXNzUmVzcG9uc2l2ZW5lc3NU
aW1lci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0NkE2N0RDNTI1QkY5RjhEMDA1
NzZGRUQgLyogV0tTZXNzaW9uU3RhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gV0tTZXNzaW9uU3RhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDZBNjdE
QzYyNUJGOUY4RTAwNTc2RkVEIC8qIFdLU2Vzc2lvblN0YXRlSW50ZXJuYWwuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tTZXNzaW9uU3RhdGVJbnRlcm5hbC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk0NkE2N0RDNzI1QkY5RjhFMDA1NzZGRUQgLyogV0tTZXNz
aW9uU3RhdGUubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXS1Nl
c3Npb25TdGF0ZS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDZCMDUyNDQyMjY2
OEQyMzAwMjY1Qjk3IC8qIFdlYkRldmljZU9yaWVudGF0aW9uQW5kTW90aW9uQWNjZXNzQ29udHJv
bGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJEZXZpY2VPcmllbnRh
dGlvbkFuZE1vdGlvbkFjY2Vzc0NvbnRyb2xsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNDZCMDUyNDUyMjY2OEQyNDAwMjY1Qjk3IC8qIFdlYkRldmljZU9yaWVudGF0aW9uQW5k
TW90aW9uQWNjZXNzQ29udHJvbGxlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBXZWJEZXZpY2VPcmllbnRhdGlvbkFuZE1vdGlvbkFjY2Vzc0NvbnRyb2xsZXIuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NkJFQjZENTIyRkI5QkQ2MDAyNjk4Njcg
LyogU3RvcmFnZUFyZWEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3RvcmFnZUFyZWEuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTc5NDcsNiArNzk1Miw5IEBACiAJCQkJNTFDRDFDNUYxQjM0
QjlDOTAwMTQyQ0E1IC8qIFdLU2VjdXJpdHlPcmlnaW4uaCAqLywKIAkJCQk1MUNEMUM2MDFCMzRC
OUM5MDAxNDJDQTUgLyogV0tTZWN1cml0eU9yaWdpbi5tbSAqLywKIAkJCQk1MUNEMUM2MTFCMzRC
OUM5MDAxNDJDQTUgLyogV0tTZWN1cml0eU9yaWdpbkludGVybmFsLmggKi8sCisJCQkJNDZBNjdE
QzUyNUJGOUY4RDAwNTc2RkVEIC8qIFdLU2Vzc2lvblN0YXRlLmggKi8sCisJCQkJNDZBNjdEQzcy
NUJGOUY4RTAwNTc2RkVEIC8qIFdLU2Vzc2lvblN0YXRlLm1tICovLAorCQkJCTQ2QTY3REM2MjVC
RjlGOEUwMDU3NkZFRCAvKiBXS1Nlc3Npb25TdGF0ZUludGVybmFsLmggKi8sCiAJCQkJOTNGNTQ5
QjMxRTMxNzRCNzAwMEU3MjM5IC8qIFdLU25hcHNob3RDb25maWd1cmF0aW9uLmggKi8sCiAJCQkJ
OTNGNTQ5QjUxRTMxNzREQTAwMEU3MjM5IC8qIFdLU25hcHNob3RDb25maWd1cmF0aW9uLm1tICov
LAogCQkJCTFBRDg3OTA5MThCNkMzOEEwMDZDQUZENyAvKiBXS1VJRGVsZWdhdGUuaCAqLywKQEAg
LTEyNTQ1LDYgKzEyNTUzLDggQEAKIAkJCQk1MUNEMUM2NzFCMzRCOURGMDAxNDJDQTUgLyogV0tT
ZWN1cml0eU9yaWdpbkludGVybmFsLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MUNEMUM1RTFCMzQ5
M0I0MDAxNDJDQTUgLyogV0tTZWN1cml0eU9yaWdpblJlZi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QkM0MDc2MDQxMjRGRjAyNzAwNjhGMjBBIC8qIFdLU2VyaWFsaXplZFNjcmlwdFZhbHVlLmggaW4g
SGVhZGVycyAqLywKKwkJCQk0NkE2N0RDODI1QkY5RjhFMDA1NzZGRUQgLyogV0tTZXNzaW9uU3Rh
dGUuaCBpbiBIZWFkZXJzICovLAorCQkJCTQ2QTY3REM5MjVCRjlGOEUwMDU3NkZFRCAvKiBXS1Nl
c3Npb25TdGF0ZUludGVybmFsLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQURFNDZCMzE5NTRFQzYx
MDAwRjc5ODUgLyogV0tTZXNzaW9uU3RhdGVSZWYuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDRERC
MzJCMTI0RUMyQUIwMDQ4RDEzQyAvKiBXS1NoYXJlZEFQSUNhc3QuaCBpbiBIZWFkZXJzICovLAog
CQkJCTFEQjAxOTQzMjExQ0YwMDIwMDlGQjNFOCAvKiBXS1NoYXJlU2hlZXQuaCBpbiBIZWFkZXJz
ICovLApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4
IGIwODNkNTFhYTFjYTI3MDhlZWIzNWJiMDdlZDI0OTUwYjBkZTVkZmQuLjcxOTU2YWQ4YjQzZjUy
ODI3NTc2MjNkOWFkODVlOTdjMWJjZmQ1ZTEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZwor
KysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAyMS0wMS0yNiAgQ2hyaXMg
RHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gQWRkIFdLV2ViVmll
dyBzZXNzaW9uIHJlc3RvcmF0aW9uIEFQSQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjIwOTU4CisgICAgICAgIDxyZGFyOi8vNzA5NTYxNDY+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIEFQSSB0ZXN0
IGNvdmVyYWdlLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvV0tCYWNr
Rm9yd2FyZExpc3QubW06CisgICAgICAgICh0ZXN0U3RhdGVSZXN0b3JhdGlvbik6CisgICAgICAg
IChURVNUKToKKwogMjAyMS0wMS0yNiAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGln
YWxpYS5jb20+CiAKICAgICAgICAgW1NPVVBdIFN0b3AgdXNpbmcgU291cFJlcXVlc3QgQVBJIHRv
IGxvYWQgZmlsZXMgaW4gcHJlcGFyYXRpb24gZm9yIGxpYnNvdXAzCmRpZmYgLS1naXQgYS9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9XS0JhY2tGb3J3YXJkTGlzdC5tbSBiL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1dLQmFja0ZvcndhcmRMaXN0Lm1tCmluZGV4IDgz
YmNmYTk3MjAxYTAzMGViNTc1NjA2NWY5YjVlZmFlMzM0OGI2NGIuLjMxYjdjMDgzODdkN2ViNzFl
N2ViYzU3ZTllZTcxNTM2MTllNjJkNDkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0L1dLQmFja0ZvcndhcmRMaXN0Lm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0L1dLQmFja0ZvcndhcmRMaXN0Lm1tCkBAIC0zMCw2ICszMCw3IEBACiAK
ICNpbXBvcnQgPFdlYktpdC9XS0JhY2tGb3J3YXJkTGlzdFByaXZhdGUuaD4KICNpbXBvcnQgPFdl
YktpdC9XS05hdmlnYXRpb25Qcml2YXRlLmg+CisjaW1wb3J0IDxXZWJLaXQvV0tTZXNzaW9uU3Rh
dGUuaD4KICNpbXBvcnQgPFdlYktpdC9XS1dlYlZpZXdQcml2YXRlLmg+CiAjaW1wb3J0IDxXZWJL
aXQvX1dLU2Vzc2lvblN0YXRlLmg+CiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CkBAIC0xNjYs
MyArMTY3LDk1IEBAIFRFU1QoV0tCYWNrRm9yd2FyZExpc3QsIFdpbmRvd0xvY2F0aW9uQXN5bmNQ
b2xpY3lEZWNpc2lvbikKICAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmUpOwogICAg
IEVYUEVDVF9TVFJFUSh3ZWJWaWV3LmdldCgpLmJhY2tGb3J3YXJkTGlzdC5jdXJyZW50SXRlbS5V
UkwuYWJzb2x1dGVTdHJpbmcuVVRGOFN0cmluZywgc2ltcGxlLmFic29sdXRlU3RyaW5nLlVURjhT
dHJpbmcpOwogfQorCitlbnVtIGNsYXNzIFNob3VsZFNlcmlhbGl6ZVNlc3Npb25TdGF0ZSA6IGJv
b2wgeyBObywgWWVzIH07CitzdGF0aWMgdm9pZCB0ZXN0U3RhdGVSZXN0b3JhdGlvbihTaG91bGRT
ZXJpYWxpemVTZXNzaW9uU3RhdGUgc2hvdWxkU2VyaWFsaXplU2Vzc2lvblN0YXRlKQoreworICAg
IGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tXS1dlYlZpZXcgYWxsb2NdIGluaXRdKTsKKworICAg
IE5TVVJMICp1cmwxID0gW1tOU0J1bmRsZSBtYWluQnVuZGxlXSBVUkxGb3JSZXNvdXJjZTpAInNp
bXBsZSIgd2l0aEV4dGVuc2lvbjpAImh0bWwiIHN1YmRpcmVjdG9yeTpAIlRlc3RXZWJLaXRBUEku
cmVzb3VyY2VzIl07CisgICAgTlNVUkwgKnVybDIgPSBbW05TQnVuZGxlIG1haW5CdW5kbGVdIFVS
TEZvclJlc291cmNlOkAic2ltcGxlMiIgd2l0aEV4dGVuc2lvbjpAImh0bWwiIHN1YmRpcmVjdG9y
eTpAIlRlc3RXZWJLaXRBUEkucmVzb3VyY2VzIl07CisgICAgTlNVUkwgKnVybDMgPSBbW05TQnVu
ZGxlIG1haW5CdW5kbGVdIFVSTEZvclJlc291cmNlOkAic2ltcGxlMyIgd2l0aEV4dGVuc2lvbjpA
Imh0bWwiIHN1YmRpcmVjdG9yeTpAIlRlc3RXZWJLaXRBUEkucmVzb3VyY2VzIl07CisKKyAgICBb
d2ViVmlldyBsb2FkUmVxdWVzdDpbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOnVybDFdXTsK
KyAgICBbd2ViVmlldyBfdGVzdF93YWl0Rm9yRGlkRmluaXNoTmF2aWdhdGlvbl07CisKKyAgICBb
d2ViVmlldyBsb2FkUmVxdWVzdDpbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOnVybDJdXTsK
KyAgICBbd2ViVmlldyBfdGVzdF93YWl0Rm9yRGlkRmluaXNoTmF2aWdhdGlvbl07CisKKyAgICBb
d2ViVmlldyBsb2FkUmVxdWVzdDpbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOnVybDNdXTsK
KyAgICBbd2ViVmlldyBfdGVzdF93YWl0Rm9yRGlkRmluaXNoTmF2aWdhdGlvbl07CisKKyAgICBX
S0JhY2tGb3J3YXJkTGlzdCAqbGlzdCA9IFt3ZWJWaWV3IGJhY2tGb3J3YXJkTGlzdF07CisgICAg
RVhQRUNUX0VRKChOU1VJbnRlZ2VyKTIsIGxpc3QuYmFja0xpc3QuY291bnQpOworICAgIEVYUEVD
VF9FUSgoTlNVSW50ZWdlcikwLCBsaXN0LmZvcndhcmRMaXN0LmNvdW50KTsKKyAgICBFWFBFQ1Rf
U1RSRVEoW1tsaXN0LmN1cnJlbnRJdGVtIFVSTF0gYWJzb2x1dGVTdHJpbmddLlVURjhTdHJpbmcs
IHVybDMuYWJzb2x1dGVTdHJpbmcuVVRGOFN0cmluZyk7CisKKyAgICBSZXRhaW5QdHI8V0tTZXNz
aW9uU3RhdGU+IHNlc3Npb25TdGF0ZSA9IFt3ZWJWaWV3IHNlc3Npb25TdGF0ZV07CisgICAgTlNE
YXRhKiBzZXJpYWxpemVkU2Vzc2lvblN0YXRlID0gbmlsOworICAgIGlmIChzaG91bGRTZXJpYWxp
emVTZXNzaW9uU3RhdGUgPT0gU2hvdWxkU2VyaWFsaXplU2Vzc2lvblN0YXRlOjpZZXMpIHsKKyAg
ICAgICAgc2VyaWFsaXplZFNlc3Npb25TdGF0ZSA9IFtzZXNzaW9uU3RhdGUgZGF0YV07CisgICAg
ICAgIHNlc3Npb25TdGF0ZSA9IG5pbDsKKyAgICB9CisKKyAgICB3ZWJWaWV3ID0gYWRvcHROUyhb
W1dLV2ViVmlldyBhbGxvY10gaW5pdF0pOworCisgICAgaWYgKHNob3VsZFNlcmlhbGl6ZVNlc3Np
b25TdGF0ZSA9PSBTaG91bGRTZXJpYWxpemVTZXNzaW9uU3RhdGU6OlllcykgeworICAgICAgICBz
ZXNzaW9uU3RhdGUgPSBhZG9wdE5TKFtbV0tTZXNzaW9uU3RhdGUgYWxsb2NdIGluaXRXaXRoRGF0
YTpzZXJpYWxpemVkU2Vzc2lvblN0YXRlXSk7CisgICAgICAgIHNlcmlhbGl6ZWRTZXNzaW9uU3Rh
dGUgPSBuaWw7CisgICAgfQorCisgICAgW3dlYlZpZXcgcmVzdG9yZVNlc3Npb25TdGF0ZTpzZXNz
aW9uU3RhdGUuZ2V0KCldOworCisgICAgV0tCYWNrRm9yd2FyZExpc3QgKm5ld0xpc3QgPSBbd2Vi
VmlldyBiYWNrRm9yd2FyZExpc3RdOworCisgICAgRVhQRUNUX0VRKChOU1VJbnRlZ2VyKTIsIG5l
d0xpc3QuYmFja0xpc3QuY291bnQpOworICAgIEVYUEVDVF9FUSgoTlNVSW50ZWdlcikwLCBuZXdM
aXN0LmZvcndhcmRMaXN0LmNvdW50KTsKKyAgICBFWFBFQ1RfU1RSRVEoW1tuZXdMaXN0LmN1cnJl
bnRJdGVtIFVSTF0gYWJzb2x1dGVTdHJpbmddLlVURjhTdHJpbmcsIHVybDMuYWJzb2x1dGVTdHJp
bmcuVVRGOFN0cmluZyk7CisKKyAgICBbd2ViVmlldyByZWxvYWRdOworICAgIFt3ZWJWaWV3IF90
ZXN0X3dhaXRGb3JEaWRGaW5pc2hOYXZpZ2F0aW9uXTsKKworICAgIGRvbmUgPSBmYWxzZTsKKyAg
ICBbd2ViVmlldyBldmFsdWF0ZUphdmFTY3JpcHQ6QCJkb2N1bWVudC5ib2R5LmlubmVyVGV4dCIg
Y29tcGxldGlvbkhhbmRsZXI6XihpZCByZXN1bHQsIE5TRXJyb3IgKmVycm9yKSB7CisgICAgICAg
IEVYUEVDVF9UUlVFKCFlcnJvcik7CisgICAgICAgIE5TU3RyaW5nKiBib2R5VGV4dCA9IHJlc3Vs
dDsKKyAgICAgICAgRVhQRUNUX1dLX1NUUkVRKEAiVGhpcmQgc2ltcGxlIEhUTUwgZmlsZS4iLCBi
b2R5VGV4dCk7CisgICAgICAgIGRvbmUgPSB0cnVlOworICAgIH1dOworICAgIFRlc3RXZWJLaXRB
UEk6OlV0aWw6OnJ1bigmZG9uZSk7CisKKyAgICBbd2ViVmlldyBnb0JhY2tdOworICAgIFt3ZWJW
aWV3IF90ZXN0X3dhaXRGb3JEaWRGaW5pc2hOYXZpZ2F0aW9uXTsKKworICAgIGRvbmUgPSBmYWxz
ZTsKKyAgICBbd2ViVmlldyBldmFsdWF0ZUphdmFTY3JpcHQ6QCJkb2N1bWVudC5ib2R5LmlubmVy
VGV4dCIgY29tcGxldGlvbkhhbmRsZXI6XihpZCByZXN1bHQsIE5TRXJyb3IgKmVycm9yKSB7Cisg
ICAgICAgIEVYUEVDVF9UUlVFKCFlcnJvcik7CisgICAgICAgIE5TU3RyaW5nKiBib2R5VGV4dCA9
IHJlc3VsdDsKKyAgICAgICAgRVhQRUNUX1dLX1NUUkVRKEAiU2Vjb25kIHNpbXBsZSBIVE1MIGZp
bGUuIiwgYm9keVRleHQpOworICAgICAgICBkb25lID0gdHJ1ZTsKKyAgICB9XTsKKyAgICBUZXN0
V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmUpOworCisgICAgW3dlYlZpZXcgZ29CYWNrXTsKKyAg
ICBbd2ViVmlldyBfdGVzdF93YWl0Rm9yRGlkRmluaXNoTmF2aWdhdGlvbl07CisKKyAgICBkb25l
ID0gZmFsc2U7CisgICAgW3dlYlZpZXcgZXZhbHVhdGVKYXZhU2NyaXB0OkAiZG9jdW1lbnQuYm9k
eS5pbm5lclRleHQiIGNvbXBsZXRpb25IYW5kbGVyOl4oaWQgcmVzdWx0LCBOU0Vycm9yICplcnJv
cikgeworICAgICAgICBFWFBFQ1RfVFJVRSghZXJyb3IpOworICAgICAgICBOU1N0cmluZyogYm9k
eVRleHQgPSByZXN1bHQ7CisgICAgICAgIEVYUEVDVF9XS19TVFJFUShAIlNpbXBsZSBIVE1MIGZp
bGUuIiwgYm9keVRleHQpOworICAgICAgICBkb25lID0gdHJ1ZTsKKyAgICB9XTsKKyAgICBUZXN0
V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmUpOworfQorCitURVNUKFdLQmFja0ZvcndhcmRMaXN0
LCBTZXNzaW9uU3RhdGVSZXN0b3JhdGlvbldpdGhvdXRTZXJpYWxpemF0aW9uKQoreworICAgIHRl
c3RTdGF0ZVJlc3RvcmF0aW9uKFNob3VsZFNlcmlhbGl6ZVNlc3Npb25TdGF0ZTo6Tm8pOworfQor
CitURVNUKFdLQmFja0ZvcndhcmRMaXN0LCBTZXNzaW9uU3RhdGVSZXN0b3JhdGlvbldpdGhTZXJp
YWxpemF0aW9uKQoreworICAgIHRlc3RTdGF0ZVJlc3RvcmF0aW9uKFNob3VsZFNlcmlhbGl6ZVNl
c3Npb25TdGF0ZTo6WWVzKTsKK30K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>418476</attachid>
            <date>2021-01-26 14:12:55 -0800</date>
            <delta_ts>2021-01-26 16:22:03 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220958-20210126141254.patch</filename>
            <type>text/plain</type>
            <size>7550</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxOTAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGQyY2JiYzhhZTVmOGIxMmVk
MzVlN2JkMWVkODQ0YTY5NjA5NzY1Y2MuLjllY2I2Njk3NTVhN2YwZTk3MjJlY2E5MWYyYjA2OTJl
ZjQ4OWI0NWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMjEtMDEtMjYgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIEFkZCBXS1dlYlZpZXcg
c2Vzc2lvbiByZXN0b3JhdGlvbiBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIyMDk1OAorICAgICAgICA8cmRhcjovLzcwOTU2MTQ2PgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBXS1dlYlZpZXcg
c2Vzc2lvbiByZXN0b3JhdGlvbiBBUEkgc28gdGhhdCBhcHBsaWNhdGlvbnMgY2FuIGVhc2lseSBy
ZXRyaWV2ZQorICAgICAgICB2aWV3IHN0YXRlIChzdWNoIGFzIGJhY2stZm9yd2FyZCBsaXN0LCBz
Y3JvbGwgcG9zaXRpb24sIGZvcm0gZGF0YS4uLikgYW5kCisgICAgICAgIHJlc3RvcmUgaXQgb24g
YSBXS1dlYlZpZXcgbGF0ZXIgb24uCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dL
V2ViVmlldy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tOgor
ICAgICAgICAoLVtXS1dlYlZpZXcgaW50ZXJhY3Rpb25TdGF0ZV0pOgorICAgICAgICAoLVtXS1dl
YlZpZXcgc2V0SW50ZXJhY3Rpb25TdGF0ZTpdKToKKwogMjAyMS0wMS0yNiAgQ2hyaXMgRHVtZXog
IDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIERpc2FibGUgVEJBIGF2YWlsYWJpbGl0eSBt
YWNybyBwb3N0LXByb2Nlc3Npbmcgb24gaU9TIDE0IC8gbWFjT1MgMTEKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcuaCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcuaAppbmRleCAzNGIyZmNmZWU1Mzk5Mzll
MTE3ZWZlZGQzYWQ1NDZmMmIzYjg3YzhkLi5iMjllYzE5YmI5NDA2YjNlYjg1ZDJmMTRmNDYzNDJh
YmYzMmYyZjEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tXZWJWaWV3LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vi
Vmlldy5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNC0yMDIwIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNC0yMDIx
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucwpAQCAtNDcyLDYgKzQ3MiwxMiBAQCBUaGUgdW5pZm9ybSB0eXBlIGlkZW50aWZpZXIg
a1VUVHlwZVdlYkFyY2hpdmUgY2FuIGJlIHVzZWQgZ2V0IHRoZSByZWxhdGVkIHBhc3RlYgogKi8K
IEBwcm9wZXJ0eSAobm9uYXRvbWljLCBudWxsYWJsZSwgY29weSkgTlNTdHJpbmcgKm1lZGlhVHlw
ZSBXS19BUElfQVZBSUxBQkxFKG1hY29zKDExLjApLCBpb3MoMTQuMCkpOwogCisvKiBAYWJzdHJh
Y3QgVGhlIGludGVyYWN0aW9uIHN0YXRlIGZvciB0aGUgV0tXZWJWaWV3CisgQGRpc2N1c3Npb24g
VGhlIGludGVyYWN0aW9uIHN0YXRlIChiYWNrLWZvcndhcmQgbGlzdCwgc2Nyb2xsIHBvc2l0aW9u
LCBmb3JtIGRhdGEuLi4pIGZvciB0aGUgV0tXZWJWaWV3LCB3aGljaAorIGNhbiBiZSByZXRyaWV2
ZWQgYW5kIHNldCBvbiBhbm90aGVyIFdLV2ViVmlldyB0byByZXN0b3JlIHN0YXRlLgorKi8KK0Bw
cm9wZXJ0eSAobm9uYXRvbWljLCBudWxsYWJsZSwgY29weSkgTlNEYXRhICppbnRlcmFjdGlvblN0
YXRlIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7
CisKICNpZiAhVEFSR0VUX09TX0lQSE9ORQogLyogQGFic3RyYWN0IFJldHVybnMgYW4gTlNQcmlu
dE9wZXJhdGlvbiBvYmplY3QgY29uZmlndXJlZCB0byBwcmludCB0aGUgY29udGVudHMgb2YgdGhp
cyBXS1dlYlZpZXcKIEBwYXJhbSBwcmludEluZm8gVGhlIHByaW50IGluZm8gb2JqZWN0IHVzZWQg
dG8gY29uZmlndXJlIHRoZSByZXN1bHRpbmcgcHJpbnQgb3BlcmF0aW9uLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbSBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KaW5kZXggMTdjNmJlOTFhMjQ5
YmQ0MTc3MDExNDRmZTMyM2FmNTRkYzI2ZjkzNS4uMmNiM2ZiYTM5MjRhYzg4OGUxZGQ3YjdjYjVj
MzkxNTMwNGU2NjFjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tXZWJWaWV3Lm1tCkBAIC01MSw2ICs1MSw3IEBACiAjaW1wb3J0ICJSZW1vdGVPYmplY3RSZWdp
c3RyeU1lc3NhZ2VzLmgiCiAjaW1wb3J0ICJSZXNvdXJjZUxvYWREZWxlZ2F0ZS5oIgogI2ltcG9y
dCAiU2FmZUJyb3dzaW5nV2FybmluZy5oIgorI2ltcG9ydCAiU2Vzc2lvblN0YXRlQ29kaW5nLmgi
CiAjaW1wb3J0ICJVSURlbGVnYXRlLmgiCiAjaW1wb3J0ICJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2Vy
UHJveHkuaCIKICNpbXBvcnQgIlZpZXdHZXN0dXJlQ29udHJvbGxlci5oIgpAQCAtMTI1Niw2ICsx
MjU3LDE5IEBAIC0gKE5TU3RyaW5nICopbWVkaWFUeXBlCiAgICAgcmV0dXJuIF9wYWdlLT5vdmVy
cmlkZGVuTWVkaWFUeXBlKCkuaXNOdWxsKCkgPyBuaWwgOiAoTlNTdHJpbmcgKilfcGFnZS0+b3Zl
cnJpZGRlbk1lZGlhVHlwZSgpOwogfQogCistIChOU0RhdGEgKilpbnRlcmFjdGlvblN0YXRlCit7
CisgICAgcmV0dXJuIFdlYktpdDo6ZW5jb2RlU2Vzc2lvblN0YXRlKF9wYWdlLT5zZXNzaW9uU3Rh
dGUoKSkuYXV0b3JlbGVhc2UoKTsKK30KKworLSAodm9pZClzZXRJbnRlcmFjdGlvblN0YXRlOihO
U0RhdGEgKilpbnRlcmFjdGlvblN0YXRlCit7CisgICAgV2ViS2l0OjpTZXNzaW9uU3RhdGUgc2Vz
c2lvblN0YXRlOworICAgIGlmICghV2ViS2l0OjpkZWNvZGVTZXNzaW9uU3RhdGUoaW50ZXJhY3Rp
b25TdGF0ZSwgc2Vzc2lvblN0YXRlKSkKKyAgICAgICAgcmV0dXJuOworICAgIF9wYWdlLT5yZXN0
b3JlRnJvbVNlc3Npb25TdGF0ZShzZXNzaW9uU3RhdGUsIGZhbHNlKTsKK30KKwogI3ByYWdtYSBt
YXJrIC0gaU9TIEFQSQogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKZGlmZiAtLWdpdCBhL1Rv
b2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA2OTY3MjQ3NmM5Mzk2MDJjMTM0
MTliN2QxNjQyOWRkNTA1YjhlNTgwLi4xOGZlNmMwYmY1OWEzNjZhMzZjODY2MGQ1ZjdlN2I4Mzg0
MzJiN2M5IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTYgQEAKKzIwMjEtMDEtMjYgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxl
LmNvbT4KKworICAgICAgICBbQ29jb2FdIEFkZCBXS1dlYlZpZXcgc2Vzc2lvbiByZXN0b3JhdGlv
biBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIy
MDk1OAorICAgICAgICA8cmRhcjovLzcwOTU2MTQ2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBBUEkgdGVzdCBjb3ZlcmFnZS4KKworICAgICAg
ICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1dLQmFja0ZvcndhcmRMaXN0Lm1tOgorICAg
ICAgICAoVEVTVCk6CisKIDIwMjEtMDEtMjYgIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3
ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJldmVydGluZyByMjcxNTc4LgpkaWZm
IC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvV0tCYWNrRm9yd2FyZExp
c3QubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9XS0JhY2tGb3J3YXJkTGlz
dC5tbQppbmRleCA4M2JjZmE5NzIwMWEwMzBlYjU3NTYwNjVmOWI1ZWZhZTMzNDhiNjRiLi45MDk2
ZDk0ZWJlMDY0NDMyODUyYjcxZmFlOGRiNzQ5NDVhMmM2YzI5IDEwMDY0NAotLS0gYS9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9XS0JhY2tGb3J3YXJkTGlzdC5tbQorKysgYi9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9XS0JhY2tGb3J3YXJkTGlzdC5tbQpAQCAtMTY2
LDMgKzE2Niw3NSBAQCBURVNUKFdLQmFja0ZvcndhcmRMaXN0LCBXaW5kb3dMb2NhdGlvbkFzeW5j
UG9saWN5RGVjaXNpb24pCiAgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25lKTsKICAg
ICBFWFBFQ1RfU1RSRVEod2ViVmlldy5nZXQoKS5iYWNrRm9yd2FyZExpc3QuY3VycmVudEl0ZW0u
VVJMLmFic29sdXRlU3RyaW5nLlVURjhTdHJpbmcsIHNpbXBsZS5hYnNvbHV0ZVN0cmluZy5VVEY4
U3RyaW5nKTsKIH0KKworVEVTVChXS0JhY2tGb3J3YXJkTGlzdCwgSW50ZXJhY3Rpb25TdGF0ZVJl
c3RvcmF0aW9uKQoreworICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tXS1dlYlZpZXcgYWxs
b2NdIGluaXRdKTsKKworICAgIE5TVVJMICp1cmwxID0gW1tOU0J1bmRsZSBtYWluQnVuZGxlXSBV
UkxGb3JSZXNvdXJjZTpAInNpbXBsZSIgd2l0aEV4dGVuc2lvbjpAImh0bWwiIHN1YmRpcmVjdG9y
eTpAIlRlc3RXZWJLaXRBUEkucmVzb3VyY2VzIl07CisgICAgTlNVUkwgKnVybDIgPSBbW05TQnVu
ZGxlIG1haW5CdW5kbGVdIFVSTEZvclJlc291cmNlOkAic2ltcGxlMiIgd2l0aEV4dGVuc2lvbjpA
Imh0bWwiIHN1YmRpcmVjdG9yeTpAIlRlc3RXZWJLaXRBUEkucmVzb3VyY2VzIl07CisgICAgTlNV
UkwgKnVybDMgPSBbW05TQnVuZGxlIG1haW5CdW5kbGVdIFVSTEZvclJlc291cmNlOkAic2ltcGxl
MyIgd2l0aEV4dGVuc2lvbjpAImh0bWwiIHN1YmRpcmVjdG9yeTpAIlRlc3RXZWJLaXRBUEkucmVz
b3VyY2VzIl07CisKKyAgICBbd2ViVmlldyBsb2FkUmVxdWVzdDpbTlNVUkxSZXF1ZXN0IHJlcXVl
c3RXaXRoVVJMOnVybDFdXTsKKyAgICBbd2ViVmlldyBfdGVzdF93YWl0Rm9yRGlkRmluaXNoTmF2
aWdhdGlvbl07CisKKyAgICBbd2ViVmlldyBsb2FkUmVxdWVzdDpbTlNVUkxSZXF1ZXN0IHJlcXVl
c3RXaXRoVVJMOnVybDJdXTsKKyAgICBbd2ViVmlldyBfdGVzdF93YWl0Rm9yRGlkRmluaXNoTmF2
aWdhdGlvbl07CisKKyAgICBbd2ViVmlldyBsb2FkUmVxdWVzdDpbTlNVUkxSZXF1ZXN0IHJlcXVl
c3RXaXRoVVJMOnVybDNdXTsKKyAgICBbd2ViVmlldyBfdGVzdF93YWl0Rm9yRGlkRmluaXNoTmF2
aWdhdGlvbl07CisKKyAgICBXS0JhY2tGb3J3YXJkTGlzdCAqbGlzdCA9IFt3ZWJWaWV3IGJhY2tG
b3J3YXJkTGlzdF07CisgICAgRVhQRUNUX0VRKChOU1VJbnRlZ2VyKTIsIGxpc3QuYmFja0xpc3Qu
Y291bnQpOworICAgIEVYUEVDVF9FUSgoTlNVSW50ZWdlcikwLCBsaXN0LmZvcndhcmRMaXN0LmNv
dW50KTsKKyAgICBFWFBFQ1RfU1RSRVEoW1tsaXN0LmN1cnJlbnRJdGVtIFVSTF0gYWJzb2x1dGVT
dHJpbmddLlVURjhTdHJpbmcsIHVybDMuYWJzb2x1dGVTdHJpbmcuVVRGOFN0cmluZyk7CisKKyAg
ICBSZXRhaW5QdHI8TlNEYXRhPiBpbnRlcmFjdGlvblN0YXRlID0gW3dlYlZpZXcgaW50ZXJhY3Rp
b25TdGF0ZV07CisKKyAgICB3ZWJWaWV3ID0gYWRvcHROUyhbW1dLV2ViVmlldyBhbGxvY10gaW5p
dF0pOworCisgICAgW3dlYlZpZXcgc2V0SW50ZXJhY3Rpb25TdGF0ZTppbnRlcmFjdGlvblN0YXRl
LmdldCgpXTsKKworICAgIFdLQmFja0ZvcndhcmRMaXN0ICpuZXdMaXN0ID0gW3dlYlZpZXcgYmFj
a0ZvcndhcmRMaXN0XTsKKworICAgIEVYUEVDVF9FUSgoTlNVSW50ZWdlcikyLCBuZXdMaXN0LmJh
Y2tMaXN0LmNvdW50KTsKKyAgICBFWFBFQ1RfRVEoKE5TVUludGVnZXIpMCwgbmV3TGlzdC5mb3J3
YXJkTGlzdC5jb3VudCk7CisgICAgRVhQRUNUX1NUUkVRKFtbbmV3TGlzdC5jdXJyZW50SXRlbSBV
UkxdIGFic29sdXRlU3RyaW5nXS5VVEY4U3RyaW5nLCB1cmwzLmFic29sdXRlU3RyaW5nLlVURjhT
dHJpbmcpOworCisgICAgW3dlYlZpZXcgcmVsb2FkXTsKKyAgICBbd2ViVmlldyBfdGVzdF93YWl0
Rm9yRGlkRmluaXNoTmF2aWdhdGlvbl07CisKKyAgICBkb25lID0gZmFsc2U7CisgICAgW3dlYlZp
ZXcgZXZhbHVhdGVKYXZhU2NyaXB0OkAiZG9jdW1lbnQuYm9keS5pbm5lclRleHQiIGNvbXBsZXRp
b25IYW5kbGVyOl4oaWQgcmVzdWx0LCBOU0Vycm9yICplcnJvcikgeworICAgICAgICBFWFBFQ1Rf
VFJVRSghZXJyb3IpOworICAgICAgICBOU1N0cmluZyogYm9keVRleHQgPSByZXN1bHQ7CisgICAg
ICAgIEVYUEVDVF9XS19TVFJFUShAIlRoaXJkIHNpbXBsZSBIVE1MIGZpbGUuIiwgYm9keVRleHQp
OworICAgICAgICBkb25lID0gdHJ1ZTsKKyAgICB9XTsKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGls
OjpydW4oJmRvbmUpOworCisgICAgW3dlYlZpZXcgZ29CYWNrXTsKKyAgICBbd2ViVmlldyBfdGVz
dF93YWl0Rm9yRGlkRmluaXNoTmF2aWdhdGlvbl07CisKKyAgICBkb25lID0gZmFsc2U7CisgICAg
W3dlYlZpZXcgZXZhbHVhdGVKYXZhU2NyaXB0OkAiZG9jdW1lbnQuYm9keS5pbm5lclRleHQiIGNv
bXBsZXRpb25IYW5kbGVyOl4oaWQgcmVzdWx0LCBOU0Vycm9yICplcnJvcikgeworICAgICAgICBF
WFBFQ1RfVFJVRSghZXJyb3IpOworICAgICAgICBOU1N0cmluZyogYm9keVRleHQgPSByZXN1bHQ7
CisgICAgICAgIEVYUEVDVF9XS19TVFJFUShAIlNlY29uZCBzaW1wbGUgSFRNTCBmaWxlLiIsIGJv
ZHlUZXh0KTsKKyAgICAgICAgZG9uZSA9IHRydWU7CisgICAgfV07CisgICAgVGVzdFdlYktpdEFQ
STo6VXRpbDo6cnVuKCZkb25lKTsKKworICAgIFt3ZWJWaWV3IGdvQmFja107CisgICAgW3dlYlZp
ZXcgX3Rlc3Rfd2FpdEZvckRpZEZpbmlzaE5hdmlnYXRpb25dOworCisgICAgZG9uZSA9IGZhbHNl
OworICAgIFt3ZWJWaWV3IGV2YWx1YXRlSmF2YVNjcmlwdDpAImRvY3VtZW50LmJvZHkuaW5uZXJU
ZXh0IiBjb21wbGV0aW9uSGFuZGxlcjpeKGlkIHJlc3VsdCwgTlNFcnJvciAqZXJyb3IpIHsKKyAg
ICAgICAgRVhQRUNUX1RSVUUoIWVycm9yKTsKKyAgICAgICAgTlNTdHJpbmcqIGJvZHlUZXh0ID0g
cmVzdWx0OworICAgICAgICBFWFBFQ1RfV0tfU1RSRVEoQCJTaW1wbGUgSFRNTCBmaWxlLiIsIGJv
ZHlUZXh0KTsKKyAgICAgICAgZG9uZSA9IHRydWU7CisgICAgfV07CisgICAgVGVzdFdlYktpdEFQ
STo6VXRpbDo6cnVuKCZkb25lKTsKK30KKwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>418484</attachid>
            <date>2021-01-26 16:22:05 -0800</date>
            <delta_ts>2021-01-26 16:28:54 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220958-20210126162205.patch</filename>
            <type>text/plain</type>
            <size>7656</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxOTAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGQyY2JiYzhhZTVmOGIxMmVk
MzVlN2JkMWVkODQ0YTY5NjA5NzY1Y2MuLjllY2I2Njk3NTVhN2YwZTk3MjJlY2E5MWYyYjA2OTJl
ZjQ4OWI0NWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMjEtMDEtMjYgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIEFkZCBXS1dlYlZpZXcg
c2Vzc2lvbiByZXN0b3JhdGlvbiBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIyMDk1OAorICAgICAgICA8cmRhcjovLzcwOTU2MTQ2PgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBXS1dlYlZpZXcg
c2Vzc2lvbiByZXN0b3JhdGlvbiBBUEkgc28gdGhhdCBhcHBsaWNhdGlvbnMgY2FuIGVhc2lseSBy
ZXRyaWV2ZQorICAgICAgICB2aWV3IHN0YXRlIChzdWNoIGFzIGJhY2stZm9yd2FyZCBsaXN0LCBz
Y3JvbGwgcG9zaXRpb24sIGZvcm0gZGF0YS4uLikgYW5kCisgICAgICAgIHJlc3RvcmUgaXQgb24g
YSBXS1dlYlZpZXcgbGF0ZXIgb24uCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dL
V2ViVmlldy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tOgor
ICAgICAgICAoLVtXS1dlYlZpZXcgaW50ZXJhY3Rpb25TdGF0ZV0pOgorICAgICAgICAoLVtXS1dl
YlZpZXcgc2V0SW50ZXJhY3Rpb25TdGF0ZTpdKToKKwogMjAyMS0wMS0yNiAgQ2hyaXMgRHVtZXog
IDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIERpc2FibGUgVEJBIGF2YWlsYWJpbGl0eSBt
YWNybyBwb3N0LXByb2Nlc3Npbmcgb24gaU9TIDE0IC8gbWFjT1MgMTEKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcuaCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcuaAppbmRleCAzNGIyZmNmZWU1Mzk5Mzll
MTE3ZWZlZGQzYWQ1NDZmMmIzYjg3YzhkLi42ZjVkNTIzYTVjOWE1MTU4MWVmMjJhNWUxOTE2MjUx
YzM0Y2I5YzJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tXZWJWaWV3LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vi
Vmlldy5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNC0yMDIwIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNC0yMDIx
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucwpAQCAtNDcyLDYgKzQ3MiwxMiBAQCBUaGUgdW5pZm9ybSB0eXBlIGlkZW50aWZpZXIg
a1VUVHlwZVdlYkFyY2hpdmUgY2FuIGJlIHVzZWQgZ2V0IHRoZSByZWxhdGVkIHBhc3RlYgogKi8K
IEBwcm9wZXJ0eSAobm9uYXRvbWljLCBudWxsYWJsZSwgY29weSkgTlNTdHJpbmcgKm1lZGlhVHlw
ZSBXS19BUElfQVZBSUxBQkxFKG1hY29zKDExLjApLCBpb3MoMTQuMCkpOwogCisvKiBAYWJzdHJh
Y3QgVGhlIGludGVyYWN0aW9uIHN0YXRlIGZvciB0aGUgV0tXZWJWaWV3CisgQGRpc2N1c3Npb24g
VGhlIGludGVyYWN0aW9uIHN0YXRlIChiYWNrLWZvcndhcmQgbGlzdCwgc2Nyb2xsIHBvc2l0aW9u
LCBmb3JtIGRhdGEuLi4pIGZvciB0aGUgV0tXZWJWaWV3LCB3aGljaAorIGNhbiBiZSByZXRyaWV2
ZWQgYW5kIHNldCBvbiBhbm90aGVyIFdLV2ViVmlldyB0byByZXN0b3JlIHN0YXRlLgorKi8KK0Bw
cm9wZXJ0eSAobm9uYXRvbWljLCBudWxsYWJsZSwgY29weSkgaWQgPE5TU2VjdXJlQ29kaW5nPmlu
dGVyYWN0aW9uU3RhdGUgV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdL
X0lPU19UQkEpKTsKKwogI2lmICFUQVJHRVRfT1NfSVBIT05FCiAvKiBAYWJzdHJhY3QgUmV0dXJu
cyBhbiBOU1ByaW50T3BlcmF0aW9uIG9iamVjdCBjb25maWd1cmVkIHRvIHByaW50IHRoZSBjb250
ZW50cyBvZiB0aGlzIFdLV2ViVmlldwogQHBhcmFtIHByaW50SW5mbyBUaGUgcHJpbnQgaW5mbyBv
YmplY3QgdXNlZCB0byBjb25maWd1cmUgdGhlIHJlc3VsdGluZyBwcmludCBvcGVyYXRpb24uCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1t
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQppbmRleCAx
N2M2YmU5MWEyNDliZDQxNzcwMTE0NGZlMzIzYWY1NGRjMjZmOTM1Li4zNjg5NzQ2ZmIwYmI5MTU0
Y2NmZWQwYTVlYjExMzU3YjVjMmEyMWI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KQEAgLTUxLDYgKzUxLDcgQEAKICNpbXBvcnQgIlJlbW90
ZU9iamVjdFJlZ2lzdHJ5TWVzc2FnZXMuaCIKICNpbXBvcnQgIlJlc291cmNlTG9hZERlbGVnYXRl
LmgiCiAjaW1wb3J0ICJTYWZlQnJvd3NpbmdXYXJuaW5nLmgiCisjaW1wb3J0ICJTZXNzaW9uU3Rh
dGVDb2RpbmcuaCIKICNpbXBvcnQgIlVJRGVsZWdhdGUuaCIKICNpbXBvcnQgIlZpZGVvRnVsbHNj
cmVlbk1hbmFnZXJQcm94eS5oIgogI2ltcG9ydCAiVmlld0dlc3R1cmVDb250cm9sbGVyLmgiCkBA
IC0xMjU2LDYgKzEyNTcsMjIgQEAgLSAoTlNTdHJpbmcgKiltZWRpYVR5cGUKICAgICByZXR1cm4g
X3BhZ2UtPm92ZXJyaWRkZW5NZWRpYVR5cGUoKS5pc051bGwoKSA/IG5pbCA6IChOU1N0cmluZyAq
KV9wYWdlLT5vdmVycmlkZGVuTWVkaWFUeXBlKCk7CiB9CiAKKy0gKGlkIDxOU1NlY3VyZUNvZGlu
Zz4paW50ZXJhY3Rpb25TdGF0ZQoreworICAgIHJldHVybiBXZWJLaXQ6OmVuY29kZVNlc3Npb25T
dGF0ZShfcGFnZS0+c2Vzc2lvblN0YXRlKCkpLmF1dG9yZWxlYXNlKCk7Cit9CisKKy0gKHZvaWQp
c2V0SW50ZXJhY3Rpb25TdGF0ZTooaWQgPE5TU2VjdXJlQ29kaW5nPilpbnRlcmFjdGlvblN0YXRl
Cit7CisgICAgaWYgKCFbKGlkKWludGVyYWN0aW9uU3RhdGUgaXNLaW5kT2ZDbGFzczpbTlNEYXRh
IGNsYXNzXV0pCisgICAgICAgIHJldHVybjsKKworICAgIFdlYktpdDo6U2Vzc2lvblN0YXRlIHNl
c3Npb25TdGF0ZTsKKyAgICBpZiAoIVdlYktpdDo6ZGVjb2RlU2Vzc2lvblN0YXRlKChOU0RhdGEg
KikoaW50ZXJhY3Rpb25TdGF0ZSksIHNlc3Npb25TdGF0ZSkpCisgICAgICAgIHJldHVybjsKKyAg
ICBfcGFnZS0+cmVzdG9yZUZyb21TZXNzaW9uU3RhdGUoc2Vzc2lvblN0YXRlLCBmYWxzZSk7Cit9
CisKICNwcmFnbWEgbWFyayAtIGlPUyBBUEkKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCmRp
ZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNjk2NzI0
NzZjOTM5NjAyYzEzNDE5YjdkMTY0MjlkZDUwNWI4ZTU4MC4uMThmZTZjMGJmNTlhMzY2YTM2Yzg2
NjBkNWY3ZTdiODM4NDMyYjdjOSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rv
b2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIxLTAxLTI2ICBDaHJpcyBEdW1leiAg
PGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBBZGQgV0tXZWJWaWV3IHNlc3Np
b24gcmVzdG9yYXRpb24gQVBJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMjA5NTgKKyAgICAgICAgPHJkYXI6Ly83MDk1NjE0Nj4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgQVBJIHRlc3QgY292ZXJh
Z2UuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9XS0JhY2tGb3J3YXJk
TGlzdC5tbToKKyAgICAgICAgKFRFU1QpOgorCiAyMDIxLTAxLTI2ICBDb21taXQgUXVldWUgIDxj
b21taXQtcXVldWVAd2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCByZXZlcnRpbmcg
cjI3MTU3OC4KZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1dL
QmFja0ZvcndhcmRMaXN0Lm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvV0tC
YWNrRm9yd2FyZExpc3QubW0KaW5kZXggODNiY2ZhOTcyMDFhMDMwZWI1NzU2MDY1ZjliNWVmYWUz
MzQ4YjY0Yi4uNTQyYzJkMTZhZTFjYjBiMmRjNDJjZmY2YzY2YTdhZDY5M2FhZDk4MCAxMDA2NDQK
LS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvV0tCYWNrRm9yd2FyZExpc3Qu
bW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvV0tCYWNrRm9yd2FyZExp
c3QubW0KQEAgLTE2NiwzICsxNjYsNzUgQEAgVEVTVChXS0JhY2tGb3J3YXJkTGlzdCwgV2luZG93
TG9jYXRpb25Bc3luY1BvbGljeURlY2lzaW9uKQogICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1
bigmZG9uZSk7CiAgICAgRVhQRUNUX1NUUkVRKHdlYlZpZXcuZ2V0KCkuYmFja0ZvcndhcmRMaXN0
LmN1cnJlbnRJdGVtLlVSTC5hYnNvbHV0ZVN0cmluZy5VVEY4U3RyaW5nLCBzaW1wbGUuYWJzb2x1
dGVTdHJpbmcuVVRGOFN0cmluZyk7CiB9CisKK1RFU1QoV0tCYWNrRm9yd2FyZExpc3QsIEludGVy
YWN0aW9uU3RhdGVSZXN0b3JhdGlvbikKK3sKKyAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtb
V0tXZWJWaWV3IGFsbG9jXSBpbml0XSk7CisKKyAgICBOU1VSTCAqdXJsMSA9IFtbTlNCdW5kbGUg
bWFpbkJ1bmRsZV0gVVJMRm9yUmVzb3VyY2U6QCJzaW1wbGUiIHdpdGhFeHRlbnNpb246QCJodG1s
IiBzdWJkaXJlY3Rvcnk6QCJUZXN0V2ViS2l0QVBJLnJlc291cmNlcyJdOworICAgIE5TVVJMICp1
cmwyID0gW1tOU0J1bmRsZSBtYWluQnVuZGxlXSBVUkxGb3JSZXNvdXJjZTpAInNpbXBsZTIiIHdp
dGhFeHRlbnNpb246QCJodG1sIiBzdWJkaXJlY3Rvcnk6QCJUZXN0V2ViS2l0QVBJLnJlc291cmNl
cyJdOworICAgIE5TVVJMICp1cmwzID0gW1tOU0J1bmRsZSBtYWluQnVuZGxlXSBVUkxGb3JSZXNv
dXJjZTpAInNpbXBsZTMiIHdpdGhFeHRlbnNpb246QCJodG1sIiBzdWJkaXJlY3Rvcnk6QCJUZXN0
V2ViS2l0QVBJLnJlc291cmNlcyJdOworCisgICAgW3dlYlZpZXcgbG9hZFJlcXVlc3Q6W05TVVJM
UmVxdWVzdCByZXF1ZXN0V2l0aFVSTDp1cmwxXV07CisgICAgW3dlYlZpZXcgX3Rlc3Rfd2FpdEZv
ckRpZEZpbmlzaE5hdmlnYXRpb25dOworCisgICAgW3dlYlZpZXcgbG9hZFJlcXVlc3Q6W05TVVJM
UmVxdWVzdCByZXF1ZXN0V2l0aFVSTDp1cmwyXV07CisgICAgW3dlYlZpZXcgX3Rlc3Rfd2FpdEZv
ckRpZEZpbmlzaE5hdmlnYXRpb25dOworCisgICAgW3dlYlZpZXcgbG9hZFJlcXVlc3Q6W05TVVJM
UmVxdWVzdCByZXF1ZXN0V2l0aFVSTDp1cmwzXV07CisgICAgW3dlYlZpZXcgX3Rlc3Rfd2FpdEZv
ckRpZEZpbmlzaE5hdmlnYXRpb25dOworCisgICAgV0tCYWNrRm9yd2FyZExpc3QgKmxpc3QgPSBb
d2ViVmlldyBiYWNrRm9yd2FyZExpc3RdOworICAgIEVYUEVDVF9FUSgoTlNVSW50ZWdlcikyLCBs
aXN0LmJhY2tMaXN0LmNvdW50KTsKKyAgICBFWFBFQ1RfRVEoKE5TVUludGVnZXIpMCwgbGlzdC5m
b3J3YXJkTGlzdC5jb3VudCk7CisgICAgRVhQRUNUX1NUUkVRKFtbbGlzdC5jdXJyZW50SXRlbSBV
UkxdIGFic29sdXRlU3RyaW5nXS5VVEY4U3RyaW5nLCB1cmwzLmFic29sdXRlU3RyaW5nLlVURjhT
dHJpbmcpOworCisgICAgaWQgaW50ZXJhY3Rpb25TdGF0ZSA9IFt3ZWJWaWV3IGludGVyYWN0aW9u
U3RhdGVdOworCisgICAgd2ViVmlldyA9IGFkb3B0TlMoW1tXS1dlYlZpZXcgYWxsb2NdIGluaXRd
KTsKKworICAgIFt3ZWJWaWV3IHNldEludGVyYWN0aW9uU3RhdGU6aW50ZXJhY3Rpb25TdGF0ZV07
CisKKyAgICBXS0JhY2tGb3J3YXJkTGlzdCAqbmV3TGlzdCA9IFt3ZWJWaWV3IGJhY2tGb3J3YXJk
TGlzdF07CisKKyAgICBFWFBFQ1RfRVEoKE5TVUludGVnZXIpMiwgbmV3TGlzdC5iYWNrTGlzdC5j
b3VudCk7CisgICAgRVhQRUNUX0VRKChOU1VJbnRlZ2VyKTAsIG5ld0xpc3QuZm9yd2FyZExpc3Qu
Y291bnQpOworICAgIEVYUEVDVF9TVFJFUShbW25ld0xpc3QuY3VycmVudEl0ZW0gVVJMXSBhYnNv
bHV0ZVN0cmluZ10uVVRGOFN0cmluZywgdXJsMy5hYnNvbHV0ZVN0cmluZy5VVEY4U3RyaW5nKTsK
KworICAgIFt3ZWJWaWV3IHJlbG9hZF07CisgICAgW3dlYlZpZXcgX3Rlc3Rfd2FpdEZvckRpZEZp
bmlzaE5hdmlnYXRpb25dOworCisgICAgZG9uZSA9IGZhbHNlOworICAgIFt3ZWJWaWV3IGV2YWx1
YXRlSmF2YVNjcmlwdDpAImRvY3VtZW50LmJvZHkuaW5uZXJUZXh0IiBjb21wbGV0aW9uSGFuZGxl
cjpeKGlkIHJlc3VsdCwgTlNFcnJvciAqZXJyb3IpIHsKKyAgICAgICAgRVhQRUNUX1RSVUUoIWVy
cm9yKTsKKyAgICAgICAgTlNTdHJpbmcqIGJvZHlUZXh0ID0gcmVzdWx0OworICAgICAgICBFWFBF
Q1RfV0tfU1RSRVEoQCJUaGlyZCBzaW1wbGUgSFRNTCBmaWxlLiIsIGJvZHlUZXh0KTsKKyAgICAg
ICAgZG9uZSA9IHRydWU7CisgICAgfV07CisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZk
b25lKTsKKworICAgIFt3ZWJWaWV3IGdvQmFja107CisgICAgW3dlYlZpZXcgX3Rlc3Rfd2FpdEZv
ckRpZEZpbmlzaE5hdmlnYXRpb25dOworCisgICAgZG9uZSA9IGZhbHNlOworICAgIFt3ZWJWaWV3
IGV2YWx1YXRlSmF2YVNjcmlwdDpAImRvY3VtZW50LmJvZHkuaW5uZXJUZXh0IiBjb21wbGV0aW9u
SGFuZGxlcjpeKGlkIHJlc3VsdCwgTlNFcnJvciAqZXJyb3IpIHsKKyAgICAgICAgRVhQRUNUX1RS
VUUoIWVycm9yKTsKKyAgICAgICAgTlNTdHJpbmcqIGJvZHlUZXh0ID0gcmVzdWx0OworICAgICAg
ICBFWFBFQ1RfV0tfU1RSRVEoQCJTZWNvbmQgc2ltcGxlIEhUTUwgZmlsZS4iLCBib2R5VGV4dCk7
CisgICAgICAgIGRvbmUgPSB0cnVlOworICAgIH1dOworICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6
OnJ1bigmZG9uZSk7CisKKyAgICBbd2ViVmlldyBnb0JhY2tdOworICAgIFt3ZWJWaWV3IF90ZXN0
X3dhaXRGb3JEaWRGaW5pc2hOYXZpZ2F0aW9uXTsKKworICAgIGRvbmUgPSBmYWxzZTsKKyAgICBb
d2ViVmlldyBldmFsdWF0ZUphdmFTY3JpcHQ6QCJkb2N1bWVudC5ib2R5LmlubmVyVGV4dCIgY29t
cGxldGlvbkhhbmRsZXI6XihpZCByZXN1bHQsIE5TRXJyb3IgKmVycm9yKSB7CisgICAgICAgIEVY
UEVDVF9UUlVFKCFlcnJvcik7CisgICAgICAgIE5TU3RyaW5nKiBib2R5VGV4dCA9IHJlc3VsdDsK
KyAgICAgICAgRVhQRUNUX1dLX1NUUkVRKEAiU2ltcGxlIEhUTUwgZmlsZS4iLCBib2R5VGV4dCk7
CisgICAgICAgIGRvbmUgPSB0cnVlOworICAgIH1dOworICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6
OnJ1bigmZG9uZSk7Cit9CisK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>418485</attachid>
            <date>2021-01-26 16:28:56 -0800</date>
            <delta_ts>2021-01-28 10:32:05 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220958-20210126162855.patch</filename>
            <type>text/plain</type>
            <size>10552</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxOTAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGQyY2JiYzhhZTVmOGIxMmVk
MzVlN2JkMWVkODQ0YTY5NjA5NzY1Y2MuLjllY2I2Njk3NTVhN2YwZTk3MjJlY2E5MWYyYjA2OTJl
ZjQ4OWI0NWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMjEtMDEtMjYgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIEFkZCBXS1dlYlZpZXcg
c2Vzc2lvbiByZXN0b3JhdGlvbiBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIyMDk1OAorICAgICAgICA8cmRhcjovLzcwOTU2MTQ2PgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBXS1dlYlZpZXcg
c2Vzc2lvbiByZXN0b3JhdGlvbiBBUEkgc28gdGhhdCBhcHBsaWNhdGlvbnMgY2FuIGVhc2lseSBy
ZXRyaWV2ZQorICAgICAgICB2aWV3IHN0YXRlIChzdWNoIGFzIGJhY2stZm9yd2FyZCBsaXN0LCBz
Y3JvbGwgcG9zaXRpb24sIGZvcm0gZGF0YS4uLikgYW5kCisgICAgICAgIHJlc3RvcmUgaXQgb24g
YSBXS1dlYlZpZXcgbGF0ZXIgb24uCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dL
V2ViVmlldy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tOgor
ICAgICAgICAoLVtXS1dlYlZpZXcgaW50ZXJhY3Rpb25TdGF0ZV0pOgorICAgICAgICAoLVtXS1dl
YlZpZXcgc2V0SW50ZXJhY3Rpb25TdGF0ZTpdKToKKwogMjAyMS0wMS0yNiAgQ2hyaXMgRHVtZXog
IDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIERpc2FibGUgVEJBIGF2YWlsYWJpbGl0eSBt
YWNybyBwb3N0LXByb2Nlc3Npbmcgb24gaU9TIDE0IC8gbWFjT1MgMTEKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcuaCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcuaAppbmRleCAzNGIyZmNmZWU1Mzk5Mzll
MTE3ZWZlZGQzYWQ1NDZmMmIzYjg3YzhkLi42ZjVkNTIzYTVjOWE1MTU4MWVmMjJhNWUxOTE2MjUx
YzM0Y2I5YzJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tXZWJWaWV3LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vi
Vmlldy5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNC0yMDIwIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNC0yMDIx
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucwpAQCAtNDcyLDYgKzQ3MiwxMiBAQCBUaGUgdW5pZm9ybSB0eXBlIGlkZW50aWZpZXIg
a1VUVHlwZVdlYkFyY2hpdmUgY2FuIGJlIHVzZWQgZ2V0IHRoZSByZWxhdGVkIHBhc3RlYgogKi8K
IEBwcm9wZXJ0eSAobm9uYXRvbWljLCBudWxsYWJsZSwgY29weSkgTlNTdHJpbmcgKm1lZGlhVHlw
ZSBXS19BUElfQVZBSUxBQkxFKG1hY29zKDExLjApLCBpb3MoMTQuMCkpOwogCisvKiBAYWJzdHJh
Y3QgVGhlIGludGVyYWN0aW9uIHN0YXRlIGZvciB0aGUgV0tXZWJWaWV3CisgQGRpc2N1c3Npb24g
VGhlIGludGVyYWN0aW9uIHN0YXRlIChiYWNrLWZvcndhcmQgbGlzdCwgc2Nyb2xsIHBvc2l0aW9u
LCBmb3JtIGRhdGEuLi4pIGZvciB0aGUgV0tXZWJWaWV3LCB3aGljaAorIGNhbiBiZSByZXRyaWV2
ZWQgYW5kIHNldCBvbiBhbm90aGVyIFdLV2ViVmlldyB0byByZXN0b3JlIHN0YXRlLgorKi8KK0Bw
cm9wZXJ0eSAobm9uYXRvbWljLCBudWxsYWJsZSwgY29weSkgaWQgPE5TU2VjdXJlQ29kaW5nPmlu
dGVyYWN0aW9uU3RhdGUgV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdL
X0lPU19UQkEpKTsKKwogI2lmICFUQVJHRVRfT1NfSVBIT05FCiAvKiBAYWJzdHJhY3QgUmV0dXJu
cyBhbiBOU1ByaW50T3BlcmF0aW9uIG9iamVjdCBjb25maWd1cmVkIHRvIHByaW50IHRoZSBjb250
ZW50cyBvZiB0aGlzIFdLV2ViVmlldwogQHBhcmFtIHByaW50SW5mbyBUaGUgcHJpbnQgaW5mbyBv
YmplY3QgdXNlZCB0byBjb25maWd1cmUgdGhlIHJlc3VsdGluZyBwcmludCBvcGVyYXRpb24uCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1t
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQppbmRleCAx
N2M2YmU5MWEyNDliZDQxNzcwMTE0NGZlMzIzYWY1NGRjMjZmOTM1Li4zNjg5NzQ2ZmIwYmI5MTU0
Y2NmZWQwYTVlYjExMzU3YjVjMmEyMWI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KQEAgLTUxLDYgKzUxLDcgQEAKICNpbXBvcnQgIlJlbW90
ZU9iamVjdFJlZ2lzdHJ5TWVzc2FnZXMuaCIKICNpbXBvcnQgIlJlc291cmNlTG9hZERlbGVnYXRl
LmgiCiAjaW1wb3J0ICJTYWZlQnJvd3NpbmdXYXJuaW5nLmgiCisjaW1wb3J0ICJTZXNzaW9uU3Rh
dGVDb2RpbmcuaCIKICNpbXBvcnQgIlVJRGVsZWdhdGUuaCIKICNpbXBvcnQgIlZpZGVvRnVsbHNj
cmVlbk1hbmFnZXJQcm94eS5oIgogI2ltcG9ydCAiVmlld0dlc3R1cmVDb250cm9sbGVyLmgiCkBA
IC0xMjU2LDYgKzEyNTcsMjIgQEAgLSAoTlNTdHJpbmcgKiltZWRpYVR5cGUKICAgICByZXR1cm4g
X3BhZ2UtPm92ZXJyaWRkZW5NZWRpYVR5cGUoKS5pc051bGwoKSA/IG5pbCA6IChOU1N0cmluZyAq
KV9wYWdlLT5vdmVycmlkZGVuTWVkaWFUeXBlKCk7CiB9CiAKKy0gKGlkIDxOU1NlY3VyZUNvZGlu
Zz4paW50ZXJhY3Rpb25TdGF0ZQoreworICAgIHJldHVybiBXZWJLaXQ6OmVuY29kZVNlc3Npb25T
dGF0ZShfcGFnZS0+c2Vzc2lvblN0YXRlKCkpLmF1dG9yZWxlYXNlKCk7Cit9CisKKy0gKHZvaWQp
c2V0SW50ZXJhY3Rpb25TdGF0ZTooaWQgPE5TU2VjdXJlQ29kaW5nPilpbnRlcmFjdGlvblN0YXRl
Cit7CisgICAgaWYgKCFbKGlkKWludGVyYWN0aW9uU3RhdGUgaXNLaW5kT2ZDbGFzczpbTlNEYXRh
IGNsYXNzXV0pCisgICAgICAgIHJldHVybjsKKworICAgIFdlYktpdDo6U2Vzc2lvblN0YXRlIHNl
c3Npb25TdGF0ZTsKKyAgICBpZiAoIVdlYktpdDo6ZGVjb2RlU2Vzc2lvblN0YXRlKChOU0RhdGEg
KikoaW50ZXJhY3Rpb25TdGF0ZSksIHNlc3Npb25TdGF0ZSkpCisgICAgICAgIHJldHVybjsKKyAg
ICBfcGFnZS0+cmVzdG9yZUZyb21TZXNzaW9uU3RhdGUoc2Vzc2lvblN0YXRlLCBmYWxzZSk7Cit9
CisKICNwcmFnbWEgbWFyayAtIGlPUyBBUEkKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCmRp
ZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNjk2NzI0
NzZjOTM5NjAyYzEzNDE5YjdkMTY0MjlkZDUwNWI4ZTU4MC4uMThmZTZjMGJmNTlhMzY2YTM2Yzg2
NjBkNWY3ZTdiODM4NDMyYjdjOSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rv
b2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIxLTAxLTI2ICBDaHJpcyBEdW1leiAg
PGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBBZGQgV0tXZWJWaWV3IHNlc3Np
b24gcmVzdG9yYXRpb24gQVBJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMjA5NTgKKyAgICAgICAgPHJkYXI6Ly83MDk1NjE0Nj4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgQVBJIHRlc3QgY292ZXJh
Z2UuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9XS0JhY2tGb3J3YXJk
TGlzdC5tbToKKyAgICAgICAgKFRFU1QpOgorCiAyMDIxLTAxLTI2ICBDb21taXQgUXVldWUgIDxj
b21taXQtcXVldWVAd2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCByZXZlcnRpbmcg
cjI3MTU3OC4KZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1dL
QmFja0ZvcndhcmRMaXN0Lm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvV0tC
YWNrRm9yd2FyZExpc3QubW0KaW5kZXggODNiY2ZhOTcyMDFhMDMwZWI1NzU2MDY1ZjliNWVmYWUz
MzQ4YjY0Yi4uNDNlYmU4Mjc1OWI0NmZkNDJhMTE2MmE3M2EwZTVlNTRkNDc2ZGE5MSAxMDA2NDQK
LS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvV0tCYWNrRm9yd2FyZExpc3Qu
bW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvV0tCYWNrRm9yd2FyZExp
c3QubW0KQEAgLTE2NiwzICsxNjYsMTM2IEBAIFRFU1QoV0tCYWNrRm9yd2FyZExpc3QsIFdpbmRv
d0xvY2F0aW9uQXN5bmNQb2xpY3lEZWNpc2lvbikKICAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpy
dW4oJmRvbmUpOwogICAgIEVYUEVDVF9TVFJFUSh3ZWJWaWV3LmdldCgpLmJhY2tGb3J3YXJkTGlz
dC5jdXJyZW50SXRlbS5VUkwuYWJzb2x1dGVTdHJpbmcuVVRGOFN0cmluZywgc2ltcGxlLmFic29s
dXRlU3RyaW5nLlVURjhTdHJpbmcpOwogfQorCitURVNUKFdLQmFja0ZvcndhcmRMaXN0LCBJbnRl
cmFjdGlvblN0YXRlUmVzdG9yYXRpb24pCit7CisgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhb
W1dLV2ViVmlldyBhbGxvY10gaW5pdF0pOworCisgICAgTlNVUkwgKnVybDEgPSBbW05TQnVuZGxl
IG1haW5CdW5kbGVdIFVSTEZvclJlc291cmNlOkAic2ltcGxlIiB3aXRoRXh0ZW5zaW9uOkAiaHRt
bCIgc3ViZGlyZWN0b3J5OkAiVGVzdFdlYktpdEFQSS5yZXNvdXJjZXMiXTsKKyAgICBOU1VSTCAq
dXJsMiA9IFtbTlNCdW5kbGUgbWFpbkJ1bmRsZV0gVVJMRm9yUmVzb3VyY2U6QCJzaW1wbGUyIiB3
aXRoRXh0ZW5zaW9uOkAiaHRtbCIgc3ViZGlyZWN0b3J5OkAiVGVzdFdlYktpdEFQSS5yZXNvdXJj
ZXMiXTsKKyAgICBOU1VSTCAqdXJsMyA9IFtbTlNCdW5kbGUgbWFpbkJ1bmRsZV0gVVJMRm9yUmVz
b3VyY2U6QCJzaW1wbGUzIiB3aXRoRXh0ZW5zaW9uOkAiaHRtbCIgc3ViZGlyZWN0b3J5OkAiVGVz
dFdlYktpdEFQSS5yZXNvdXJjZXMiXTsKKworICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OltOU1VS
TFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6dXJsMV1dOworICAgIFt3ZWJWaWV3IF90ZXN0X3dhaXRG
b3JEaWRGaW5pc2hOYXZpZ2F0aW9uXTsKKworICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OltOU1VS
TFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6dXJsMl1dOworICAgIFt3ZWJWaWV3IF90ZXN0X3dhaXRG
b3JEaWRGaW5pc2hOYXZpZ2F0aW9uXTsKKworICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OltOU1VS
TFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6dXJsM11dOworICAgIFt3ZWJWaWV3IF90ZXN0X3dhaXRG
b3JEaWRGaW5pc2hOYXZpZ2F0aW9uXTsKKworICAgIFdLQmFja0ZvcndhcmRMaXN0ICpsaXN0ID0g
W3dlYlZpZXcgYmFja0ZvcndhcmRMaXN0XTsKKyAgICBFWFBFQ1RfRVEoKE5TVUludGVnZXIpMiwg
bGlzdC5iYWNrTGlzdC5jb3VudCk7CisgICAgRVhQRUNUX0VRKChOU1VJbnRlZ2VyKTAsIGxpc3Qu
Zm9yd2FyZExpc3QuY291bnQpOworICAgIEVYUEVDVF9TVFJFUShbW2xpc3QuY3VycmVudEl0ZW0g
VVJMXSBhYnNvbHV0ZVN0cmluZ10uVVRGOFN0cmluZywgdXJsMy5hYnNvbHV0ZVN0cmluZy5VVEY4
U3RyaW5nKTsKKworICAgIGlkIGludGVyYWN0aW9uU3RhdGUgPSBbd2ViVmlldyBpbnRlcmFjdGlv
blN0YXRlXTsKKworICAgIHdlYlZpZXcgPSBhZG9wdE5TKFtbV0tXZWJWaWV3IGFsbG9jXSBpbml0
XSk7CisKKyAgICBbd2ViVmlldyBzZXRJbnRlcmFjdGlvblN0YXRlOmludGVyYWN0aW9uU3RhdGVd
OworCisgICAgV0tCYWNrRm9yd2FyZExpc3QgKm5ld0xpc3QgPSBbd2ViVmlldyBiYWNrRm9yd2Fy
ZExpc3RdOworCisgICAgRVhQRUNUX0VRKChOU1VJbnRlZ2VyKTIsIG5ld0xpc3QuYmFja0xpc3Qu
Y291bnQpOworICAgIEVYUEVDVF9FUSgoTlNVSW50ZWdlcikwLCBuZXdMaXN0LmZvcndhcmRMaXN0
LmNvdW50KTsKKyAgICBFWFBFQ1RfU1RSRVEoW1tuZXdMaXN0LmN1cnJlbnRJdGVtIFVSTF0gYWJz
b2x1dGVTdHJpbmddLlVURjhTdHJpbmcsIHVybDMuYWJzb2x1dGVTdHJpbmcuVVRGOFN0cmluZyk7
CisKKyAgICBbd2ViVmlldyByZWxvYWRdOworICAgIFt3ZWJWaWV3IF90ZXN0X3dhaXRGb3JEaWRG
aW5pc2hOYXZpZ2F0aW9uXTsKKworICAgIGRvbmUgPSBmYWxzZTsKKyAgICBbd2ViVmlldyBldmFs
dWF0ZUphdmFTY3JpcHQ6QCJkb2N1bWVudC5ib2R5LmlubmVyVGV4dCIgY29tcGxldGlvbkhhbmRs
ZXI6XihpZCByZXN1bHQsIE5TRXJyb3IgKmVycm9yKSB7CisgICAgICAgIEVYUEVDVF9UUlVFKCFl
cnJvcik7CisgICAgICAgIE5TU3RyaW5nKiBib2R5VGV4dCA9IHJlc3VsdDsKKyAgICAgICAgRVhQ
RUNUX1dLX1NUUkVRKEAiVGhpcmQgc2ltcGxlIEhUTUwgZmlsZS4iLCBib2R5VGV4dCk7CisgICAg
ICAgIGRvbmUgPSB0cnVlOworICAgIH1dOworICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigm
ZG9uZSk7CisKKyAgICBbd2ViVmlldyBnb0JhY2tdOworICAgIFt3ZWJWaWV3IF90ZXN0X3dhaXRG
b3JEaWRGaW5pc2hOYXZpZ2F0aW9uXTsKKworICAgIGRvbmUgPSBmYWxzZTsKKyAgICBbd2ViVmll
dyBldmFsdWF0ZUphdmFTY3JpcHQ6QCJkb2N1bWVudC5ib2R5LmlubmVyVGV4dCIgY29tcGxldGlv
bkhhbmRsZXI6XihpZCByZXN1bHQsIE5TRXJyb3IgKmVycm9yKSB7CisgICAgICAgIEVYUEVDVF9U
UlVFKCFlcnJvcik7CisgICAgICAgIE5TU3RyaW5nKiBib2R5VGV4dCA9IHJlc3VsdDsKKyAgICAg
ICAgRVhQRUNUX1dLX1NUUkVRKEAiU2Vjb25kIHNpbXBsZSBIVE1MIGZpbGUuIiwgYm9keVRleHQp
OworICAgICAgICBkb25lID0gdHJ1ZTsKKyAgICB9XTsKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGls
OjpydW4oJmRvbmUpOworCisgICAgW3dlYlZpZXcgZ29CYWNrXTsKKyAgICBbd2ViVmlldyBfdGVz
dF93YWl0Rm9yRGlkRmluaXNoTmF2aWdhdGlvbl07CisKKyAgICBkb25lID0gZmFsc2U7CisgICAg
W3dlYlZpZXcgZXZhbHVhdGVKYXZhU2NyaXB0OkAiZG9jdW1lbnQuYm9keS5pbm5lclRleHQiIGNv
bXBsZXRpb25IYW5kbGVyOl4oaWQgcmVzdWx0LCBOU0Vycm9yICplcnJvcikgeworICAgICAgICBF
WFBFQ1RfVFJVRSghZXJyb3IpOworICAgICAgICBOU1N0cmluZyogYm9keVRleHQgPSByZXN1bHQ7
CisgICAgICAgIEVYUEVDVF9XS19TVFJFUShAIlNpbXBsZSBIVE1MIGZpbGUuIiwgYm9keVRleHQp
OworICAgICAgICBkb25lID0gdHJ1ZTsKKyAgICB9XTsKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGls
OjpydW4oJmRvbmUpOworfQorCitURVNUKFdLQmFja0ZvcndhcmRMaXN0LCBJbnRlcmFjdGlvblN0
YXRlUmVzdG9yYXRpb25OaWwpCit7CisgICAgYXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1dLV2Vi
VmlldyBhbGxvY10gaW5pdF0pOworCisgICAgTlNVUkwgKnVybDEgPSBbW05TQnVuZGxlIG1haW5C
dW5kbGVdIFVSTEZvclJlc291cmNlOkAic2ltcGxlIiB3aXRoRXh0ZW5zaW9uOkAiaHRtbCIgc3Vi
ZGlyZWN0b3J5OkAiVGVzdFdlYktpdEFQSS5yZXNvdXJjZXMiXTsKKyAgICBOU1VSTCAqdXJsMiA9
IFtbTlNCdW5kbGUgbWFpbkJ1bmRsZV0gVVJMRm9yUmVzb3VyY2U6QCJzaW1wbGUyIiB3aXRoRXh0
ZW5zaW9uOkAiaHRtbCIgc3ViZGlyZWN0b3J5OkAiVGVzdFdlYktpdEFQSS5yZXNvdXJjZXMiXTsK
KyAgICBOU1VSTCAqdXJsMyA9IFtbTlNCdW5kbGUgbWFpbkJ1bmRsZV0gVVJMRm9yUmVzb3VyY2U6
QCJzaW1wbGUzIiB3aXRoRXh0ZW5zaW9uOkAiaHRtbCIgc3ViZGlyZWN0b3J5OkAiVGVzdFdlYktp
dEFQSS5yZXNvdXJjZXMiXTsKKworICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OltOU1VSTFJlcXVl
c3QgcmVxdWVzdFdpdGhVUkw6dXJsMV1dOworICAgIFt3ZWJWaWV3IF90ZXN0X3dhaXRGb3JEaWRG
aW5pc2hOYXZpZ2F0aW9uXTsKKworICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OltOU1VSTFJlcXVl
c3QgcmVxdWVzdFdpdGhVUkw6dXJsMl1dOworICAgIFt3ZWJWaWV3IF90ZXN0X3dhaXRGb3JEaWRG
aW5pc2hOYXZpZ2F0aW9uXTsKKworICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0OltOU1VSTFJlcXVl
c3QgcmVxdWVzdFdpdGhVUkw6dXJsM11dOworICAgIFt3ZWJWaWV3IF90ZXN0X3dhaXRGb3JEaWRG
aW5pc2hOYXZpZ2F0aW9uXTsKKworICAgIFdLQmFja0ZvcndhcmRMaXN0ICpsaXN0ID0gW3dlYlZp
ZXcgYmFja0ZvcndhcmRMaXN0XTsKKyAgICBFWFBFQ1RfRVEoKE5TVUludGVnZXIpMiwgbGlzdC5i
YWNrTGlzdC5jb3VudCk7CisgICAgRVhQRUNUX0VRKChOU1VJbnRlZ2VyKTAsIGxpc3QuZm9yd2Fy
ZExpc3QuY291bnQpOworICAgIEVYUEVDVF9TVFJFUShbW2xpc3QuY3VycmVudEl0ZW0gVVJMXSBh
YnNvbHV0ZVN0cmluZ10uVVRGOFN0cmluZywgdXJsMy5hYnNvbHV0ZVN0cmluZy5VVEY4U3RyaW5n
KTsKKworICAgIFt3ZWJWaWV3IHNldEludGVyYWN0aW9uU3RhdGU6bmlsXTsKKworICAgIGxpc3Qg
PSBbd2ViVmlldyBiYWNrRm9yd2FyZExpc3RdOworICAgIEVYUEVDVF9FUSgoTlNVSW50ZWdlciky
LCBsaXN0LmJhY2tMaXN0LmNvdW50KTsKKyAgICBFWFBFQ1RfRVEoKE5TVUludGVnZXIpMCwgbGlz
dC5mb3J3YXJkTGlzdC5jb3VudCk7CisgICAgRVhQRUNUX1NUUkVRKFtbbGlzdC5jdXJyZW50SXRl
bSBVUkxdIGFic29sdXRlU3RyaW5nXS5VVEY4U3RyaW5nLCB1cmwzLmFic29sdXRlU3RyaW5nLlVU
RjhTdHJpbmcpOworfQorCitURVNUKFdLQmFja0ZvcndhcmRMaXN0LCBJbnRlcmFjdGlvblN0YXRl
UmVzdG9yYXRpb25JbnZhbGlkKQoreworICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tXS1dl
YlZpZXcgYWxsb2NdIGluaXRdKTsKKworICAgIE5TVVJMICp1cmwxID0gW1tOU0J1bmRsZSBtYWlu
QnVuZGxlXSBVUkxGb3JSZXNvdXJjZTpAInNpbXBsZSIgd2l0aEV4dGVuc2lvbjpAImh0bWwiIHN1
YmRpcmVjdG9yeTpAIlRlc3RXZWJLaXRBUEkucmVzb3VyY2VzIl07CisgICAgTlNVUkwgKnVybDIg
PSBbW05TQnVuZGxlIG1haW5CdW5kbGVdIFVSTEZvclJlc291cmNlOkAic2ltcGxlMiIgd2l0aEV4
dGVuc2lvbjpAImh0bWwiIHN1YmRpcmVjdG9yeTpAIlRlc3RXZWJLaXRBUEkucmVzb3VyY2VzIl07
CisgICAgTlNVUkwgKnVybDMgPSBbW05TQnVuZGxlIG1haW5CdW5kbGVdIFVSTEZvclJlc291cmNl
OkAic2ltcGxlMyIgd2l0aEV4dGVuc2lvbjpAImh0bWwiIHN1YmRpcmVjdG9yeTpAIlRlc3RXZWJL
aXRBUEkucmVzb3VyY2VzIl07CisKKyAgICBbd2ViVmlldyBsb2FkUmVxdWVzdDpbTlNVUkxSZXF1
ZXN0IHJlcXVlc3RXaXRoVVJMOnVybDFdXTsKKyAgICBbd2ViVmlldyBfdGVzdF93YWl0Rm9yRGlk
RmluaXNoTmF2aWdhdGlvbl07CisKKyAgICBbd2ViVmlldyBsb2FkUmVxdWVzdDpbTlNVUkxSZXF1
ZXN0IHJlcXVlc3RXaXRoVVJMOnVybDJdXTsKKyAgICBbd2ViVmlldyBfdGVzdF93YWl0Rm9yRGlk
RmluaXNoTmF2aWdhdGlvbl07CisKKyAgICBbd2ViVmlldyBsb2FkUmVxdWVzdDpbTlNVUkxSZXF1
ZXN0IHJlcXVlc3RXaXRoVVJMOnVybDNdXTsKKyAgICBbd2ViVmlldyBfdGVzdF93YWl0Rm9yRGlk
RmluaXNoTmF2aWdhdGlvbl07CisKKyAgICBXS0JhY2tGb3J3YXJkTGlzdCAqbGlzdCA9IFt3ZWJW
aWV3IGJhY2tGb3J3YXJkTGlzdF07CisgICAgRVhQRUNUX0VRKChOU1VJbnRlZ2VyKTIsIGxpc3Qu
YmFja0xpc3QuY291bnQpOworICAgIEVYUEVDVF9FUSgoTlNVSW50ZWdlcikwLCBsaXN0LmZvcndh
cmRMaXN0LmNvdW50KTsKKyAgICBFWFBFQ1RfU1RSRVEoW1tsaXN0LmN1cnJlbnRJdGVtIFVSTF0g
YWJzb2x1dGVTdHJpbmddLlVURjhTdHJpbmcsIHVybDMuYWJzb2x1dGVTdHJpbmcuVVRGOFN0cmlu
Zyk7CisKKyAgICBOU1N0cmluZyAqaW52YWxpZFN0YXRlID0gQCJmb28iOworICAgIFt3ZWJWaWV3
IHNldEludGVyYWN0aW9uU3RhdGU6aW52YWxpZFN0YXRlXTsKKworICAgIGxpc3QgPSBbd2ViVmll
dyBiYWNrRm9yd2FyZExpc3RdOworICAgIEVYUEVDVF9FUSgoTlNVSW50ZWdlcikyLCBsaXN0LmJh
Y2tMaXN0LmNvdW50KTsKKyAgICBFWFBFQ1RfRVEoKE5TVUludGVnZXIpMCwgbGlzdC5mb3J3YXJk
TGlzdC5jb3VudCk7CisgICAgRVhQRUNUX1NUUkVRKFtbbGlzdC5jdXJyZW50SXRlbSBVUkxdIGFi
c29sdXRlU3RyaW5nXS5VVEY4U3RyaW5nLCB1cmwzLmFic29sdXRlU3RyaW5nLlVURjhTdHJpbmcp
OworfQorCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>418655</attachid>
            <date>2021-01-28 10:32:07 -0800</date>
            <delta_ts>2021-02-22 09:50:35 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220958-20210128103206.patch</filename>
            <type>text/plain</type>
            <size>11484</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxOTg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGZkM2JmYWMwOGFlM2Q3MDY1
ZmI2MzBlMmFhZGFkMWI3YTMxZGQxODcuLmVlY2RkN2JiYmVlNjRjMWY0NDhkY2YwZmI4Mzc3NDRi
Y2I1M2I5NTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMjEtMDEtMjYgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIEFkZCBXS1dlYlZpZXcg
c2Vzc2lvbiByZXN0b3JhdGlvbiBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIyMDk1OAorICAgICAgICA8cmRhcjovLzcwOTU2MTQ2PgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBXS1dlYlZpZXcg
c2Vzc2lvbiByZXN0b3JhdGlvbiBBUEkgc28gdGhhdCBhcHBsaWNhdGlvbnMgY2FuIGVhc2lseSBy
ZXRyaWV2ZQorICAgICAgICB2aWV3IHN0YXRlIChzdWNoIGFzIGJhY2stZm9yd2FyZCBsaXN0LCBz
Y3JvbGwgcG9zaXRpb24sIGZvcm0gZGF0YS4uLikgYW5kCisgICAgICAgIHJlc3RvcmUgaXQgb24g
YSBXS1dlYlZpZXcgbGF0ZXIgb24uCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dL
V2ViVmlldy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tOgor
ICAgICAgICAoLVtXS1dlYlZpZXcgaW50ZXJhY3Rpb25TdGF0ZV0pOgorICAgICAgICAoLVtXS1dl
YlZpZXcgc2V0SW50ZXJhY3Rpb25TdGF0ZTpdKToKKwogMjAyMS0wMS0yNyAgQnJlbnQgRnVsZ2hh
bSAgPGJmdWxnaGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBDb25kaXRpb25hbGl6ZSBk
ZWJ1Z2dpbmcgc3VwcG9ydCBvbiBpbnRlcm5hbCBidWlsZHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcuaCBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcuaAppbmRleCAxNTk3NTg3YjY2OTkyY2ZiNWM0ZjU4
NjA4MjFlNzA1ZTkzY2I3MmRhLi40OTgyODJhOGIxOTBlNGMwMWQ3MjRjMmQyNmFjODQyMjgyOThm
ZWM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJW
aWV3LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5o
CkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNC0yMDIwIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNC0yMDIxIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwpAQCAtNDcyLDYgKzQ3MiwxMiBAQCBUaGUgdW5pZm9ybSB0eXBlIGlkZW50aWZpZXIga1VUVHlw
ZVdlYkFyY2hpdmUgY2FuIGJlIHVzZWQgZ2V0IHRoZSByZWxhdGVkIHBhc3RlYgogKi8KIEBwcm9w
ZXJ0eSAobm9uYXRvbWljLCBudWxsYWJsZSwgY29weSkgTlNTdHJpbmcgKm1lZGlhVHlwZSBXS19B
UElfQVZBSUxBQkxFKG1hY29zKDExLjApLCBpb3MoMTQuMCkpOwogCisvKiBAYWJzdHJhY3QgVGhl
IGludGVyYWN0aW9uIHN0YXRlIGZvciB0aGUgV0tXZWJWaWV3CisgQGRpc2N1c3Npb24gVGhlIGlu
dGVyYWN0aW9uIHN0YXRlIChiYWNrLWZvcndhcmQgbGlzdCwgc2Nyb2xsIHBvc2l0aW9uLCBmb3Jt
IGRhdGEuLi4pIGZvciB0aGUgV0tXZWJWaWV3LCB3aGljaAorIGNhbiBiZSByZXRyaWV2ZWQgYW5k
IHNldCBvbiBhbm90aGVyIFdLV2ViVmlldyB0byByZXN0b3JlIHN0YXRlLgorKi8KK0Bwcm9wZXJ0
eSAobm9uYXRvbWljLCBudWxsYWJsZSwgY29weSkgaWQgPE5TU2VjdXJlQ29kaW5nPmludGVyYWN0
aW9uU3RhdGUgV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19U
QkEpKTsKKwogI2lmICFUQVJHRVRfT1NfSVBIT05FCiAvKiBAYWJzdHJhY3QgUmV0dXJucyBhbiBO
U1ByaW50T3BlcmF0aW9uIG9iamVjdCBjb25maWd1cmVkIHRvIHByaW50IHRoZSBjb250ZW50cyBv
ZiB0aGlzIFdLV2ViVmlldwogQHBhcmFtIHByaW50SW5mbyBUaGUgcHJpbnQgaW5mbyBvYmplY3Qg
dXNlZCB0byBjb25maWd1cmUgdGhlIHJlc3VsdGluZyBwcmludCBvcGVyYXRpb24uCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQppbmRleCA3NDVhZDU1
YWM0NmNkM2Y2MmZlOGY3ODBmZDIwY2UwNGVjMTkwMzc5Li4yMmNhZTRkODFjYzg1Y2IyM2E2YzYz
ZTE0NDg2ZDc5YzM2M2QxOTM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQ29jb2EvV0tXZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS1dlYlZpZXcubW0KQEAgLTUyLDYgKzUyLDcgQEAKICNpbXBvcnQgIlJlbW90ZU9iamVj
dFJlZ2lzdHJ5TWVzc2FnZXMuaCIKICNpbXBvcnQgIlJlc291cmNlTG9hZERlbGVnYXRlLmgiCiAj
aW1wb3J0ICJTYWZlQnJvd3NpbmdXYXJuaW5nLmgiCisjaW1wb3J0ICJTZXNzaW9uU3RhdGVDb2Rp
bmcuaCIKICNpbXBvcnQgIlVJRGVsZWdhdGUuaCIKICNpbXBvcnQgIlZpZGVvRnVsbHNjcmVlbk1h
bmFnZXJQcm94eS5oIgogI2ltcG9ydCAiVmlld0dlc3R1cmVDb250cm9sbGVyLmgiCkBAIC0xMjYx
LDYgKzEyNjIsMjIgQEAgLSAoTlNTdHJpbmcgKiltZWRpYVR5cGUKICAgICByZXR1cm4gX3BhZ2Ut
Pm92ZXJyaWRkZW5NZWRpYVR5cGUoKS5pc051bGwoKSA/IG5pbCA6IChOU1N0cmluZyAqKV9wYWdl
LT5vdmVycmlkZGVuTWVkaWFUeXBlKCk7CiB9CiAKKy0gKGlkIDxOU1NlY3VyZUNvZGluZz4paW50
ZXJhY3Rpb25TdGF0ZQoreworICAgIHJldHVybiBXZWJLaXQ6OmVuY29kZVNlc3Npb25TdGF0ZShf
cGFnZS0+c2Vzc2lvblN0YXRlKCkpLmF1dG9yZWxlYXNlKCk7Cit9CisKKy0gKHZvaWQpc2V0SW50
ZXJhY3Rpb25TdGF0ZTooaWQgPE5TU2VjdXJlQ29kaW5nPilpbnRlcmFjdGlvblN0YXRlCit7Cisg
ICAgaWYgKCFbKGlkKWludGVyYWN0aW9uU3RhdGUgaXNLaW5kT2ZDbGFzczpbTlNEYXRhIGNsYXNz
XV0pCisgICAgICAgIHJldHVybjsKKworICAgIFdlYktpdDo6U2Vzc2lvblN0YXRlIHNlc3Npb25T
dGF0ZTsKKyAgICBpZiAoIVdlYktpdDo6ZGVjb2RlU2Vzc2lvblN0YXRlKChOU0RhdGEgKikoaW50
ZXJhY3Rpb25TdGF0ZSksIHNlc3Npb25TdGF0ZSkpCisgICAgICAgIHJldHVybjsKKyAgICBfcGFn
ZS0+cmVzdG9yZUZyb21TZXNzaW9uU3RhdGUoc2Vzc2lvblN0YXRlLCBmYWxzZSk7Cit9CisKICNw
cmFnbWEgbWFyayAtIGlPUyBBUEkKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCmRpZmYgLS1n
aXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNWFmMDBjOTk4MTUz
NjU4MjJhNjU3YjI1MjUzYzhjZTVhZDRmZmU2Ny4uNTQxODk3YjNjMDk4NDQwMmE4Y2QzOWFkNWQ5
YTYxZGY4MDAyNmJiMCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIxLTAxLTI2ICBDaHJpcyBEdW1leiAgPGNkdW1l
ekBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBBZGQgV0tXZWJWaWV3IHNlc3Npb24gcmVz
dG9yYXRpb24gQVBJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMjA5NTgKKyAgICAgICAgPHJkYXI6Ly83MDk1NjE0Nj4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgQVBJIHRlc3QgY292ZXJhZ2UuCisK
KyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9XS0JhY2tGb3J3YXJkTGlzdC5t
bToKKyAgICAgICAgKFRFU1QpOgorCiAyMDIxLTAxLTI3ICBLYXRlIENoZW5leSAgPGthdGhlcmlu
ZV9jaGVuZXlAYXBwbGUuY29tPgogCiAgICAgICAgIFdLV2ViVmlldyBjbG9zZUFsbE1lZGlhUHJl
c2VudGF0aW9ucyBBUEkgZG9lcyBub3QgaGF2ZSBhIGNvbXBsZXRpb24gaGFuZGxlcgpkaWZmIC0t
Z2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvV0tCYWNrRm9yd2FyZExpc3Qu
bW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9XS0JhY2tGb3J3YXJkTGlzdC5t
bQppbmRleCA4M2JjZmE5NzIwMWEwMzBlYjU3NTYwNjVmOWI1ZWZhZTMzNDhiNjRiLi45YTE4NjQz
ZmU3NDVlN2E4ZmRhMDZhZDI1MDdiNmM5MGU1MTUzMDNhIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9XS0JhY2tGb3J3YXJkTGlzdC5tbQorKysgYi9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9XS0JhY2tGb3J3YXJkTGlzdC5tbQpAQCAtMTY2LDMg
KzE2NiwxNDggQEAgVEVTVChXS0JhY2tGb3J3YXJkTGlzdCwgV2luZG93TG9jYXRpb25Bc3luY1Bv
bGljeURlY2lzaW9uKQogICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZSk7CiAgICAg
RVhQRUNUX1NUUkVRKHdlYlZpZXcuZ2V0KCkuYmFja0ZvcndhcmRMaXN0LmN1cnJlbnRJdGVtLlVS
TC5hYnNvbHV0ZVN0cmluZy5VVEY4U3RyaW5nLCBzaW1wbGUuYWJzb2x1dGVTdHJpbmcuVVRGOFN0
cmluZyk7CiB9CisKK1RFU1QoV0tCYWNrRm9yd2FyZExpc3QsIEludGVyYWN0aW9uU3RhdGVSZXN0
b3JhdGlvbikKK3sKKyAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbV0tXZWJWaWV3IGFsbG9j
XSBpbml0XSk7CisKKyAgICBOU1VSTCAqdXJsMSA9IFtbTlNCdW5kbGUgbWFpbkJ1bmRsZV0gVVJM
Rm9yUmVzb3VyY2U6QCJzaW1wbGUiIHdpdGhFeHRlbnNpb246QCJodG1sIiBzdWJkaXJlY3Rvcnk6
QCJUZXN0V2ViS2l0QVBJLnJlc291cmNlcyJdOworICAgIE5TVVJMICp1cmwyID0gW1tOU0J1bmRs
ZSBtYWluQnVuZGxlXSBVUkxGb3JSZXNvdXJjZTpAInNpbXBsZTIiIHdpdGhFeHRlbnNpb246QCJo
dG1sIiBzdWJkaXJlY3Rvcnk6QCJUZXN0V2ViS2l0QVBJLnJlc291cmNlcyJdOworICAgIE5TVVJM
ICp1cmwzID0gW1tOU0J1bmRsZSBtYWluQnVuZGxlXSBVUkxGb3JSZXNvdXJjZTpAInNpbXBsZTMi
IHdpdGhFeHRlbnNpb246QCJodG1sIiBzdWJkaXJlY3Rvcnk6QCJUZXN0V2ViS2l0QVBJLnJlc291
cmNlcyJdOworCisgICAgW3dlYlZpZXcgbG9hZFJlcXVlc3Q6W05TVVJMUmVxdWVzdCByZXF1ZXN0
V2l0aFVSTDp1cmwxXV07CisgICAgW3dlYlZpZXcgX3Rlc3Rfd2FpdEZvckRpZEZpbmlzaE5hdmln
YXRpb25dOworCisgICAgW3dlYlZpZXcgbG9hZFJlcXVlc3Q6W05TVVJMUmVxdWVzdCByZXF1ZXN0
V2l0aFVSTDp1cmwyXV07CisgICAgW3dlYlZpZXcgX3Rlc3Rfd2FpdEZvckRpZEZpbmlzaE5hdmln
YXRpb25dOworCisgICAgW3dlYlZpZXcgbG9hZFJlcXVlc3Q6W05TVVJMUmVxdWVzdCByZXF1ZXN0
V2l0aFVSTDp1cmwzXV07CisgICAgW3dlYlZpZXcgX3Rlc3Rfd2FpdEZvckRpZEZpbmlzaE5hdmln
YXRpb25dOworCisgICAgV0tCYWNrRm9yd2FyZExpc3QgKmxpc3QgPSBbd2ViVmlldyBiYWNrRm9y
d2FyZExpc3RdOworICAgIEVYUEVDVF9FUSgoTlNVSW50ZWdlcikyLCBsaXN0LmJhY2tMaXN0LmNv
dW50KTsKKyAgICBFWFBFQ1RfRVEoKE5TVUludGVnZXIpMCwgbGlzdC5mb3J3YXJkTGlzdC5jb3Vu
dCk7CisgICAgRVhQRUNUX1NUUkVRKFtbbGlzdC5jdXJyZW50SXRlbSBVUkxdIGFic29sdXRlU3Ry
aW5nXS5VVEY4U3RyaW5nLCB1cmwzLmFic29sdXRlU3RyaW5nLlVURjhTdHJpbmcpOworCisgICAg
aWQgaW50ZXJhY3Rpb25TdGF0ZSA9IFt3ZWJWaWV3IGludGVyYWN0aW9uU3RhdGVdOworICAgIFJl
dGFpblB0cjxOU1VSTD4gdGVtcG9yYXJ5RmlsZSA9IFtOU1VSTCBmaWxlVVJMV2l0aFBhdGg6W05T
VGVtcG9yYXJ5RGlyZWN0b3J5KCkgc3RyaW5nQnlBcHBlbmRpbmdQYXRoQ29tcG9uZW50OltOU1VV
SUQgVVVJRF0uVVVJRFN0cmluZ10gaXNEaXJlY3Rvcnk6Tk9dOworICAgIE5TRXJyb3IgKmVycm9y
ID0gbmlsOworICAgIFJldGFpblB0cjxOU0RhdGE+IGFyY2hpdmVkSW50ZXJhY3Rpb25TdGF0ZSA9
IFtOU0tleWVkQXJjaGl2ZXIgYXJjaGl2ZWREYXRhV2l0aFJvb3RPYmplY3Q6aW50ZXJhY3Rpb25T
dGF0ZSByZXF1aXJpbmdTZWN1cmVDb2Rpbmc6WUVTIGVycm9yOiZlcnJvcl07CisgICAgRVhQRUNU
X1RSVUUoIWVycm9yKTsKKyAgICBpbnRlcmFjdGlvblN0YXRlID0gbmlsOworICAgIFthcmNoaXZl
ZEludGVyYWN0aW9uU3RhdGUgd3JpdGVUb1VSTDp0ZW1wb3JhcnlGaWxlLmdldCgpIG9wdGlvbnM6
TlNEYXRhV3JpdGluZ0F0b21pYyBlcnJvcjomZXJyb3JdOworICAgIGFyY2hpdmVkSW50ZXJhY3Rp
b25TdGF0ZSA9IG5pbDsKKyAgICBFWFBFQ1RfVFJVRSghZXJyb3IpOworCisgICAgd2ViVmlldyA9
IGFkb3B0TlMoW1tXS1dlYlZpZXcgYWxsb2NdIGluaXRdKTsKKworICAgIGFyY2hpdmVkSW50ZXJh
Y3Rpb25TdGF0ZSA9IFtOU0RhdGEgZGF0YVdpdGhDb250ZW50c09mVVJMOnRlbXBvcmFyeUZpbGUu
Z2V0KCldOworICAgIGludGVyYWN0aW9uU3RhdGUgPSBbTlNLZXllZFVuYXJjaGl2ZXIgdW5hcmNo
aXZlZE9iamVjdE9mQ2xhc3M6WyhpZClbd2ViVmlldyBpbnRlcmFjdGlvblN0YXRlXSBjbGFzc10g
ZnJvbURhdGE6YXJjaGl2ZWRJbnRlcmFjdGlvblN0YXRlLmdldCgpIGVycm9yOiZlcnJvcl07Cisg
ICAgRVhQRUNUX1RSVUUoIWVycm9yKTsKKworICAgIFt3ZWJWaWV3IHNldEludGVyYWN0aW9uU3Rh
dGU6aW50ZXJhY3Rpb25TdGF0ZV07CisKKyAgICBXS0JhY2tGb3J3YXJkTGlzdCAqbmV3TGlzdCA9
IFt3ZWJWaWV3IGJhY2tGb3J3YXJkTGlzdF07CisKKyAgICBFWFBFQ1RfRVEoKE5TVUludGVnZXIp
MiwgbmV3TGlzdC5iYWNrTGlzdC5jb3VudCk7CisgICAgRVhQRUNUX0VRKChOU1VJbnRlZ2VyKTAs
IG5ld0xpc3QuZm9yd2FyZExpc3QuY291bnQpOworICAgIEVYUEVDVF9TVFJFUShbW25ld0xpc3Qu
Y3VycmVudEl0ZW0gVVJMXSBhYnNvbHV0ZVN0cmluZ10uVVRGOFN0cmluZywgdXJsMy5hYnNvbHV0
ZVN0cmluZy5VVEY4U3RyaW5nKTsKKworICAgIFt3ZWJWaWV3IGdvVG9CYWNrRm9yd2FyZExpc3RJ
dGVtOltbd2ViVmlldyBiYWNrRm9yd2FyZExpc3RdIGN1cnJlbnRJdGVtXV07CisgICAgW3dlYlZp
ZXcgX3Rlc3Rfd2FpdEZvckRpZEZpbmlzaE5hdmlnYXRpb25dOworCisgICAgZG9uZSA9IGZhbHNl
OworICAgIFt3ZWJWaWV3IGV2YWx1YXRlSmF2YVNjcmlwdDpAImRvY3VtZW50LmJvZHkuaW5uZXJU
ZXh0IiBjb21wbGV0aW9uSGFuZGxlcjpeKGlkIHJlc3VsdCwgTlNFcnJvciAqZXJyb3IpIHsKKyAg
ICAgICAgRVhQRUNUX1RSVUUoIWVycm9yKTsKKyAgICAgICAgTlNTdHJpbmcqIGJvZHlUZXh0ID0g
cmVzdWx0OworICAgICAgICBFWFBFQ1RfV0tfU1RSRVEoQCJUaGlyZCBzaW1wbGUgSFRNTCBmaWxl
LiIsIGJvZHlUZXh0KTsKKyAgICAgICAgZG9uZSA9IHRydWU7CisgICAgfV07CisgICAgVGVzdFdl
YktpdEFQSTo6VXRpbDo6cnVuKCZkb25lKTsKKworICAgIFt3ZWJWaWV3IGdvQmFja107CisgICAg
W3dlYlZpZXcgX3Rlc3Rfd2FpdEZvckRpZEZpbmlzaE5hdmlnYXRpb25dOworCisgICAgZG9uZSA9
IGZhbHNlOworICAgIFt3ZWJWaWV3IGV2YWx1YXRlSmF2YVNjcmlwdDpAImRvY3VtZW50LmJvZHku
aW5uZXJUZXh0IiBjb21wbGV0aW9uSGFuZGxlcjpeKGlkIHJlc3VsdCwgTlNFcnJvciAqZXJyb3Ip
IHsKKyAgICAgICAgRVhQRUNUX1RSVUUoIWVycm9yKTsKKyAgICAgICAgTlNTdHJpbmcqIGJvZHlU
ZXh0ID0gcmVzdWx0OworICAgICAgICBFWFBFQ1RfV0tfU1RSRVEoQCJTZWNvbmQgc2ltcGxlIEhU
TUwgZmlsZS4iLCBib2R5VGV4dCk7CisgICAgICAgIGRvbmUgPSB0cnVlOworICAgIH1dOworICAg
IFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZSk7CisKKyAgICBbd2ViVmlldyBnb0JhY2td
OworICAgIFt3ZWJWaWV3IF90ZXN0X3dhaXRGb3JEaWRGaW5pc2hOYXZpZ2F0aW9uXTsKKworICAg
IGRvbmUgPSBmYWxzZTsKKyAgICBbd2ViVmlldyBldmFsdWF0ZUphdmFTY3JpcHQ6QCJkb2N1bWVu
dC5ib2R5LmlubmVyVGV4dCIgY29tcGxldGlvbkhhbmRsZXI6XihpZCByZXN1bHQsIE5TRXJyb3Ig
KmVycm9yKSB7CisgICAgICAgIEVYUEVDVF9UUlVFKCFlcnJvcik7CisgICAgICAgIE5TU3RyaW5n
KiBib2R5VGV4dCA9IHJlc3VsdDsKKyAgICAgICAgRVhQRUNUX1dLX1NUUkVRKEAiU2ltcGxlIEhU
TUwgZmlsZS4iLCBib2R5VGV4dCk7CisgICAgICAgIGRvbmUgPSB0cnVlOworICAgIH1dOworICAg
IFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZSk7Cit9CisKK1RFU1QoV0tCYWNrRm9yd2Fy
ZExpc3QsIEludGVyYWN0aW9uU3RhdGVSZXN0b3JhdGlvbk5pbCkKK3sKKyAgICBhdXRvIHdlYlZp
ZXcgPSBhZG9wdE5TKFtbV0tXZWJWaWV3IGFsbG9jXSBpbml0XSk7CisKKyAgICBOU1VSTCAqdXJs
MSA9IFtbTlNCdW5kbGUgbWFpbkJ1bmRsZV0gVVJMRm9yUmVzb3VyY2U6QCJzaW1wbGUiIHdpdGhF
eHRlbnNpb246QCJodG1sIiBzdWJkaXJlY3Rvcnk6QCJUZXN0V2ViS2l0QVBJLnJlc291cmNlcyJd
OworICAgIE5TVVJMICp1cmwyID0gW1tOU0J1bmRsZSBtYWluQnVuZGxlXSBVUkxGb3JSZXNvdXJj
ZTpAInNpbXBsZTIiIHdpdGhFeHRlbnNpb246QCJodG1sIiBzdWJkaXJlY3Rvcnk6QCJUZXN0V2Vi
S2l0QVBJLnJlc291cmNlcyJdOworICAgIE5TVVJMICp1cmwzID0gW1tOU0J1bmRsZSBtYWluQnVu
ZGxlXSBVUkxGb3JSZXNvdXJjZTpAInNpbXBsZTMiIHdpdGhFeHRlbnNpb246QCJodG1sIiBzdWJk
aXJlY3Rvcnk6QCJUZXN0V2ViS2l0QVBJLnJlc291cmNlcyJdOworCisgICAgW3dlYlZpZXcgbG9h
ZFJlcXVlc3Q6W05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDp1cmwxXV07CisgICAgW3dlYlZp
ZXcgX3Rlc3Rfd2FpdEZvckRpZEZpbmlzaE5hdmlnYXRpb25dOworCisgICAgW3dlYlZpZXcgbG9h
ZFJlcXVlc3Q6W05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDp1cmwyXV07CisgICAgW3dlYlZp
ZXcgX3Rlc3Rfd2FpdEZvckRpZEZpbmlzaE5hdmlnYXRpb25dOworCisgICAgW3dlYlZpZXcgbG9h
ZFJlcXVlc3Q6W05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDp1cmwzXV07CisgICAgW3dlYlZp
ZXcgX3Rlc3Rfd2FpdEZvckRpZEZpbmlzaE5hdmlnYXRpb25dOworCisgICAgV0tCYWNrRm9yd2Fy
ZExpc3QgKmxpc3QgPSBbd2ViVmlldyBiYWNrRm9yd2FyZExpc3RdOworICAgIEVYUEVDVF9FUSgo
TlNVSW50ZWdlcikyLCBsaXN0LmJhY2tMaXN0LmNvdW50KTsKKyAgICBFWFBFQ1RfRVEoKE5TVUlu
dGVnZXIpMCwgbGlzdC5mb3J3YXJkTGlzdC5jb3VudCk7CisgICAgRVhQRUNUX1NUUkVRKFtbbGlz
dC5jdXJyZW50SXRlbSBVUkxdIGFic29sdXRlU3RyaW5nXS5VVEY4U3RyaW5nLCB1cmwzLmFic29s
dXRlU3RyaW5nLlVURjhTdHJpbmcpOworCisgICAgW3dlYlZpZXcgc2V0SW50ZXJhY3Rpb25TdGF0
ZTpuaWxdOworCisgICAgbGlzdCA9IFt3ZWJWaWV3IGJhY2tGb3J3YXJkTGlzdF07CisgICAgRVhQ
RUNUX0VRKChOU1VJbnRlZ2VyKTIsIGxpc3QuYmFja0xpc3QuY291bnQpOworICAgIEVYUEVDVF9F
USgoTlNVSW50ZWdlcikwLCBsaXN0LmZvcndhcmRMaXN0LmNvdW50KTsKKyAgICBFWFBFQ1RfU1RS
RVEoW1tsaXN0LmN1cnJlbnRJdGVtIFVSTF0gYWJzb2x1dGVTdHJpbmddLlVURjhTdHJpbmcsIHVy
bDMuYWJzb2x1dGVTdHJpbmcuVVRGOFN0cmluZyk7Cit9CisKK1RFU1QoV0tCYWNrRm9yd2FyZExp
c3QsIEludGVyYWN0aW9uU3RhdGVSZXN0b3JhdGlvbkludmFsaWQpCit7CisgICAgYXV0byB3ZWJW
aWV3ID0gYWRvcHROUyhbW1dLV2ViVmlldyBhbGxvY10gaW5pdF0pOworCisgICAgTlNVUkwgKnVy
bDEgPSBbW05TQnVuZGxlIG1haW5CdW5kbGVdIFVSTEZvclJlc291cmNlOkAic2ltcGxlIiB3aXRo
RXh0ZW5zaW9uOkAiaHRtbCIgc3ViZGlyZWN0b3J5OkAiVGVzdFdlYktpdEFQSS5yZXNvdXJjZXMi
XTsKKyAgICBOU1VSTCAqdXJsMiA9IFtbTlNCdW5kbGUgbWFpbkJ1bmRsZV0gVVJMRm9yUmVzb3Vy
Y2U6QCJzaW1wbGUyIiB3aXRoRXh0ZW5zaW9uOkAiaHRtbCIgc3ViZGlyZWN0b3J5OkAiVGVzdFdl
YktpdEFQSS5yZXNvdXJjZXMiXTsKKyAgICBOU1VSTCAqdXJsMyA9IFtbTlNCdW5kbGUgbWFpbkJ1
bmRsZV0gVVJMRm9yUmVzb3VyY2U6QCJzaW1wbGUzIiB3aXRoRXh0ZW5zaW9uOkAiaHRtbCIgc3Vi
ZGlyZWN0b3J5OkAiVGVzdFdlYktpdEFQSS5yZXNvdXJjZXMiXTsKKworICAgIFt3ZWJWaWV3IGxv
YWRSZXF1ZXN0OltOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6dXJsMV1dOworICAgIFt3ZWJW
aWV3IF90ZXN0X3dhaXRGb3JEaWRGaW5pc2hOYXZpZ2F0aW9uXTsKKworICAgIFt3ZWJWaWV3IGxv
YWRSZXF1ZXN0OltOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6dXJsMl1dOworICAgIFt3ZWJW
aWV3IF90ZXN0X3dhaXRGb3JEaWRGaW5pc2hOYXZpZ2F0aW9uXTsKKworICAgIFt3ZWJWaWV3IGxv
YWRSZXF1ZXN0OltOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6dXJsM11dOworICAgIFt3ZWJW
aWV3IF90ZXN0X3dhaXRGb3JEaWRGaW5pc2hOYXZpZ2F0aW9uXTsKKworICAgIFdLQmFja0Zvcndh
cmRMaXN0ICpsaXN0ID0gW3dlYlZpZXcgYmFja0ZvcndhcmRMaXN0XTsKKyAgICBFWFBFQ1RfRVEo
KE5TVUludGVnZXIpMiwgbGlzdC5iYWNrTGlzdC5jb3VudCk7CisgICAgRVhQRUNUX0VRKChOU1VJ
bnRlZ2VyKTAsIGxpc3QuZm9yd2FyZExpc3QuY291bnQpOworICAgIEVYUEVDVF9TVFJFUShbW2xp
c3QuY3VycmVudEl0ZW0gVVJMXSBhYnNvbHV0ZVN0cmluZ10uVVRGOFN0cmluZywgdXJsMy5hYnNv
bHV0ZVN0cmluZy5VVEY4U3RyaW5nKTsKKworICAgIE5TU3RyaW5nICppbnZhbGlkU3RhdGUgPSBA
ImZvbyI7CisgICAgW3dlYlZpZXcgc2V0SW50ZXJhY3Rpb25TdGF0ZTppbnZhbGlkU3RhdGVdOwor
CisgICAgbGlzdCA9IFt3ZWJWaWV3IGJhY2tGb3J3YXJkTGlzdF07CisgICAgRVhQRUNUX0VRKChO
U1VJbnRlZ2VyKTIsIGxpc3QuYmFja0xpc3QuY291bnQpOworICAgIEVYUEVDVF9FUSgoTlNVSW50
ZWdlcikwLCBsaXN0LmZvcndhcmRMaXN0LmNvdW50KTsKKyAgICBFWFBFQ1RfU1RSRVEoW1tsaXN0
LmN1cnJlbnRJdGVtIFVSTF0gYWJzb2x1dGVTdHJpbmddLlVURjhTdHJpbmcsIHVybDMuYWJzb2x1
dGVTdHJpbmcuVVRGOFN0cmluZyk7Cit9CisK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>421205</attachid>
            <date>2021-02-22 09:50:37 -0800</date>
            <delta_ts>2021-02-22 12:35:29 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220958-20210222095036.patch</filename>
            <type>text/plain</type>
            <size>11370</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjczMjQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDQ0Yjg3ODU3ZjQ5MWYxMjA1
MDUyYmQ0MmE1OTU5ZTgxNzVmOTdmYWUuLjc5ODhhZjE1NzE1MmYxYmM4OGMxMmIzMzFkNzdhMDRi
MmRiMTVmYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMjEtMDEtMjYgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIEFkZCBXS1dlYlZpZXcg
c2Vzc2lvbiByZXN0b3JhdGlvbiBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIyMDk1OAorICAgICAgICA8cmRhcjovLzcwOTU2MTQ2PgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBXS1dlYlZpZXcg
c2Vzc2lvbiByZXN0b3JhdGlvbiBBUEkgc28gdGhhdCBhcHBsaWNhdGlvbnMgY2FuIGVhc2lseSBy
ZXRyaWV2ZQorICAgICAgICB2aWV3IHN0YXRlIChzdWNoIGFzIGJhY2stZm9yd2FyZCBsaXN0LCBz
Y3JvbGwgcG9zaXRpb24sIGZvcm0gZGF0YS4uLikgYW5kCisgICAgICAgIHJlc3RvcmUgaXQgb24g
YSBXS1dlYlZpZXcgbGF0ZXIgb24uCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dL
V2ViVmlldy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tOgor
ICAgICAgICAoLVtXS1dlYlZpZXcgaW50ZXJhY3Rpb25TdGF0ZV0pOgorICAgICAgICAoLVtXS1dl
YlZpZXcgc2V0SW50ZXJhY3Rpb25TdGF0ZTpdKToKKwogMjAyMS0wMi0yMiAgQ2FybG9zIEdhcmNp
YSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgW1NPVVBdIEFkZCBzdXBw
b3J0IGZvciBsaWJzb3VwMwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLV2ViVmlldy5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
V2ViVmlldy5oCmluZGV4IGEwOGNiZTIwOTMxMWI0ODZlM2RkNDVhNTRjNzUwYjdkOWQwNGVkMGQu
LmMwMmEwODg4OTM2N2QxMDExMzFmNTI1YzZlNWFhOTViN2VmMmI4ODMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3LmgKQEAgLTEsNSArMSw1IEBACiAv
KgotICogQ29weXJpZ2h0IChDKSAyMDE0LTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE0LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC00NzMsNiArNDczLDEy
IEBAIFRoZSB1bmlmb3JtIHR5cGUgaWRlbnRpZmllciBrVVRUeXBlV2ViQXJjaGl2ZSBjYW4gYmUg
dXNlZCBnZXQgdGhlIHJlbGF0ZWQgcGFzdGViCiAqLwogQHByb3BlcnR5IChub25hdG9taWMsIG51
bGxhYmxlLCBjb3B5KSBOU1N0cmluZyAqbWVkaWFUeXBlIFdLX0FQSV9BVkFJTEFCTEUobWFjb3Mo
MTEuMCksIGlvcygxNC4wKSk7CiAKKy8qIEBhYnN0cmFjdCBUaGUgaW50ZXJhY3Rpb24gc3RhdGUg
Zm9yIHRoZSBXS1dlYlZpZXcKKyBAZGlzY3Vzc2lvbiBUaGUgaW50ZXJhY3Rpb24gc3RhdGUgKGJh
Y2stZm9yd2FyZCBsaXN0LCBzY3JvbGwgcG9zaXRpb24sIGZvcm0gZGF0YS4uLikgZm9yIHRoZSBX
S1dlYlZpZXcsIHdoaWNoCisgY2FuIGJlIHJldHJpZXZlZCBhbmQgc2V0IG9uIGFub3RoZXIgV0tX
ZWJWaWV3IHRvIHJlc3RvcmUgc3RhdGUuCisqLworQHByb3BlcnR5IChub25hdG9taWMsIG51bGxh
YmxlLCBjb3B5KSBpZCBpbnRlcmFjdGlvblN0YXRlIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoV0tf
TUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CisKICNpZiAhVEFSR0VUX09TX0lQSE9ORQogLyog
QGFic3RyYWN0IFJldHVybnMgYW4gTlNQcmludE9wZXJhdGlvbiBvYmplY3QgY29uZmlndXJlZCB0
byBwcmludCB0aGUgY29udGVudHMgb2YgdGhpcyBXS1dlYlZpZXcKIEBwYXJhbSBwcmludEluZm8g
VGhlIHByaW50IGluZm8gb2JqZWN0IHVzZWQgdG8gY29uZmlndXJlIHRoZSByZXN1bHRpbmcgcHJp
bnQgb3BlcmF0aW9uLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dl
YlZpZXcubW0KaW5kZXggMjYxNDFjZjMyMWFlOTNiZGQ5NDYzMmMwMzllOTFiOTgyNTZiNDE5OC4u
NDhjODdlZjc1M2E4ZWRiYzAzMDAxMjlhNmYwNDhjYTZjYWRkNjc1YSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCkBAIC01Miw2ICs1Miw3IEBA
CiAjaW1wb3J0ICJSZW1vdGVPYmplY3RSZWdpc3RyeU1lc3NhZ2VzLmgiCiAjaW1wb3J0ICJSZXNv
dXJjZUxvYWREZWxlZ2F0ZS5oIgogI2ltcG9ydCAiU2FmZUJyb3dzaW5nV2FybmluZy5oIgorI2lt
cG9ydCAiU2Vzc2lvblN0YXRlQ29kaW5nLmgiCiAjaW1wb3J0ICJTaGFyZWRCdWZmZXJDb3B5Lmgi
CiAjaW1wb3J0ICJVSURlbGVnYXRlLmgiCiAjaW1wb3J0ICJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2Vy
UHJveHkuaCIKQEAgLTEyMzUsNiArMTIzNiwyMiBAQCAtIChOU1N0cmluZyAqKW1lZGlhVHlwZQog
ICAgIHJldHVybiBfcGFnZS0+b3ZlcnJpZGRlbk1lZGlhVHlwZSgpLmlzTnVsbCgpID8gbmlsIDog
KE5TU3RyaW5nICopX3BhZ2UtPm92ZXJyaWRkZW5NZWRpYVR5cGUoKTsKIH0KIAorLSAoaWQpaW50
ZXJhY3Rpb25TdGF0ZQoreworICAgIHJldHVybiBXZWJLaXQ6OmVuY29kZVNlc3Npb25TdGF0ZShf
cGFnZS0+c2Vzc2lvblN0YXRlKCkpLmF1dG9yZWxlYXNlKCk7Cit9CisKKy0gKHZvaWQpc2V0SW50
ZXJhY3Rpb25TdGF0ZTooaWQpaW50ZXJhY3Rpb25TdGF0ZQoreworICAgIGlmICghWyhpZClpbnRl
cmFjdGlvblN0YXRlIGlzS2luZE9mQ2xhc3M6W05TRGF0YSBjbGFzc11dKQorICAgICAgICByZXR1
cm47CisKKyAgICBXZWJLaXQ6OlNlc3Npb25TdGF0ZSBzZXNzaW9uU3RhdGU7CisgICAgaWYgKCFX
ZWJLaXQ6OmRlY29kZVNlc3Npb25TdGF0ZSgoTlNEYXRhICopKGludGVyYWN0aW9uU3RhdGUpLCBz
ZXNzaW9uU3RhdGUpKQorICAgICAgICByZXR1cm47CisgICAgX3BhZ2UtPnJlc3RvcmVGcm9tU2Vz
c2lvblN0YXRlKHNlc3Npb25TdGF0ZSwgZmFsc2UpOworfQorCiAjcHJhZ21hIG1hcmsgLSBpT1Mg
QVBJCiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdl
TG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDcyOTQ4MjU1NThhYTM5ZDY5ZjdmZjRkZWQwZWVi
YzczNWRiNmZjYzQuLjkzNDQ4MjdjOTI1NjQ3YTc4MjEyZGE2MThmZDYzNWM3YzBhMDkzMjMgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNiBAQAorMjAyMS0wMS0yNiAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisg
ICAgICAgIFtDb2NvYV0gQWRkIFdLV2ViVmlldyBzZXNzaW9uIHJlc3RvcmF0aW9uIEFQSQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIwOTU4CisgICAg
ICAgIDxyZGFyOi8vNzA5NTYxNDY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQWRkIEFQSSB0ZXN0IGNvdmVyYWdlLgorCisgICAgICAgICogVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJLaXQvV0tCYWNrRm9yd2FyZExpc3QubW06CisgICAgICAgIChURVNU
KToKKwogMjAyMS0wMi0yMiAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxpYS5jb20+
CiAKICAgICAgICAgW0ZsYXRwYWsgU0RLXSBnZGIgdW51c2FibGUgaW4gc2FuZGJveApkaWZmIC0t
Z2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvV0tCYWNrRm9yd2FyZExpc3Qu
bW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9XS0JhY2tGb3J3YXJkTGlzdC5t
bQppbmRleCA4M2JjZmE5NzIwMWEwMzBlYjU3NTYwNjVmOWI1ZWZhZTMzNDhiNjRiLi45YTE4NjQz
ZmU3NDVlN2E4ZmRhMDZhZDI1MDdiNmM5MGU1MTUzMDNhIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9XS0JhY2tGb3J3YXJkTGlzdC5tbQorKysgYi9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9XS0JhY2tGb3J3YXJkTGlzdC5tbQpAQCAtMTY2LDMg
KzE2NiwxNDggQEAgVEVTVChXS0JhY2tGb3J3YXJkTGlzdCwgV2luZG93TG9jYXRpb25Bc3luY1Bv
bGljeURlY2lzaW9uKQogICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZSk7CiAgICAg
RVhQRUNUX1NUUkVRKHdlYlZpZXcuZ2V0KCkuYmFja0ZvcndhcmRMaXN0LmN1cnJlbnRJdGVtLlVS
TC5hYnNvbHV0ZVN0cmluZy5VVEY4U3RyaW5nLCBzaW1wbGUuYWJzb2x1dGVTdHJpbmcuVVRGOFN0
cmluZyk7CiB9CisKK1RFU1QoV0tCYWNrRm9yd2FyZExpc3QsIEludGVyYWN0aW9uU3RhdGVSZXN0
b3JhdGlvbikKK3sKKyAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbV0tXZWJWaWV3IGFsbG9j
XSBpbml0XSk7CisKKyAgICBOU1VSTCAqdXJsMSA9IFtbTlNCdW5kbGUgbWFpbkJ1bmRsZV0gVVJM
Rm9yUmVzb3VyY2U6QCJzaW1wbGUiIHdpdGhFeHRlbnNpb246QCJodG1sIiBzdWJkaXJlY3Rvcnk6
QCJUZXN0V2ViS2l0QVBJLnJlc291cmNlcyJdOworICAgIE5TVVJMICp1cmwyID0gW1tOU0J1bmRs
ZSBtYWluQnVuZGxlXSBVUkxGb3JSZXNvdXJjZTpAInNpbXBsZTIiIHdpdGhFeHRlbnNpb246QCJo
dG1sIiBzdWJkaXJlY3Rvcnk6QCJUZXN0V2ViS2l0QVBJLnJlc291cmNlcyJdOworICAgIE5TVVJM
ICp1cmwzID0gW1tOU0J1bmRsZSBtYWluQnVuZGxlXSBVUkxGb3JSZXNvdXJjZTpAInNpbXBsZTMi
IHdpdGhFeHRlbnNpb246QCJodG1sIiBzdWJkaXJlY3Rvcnk6QCJUZXN0V2ViS2l0QVBJLnJlc291
cmNlcyJdOworCisgICAgW3dlYlZpZXcgbG9hZFJlcXVlc3Q6W05TVVJMUmVxdWVzdCByZXF1ZXN0
V2l0aFVSTDp1cmwxXV07CisgICAgW3dlYlZpZXcgX3Rlc3Rfd2FpdEZvckRpZEZpbmlzaE5hdmln
YXRpb25dOworCisgICAgW3dlYlZpZXcgbG9hZFJlcXVlc3Q6W05TVVJMUmVxdWVzdCByZXF1ZXN0
V2l0aFVSTDp1cmwyXV07CisgICAgW3dlYlZpZXcgX3Rlc3Rfd2FpdEZvckRpZEZpbmlzaE5hdmln
YXRpb25dOworCisgICAgW3dlYlZpZXcgbG9hZFJlcXVlc3Q6W05TVVJMUmVxdWVzdCByZXF1ZXN0
V2l0aFVSTDp1cmwzXV07CisgICAgW3dlYlZpZXcgX3Rlc3Rfd2FpdEZvckRpZEZpbmlzaE5hdmln
YXRpb25dOworCisgICAgV0tCYWNrRm9yd2FyZExpc3QgKmxpc3QgPSBbd2ViVmlldyBiYWNrRm9y
d2FyZExpc3RdOworICAgIEVYUEVDVF9FUSgoTlNVSW50ZWdlcikyLCBsaXN0LmJhY2tMaXN0LmNv
dW50KTsKKyAgICBFWFBFQ1RfRVEoKE5TVUludGVnZXIpMCwgbGlzdC5mb3J3YXJkTGlzdC5jb3Vu
dCk7CisgICAgRVhQRUNUX1NUUkVRKFtbbGlzdC5jdXJyZW50SXRlbSBVUkxdIGFic29sdXRlU3Ry
aW5nXS5VVEY4U3RyaW5nLCB1cmwzLmFic29sdXRlU3RyaW5nLlVURjhTdHJpbmcpOworCisgICAg
aWQgaW50ZXJhY3Rpb25TdGF0ZSA9IFt3ZWJWaWV3IGludGVyYWN0aW9uU3RhdGVdOworICAgIFJl
dGFpblB0cjxOU1VSTD4gdGVtcG9yYXJ5RmlsZSA9IFtOU1VSTCBmaWxlVVJMV2l0aFBhdGg6W05T
VGVtcG9yYXJ5RGlyZWN0b3J5KCkgc3RyaW5nQnlBcHBlbmRpbmdQYXRoQ29tcG9uZW50OltOU1VV
SUQgVVVJRF0uVVVJRFN0cmluZ10gaXNEaXJlY3Rvcnk6Tk9dOworICAgIE5TRXJyb3IgKmVycm9y
ID0gbmlsOworICAgIFJldGFpblB0cjxOU0RhdGE+IGFyY2hpdmVkSW50ZXJhY3Rpb25TdGF0ZSA9
IFtOU0tleWVkQXJjaGl2ZXIgYXJjaGl2ZWREYXRhV2l0aFJvb3RPYmplY3Q6aW50ZXJhY3Rpb25T
dGF0ZSByZXF1aXJpbmdTZWN1cmVDb2Rpbmc6WUVTIGVycm9yOiZlcnJvcl07CisgICAgRVhQRUNU
X1RSVUUoIWVycm9yKTsKKyAgICBpbnRlcmFjdGlvblN0YXRlID0gbmlsOworICAgIFthcmNoaXZl
ZEludGVyYWN0aW9uU3RhdGUgd3JpdGVUb1VSTDp0ZW1wb3JhcnlGaWxlLmdldCgpIG9wdGlvbnM6
TlNEYXRhV3JpdGluZ0F0b21pYyBlcnJvcjomZXJyb3JdOworICAgIGFyY2hpdmVkSW50ZXJhY3Rp
b25TdGF0ZSA9IG5pbDsKKyAgICBFWFBFQ1RfVFJVRSghZXJyb3IpOworCisgICAgd2ViVmlldyA9
IGFkb3B0TlMoW1tXS1dlYlZpZXcgYWxsb2NdIGluaXRdKTsKKworICAgIGFyY2hpdmVkSW50ZXJh
Y3Rpb25TdGF0ZSA9IFtOU0RhdGEgZGF0YVdpdGhDb250ZW50c09mVVJMOnRlbXBvcmFyeUZpbGUu
Z2V0KCldOworICAgIGludGVyYWN0aW9uU3RhdGUgPSBbTlNLZXllZFVuYXJjaGl2ZXIgdW5hcmNo
aXZlZE9iamVjdE9mQ2xhc3M6WyhpZClbd2ViVmlldyBpbnRlcmFjdGlvblN0YXRlXSBjbGFzc10g
ZnJvbURhdGE6YXJjaGl2ZWRJbnRlcmFjdGlvblN0YXRlLmdldCgpIGVycm9yOiZlcnJvcl07Cisg
ICAgRVhQRUNUX1RSVUUoIWVycm9yKTsKKworICAgIFt3ZWJWaWV3IHNldEludGVyYWN0aW9uU3Rh
dGU6aW50ZXJhY3Rpb25TdGF0ZV07CisKKyAgICBXS0JhY2tGb3J3YXJkTGlzdCAqbmV3TGlzdCA9
IFt3ZWJWaWV3IGJhY2tGb3J3YXJkTGlzdF07CisKKyAgICBFWFBFQ1RfRVEoKE5TVUludGVnZXIp
MiwgbmV3TGlzdC5iYWNrTGlzdC5jb3VudCk7CisgICAgRVhQRUNUX0VRKChOU1VJbnRlZ2VyKTAs
IG5ld0xpc3QuZm9yd2FyZExpc3QuY291bnQpOworICAgIEVYUEVDVF9TVFJFUShbW25ld0xpc3Qu
Y3VycmVudEl0ZW0gVVJMXSBhYnNvbHV0ZVN0cmluZ10uVVRGOFN0cmluZywgdXJsMy5hYnNvbHV0
ZVN0cmluZy5VVEY4U3RyaW5nKTsKKworICAgIFt3ZWJWaWV3IGdvVG9CYWNrRm9yd2FyZExpc3RJ
dGVtOltbd2ViVmlldyBiYWNrRm9yd2FyZExpc3RdIGN1cnJlbnRJdGVtXV07CisgICAgW3dlYlZp
ZXcgX3Rlc3Rfd2FpdEZvckRpZEZpbmlzaE5hdmlnYXRpb25dOworCisgICAgZG9uZSA9IGZhbHNl
OworICAgIFt3ZWJWaWV3IGV2YWx1YXRlSmF2YVNjcmlwdDpAImRvY3VtZW50LmJvZHkuaW5uZXJU
ZXh0IiBjb21wbGV0aW9uSGFuZGxlcjpeKGlkIHJlc3VsdCwgTlNFcnJvciAqZXJyb3IpIHsKKyAg
ICAgICAgRVhQRUNUX1RSVUUoIWVycm9yKTsKKyAgICAgICAgTlNTdHJpbmcqIGJvZHlUZXh0ID0g
cmVzdWx0OworICAgICAgICBFWFBFQ1RfV0tfU1RSRVEoQCJUaGlyZCBzaW1wbGUgSFRNTCBmaWxl
LiIsIGJvZHlUZXh0KTsKKyAgICAgICAgZG9uZSA9IHRydWU7CisgICAgfV07CisgICAgVGVzdFdl
YktpdEFQSTo6VXRpbDo6cnVuKCZkb25lKTsKKworICAgIFt3ZWJWaWV3IGdvQmFja107CisgICAg
W3dlYlZpZXcgX3Rlc3Rfd2FpdEZvckRpZEZpbmlzaE5hdmlnYXRpb25dOworCisgICAgZG9uZSA9
IGZhbHNlOworICAgIFt3ZWJWaWV3IGV2YWx1YXRlSmF2YVNjcmlwdDpAImRvY3VtZW50LmJvZHku
aW5uZXJUZXh0IiBjb21wbGV0aW9uSGFuZGxlcjpeKGlkIHJlc3VsdCwgTlNFcnJvciAqZXJyb3Ip
IHsKKyAgICAgICAgRVhQRUNUX1RSVUUoIWVycm9yKTsKKyAgICAgICAgTlNTdHJpbmcqIGJvZHlU
ZXh0ID0gcmVzdWx0OworICAgICAgICBFWFBFQ1RfV0tfU1RSRVEoQCJTZWNvbmQgc2ltcGxlIEhU
TUwgZmlsZS4iLCBib2R5VGV4dCk7CisgICAgICAgIGRvbmUgPSB0cnVlOworICAgIH1dOworICAg
IFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZSk7CisKKyAgICBbd2ViVmlldyBnb0JhY2td
OworICAgIFt3ZWJWaWV3IF90ZXN0X3dhaXRGb3JEaWRGaW5pc2hOYXZpZ2F0aW9uXTsKKworICAg
IGRvbmUgPSBmYWxzZTsKKyAgICBbd2ViVmlldyBldmFsdWF0ZUphdmFTY3JpcHQ6QCJkb2N1bWVu
dC5ib2R5LmlubmVyVGV4dCIgY29tcGxldGlvbkhhbmRsZXI6XihpZCByZXN1bHQsIE5TRXJyb3Ig
KmVycm9yKSB7CisgICAgICAgIEVYUEVDVF9UUlVFKCFlcnJvcik7CisgICAgICAgIE5TU3RyaW5n
KiBib2R5VGV4dCA9IHJlc3VsdDsKKyAgICAgICAgRVhQRUNUX1dLX1NUUkVRKEAiU2ltcGxlIEhU
TUwgZmlsZS4iLCBib2R5VGV4dCk7CisgICAgICAgIGRvbmUgPSB0cnVlOworICAgIH1dOworICAg
IFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZSk7Cit9CisKK1RFU1QoV0tCYWNrRm9yd2Fy
ZExpc3QsIEludGVyYWN0aW9uU3RhdGVSZXN0b3JhdGlvbk5pbCkKK3sKKyAgICBhdXRvIHdlYlZp
ZXcgPSBhZG9wdE5TKFtbV0tXZWJWaWV3IGFsbG9jXSBpbml0XSk7CisKKyAgICBOU1VSTCAqdXJs
MSA9IFtbTlNCdW5kbGUgbWFpbkJ1bmRsZV0gVVJMRm9yUmVzb3VyY2U6QCJzaW1wbGUiIHdpdGhF
eHRlbnNpb246QCJodG1sIiBzdWJkaXJlY3Rvcnk6QCJUZXN0V2ViS2l0QVBJLnJlc291cmNlcyJd
OworICAgIE5TVVJMICp1cmwyID0gW1tOU0J1bmRsZSBtYWluQnVuZGxlXSBVUkxGb3JSZXNvdXJj
ZTpAInNpbXBsZTIiIHdpdGhFeHRlbnNpb246QCJodG1sIiBzdWJkaXJlY3Rvcnk6QCJUZXN0V2Vi
S2l0QVBJLnJlc291cmNlcyJdOworICAgIE5TVVJMICp1cmwzID0gW1tOU0J1bmRsZSBtYWluQnVu
ZGxlXSBVUkxGb3JSZXNvdXJjZTpAInNpbXBsZTMiIHdpdGhFeHRlbnNpb246QCJodG1sIiBzdWJk
aXJlY3Rvcnk6QCJUZXN0V2ViS2l0QVBJLnJlc291cmNlcyJdOworCisgICAgW3dlYlZpZXcgbG9h
ZFJlcXVlc3Q6W05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDp1cmwxXV07CisgICAgW3dlYlZp
ZXcgX3Rlc3Rfd2FpdEZvckRpZEZpbmlzaE5hdmlnYXRpb25dOworCisgICAgW3dlYlZpZXcgbG9h
ZFJlcXVlc3Q6W05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDp1cmwyXV07CisgICAgW3dlYlZp
ZXcgX3Rlc3Rfd2FpdEZvckRpZEZpbmlzaE5hdmlnYXRpb25dOworCisgICAgW3dlYlZpZXcgbG9h
ZFJlcXVlc3Q6W05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDp1cmwzXV07CisgICAgW3dlYlZp
ZXcgX3Rlc3Rfd2FpdEZvckRpZEZpbmlzaE5hdmlnYXRpb25dOworCisgICAgV0tCYWNrRm9yd2Fy
ZExpc3QgKmxpc3QgPSBbd2ViVmlldyBiYWNrRm9yd2FyZExpc3RdOworICAgIEVYUEVDVF9FUSgo
TlNVSW50ZWdlcikyLCBsaXN0LmJhY2tMaXN0LmNvdW50KTsKKyAgICBFWFBFQ1RfRVEoKE5TVUlu
dGVnZXIpMCwgbGlzdC5mb3J3YXJkTGlzdC5jb3VudCk7CisgICAgRVhQRUNUX1NUUkVRKFtbbGlz
dC5jdXJyZW50SXRlbSBVUkxdIGFic29sdXRlU3RyaW5nXS5VVEY4U3RyaW5nLCB1cmwzLmFic29s
dXRlU3RyaW5nLlVURjhTdHJpbmcpOworCisgICAgW3dlYlZpZXcgc2V0SW50ZXJhY3Rpb25TdGF0
ZTpuaWxdOworCisgICAgbGlzdCA9IFt3ZWJWaWV3IGJhY2tGb3J3YXJkTGlzdF07CisgICAgRVhQ
RUNUX0VRKChOU1VJbnRlZ2VyKTIsIGxpc3QuYmFja0xpc3QuY291bnQpOworICAgIEVYUEVDVF9F
USgoTlNVSW50ZWdlcikwLCBsaXN0LmZvcndhcmRMaXN0LmNvdW50KTsKKyAgICBFWFBFQ1RfU1RS
RVEoW1tsaXN0LmN1cnJlbnRJdGVtIFVSTF0gYWJzb2x1dGVTdHJpbmddLlVURjhTdHJpbmcsIHVy
bDMuYWJzb2x1dGVTdHJpbmcuVVRGOFN0cmluZyk7Cit9CisKK1RFU1QoV0tCYWNrRm9yd2FyZExp
c3QsIEludGVyYWN0aW9uU3RhdGVSZXN0b3JhdGlvbkludmFsaWQpCit7CisgICAgYXV0byB3ZWJW
aWV3ID0gYWRvcHROUyhbW1dLV2ViVmlldyBhbGxvY10gaW5pdF0pOworCisgICAgTlNVUkwgKnVy
bDEgPSBbW05TQnVuZGxlIG1haW5CdW5kbGVdIFVSTEZvclJlc291cmNlOkAic2ltcGxlIiB3aXRo
RXh0ZW5zaW9uOkAiaHRtbCIgc3ViZGlyZWN0b3J5OkAiVGVzdFdlYktpdEFQSS5yZXNvdXJjZXMi
XTsKKyAgICBOU1VSTCAqdXJsMiA9IFtbTlNCdW5kbGUgbWFpbkJ1bmRsZV0gVVJMRm9yUmVzb3Vy
Y2U6QCJzaW1wbGUyIiB3aXRoRXh0ZW5zaW9uOkAiaHRtbCIgc3ViZGlyZWN0b3J5OkAiVGVzdFdl
YktpdEFQSS5yZXNvdXJjZXMiXTsKKyAgICBOU1VSTCAqdXJsMyA9IFtbTlNCdW5kbGUgbWFpbkJ1
bmRsZV0gVVJMRm9yUmVzb3VyY2U6QCJzaW1wbGUzIiB3aXRoRXh0ZW5zaW9uOkAiaHRtbCIgc3Vi
ZGlyZWN0b3J5OkAiVGVzdFdlYktpdEFQSS5yZXNvdXJjZXMiXTsKKworICAgIFt3ZWJWaWV3IGxv
YWRSZXF1ZXN0OltOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6dXJsMV1dOworICAgIFt3ZWJW
aWV3IF90ZXN0X3dhaXRGb3JEaWRGaW5pc2hOYXZpZ2F0aW9uXTsKKworICAgIFt3ZWJWaWV3IGxv
YWRSZXF1ZXN0OltOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6dXJsMl1dOworICAgIFt3ZWJW
aWV3IF90ZXN0X3dhaXRGb3JEaWRGaW5pc2hOYXZpZ2F0aW9uXTsKKworICAgIFt3ZWJWaWV3IGxv
YWRSZXF1ZXN0OltOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6dXJsM11dOworICAgIFt3ZWJW
aWV3IF90ZXN0X3dhaXRGb3JEaWRGaW5pc2hOYXZpZ2F0aW9uXTsKKworICAgIFdLQmFja0Zvcndh
cmRMaXN0ICpsaXN0ID0gW3dlYlZpZXcgYmFja0ZvcndhcmRMaXN0XTsKKyAgICBFWFBFQ1RfRVEo
KE5TVUludGVnZXIpMiwgbGlzdC5iYWNrTGlzdC5jb3VudCk7CisgICAgRVhQRUNUX0VRKChOU1VJ
bnRlZ2VyKTAsIGxpc3QuZm9yd2FyZExpc3QuY291bnQpOworICAgIEVYUEVDVF9TVFJFUShbW2xp
c3QuY3VycmVudEl0ZW0gVVJMXSBhYnNvbHV0ZVN0cmluZ10uVVRGOFN0cmluZywgdXJsMy5hYnNv
bHV0ZVN0cmluZy5VVEY4U3RyaW5nKTsKKworICAgIE5TU3RyaW5nICppbnZhbGlkU3RhdGUgPSBA
ImZvbyI7CisgICAgW3dlYlZpZXcgc2V0SW50ZXJhY3Rpb25TdGF0ZTppbnZhbGlkU3RhdGVdOwor
CisgICAgbGlzdCA9IFt3ZWJWaWV3IGJhY2tGb3J3YXJkTGlzdF07CisgICAgRVhQRUNUX0VRKChO
U1VJbnRlZ2VyKTIsIGxpc3QuYmFja0xpc3QuY291bnQpOworICAgIEVYUEVDVF9FUSgoTlNVSW50
ZWdlcikwLCBsaXN0LmZvcndhcmRMaXN0LmNvdW50KTsKKyAgICBFWFBFQ1RfU1RSRVEoW1tsaXN0
LmN1cnJlbnRJdGVtIFVSTF0gYWJzb2x1dGVTdHJpbmddLlVURjhTdHJpbmcsIHVybDMuYWJzb2x1
dGVTdHJpbmcuVVRGOFN0cmluZyk7Cit9CisK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>421227</attachid>
            <date>2021-02-22 12:35:31 -0800</date>
            <delta_ts>2021-02-22 15:19:30 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220958-20210222123531.patch</filename>
            <type>text/plain</type>
            <size>11310</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjczMjQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDQ0Yjg3ODU3ZjQ5MWYxMjA1
MDUyYmQ0MmE1OTU5ZTgxNzVmOTdmYWUuLjc5ODhhZjE1NzE1MmYxYmM4OGMxMmIzMzFkNzdhMDRi
MmRiMTVmYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMjEtMDEtMjYgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIEFkZCBXS1dlYlZpZXcg
c2Vzc2lvbiByZXN0b3JhdGlvbiBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIyMDk1OAorICAgICAgICA8cmRhcjovLzcwOTU2MTQ2PgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBXS1dlYlZpZXcg
c2Vzc2lvbiByZXN0b3JhdGlvbiBBUEkgc28gdGhhdCBhcHBsaWNhdGlvbnMgY2FuIGVhc2lseSBy
ZXRyaWV2ZQorICAgICAgICB2aWV3IHN0YXRlIChzdWNoIGFzIGJhY2stZm9yd2FyZCBsaXN0LCBz
Y3JvbGwgcG9zaXRpb24sIGZvcm0gZGF0YS4uLikgYW5kCisgICAgICAgIHJlc3RvcmUgaXQgb24g
YSBXS1dlYlZpZXcgbGF0ZXIgb24uCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dL
V2ViVmlldy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tOgor
ICAgICAgICAoLVtXS1dlYlZpZXcgaW50ZXJhY3Rpb25TdGF0ZV0pOgorICAgICAgICAoLVtXS1dl
YlZpZXcgc2V0SW50ZXJhY3Rpb25TdGF0ZTpdKToKKwogMjAyMS0wMi0yMiAgQ2FybG9zIEdhcmNp
YSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgW1NPVVBdIEFkZCBzdXBw
b3J0IGZvciBsaWJzb3VwMwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLV2ViVmlldy5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
V2ViVmlldy5oCmluZGV4IGEwOGNiZTIwOTMxMWI0ODZlM2RkNDVhNTRjNzUwYjdkOWQwNGVkMGQu
LmNkYWIzZGU2Zjg4YzI4MDNjY2IxMmIzYWRkMTU3MGRjNDM2MDA5ZWUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3LmgKQEAgLTEsNSArMSw1IEBACiAv
KgotICogQ29weXJpZ2h0IChDKSAyMDE0LTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE0LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC00NzMsNiArNDczLDEy
IEBAIFRoZSB1bmlmb3JtIHR5cGUgaWRlbnRpZmllciBrVVRUeXBlV2ViQXJjaGl2ZSBjYW4gYmUg
dXNlZCBnZXQgdGhlIHJlbGF0ZWQgcGFzdGViCiAqLwogQHByb3BlcnR5IChub25hdG9taWMsIG51
bGxhYmxlLCBjb3B5KSBOU1N0cmluZyAqbWVkaWFUeXBlIFdLX0FQSV9BVkFJTEFCTEUobWFjb3Mo
MTEuMCksIGlvcygxNC4wKSk7CiAKKy8qIEBhYnN0cmFjdCBUaGUgaW50ZXJhY3Rpb24gc3RhdGUg
Zm9yIHRoZSBXS1dlYlZpZXcKKyBAZGlzY3Vzc2lvbiBUaGUgaW50ZXJhY3Rpb24gc3RhdGUgKGJh
Y2stZm9yd2FyZCBsaXN0LCBjdXJyZW50bHkgbG9hZGVkIHBhZ2UsIHNjcm9sbCBwb3NpdGlvbiwg
Zm9ybSBkYXRhLi4uKSBmb3IgdGhlIFdLV2ViVmlldywgd2hpY2gKKyBjYW4gYmUgcmV0cmlldmVk
IGFuZCBzZXQgb24gYW5vdGhlciBXS1dlYlZpZXcgdG8gcmVzdG9yZSBzdGF0ZS4KKyovCitAcHJv
cGVydHkgKG5vbmF0b21pYywgbnVsbGFibGUsIGNvcHkpIGlkIGludGVyYWN0aW9uU3RhdGUgV0tf
QVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKKwogI2lm
ICFUQVJHRVRfT1NfSVBIT05FCiAvKiBAYWJzdHJhY3QgUmV0dXJucyBhbiBOU1ByaW50T3BlcmF0
aW9uIG9iamVjdCBjb25maWd1cmVkIHRvIHByaW50IHRoZSBjb250ZW50cyBvZiB0aGlzIFdLV2Vi
VmlldwogQHBhcmFtIHByaW50SW5mbyBUaGUgcHJpbnQgaW5mbyBvYmplY3QgdXNlZCB0byBjb25m
aWd1cmUgdGhlIHJlc3VsdGluZyBwcmludCBvcGVyYXRpb24uCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQppbmRleCAyNjE0MWNmMzIxYWU5M2JkZDk0
NjMyYzAzOWU5MWI5ODI1NmI0MTk4Li5mZDczMjYzM2QxMzM1MDNmYzA2MDk0YzA5ZDE0M2ZjOWVl
ODQ0ODQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tX
ZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZp
ZXcubW0KQEAgLTUyLDYgKzUyLDcgQEAKICNpbXBvcnQgIlJlbW90ZU9iamVjdFJlZ2lzdHJ5TWVz
c2FnZXMuaCIKICNpbXBvcnQgIlJlc291cmNlTG9hZERlbGVnYXRlLmgiCiAjaW1wb3J0ICJTYWZl
QnJvd3NpbmdXYXJuaW5nLmgiCisjaW1wb3J0ICJTZXNzaW9uU3RhdGVDb2RpbmcuaCIKICNpbXBv
cnQgIlNoYXJlZEJ1ZmZlckNvcHkuaCIKICNpbXBvcnQgIlVJRGVsZWdhdGUuaCIKICNpbXBvcnQg
IlZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eS5oIgpAQCAtMTIzNSw2ICsxMjM2LDIyIEBAIC0g
KE5TU3RyaW5nICopbWVkaWFUeXBlCiAgICAgcmV0dXJuIF9wYWdlLT5vdmVycmlkZGVuTWVkaWFU
eXBlKCkuaXNOdWxsKCkgPyBuaWwgOiAoTlNTdHJpbmcgKilfcGFnZS0+b3ZlcnJpZGRlbk1lZGlh
VHlwZSgpOwogfQogCistIChpZClpbnRlcmFjdGlvblN0YXRlCit7CisgICAgcmV0dXJuIFdlYktp
dDo6ZW5jb2RlU2Vzc2lvblN0YXRlKF9wYWdlLT5zZXNzaW9uU3RhdGUoKSkuYXV0b3JlbGVhc2Uo
KTsKK30KKworLSAodm9pZClzZXRJbnRlcmFjdGlvblN0YXRlOihpZClpbnRlcmFjdGlvblN0YXRl
Cit7CisgICAgaWYgKCFbKGlkKWludGVyYWN0aW9uU3RhdGUgaXNLaW5kT2ZDbGFzczpbTlNEYXRh
IGNsYXNzXV0pCisgICAgICAgIHJldHVybjsKKworICAgIFdlYktpdDo6U2Vzc2lvblN0YXRlIHNl
c3Npb25TdGF0ZTsKKyAgICBpZiAoIVdlYktpdDo6ZGVjb2RlU2Vzc2lvblN0YXRlKChOU0RhdGEg
KikoaW50ZXJhY3Rpb25TdGF0ZSksIHNlc3Npb25TdGF0ZSkpCisgICAgICAgIHJldHVybjsKKyAg
ICBfcGFnZS0+cmVzdG9yZUZyb21TZXNzaW9uU3RhdGUoc2Vzc2lvblN0YXRlLCB0cnVlKTsKK30K
KwogI3ByYWdtYSBtYXJrIC0gaU9TIEFQSQogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKZGlm
ZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA3Mjk0ODI1
NTU4YWEzOWQ2OWY3ZmY0ZGVkMGVlYmM3MzVkYjZmY2M0Li45MzQ0ODI3YzkyNTY0N2E3ODIxMmRh
NjE4ZmQ2MzVjN2MwYTA5MzIzIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9v
bHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjEtMDEtMjYgIENocmlzIER1bWV6ICA8
Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIEFkZCBXS1dlYlZpZXcgc2Vzc2lv
biByZXN0b3JhdGlvbiBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIyMDk1OAorICAgICAgICA8cmRhcjovLzcwOTU2MTQ2PgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBBUEkgdGVzdCBjb3ZlcmFn
ZS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L1dLQmFja0ZvcndhcmRM
aXN0Lm1tOgorICAgICAgICAoVEVTVCk6CisKIDIwMjEtMDItMjIgIFBoaWxpcHBlIE5vcm1hbmQg
IDxwbm9ybWFuZEBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtGbGF0cGFrIFNES10gZ2RiIHVudXNh
YmxlIGluIHNhbmRib3gKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0L1dLQmFja0ZvcndhcmRMaXN0Lm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXQvV0tCYWNrRm9yd2FyZExpc3QubW0KaW5kZXggODNiY2ZhOTcyMDFhMDMwZWI1NzU2MDY1Zjli
NWVmYWUzMzQ4YjY0Yi4uMDdkYzY2NTc5NTljNzUwZWZjOGNhZjEwZDEwYmViZGJhOTExZGJiYiAx
MDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvV0tCYWNrRm9yd2Fy
ZExpc3QubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvV0tCYWNrRm9y
d2FyZExpc3QubW0KQEAgLTE2NiwzICsxNjYsMTQ2IEBAIFRFU1QoV0tCYWNrRm9yd2FyZExpc3Qs
IFdpbmRvd0xvY2F0aW9uQXN5bmNQb2xpY3lEZWNpc2lvbikKICAgICBUZXN0V2ViS2l0QVBJOjpV
dGlsOjpydW4oJmRvbmUpOwogICAgIEVYUEVDVF9TVFJFUSh3ZWJWaWV3LmdldCgpLmJhY2tGb3J3
YXJkTGlzdC5jdXJyZW50SXRlbS5VUkwuYWJzb2x1dGVTdHJpbmcuVVRGOFN0cmluZywgc2ltcGxl
LmFic29sdXRlU3RyaW5nLlVURjhTdHJpbmcpOwogfQorCitURVNUKFdLQmFja0ZvcndhcmRMaXN0
LCBJbnRlcmFjdGlvblN0YXRlUmVzdG9yYXRpb24pCit7CisgICAgYXV0byB3ZWJWaWV3ID0gYWRv
cHROUyhbW1dLV2ViVmlldyBhbGxvY10gaW5pdF0pOworCisgICAgTlNVUkwgKnVybDEgPSBbW05T
QnVuZGxlIG1haW5CdW5kbGVdIFVSTEZvclJlc291cmNlOkAic2ltcGxlIiB3aXRoRXh0ZW5zaW9u
OkAiaHRtbCIgc3ViZGlyZWN0b3J5OkAiVGVzdFdlYktpdEFQSS5yZXNvdXJjZXMiXTsKKyAgICBO
U1VSTCAqdXJsMiA9IFtbTlNCdW5kbGUgbWFpbkJ1bmRsZV0gVVJMRm9yUmVzb3VyY2U6QCJzaW1w
bGUyIiB3aXRoRXh0ZW5zaW9uOkAiaHRtbCIgc3ViZGlyZWN0b3J5OkAiVGVzdFdlYktpdEFQSS5y
ZXNvdXJjZXMiXTsKKyAgICBOU1VSTCAqdXJsMyA9IFtbTlNCdW5kbGUgbWFpbkJ1bmRsZV0gVVJM
Rm9yUmVzb3VyY2U6QCJzaW1wbGUzIiB3aXRoRXh0ZW5zaW9uOkAiaHRtbCIgc3ViZGlyZWN0b3J5
OkAiVGVzdFdlYktpdEFQSS5yZXNvdXJjZXMiXTsKKworICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0
OltOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6dXJsMV1dOworICAgIFt3ZWJWaWV3IF90ZXN0
X3dhaXRGb3JEaWRGaW5pc2hOYXZpZ2F0aW9uXTsKKworICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0
OltOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6dXJsMl1dOworICAgIFt3ZWJWaWV3IF90ZXN0
X3dhaXRGb3JEaWRGaW5pc2hOYXZpZ2F0aW9uXTsKKworICAgIFt3ZWJWaWV3IGxvYWRSZXF1ZXN0
OltOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6dXJsM11dOworICAgIFt3ZWJWaWV3IF90ZXN0
X3dhaXRGb3JEaWRGaW5pc2hOYXZpZ2F0aW9uXTsKKworICAgIFdLQmFja0ZvcndhcmRMaXN0ICps
aXN0ID0gW3dlYlZpZXcgYmFja0ZvcndhcmRMaXN0XTsKKyAgICBFWFBFQ1RfRVEoKE5TVUludGVn
ZXIpMiwgbGlzdC5iYWNrTGlzdC5jb3VudCk7CisgICAgRVhQRUNUX0VRKChOU1VJbnRlZ2VyKTAs
IGxpc3QuZm9yd2FyZExpc3QuY291bnQpOworICAgIEVYUEVDVF9TVFJFUShbW2xpc3QuY3VycmVu
dEl0ZW0gVVJMXSBhYnNvbHV0ZVN0cmluZ10uVVRGOFN0cmluZywgdXJsMy5hYnNvbHV0ZVN0cmlu
Zy5VVEY4U3RyaW5nKTsKKworICAgIGlkIGludGVyYWN0aW9uU3RhdGUgPSBbd2ViVmlldyBpbnRl
cmFjdGlvblN0YXRlXTsKKyAgICBSZXRhaW5QdHI8TlNVUkw+IHRlbXBvcmFyeUZpbGUgPSBbTlNV
UkwgZmlsZVVSTFdpdGhQYXRoOltOU1RlbXBvcmFyeURpcmVjdG9yeSgpIHN0cmluZ0J5QXBwZW5k
aW5nUGF0aENvbXBvbmVudDpbTlNVVUlEIFVVSURdLlVVSURTdHJpbmddIGlzRGlyZWN0b3J5Ok5P
XTsKKyAgICBOU0Vycm9yICplcnJvciA9IG5pbDsKKyAgICBSZXRhaW5QdHI8TlNEYXRhPiBhcmNo
aXZlZEludGVyYWN0aW9uU3RhdGUgPSBbTlNLZXllZEFyY2hpdmVyIGFyY2hpdmVkRGF0YVdpdGhS
b290T2JqZWN0OmludGVyYWN0aW9uU3RhdGUgcmVxdWlyaW5nU2VjdXJlQ29kaW5nOllFUyBlcnJv
cjomZXJyb3JdOworICAgIEVYUEVDVF9UUlVFKCFlcnJvcik7CisgICAgaW50ZXJhY3Rpb25TdGF0
ZSA9IG5pbDsKKyAgICBbYXJjaGl2ZWRJbnRlcmFjdGlvblN0YXRlIHdyaXRlVG9VUkw6dGVtcG9y
YXJ5RmlsZS5nZXQoKSBvcHRpb25zOk5TRGF0YVdyaXRpbmdBdG9taWMgZXJyb3I6JmVycm9yXTsK
KyAgICBhcmNoaXZlZEludGVyYWN0aW9uU3RhdGUgPSBuaWw7CisgICAgRVhQRUNUX1RSVUUoIWVy
cm9yKTsKKworICAgIHdlYlZpZXcgPSBhZG9wdE5TKFtbV0tXZWJWaWV3IGFsbG9jXSBpbml0XSk7
CisKKyAgICBhcmNoaXZlZEludGVyYWN0aW9uU3RhdGUgPSBbTlNEYXRhIGRhdGFXaXRoQ29udGVu
dHNPZlVSTDp0ZW1wb3JhcnlGaWxlLmdldCgpXTsKKyAgICBpbnRlcmFjdGlvblN0YXRlID0gW05T
S2V5ZWRVbmFyY2hpdmVyIHVuYXJjaGl2ZWRPYmplY3RPZkNsYXNzOlsoaWQpW3dlYlZpZXcgaW50
ZXJhY3Rpb25TdGF0ZV0gY2xhc3NdIGZyb21EYXRhOmFyY2hpdmVkSW50ZXJhY3Rpb25TdGF0ZS5n
ZXQoKSBlcnJvcjomZXJyb3JdOworICAgIEVYUEVDVF9UUlVFKCFlcnJvcik7CisKKyAgICBbd2Vi
VmlldyBzZXRJbnRlcmFjdGlvblN0YXRlOmludGVyYWN0aW9uU3RhdGVdOworICAgIFt3ZWJWaWV3
IF90ZXN0X3dhaXRGb3JEaWRGaW5pc2hOYXZpZ2F0aW9uXTsKKworICAgIFdLQmFja0ZvcndhcmRM
aXN0ICpuZXdMaXN0ID0gW3dlYlZpZXcgYmFja0ZvcndhcmRMaXN0XTsKKworICAgIEVYUEVDVF9F
USgoTlNVSW50ZWdlcikyLCBuZXdMaXN0LmJhY2tMaXN0LmNvdW50KTsKKyAgICBFWFBFQ1RfRVEo
KE5TVUludGVnZXIpMCwgbmV3TGlzdC5mb3J3YXJkTGlzdC5jb3VudCk7CisgICAgRVhQRUNUX1NU
UkVRKFtbbmV3TGlzdC5jdXJyZW50SXRlbSBVUkxdIGFic29sdXRlU3RyaW5nXS5VVEY4U3RyaW5n
LCB1cmwzLmFic29sdXRlU3RyaW5nLlVURjhTdHJpbmcpOworCisgICAgZG9uZSA9IGZhbHNlOwor
ICAgIFt3ZWJWaWV3IGV2YWx1YXRlSmF2YVNjcmlwdDpAImRvY3VtZW50LmJvZHkuaW5uZXJUZXh0
IiBjb21wbGV0aW9uSGFuZGxlcjpeKGlkIHJlc3VsdCwgTlNFcnJvciAqZXJyb3IpIHsKKyAgICAg
ICAgRVhQRUNUX1RSVUUoIWVycm9yKTsKKyAgICAgICAgTlNTdHJpbmcqIGJvZHlUZXh0ID0gcmVz
dWx0OworICAgICAgICBFWFBFQ1RfV0tfU1RSRVEoQCJUaGlyZCBzaW1wbGUgSFRNTCBmaWxlLiIs
IGJvZHlUZXh0KTsKKyAgICAgICAgZG9uZSA9IHRydWU7CisgICAgfV07CisgICAgVGVzdFdlYktp
dEFQSTo6VXRpbDo6cnVuKCZkb25lKTsKKworICAgIFt3ZWJWaWV3IGdvQmFja107CisgICAgW3dl
YlZpZXcgX3Rlc3Rfd2FpdEZvckRpZEZpbmlzaE5hdmlnYXRpb25dOworCisgICAgZG9uZSA9IGZh
bHNlOworICAgIFt3ZWJWaWV3IGV2YWx1YXRlSmF2YVNjcmlwdDpAImRvY3VtZW50LmJvZHkuaW5u
ZXJUZXh0IiBjb21wbGV0aW9uSGFuZGxlcjpeKGlkIHJlc3VsdCwgTlNFcnJvciAqZXJyb3IpIHsK
KyAgICAgICAgRVhQRUNUX1RSVUUoIWVycm9yKTsKKyAgICAgICAgTlNTdHJpbmcqIGJvZHlUZXh0
ID0gcmVzdWx0OworICAgICAgICBFWFBFQ1RfV0tfU1RSRVEoQCJTZWNvbmQgc2ltcGxlIEhUTUwg
ZmlsZS4iLCBib2R5VGV4dCk7CisgICAgICAgIGRvbmUgPSB0cnVlOworICAgIH1dOworICAgIFRl
c3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZSk7CisKKyAgICBbd2ViVmlldyBnb0JhY2tdOwor
ICAgIFt3ZWJWaWV3IF90ZXN0X3dhaXRGb3JEaWRGaW5pc2hOYXZpZ2F0aW9uXTsKKworICAgIGRv
bmUgPSBmYWxzZTsKKyAgICBbd2ViVmlldyBldmFsdWF0ZUphdmFTY3JpcHQ6QCJkb2N1bWVudC5i
b2R5LmlubmVyVGV4dCIgY29tcGxldGlvbkhhbmRsZXI6XihpZCByZXN1bHQsIE5TRXJyb3IgKmVy
cm9yKSB7CisgICAgICAgIEVYUEVDVF9UUlVFKCFlcnJvcik7CisgICAgICAgIE5TU3RyaW5nKiBi
b2R5VGV4dCA9IHJlc3VsdDsKKyAgICAgICAgRVhQRUNUX1dLX1NUUkVRKEAiU2ltcGxlIEhUTUwg
ZmlsZS4iLCBib2R5VGV4dCk7CisgICAgICAgIGRvbmUgPSB0cnVlOworICAgIH1dOworICAgIFRl
c3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZSk7Cit9CisKK1RFU1QoV0tCYWNrRm9yd2FyZExp
c3QsIEludGVyYWN0aW9uU3RhdGVSZXN0b3JhdGlvbk5pbCkKK3sKKyAgICBhdXRvIHdlYlZpZXcg
PSBhZG9wdE5TKFtbV0tXZWJWaWV3IGFsbG9jXSBpbml0XSk7CisKKyAgICBOU1VSTCAqdXJsMSA9
IFtbTlNCdW5kbGUgbWFpbkJ1bmRsZV0gVVJMRm9yUmVzb3VyY2U6QCJzaW1wbGUiIHdpdGhFeHRl
bnNpb246QCJodG1sIiBzdWJkaXJlY3Rvcnk6QCJUZXN0V2ViS2l0QVBJLnJlc291cmNlcyJdOwor
ICAgIE5TVVJMICp1cmwyID0gW1tOU0J1bmRsZSBtYWluQnVuZGxlXSBVUkxGb3JSZXNvdXJjZTpA
InNpbXBsZTIiIHdpdGhFeHRlbnNpb246QCJodG1sIiBzdWJkaXJlY3Rvcnk6QCJUZXN0V2ViS2l0
QVBJLnJlc291cmNlcyJdOworICAgIE5TVVJMICp1cmwzID0gW1tOU0J1bmRsZSBtYWluQnVuZGxl
XSBVUkxGb3JSZXNvdXJjZTpAInNpbXBsZTMiIHdpdGhFeHRlbnNpb246QCJodG1sIiBzdWJkaXJl
Y3Rvcnk6QCJUZXN0V2ViS2l0QVBJLnJlc291cmNlcyJdOworCisgICAgW3dlYlZpZXcgbG9hZFJl
cXVlc3Q6W05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDp1cmwxXV07CisgICAgW3dlYlZpZXcg
X3Rlc3Rfd2FpdEZvckRpZEZpbmlzaE5hdmlnYXRpb25dOworCisgICAgW3dlYlZpZXcgbG9hZFJl
cXVlc3Q6W05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDp1cmwyXV07CisgICAgW3dlYlZpZXcg
X3Rlc3Rfd2FpdEZvckRpZEZpbmlzaE5hdmlnYXRpb25dOworCisgICAgW3dlYlZpZXcgbG9hZFJl
cXVlc3Q6W05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDp1cmwzXV07CisgICAgW3dlYlZpZXcg
X3Rlc3Rfd2FpdEZvckRpZEZpbmlzaE5hdmlnYXRpb25dOworCisgICAgV0tCYWNrRm9yd2FyZExp
c3QgKmxpc3QgPSBbd2ViVmlldyBiYWNrRm9yd2FyZExpc3RdOworICAgIEVYUEVDVF9FUSgoTlNV
SW50ZWdlcikyLCBsaXN0LmJhY2tMaXN0LmNvdW50KTsKKyAgICBFWFBFQ1RfRVEoKE5TVUludGVn
ZXIpMCwgbGlzdC5mb3J3YXJkTGlzdC5jb3VudCk7CisgICAgRVhQRUNUX1NUUkVRKFtbbGlzdC5j
dXJyZW50SXRlbSBVUkxdIGFic29sdXRlU3RyaW5nXS5VVEY4U3RyaW5nLCB1cmwzLmFic29sdXRl
U3RyaW5nLlVURjhTdHJpbmcpOworCisgICAgW3dlYlZpZXcgc2V0SW50ZXJhY3Rpb25TdGF0ZTpu
aWxdOworCisgICAgbGlzdCA9IFt3ZWJWaWV3IGJhY2tGb3J3YXJkTGlzdF07CisgICAgRVhQRUNU
X0VRKChOU1VJbnRlZ2VyKTIsIGxpc3QuYmFja0xpc3QuY291bnQpOworICAgIEVYUEVDVF9FUSgo
TlNVSW50ZWdlcikwLCBsaXN0LmZvcndhcmRMaXN0LmNvdW50KTsKKyAgICBFWFBFQ1RfU1RSRVEo
W1tsaXN0LmN1cnJlbnRJdGVtIFVSTF0gYWJzb2x1dGVTdHJpbmddLlVURjhTdHJpbmcsIHVybDMu
YWJzb2x1dGVTdHJpbmcuVVRGOFN0cmluZyk7Cit9CisKK1RFU1QoV0tCYWNrRm9yd2FyZExpc3Qs
IEludGVyYWN0aW9uU3RhdGVSZXN0b3JhdGlvbkludmFsaWQpCit7CisgICAgYXV0byB3ZWJWaWV3
ID0gYWRvcHROUyhbW1dLV2ViVmlldyBhbGxvY10gaW5pdF0pOworCisgICAgTlNVUkwgKnVybDEg
PSBbW05TQnVuZGxlIG1haW5CdW5kbGVdIFVSTEZvclJlc291cmNlOkAic2ltcGxlIiB3aXRoRXh0
ZW5zaW9uOkAiaHRtbCIgc3ViZGlyZWN0b3J5OkAiVGVzdFdlYktpdEFQSS5yZXNvdXJjZXMiXTsK
KyAgICBOU1VSTCAqdXJsMiA9IFtbTlNCdW5kbGUgbWFpbkJ1bmRsZV0gVVJMRm9yUmVzb3VyY2U6
QCJzaW1wbGUyIiB3aXRoRXh0ZW5zaW9uOkAiaHRtbCIgc3ViZGlyZWN0b3J5OkAiVGVzdFdlYktp
dEFQSS5yZXNvdXJjZXMiXTsKKyAgICBOU1VSTCAqdXJsMyA9IFtbTlNCdW5kbGUgbWFpbkJ1bmRs
ZV0gVVJMRm9yUmVzb3VyY2U6QCJzaW1wbGUzIiB3aXRoRXh0ZW5zaW9uOkAiaHRtbCIgc3ViZGly
ZWN0b3J5OkAiVGVzdFdlYktpdEFQSS5yZXNvdXJjZXMiXTsKKworICAgIFt3ZWJWaWV3IGxvYWRS
ZXF1ZXN0OltOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6dXJsMV1dOworICAgIFt3ZWJWaWV3
IF90ZXN0X3dhaXRGb3JEaWRGaW5pc2hOYXZpZ2F0aW9uXTsKKworICAgIFt3ZWJWaWV3IGxvYWRS
ZXF1ZXN0OltOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6dXJsMl1dOworICAgIFt3ZWJWaWV3
IF90ZXN0X3dhaXRGb3JEaWRGaW5pc2hOYXZpZ2F0aW9uXTsKKworICAgIFt3ZWJWaWV3IGxvYWRS
ZXF1ZXN0OltOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6dXJsM11dOworICAgIFt3ZWJWaWV3
IF90ZXN0X3dhaXRGb3JEaWRGaW5pc2hOYXZpZ2F0aW9uXTsKKworICAgIFdLQmFja0ZvcndhcmRM
aXN0ICpsaXN0ID0gW3dlYlZpZXcgYmFja0ZvcndhcmRMaXN0XTsKKyAgICBFWFBFQ1RfRVEoKE5T
VUludGVnZXIpMiwgbGlzdC5iYWNrTGlzdC5jb3VudCk7CisgICAgRVhQRUNUX0VRKChOU1VJbnRl
Z2VyKTAsIGxpc3QuZm9yd2FyZExpc3QuY291bnQpOworICAgIEVYUEVDVF9TVFJFUShbW2xpc3Qu
Y3VycmVudEl0ZW0gVVJMXSBhYnNvbHV0ZVN0cmluZ10uVVRGOFN0cmluZywgdXJsMy5hYnNvbHV0
ZVN0cmluZy5VVEY4U3RyaW5nKTsKKworICAgIE5TU3RyaW5nICppbnZhbGlkU3RhdGUgPSBAImZv
byI7CisgICAgW3dlYlZpZXcgc2V0SW50ZXJhY3Rpb25TdGF0ZTppbnZhbGlkU3RhdGVdOworCisg
ICAgbGlzdCA9IFt3ZWJWaWV3IGJhY2tGb3J3YXJkTGlzdF07CisgICAgRVhQRUNUX0VRKChOU1VJ
bnRlZ2VyKTIsIGxpc3QuYmFja0xpc3QuY291bnQpOworICAgIEVYUEVDVF9FUSgoTlNVSW50ZWdl
cikwLCBsaXN0LmZvcndhcmRMaXN0LmNvdW50KTsKKyAgICBFWFBFQ1RfU1RSRVEoW1tsaXN0LmN1
cnJlbnRJdGVtIFVSTF0gYWJzb2x1dGVTdHJpbmddLlVURjhTdHJpbmcsIHVybDMuYWJzb2x1dGVT
dHJpbmcuVVRGOFN0cmluZyk7Cit9CisK
</data>

          </attachment>
      

    </bug>

</bugzilla>