<?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>212996</bug_id>
          
          <creation_ts>2020-06-09 15:23:18 -0700</creation_ts>
          <short_desc>WebKit:Add PepperUICoreSPI.h</short_desc>
          <delta_ts>2020-06-10 17:00:13 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Platform</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=212718</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jonathan Bedard">jbedard</reporter>
          <assigned_to name="Jonathan Bedard">jbedard</assigned_to>
          <cc>aestes</cc>
    
    <cc>ap</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1660905</commentid>
    <comment_count>0</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2020-06-09 15:23:18 -0700</bug_when>
    <thetext>To build watchOS, we need an SPI header for PepperUICore.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1660906</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-06-09 15:23:36 -0700</bug_when>
    <thetext>&lt;rdar://problem/64182627&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1660967</commentid>
    <comment_count>2</comment_count>
      <attachid>401483</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2020-06-09 15:33:13 -0700</bug_when>
    <thetext>Created attachment 401483
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1661160</commentid>
    <comment_count>3</comment_count>
      <attachid>401541</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2020-06-10 07:55:04 -0700</bug_when>
    <thetext>Created attachment 401541
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1661221</commentid>
    <comment_count>4</comment_count>
      <attachid>401541</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2020-06-10 10:41:22 -0700</bug_when>
    <thetext>Comment on attachment 401541
Patch

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

&gt; Source/WebKit/Platform/spi/watchos/PepperUICoreSPI.h:157
&gt; +@property (nonatomic, assign) UIReturnKeyType returnKeyType; // Default is Done, also supports Send and Join

I think we shouldn&apos;t be in the habit of importing comments from SPI headers.

&gt; Source/WebKit/Platform/spi/watchos/PepperUICoreSPI.h:280
&gt; +@property (nonatomic) BOOL useWideIdleCheck;

Do we really use all this stuff? I don&apos;t think so.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1661224</commentid>
    <comment_count>5</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2020-06-10 10:43:56 -0700</bug_when>
    <thetext>We do. Nevermind.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1661242</commentid>
    <comment_count>6</comment_count>
      <attachid>401541</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2020-06-10 11:19:33 -0700</bug_when>
    <thetext>Comment on attachment 401541
Patch

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

&gt;&gt; Source/WebKit/Platform/spi/watchos/PepperUICoreSPI.h:157
&gt;&gt; +@property (nonatomic, assign) UIReturnKeyType returnKeyType; // Default is Done, also supports Send and Join
&gt; 
&gt; I think we shouldn&apos;t be in the habit of importing comments from SPI headers.

I mostly scrubbed them, missed this one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1661245</commentid>
    <comment_count>7</comment_count>
      <attachid>401558</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2020-06-10 11:25:32 -0700</bug_when>
    <thetext>Created attachment 401558
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1661330</commentid>
    <comment_count>8</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-06-10 13:34:23 -0700</bug_when>
    <thetext>Committed r262854: &lt;https://trac.webkit.org/changeset/262854&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 401558.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1661411</commentid>
    <comment_count>9</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2020-06-10 16:05:13 -0700</bug_when>
    <thetext>Committed r262868: &lt;https://trac.webkit.org/changeset/262868&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1661440</commentid>
    <comment_count>10</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2020-06-10 17:00:13 -0700</bug_when>
    <thetext>Committed r262875: &lt;https://trac.webkit.org/changeset/262875&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>401483</attachid>
            <date>2020-06-09 15:33:13 -0700</date>
            <delta_ts>2020-06-10 07:55:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-212996-20200609153312.patch</filename>
            <type>text/plain</type>
            <size>25655</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjI4MTUpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMwIEBACisyMDIwLTA2LTA5ICBKb25hdGhhbiBC
ZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNvbT4KKworICAgICAgICBXZWJLaXQ6QWRkIFBlcHBlclVJ
Q29yZVNQSS5oCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMTI5OTYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzY0MTgyNjI3PgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgYmVoYXZp
b3IgdW5jaGFuZ2VkLgorCisgICAgICAgICogUGxhdGZvcm0vc3BpL3dhdGNob3M6IEFkZGVkLgor
ICAgICAgICAqIFBsYXRmb3JtL3NwaS93YXRjaG9zL1BlcHBlclVJQ29yZVNQSS5oOiBBZGRlZC4K
KyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV0tTYWZlQnJvd3NpbmdXYXJuaW5nLm1tOiBJbmNs
dWRlIFBlcHBlclVJQ29yZVNQSSBoZWFkZXIuCisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS1Nj
cm9sbFZpZXcubW06IERpdHRvLgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvZm9ybXMvV0tEYXRl
UGlja2VyVmlld0NvbnRyb2xsZXIubW06IFJlbW92ZSBoZWFkZXJzIGR1cGxpY2F0ZWQgaW4gUGVw
cGVyVUlDb3JlU1BJLmguCisgICAgICAgICogVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0ZvY3VzZWRG
b3JtQ29udHJvbFZpZXcubW06IERpdHRvLgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvZm9ybXMv
V0tOdW1iZXJQYWRWaWV3Lm1tOiBJbmNsdWRlIFBlcHBlclVJQ29yZVNQSSBoZWFkZXIuCisgICAg
ICAgICogVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS051bWJlclBhZFZpZXdDb250cm9sbGVyLmg6IFJl
bW92ZSBoZWFkZXJzIGR1cGxpY2F0ZWQgaW4gUGVwcGVyVUlDb3JlU1BJLmguCisgICAgICAgICog
VUlQcm9jZXNzL2lvcy9mb3Jtcy9XS051bWJlclBhZFZpZXdDb250cm9sbGVyLm1tOiBEaXR0by4K
KyAgICAgICAgKC1bV0tOdW1iZXJQYWRWaWV3Q29udHJvbGxlciBhZGRDb250ZW50Vmlld0FuaW1h
dGlvbnM6XSk6IExpbWl0IGFkZEFuaW1hdGlvbiB0byBJbnRlcm5hbCBidWlsZHMuCisgICAgICAg
ICogVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS1F1aWNrYm9hcmRMaXN0Vmlld0NvbnRyb2xsZXIuaDog
SW5jbHVkZSBQZXBwZXJVSUNvcmVTUEkgaGVhZGVyLgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3Mv
Zm9ybXMvV0tRdWlja2JvYXJkTGlzdFZpZXdDb250cm9sbGVyLm1tOiBSZW1vdmUgaGVhZGVycyBk
dXBsaWNhdGVkIGluIFBlcHBlclVJQ29yZVNQSS5oLgorICAgICAgICAoLVtXS1F1aWNrYm9hcmRM
aXN0Vmlld0NvbnRyb2xsZXIgaW5pdFdpdGhEZWxlZ2F0ZTpdKToKKyAgICAgICAgKiBVSVByb2Nl
c3MvaW9zL2Zvcm1zL1dLU2VsZWN0TWVudUxpc3RWaWV3Q29udHJvbGxlci5tbTogUmVtb3ZlIGhl
YWRlcnMgZHVwbGljYXRlZCBpbiBQZXBwZXJVSUNvcmVTUEkuaC4KKyAgICAgICAgKiBVSVByb2Nl
c3MvaW9zL2Zvcm1zL1dLVGV4dElucHV0TGlzdFZpZXdDb250cm9sbGVyLm1tOiBEaXR0by4KKyAg
ICAgICAgKiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogQWRkIFBlcHBlclVJQ29y
ZVNQSS5oLgorCiAyMDIwLTA2LTA5ICBCcmlhbiBCdXJnICA8YmJ1cmdAYXBwbGUuY29tPgogCiAg
ICAgICAgIFtDb2NvYV0gRWxlbWVudCBTZW5kIEtleXMgY2FuIGhhbmcgd2hlbiBhbiBhdXRvbWF0
aW9uIHdpbmRvdyBiZWNvbWVzIHVuZm9jdXNlZApJbmRleDogU291cmNlL1dlYktpdC9QbGF0Zm9y
bS9zcGkvd2F0Y2hvcy9QZXBwZXJVSUNvcmVTUEkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0L1BsYXRmb3JtL3NwaS93YXRjaG9zL1BlcHBlclVJQ29yZVNQSS5oCShub25leGlzdGVudCkK
KysrIFNvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL3dhdGNob3MvUGVwcGVyVUlDb3JlU1BJLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMDQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWYgUExBVEZP
Uk0oV0FUQ0hPUykKKworI2ltcG9ydCAiVUlLaXRTUEkuaCIKKworI2lmIFVTRShBUFBMRV9JTlRF
Uk5BTF9TREspCisKKyNpbXBvcnQgPFBlcHBlclVJQ29yZS9QVUlDQWN0aW9uQ29udHJvbGxlci5o
PgorI2ltcG9ydCA8UGVwcGVyVUlDb3JlL1BVSUNBY3Rpb25Db250cm9sbGVyX1ByaXZhdGUuaD4K
KyNpbXBvcnQgPFBlcHBlclVJQ29yZS9QVUlDQWN0aW9uR3JvdXAuaD4KKyNpbXBvcnQgPFBlcHBl
clVJQ29yZS9QVUlDQXBwbGljYXRpb25fUHJpdmF0ZS5oPgorI2ltcG9ydCA8UGVwcGVyVUlDb3Jl
L1BVSUNDcm93bklucHV0U2VxdWVuY2VyLmg+CisjaW1wb3J0IDxQZXBwZXJVSUNvcmUvUFVJQ0Ny
b3duSW5wdXRTZXF1ZW5jZXJfUHJpdmF0ZS5oPgorI2ltcG9ydCA8UGVwcGVyVUlDb3JlL1BVSUNR
dWlja2JvYXJkQXJvdWV0Vmlld0NvbnRyb2xsZXIuaD4KKyNpbXBvcnQgPFBlcHBlclVJQ29yZS9Q
VUlDUXVpY2tib2FyZExhbmd1YWdlQ29udHJvbGxlci5oPgorI2ltcG9ydCA8UGVwcGVyVUlDb3Jl
L1BVSUNRdWlja2JvYXJkTGlzdFZpZXdDb250cm9sbGVyLmg+CisjaW1wb3J0IDxQZXBwZXJVSUNv
cmUvUFVJQ1F1aWNrYm9hcmRMaXN0Vmlld0NvbnRyb2xsZXJTdWJjbGFzcy5oPgorI2ltcG9ydCA8
UGVwcGVyVUlDb3JlL1BVSUNRdWlja2JvYXJkTGlzdFZpZXdTcGVjcy5oPgorI2ltcG9ydCA8UGVw
cGVyVUlDb3JlL1BVSUNRdWlja2JvYXJkVmlld0NvbnRyb2xsZXIuaD4KKyNpbXBvcnQgPFBlcHBl
clVJQ29yZS9QVUlDUXVpY2tib2FyZFZpZXdDb250cm9sbGVyX1ByaXZhdGUuaD4KKyNpbXBvcnQg
PFBlcHBlclVJQ29yZS9QVUlDUmVzb3VyY2VzLmg+CisjaW1wb3J0IDxQZXBwZXJVSUNvcmUvUFVJ
Q1N0YXR1c0JhckFwcENvbnRleHRWaWV3Lmg+CisjaW1wb3J0IDxQZXBwZXJVSUNvcmUvUFVJQ1Rh
YmxlVmlldy5oPgorI2ltcG9ydCA8UGVwcGVyVUlDb3JlL1BVSUNUYWJsZVZpZXdDZWxsLmg+Cisj
aW1wb3J0IDxQZXBwZXJVSUNvcmUvVUlEZXZpY2UrUFVJQ0FkZGl0aW9ucy5oPgorI2ltcG9ydCA8
UGVwcGVyVUlDb3JlL1VJU2Nyb2xsVmlldytQVUlDQWRkaXRpb25zUHJpdmF0ZS5oPgorCisjaWYg
SEFWRShRVUlDS0JPQVJEX0NPTExFQ1RJT05fVklFV1MpCisjaW1wb3J0IDxQZXBwZXJVSUNvcmUv
UFVJQ1F1aWNrYm9hcmRMaXN0Q29sbGVjdGlvblZpZXdJdGVtQ2VsbC5oPgorI2VuZGlmCisKKyNl
bHNlIC8vIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisKK05TX0FTU1VNRV9OT05OVUxMX0JFR0lO
CisKK2V4dGVybiBOU1N0cmluZyAqIGNvbnN0IFBVSUNTdGF0dXNCYXJOYXZpZ2F0aW9uQmFja0J1
dHRvblByZXNzZWROb3RpZmljYXRpb247CitleHRlcm4gTlNTdHJpbmcgKiBjb25zdCBQVUlDU3Rh
dHVzQmFyVGl0bGVUYXBwZWROb3RpZmljYXRpb247CisKK3R5cGVkZWYgTlNfRU5VTShOU0ludGVn
ZXIsIFBVSUNDcm93bklucHV0U2Nyb2xsRGlyZWN0aW9uKSB7CisgICAgUFVJQ0Nyb3duSW5wdXRT
Y3JvbGxEaXJlY3Rpb25Ob25lLAorICAgIFBVSUNDcm93bklucHV0U2Nyb2xsRGlyZWN0aW9uSG9y
aXpvbnRhbCwKKyAgICBQVUlDQ3Jvd25JbnB1dFNjcm9sbERpcmVjdGlvblZlcnRpY2FsLAorfTsK
KwordHlwZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgUFVJQ0RldmljZVZhcmlhbnQpIHsKKyAgICBQ
VUlDRGV2aWNlVmFyaWFudENvbXBhY3QgPSAwLAorICAgIFBVSUNEZXZpY2VWYXJpYW50UmVndWxh
ciA9IDEsCisgICAgUFVJQ0RldmljZVZhcmlhbnQzOTRoID0gMiwKKyAgICBQVUlDRGV2aWNlVmFy
aWFudDQ0OGggPSAzLAorfTsKKworQGludGVyZmFjZSBVSURldmljZSAoUFVJQ0FkZGl0aW9ucykK
Ky0gKFBVSUNEZXZpY2VWYXJpYW50KXB1aWNfZGV2aWNlVmFyaWFudDsKK0BlbmQKKwordHlwZWRl
ZiBOU19FTlVNKE5TSW50ZWdlciwgUFVJQ0RpY3RhdGlvbk1vZGUpIHsKKyAgICBQVUlDRGljdGF0
aW9uTW9kZVRleHQsCisgICAgUFVJQ0RpY3RhdGlvbk1vZGVUZXh0QW5kQXVkaW8sCisgICAgUFVJ
Q0RpY3RhdGlvbk1vZGVBdWRpbywKKyAgICBQVUlDRGljdGF0aW9uTW9kZVBlcnNvbiwKKyAgICBQ
VUlDRGljdGF0aW9uTW9kZUxvY2F0aW9uCit9OworCitAcHJvdG9jb2wgUFVJQ0FwcGxpY2F0aW9u
U3RhdHVzQmFyUHJvcGVydGllcyA8TlNPYmplY3Q+CitAcHJvcGVydHkgKG5vbmF0b21pYywgY29w
eSkgTlNTdHJpbmcgKnRpdGxlOworQHByb3BlcnR5IChub25hdG9taWMsIHN0cm9uZykgVUlDb2xv
ciAqdGl0bGVDb2xvcjsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24sIGdldHRlcj1pc1Rp
dGxlSW50ZXJhY3RpdmUpIGJvb2wgdGl0bGVJbnRlcmFjdGl2ZTsKK0Bwcm9wZXJ0eSAobm9uYXRv
bWljLCBhc3NpZ24pIGJvb2wgc2hvd05hdmlnYXRpb25VSTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWlj
LCBhc3NpZ24pIGJvb2wgbmF2VUlCYWNrQnV0dG9uRGlzYWJsZWQ7CistIChCT09MKSBjb21taXRD
aGFuZ2VzQW5pbWF0ZWQ6KEJPT0wpIGFuaW1hdGVkOworQGVuZAorCitAcHJvdG9jb2wgUFVJQ1N0
YXR1c0JhckFwcENvbnRleHRWaWV3RGF0YVNvdXJjZSA8TlNPYmplY3Q+CitAZW5kCisKK0BpbnRl
cmZhY2UgUFVJQ0FwcGxpY2F0aW9uU3RhdHVzQmFySXRlbSA6IE5TT2JqZWN0IDxQVUlDQXBwbGlj
YXRpb25TdGF0dXNCYXJQcm9wZXJ0aWVzLCBQVUlDU3RhdHVzQmFyQXBwQ29udGV4dFZpZXdEYXRh
U291cmNlLCBOU1NlY3VyZUNvZGluZywgTlNDb3B5aW5nPgorQGVuZAorCitAaW50ZXJmYWNlIFVJ
Vmlld0NvbnRyb2xsZXIgKFBVSUNBcHBsaWNhdGlvblN0YXR1c0JhckFkZGl0aW9ucykKK0Bwcm9w
ZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSwgZ2V0dGVyPXB1aWNfYXBwbGljYXRpb25TdGF0dXNC
YXJJdGVtKSBQVUlDQXBwbGljYXRpb25TdGF0dXNCYXJJdGVtICphcHBsaWNhdGlvblN0YXR1c0Jh
ckl0ZW07CitAZW5kCisKK0BpbnRlcmZhY2UgUFVJQ1Jlc291cmNlcyA6IE5TT2JqZWN0CisrIChV
SUltYWdlICopaW1hZ2VOYW1lZDooTlNTdHJpbmcgKilpbWFnZU5hbWUgaW5CdW5kbGU6KE5TQnVu
ZGxlICopYnVuZGxlIHNob3VsZENhY2hlOihCT09MKXNob3VsZENhY2hlOworQGVuZAorCitAaW50
ZXJmYWNlIFBVSUNTdGF0dXNCYXJHbG9iYWxDb250ZXh0Vmlld0Fzc2VydGlvbiA6IE5TT2JqZWN0
CitAZW5kCisKK0BpbnRlcmZhY2UgUFVJQ1N0YXR1c0JhciA6IFVJU3RhdHVzQmFyCitAZW5kCisK
K0BpbnRlcmZhY2UgUFVJQ0FwcGxpY2F0aW9uIDogVUlBcHBsaWNhdGlvbgorKyAoaW5zdGFuY2V0
eXBlKXNoYXJlZFBVSUNBcHBsaWNhdGlvbjsKKy0gKFBVSUNTdGF0dXNCYXJHbG9iYWxDb250ZXh0
Vmlld0Fzc2VydGlvbiAqKV90YWtlU3RhdHVzQmFyR2xvYmFsQ29udGV4dEFzc2VydGlvbkFuaW1h
dGVkOihCT09MKWFuaW1hdGVkOworLSAoUFVJQ1N0YXR1c0JhciAqKV9wdWljU3RhdHVzQmFyOwor
QGVuZAorCit0eXBlZGVmIHZvaWQgKF5QVUlDUXVpY2tib2FyZENvbXBsZXRpb25CbG9jaykoTlNB
dHRyaWJ1dGVkU3RyaW5nICogX051bGxhYmxlKTsKKworQGludGVyZmFjZSBQVUlDUXVpY2tib2Fy
ZFNwZWNzIDogTlNPYmplY3QKK0BlbmQKK0BpbnRlcmZhY2UgUFVJQ1F1aWNrYm9hcmRMaXN0Vmll
d1NwZWNzIDogUFVJQ1F1aWNrYm9hcmRTcGVjcworQHByb3BlcnR5IChhc3NpZ24sIG5vbmF0b21p
YykgQ0dGbG9hdCBkZWZhdWx0QnV0dG9uSGVpZ2h0OworQGVuZAorCitAaW50ZXJmYWNlIFBVSUNC
dXR0b24gOiBVSUJ1dHRvbgorQGVuZAorCitAaW50ZXJmYWNlIFBVSUNRdWlja2JvYXJkTGlzdFRy
YXlCdXR0b24gOiBQVUlDQnV0dG9uCistIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhGcmFtZTooQ0dS
ZWN0KWZyYW1lIHRpbnRDb2xvcjoobnVsbGFibGUgVUlDb2xvciAqKXRpbnRDb2xvciBkZWZhdWx0
SGVpZ2h0OihDR0Zsb2F0KWRlZmF1bHRIZWlnaHQ7CitAZW5kCisKK0BpbnRlcmZhY2UgUFVJQ1Rh
YmxlVmlld0NlbGwgOiBVSVRhYmxlVmlld0NlbGwKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBnZXR0
ZXI9aXNSYWRpb1NlY3Rpb25DZWxsKSBCT09MIHJhZGlvU2VjdGlvbkNlbGw7CistICh2b2lkKWNv
bmZpZ3VyZUZvclRleHQ6KE5TU3RyaW5nICopdGV4dCB3aWR0aDooQ0dGbG9hdCl3aWR0aDsKK0Bl
bmQKKworQGludGVyZmFjZSBQVUlDUXVpY2tib2FyZExpc3RJdGVtQ2VsbCA6IFBVSUNUYWJsZVZp
ZXdDZWxsCitAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIFVJTGFiZWwgKml0ZW1MYWJl
bDsKK0BlbmQKKworQGludGVyZmFjZSBQVUlDVGFibGVWaWV3IDogVUlUYWJsZVZpZXcKK0BlbmQK
KworQGludGVyZmFjZSBQVUlDVGV4dElucHV0Q29udGV4dCA6IE5TT2JqZWN0IDxVSVRleHRJbnB1
dFRyYWl0cywgTlNTZWN1cmVDb2Rpbmc+CisKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBzdHJvbmcp
IE5TU3RyaW5nICpyZXF1ZXN0aW5nQXBwbGljYXRpb25CdW5kbGVJRDsKK0Bwcm9wZXJ0eSAobm9u
YXRvbWljLCBzdHJvbmcpIE5TU3RyaW5nICppbml0aWFsVGV4dDsKK0Bwcm9wZXJ0eSAobm9uYXRv
bWljLCBzdHJvbmcsIG51bGxhYmxlKSBVSUNvbG9yICp0aW50Q29sb3I7CitAcHJvcGVydHkgKG5v
bmF0b21pYywgc3Ryb25nKSBVSVRleHRDb250ZW50VHlwZSBzZWNvbmRhcnlUZXh0Q29udGVudFR5
cGU7CitAcHJvcGVydHkgKG5vbmF0b21pYywgYXNzaWduKSBOU0ludGVnZXIgbWluaW11bUxlbmd0
aDsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24pIFVJUmV0dXJuS2V5VHlwZSByZXR1cm5L
ZXlUeXBlOyAvLyBEZWZhdWx0IGlzIERvbmUsIGFsc28gc3VwcG9ydHMgU2VuZCBhbmQgSm9pbgor
QHByb3BlcnR5IChub25hdG9taWMsIHN0cm9uZykgTlNBdHRyaWJ1dGVkU3RyaW5nICphdHRyaWJ1
dGVkSGVhZGVyVGV4dDsKKworQGVuZAorCitAY2xhc3MgUFVJQ1F1aWNrYm9hcmRDb250cm9sbGVy
OworQHByb3RvY29sIFBVSUNRdWlja2JvYXJkQ29udHJvbGxlckRlbGVnYXRlIDxOU09iamVjdD4K
Ky0gKHZvaWQpcXVpY2tib2FyZENvbnRyb2xsZXI6KFBVSUNRdWlja2JvYXJkQ29udHJvbGxlciAq
KXF1aWNrYm9hcmRDb250cm9sbGVyIHRleHRJbnB1dFZhbHVlRGlkQ2hhbmdlOihOU0F0dHJpYnV0
ZWRTdHJpbmcgKilhdHRyaWJ1dGVkVGV4dDsKK0BlbmQKKworQGludGVyZmFjZSBQVUlDUXVpY2ti
b2FyZENvbnRyb2xsZXIgOiBOU09iamVjdAorQHByb3BlcnR5IChub25hdG9taWMsIHdlYWspIGlk
PFBVSUNRdWlja2JvYXJkQ29udHJvbGxlckRlbGVnYXRlPiBkZWxlZ2F0ZTsKK0Bwcm9wZXJ0eSAo
bm9uYXRvbWljLCBzdHJvbmcpIFBVSUNUZXh0SW5wdXRDb250ZXh0ICp0ZXh0SW5wdXRDb250ZXh0
OworQHByb3BlcnR5IChub25hdG9taWMsIHdlYWspIFVJVmlld0NvbnRyb2xsZXIgKnF1aWNrYm9h
cmRQcmVzZW50aW5nVmlld0NvbnRyb2xsZXI7CitAZW5kCisKK0Bwcm90b2NvbCBQVUlDUXVpY2ti
b2FyZENvbnRyb2xsZXIgPE5TT2JqZWN0PgorQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5
KSBOU1N0cmluZyAqcHJpbWFyeUxhbmd1YWdlOworQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRv
bmx5KSBCT09MIGFuaW1hdGVzU2VsZWN0aW9uVG9EZXN0aW5hdGlvblZpZXc7CistICh2b2lkKWRp
c21pc3NWaWV3Q29udHJvbGxlckFuaW1hdGVkOihCT09MKWFuaW1hdGVkIGNvbXBsZXRpb246KG51
bGxhYmxlIHZvaWQoXikodm9pZCkpY29tcGxldGlvbjsKK0BlbmQKKworQHByb3RvY29sIFBVSUNR
dWlja2JvYXJkVmlld0NvbnRyb2xsZXJEZWxlZ2F0ZSA8TlNPYmplY3Q+CistICh2b2lkKXF1aWNr
Ym9hcmQ6KGlkPFBVSUNRdWlja2JvYXJkQ29udHJvbGxlcj4pcXVpY2tib2FyZCB0ZXh0RW50ZXJl
ZDooTlNBdHRyaWJ1dGVkU3RyaW5nICopYXR0cmlidXRlZFRleHQ7CistICh2b2lkKXF1aWNrYm9h
cmQ6KGlkPFBVSUNRdWlja2JvYXJkQ29udHJvbGxlcj4pcXVpY2tib2FyZCBsYW5ndWFnZURpZENo
YW5nZTooTlNTdHJpbmcgKilsYW5ndWFnZUNvZGU7CistICh2b2lkKXF1aWNrYm9hcmRJbnB1dENh
bmNlbGxlZDooaWQ8UFVJQ1F1aWNrYm9hcmRDb250cm9sbGVyPilxdWlja2JvYXJkOworQGVuZAor
CitAcHJvdG9jb2wgUFVJQ1F1aWNrYm9hcmRUcmFuc2l0aW9uIDxOU09iamVjdD4KK0BlbmQKKwor
QGludGVyZmFjZSBQVUlDUXVpY2tib2FyZFZpZXdDb250cm9sbGVyIDogVUlWaWV3Q29udHJvbGxl
ciA8UFVJQ1F1aWNrYm9hcmRDb250cm9sbGVyPgorQHByb3BlcnR5IChub25hdG9taWMsIHdlYWsp
IGlkPFBVSUNRdWlja2JvYXJkVmlld0NvbnRyb2xsZXJEZWxlZ2F0ZT4gZGVsZWdhdGU7CitAcHJv
cGVydHkgKG5vbmF0b21pYywgc3Ryb25nKSBVSVZpZXcgKmNvbnRlbnRWaWV3OworQHByb3BlcnR5
IChub25hdG9taWMsIHJlYWRvbmx5KSBVSUJ1dHRvbiAqY2FuY2VsQnV0dG9uOworQHByb3BlcnR5
IChub25hdG9taWMsIGFzc2lnbikgTlNJbnRlZ2VyIG1pblRleHRMZW5ndGhGb3JFbmFibGluZ0Fj
Y2VwdDsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24pIEJPT0wgc2hvd3NBY2NlcHRCdXR0
b247CistIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhEZWxlZ2F0ZTooaWQ8UFVJQ1F1aWNrYm9hcmRW
aWV3Q29udHJvbGxlckRlbGVnYXRlPilkZWxlZ2F0ZSBOU19ERVNJR05BVEVEX0lOSVRJQUxJWkVS
OworLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoQ29kZXI6KE5TQ29kZXIgKilhRGVjb2RlciBOU19E
RVNJR05BVEVEX0lOSVRJQUxJWkVSOworQGVuZAorCitAaW50ZXJmYWNlIFBVSUNRdWlja2JvYXJk
Vmlld0NvbnRyb2xsZXIgKFRyYW5zaXRpb25zKSA8UFVJQ1F1aWNrYm9hcmRUcmFuc2l0aW9uPgor
LSAodm9pZClhZGRDb250ZW50Vmlld0FuaW1hdGlvbnM6KEJPT0wpaXNQcmVzZW50aW5nOworQGVu
ZAorCitAaW50ZXJmYWNlIFBVSUNRdWlja2JvYXJkTGlzdFZpZXdDb250cm9sbGVyIDogUFVJQ1F1
aWNrYm9hcmRWaWV3Q29udHJvbGxlcgorQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBQ
VUlDVGFibGVWaWV3ICpsaXN0VmlldzsKK0Bwcm9wZXJ0eSAoc3Ryb25nLCBub25hdG9taWMsIHJl
YWRvbmx5KSBQVUlDUXVpY2tib2FyZExpc3RWaWV3U3BlY3MgKnNwZWNzOworQHByb3BlcnR5IChu
b25hdG9taWMsIGNvcHkpIFVJVGV4dENvbnRlbnRUeXBlIHRleHRDb250ZW50VHlwZTsKKy0gKHZv
aWQpcmVsb2FkTGlzdEl0ZW1zOworLSAodm9pZClyZWxvYWRIZWFkZXJDb250ZW50VmlldzsKK0Bl
bmQKKworQGludGVyZmFjZSBQVUlDUXVpY2tib2FyZEFyb3VldFZpZXdDb250cm9sbGVyIDogUFVJ
Q1F1aWNrYm9hcmRWaWV3Q29udHJvbGxlcgorQHByb3BlcnR5IChub25hdG9taWMsIGNvcHksIG51
bGxhYmxlKSBVSVRleHRDb250ZW50VHlwZSB0ZXh0Q29udGVudFR5cGU7CistICh2b2lkKXNldElu
cHV0VGV4dDoobnVsbGFibGUgTlNTdHJpbmcgKilpbnB1dFRleHQgc2VsZWN0aW9uUmFuZ2U6KE5T
UmFuZ2Upc2VsZWN0aW9uUmFuZ2U7CitAZW5kCisKK3R5cGVkZWYgTlNfRU5VTShOU0ludGVnZXIs
IFBVSUNQaWNrZXJWaWV3U3R5bGUpIHsKKyAgICBQVUlDUGlja2VyVmlld1N0eWxlTGlzdCwKKyAg
ICBQVUlDUGlja2VyVmlld1N0eWxlU3RhY2ssCisgICAgUFVJQ1BpY2tlclZpZXdTdHlsZVNlcXVl
bmNlLAorfTsKKworQHByb3RvY29sIFBVSUNQaWNrZXJWaWV3RGVsZWdhdGUgPE5TT2JqZWN0Pgor
QGVuZAorQHByb3RvY29sIFBVSUNQaWNrZXJWaWV3RGF0YVNvdXJjZSA8TlNPYmplY3Q+CitAZW5k
CisKK0BpbnRlcmZhY2UgUFVJQ1BpY2tlclZpZXcgOiBVSVZpZXcKK0Bwcm9wZXJ0eSAobm9uYXRv
bWljKSBOU0ludGVnZXIgc2VsZWN0ZWRJbmRleDsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCB3ZWFr
KSBpZDxQVUlDUGlja2VyVmlld0RhdGFTb3VyY2U+IGRhdGFTb3VyY2U7CitAcHJvcGVydHkgKG5v
bmF0b21pYywgd2VhaykgaWQ8UFVJQ1BpY2tlclZpZXdEZWxlZ2F0ZT4gZGVsZWdhdGU7CistIChp
bnN0YW5jZXR5cGUpaW5pdFdpdGhTdHlsZTooUFVJQ1BpY2tlclZpZXdTdHlsZSlzdHlsZSBOU19E
RVNJR05BVEVEX0lOSVRJQUxJWkVSOworLSAoVUlWaWV3ICopZGVxdWV1ZVJldXNhYmxlSXRlbVZp
ZXc7CistICh2b2lkKXJlbG9hZERhdGE7CitAZW5kCisKK0Bwcm90b2NvbCBQVUlDRGljdGF0aW9u
Vmlld0NvbnRyb2xsZXJEZWxlZ2F0ZSA8TlNPYmplY3Q+CitAZW5kCitAaW50ZXJmYWNlIFBVSUNE
aWN0YXRpb25WaWV3Q29udHJvbGxlciA6IFBVSUNRdWlja2JvYXJkVmlld0NvbnRyb2xsZXIKKy0g
KGluc3RhbmNldHlwZSlpbml0V2l0aERlbGVnYXRlOihpZDxQVUlDUXVpY2tib2FyZFZpZXdDb250
cm9sbGVyRGVsZWdhdGU+KWRlbGVnYXRlIGRpY3RhdGlvbk1vZGU6KFBVSUNEaWN0YXRpb25Nb2Rl
KWRpY3RhdGlvbk1vZGUgTlNfREVTSUdOQVRFRF9JTklUSUFMSVpFUjsKK0BlbmQKKworQGludGVy
ZmFjZSBQVUlDUXVpY2tib2FyZFZpZXdDb250cm9sbGVyIChFeHBvc2VIZWFkZXIpCitAcHJvcGVy
dHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIFVJVmlldyAqaGVhZGVyVmlldzsKK0BlbmQKKworQGlu
dGVyZmFjZSBQVUlDQWN0aW9uSXRlbSA6IE5TT2JqZWN0CitAZW5kCisKK3R5cGVkZWYgTlNfRU5V
TShOU0ludGVnZXIsIFBVSUNBY3Rpb25TdHlsZSkgeworICAgIFBVSUNBY3Rpb25TdHlsZUF1dG9t
YXRpYyA9IDAsCisgICAgUFVJQ0FjdGlvblN0eWxlTGlzdCA9IDEsCisgICAgUFVJQ0FjdGlvblN0
eWxlR3JpZCA9IDIsCit9OworCitAaW50ZXJmYWNlIFBVSUNBY3Rpb25Hcm91cCA6IE5TT2JqZWN0
CistIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhBY3Rpb25JdGVtczooTlNBcnJheSAqKWFjdGlvbkl0
ZW1zIGFjdGlvblN0eWxlOihQVUlDQWN0aW9uU3R5bGUpYWN0aW9uU3R5bGU7CitAZW5kCisKK0Bj
bGFzcyBQVUlDUXVpY2tib2FyZExhbmd1YWdlQ29udHJvbGxlcjsKK0Bwcm90b2NvbCBQVUlDUXVp
Y2tib2FyZExhbmd1YWdlQ29udHJvbGxlckRlbGVnYXRlCistICh2b2lkKWxhbmd1YWdlQ29udHJv
bGxlckRpZENoYW5nZVByaW1hcnlMYW5ndWFnZTooUFVJQ1F1aWNrYm9hcmRMYW5ndWFnZUNvbnRy
b2xsZXIgKilsYW5ndWFnZUNvbnRyb2xsZXI7CitAZW5kCisKK0BpbnRlcmZhY2UgUFVJQ1F1aWNr
Ym9hcmRMYW5ndWFnZUNvbnRyb2xsZXIgOiBOU09iamVjdAorQHByb3BlcnR5IChub25hdG9taWMs
IHJlYWRvbmx5KSBOU1N0cmluZyAqcHJpbWFyeUxhbmd1YWdlOworLSAoUFVJQ0FjdGlvbkl0ZW0g
KilsYW5ndWFnZVNlbGVjdGlvbkFjdGlvbkl0ZW1Gb3JWaWV3Q29udHJvbGxlcjooVUlWaWV3Q29u
dHJvbGxlcjxQVUlDUXVpY2tib2FyZExhbmd1YWdlQ29udHJvbGxlckRlbGVnYXRlPiAqKXZpZXdD
b250cm9sbGVyOworQGVuZAorCitAaW50ZXJmYWNlIFBVSUNRdWlja2JvYXJkVmlld0NvbnRyb2xs
ZXIgKFF1aWNrYm9hcmRMYW5ndWFnZVN1cHBvcnQpCitAcHJvcGVydHkgKG5vbmF0b21pYywgc3Ry
b25nKSBQVUlDUXVpY2tib2FyZExhbmd1YWdlQ29udHJvbGxlciAqbGFuZ3VhZ2VDb250cm9sbGVy
OworLSAodm9pZClwcmltYXJ5TGFuZ3VhZ2VEaWRDaGFuZ2U6KE5TU3RyaW5nICopcHJpbWFyeUxh
bmd1YWdlOworQGVuZAorCitAcHJvdG9jb2wgUFVJQ0Nyb3duSW5wdXRTZXF1ZW5jZXJEZWxlZ2F0
ZSA8TlNPYmplY3Q+CitAZW5kCisKK0BpbnRlcmZhY2UgUFVJQ0Nyb3duSW5wdXRTZXF1ZW5jZXIg
OiBOU09iamVjdAorQHByb3BlcnR5IChub25hdG9taWMsIHdlYWspIGlkPFBVSUNDcm93bklucHV0
U2VxdWVuY2VyRGVsZWdhdGU+IGRlbGVnYXRlOworQHByb3BlcnR5IChub25hdG9taWMpIGRvdWJs
ZSBzdGFydDsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljKSBkb3VibGUgZW5kOworQHByb3BlcnR5IChu
b25hdG9taWMpIEJPT0wgdXNlV2lkZUlkbGVDaGVjazsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljKSBk
b3VibGUgc2NyZWVuU3BhY2VNdWx0aXBsaWVyOworQHByb3BlcnR5IChub25hdG9taWMpIGRvdWJs
ZSBvZmZzZXQ7CitAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHksIGdldHRlcj1pc0lkbGUp
IEJPT0wgaWRsZTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBnZXR0ZXI9aXNSdWJiZXJCYW5kaW5n
RW5hYmxlZCkgQk9PTCBydWJiZXJCYW5kaW5nRW5hYmxlZDsKKworLSAodm9pZClzZXRPZmZzZXQ6
KGRvdWJsZSlvZmZzZXQgc3VwcHJlc3NJbmRpY2F0b3JWaXNpYmlsaXR5Q2hhbmdlczooQk9PTClz
dXBwcmVzc0luZGljYXRvclZpc2liaWxpdHlDaGFuZ2VzOworLSAodm9pZCl1cGRhdGVXaXRoQ3Jv
d25JbnB1dEV2ZW50OihVSUV2ZW50ICopY3Jvd25JbnB1dEV2ZW50OworLSAodm9pZClzdG9wVmVs
b2NpdHlUcmFja2luZ0FuZERlY2VsZXJhdGlvbkltbWVkaWF0ZWx5OworQGVuZAorCitAaW50ZXJm
YWNlIFVJU2Nyb2xsVmlldyAoUFVJQ0FkZGl0aW9ucykgPFBVSUNDcm93bklucHV0U2VxdWVuY2Vy
RGVsZWdhdGU+CistIChDR1BvaW50KV9wdWljX2NvbnRlbnRPZmZzZXRGb3JDcm93bklucHV0U2Vx
dWVuY2VyT2Zmc2V0Oihkb3VibGUpc2VxdWVuY2VyT2Zmc2V0OworQHByb3BlcnR5IChub25hdG9t
aWMsIGdldHRlcj1wdWljX2Nyb3duSW5wdXRTY3JvbGxEaXJlY3Rpb24sIHNldHRlcj1wdWljX3Nl
dENyb3duSW5wdXRTY3JvbGxEaXJlY3Rpb246KSBQVUlDQ3Jvd25JbnB1dFNjcm9sbERpcmVjdGlv
biBjcm93bklucHV0U2Nyb2xsRGlyZWN0aW9uOworQGVuZAorCitAaW50ZXJmYWNlIFBVSUNBY3Rp
b25Db250cm9sbGVyIDogTlNPYmplY3QKKy0gKGluc3RhbmNldHlwZSlpbml0V2l0aEFjdGlvbkdy
b3VwOihQVUlDQWN0aW9uR3JvdXAgKilhY3Rpb25Hcm91cCBOU19ERVNJR05BVEVEX0lOSVRJQUxJ
WkVSOworQGVuZAorCitOU19BU1NVTUVfTk9OTlVMTF9FTkQKKworI2VuZGlmIC8vIFVTRShBUFBM
RV9JTlRFUk5BTF9TREspCisKKyNlbmRpZiAvLyBQTEFURk9STShXQVRDSE9TKQpJbmRleDogU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV0tTYWZlQnJvd3NpbmdXYXJuaW5nLm1tCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dLU2FmZUJyb3dzaW5nV2Fy
bmluZy5tbQkocmV2aXNpb24gMjYyODEwKQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29j
b2EvV0tTYWZlQnJvd3NpbmdXYXJuaW5nLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw4ICszNSw3
IEBACiAjaW1wb3J0IDx3dGYvTGFuZ3VhZ2UuaD4KIAogI2lmIFBMQVRGT1JNKFdBVENIT1MpCi0j
aW1wb3J0ICJVSUtpdFNQSS5oIgotI2ltcG9ydCA8UGVwcGVyVUlDb3JlL1VJU2Nyb2xsVmlldytQ
VUlDQWRkaXRpb25zUHJpdmF0ZS5oPgorI2ltcG9ydCAiUGVwcGVyVUlDb3JlU1BJLmgiCiAjZW5k
aWYKIAogY29uc3RleHByIENHRmxvYXQgZXhjbGFtYXRpb25Qb2ludFNpemUgPSAzMDsKSW5kZXg6
IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS1Njcm9sbFZpZXcubW0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLU2Nyb2xsVmlldy5tbQkocmV2aXNpb24g
MjYyODEwKQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLU2Nyb2xsVmlldy5tbQko
d29ya2luZyBjb3B5KQpAQCAtMzYsOSArMzYsMTAgQEAKICNpbXBvcnQgPHd0Zi9XZWFrT2JqQ1B0
ci5oPgogCiAjaWYgUExBVEZPUk0oV0FUQ0hPUykKLSNpbXBvcnQgPFBlcHBlclVJQ29yZS9VSVNj
cm9sbFZpZXcrUFVJQ0FkZGl0aW9uc1ByaXZhdGUuaD4KKyNpbXBvcnQgIlBlcHBlclVJQ29yZVNQ
SS5oIgogI2VuZGlmCiAKKwogQGludGVyZmFjZSBXS1Njcm9sbFZpZXdEZWxlZ2F0ZUZvcndhcmRl
ciA6IE5TT2JqZWN0IDxVSVNjcm9sbFZpZXdEZWxlZ2F0ZT4KIAogLSAoaW5zdGFuY2V0eXBlKWlu
aXRXaXRoSW50ZXJuYWxEZWxlZ2F0ZTooV0tXZWJWaWV3ICopaW50ZXJuYWxEZWxlZ2F0ZSBleHRl
cm5hbERlbGVnYXRlOihpZCA8VUlTY3JvbGxWaWV3RGVsZWdhdGU+KWV4dGVybmFsRGVsZWdhdGU7
CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvZm9ybXMvV0tEYXRlUGlja2VyVmll
d0NvbnRyb2xsZXIubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9z
L2Zvcm1zL1dLRGF0ZVBpY2tlclZpZXdDb250cm9sbGVyLm1tCShyZXZpc2lvbiAyNjI4MTApCisr
KyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvZm9ybXMvV0tEYXRlUGlja2VyVmlld0NvbnRy
b2xsZXIubW0JKHdvcmtpbmcgY29weSkKQEAgLTI4LDE2ICsyOCw2IEBACiAKICNpZiBQTEFURk9S
TShXQVRDSE9TKQogCi0jaW1wb3J0IDxQZXBwZXJVSUNvcmUvUFVJQ0FwcGxpY2F0aW9uX1ByaXZh
dGUuaD4KLSNpbXBvcnQgPFBlcHBlclVJQ29yZS9QVUlDUGlja2VyVmlldy5oPgotI2ltcG9ydCA8
UGVwcGVyVUlDb3JlL1BVSUNQaWNrZXJWaWV3X1ByaXZhdGUuaD4KLSNpbXBvcnQgPFBlcHBlclVJ
Q29yZS9QVUlDUXVpY2tib2FyZFZpZXdDb250cm9sbGVyX1ByaXZhdGUuaD4KLSNpbXBvcnQgPFBl
cHBlclVJQ29yZS9QVUlDU3RhdHVzQmFyX1ByaXZhdGUuaD4KLSNpbXBvcnQgPFBlcHBlclVJQ29y
ZS9VSURldmljZStQVUlDQWRkaXRpb25zLmg+Ci0jaW1wb3J0IDxVSUtpdC9VSUdlb21ldHJ5X1By
aXZhdGUuaD4KLSNpbXBvcnQgPFVJS2l0L1VJSW50ZXJmYWNlX1ByaXZhdGUuaD4KLSNpbXBvcnQg
PFVJS2l0L1VJUmVzcG9uZGVyX1ByaXZhdGUuaD4KLSNpbXBvcnQgPFVJS2l0L1VJVmlld19Qcml2
YXRlLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0xvY2FsaXplZFN0cmluZ3MuaD4KICNpbXBvcnQgPHd0
Zi9SZXRhaW5QdHIuaD4KICNpbXBvcnQgPHd0Zi9XZWFrT2JqQ1B0ci5oPgpJbmRleDogU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLRm9jdXNlZEZvcm1Db250cm9sVmlldy5tbQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvZm9ybXMvV0tGb2N1c2Vk
Rm9ybUNvbnRyb2xWaWV3Lm1tCShyZXZpc2lvbiAyNjI4MTApCisrKyBTb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9pb3MvZm9ybXMvV0tGb2N1c2VkRm9ybUNvbnRyb2xWaWV3Lm1tCSh3b3JraW5nIGNv
cHkpCkBAIC0zMCw4ICszMCw2IEBACiAKIGFzbSgiLmxpbmtlcl9vcHRpb24gXCItZnJhbWV3b3Jr
XCIsIFwiUGVwcGVyVUlDb3JlXCIiKTsKIAotI2ltcG9ydCA8UGVwcGVyVUlDb3JlL1BVSUNDcm93
bklucHV0U2VxdWVuY2VyLmg+Ci0jaW1wb3J0IDxQZXBwZXJVSUNvcmUvUFVJQ0Nyb3duSW5wdXRT
ZXF1ZW5jZXJfUHJpdmF0ZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9Mb2NhbGl6ZWRTdHJpbmdzLmg+
CiAjaW1wb3J0IDxXZWJDb3JlL1dlYkNvcmVDQUxheWVyRXh0cmFzLmg+CiAjaW1wb3J0IDx3dGYv
TmV2ZXJEZXN0cm95ZWQuaD4KSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9mb3Jt
cy9XS051bWJlclBhZFZpZXcubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvaW9zL2Zvcm1zL1dLTnVtYmVyUGFkVmlldy5tbQkocmV2aXNpb24gMjYyODEwKQorKysgU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLTnVtYmVyUGFkVmlldy5tbQkod29ya2lu
ZyBjb3B5KQpAQCAtMjgsMTYgKzI4LDExIEBACiAKICNpZiBQTEFURk9STShXQVRDSE9TKQogCisj
aW1wb3J0ICJQZXBwZXJVSUNvcmVTUEkuaCIKICNpbXBvcnQgIldLTnVtYmVyUGFkVmlld0NvbnRy
b2xsZXIuaCIKLSNpbXBvcnQgPENvcmVUZXh0L0NURm9udFRyYWl0c1ByaXYuaD4KLSNpbXBvcnQg
PFBlcHBlclVJQ29yZS9QVUlDQWN0aW9uQ29udHJvbGxlcl9Qcml2YXRlLmg+Ci0jaW1wb3J0IDxQ
ZXBwZXJVSUNvcmUvVUlEZXZpY2UrUFVJQ0FkZGl0aW9ucy5oPgotI2ltcG9ydCA8VUlLaXQvVUlG
b250X1ByaXZhdGUuaD4KLSNpbXBvcnQgPFVJS2l0L1VJR2VvbWV0cnlfUHJpdmF0ZS5oPgotI2lt
cG9ydCA8VUlLaXQvVUlJbWFnZV9Qcml2YXRlLmg+Ci0jaW1wb3J0IDxVSUtpdC9VSUxhYmVsX1By
aXZhdGUuaD4KLSNpbXBvcnQgPFVJS2l0L1VJVmlld19Qcml2YXRlLmg+CisKICNpbXBvcnQgPFdl
YkNvcmUvTG9jYWxpemVkU3RyaW5ncy5oPgorI2ltcG9ydCA8cGFsL3NwaS9jb2NvYS9Db3JlVGV4
dFNQSS5oPgogI2ltcG9ydCA8d3RmL05ldmVyRGVzdHJveWVkLmg+CiAjaW1wb3J0IDx3dGYvUmV0
YWluUHRyLmg+CiAjaW1wb3J0IDx3dGYvV2Vha09iakNQdHIuaD4KSW5kZXg6IFNvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS051bWJlclBhZFZpZXdDb250cm9sbGVyLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLTnVtYmVyUGFkVmll
d0NvbnRyb2xsZXIuaAkocmV2aXNpb24gMjYyODEwKQorKysgU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvaW9zL2Zvcm1zL1dLTnVtYmVyUGFkVmlld0NvbnRyb2xsZXIuaAkod29ya2luZyBjb3B5KQpA
QCAtMjcsNyArMjcsNiBAQAogCiAjaW1wb3J0ICJXS051bWJlclBhZFZpZXcuaCIKICNpbXBvcnQg
IldLVGV4dElucHV0TGlzdFZpZXdDb250cm9sbGVyLmgiCi0jaW1wb3J0IDxQZXBwZXJVSUNvcmUv
UFVJQ1F1aWNrYm9hcmRWaWV3Q29udHJvbGxlci5oPgogCiBAaW50ZXJmYWNlIFdLTnVtYmVyUGFk
Vmlld0NvbnRyb2xsZXIgOiBQVUlDUXVpY2tib2FyZFZpZXdDb250cm9sbGVyCiAKSW5kZXg6IFNv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS051bWJlclBhZFZpZXdDb250cm9sbGVy
Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS051
bWJlclBhZFZpZXdDb250cm9sbGVyLm1tCShyZXZpc2lvbiAyNjI4MTApCisrKyBTb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9pb3MvZm9ybXMvV0tOdW1iZXJQYWRWaWV3Q29udHJvbGxlci5tbQkod29y
a2luZyBjb3B5KQpAQCAtMzAsOSArMzAsNiBAQAogCiAjaW1wb3J0ICJVSUtpdFNQSS5oIgogI2lt
cG9ydCAiV0tOdW1iZXJQYWRWaWV3LmgiCi0jaW1wb3J0IDxQZXBwZXJVSUNvcmUvUFVJQ1F1aWNr
Ym9hcmRWaWV3Q29udHJvbGxlcl9Qcml2YXRlLmg+Ci0jaW1wb3J0IDxQZXBwZXJVSUNvcmUvUFVJ
Q1Jlc291cmNlcy5oPgotI2ltcG9ydCA8UGVwcGVyVUlDb3JlL1VJRGV2aWNlK1BVSUNBZGRpdGlv
bnMuaD4KICNpbXBvcnQgPFdlYkNvcmUvTG9jYWxpemVkU3RyaW5ncy5oPgogI2ltcG9ydCA8d3Rm
L1JldGFpblB0ci5oPgogI2ltcG9ydCA8d3RmL1dlYWtPYmpDUHRyLmg+CkBAIC0yNTksNyArMjU2
LDkgQEAgLSAodm9pZClhZGRDb250ZW50Vmlld0FuaW1hdGlvbnM6KEJPT0wpaQogICAgIGZhZGVP
dXRBbmltYXRpb24udG9WYWx1ZSA9IEAwOwogICAgIGZhZGVPdXRBbmltYXRpb24uZHVyYXRpb24g
PSBudW1iZXJQYWRWaWV3RGlzbWlzc0FuaW1hdGlvbkR1cmF0aW9uOwogICAgIGZhZGVPdXRBbmlt
YXRpb24udGltaW5nRnVuY3Rpb24gPSBbQ0FNZWRpYVRpbWluZ0Z1bmN0aW9uIGZ1bmN0aW9uV2l0
aE5hbWU6a0NBTWVkaWFUaW1pbmdGdW5jdGlvbkVhc2VJbkVhc2VPdXRdOworI2lmIFVTRShBUFBM
RV9JTlRFUk5BTCkKICAgICBbc2VsZi5jb250ZW50VmlldyBhZGRBbmltYXRpb246ZmFkZU91dEFu
aW1hdGlvbiBmb3JLZXk6QCJXZWJLaXROdW1iZXJQYWRGYWRlT3V0QW5pbWF0aW9uS2V5Il07Cisj
ZW5kaWYKICAgICBzZWxmLmNvbnRlbnRWaWV3LmFscGhhID0gMDsKIH0KIApJbmRleDogU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLUXVpY2tib2FyZExpc3RWaWV3Q29udHJvbGxl
ci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS1F1
aWNrYm9hcmRMaXN0Vmlld0NvbnRyb2xsZXIuaAkocmV2aXNpb24gMjYyODEwKQorKysgU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLUXVpY2tib2FyZExpc3RWaWV3Q29udHJvbGxl
ci5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNSwxNCArMjUsNyBAQAogCiAjaWYgUExBVEZPUk0oV0FU
Q0hPUykKIAotI2ltcG9ydCAiVUlLaXRTUEkuaCIKLSNpbXBvcnQgPFBlcHBlclVJQ29yZS9QVUlD
UXVpY2tib2FyZExpc3RWaWV3Q29udHJvbGxlci5oPgotI2ltcG9ydCA8UGVwcGVyVUlDb3JlL1BV
SUNRdWlja2JvYXJkTGlzdFZpZXdDb250cm9sbGVyU3ViY2xhc3MuaD4KLSNpbXBvcnQgPFBlcHBl
clVJQ29yZS9QVUlDVGFibGVWaWV3Q2VsbC5oPgotCi0jaWYgSEFWRShRVUlDS0JPQVJEX0NPTExF
Q1RJT05fVklFV1MpCi0jaW1wb3J0IDxQZXBwZXJVSUNvcmUvUFVJQ1F1aWNrYm9hcmRMaXN0Q29s
bGVjdGlvblZpZXdJdGVtQ2VsbC5oPgotI2VuZGlmCisjaW1wb3J0ICJQZXBwZXJVSUNvcmVTUEku
aCIKIAogQGludGVyZmFjZSBXS1F1aWNrYm9hcmRMaXN0SXRlbUNlbGwgOiBQVUlDUXVpY2tib2Fy
ZExpc3RJdGVtQ2VsbAogQGVuZApJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL2Zv
cm1zL1dLUXVpY2tib2FyZExpc3RWaWV3Q29udHJvbGxlci5tbQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvZm9ybXMvV0tRdWlja2JvYXJkTGlzdFZpZXdDb250cm9s
bGVyLm1tCShyZXZpc2lvbiAyNjI4MTApCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3Mv
Zm9ybXMvV0tRdWlja2JvYXJkTGlzdFZpZXdDb250cm9sbGVyLm1tCSh3b3JraW5nIGNvcHkpCkBA
IC0yOCwxMiArMjgsNiBAQAogCiAjaWYgUExBVEZPUk0oV0FUQ0hPUykKIAotI2ltcG9ydCA8UGVw
cGVyVUlDb3JlL1BVSUNBY3Rpb25Db250cm9sbGVyLmg+Ci0jaW1wb3J0IDxQZXBwZXJVSUNvcmUv
UFVJQ0FjdGlvbkdyb3VwLmg+Ci0jaW1wb3J0IDxQZXBwZXJVSUNvcmUvUFVJQ0FwcGxpY2F0aW9u
X1ByaXZhdGUuaD4KLSNpbXBvcnQgPFBlcHBlclVJQ29yZS9QVUlDUXVpY2tib2FyZExhbmd1YWdl
Q29udHJvbGxlci5oPgotI2ltcG9ydCA8UGVwcGVyVUlDb3JlL1BVSUNRdWlja2JvYXJkVmlld0Nv
bnRyb2xsZXJfUHJpdmF0ZS5oPgotI2ltcG9ydCA8UGVwcGVyVUlDb3JlL1BVSUNTdGF0dXNCYXJB
cHBDb250ZXh0Vmlldy5oPgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgogCiBzdGF0aWMgY29u
c3QgQ0dGbG9hdCBpdGVtQ2VsbFRvcFRvTGFiZWxCYXNlbGluZSA9IDI2OwpAQCAtODQsNyArNzgs
NyBAQCBAaW50ZXJmYWNlIFdLUXVpY2tib2FyZExpc3RWaWV3Q29udHJvbGxlCiAKIC0gKGluc3Rh
bmNldHlwZSlpbml0V2l0aERlbGVnYXRlOihpZCA8V0tRdWlja2JvYXJkVmlld0NvbnRyb2xsZXJE
ZWxlZ2F0ZT4pZGVsZWdhdGUKIHsKLSAgICBpZiAoc2VsZiA9IFtzdXBlciBpbml0V2l0aERlbGVn
YXRlOmRlbGVnYXRlIGRpY3RhdGlvbk1vZGU6UFVJQ0RpY3RhdGlvbk1vZGVUZXh0XSkKKyAgICBp
ZiAoc2VsZiA9IFtzdXBlciBpbml0V2l0aERlbGVnYXRlOmRlbGVnYXRlXSkKICAgICAgICAgX2Nv
bnRleHRWaWV3TmVlZHNVcGRhdGUgPSBZRVM7CiAKICAgICByZXR1cm4gc2VsZjsKSW5kZXg6IFNv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS1NlbGVjdE1lbnVMaXN0Vmlld0NvbnRy
b2xsZXIubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL2Zvcm1z
L1dLU2VsZWN0TWVudUxpc3RWaWV3Q29udHJvbGxlci5tbQkocmV2aXNpb24gMjYyODEwKQorKysg
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLU2VsZWN0TWVudUxpc3RWaWV3Q29u
dHJvbGxlci5tbQkod29ya2luZyBjb3B5KQpAQCAtMjksMTcgKzI5LDggQEAKICNpZiBQTEFURk9S
TShXQVRDSE9TKQogCiAjaW1wb3J0ICJVSUtpdFNQSS5oIgotI2ltcG9ydCA8UGVwcGVyVUlDb3Jl
L1BVSUNRdWlja2JvYXJkTGlzdFZpZXdDb250cm9sbGVyLmg+Ci0jaW1wb3J0IDxQZXBwZXJVSUNv
cmUvUFVJQ1F1aWNrYm9hcmRMaXN0Vmlld0NvbnRyb2xsZXJTdWJjbGFzcy5oPgotI2ltcG9ydCA8
UGVwcGVyVUlDb3JlL1BVSUNSZXNvdXJjZXMuaD4KLSNpbXBvcnQgPFBlcHBlclVJQ29yZS9QVUlD
VGFibGVWaWV3Lmg+Ci0jaW1wb3J0IDxQZXBwZXJVSUNvcmUvUFVJQ1RhYmxlVmlld0NlbGwuaD4K
ICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KIAotI2lmIEhBVkUoUVVJQ0tCT0FSRF9DT0xMRUNU
SU9OX1ZJRVdTKQotI2ltcG9ydCA8UGVwcGVyVUlDb3JlL1BVSUNRdWlja2JvYXJkTGlzdENvbGxl
Y3Rpb25WaWV3SXRlbUNlbGwuaD4KLSNlbmRpZgotCiBzdGF0aWMgY29uc3QgQ0dGbG9hdCBjaGVj
a21hcmtJbWFnZVZpZXdXaWR0aCA9IDMyOwogc3RhdGljIGNvbnN0IENHRmxvYXQgc2VsZWN0TWVu
dUl0ZW1Ib3Jpem9udGFsTWFyZ2luID0gOTsKIHN0YXRpYyBjb25zdCBDR0Zsb2F0IHNlbGVjdE1l
bnVJdGVtQ2VsbEhlaWdodCA9IDQ0OwpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9z
L2Zvcm1zL1dLVGV4dElucHV0TGlzdFZpZXdDb250cm9sbGVyLm1tCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS1RleHRJbnB1dExpc3RWaWV3Q29udHJv
bGxlci5tbQkocmV2aXNpb24gMjYyODEwKQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9z
L2Zvcm1zL1dLVGV4dElucHV0TGlzdFZpZXdDb250cm9sbGVyLm1tCSh3b3JraW5nIGNvcHkpCkBA
IC0yOSwxOCArMjksOCBAQAogI2lmIFBMQVRGT1JNKFdBVENIT1MpCiAKICNpbXBvcnQgIldLTnVt
YmVyUGFkVmlld0NvbnRyb2xsZXIuaCIKLSNpbXBvcnQgPFBlcHBlclVJQ29yZS9QVUlDUXVpY2ti
b2FyZEFyb3VldFZpZXdDb250cm9sbGVyLmg+Ci0jaW1wb3J0IDxQZXBwZXJVSUNvcmUvUFVJQ1F1
aWNrYm9hcmRMaXN0Vmlld0NvbnRyb2xsZXJTdWJjbGFzcy5oPgotI2ltcG9ydCA8UGVwcGVyVUlD
b3JlL1BVSUNRdWlja2JvYXJkTGlzdFZpZXdTcGVjcy5oPgotI2ltcG9ydCA8UGVwcGVyVUlDb3Jl
L1BVSUNSZXNvdXJjZXMuaD4KLSNpbXBvcnQgPFBlcHBlclVJQ29yZS9QVUlDVGFibGVWaWV3Lmg+
Ci0jaW1wb3J0IDxQZXBwZXJVSUNvcmUvUFVJQ1RhYmxlVmlld0NlbGwuaD4KICNpbXBvcnQgPHd0
Zi9SZXRhaW5QdHIuaD4KIAotI2lmIEhBVkUoUVVJQ0tCT0FSRF9DT0xMRUNUSU9OX1ZJRVdTKQot
I2ltcG9ydCA8UGVwcGVyVUlDb3JlL1BVSUNRdWlja2JvYXJkTGlzdENvbGxlY3Rpb25WaWV3SXRl
bUNlbGwuaD4KLSNlbmRpZgotCiBzdGF0aWMgY29uc3QgQ0dGbG9hdCB0ZXh0U3VnZ2VzdGlvbkJ1
dHRvbkhlaWdodCA9IDQ0Owogc3RhdGljIGNvbnN0IENHRmxvYXQgdGV4dFN1Z2dlc3Rpb25MYWJl
bEhvcml6b250YWxNYXJnaW4gPSA5Owogc3RhdGljIE5TU3RyaW5nICp0ZXh0U3VnZ2VzdGlvbkNl
bGxSZXVzZUlkZW50aWZpZXIgPSBAIldlYktpdFF1aWNrYm9hcmRUZXh0U3VnZ2VzdGlvbkNlbGwi
OwpJbmRleDogU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCShyZXZpc2lvbiAyNjI4MTApCisrKyBTb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC00NjEzLDYgKzQ2MTMsNyBAQAogCQlB
QUIxNDVFNTIyM0Y5MzEyMDBFNDg5RDggLyogUHJlZmV0Y2hDYWNoZS5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQcmVmZXRjaENhY2hlLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQUFGQTYzNEUyMzRGN0M2MzAwRkZBODY0IC8qIEFzeW5jUmV2YWxp
ZGF0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFzeW5jUmV2YWxpZGF0
aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUFBRkE2MzUwMjM0RjdDNzMwMEZG
QTg2NCAvKiBBc3luY1JldmFsaWRhdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBc3luY1Jl
dmFsaWRhdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUFCMjc1MEMwMjQ4
NTlCMUEwMEYxQzlEOCAvKiBQZXBwZXJVSUNvcmVTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gUGVwcGVyVUlDb3JlU1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUIzOTZFQTU1MTJFMEVEMkQwMEY0RkVCNyAvKiBjb25maWcuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gY29uZmlnLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUI2MkU3MzBGMTQzMDQ3QTYwMDY5RUMzNSAvKiBXS0hpdFRlc3RSZXN1bHQuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV0tIaXRUZXN0UmVzdWx0LmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjYyRTczMTExNDMwNDdCMDAwNjlFQzM1IC8qIFdLSGl0
VGVzdFJlc3VsdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS0hpdFRlc3RS
ZXN1bHQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTg3MTAsNiArODcxMSwxNCBA
QAogCQkJcGF0aCA9IGlvczsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07CisJCUFC
Mjc1MEJEMjQ4NTgwOTEwMEYxQzlEOCAvKiB3YXRjaG9zICovID0geworCQkJaXNhID0gUEJYR3Jv
dXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQlBQjI3NTBDMDI0ODU5QjFBMDBGMUM5RDggLyogUGVw
cGVyVUlDb3JlU1BJLmggKi8sCisJCQkpOworCQkJcGF0aCA9IHdhdGNob3M7CisJCQlzb3VyY2VU
cmVlID0gIjxncm91cD4iOworCQl9OwogCQlCQzAxN0QxMDE2MjYwRkZEMDA3MDU0RjUgLyogRE9N
ICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKQEAgLTEwMzY0LDYg
KzEwMzczLDcgQEAKIAkJCQkzNzU0RDU0MTFCM0EyOTk4MDAzQTRDN0YgLyogQ29jb2EgKi8sCiAJ
CQkJQ0UxQTBCQ0IxQTQ4RTZDNjAwNTRFRjc0IC8qIGlvcyAqLywKIAkJCQlBMUU2ODg2RTFGNkUy
QjgyMDA3MDA2QTYgLyogbWFjICovLAorCQkJCUFCMjc1MEJEMjQ4NTgwOTEwMEYxQzlEOCAvKiB3
YXRjaG9zICovLAogCQkJKTsKIAkJCXBhdGggPSBzcGk7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91
cD4iOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>401541</attachid>
            <date>2020-06-10 07:55:04 -0700</date>
            <delta_ts>2020-06-10 11:25:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-212996-20200610075503.patch</filename>
            <type>text/plain</type>
            <size>25703</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjI4MzkpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMwIEBACisyMDIwLTA2LTEwICBKb25hdGhhbiBC
ZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNvbT4KKworICAgICAgICBXZWJLaXQ6QWRkIFBlcHBlclVJ
Q29yZVNQSS5oCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMTI5OTYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzY0MTgyNjI3PgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgYmVoYXZp
b3IgdW5jaGFuZ2VkLgorCisgICAgICAgICogUGxhdGZvcm0vc3BpL3dhdGNob3M6IEFkZGVkLgor
ICAgICAgICAqIFBsYXRmb3JtL3NwaS93YXRjaG9zL1BlcHBlclVJQ29yZVNQSS5oOiBBZGRlZC4K
KyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV0tTYWZlQnJvd3NpbmdXYXJuaW5nLm1tOiBJbmNs
dWRlIFBlcHBlclVJQ29yZVNQSSBoZWFkZXIuCisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS1Nj
cm9sbFZpZXcubW06IERpdHRvLgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvZm9ybXMvV0tEYXRl
UGlja2VyVmlld0NvbnRyb2xsZXIubW06IFJlbW92ZSBoZWFkZXJzIGR1cGxpY2F0ZWQgaW4gUGVw
cGVyVUlDb3JlU1BJLmguCisgICAgICAgICogVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0ZvY3VzZWRG
b3JtQ29udHJvbFZpZXcubW06IERpdHRvLgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvZm9ybXMv
V0tOdW1iZXJQYWRWaWV3Lm1tOiBJbmNsdWRlIFBlcHBlclVJQ29yZVNQSSBoZWFkZXIuCisgICAg
ICAgICogVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS051bWJlclBhZFZpZXdDb250cm9sbGVyLmg6IFJl
bW92ZSBoZWFkZXJzIGR1cGxpY2F0ZWQgaW4gUGVwcGVyVUlDb3JlU1BJLmguCisgICAgICAgICog
VUlQcm9jZXNzL2lvcy9mb3Jtcy9XS051bWJlclBhZFZpZXdDb250cm9sbGVyLm1tOiBEaXR0by4K
KyAgICAgICAgKC1bV0tOdW1iZXJQYWRWaWV3Q29udHJvbGxlciBhZGRDb250ZW50Vmlld0FuaW1h
dGlvbnM6XSk6IExpbWl0IGFkZEFuaW1hdGlvbiB0byBJbnRlcm5hbCBidWlsZHMuCisgICAgICAg
ICogVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS1F1aWNrYm9hcmRMaXN0Vmlld0NvbnRyb2xsZXIuaDog
SW5jbHVkZSBQZXBwZXJVSUNvcmVTUEkgaGVhZGVyLgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3Mv
Zm9ybXMvV0tRdWlja2JvYXJkTGlzdFZpZXdDb250cm9sbGVyLm1tOiBSZW1vdmUgaGVhZGVycyBk
dXBsaWNhdGVkIGluIFBlcHBlclVJQ29yZVNQSS5oLgorICAgICAgICAoLVtXS1F1aWNrYm9hcmRM
aXN0Vmlld0NvbnRyb2xsZXIgaW5pdFdpdGhEZWxlZ2F0ZTpdKToKKyAgICAgICAgKiBVSVByb2Nl
c3MvaW9zL2Zvcm1zL1dLU2VsZWN0TWVudUxpc3RWaWV3Q29udHJvbGxlci5tbTogUmVtb3ZlIGhl
YWRlcnMgZHVwbGljYXRlZCBpbiBQZXBwZXJVSUNvcmVTUEkuaC4KKyAgICAgICAgKiBVSVByb2Nl
c3MvaW9zL2Zvcm1zL1dLVGV4dElucHV0TGlzdFZpZXdDb250cm9sbGVyLm1tOiBEaXR0by4KKyAg
ICAgICAgKiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogQWRkIFBlcHBlclVJQ29y
ZVNQSS5oLgorCiAyMDIwLTA2LTA5ICBGdWppaSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNv
bnkuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJldmVydGluZyByMjYyNzkxLgpJbmRleDog
U291cmNlL1dlYktpdC9QbGF0Zm9ybS9zcGkvd2F0Y2hvcy9QZXBwZXJVSUNvcmVTUEkuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1BsYXRmb3JtL3NwaS93YXRjaG9zL1BlcHBlclVJQ29y
ZVNQSS5oCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL3dhdGNo
b3MvUGVwcGVyVUlDb3JlU1BJLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMDQgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaWYgUExBVEZPUk0oV0FUQ0hPUykKKworI2ltcG9ydCAiVUlLaXRTUEkuaCIK
KworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisKKyNpbXBvcnQgPFBlcHBlclVJQ29yZS9Q
VUlDQWN0aW9uQ29udHJvbGxlci5oPgorI2ltcG9ydCA8UGVwcGVyVUlDb3JlL1BVSUNBY3Rpb25D
b250cm9sbGVyX1ByaXZhdGUuaD4KKyNpbXBvcnQgPFBlcHBlclVJQ29yZS9QVUlDQWN0aW9uR3Jv
dXAuaD4KKyNpbXBvcnQgPFBlcHBlclVJQ29yZS9QVUlDQXBwbGljYXRpb25fUHJpdmF0ZS5oPgor
I2ltcG9ydCA8UGVwcGVyVUlDb3JlL1BVSUNDcm93bklucHV0U2VxdWVuY2VyLmg+CisjaW1wb3J0
IDxQZXBwZXJVSUNvcmUvUFVJQ0Nyb3duSW5wdXRTZXF1ZW5jZXJfUHJpdmF0ZS5oPgorI2ltcG9y
dCA8UGVwcGVyVUlDb3JlL1BVSUNRdWlja2JvYXJkQXJvdWV0Vmlld0NvbnRyb2xsZXIuaD4KKyNp
bXBvcnQgPFBlcHBlclVJQ29yZS9QVUlDUXVpY2tib2FyZExhbmd1YWdlQ29udHJvbGxlci5oPgor
I2ltcG9ydCA8UGVwcGVyVUlDb3JlL1BVSUNRdWlja2JvYXJkTGlzdFZpZXdDb250cm9sbGVyLmg+
CisjaW1wb3J0IDxQZXBwZXJVSUNvcmUvUFVJQ1F1aWNrYm9hcmRMaXN0Vmlld0NvbnRyb2xsZXJT
dWJjbGFzcy5oPgorI2ltcG9ydCA8UGVwcGVyVUlDb3JlL1BVSUNRdWlja2JvYXJkTGlzdFZpZXdT
cGVjcy5oPgorI2ltcG9ydCA8UGVwcGVyVUlDb3JlL1BVSUNRdWlja2JvYXJkVmlld0NvbnRyb2xs
ZXIuaD4KKyNpbXBvcnQgPFBlcHBlclVJQ29yZS9QVUlDUXVpY2tib2FyZFZpZXdDb250cm9sbGVy
X1ByaXZhdGUuaD4KKyNpbXBvcnQgPFBlcHBlclVJQ29yZS9QVUlDUmVzb3VyY2VzLmg+CisjaW1w
b3J0IDxQZXBwZXJVSUNvcmUvUFVJQ1N0YXR1c0JhckFwcENvbnRleHRWaWV3Lmg+CisjaW1wb3J0
IDxQZXBwZXJVSUNvcmUvUFVJQ1RhYmxlVmlldy5oPgorI2ltcG9ydCA8UGVwcGVyVUlDb3JlL1BV
SUNUYWJsZVZpZXdDZWxsLmg+CisjaW1wb3J0IDxQZXBwZXJVSUNvcmUvVUlEZXZpY2UrUFVJQ0Fk
ZGl0aW9ucy5oPgorI2ltcG9ydCA8UGVwcGVyVUlDb3JlL1VJU2Nyb2xsVmlldytQVUlDQWRkaXRp
b25zUHJpdmF0ZS5oPgorCisjaWYgSEFWRShRVUlDS0JPQVJEX0NPTExFQ1RJT05fVklFV1MpCisj
aW1wb3J0IDxQZXBwZXJVSUNvcmUvUFVJQ1F1aWNrYm9hcmRMaXN0Q29sbGVjdGlvblZpZXdJdGVt
Q2VsbC5oPgorI2VuZGlmCisKKyNlbHNlIC8vIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisKK05T
X0FTU1VNRV9OT05OVUxMX0JFR0lOCisKK2V4dGVybiBOU1N0cmluZyAqIGNvbnN0IFBVSUNTdGF0
dXNCYXJOYXZpZ2F0aW9uQmFja0J1dHRvblByZXNzZWROb3RpZmljYXRpb247CitleHRlcm4gTlNT
dHJpbmcgKiBjb25zdCBQVUlDU3RhdHVzQmFyVGl0bGVUYXBwZWROb3RpZmljYXRpb247CisKK3R5
cGVkZWYgTlNfRU5VTShOU0ludGVnZXIsIFBVSUNDcm93bklucHV0U2Nyb2xsRGlyZWN0aW9uKSB7
CisgICAgUFVJQ0Nyb3duSW5wdXRTY3JvbGxEaXJlY3Rpb25Ob25lLAorICAgIFBVSUNDcm93bklu
cHV0U2Nyb2xsRGlyZWN0aW9uSG9yaXpvbnRhbCwKKyAgICBQVUlDQ3Jvd25JbnB1dFNjcm9sbERp
cmVjdGlvblZlcnRpY2FsLAorfTsKKwordHlwZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgUFVJQ0Rl
dmljZVZhcmlhbnQpIHsKKyAgICBQVUlDRGV2aWNlVmFyaWFudENvbXBhY3QgPSAwLAorICAgIFBV
SUNEZXZpY2VWYXJpYW50UmVndWxhciA9IDEsCisgICAgUFVJQ0RldmljZVZhcmlhbnQzOTRoID0g
MiwKKyAgICBQVUlDRGV2aWNlVmFyaWFudDQ0OGggPSAzLAorfTsKKworQGludGVyZmFjZSBVSURl
dmljZSAoUFVJQ0FkZGl0aW9ucykKKy0gKFBVSUNEZXZpY2VWYXJpYW50KXB1aWNfZGV2aWNlVmFy
aWFudDsKK0BlbmQKKwordHlwZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgUFVJQ0RpY3RhdGlvbk1v
ZGUpIHsKKyAgICBQVUlDRGljdGF0aW9uTW9kZVRleHQsCisgICAgUFVJQ0RpY3RhdGlvbk1vZGVU
ZXh0QW5kQXVkaW8sCisgICAgUFVJQ0RpY3RhdGlvbk1vZGVBdWRpbywKKyAgICBQVUlDRGljdGF0
aW9uTW9kZVBlcnNvbiwKKyAgICBQVUlDRGljdGF0aW9uTW9kZUxvY2F0aW9uCit9OworCitAcHJv
dG9jb2wgUFVJQ0FwcGxpY2F0aW9uU3RhdHVzQmFyUHJvcGVydGllcyA8TlNPYmplY3Q+CitAcHJv
cGVydHkgKG5vbmF0b21pYywgY29weSkgTlNTdHJpbmcgKnRpdGxlOworQHByb3BlcnR5IChub25h
dG9taWMsIHN0cm9uZykgVUlDb2xvciAqdGl0bGVDb2xvcjsKK0Bwcm9wZXJ0eSAobm9uYXRvbWlj
LCBhc3NpZ24sIGdldHRlcj1pc1RpdGxlSW50ZXJhY3RpdmUpIGJvb2wgdGl0bGVJbnRlcmFjdGl2
ZTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24pIGJvb2wgc2hvd05hdmlnYXRpb25VSTsK
K0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24pIGJvb2wgbmF2VUlCYWNrQnV0dG9uRGlzYWJs
ZWQ7CistIChCT09MKSBjb21taXRDaGFuZ2VzQW5pbWF0ZWQ6KEJPT0wpIGFuaW1hdGVkOworQGVu
ZAorCitAcHJvdG9jb2wgUFVJQ1N0YXR1c0JhckFwcENvbnRleHRWaWV3RGF0YVNvdXJjZSA8TlNP
YmplY3Q+CitAZW5kCisKK0BpbnRlcmZhY2UgUFVJQ0FwcGxpY2F0aW9uU3RhdHVzQmFySXRlbSA6
IE5TT2JqZWN0IDxQVUlDQXBwbGljYXRpb25TdGF0dXNCYXJQcm9wZXJ0aWVzLCBQVUlDU3RhdHVz
QmFyQXBwQ29udGV4dFZpZXdEYXRhU291cmNlLCBOU1NlY3VyZUNvZGluZywgTlNDb3B5aW5nPgor
QGVuZAorCitAaW50ZXJmYWNlIFVJVmlld0NvbnRyb2xsZXIgKFBVSUNBcHBsaWNhdGlvblN0YXR1
c0JhckFkZGl0aW9ucykKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSwgZ2V0dGVyPXB1
aWNfYXBwbGljYXRpb25TdGF0dXNCYXJJdGVtKSBQVUlDQXBwbGljYXRpb25TdGF0dXNCYXJJdGVt
ICphcHBsaWNhdGlvblN0YXR1c0Jhckl0ZW07CitAZW5kCisKK0BpbnRlcmZhY2UgUFVJQ1Jlc291
cmNlcyA6IE5TT2JqZWN0CisrIChVSUltYWdlICopaW1hZ2VOYW1lZDooTlNTdHJpbmcgKilpbWFn
ZU5hbWUgaW5CdW5kbGU6KE5TQnVuZGxlICopYnVuZGxlIHNob3VsZENhY2hlOihCT09MKXNob3Vs
ZENhY2hlOworQGVuZAorCitAaW50ZXJmYWNlIFBVSUNTdGF0dXNCYXJHbG9iYWxDb250ZXh0Vmll
d0Fzc2VydGlvbiA6IE5TT2JqZWN0CitAZW5kCisKK0BpbnRlcmZhY2UgUFVJQ1N0YXR1c0JhciA6
IFVJU3RhdHVzQmFyCitAZW5kCisKK0BpbnRlcmZhY2UgUFVJQ0FwcGxpY2F0aW9uIDogVUlBcHBs
aWNhdGlvbgorKyAoaW5zdGFuY2V0eXBlKXNoYXJlZFBVSUNBcHBsaWNhdGlvbjsKKy0gKFBVSUNT
dGF0dXNCYXJHbG9iYWxDb250ZXh0Vmlld0Fzc2VydGlvbiAqKV90YWtlU3RhdHVzQmFyR2xvYmFs
Q29udGV4dEFzc2VydGlvbkFuaW1hdGVkOihCT09MKWFuaW1hdGVkOworLSAoUFVJQ1N0YXR1c0Jh
ciAqKV9wdWljU3RhdHVzQmFyOworQGVuZAorCit0eXBlZGVmIHZvaWQgKF5QVUlDUXVpY2tib2Fy
ZENvbXBsZXRpb25CbG9jaykoTlNBdHRyaWJ1dGVkU3RyaW5nICogX051bGxhYmxlKTsKKworQGlu
dGVyZmFjZSBQVUlDUXVpY2tib2FyZFNwZWNzIDogTlNPYmplY3QKK0BlbmQKK0BpbnRlcmZhY2Ug
UFVJQ1F1aWNrYm9hcmRMaXN0Vmlld1NwZWNzIDogUFVJQ1F1aWNrYm9hcmRTcGVjcworQHByb3Bl
cnR5IChhc3NpZ24sIG5vbmF0b21pYykgQ0dGbG9hdCBkZWZhdWx0QnV0dG9uSGVpZ2h0OworQGVu
ZAorCitAaW50ZXJmYWNlIFBVSUNCdXR0b24gOiBVSUJ1dHRvbgorQGVuZAorCitAaW50ZXJmYWNl
IFBVSUNRdWlja2JvYXJkTGlzdFRyYXlCdXR0b24gOiBQVUlDQnV0dG9uCistIChpbnN0YW5jZXR5
cGUpaW5pdFdpdGhGcmFtZTooQ0dSZWN0KWZyYW1lIHRpbnRDb2xvcjoobnVsbGFibGUgVUlDb2xv
ciAqKXRpbnRDb2xvciBkZWZhdWx0SGVpZ2h0OihDR0Zsb2F0KWRlZmF1bHRIZWlnaHQ7CitAZW5k
CisKK0BpbnRlcmZhY2UgUFVJQ1RhYmxlVmlld0NlbGwgOiBVSVRhYmxlVmlld0NlbGwKK0Bwcm9w
ZXJ0eSAobm9uYXRvbWljLCBnZXR0ZXI9aXNSYWRpb1NlY3Rpb25DZWxsKSBCT09MIHJhZGlvU2Vj
dGlvbkNlbGw7CistICh2b2lkKWNvbmZpZ3VyZUZvclRleHQ6KE5TU3RyaW5nICopdGV4dCB3aWR0
aDooQ0dGbG9hdCl3aWR0aDsKK0BlbmQKKworQGludGVyZmFjZSBQVUlDUXVpY2tib2FyZExpc3RJ
dGVtQ2VsbCA6IFBVSUNUYWJsZVZpZXdDZWxsCitAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9u
bHkpIFVJTGFiZWwgKml0ZW1MYWJlbDsKK0BlbmQKKworQGludGVyZmFjZSBQVUlDVGFibGVWaWV3
IDogVUlUYWJsZVZpZXcKK0BlbmQKKworQGludGVyZmFjZSBQVUlDVGV4dElucHV0Q29udGV4dCA6
IE5TT2JqZWN0IDxVSVRleHRJbnB1dFRyYWl0cywgTlNTZWN1cmVDb2Rpbmc+CisKK0Bwcm9wZXJ0
eSAobm9uYXRvbWljLCBzdHJvbmcpIE5TU3RyaW5nICpyZXF1ZXN0aW5nQXBwbGljYXRpb25CdW5k
bGVJRDsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBzdHJvbmcpIE5TU3RyaW5nICppbml0aWFsVGV4
dDsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBzdHJvbmcsIG51bGxhYmxlKSBVSUNvbG9yICp0aW50
Q29sb3I7CitAcHJvcGVydHkgKG5vbmF0b21pYywgc3Ryb25nKSBVSVRleHRDb250ZW50VHlwZSBz
ZWNvbmRhcnlUZXh0Q29udGVudFR5cGU7CitAcHJvcGVydHkgKG5vbmF0b21pYywgYXNzaWduKSBO
U0ludGVnZXIgbWluaW11bUxlbmd0aDsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24pIFVJ
UmV0dXJuS2V5VHlwZSByZXR1cm5LZXlUeXBlOyAvLyBEZWZhdWx0IGlzIERvbmUsIGFsc28gc3Vw
cG9ydHMgU2VuZCBhbmQgSm9pbgorQHByb3BlcnR5IChub25hdG9taWMsIHN0cm9uZykgTlNBdHRy
aWJ1dGVkU3RyaW5nICphdHRyaWJ1dGVkSGVhZGVyVGV4dDsKKworQGVuZAorCitAY2xhc3MgUFVJ
Q1F1aWNrYm9hcmRDb250cm9sbGVyOworQHByb3RvY29sIFBVSUNRdWlja2JvYXJkQ29udHJvbGxl
ckRlbGVnYXRlIDxOU09iamVjdD4KKy0gKHZvaWQpcXVpY2tib2FyZENvbnRyb2xsZXI6KFBVSUNR
dWlja2JvYXJkQ29udHJvbGxlciAqKXF1aWNrYm9hcmRDb250cm9sbGVyIHRleHRJbnB1dFZhbHVl
RGlkQ2hhbmdlOihOU0F0dHJpYnV0ZWRTdHJpbmcgKilhdHRyaWJ1dGVkVGV4dDsKK0BlbmQKKwor
QGludGVyZmFjZSBQVUlDUXVpY2tib2FyZENvbnRyb2xsZXIgOiBOU09iamVjdAorQHByb3BlcnR5
IChub25hdG9taWMsIHdlYWspIGlkPFBVSUNRdWlja2JvYXJkQ29udHJvbGxlckRlbGVnYXRlPiBk
ZWxlZ2F0ZTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBzdHJvbmcpIFBVSUNUZXh0SW5wdXRDb250
ZXh0ICp0ZXh0SW5wdXRDb250ZXh0OworQHByb3BlcnR5IChub25hdG9taWMsIHdlYWspIFVJVmll
d0NvbnRyb2xsZXIgKnF1aWNrYm9hcmRQcmVzZW50aW5nVmlld0NvbnRyb2xsZXI7CitAZW5kCisK
K0Bwcm90b2NvbCBQVUlDUXVpY2tib2FyZENvbnRyb2xsZXIgPE5TT2JqZWN0PgorQHByb3BlcnR5
IChub25hdG9taWMsIHJlYWRvbmx5KSBOU1N0cmluZyAqcHJpbWFyeUxhbmd1YWdlOworQHByb3Bl
cnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBCT09MIGFuaW1hdGVzU2VsZWN0aW9uVG9EZXN0aW5h
dGlvblZpZXc7CistICh2b2lkKWRpc21pc3NWaWV3Q29udHJvbGxlckFuaW1hdGVkOihCT09MKWFu
aW1hdGVkIGNvbXBsZXRpb246KG51bGxhYmxlIHZvaWQoXikodm9pZCkpY29tcGxldGlvbjsKK0Bl
bmQKKworQHByb3RvY29sIFBVSUNRdWlja2JvYXJkVmlld0NvbnRyb2xsZXJEZWxlZ2F0ZSA8TlNP
YmplY3Q+CistICh2b2lkKXF1aWNrYm9hcmQ6KGlkPFBVSUNRdWlja2JvYXJkQ29udHJvbGxlcj4p
cXVpY2tib2FyZCB0ZXh0RW50ZXJlZDooTlNBdHRyaWJ1dGVkU3RyaW5nICopYXR0cmlidXRlZFRl
eHQ7CistICh2b2lkKXF1aWNrYm9hcmQ6KGlkPFBVSUNRdWlja2JvYXJkQ29udHJvbGxlcj4pcXVp
Y2tib2FyZCBsYW5ndWFnZURpZENoYW5nZTooTlNTdHJpbmcgKilsYW5ndWFnZUNvZGU7CistICh2
b2lkKXF1aWNrYm9hcmRJbnB1dENhbmNlbGxlZDooaWQ8UFVJQ1F1aWNrYm9hcmRDb250cm9sbGVy
PilxdWlja2JvYXJkOworQGVuZAorCitAcHJvdG9jb2wgUFVJQ1F1aWNrYm9hcmRUcmFuc2l0aW9u
IDxOU09iamVjdD4KK0BlbmQKKworQGludGVyZmFjZSBQVUlDUXVpY2tib2FyZFZpZXdDb250cm9s
bGVyIDogVUlWaWV3Q29udHJvbGxlciA8UFVJQ1F1aWNrYm9hcmRDb250cm9sbGVyPgorQHByb3Bl
cnR5IChub25hdG9taWMsIHdlYWspIGlkPFBVSUNRdWlja2JvYXJkVmlld0NvbnRyb2xsZXJEZWxl
Z2F0ZT4gZGVsZWdhdGU7CitAcHJvcGVydHkgKG5vbmF0b21pYywgc3Ryb25nKSBVSVZpZXcgKmNv
bnRlbnRWaWV3OworQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBVSUJ1dHRvbiAqY2Fu
Y2VsQnV0dG9uOworQHByb3BlcnR5IChub25hdG9taWMsIGFzc2lnbikgTlNJbnRlZ2VyIG1pblRl
eHRMZW5ndGhGb3JFbmFibGluZ0FjY2VwdDsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24p
IEJPT0wgc2hvd3NBY2NlcHRCdXR0b247CistIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhEZWxlZ2F0
ZTooaWQ8UFVJQ1F1aWNrYm9hcmRWaWV3Q29udHJvbGxlckRlbGVnYXRlPilkZWxlZ2F0ZSBOU19E
RVNJR05BVEVEX0lOSVRJQUxJWkVSOworLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoQ29kZXI6KE5T
Q29kZXIgKilhRGVjb2RlciBOU19ERVNJR05BVEVEX0lOSVRJQUxJWkVSOworQGVuZAorCitAaW50
ZXJmYWNlIFBVSUNRdWlja2JvYXJkVmlld0NvbnRyb2xsZXIgKFRyYW5zaXRpb25zKSA8UFVJQ1F1
aWNrYm9hcmRUcmFuc2l0aW9uPgorLSAodm9pZClhZGRDb250ZW50Vmlld0FuaW1hdGlvbnM6KEJP
T0wpaXNQcmVzZW50aW5nOworQGVuZAorCitAaW50ZXJmYWNlIFBVSUNRdWlja2JvYXJkTGlzdFZp
ZXdDb250cm9sbGVyIDogUFVJQ1F1aWNrYm9hcmRWaWV3Q29udHJvbGxlcgorQHByb3BlcnR5IChu
b25hdG9taWMsIHJlYWRvbmx5KSBQVUlDVGFibGVWaWV3ICpsaXN0VmlldzsKK0Bwcm9wZXJ0eSAo
c3Ryb25nLCBub25hdG9taWMsIHJlYWRvbmx5KSBQVUlDUXVpY2tib2FyZExpc3RWaWV3U3BlY3Mg
KnNwZWNzOworQHByb3BlcnR5IChub25hdG9taWMsIGNvcHkpIFVJVGV4dENvbnRlbnRUeXBlIHRl
eHRDb250ZW50VHlwZTsKKy0gKHZvaWQpcmVsb2FkTGlzdEl0ZW1zOworLSAodm9pZClyZWxvYWRI
ZWFkZXJDb250ZW50VmlldzsKK0BlbmQKKworQGludGVyZmFjZSBQVUlDUXVpY2tib2FyZEFyb3Vl
dFZpZXdDb250cm9sbGVyIDogUFVJQ1F1aWNrYm9hcmRWaWV3Q29udHJvbGxlcgorQHByb3BlcnR5
IChub25hdG9taWMsIGNvcHksIG51bGxhYmxlKSBVSVRleHRDb250ZW50VHlwZSB0ZXh0Q29udGVu
dFR5cGU7CistICh2b2lkKXNldElucHV0VGV4dDoobnVsbGFibGUgTlNTdHJpbmcgKilpbnB1dFRl
eHQgc2VsZWN0aW9uUmFuZ2U6KE5TUmFuZ2Upc2VsZWN0aW9uUmFuZ2U7CitAZW5kCisKK3R5cGVk
ZWYgTlNfRU5VTShOU0ludGVnZXIsIFBVSUNQaWNrZXJWaWV3U3R5bGUpIHsKKyAgICBQVUlDUGlj
a2VyVmlld1N0eWxlTGlzdCwKKyAgICBQVUlDUGlja2VyVmlld1N0eWxlU3RhY2ssCisgICAgUFVJ
Q1BpY2tlclZpZXdTdHlsZVNlcXVlbmNlLAorfTsKKworQHByb3RvY29sIFBVSUNQaWNrZXJWaWV3
RGVsZWdhdGUgPE5TT2JqZWN0PgorQGVuZAorQHByb3RvY29sIFBVSUNQaWNrZXJWaWV3RGF0YVNv
dXJjZSA8TlNPYmplY3Q+CitAZW5kCisKK0BpbnRlcmZhY2UgUFVJQ1BpY2tlclZpZXcgOiBVSVZp
ZXcKK0Bwcm9wZXJ0eSAobm9uYXRvbWljKSBOU0ludGVnZXIgc2VsZWN0ZWRJbmRleDsKK0Bwcm9w
ZXJ0eSAobm9uYXRvbWljLCB3ZWFrKSBpZDxQVUlDUGlja2VyVmlld0RhdGFTb3VyY2U+IGRhdGFT
b3VyY2U7CitAcHJvcGVydHkgKG5vbmF0b21pYywgd2VhaykgaWQ8UFVJQ1BpY2tlclZpZXdEZWxl
Z2F0ZT4gZGVsZWdhdGU7CistIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhTdHlsZTooUFVJQ1BpY2tl
clZpZXdTdHlsZSlzdHlsZSBOU19ERVNJR05BVEVEX0lOSVRJQUxJWkVSOworLSAoVUlWaWV3ICop
ZGVxdWV1ZVJldXNhYmxlSXRlbVZpZXc7CistICh2b2lkKXJlbG9hZERhdGE7CitAZW5kCisKK0Bw
cm90b2NvbCBQVUlDRGljdGF0aW9uVmlld0NvbnRyb2xsZXJEZWxlZ2F0ZSA8TlNPYmplY3Q+CitA
ZW5kCitAaW50ZXJmYWNlIFBVSUNEaWN0YXRpb25WaWV3Q29udHJvbGxlciA6IFBVSUNRdWlja2Jv
YXJkVmlld0NvbnRyb2xsZXIKKy0gKGluc3RhbmNldHlwZSlpbml0V2l0aERlbGVnYXRlOihpZDxQ
VUlDUXVpY2tib2FyZFZpZXdDb250cm9sbGVyRGVsZWdhdGU+KWRlbGVnYXRlIGRpY3RhdGlvbk1v
ZGU6KFBVSUNEaWN0YXRpb25Nb2RlKWRpY3RhdGlvbk1vZGUgTlNfREVTSUdOQVRFRF9JTklUSUFM
SVpFUjsKK0BlbmQKKworQGludGVyZmFjZSBQVUlDUXVpY2tib2FyZFZpZXdDb250cm9sbGVyIChF
eHBvc2VIZWFkZXIpCitAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIFVJVmlldyAqaGVh
ZGVyVmlldzsKK0BlbmQKKworQGludGVyZmFjZSBQVUlDQWN0aW9uSXRlbSA6IE5TT2JqZWN0CitA
ZW5kCisKK3R5cGVkZWYgTlNfRU5VTShOU0ludGVnZXIsIFBVSUNBY3Rpb25TdHlsZSkgeworICAg
IFBVSUNBY3Rpb25TdHlsZUF1dG9tYXRpYyA9IDAsCisgICAgUFVJQ0FjdGlvblN0eWxlTGlzdCA9
IDEsCisgICAgUFVJQ0FjdGlvblN0eWxlR3JpZCA9IDIsCit9OworCitAaW50ZXJmYWNlIFBVSUNB
Y3Rpb25Hcm91cCA6IE5TT2JqZWN0CistIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhBY3Rpb25JdGVt
czooTlNBcnJheSAqKWFjdGlvbkl0ZW1zIGFjdGlvblN0eWxlOihQVUlDQWN0aW9uU3R5bGUpYWN0
aW9uU3R5bGU7CitAZW5kCisKK0BjbGFzcyBQVUlDUXVpY2tib2FyZExhbmd1YWdlQ29udHJvbGxl
cjsKK0Bwcm90b2NvbCBQVUlDUXVpY2tib2FyZExhbmd1YWdlQ29udHJvbGxlckRlbGVnYXRlCist
ICh2b2lkKWxhbmd1YWdlQ29udHJvbGxlckRpZENoYW5nZVByaW1hcnlMYW5ndWFnZTooUFVJQ1F1
aWNrYm9hcmRMYW5ndWFnZUNvbnRyb2xsZXIgKilsYW5ndWFnZUNvbnRyb2xsZXI7CitAZW5kCisK
K0BpbnRlcmZhY2UgUFVJQ1F1aWNrYm9hcmRMYW5ndWFnZUNvbnRyb2xsZXIgOiBOU09iamVjdAor
QHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBOU1N0cmluZyAqcHJpbWFyeUxhbmd1YWdl
OworLSAoUFVJQ0FjdGlvbkl0ZW0gKilsYW5ndWFnZVNlbGVjdGlvbkFjdGlvbkl0ZW1Gb3JWaWV3
Q29udHJvbGxlcjooVUlWaWV3Q29udHJvbGxlcjxQVUlDUXVpY2tib2FyZExhbmd1YWdlQ29udHJv
bGxlckRlbGVnYXRlPiAqKXZpZXdDb250cm9sbGVyOworQGVuZAorCitAaW50ZXJmYWNlIFBVSUNR
dWlja2JvYXJkVmlld0NvbnRyb2xsZXIgKFF1aWNrYm9hcmRMYW5ndWFnZVN1cHBvcnQpCitAcHJv
cGVydHkgKG5vbmF0b21pYywgc3Ryb25nKSBQVUlDUXVpY2tib2FyZExhbmd1YWdlQ29udHJvbGxl
ciAqbGFuZ3VhZ2VDb250cm9sbGVyOworLSAodm9pZClwcmltYXJ5TGFuZ3VhZ2VEaWRDaGFuZ2U6
KE5TU3RyaW5nICopcHJpbWFyeUxhbmd1YWdlOworQGVuZAorCitAcHJvdG9jb2wgUFVJQ0Nyb3du
SW5wdXRTZXF1ZW5jZXJEZWxlZ2F0ZSA8TlNPYmplY3Q+CitAZW5kCisKK0BpbnRlcmZhY2UgUFVJ
Q0Nyb3duSW5wdXRTZXF1ZW5jZXIgOiBOU09iamVjdAorQHByb3BlcnR5IChub25hdG9taWMsIHdl
YWspIGlkPFBVSUNDcm93bklucHV0U2VxdWVuY2VyRGVsZWdhdGU+IGRlbGVnYXRlOworQHByb3Bl
cnR5IChub25hdG9taWMpIGRvdWJsZSBzdGFydDsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljKSBkb3Vi
bGUgZW5kOworQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgdXNlV2lkZUlkbGVDaGVjazsKK0Bw
cm9wZXJ0eSAobm9uYXRvbWljKSBkb3VibGUgc2NyZWVuU3BhY2VNdWx0aXBsaWVyOworQHByb3Bl
cnR5IChub25hdG9taWMpIGRvdWJsZSBvZmZzZXQ7CitAcHJvcGVydHkgKG5vbmF0b21pYywgcmVh
ZG9ubHksIGdldHRlcj1pc0lkbGUpIEJPT0wgaWRsZTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBn
ZXR0ZXI9aXNSdWJiZXJCYW5kaW5nRW5hYmxlZCkgQk9PTCBydWJiZXJCYW5kaW5nRW5hYmxlZDsK
KworLSAodm9pZClzZXRPZmZzZXQ6KGRvdWJsZSlvZmZzZXQgc3VwcHJlc3NJbmRpY2F0b3JWaXNp
YmlsaXR5Q2hhbmdlczooQk9PTClzdXBwcmVzc0luZGljYXRvclZpc2liaWxpdHlDaGFuZ2VzOwor
LSAodm9pZCl1cGRhdGVXaXRoQ3Jvd25JbnB1dEV2ZW50OihVSUV2ZW50ICopY3Jvd25JbnB1dEV2
ZW50OworLSAodm9pZClzdG9wVmVsb2NpdHlUcmFja2luZ0FuZERlY2VsZXJhdGlvbkltbWVkaWF0
ZWx5OworQGVuZAorCitAaW50ZXJmYWNlIFVJU2Nyb2xsVmlldyAoUFVJQ0FkZGl0aW9ucykgPFBV
SUNDcm93bklucHV0U2VxdWVuY2VyRGVsZWdhdGU+CistIChDR1BvaW50KV9wdWljX2NvbnRlbnRP
ZmZzZXRGb3JDcm93bklucHV0U2VxdWVuY2VyT2Zmc2V0Oihkb3VibGUpc2VxdWVuY2VyT2Zmc2V0
OworQHByb3BlcnR5IChub25hdG9taWMsIGdldHRlcj1wdWljX2Nyb3duSW5wdXRTY3JvbGxEaXJl
Y3Rpb24sIHNldHRlcj1wdWljX3NldENyb3duSW5wdXRTY3JvbGxEaXJlY3Rpb246KSBQVUlDQ3Jv
d25JbnB1dFNjcm9sbERpcmVjdGlvbiBjcm93bklucHV0U2Nyb2xsRGlyZWN0aW9uOworQGVuZAor
CitAaW50ZXJmYWNlIFBVSUNBY3Rpb25Db250cm9sbGVyIDogTlNPYmplY3QKKy0gKGluc3RhbmNl
dHlwZSlpbml0V2l0aEFjdGlvbkdyb3VwOihQVUlDQWN0aW9uR3JvdXAgKilhY3Rpb25Hcm91cCBO
U19ERVNJR05BVEVEX0lOSVRJQUxJWkVSOworQGVuZAorCitOU19BU1NVTUVfTk9OTlVMTF9FTkQK
KworI2VuZGlmIC8vIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisKKyNlbmRpZiAvLyBQTEFURk9S
TShXQVRDSE9TKQpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV0tTYWZlQnJv
d3NpbmdXYXJuaW5nLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0Nv
Y29hL1dLU2FmZUJyb3dzaW5nV2FybmluZy5tbQkocmV2aXNpb24gMjYyODM5KQorKysgU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV0tTYWZlQnJvd3NpbmdXYXJuaW5nLm1tCSh3b3JraW5n
IGNvcHkpCkBAIC0zNSw4ICszNSw3IEBACiAjaW1wb3J0IDx3dGYvTGFuZ3VhZ2UuaD4KIAogI2lm
IFBMQVRGT1JNKFdBVENIT1MpCi0jaW1wb3J0ICJVSUtpdFNQSS5oIgotI2ltcG9ydCA8UGVwcGVy
VUlDb3JlL1VJU2Nyb2xsVmlldytQVUlDQWRkaXRpb25zUHJpdmF0ZS5oPgorI2ltcG9ydCAiUGVw
cGVyVUlDb3JlU1BJLmgiCiAjZW5kaWYKIAogY29uc3RleHByIENHRmxvYXQgZXhjbGFtYXRpb25Q
b2ludFNpemUgPSAzMDsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS1Njcm9s
bFZpZXcubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLU2Ny
b2xsVmlldy5tbQkocmV2aXNpb24gMjYyODM5KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
aW9zL1dLU2Nyb2xsVmlldy5tbQkod29ya2luZyBjb3B5KQpAQCAtMzYsOSArMzYsMTAgQEAKICNp
bXBvcnQgPHd0Zi9XZWFrT2JqQ1B0ci5oPgogCiAjaWYgUExBVEZPUk0oV0FUQ0hPUykKLSNpbXBv
cnQgPFBlcHBlclVJQ29yZS9VSVNjcm9sbFZpZXcrUFVJQ0FkZGl0aW9uc1ByaXZhdGUuaD4KKyNp
bXBvcnQgIlBlcHBlclVJQ29yZVNQSS5oIgogI2VuZGlmCiAKKwogQGludGVyZmFjZSBXS1Njcm9s
bFZpZXdEZWxlZ2F0ZUZvcndhcmRlciA6IE5TT2JqZWN0IDxVSVNjcm9sbFZpZXdEZWxlZ2F0ZT4K
IAogLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoSW50ZXJuYWxEZWxlZ2F0ZTooV0tXZWJWaWV3ICop
aW50ZXJuYWxEZWxlZ2F0ZSBleHRlcm5hbERlbGVnYXRlOihpZCA8VUlTY3JvbGxWaWV3RGVsZWdh
dGU+KWV4dGVybmFsRGVsZWdhdGU7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3Mv
Zm9ybXMvV0tEYXRlUGlja2VyVmlld0NvbnRyb2xsZXIubW0KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLRGF0ZVBpY2tlclZpZXdDb250cm9sbGVyLm1t
CShyZXZpc2lvbiAyNjI4MzkpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvZm9ybXMv
V0tEYXRlUGlja2VyVmlld0NvbnRyb2xsZXIubW0JKHdvcmtpbmcgY29weSkKQEAgLTI4LDE2ICsy
OCw2IEBACiAKICNpZiBQTEFURk9STShXQVRDSE9TKQogCi0jaW1wb3J0IDxQZXBwZXJVSUNvcmUv
UFVJQ0FwcGxpY2F0aW9uX1ByaXZhdGUuaD4KLSNpbXBvcnQgPFBlcHBlclVJQ29yZS9QVUlDUGlj
a2VyVmlldy5oPgotI2ltcG9ydCA8UGVwcGVyVUlDb3JlL1BVSUNQaWNrZXJWaWV3X1ByaXZhdGUu
aD4KLSNpbXBvcnQgPFBlcHBlclVJQ29yZS9QVUlDUXVpY2tib2FyZFZpZXdDb250cm9sbGVyX1By
aXZhdGUuaD4KLSNpbXBvcnQgPFBlcHBlclVJQ29yZS9QVUlDU3RhdHVzQmFyX1ByaXZhdGUuaD4K
LSNpbXBvcnQgPFBlcHBlclVJQ29yZS9VSURldmljZStQVUlDQWRkaXRpb25zLmg+Ci0jaW1wb3J0
IDxVSUtpdC9VSUdlb21ldHJ5X1ByaXZhdGUuaD4KLSNpbXBvcnQgPFVJS2l0L1VJSW50ZXJmYWNl
X1ByaXZhdGUuaD4KLSNpbXBvcnQgPFVJS2l0L1VJUmVzcG9uZGVyX1ByaXZhdGUuaD4KLSNpbXBv
cnQgPFVJS2l0L1VJVmlld19Qcml2YXRlLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0xvY2FsaXplZFN0
cmluZ3MuaD4KICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KICNpbXBvcnQgPHd0Zi9XZWFrT2Jq
Q1B0ci5oPgpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLRm9jdXNl
ZEZvcm1Db250cm9sVmlldy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9pb3MvZm9ybXMvV0tGb2N1c2VkRm9ybUNvbnRyb2xWaWV3Lm1tCShyZXZpc2lvbiAyNjI4Mzkp
CisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvZm9ybXMvV0tGb2N1c2VkRm9ybUNvbnRy
b2xWaWV3Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw4ICszMCw2IEBACiAKIGFzbSgiLmxpbmtl
cl9vcHRpb24gXCItZnJhbWV3b3JrXCIsIFwiUGVwcGVyVUlDb3JlXCIiKTsKIAotI2ltcG9ydCA8
UGVwcGVyVUlDb3JlL1BVSUNDcm93bklucHV0U2VxdWVuY2VyLmg+Ci0jaW1wb3J0IDxQZXBwZXJV
SUNvcmUvUFVJQ0Nyb3duSW5wdXRTZXF1ZW5jZXJfUHJpdmF0ZS5oPgogI2ltcG9ydCA8V2ViQ29y
ZS9Mb2NhbGl6ZWRTdHJpbmdzLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1dlYkNvcmVDQUxheWVyRXh0
cmFzLmg+CiAjaW1wb3J0IDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KSW5kZXg6IFNvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS051bWJlclBhZFZpZXcubW0KPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLTnVtYmVyUGFkVmlldy5tbQkocmV2
aXNpb24gMjYyODM5KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLTnVt
YmVyUGFkVmlldy5tbQkod29ya2luZyBjb3B5KQpAQCAtMjgsMTYgKzI4LDExIEBACiAKICNpZiBQ
TEFURk9STShXQVRDSE9TKQogCisjaW1wb3J0ICJQZXBwZXJVSUNvcmVTUEkuaCIKICNpbXBvcnQg
IldLTnVtYmVyUGFkVmlld0NvbnRyb2xsZXIuaCIKLSNpbXBvcnQgPENvcmVUZXh0L0NURm9udFRy
YWl0c1ByaXYuaD4KLSNpbXBvcnQgPFBlcHBlclVJQ29yZS9QVUlDQWN0aW9uQ29udHJvbGxlcl9Q
cml2YXRlLmg+Ci0jaW1wb3J0IDxQZXBwZXJVSUNvcmUvVUlEZXZpY2UrUFVJQ0FkZGl0aW9ucy5o
PgotI2ltcG9ydCA8VUlLaXQvVUlGb250X1ByaXZhdGUuaD4KLSNpbXBvcnQgPFVJS2l0L1VJR2Vv
bWV0cnlfUHJpdmF0ZS5oPgotI2ltcG9ydCA8VUlLaXQvVUlJbWFnZV9Qcml2YXRlLmg+Ci0jaW1w
b3J0IDxVSUtpdC9VSUxhYmVsX1ByaXZhdGUuaD4KLSNpbXBvcnQgPFVJS2l0L1VJVmlld19Qcml2
YXRlLmg+CisKICNpbXBvcnQgPFdlYkNvcmUvTG9jYWxpemVkU3RyaW5ncy5oPgorI2ltcG9ydCA8
cGFsL3NwaS9jb2NvYS9Db3JlVGV4dFNQSS5oPgogI2ltcG9ydCA8d3RmL05ldmVyRGVzdHJveWVk
Lmg+CiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CiAjaW1wb3J0IDx3dGYvV2Vha09iakNQdHIu
aD4KSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS051bWJlclBhZFZp
ZXdDb250cm9sbGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9z
L2Zvcm1zL1dLTnVtYmVyUGFkVmlld0NvbnRyb2xsZXIuaAkocmV2aXNpb24gMjYyODM5KQorKysg
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLTnVtYmVyUGFkVmlld0NvbnRyb2xs
ZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMjcsNyArMjcsNiBAQAogCiAjaW1wb3J0ICJXS051bWJl
clBhZFZpZXcuaCIKICNpbXBvcnQgIldLVGV4dElucHV0TGlzdFZpZXdDb250cm9sbGVyLmgiCi0j
aW1wb3J0IDxQZXBwZXJVSUNvcmUvUFVJQ1F1aWNrYm9hcmRWaWV3Q29udHJvbGxlci5oPgogCiBA
aW50ZXJmYWNlIFdLTnVtYmVyUGFkVmlld0NvbnRyb2xsZXIgOiBQVUlDUXVpY2tib2FyZFZpZXdD
b250cm9sbGVyCiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS051
bWJlclBhZFZpZXdDb250cm9sbGVyLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL2lvcy9mb3Jtcy9XS051bWJlclBhZFZpZXdDb250cm9sbGVyLm1tCShyZXZpc2lvbiAy
NjI4MzkpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvZm9ybXMvV0tOdW1iZXJQYWRW
aWV3Q29udHJvbGxlci5tbQkod29ya2luZyBjb3B5KQpAQCAtMzAsOSArMzAsNiBAQAogCiAjaW1w
b3J0ICJVSUtpdFNQSS5oIgogI2ltcG9ydCAiV0tOdW1iZXJQYWRWaWV3LmgiCi0jaW1wb3J0IDxQ
ZXBwZXJVSUNvcmUvUFVJQ1F1aWNrYm9hcmRWaWV3Q29udHJvbGxlcl9Qcml2YXRlLmg+Ci0jaW1w
b3J0IDxQZXBwZXJVSUNvcmUvUFVJQ1Jlc291cmNlcy5oPgotI2ltcG9ydCA8UGVwcGVyVUlDb3Jl
L1VJRGV2aWNlK1BVSUNBZGRpdGlvbnMuaD4KICNpbXBvcnQgPFdlYkNvcmUvTG9jYWxpemVkU3Ry
aW5ncy5oPgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgogI2ltcG9ydCA8d3RmL1dlYWtPYmpD
UHRyLmg+CkBAIC0yNTksNyArMjU2LDkgQEAgLSAodm9pZClhZGRDb250ZW50Vmlld0FuaW1hdGlv
bnM6KEJPT0wpaQogICAgIGZhZGVPdXRBbmltYXRpb24udG9WYWx1ZSA9IEAwOwogICAgIGZhZGVP
dXRBbmltYXRpb24uZHVyYXRpb24gPSBudW1iZXJQYWRWaWV3RGlzbWlzc0FuaW1hdGlvbkR1cmF0
aW9uOwogICAgIGZhZGVPdXRBbmltYXRpb24udGltaW5nRnVuY3Rpb24gPSBbQ0FNZWRpYVRpbWlu
Z0Z1bmN0aW9uIGZ1bmN0aW9uV2l0aE5hbWU6a0NBTWVkaWFUaW1pbmdGdW5jdGlvbkVhc2VJbkVh
c2VPdXRdOworI2lmIFVTRShBUFBMRV9JTlRFUk5BTCkKICAgICBbc2VsZi5jb250ZW50VmlldyBh
ZGRBbmltYXRpb246ZmFkZU91dEFuaW1hdGlvbiBmb3JLZXk6QCJXZWJLaXROdW1iZXJQYWRGYWRl
T3V0QW5pbWF0aW9uS2V5Il07CisjZW5kaWYKICAgICBzZWxmLmNvbnRlbnRWaWV3LmFscGhhID0g
MDsKIH0KIApJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLUXVpY2ti
b2FyZExpc3RWaWV3Q29udHJvbGxlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL2lvcy9mb3Jtcy9XS1F1aWNrYm9hcmRMaXN0Vmlld0NvbnRyb2xsZXIuaAkocmV2aXNp
b24gMjYyODM5KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLUXVpY2ti
b2FyZExpc3RWaWV3Q29udHJvbGxlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNSwxNCArMjUsNyBA
QAogCiAjaWYgUExBVEZPUk0oV0FUQ0hPUykKIAotI2ltcG9ydCAiVUlLaXRTUEkuaCIKLSNpbXBv
cnQgPFBlcHBlclVJQ29yZS9QVUlDUXVpY2tib2FyZExpc3RWaWV3Q29udHJvbGxlci5oPgotI2lt
cG9ydCA8UGVwcGVyVUlDb3JlL1BVSUNRdWlja2JvYXJkTGlzdFZpZXdDb250cm9sbGVyU3ViY2xh
c3MuaD4KLSNpbXBvcnQgPFBlcHBlclVJQ29yZS9QVUlDVGFibGVWaWV3Q2VsbC5oPgotCi0jaWYg
SEFWRShRVUlDS0JPQVJEX0NPTExFQ1RJT05fVklFV1MpCi0jaW1wb3J0IDxQZXBwZXJVSUNvcmUv
UFVJQ1F1aWNrYm9hcmRMaXN0Q29sbGVjdGlvblZpZXdJdGVtQ2VsbC5oPgotI2VuZGlmCisjaW1w
b3J0ICJQZXBwZXJVSUNvcmVTUEkuaCIKIAogQGludGVyZmFjZSBXS1F1aWNrYm9hcmRMaXN0SXRl
bUNlbGwgOiBQVUlDUXVpY2tib2FyZExpc3RJdGVtQ2VsbAogQGVuZApJbmRleDogU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLUXVpY2tib2FyZExpc3RWaWV3Q29udHJvbGxlci5t
bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvZm9ybXMvV0tRdWlj
a2JvYXJkTGlzdFZpZXdDb250cm9sbGVyLm1tCShyZXZpc2lvbiAyNjI4MzkpCisrKyBTb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9pb3MvZm9ybXMvV0tRdWlja2JvYXJkTGlzdFZpZXdDb250cm9sbGVy
Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC0yOCwxMiArMjgsNiBAQAogCiAjaWYgUExBVEZPUk0oV0FU
Q0hPUykKIAotI2ltcG9ydCA8UGVwcGVyVUlDb3JlL1BVSUNBY3Rpb25Db250cm9sbGVyLmg+Ci0j
aW1wb3J0IDxQZXBwZXJVSUNvcmUvUFVJQ0FjdGlvbkdyb3VwLmg+Ci0jaW1wb3J0IDxQZXBwZXJV
SUNvcmUvUFVJQ0FwcGxpY2F0aW9uX1ByaXZhdGUuaD4KLSNpbXBvcnQgPFBlcHBlclVJQ29yZS9Q
VUlDUXVpY2tib2FyZExhbmd1YWdlQ29udHJvbGxlci5oPgotI2ltcG9ydCA8UGVwcGVyVUlDb3Jl
L1BVSUNRdWlja2JvYXJkVmlld0NvbnRyb2xsZXJfUHJpdmF0ZS5oPgotI2ltcG9ydCA8UGVwcGVy
VUlDb3JlL1BVSUNTdGF0dXNCYXJBcHBDb250ZXh0Vmlldy5oPgogI2ltcG9ydCA8d3RmL1JldGFp
blB0ci5oPgogCiBzdGF0aWMgY29uc3QgQ0dGbG9hdCBpdGVtQ2VsbFRvcFRvTGFiZWxCYXNlbGlu
ZSA9IDI2OwpAQCAtODQsOCArNzgsMTMgQEAgQGludGVyZmFjZSBXS1F1aWNrYm9hcmRMaXN0Vmll
d0NvbnRyb2xsZQogCiAtIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhEZWxlZ2F0ZTooaWQgPFdLUXVp
Y2tib2FyZFZpZXdDb250cm9sbGVyRGVsZWdhdGU+KWRlbGVnYXRlCiB7CisjaWYgVVNFKEFQUExF
X0lOVEVSTkFMKQogICAgIGlmIChzZWxmID0gW3N1cGVyIGluaXRXaXRoRGVsZWdhdGU6ZGVsZWdh
dGUgZGljdGF0aW9uTW9kZTpQVUlDRGljdGF0aW9uTW9kZVRleHRdKQogICAgICAgICBfY29udGV4
dFZpZXdOZWVkc1VwZGF0ZSA9IFlFUzsKKyNlbHNlCisgICAgaWYgKHNlbGYgPSBbc3VwZXIgaW5p
dFdpdGhEZWxlZ2F0ZTpkZWxlZ2F0ZV0pCisgICAgICAgIF9jb250ZXh0Vmlld05lZWRzVXBkYXRl
ID0gWUVTOworI2VuZGlmCiAKICAgICByZXR1cm4gc2VsZjsKIH0KSW5kZXg6IFNvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS1NlbGVjdE1lbnVMaXN0Vmlld0NvbnRyb2xsZXIubW0K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLU2VsZWN0
TWVudUxpc3RWaWV3Q29udHJvbGxlci5tbQkocmV2aXNpb24gMjYyODM5KQorKysgU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLU2VsZWN0TWVudUxpc3RWaWV3Q29udHJvbGxlci5t
bQkod29ya2luZyBjb3B5KQpAQCAtMjksMTcgKzI5LDggQEAKICNpZiBQTEFURk9STShXQVRDSE9T
KQogCiAjaW1wb3J0ICJVSUtpdFNQSS5oIgotI2ltcG9ydCA8UGVwcGVyVUlDb3JlL1BVSUNRdWlj
a2JvYXJkTGlzdFZpZXdDb250cm9sbGVyLmg+Ci0jaW1wb3J0IDxQZXBwZXJVSUNvcmUvUFVJQ1F1
aWNrYm9hcmRMaXN0Vmlld0NvbnRyb2xsZXJTdWJjbGFzcy5oPgotI2ltcG9ydCA8UGVwcGVyVUlD
b3JlL1BVSUNSZXNvdXJjZXMuaD4KLSNpbXBvcnQgPFBlcHBlclVJQ29yZS9QVUlDVGFibGVWaWV3
Lmg+Ci0jaW1wb3J0IDxQZXBwZXJVSUNvcmUvUFVJQ1RhYmxlVmlld0NlbGwuaD4KICNpbXBvcnQg
PHd0Zi9SZXRhaW5QdHIuaD4KIAotI2lmIEhBVkUoUVVJQ0tCT0FSRF9DT0xMRUNUSU9OX1ZJRVdT
KQotI2ltcG9ydCA8UGVwcGVyVUlDb3JlL1BVSUNRdWlja2JvYXJkTGlzdENvbGxlY3Rpb25WaWV3
SXRlbUNlbGwuaD4KLSNlbmRpZgotCiBzdGF0aWMgY29uc3QgQ0dGbG9hdCBjaGVja21hcmtJbWFn
ZVZpZXdXaWR0aCA9IDMyOwogc3RhdGljIGNvbnN0IENHRmxvYXQgc2VsZWN0TWVudUl0ZW1Ib3Jp
em9udGFsTWFyZ2luID0gOTsKIHN0YXRpYyBjb25zdCBDR0Zsb2F0IHNlbGVjdE1lbnVJdGVtQ2Vs
bEhlaWdodCA9IDQ0OwpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dL
VGV4dElucHV0TGlzdFZpZXdDb250cm9sbGVyLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS1RleHRJbnB1dExpc3RWaWV3Q29udHJvbGxlci5tbQko
cmV2aXNpb24gMjYyODM5KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dL
VGV4dElucHV0TGlzdFZpZXdDb250cm9sbGVyLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0yOSwxOCAr
MjksOCBAQAogI2lmIFBMQVRGT1JNKFdBVENIT1MpCiAKICNpbXBvcnQgIldLTnVtYmVyUGFkVmll
d0NvbnRyb2xsZXIuaCIKLSNpbXBvcnQgPFBlcHBlclVJQ29yZS9QVUlDUXVpY2tib2FyZEFyb3Vl
dFZpZXdDb250cm9sbGVyLmg+Ci0jaW1wb3J0IDxQZXBwZXJVSUNvcmUvUFVJQ1F1aWNrYm9hcmRM
aXN0Vmlld0NvbnRyb2xsZXJTdWJjbGFzcy5oPgotI2ltcG9ydCA8UGVwcGVyVUlDb3JlL1BVSUNR
dWlja2JvYXJkTGlzdFZpZXdTcGVjcy5oPgotI2ltcG9ydCA8UGVwcGVyVUlDb3JlL1BVSUNSZXNv
dXJjZXMuaD4KLSNpbXBvcnQgPFBlcHBlclVJQ29yZS9QVUlDVGFibGVWaWV3Lmg+Ci0jaW1wb3J0
IDxQZXBwZXJVSUNvcmUvUFVJQ1RhYmxlVmlld0NlbGwuaD4KICNpbXBvcnQgPHd0Zi9SZXRhaW5Q
dHIuaD4KIAotI2lmIEhBVkUoUVVJQ0tCT0FSRF9DT0xMRUNUSU9OX1ZJRVdTKQotI2ltcG9ydCA8
UGVwcGVyVUlDb3JlL1BVSUNRdWlja2JvYXJkTGlzdENvbGxlY3Rpb25WaWV3SXRlbUNlbGwuaD4K
LSNlbmRpZgotCiBzdGF0aWMgY29uc3QgQ0dGbG9hdCB0ZXh0U3VnZ2VzdGlvbkJ1dHRvbkhlaWdo
dCA9IDQ0Owogc3RhdGljIGNvbnN0IENHRmxvYXQgdGV4dFN1Z2dlc3Rpb25MYWJlbEhvcml6b250
YWxNYXJnaW4gPSA5Owogc3RhdGljIE5TU3RyaW5nICp0ZXh0U3VnZ2VzdGlvbkNlbGxSZXVzZUlk
ZW50aWZpZXIgPSBAIldlYktpdFF1aWNrYm9hcmRUZXh0U3VnZ2VzdGlvbkNlbGwiOwpJbmRleDog
U291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZp
c2lvbiAyNjI4MzkpCisrKyBTb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC00NjEzLDYgKzQ2MTMsNyBAQAogCQlBQUIxNDVFNTIy
M0Y5MzEyMDBFNDg5RDggLyogUHJlZmV0Y2hDYWNoZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBQcmVmZXRjaENhY2hlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQUFGQTYzNEUyMzRGN0M2MzAwRkZBODY0IC8qIEFzeW5jUmV2YWxpZGF0aW9uLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFzeW5jUmV2YWxpZGF0aW9uLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUFBRkE2MzUwMjM0RjdDNzMwMEZGQTg2NCAvKiBB
c3luY1JldmFsaWRhdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBc3luY1JldmFsaWRhdGlv
bi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUFCMjc1MEMwMjQ4NTlCMUEwMEYx
QzlEOCAvKiBQZXBwZXJVSUNvcmVTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gUGVwcGVyVUlDb3JlU1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIzOTZF
QTU1MTJFMEVEMkQwMEY0RkVCNyAvKiBjb25maWcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gY29uZmlnLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUI2MkU3MzBG
MTQzMDQ3QTYwMDY5RUMzNSAvKiBXS0hpdFRlc3RSZXN1bHQuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gV0tIaXRUZXN0UmVzdWx0LmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQjYyRTczMTExNDMwNDdCMDAwNjlFQzM1IC8qIFdLSGl0VGVzdFJlc3Vs
dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS0hpdFRlc3RSZXN1bHQuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTg3MTAsNiArODcxMSwxNCBAQAogCQkJcGF0
aCA9IGlvczsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07CisJCUFCMjc1MEJEMjQ4
NTgwOTEwMEYxQzlEOCAvKiB3YXRjaG9zICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQlj
aGlsZHJlbiA9ICgKKwkJCQlBQjI3NTBDMDI0ODU5QjFBMDBGMUM5RDggLyogUGVwcGVyVUlDb3Jl
U1BJLmggKi8sCisJCQkpOworCQkJcGF0aCA9IHdhdGNob3M7CisJCQlzb3VyY2VUcmVlID0gIjxn
cm91cD4iOworCQl9OwogCQlCQzAxN0QxMDE2MjYwRkZEMDA3MDU0RjUgLyogRE9NICovID0gewog
CQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKQEAgLTEwMzY0LDYgKzEwMzczLDcg
QEAKIAkJCQkzNzU0RDU0MTFCM0EyOTk4MDAzQTRDN0YgLyogQ29jb2EgKi8sCiAJCQkJQ0UxQTBC
Q0IxQTQ4RTZDNjAwNTRFRjc0IC8qIGlvcyAqLywKIAkJCQlBMUU2ODg2RTFGNkUyQjgyMDA3MDA2
QTYgLyogbWFjICovLAorCQkJCUFCMjc1MEJEMjQ4NTgwOTEwMEYxQzlEOCAvKiB3YXRjaG9zICov
LAogCQkJKTsKIAkJCXBhdGggPSBzcGk7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>401558</attachid>
            <date>2020-06-10 11:25:32 -0700</date>
            <delta_ts>2020-06-10 13:34:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-212996-20200610112531.patch</filename>
            <type>text/plain</type>
            <size>25498</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjI4NDUpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMwIEBACisyMDIwLTA2LTEwICBKb25hdGhhbiBC
ZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNvbT4KKworICAgICAgICBXZWJLaXQ6QWRkIFBlcHBlclVJ
Q29yZVNQSS5oCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMTI5OTYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzY0MTgyNjI3PgorCisgICAgICAgIFJl
dmlld2VkIGJ5IFRpbSBIb3J0b24uCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBiZWhhdmlvciB1
bmNoYW5nZWQuCisKKyAgICAgICAgKiBQbGF0Zm9ybS9zcGkvd2F0Y2hvczogQWRkZWQuCisgICAg
ICAgICogUGxhdGZvcm0vc3BpL3dhdGNob3MvUGVwcGVyVUlDb3JlU1BJLmg6IEFkZGVkLgorICAg
ICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XS1NhZmVCcm93c2luZ1dhcm5pbmcubW06IEluY2x1ZGUg
UGVwcGVyVUlDb3JlU1BJIGhlYWRlci4KKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLU2Nyb2xs
Vmlldy5tbTogRGl0dG8uCisgICAgICAgICogVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0RhdGVQaWNr
ZXJWaWV3Q29udHJvbGxlci5tbTogUmVtb3ZlIGhlYWRlcnMgZHVwbGljYXRlZCBpbiBQZXBwZXJV
SUNvcmVTUEkuaC4KKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL2Zvcm1zL1dLRm9jdXNlZEZvcm1D
b250cm9sVmlldy5tbTogRGl0dG8uCisgICAgICAgICogVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS051
bWJlclBhZFZpZXcubW06IEluY2x1ZGUgUGVwcGVyVUlDb3JlU1BJIGhlYWRlci4KKyAgICAgICAg
KiBVSVByb2Nlc3MvaW9zL2Zvcm1zL1dLTnVtYmVyUGFkVmlld0NvbnRyb2xsZXIuaDogUmVtb3Zl
IGhlYWRlcnMgZHVwbGljYXRlZCBpbiBQZXBwZXJVSUNvcmVTUEkuaC4KKyAgICAgICAgKiBVSVBy
b2Nlc3MvaW9zL2Zvcm1zL1dLTnVtYmVyUGFkVmlld0NvbnRyb2xsZXIubW06IERpdHRvLgorICAg
ICAgICAoLVtXS051bWJlclBhZFZpZXdDb250cm9sbGVyIGFkZENvbnRlbnRWaWV3QW5pbWF0aW9u
czpdKTogTGltaXQgYWRkQW5pbWF0aW9uIHRvIEludGVybmFsIGJ1aWxkcy4KKyAgICAgICAgKiBV
SVByb2Nlc3MvaW9zL2Zvcm1zL1dLUXVpY2tib2FyZExpc3RWaWV3Q29udHJvbGxlci5oOiBJbmNs
dWRlIFBlcHBlclVJQ29yZVNQSSBoZWFkZXIuCisgICAgICAgICogVUlQcm9jZXNzL2lvcy9mb3Jt
cy9XS1F1aWNrYm9hcmRMaXN0Vmlld0NvbnRyb2xsZXIubW06IFJlbW92ZSBoZWFkZXJzIGR1cGxp
Y2F0ZWQgaW4gUGVwcGVyVUlDb3JlU1BJLmguCisgICAgICAgICgtW1dLUXVpY2tib2FyZExpc3RW
aWV3Q29udHJvbGxlciBpbml0V2l0aERlbGVnYXRlOl0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9p
b3MvZm9ybXMvV0tTZWxlY3RNZW51TGlzdFZpZXdDb250cm9sbGVyLm1tOiBSZW1vdmUgaGVhZGVy
cyBkdXBsaWNhdGVkIGluIFBlcHBlclVJQ29yZVNQSS5oLgorICAgICAgICAqIFVJUHJvY2Vzcy9p
b3MvZm9ybXMvV0tUZXh0SW5wdXRMaXN0Vmlld0NvbnRyb2xsZXIubW06IERpdHRvLgorICAgICAg
ICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOiBBZGQgUGVwcGVyVUlDb3JlU1BJ
LmguCisKIDIwMjAtMDYtMTAgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0
Lm9yZz4KIAogICAgICAgICBSZXZlcnQgcjI1OTc3MApJbmRleDogU291cmNlL1dlYktpdC9QbGF0
Zm9ybS9zcGkvd2F0Y2hvcy9QZXBwZXJVSUNvcmVTUEkuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L1BsYXRmb3JtL3NwaS93YXRjaG9zL1BlcHBlclVJQ29yZVNQSS5oCShub25leGlzdGVu
dCkKKysrIFNvdXJjZS9XZWJLaXQvUGxhdGZvcm0vc3BpL3dhdGNob3MvUGVwcGVyVUlDb3JlU1BJ
LmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzMDQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWYgUExB
VEZPUk0oV0FUQ0hPUykKKworI2ltcG9ydCAiVUlLaXRTUEkuaCIKKworI2lmIFVTRShBUFBMRV9J
TlRFUk5BTF9TREspCisKKyNpbXBvcnQgPFBlcHBlclVJQ29yZS9QVUlDQWN0aW9uQ29udHJvbGxl
ci5oPgorI2ltcG9ydCA8UGVwcGVyVUlDb3JlL1BVSUNBY3Rpb25Db250cm9sbGVyX1ByaXZhdGUu
aD4KKyNpbXBvcnQgPFBlcHBlclVJQ29yZS9QVUlDQWN0aW9uR3JvdXAuaD4KKyNpbXBvcnQgPFBl
cHBlclVJQ29yZS9QVUlDQXBwbGljYXRpb25fUHJpdmF0ZS5oPgorI2ltcG9ydCA8UGVwcGVyVUlD
b3JlL1BVSUNDcm93bklucHV0U2VxdWVuY2VyLmg+CisjaW1wb3J0IDxQZXBwZXJVSUNvcmUvUFVJ
Q0Nyb3duSW5wdXRTZXF1ZW5jZXJfUHJpdmF0ZS5oPgorI2ltcG9ydCA8UGVwcGVyVUlDb3JlL1BV
SUNRdWlja2JvYXJkQXJvdWV0Vmlld0NvbnRyb2xsZXIuaD4KKyNpbXBvcnQgPFBlcHBlclVJQ29y
ZS9QVUlDUXVpY2tib2FyZExhbmd1YWdlQ29udHJvbGxlci5oPgorI2ltcG9ydCA8UGVwcGVyVUlD
b3JlL1BVSUNRdWlja2JvYXJkTGlzdFZpZXdDb250cm9sbGVyLmg+CisjaW1wb3J0IDxQZXBwZXJV
SUNvcmUvUFVJQ1F1aWNrYm9hcmRMaXN0Vmlld0NvbnRyb2xsZXJTdWJjbGFzcy5oPgorI2ltcG9y
dCA8UGVwcGVyVUlDb3JlL1BVSUNRdWlja2JvYXJkTGlzdFZpZXdTcGVjcy5oPgorI2ltcG9ydCA8
UGVwcGVyVUlDb3JlL1BVSUNRdWlja2JvYXJkVmlld0NvbnRyb2xsZXIuaD4KKyNpbXBvcnQgPFBl
cHBlclVJQ29yZS9QVUlDUXVpY2tib2FyZFZpZXdDb250cm9sbGVyX1ByaXZhdGUuaD4KKyNpbXBv
cnQgPFBlcHBlclVJQ29yZS9QVUlDUmVzb3VyY2VzLmg+CisjaW1wb3J0IDxQZXBwZXJVSUNvcmUv
UFVJQ1N0YXR1c0JhckFwcENvbnRleHRWaWV3Lmg+CisjaW1wb3J0IDxQZXBwZXJVSUNvcmUvUFVJ
Q1RhYmxlVmlldy5oPgorI2ltcG9ydCA8UGVwcGVyVUlDb3JlL1BVSUNUYWJsZVZpZXdDZWxsLmg+
CisjaW1wb3J0IDxQZXBwZXJVSUNvcmUvVUlEZXZpY2UrUFVJQ0FkZGl0aW9ucy5oPgorI2ltcG9y
dCA8UGVwcGVyVUlDb3JlL1VJU2Nyb2xsVmlldytQVUlDQWRkaXRpb25zUHJpdmF0ZS5oPgorCisj
aWYgSEFWRShRVUlDS0JPQVJEX0NPTExFQ1RJT05fVklFV1MpCisjaW1wb3J0IDxQZXBwZXJVSUNv
cmUvUFVJQ1F1aWNrYm9hcmRMaXN0Q29sbGVjdGlvblZpZXdJdGVtQ2VsbC5oPgorI2VuZGlmCisK
KyNlbHNlIC8vIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisKK05TX0FTU1VNRV9OT05OVUxMX0JF
R0lOCisKK2V4dGVybiBOU1N0cmluZyAqIGNvbnN0IFBVSUNTdGF0dXNCYXJOYXZpZ2F0aW9uQmFj
a0J1dHRvblByZXNzZWROb3RpZmljYXRpb247CitleHRlcm4gTlNTdHJpbmcgKiBjb25zdCBQVUlD
U3RhdHVzQmFyVGl0bGVUYXBwZWROb3RpZmljYXRpb247CisKK3R5cGVkZWYgTlNfRU5VTShOU0lu
dGVnZXIsIFBVSUNDcm93bklucHV0U2Nyb2xsRGlyZWN0aW9uKSB7CisgICAgUFVJQ0Nyb3duSW5w
dXRTY3JvbGxEaXJlY3Rpb25Ob25lLAorICAgIFBVSUNDcm93bklucHV0U2Nyb2xsRGlyZWN0aW9u
SG9yaXpvbnRhbCwKKyAgICBQVUlDQ3Jvd25JbnB1dFNjcm9sbERpcmVjdGlvblZlcnRpY2FsLAor
fTsKKwordHlwZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgUFVJQ0RldmljZVZhcmlhbnQpIHsKKyAg
ICBQVUlDRGV2aWNlVmFyaWFudENvbXBhY3QgPSAwLAorICAgIFBVSUNEZXZpY2VWYXJpYW50UmVn
dWxhciA9IDEsCisgICAgUFVJQ0RldmljZVZhcmlhbnQzOTRoID0gMiwKKyAgICBQVUlDRGV2aWNl
VmFyaWFudDQ0OGggPSAzLAorfTsKKworQGludGVyZmFjZSBVSURldmljZSAoUFVJQ0FkZGl0aW9u
cykKKy0gKFBVSUNEZXZpY2VWYXJpYW50KXB1aWNfZGV2aWNlVmFyaWFudDsKK0BlbmQKKwordHlw
ZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgUFVJQ0RpY3RhdGlvbk1vZGUpIHsKKyAgICBQVUlDRGlj
dGF0aW9uTW9kZVRleHQsCisgICAgUFVJQ0RpY3RhdGlvbk1vZGVUZXh0QW5kQXVkaW8sCisgICAg
UFVJQ0RpY3RhdGlvbk1vZGVBdWRpbywKKyAgICBQVUlDRGljdGF0aW9uTW9kZVBlcnNvbiwKKyAg
ICBQVUlDRGljdGF0aW9uTW9kZUxvY2F0aW9uCit9OworCitAcHJvdG9jb2wgUFVJQ0FwcGxpY2F0
aW9uU3RhdHVzQmFyUHJvcGVydGllcyA8TlNPYmplY3Q+CitAcHJvcGVydHkgKG5vbmF0b21pYywg
Y29weSkgTlNTdHJpbmcgKnRpdGxlOworQHByb3BlcnR5IChub25hdG9taWMsIHN0cm9uZykgVUlD
b2xvciAqdGl0bGVDb2xvcjsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24sIGdldHRlcj1p
c1RpdGxlSW50ZXJhY3RpdmUpIGJvb2wgdGl0bGVJbnRlcmFjdGl2ZTsKK0Bwcm9wZXJ0eSAobm9u
YXRvbWljLCBhc3NpZ24pIGJvb2wgc2hvd05hdmlnYXRpb25VSTsKK0Bwcm9wZXJ0eSAobm9uYXRv
bWljLCBhc3NpZ24pIGJvb2wgbmF2VUlCYWNrQnV0dG9uRGlzYWJsZWQ7CistIChCT09MKSBjb21t
aXRDaGFuZ2VzQW5pbWF0ZWQ6KEJPT0wpIGFuaW1hdGVkOworQGVuZAorCitAcHJvdG9jb2wgUFVJ
Q1N0YXR1c0JhckFwcENvbnRleHRWaWV3RGF0YVNvdXJjZSA8TlNPYmplY3Q+CitAZW5kCisKK0Bp
bnRlcmZhY2UgUFVJQ0FwcGxpY2F0aW9uU3RhdHVzQmFySXRlbSA6IE5TT2JqZWN0IDxQVUlDQXBw
bGljYXRpb25TdGF0dXNCYXJQcm9wZXJ0aWVzLCBQVUlDU3RhdHVzQmFyQXBwQ29udGV4dFZpZXdE
YXRhU291cmNlLCBOU1NlY3VyZUNvZGluZywgTlNDb3B5aW5nPgorQGVuZAorCitAaW50ZXJmYWNl
IFVJVmlld0NvbnRyb2xsZXIgKFBVSUNBcHBsaWNhdGlvblN0YXR1c0JhckFkZGl0aW9ucykKK0Bw
cm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSwgZ2V0dGVyPXB1aWNfYXBwbGljYXRpb25TdGF0
dXNCYXJJdGVtKSBQVUlDQXBwbGljYXRpb25TdGF0dXNCYXJJdGVtICphcHBsaWNhdGlvblN0YXR1
c0Jhckl0ZW07CitAZW5kCisKK0BpbnRlcmZhY2UgUFVJQ1Jlc291cmNlcyA6IE5TT2JqZWN0Cisr
IChVSUltYWdlICopaW1hZ2VOYW1lZDooTlNTdHJpbmcgKilpbWFnZU5hbWUgaW5CdW5kbGU6KE5T
QnVuZGxlICopYnVuZGxlIHNob3VsZENhY2hlOihCT09MKXNob3VsZENhY2hlOworQGVuZAorCitA
aW50ZXJmYWNlIFBVSUNTdGF0dXNCYXJHbG9iYWxDb250ZXh0Vmlld0Fzc2VydGlvbiA6IE5TT2Jq
ZWN0CitAZW5kCisKK0BpbnRlcmZhY2UgUFVJQ1N0YXR1c0JhciA6IFVJU3RhdHVzQmFyCitAZW5k
CisKK0BpbnRlcmZhY2UgUFVJQ0FwcGxpY2F0aW9uIDogVUlBcHBsaWNhdGlvbgorKyAoaW5zdGFu
Y2V0eXBlKXNoYXJlZFBVSUNBcHBsaWNhdGlvbjsKKy0gKFBVSUNTdGF0dXNCYXJHbG9iYWxDb250
ZXh0Vmlld0Fzc2VydGlvbiAqKV90YWtlU3RhdHVzQmFyR2xvYmFsQ29udGV4dEFzc2VydGlvbkFu
aW1hdGVkOihCT09MKWFuaW1hdGVkOworLSAoUFVJQ1N0YXR1c0JhciAqKV9wdWljU3RhdHVzQmFy
OworQGVuZAorCit0eXBlZGVmIHZvaWQgKF5QVUlDUXVpY2tib2FyZENvbXBsZXRpb25CbG9jayko
TlNBdHRyaWJ1dGVkU3RyaW5nICogX051bGxhYmxlKTsKKworQGludGVyZmFjZSBQVUlDUXVpY2ti
b2FyZFNwZWNzIDogTlNPYmplY3QKK0BlbmQKK0BpbnRlcmZhY2UgUFVJQ1F1aWNrYm9hcmRMaXN0
Vmlld1NwZWNzIDogUFVJQ1F1aWNrYm9hcmRTcGVjcworQHByb3BlcnR5IChhc3NpZ24sIG5vbmF0
b21pYykgQ0dGbG9hdCBkZWZhdWx0QnV0dG9uSGVpZ2h0OworQGVuZAorCitAaW50ZXJmYWNlIFBV
SUNCdXR0b24gOiBVSUJ1dHRvbgorQGVuZAorCitAaW50ZXJmYWNlIFBVSUNRdWlja2JvYXJkTGlz
dFRyYXlCdXR0b24gOiBQVUlDQnV0dG9uCistIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhGcmFtZToo
Q0dSZWN0KWZyYW1lIHRpbnRDb2xvcjoobnVsbGFibGUgVUlDb2xvciAqKXRpbnRDb2xvciBkZWZh
dWx0SGVpZ2h0OihDR0Zsb2F0KWRlZmF1bHRIZWlnaHQ7CitAZW5kCisKK0BpbnRlcmZhY2UgUFVJ
Q1RhYmxlVmlld0NlbGwgOiBVSVRhYmxlVmlld0NlbGwKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBn
ZXR0ZXI9aXNSYWRpb1NlY3Rpb25DZWxsKSBCT09MIHJhZGlvU2VjdGlvbkNlbGw7CistICh2b2lk
KWNvbmZpZ3VyZUZvclRleHQ6KE5TU3RyaW5nICopdGV4dCB3aWR0aDooQ0dGbG9hdCl3aWR0aDsK
K0BlbmQKKworQGludGVyZmFjZSBQVUlDUXVpY2tib2FyZExpc3RJdGVtQ2VsbCA6IFBVSUNUYWJs
ZVZpZXdDZWxsCitAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIFVJTGFiZWwgKml0ZW1M
YWJlbDsKK0BlbmQKKworQGludGVyZmFjZSBQVUlDVGFibGVWaWV3IDogVUlUYWJsZVZpZXcKK0Bl
bmQKKworQGludGVyZmFjZSBQVUlDVGV4dElucHV0Q29udGV4dCA6IE5TT2JqZWN0IDxVSVRleHRJ
bnB1dFRyYWl0cywgTlNTZWN1cmVDb2Rpbmc+CisKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBzdHJv
bmcpIE5TU3RyaW5nICpyZXF1ZXN0aW5nQXBwbGljYXRpb25CdW5kbGVJRDsKK0Bwcm9wZXJ0eSAo
bm9uYXRvbWljLCBzdHJvbmcpIE5TU3RyaW5nICppbml0aWFsVGV4dDsKK0Bwcm9wZXJ0eSAobm9u
YXRvbWljLCBzdHJvbmcsIG51bGxhYmxlKSBVSUNvbG9yICp0aW50Q29sb3I7CitAcHJvcGVydHkg
KG5vbmF0b21pYywgc3Ryb25nKSBVSVRleHRDb250ZW50VHlwZSBzZWNvbmRhcnlUZXh0Q29udGVu
dFR5cGU7CitAcHJvcGVydHkgKG5vbmF0b21pYywgYXNzaWduKSBOU0ludGVnZXIgbWluaW11bUxl
bmd0aDsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24pIFVJUmV0dXJuS2V5VHlwZSByZXR1
cm5LZXlUeXBlOworQHByb3BlcnR5IChub25hdG9taWMsIHN0cm9uZykgTlNBdHRyaWJ1dGVkU3Ry
aW5nICphdHRyaWJ1dGVkSGVhZGVyVGV4dDsKKworQGVuZAorCitAY2xhc3MgUFVJQ1F1aWNrYm9h
cmRDb250cm9sbGVyOworQHByb3RvY29sIFBVSUNRdWlja2JvYXJkQ29udHJvbGxlckRlbGVnYXRl
IDxOU09iamVjdD4KKy0gKHZvaWQpcXVpY2tib2FyZENvbnRyb2xsZXI6KFBVSUNRdWlja2JvYXJk
Q29udHJvbGxlciAqKXF1aWNrYm9hcmRDb250cm9sbGVyIHRleHRJbnB1dFZhbHVlRGlkQ2hhbmdl
OihOU0F0dHJpYnV0ZWRTdHJpbmcgKilhdHRyaWJ1dGVkVGV4dDsKK0BlbmQKKworQGludGVyZmFj
ZSBQVUlDUXVpY2tib2FyZENvbnRyb2xsZXIgOiBOU09iamVjdAorQHByb3BlcnR5IChub25hdG9t
aWMsIHdlYWspIGlkPFBVSUNRdWlja2JvYXJkQ29udHJvbGxlckRlbGVnYXRlPiBkZWxlZ2F0ZTsK
K0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBzdHJvbmcpIFBVSUNUZXh0SW5wdXRDb250ZXh0ICp0ZXh0
SW5wdXRDb250ZXh0OworQHByb3BlcnR5IChub25hdG9taWMsIHdlYWspIFVJVmlld0NvbnRyb2xs
ZXIgKnF1aWNrYm9hcmRQcmVzZW50aW5nVmlld0NvbnRyb2xsZXI7CitAZW5kCisKK0Bwcm90b2Nv
bCBQVUlDUXVpY2tib2FyZENvbnRyb2xsZXIgPE5TT2JqZWN0PgorQHByb3BlcnR5IChub25hdG9t
aWMsIHJlYWRvbmx5KSBOU1N0cmluZyAqcHJpbWFyeUxhbmd1YWdlOworQHByb3BlcnR5IChub25h
dG9taWMsIHJlYWRvbmx5KSBCT09MIGFuaW1hdGVzU2VsZWN0aW9uVG9EZXN0aW5hdGlvblZpZXc7
CistICh2b2lkKWRpc21pc3NWaWV3Q29udHJvbGxlckFuaW1hdGVkOihCT09MKWFuaW1hdGVkIGNv
bXBsZXRpb246KG51bGxhYmxlIHZvaWQoXikodm9pZCkpY29tcGxldGlvbjsKK0BlbmQKKworQHBy
b3RvY29sIFBVSUNRdWlja2JvYXJkVmlld0NvbnRyb2xsZXJEZWxlZ2F0ZSA8TlNPYmplY3Q+Cist
ICh2b2lkKXF1aWNrYm9hcmQ6KGlkPFBVSUNRdWlja2JvYXJkQ29udHJvbGxlcj4pcXVpY2tib2Fy
ZCB0ZXh0RW50ZXJlZDooTlNBdHRyaWJ1dGVkU3RyaW5nICopYXR0cmlidXRlZFRleHQ7CistICh2
b2lkKXF1aWNrYm9hcmQ6KGlkPFBVSUNRdWlja2JvYXJkQ29udHJvbGxlcj4pcXVpY2tib2FyZCBs
YW5ndWFnZURpZENoYW5nZTooTlNTdHJpbmcgKilsYW5ndWFnZUNvZGU7CistICh2b2lkKXF1aWNr
Ym9hcmRJbnB1dENhbmNlbGxlZDooaWQ8UFVJQ1F1aWNrYm9hcmRDb250cm9sbGVyPilxdWlja2Jv
YXJkOworQGVuZAorCitAcHJvdG9jb2wgUFVJQ1F1aWNrYm9hcmRUcmFuc2l0aW9uIDxOU09iamVj
dD4KK0BlbmQKKworQGludGVyZmFjZSBQVUlDUXVpY2tib2FyZFZpZXdDb250cm9sbGVyIDogVUlW
aWV3Q29udHJvbGxlciA8UFVJQ1F1aWNrYm9hcmRDb250cm9sbGVyPgorQHByb3BlcnR5IChub25h
dG9taWMsIHdlYWspIGlkPFBVSUNRdWlja2JvYXJkVmlld0NvbnRyb2xsZXJEZWxlZ2F0ZT4gZGVs
ZWdhdGU7CitAcHJvcGVydHkgKG5vbmF0b21pYywgc3Ryb25nKSBVSVZpZXcgKmNvbnRlbnRWaWV3
OworQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBVSUJ1dHRvbiAqY2FuY2VsQnV0dG9u
OworQHByb3BlcnR5IChub25hdG9taWMsIGFzc2lnbikgTlNJbnRlZ2VyIG1pblRleHRMZW5ndGhG
b3JFbmFibGluZ0FjY2VwdDsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24pIEJPT0wgc2hv
d3NBY2NlcHRCdXR0b247CistIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhEZWxlZ2F0ZTooaWQ8UFVJ
Q1F1aWNrYm9hcmRWaWV3Q29udHJvbGxlckRlbGVnYXRlPilkZWxlZ2F0ZSBOU19ERVNJR05BVEVE
X0lOSVRJQUxJWkVSOworLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoQ29kZXI6KE5TQ29kZXIgKilh
RGVjb2RlciBOU19ERVNJR05BVEVEX0lOSVRJQUxJWkVSOworQGVuZAorCitAaW50ZXJmYWNlIFBV
SUNRdWlja2JvYXJkVmlld0NvbnRyb2xsZXIgKFRyYW5zaXRpb25zKSA8UFVJQ1F1aWNrYm9hcmRU
cmFuc2l0aW9uPgorLSAodm9pZClhZGRDb250ZW50Vmlld0FuaW1hdGlvbnM6KEJPT0wpaXNQcmVz
ZW50aW5nOworQGVuZAorCitAaW50ZXJmYWNlIFBVSUNRdWlja2JvYXJkTGlzdFZpZXdDb250cm9s
bGVyIDogUFVJQ1F1aWNrYm9hcmRWaWV3Q29udHJvbGxlcgorQHByb3BlcnR5IChub25hdG9taWMs
IHJlYWRvbmx5KSBQVUlDVGFibGVWaWV3ICpsaXN0VmlldzsKK0Bwcm9wZXJ0eSAoc3Ryb25nLCBu
b25hdG9taWMsIHJlYWRvbmx5KSBQVUlDUXVpY2tib2FyZExpc3RWaWV3U3BlY3MgKnNwZWNzOwor
QHByb3BlcnR5IChub25hdG9taWMsIGNvcHkpIFVJVGV4dENvbnRlbnRUeXBlIHRleHRDb250ZW50
VHlwZTsKKy0gKHZvaWQpcmVsb2FkTGlzdEl0ZW1zOworLSAodm9pZClyZWxvYWRIZWFkZXJDb250
ZW50VmlldzsKK0BlbmQKKworQGludGVyZmFjZSBQVUlDUXVpY2tib2FyZEFyb3VldFZpZXdDb250
cm9sbGVyIDogUFVJQ1F1aWNrYm9hcmRWaWV3Q29udHJvbGxlcgorQHByb3BlcnR5IChub25hdG9t
aWMsIGNvcHksIG51bGxhYmxlKSBVSVRleHRDb250ZW50VHlwZSB0ZXh0Q29udGVudFR5cGU7Cist
ICh2b2lkKXNldElucHV0VGV4dDoobnVsbGFibGUgTlNTdHJpbmcgKilpbnB1dFRleHQgc2VsZWN0
aW9uUmFuZ2U6KE5TUmFuZ2Upc2VsZWN0aW9uUmFuZ2U7CitAZW5kCisKK3R5cGVkZWYgTlNfRU5V
TShOU0ludGVnZXIsIFBVSUNQaWNrZXJWaWV3U3R5bGUpIHsKKyAgICBQVUlDUGlja2VyVmlld1N0
eWxlTGlzdCwKKyAgICBQVUlDUGlja2VyVmlld1N0eWxlU3RhY2ssCisgICAgUFVJQ1BpY2tlclZp
ZXdTdHlsZVNlcXVlbmNlLAorfTsKKworQHByb3RvY29sIFBVSUNQaWNrZXJWaWV3RGVsZWdhdGUg
PE5TT2JqZWN0PgorQGVuZAorQHByb3RvY29sIFBVSUNQaWNrZXJWaWV3RGF0YVNvdXJjZSA8TlNP
YmplY3Q+CitAZW5kCisKK0BpbnRlcmZhY2UgUFVJQ1BpY2tlclZpZXcgOiBVSVZpZXcKK0Bwcm9w
ZXJ0eSAobm9uYXRvbWljKSBOU0ludGVnZXIgc2VsZWN0ZWRJbmRleDsKK0Bwcm9wZXJ0eSAobm9u
YXRvbWljLCB3ZWFrKSBpZDxQVUlDUGlja2VyVmlld0RhdGFTb3VyY2U+IGRhdGFTb3VyY2U7CitA
cHJvcGVydHkgKG5vbmF0b21pYywgd2VhaykgaWQ8UFVJQ1BpY2tlclZpZXdEZWxlZ2F0ZT4gZGVs
ZWdhdGU7CistIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhTdHlsZTooUFVJQ1BpY2tlclZpZXdTdHls
ZSlzdHlsZSBOU19ERVNJR05BVEVEX0lOSVRJQUxJWkVSOworLSAoVUlWaWV3ICopZGVxdWV1ZVJl
dXNhYmxlSXRlbVZpZXc7CistICh2b2lkKXJlbG9hZERhdGE7CitAZW5kCisKK0Bwcm90b2NvbCBQ
VUlDRGljdGF0aW9uVmlld0NvbnRyb2xsZXJEZWxlZ2F0ZSA8TlNPYmplY3Q+CitAZW5kCitAaW50
ZXJmYWNlIFBVSUNEaWN0YXRpb25WaWV3Q29udHJvbGxlciA6IFBVSUNRdWlja2JvYXJkVmlld0Nv
bnRyb2xsZXIKKy0gKGluc3RhbmNldHlwZSlpbml0V2l0aERlbGVnYXRlOihpZDxQVUlDUXVpY2ti
b2FyZFZpZXdDb250cm9sbGVyRGVsZWdhdGU+KWRlbGVnYXRlIGRpY3RhdGlvbk1vZGU6KFBVSUNE
aWN0YXRpb25Nb2RlKWRpY3RhdGlvbk1vZGUgTlNfREVTSUdOQVRFRF9JTklUSUFMSVpFUjsKK0Bl
bmQKKworQGludGVyZmFjZSBQVUlDUXVpY2tib2FyZFZpZXdDb250cm9sbGVyIChFeHBvc2VIZWFk
ZXIpCitAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIFVJVmlldyAqaGVhZGVyVmlldzsK
K0BlbmQKKworQGludGVyZmFjZSBQVUlDQWN0aW9uSXRlbSA6IE5TT2JqZWN0CitAZW5kCisKK3R5
cGVkZWYgTlNfRU5VTShOU0ludGVnZXIsIFBVSUNBY3Rpb25TdHlsZSkgeworICAgIFBVSUNBY3Rp
b25TdHlsZUF1dG9tYXRpYyA9IDAsCisgICAgUFVJQ0FjdGlvblN0eWxlTGlzdCA9IDEsCisgICAg
UFVJQ0FjdGlvblN0eWxlR3JpZCA9IDIsCit9OworCitAaW50ZXJmYWNlIFBVSUNBY3Rpb25Hcm91
cCA6IE5TT2JqZWN0CistIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhBY3Rpb25JdGVtczooTlNBcnJh
eSAqKWFjdGlvbkl0ZW1zIGFjdGlvblN0eWxlOihQVUlDQWN0aW9uU3R5bGUpYWN0aW9uU3R5bGU7
CitAZW5kCisKK0BjbGFzcyBQVUlDUXVpY2tib2FyZExhbmd1YWdlQ29udHJvbGxlcjsKK0Bwcm90
b2NvbCBQVUlDUXVpY2tib2FyZExhbmd1YWdlQ29udHJvbGxlckRlbGVnYXRlCistICh2b2lkKWxh
bmd1YWdlQ29udHJvbGxlckRpZENoYW5nZVByaW1hcnlMYW5ndWFnZTooUFVJQ1F1aWNrYm9hcmRM
YW5ndWFnZUNvbnRyb2xsZXIgKilsYW5ndWFnZUNvbnRyb2xsZXI7CitAZW5kCisKK0BpbnRlcmZh
Y2UgUFVJQ1F1aWNrYm9hcmRMYW5ndWFnZUNvbnRyb2xsZXIgOiBOU09iamVjdAorQHByb3BlcnR5
IChub25hdG9taWMsIHJlYWRvbmx5KSBOU1N0cmluZyAqcHJpbWFyeUxhbmd1YWdlOworLSAoUFVJ
Q0FjdGlvbkl0ZW0gKilsYW5ndWFnZVNlbGVjdGlvbkFjdGlvbkl0ZW1Gb3JWaWV3Q29udHJvbGxl
cjooVUlWaWV3Q29udHJvbGxlcjxQVUlDUXVpY2tib2FyZExhbmd1YWdlQ29udHJvbGxlckRlbGVn
YXRlPiAqKXZpZXdDb250cm9sbGVyOworQGVuZAorCitAaW50ZXJmYWNlIFBVSUNRdWlja2JvYXJk
Vmlld0NvbnRyb2xsZXIgKFF1aWNrYm9hcmRMYW5ndWFnZVN1cHBvcnQpCitAcHJvcGVydHkgKG5v
bmF0b21pYywgc3Ryb25nKSBQVUlDUXVpY2tib2FyZExhbmd1YWdlQ29udHJvbGxlciAqbGFuZ3Vh
Z2VDb250cm9sbGVyOworLSAodm9pZClwcmltYXJ5TGFuZ3VhZ2VEaWRDaGFuZ2U6KE5TU3RyaW5n
ICopcHJpbWFyeUxhbmd1YWdlOworQGVuZAorCitAcHJvdG9jb2wgUFVJQ0Nyb3duSW5wdXRTZXF1
ZW5jZXJEZWxlZ2F0ZSA8TlNPYmplY3Q+CitAZW5kCisKK0BpbnRlcmZhY2UgUFVJQ0Nyb3duSW5w
dXRTZXF1ZW5jZXIgOiBOU09iamVjdAorQHByb3BlcnR5IChub25hdG9taWMsIHdlYWspIGlkPFBV
SUNDcm93bklucHV0U2VxdWVuY2VyRGVsZWdhdGU+IGRlbGVnYXRlOworQHByb3BlcnR5IChub25h
dG9taWMpIGRvdWJsZSBzdGFydDsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljKSBkb3VibGUgZW5kOwor
QHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgdXNlV2lkZUlkbGVDaGVjazsKK0Bwcm9wZXJ0eSAo
bm9uYXRvbWljKSBkb3VibGUgc2NyZWVuU3BhY2VNdWx0aXBsaWVyOworQHByb3BlcnR5IChub25h
dG9taWMpIGRvdWJsZSBvZmZzZXQ7CitAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHksIGdl
dHRlcj1pc0lkbGUpIEJPT0wgaWRsZTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBnZXR0ZXI9aXNS
dWJiZXJCYW5kaW5nRW5hYmxlZCkgQk9PTCBydWJiZXJCYW5kaW5nRW5hYmxlZDsKKworLSAodm9p
ZClzZXRPZmZzZXQ6KGRvdWJsZSlvZmZzZXQgc3VwcHJlc3NJbmRpY2F0b3JWaXNpYmlsaXR5Q2hh
bmdlczooQk9PTClzdXBwcmVzc0luZGljYXRvclZpc2liaWxpdHlDaGFuZ2VzOworLSAodm9pZCl1
cGRhdGVXaXRoQ3Jvd25JbnB1dEV2ZW50OihVSUV2ZW50ICopY3Jvd25JbnB1dEV2ZW50OworLSAo
dm9pZClzdG9wVmVsb2NpdHlUcmFja2luZ0FuZERlY2VsZXJhdGlvbkltbWVkaWF0ZWx5OworQGVu
ZAorCitAaW50ZXJmYWNlIFVJU2Nyb2xsVmlldyAoUFVJQ0FkZGl0aW9ucykgPFBVSUNDcm93bklu
cHV0U2VxdWVuY2VyRGVsZWdhdGU+CistIChDR1BvaW50KV9wdWljX2NvbnRlbnRPZmZzZXRGb3JD
cm93bklucHV0U2VxdWVuY2VyT2Zmc2V0Oihkb3VibGUpc2VxdWVuY2VyT2Zmc2V0OworQHByb3Bl
cnR5IChub25hdG9taWMsIGdldHRlcj1wdWljX2Nyb3duSW5wdXRTY3JvbGxEaXJlY3Rpb24sIHNl
dHRlcj1wdWljX3NldENyb3duSW5wdXRTY3JvbGxEaXJlY3Rpb246KSBQVUlDQ3Jvd25JbnB1dFNj
cm9sbERpcmVjdGlvbiBjcm93bklucHV0U2Nyb2xsRGlyZWN0aW9uOworQGVuZAorCitAaW50ZXJm
YWNlIFBVSUNBY3Rpb25Db250cm9sbGVyIDogTlNPYmplY3QKKy0gKGluc3RhbmNldHlwZSlpbml0
V2l0aEFjdGlvbkdyb3VwOihQVUlDQWN0aW9uR3JvdXAgKilhY3Rpb25Hcm91cCBOU19ERVNJR05B
VEVEX0lOSVRJQUxJWkVSOworQGVuZAorCitOU19BU1NVTUVfTk9OTlVMTF9FTkQKKworI2VuZGlm
IC8vIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisKKyNlbmRpZiAvLyBQTEFURk9STShXQVRDSE9T
KQpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV0tTYWZlQnJvd3NpbmdXYXJu
aW5nLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dLU2Fm
ZUJyb3dzaW5nV2FybmluZy5tbQkocmV2aXNpb24gMjYyODQ1KQorKysgU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQ29jb2EvV0tTYWZlQnJvd3NpbmdXYXJuaW5nLm1tCSh3b3JraW5nIGNvcHkpCkBA
IC0zNSw4ICszNSw3IEBACiAjaW1wb3J0IDx3dGYvTGFuZ3VhZ2UuaD4KIAogI2lmIFBMQVRGT1JN
KFdBVENIT1MpCi0jaW1wb3J0ICJVSUtpdFNQSS5oIgotI2ltcG9ydCA8UGVwcGVyVUlDb3JlL1VJ
U2Nyb2xsVmlldytQVUlDQWRkaXRpb25zUHJpdmF0ZS5oPgorI2ltcG9ydCAiUGVwcGVyVUlDb3Jl
U1BJLmgiCiAjZW5kaWYKIAogY29uc3RleHByIENHRmxvYXQgZXhjbGFtYXRpb25Qb2ludFNpemUg
PSAzMDsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS1Njcm9sbFZpZXcubW0K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLU2Nyb2xsVmlldy5t
bQkocmV2aXNpb24gMjYyODQ1KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLU2Ny
b2xsVmlldy5tbQkod29ya2luZyBjb3B5KQpAQCAtMzYsNyArMzYsNyBAQAogI2ltcG9ydCA8d3Rm
L1dlYWtPYmpDUHRyLmg+CiAKICNpZiBQTEFURk9STShXQVRDSE9TKQotI2ltcG9ydCA8UGVwcGVy
VUlDb3JlL1VJU2Nyb2xsVmlldytQVUlDQWRkaXRpb25zUHJpdmF0ZS5oPgorI2ltcG9ydCAiUGVw
cGVyVUlDb3JlU1BJLmgiCiAjZW5kaWYKIAogQGludGVyZmFjZSBXS1Njcm9sbFZpZXdEZWxlZ2F0
ZUZvcndhcmRlciA6IE5TT2JqZWN0IDxVSVNjcm9sbFZpZXdEZWxlZ2F0ZT4KSW5kZXg6IFNvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0RhdGVQaWNrZXJWaWV3Q29udHJvbGxlci5t
bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvZm9ybXMvV0tEYXRl
UGlja2VyVmlld0NvbnRyb2xsZXIubW0JKHJldmlzaW9uIDI2Mjg0NSkKKysrIFNvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0RhdGVQaWNrZXJWaWV3Q29udHJvbGxlci5tbQkod29y
a2luZyBjb3B5KQpAQCAtMjgsMTYgKzI4LDYgQEAKIAogI2lmIFBMQVRGT1JNKFdBVENIT1MpCiAK
LSNpbXBvcnQgPFBlcHBlclVJQ29yZS9QVUlDQXBwbGljYXRpb25fUHJpdmF0ZS5oPgotI2ltcG9y
dCA8UGVwcGVyVUlDb3JlL1BVSUNQaWNrZXJWaWV3Lmg+Ci0jaW1wb3J0IDxQZXBwZXJVSUNvcmUv
UFVJQ1BpY2tlclZpZXdfUHJpdmF0ZS5oPgotI2ltcG9ydCA8UGVwcGVyVUlDb3JlL1BVSUNRdWlj
a2JvYXJkVmlld0NvbnRyb2xsZXJfUHJpdmF0ZS5oPgotI2ltcG9ydCA8UGVwcGVyVUlDb3JlL1BV
SUNTdGF0dXNCYXJfUHJpdmF0ZS5oPgotI2ltcG9ydCA8UGVwcGVyVUlDb3JlL1VJRGV2aWNlK1BV
SUNBZGRpdGlvbnMuaD4KLSNpbXBvcnQgPFVJS2l0L1VJR2VvbWV0cnlfUHJpdmF0ZS5oPgotI2lt
cG9ydCA8VUlLaXQvVUlJbnRlcmZhY2VfUHJpdmF0ZS5oPgotI2ltcG9ydCA8VUlLaXQvVUlSZXNw
b25kZXJfUHJpdmF0ZS5oPgotI2ltcG9ydCA8VUlLaXQvVUlWaWV3X1ByaXZhdGUuaD4KICNpbXBv
cnQgPFdlYkNvcmUvTG9jYWxpemVkU3RyaW5ncy5oPgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5o
PgogI2ltcG9ydCA8d3RmL1dlYWtPYmpDUHRyLmg+CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9pb3MvZm9ybXMvV0tGb2N1c2VkRm9ybUNvbnRyb2xWaWV3Lm1tCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0ZvY3VzZWRGb3JtQ29udHJvbFZp
ZXcubW0JKHJldmlzaW9uIDI2Mjg0NSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9m
b3Jtcy9XS0ZvY3VzZWRGb3JtQ29udHJvbFZpZXcubW0JKHdvcmtpbmcgY29weSkKQEAgLTMwLDgg
KzMwLDYgQEAKIAogYXNtKCIubGlua2VyX29wdGlvbiBcIi1mcmFtZXdvcmtcIiwgXCJQZXBwZXJV
SUNvcmVcIiIpOwogCi0jaW1wb3J0IDxQZXBwZXJVSUNvcmUvUFVJQ0Nyb3duSW5wdXRTZXF1ZW5j
ZXIuaD4KLSNpbXBvcnQgPFBlcHBlclVJQ29yZS9QVUlDQ3Jvd25JbnB1dFNlcXVlbmNlcl9Qcml2
YXRlLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0xvY2FsaXplZFN0cmluZ3MuaD4KICNpbXBvcnQgPFdl
YkNvcmUvV2ViQ29yZUNBTGF5ZXJFeHRyYXMuaD4KICNpbXBvcnQgPHd0Zi9OZXZlckRlc3Ryb3ll
ZC5oPgpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLTnVtYmVyUGFk
Vmlldy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvZm9ybXMv
V0tOdW1iZXJQYWRWaWV3Lm1tCShyZXZpc2lvbiAyNjI4NDUpCisrKyBTb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9pb3MvZm9ybXMvV0tOdW1iZXJQYWRWaWV3Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC0y
OCwxNiArMjgsMTEgQEAKIAogI2lmIFBMQVRGT1JNKFdBVENIT1MpCiAKKyNpbXBvcnQgIlBlcHBl
clVJQ29yZVNQSS5oIgogI2ltcG9ydCAiV0tOdW1iZXJQYWRWaWV3Q29udHJvbGxlci5oIgotI2lt
cG9ydCA8Q29yZVRleHQvQ1RGb250VHJhaXRzUHJpdi5oPgotI2ltcG9ydCA8UGVwcGVyVUlDb3Jl
L1BVSUNBY3Rpb25Db250cm9sbGVyX1ByaXZhdGUuaD4KLSNpbXBvcnQgPFBlcHBlclVJQ29yZS9V
SURldmljZStQVUlDQWRkaXRpb25zLmg+Ci0jaW1wb3J0IDxVSUtpdC9VSUZvbnRfUHJpdmF0ZS5o
PgotI2ltcG9ydCA8VUlLaXQvVUlHZW9tZXRyeV9Qcml2YXRlLmg+Ci0jaW1wb3J0IDxVSUtpdC9V
SUltYWdlX1ByaXZhdGUuaD4KLSNpbXBvcnQgPFVJS2l0L1VJTGFiZWxfUHJpdmF0ZS5oPgotI2lt
cG9ydCA8VUlLaXQvVUlWaWV3X1ByaXZhdGUuaD4KKwogI2ltcG9ydCA8V2ViQ29yZS9Mb2NhbGl6
ZWRTdHJpbmdzLmg+CisjaW1wb3J0IDxwYWwvc3BpL2NvY29hL0NvcmVUZXh0U1BJLmg+CiAjaW1w
b3J0IDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KICNp
bXBvcnQgPHd0Zi9XZWFrT2JqQ1B0ci5oPgpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
aW9zL2Zvcm1zL1dLTnVtYmVyUGFkVmlld0NvbnRyb2xsZXIuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvZm9ybXMvV0tOdW1iZXJQYWRWaWV3Q29udHJvbGxlci5o
CShyZXZpc2lvbiAyNjI4NDUpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvZm9ybXMv
V0tOdW1iZXJQYWRWaWV3Q29udHJvbGxlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw3ICsyNyw2
IEBACiAKICNpbXBvcnQgIldLTnVtYmVyUGFkVmlldy5oIgogI2ltcG9ydCAiV0tUZXh0SW5wdXRM
aXN0Vmlld0NvbnRyb2xsZXIuaCIKLSNpbXBvcnQgPFBlcHBlclVJQ29yZS9QVUlDUXVpY2tib2Fy
ZFZpZXdDb250cm9sbGVyLmg+CiAKIEBpbnRlcmZhY2UgV0tOdW1iZXJQYWRWaWV3Q29udHJvbGxl
ciA6IFBVSUNRdWlja2JvYXJkVmlld0NvbnRyb2xsZXIKIApJbmRleDogU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvaW9zL2Zvcm1zL1dLTnVtYmVyUGFkVmlld0NvbnRyb2xsZXIubW0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLTnVtYmVyUGFkVmlld0Nv
bnRyb2xsZXIubW0JKHJldmlzaW9uIDI2Mjg0NSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L2lvcy9mb3Jtcy9XS051bWJlclBhZFZpZXdDb250cm9sbGVyLm1tCSh3b3JraW5nIGNvcHkpCkBA
IC0zMCw5ICszMCw2IEBACiAKICNpbXBvcnQgIlVJS2l0U1BJLmgiCiAjaW1wb3J0ICJXS051bWJl
clBhZFZpZXcuaCIKLSNpbXBvcnQgPFBlcHBlclVJQ29yZS9QVUlDUXVpY2tib2FyZFZpZXdDb250
cm9sbGVyX1ByaXZhdGUuaD4KLSNpbXBvcnQgPFBlcHBlclVJQ29yZS9QVUlDUmVzb3VyY2VzLmg+
Ci0jaW1wb3J0IDxQZXBwZXJVSUNvcmUvVUlEZXZpY2UrUFVJQ0FkZGl0aW9ucy5oPgogI2ltcG9y
dCA8V2ViQ29yZS9Mb2NhbGl6ZWRTdHJpbmdzLmg+CiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+
CiAjaW1wb3J0IDx3dGYvV2Vha09iakNQdHIuaD4KQEAgLTI1OSw3ICsyNTYsOSBAQCAtICh2b2lk
KWFkZENvbnRlbnRWaWV3QW5pbWF0aW9uczooQk9PTClpCiAgICAgZmFkZU91dEFuaW1hdGlvbi50
b1ZhbHVlID0gQDA7CiAgICAgZmFkZU91dEFuaW1hdGlvbi5kdXJhdGlvbiA9IG51bWJlclBhZFZp
ZXdEaXNtaXNzQW5pbWF0aW9uRHVyYXRpb247CiAgICAgZmFkZU91dEFuaW1hdGlvbi50aW1pbmdG
dW5jdGlvbiA9IFtDQU1lZGlhVGltaW5nRnVuY3Rpb24gZnVuY3Rpb25XaXRoTmFtZTprQ0FNZWRp
YVRpbWluZ0Z1bmN0aW9uRWFzZUluRWFzZU91dF07CisjaWYgVVNFKEFQUExFX0lOVEVSTkFMKQog
ICAgIFtzZWxmLmNvbnRlbnRWaWV3IGFkZEFuaW1hdGlvbjpmYWRlT3V0QW5pbWF0aW9uIGZvcktl
eTpAIldlYktpdE51bWJlclBhZEZhZGVPdXRBbmltYXRpb25LZXkiXTsKKyNlbmRpZgogICAgIHNl
bGYuY29udGVudFZpZXcuYWxwaGEgPSAwOwogfQogCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9pb3MvZm9ybXMvV0tRdWlja2JvYXJkTGlzdFZpZXdDb250cm9sbGVyLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLUXVpY2tib2FyZExpc3RW
aWV3Q29udHJvbGxlci5oCShyZXZpc2lvbiAyNjI4NDUpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9pb3MvZm9ybXMvV0tRdWlja2JvYXJkTGlzdFZpZXdDb250cm9sbGVyLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTI1LDE0ICsyNSw3IEBACiAKICNpZiBQTEFURk9STShXQVRDSE9TKQogCi0jaW1w
b3J0ICJVSUtpdFNQSS5oIgotI2ltcG9ydCA8UGVwcGVyVUlDb3JlL1BVSUNRdWlja2JvYXJkTGlz
dFZpZXdDb250cm9sbGVyLmg+Ci0jaW1wb3J0IDxQZXBwZXJVSUNvcmUvUFVJQ1F1aWNrYm9hcmRM
aXN0Vmlld0NvbnRyb2xsZXJTdWJjbGFzcy5oPgotI2ltcG9ydCA8UGVwcGVyVUlDb3JlL1BVSUNU
YWJsZVZpZXdDZWxsLmg+Ci0KLSNpZiBIQVZFKFFVSUNLQk9BUkRfQ09MTEVDVElPTl9WSUVXUykK
LSNpbXBvcnQgPFBlcHBlclVJQ29yZS9QVUlDUXVpY2tib2FyZExpc3RDb2xsZWN0aW9uVmlld0l0
ZW1DZWxsLmg+Ci0jZW5kaWYKKyNpbXBvcnQgIlBlcHBlclVJQ29yZVNQSS5oIgogCiBAaW50ZXJm
YWNlIFdLUXVpY2tib2FyZExpc3RJdGVtQ2VsbCA6IFBVSUNRdWlja2JvYXJkTGlzdEl0ZW1DZWxs
CiBAZW5kCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvZm9ybXMvV0tRdWlja2Jv
YXJkTGlzdFZpZXdDb250cm9sbGVyLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL2lvcy9mb3Jtcy9XS1F1aWNrYm9hcmRMaXN0Vmlld0NvbnRyb2xsZXIubW0JKHJldmlz
aW9uIDI2Mjg0NSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS1F1aWNr
Ym9hcmRMaXN0Vmlld0NvbnRyb2xsZXIubW0JKHdvcmtpbmcgY29weSkKQEAgLTI4LDEyICsyOCw2
IEBACiAKICNpZiBQTEFURk9STShXQVRDSE9TKQogCi0jaW1wb3J0IDxQZXBwZXJVSUNvcmUvUFVJ
Q0FjdGlvbkNvbnRyb2xsZXIuaD4KLSNpbXBvcnQgPFBlcHBlclVJQ29yZS9QVUlDQWN0aW9uR3Jv
dXAuaD4KLSNpbXBvcnQgPFBlcHBlclVJQ29yZS9QVUlDQXBwbGljYXRpb25fUHJpdmF0ZS5oPgot
I2ltcG9ydCA8UGVwcGVyVUlDb3JlL1BVSUNRdWlja2JvYXJkTGFuZ3VhZ2VDb250cm9sbGVyLmg+
Ci0jaW1wb3J0IDxQZXBwZXJVSUNvcmUvUFVJQ1F1aWNrYm9hcmRWaWV3Q29udHJvbGxlcl9Qcml2
YXRlLmg+Ci0jaW1wb3J0IDxQZXBwZXJVSUNvcmUvUFVJQ1N0YXR1c0JhckFwcENvbnRleHRWaWV3
Lmg+CiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CiAKIHN0YXRpYyBjb25zdCBDR0Zsb2F0IGl0
ZW1DZWxsVG9wVG9MYWJlbEJhc2VsaW5lID0gMjY7CkBAIC04NCw4ICs3OCwxMyBAQCBAaW50ZXJm
YWNlIFdLUXVpY2tib2FyZExpc3RWaWV3Q29udHJvbGxlCiAKIC0gKGluc3RhbmNldHlwZSlpbml0
V2l0aERlbGVnYXRlOihpZCA8V0tRdWlja2JvYXJkVmlld0NvbnRyb2xsZXJEZWxlZ2F0ZT4pZGVs
ZWdhdGUKIHsKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUwpCiAgICAgaWYgKHNlbGYgPSBbc3VwZXIg
aW5pdFdpdGhEZWxlZ2F0ZTpkZWxlZ2F0ZSBkaWN0YXRpb25Nb2RlOlBVSUNEaWN0YXRpb25Nb2Rl
VGV4dF0pCiAgICAgICAgIF9jb250ZXh0Vmlld05lZWRzVXBkYXRlID0gWUVTOworI2Vsc2UKKyAg
ICBpZiAoc2VsZiA9IFtzdXBlciBpbml0V2l0aERlbGVnYXRlOmRlbGVnYXRlXSkKKyAgICAgICAg
X2NvbnRleHRWaWV3TmVlZHNVcGRhdGUgPSBZRVM7CisjZW5kaWYKIAogICAgIHJldHVybiBzZWxm
OwogfQpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLU2VsZWN0TWVu
dUxpc3RWaWV3Q29udHJvbGxlci5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9pb3MvZm9ybXMvV0tTZWxlY3RNZW51TGlzdFZpZXdDb250cm9sbGVyLm1tCShyZXZpc2lv
biAyNjI4NDUpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvZm9ybXMvV0tTZWxlY3RN
ZW51TGlzdFZpZXdDb250cm9sbGVyLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0yOSwxNyArMjksOCBA
QAogI2lmIFBMQVRGT1JNKFdBVENIT1MpCiAKICNpbXBvcnQgIlVJS2l0U1BJLmgiCi0jaW1wb3J0
IDxQZXBwZXJVSUNvcmUvUFVJQ1F1aWNrYm9hcmRMaXN0Vmlld0NvbnRyb2xsZXIuaD4KLSNpbXBv
cnQgPFBlcHBlclVJQ29yZS9QVUlDUXVpY2tib2FyZExpc3RWaWV3Q29udHJvbGxlclN1YmNsYXNz
Lmg+Ci0jaW1wb3J0IDxQZXBwZXJVSUNvcmUvUFVJQ1Jlc291cmNlcy5oPgotI2ltcG9ydCA8UGVw
cGVyVUlDb3JlL1BVSUNUYWJsZVZpZXcuaD4KLSNpbXBvcnQgPFBlcHBlclVJQ29yZS9QVUlDVGFi
bGVWaWV3Q2VsbC5oPgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgogCi0jaWYgSEFWRShRVUlD
S0JPQVJEX0NPTExFQ1RJT05fVklFV1MpCi0jaW1wb3J0IDxQZXBwZXJVSUNvcmUvUFVJQ1F1aWNr
Ym9hcmRMaXN0Q29sbGVjdGlvblZpZXdJdGVtQ2VsbC5oPgotI2VuZGlmCi0KIHN0YXRpYyBjb25z
dCBDR0Zsb2F0IGNoZWNrbWFya0ltYWdlVmlld1dpZHRoID0gMzI7CiBzdGF0aWMgY29uc3QgQ0dG
bG9hdCBzZWxlY3RNZW51SXRlbUhvcml6b250YWxNYXJnaW4gPSA5Owogc3RhdGljIGNvbnN0IENH
RmxvYXQgc2VsZWN0TWVudUl0ZW1DZWxsSGVpZ2h0ID0gNDQ7CkluZGV4OiBTb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9pb3MvZm9ybXMvV0tUZXh0SW5wdXRMaXN0Vmlld0NvbnRyb2xsZXIubW0KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLVGV4dElucHV0
TGlzdFZpZXdDb250cm9sbGVyLm1tCShyZXZpc2lvbiAyNjI4NDUpCisrKyBTb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9pb3MvZm9ybXMvV0tUZXh0SW5wdXRMaXN0Vmlld0NvbnRyb2xsZXIubW0JKHdv
cmtpbmcgY29weSkKQEAgLTI5LDE4ICsyOSw4IEBACiAjaWYgUExBVEZPUk0oV0FUQ0hPUykKIAog
I2ltcG9ydCAiV0tOdW1iZXJQYWRWaWV3Q29udHJvbGxlci5oIgotI2ltcG9ydCA8UGVwcGVyVUlD
b3JlL1BVSUNRdWlja2JvYXJkQXJvdWV0Vmlld0NvbnRyb2xsZXIuaD4KLSNpbXBvcnQgPFBlcHBl
clVJQ29yZS9QVUlDUXVpY2tib2FyZExpc3RWaWV3Q29udHJvbGxlclN1YmNsYXNzLmg+Ci0jaW1w
b3J0IDxQZXBwZXJVSUNvcmUvUFVJQ1F1aWNrYm9hcmRMaXN0Vmlld1NwZWNzLmg+Ci0jaW1wb3J0
IDxQZXBwZXJVSUNvcmUvUFVJQ1Jlc291cmNlcy5oPgotI2ltcG9ydCA8UGVwcGVyVUlDb3JlL1BV
SUNUYWJsZVZpZXcuaD4KLSNpbXBvcnQgPFBlcHBlclVJQ29yZS9QVUlDVGFibGVWaWV3Q2VsbC5o
PgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgogCi0jaWYgSEFWRShRVUlDS0JPQVJEX0NPTExF
Q1RJT05fVklFV1MpCi0jaW1wb3J0IDxQZXBwZXJVSUNvcmUvUFVJQ1F1aWNrYm9hcmRMaXN0Q29s
bGVjdGlvblZpZXdJdGVtQ2VsbC5oPgotI2VuZGlmCi0KIHN0YXRpYyBjb25zdCBDR0Zsb2F0IHRl
eHRTdWdnZXN0aW9uQnV0dG9uSGVpZ2h0ID0gNDQ7CiBzdGF0aWMgY29uc3QgQ0dGbG9hdCB0ZXh0
U3VnZ2VzdGlvbkxhYmVsSG9yaXpvbnRhbE1hcmdpbiA9IDk7CiBzdGF0aWMgTlNTdHJpbmcgKnRl
eHRTdWdnZXN0aW9uQ2VsbFJldXNlSWRlbnRpZmllciA9IEAiV2ViS2l0UXVpY2tib2FyZFRleHRT
dWdnZXN0aW9uQ2VsbCI7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDI2Mjg0NSkKKysrIFNvdXJjZS9XZWJLaXQvV2Vi
S2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTQ2MTMsNiAr
NDYxMyw3IEBACiAJCUFBQjE0NUU1MjIzRjkzMTIwMEU0ODlEOCAvKiBQcmVmZXRjaENhY2hlLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFByZWZldGNoQ2FjaGUuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQUZBNjM0RTIzNEY3QzYzMDBGRkE4NjQg
LyogQXN5bmNSZXZhbGlkYXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
QXN5bmNSZXZhbGlkYXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQUFGQTYz
NTAyMzRGN0M3MzAwRkZBODY0IC8qIEFzeW5jUmV2YWxpZGF0aW9uLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IEFzeW5jUmV2YWxpZGF0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJQUIyNzUwQzAyNDg1OUIxQTAwRjFDOUQ4IC8qIFBlcHBlclVJQ29yZVNQSS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQZXBwZXJVSUNvcmVTUEkuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQjM5NkVBNTUxMkUwRUQyRDAwRjRGRUI3IC8qIGNvbmZpZy5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBjb25maWcuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQjYyRTczMEYxNDMwNDdBNjAwNjlFQzM1IC8qIFdLSGl0VGVzdFJlc3Vs
dC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXS0hpdFRlc3RSZXN1
bHQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCNjJFNzMxMTE0MzA0N0IwMDA2
OUVDMzUgLyogV0tIaXRUZXN0UmVzdWx0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFdLSGl0VGVzdFJlc3VsdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtODcx
MCw2ICs4NzExLDE0IEBACiAJCQlwYXRoID0gaW9zOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsKIAkJfTsKKwkJQUIyNzUwQkQyNDg1ODA5MTAwRjFDOUQ4IC8qIHdhdGNob3MgKi8gPSB7CisJ
CQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCUFCMjc1MEMwMjQ4NTlCMUEw
MEYxQzlEOCAvKiBQZXBwZXJVSUNvcmVTUEkuaCAqLywKKwkJCSk7CisJCQlwYXRoID0gd2F0Y2hv
czsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CiAJCUJDMDE3RDEwMTYyNjBGRkQw
MDcwNTRGNSAvKiBET00gKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0g
KApAQCAtMTAzNjQsNiArMTAzNzMsNyBAQAogCQkJCTM3NTRENTQxMUIzQTI5OTgwMDNBNEM3RiAv
KiBDb2NvYSAqLywKIAkJCQlDRTFBMEJDQjFBNDhFNkM2MDA1NEVGNzQgLyogaW9zICovLAogCQkJ
CUExRTY4ODZFMUY2RTJCODIwMDcwMDZBNiAvKiBtYWMgKi8sCisJCQkJQUIyNzUwQkQyNDg1ODA5
MTAwRjFDOUQ4IC8qIHdhdGNob3MgKi8sCiAJCQkpOwogCQkJcGF0aCA9IHNwaTsKIAkJCXNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>