<?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>184387</bug_id>
          
          <creation_ts>2018-04-07 12:33:37 -0700</creation_ts>
          <short_desc>[iOS] Use PDFKit to render PDFs in WKWebView</short_desc>
          <delta_ts>2018-04-10 12:43:28 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>184410</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Andy Estes">aestes</reporter>
          <assigned_to name="Andy Estes">aestes</assigned_to>
          <cc>andersca</cc>
    
    <cc>bdakin</cc>
    
    <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>dino</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>mitz</cc>
    
    <cc>thorton</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1412631</commentid>
    <comment_count>0</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2018-04-07 12:33:37 -0700</bug_when>
    <thetext>[iOS] Use PDFKit to render PDFs in WKWebView</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1412632</commentid>
    <comment_count>1</comment_count>
      <attachid>337429</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2018-04-07 12:34:53 -0700</bug_when>
    <thetext>Created attachment 337429
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1412677</commentid>
    <comment_count>2</comment_count>
      <attachid>337445</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2018-04-07 22:46:20 -0700</bug_when>
    <thetext>Created attachment 337445
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1412778</commentid>
    <comment_count>3</comment_count>
      <attachid>337472</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2018-04-08 18:03:24 -0700</bug_when>
    <thetext>Created attachment 337472
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1412791</commentid>
    <comment_count>4</comment_count>
      <attachid>337476</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2018-04-08 19:44:00 -0700</bug_when>
    <thetext>Created attachment 337476
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1413350</commentid>
    <comment_count>5</comment_count>
      <attachid>337476</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-04-10 12:42:41 -0700</bug_when>
    <thetext>Comment on attachment 337476
Patch

Clearing flags on attachment: 337476

Committed r230487: &lt;https://trac.webkit.org/changeset/230487&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1413351</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-04-10 12:42:42 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1413352</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-04-10 12:43:28 -0700</bug_when>
    <thetext>&lt;rdar://problem/39323425&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>337429</attachid>
            <date>2018-04-07 12:34:53 -0700</date>
            <delta_ts>2018-04-07 22:46:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-184387-20180407123453.patch</filename>
            <type>text/plain</type>
            <size>24642</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMwMzU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDNlMzg2MGI1MWFkMWRjOWY5ZDVlYjA0
OTBkMGZhYzE1ZjY3YTRjOWUuLmRlZDI1NjZkMGVlMjU3NDZmMGJiMzVhMmQwYTQ4YjQ4NzRhMmIx
ZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTgtMDQtMDcgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNA
YXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIFVzZSBQREZLaXQgdG8gcmVuZGVyIFBERnMgaW4g
V0tXZWJWaWV3CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xODQzODcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIHd0Zi9GZWF0dXJlRGVmaW5lcy5oOgorCiAyMDE4LTA0LTA1ICBZdXN1a2UgU3V6dWtpICA8
dXRhdGFuZS50ZWFAZ21haWwuY29tPgogCiAgICAgICAgIFtXVEZdIFJlbW92ZSBTdGF0aWNMb2Nr
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nCmluZGV4IGZlYjVjNmZmYzNkNWY3ZDFjZjJiNDViMjY0ODAyMDllZjQ0NDQxMDAuLmNl
MzYzOWMzMWVkYjdmM2UxMTIzMmQxNmYyMGFmMzJlYmJjOTcxYTAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsNDAgQEAKKzIwMTgtMDQtMDcgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgorCisg
ICAgICAgIFtpT1NdIFVzZSBQREZLaXQgdG8gcmVuZGVyIFBERnMgaW4gV0tXZWJWaWV3CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODQzODcKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENvbmZpZ3VyYXRp
b25zL1dlYktpdC54Y2NvbmZpZzoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vi
Vmlldy5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9jdXJyZW50Q29udGVudFZpZXddKToKKyAg
ICAgICAgKC1bV0tXZWJWaWV3IHZpZXdGb3Jab29taW5nSW5TY3JvbGxWaWV3Ol0pOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9Db2NvYS9XS1dlYlZpZXdDb250ZW50UHJvdmlkZXIuaDoKKyAgICAgICAg
KiBVSVByb2Nlc3MvQ29jb2EvV0tXZWJWaWV3Q29udGVudFByb3ZpZGVyUmVnaXN0cnkubW06Cisg
ICAgICAgICgtW1dLV2ViVmlld0NvbnRlbnRQcm92aWRlclJlZ2lzdHJ5IGluaXRdKToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvaW9zL1dLTGVnYWN5UERGVmlldy5oOgorICAgICAgICAqIFVJUHJvY2Vz
cy9pb3MvV0tMZWdhY3lQREZWaWV3Lm1tOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tQREZW
aWV3Lmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0xlZ2FjeVBE
RlZpZXcuaC4KKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLUERGVmlldy5tbTogQWRkZWQuCisg
ICAgICAgICgtW1dLUERGVmlldyB3ZWJfaW5pdFdpdGhGcmFtZTp3ZWJWaWV3Ol0pOgorICAgICAg
ICAoLVtXS1BERlZpZXcgd2ViX2NvbXB1dGVkQ29udGVudEluc2V0RGlkQ2hhbmdlXSk6CisgICAg
ICAgIChwcmVzZW50aW5nVmlld0NvbnRyb2xsZXIpOgorICAgICAgICAoLVtXS1BERlZpZXcgd2Vi
X3NldENvbnRlbnRQcm92aWRlckRhdGE6c3VnZ2VzdGVkRmlsZW5hbWU6XSk6CisgICAgICAgICgt
W1dLUERGVmlldyB3ZWJfc2V0Rml4ZWRPdmVybGF5VmlldzpdKToKKyAgICAgICAgKC1bV0tQREZW
aWV3IHdlYl9zZXRNaW5pbXVtU2l6ZTpdKToKKyAgICAgICAgKC1bV0tQREZWaWV3IHdlYl9zZXRP
dmVybGFpZEFjY2Vzc29yeVZpZXdzSW5zZXQ6XSk6CisgICAgICAgICgtW1dLUERGVmlldyB3ZWJf
ZGlkU2FtZURvY3VtZW50TmF2aWdhdGlvbjpdKToKKyAgICAgICAgKC1bV0tQREZWaWV3IHdlYl9z
Y3JvbGxWaWV3RGlkU2Nyb2xsOl0pOgorICAgICAgICAoLVtXS1BERlZpZXcgd2ViX2NvdW50U3Ry
aW5nTWF0Y2hlczpvcHRpb25zOm1heENvdW50Ol0pOgorICAgICAgICAoLVtXS1BERlZpZXcgd2Vi
X2ZpbmRTdHJpbmc6b3B0aW9uczptYXhDb3VudDpdKToKKyAgICAgICAgKC1bV0tQREZWaWV3IHdl
Yl9oaWRlRmluZFVJXSk6CisgICAgICAgICgtW1dLUERGVmlldyB3ZWJfaXNCYWNrZ3JvdW5kXSk6
CisgICAgICAgICgtW1dLUERGVmlldyBnZXN0dXJlUmVjb2duaXplclNob3VsZEJlZ2luOl0pOgor
ICAgICAgICAoLVtXS1BERlZpZXcgd2ViX2NvbnRlbnRWaWV3XSk6CisgICAgICAgICogVUlQcm9j
ZXNzL2lvcy9XS1Njcm9sbFZpZXcubW06CisgICAgICAgICgtW1dLU2Nyb2xsVmlldyBzZXRDb250
ZW50U2l6ZTpdKToKKyAgICAgICAgKiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoK
KwogMjAxOC0wNC0wNSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAg
ICAgUkVHUkVTU0lPTiAocjIzMDIyMyk6IExheW91dFRlc3QgaHR0cC90ZXN0cy9jb250ZW50ZXh0
ZW5zaW9ucy9jc3MtZGlzcGxheS1ub25lLW92ZXJmbG93cy1ydWxlLWRhdGEtMS5odG1sIGlzIGNy
YXNoaW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9GZWF0dXJlRGVmaW5lcy5oIGIvU291
cmNlL1dURi93dGYvRmVhdHVyZURlZmluZXMuaAppbmRleCBiMzk3NmU3YWY0MjNlZDEyMmU1NjE0
OWUwODA0MTFjZDczYWEwYjAzLi4wNGUxNmEwZGYwZTNiNDMxMzU5ZjJmNWI3ZmEyODkzNzc1NmI5
NjAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9GZWF0dXJlRGVmaW5lcy5oCisrKyBiL1Nv
dXJjZS9XVEYvd3RmL0ZlYXR1cmVEZWZpbmVzLmgKQEAgLTE2Niw4ICsxNjYsMTQgQEAgdGhlIHB1
YmxpYyBpT1MgU0RLLiBTZWUgPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzE3OTE2Nz4uICovCiAjZGVm
aW5lIEVOQUJMRV9ET1dOTE9BRF9BVFRSSUJVVEUgMAogI2VuZGlmCiAKKyNpZiAhZGVmaW5lZChF
TkFCTEVfV0tMRUdBQ1lQREZWSUVXKQorI2lmIFBMQVRGT1JNKElPUykgJiYgIVBMQVRGT1JNKFdB
VENIT1MpICYmICFQTEFURk9STShBUFBMRVRWKSAmJiAhRU5BQkxFKE1JTklNQUxfU0lNVUxBVE9S
KQorI2RlZmluZSBFTkFCTEVfV0tMRUdBQ1lQREZWSUVXIDEKKyNlbmRpZgorI2VuZGlmCisKICNp
ZiAhZGVmaW5lZChFTkFCTEVfV0tQREZWSUVXKQotI2lmICFQTEFURk9STShXQVRDSE9TKSAmJiAh
UExBVEZPUk0oQVBQTEVUVikgJiYgIUVOQUJMRShNSU5JTUFMX1NJTVVMQVRPUikKKyNpZiBQTEFU
Rk9STShJT1MpICYmICFQTEFURk9STShXQVRDSE9TKSAmJiAhUExBVEZPUk0oQVBQTEVUVikgJiYg
IUVOQUJMRShNSU5JTUFMX1NJTVVMQVRPUikgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVR
VUlSRUQgPj0gMTIwMDAwCiAjZGVmaW5lIEVOQUJMRV9XS1BERlZJRVcgMQogI2VuZGlmCiAjZW5k
aWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMvV2ViS2l0LnhjY29u
ZmlnIGIvU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9XZWJLaXQueGNjb25maWcKaW5kZXgg
YjkwMjFhMWFhYzg3OTg4OGQ2ZmFkNjBjY2FlYTdmMGM4YjdhNDEyNC4uMGFmMmIxZTBiYWI3YjU0
MzBmMDAyOGNiMmM1OGRiYjQ0YmU4ODlkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9Db25m
aWd1cmF0aW9ucy9XZWJLaXQueGNjb25maWcKKysrIGIvU291cmNlL1dlYktpdC9Db25maWd1cmF0
aW9ucy9XZWJLaXQueGNjb25maWcKQEAgLTkwLDYgKzkwLDEyIEBAIFdLX09QRU5HTF9MREZMQUdT
X2FwcGxldHZvcyA9ICQoV0tfT1BFTkdMX0xERkxBR1NfaXBob25lb3MpOwogV0tfT1BFTkdMX0xE
RkxBR1NfYXBwbGV0dnNpbXVsYXRvciA9ICQoV0tfT1BFTkdMX0xERkxBR1NfaXBob25lc2ltdWxh
dG9yKTsKIFdLX09QRU5HTF9MREZMQUdTX21hY29zeCA9IC1mcmFtZXdvcmsgT3BlbkdMOwogCitX
S19QREZLSVRfTERGTEFHUyA9ICQoV0tfUERGS0lUX0xERkxBR1NfJChXS19QTEFURk9STV9OQU1F
KSk7CitXS19QREZLSVRfTERGTEFHU19pcGhvbmVvcyA9IC1mcmFtZXdvcmsgUERGS2l0OworV0tf
UERGS0lUX0xERkxBR1NfaXBob25lc2ltdWxhdG9yID0gLWZyYW1ld29yayBQREZLaXQ7CitXS19Q
REZLSVRfTERGTEFHU19pcGhvbmVvc1tzZGs9aXBob25lKjExLipdID0gOworV0tfUERGS0lUX0xE
RkxBR1NfaXBob25lc2ltdWxhdG9yW3Nkaz1pcGhvbmUqMTEuKl0gPSA7CisKIFdLX1NBRkVfQlJP
V1NJTkdfTERGTEFHUyA9ICQoV0tfU0FGRV9CUk9XU0lOR19MREZMQUdTXyQoV0tfUExBVEZPUk1f
TkFNRSkpOwogV0tfU0FGRV9CUk9XU0lOR19MREZMQUdTX2lwaG9uZW9zID0gLWZyYW1ld29yayBT
YWZhcmlTYWZlQnJvd3Npbmc7CiBXS19TQUZFX0JST1dTSU5HX0xERkxBR1NfaXBob25lc2ltdWxh
dG9yID0gLWZyYW1ld29yayBTYWZhcmlTYWZlQnJvd3Npbmc7CkBAIC0xMDEsNyArMTA3LDcgQEAg
V0tfU0FGRV9CUk9XU0lOR19MREZMQUdTX01BQ09TX1NJTkNFXzEwMTMgPSAtd2Vha19mcmFtZXdv
cmsgU2FmYXJpU2FmZUJyb3dzaW5nOwogV0tfVUlLSVRfTERGTEFHUyA9ICQoV0tfVUlLSVRfTERG
TEFHU18kKFdLX0NPQ09BX1RPVUNIKSk7CiBXS19VSUtJVF9MREZMQUdTX2NvY29hdG91Y2ggPSAt
ZnJhbWV3b3JrIFVJS2l0OwogCi1GUkFNRVdPUktfQU5EX0xJQlJBUllfTERGTEFHUyA9IC1sb2Jq
YyAtZnJhbWV3b3JrIENGTmV0d29yayAtZnJhbWV3b3JrIENvcmVBdWRpbyAtZnJhbWV3b3JrIENv
cmVGb3VuZGF0aW9uIC1mcmFtZXdvcmsgQ29yZUdyYXBoaWNzIC1mcmFtZXdvcmsgQ29yZVRleHQg
LWZyYW1ld29yayBGb3VuZGF0aW9uIC1mcmFtZXdvcmsgSW1hZ2VJTyAtZnJhbWV3b3JrIElPS2l0
IC1mcmFtZXdvcmsgV2ViS2l0TGVnYWN5ICQoV0tfQUNDRVNTSUJJTElUWV9MREZMQUdTKSAkKFdL
X0FQUEtJVF9MREZMQUdTKSAkKFdLX0FTU0VSVElPTl9TRVJWSUNFU19MREZMQUdTKSAkKFdLX0NB
UkJPTl9MREZMQUdTKSAkKFdLX0NPUkVfUERGX0xERkxBR1MpICQoV0tfQ09SRV9QUkVESUNUSU9O
X0xERkxBR1MpICQoV0tfQ09SRV9TRVJWSUNFU19MREZMQUdTKSAkKFdLX0dSQVBISUNTX1NFUlZJ
Q0VTX0xERkxBR1MpICQoV0tfSU9TVVJGQUNFX0xERkxBR1MpICQoV0tfTElCV0VCUlRDX0xERkxB
R1MpICQoV0tfTU9CSUxFX0NPUkVfU0VSVklDRVNfTERGTEFHUykgJChXS19NT0JJTEVfR0VTVEFM
VF9MREZMQUdTKSAkKFdLX09QRU5HTF9MREZMQUdTKSAkKFdLX1NBRkVfQlJPV1NJTkdfTERGTEFH
UykgJChXS19VSUtJVF9MREZMQUdTKTsKK0ZSQU1FV09SS19BTkRfTElCUkFSWV9MREZMQUdTID0g
LWxvYmpjIC1mcmFtZXdvcmsgQ0ZOZXR3b3JrIC1mcmFtZXdvcmsgQ29yZUF1ZGlvIC1mcmFtZXdv
cmsgQ29yZUZvdW5kYXRpb24gLWZyYW1ld29yayBDb3JlR3JhcGhpY3MgLWZyYW1ld29yayBDb3Jl
VGV4dCAtZnJhbWV3b3JrIEZvdW5kYXRpb24gLWZyYW1ld29yayBJbWFnZUlPIC1mcmFtZXdvcmsg
SU9LaXQgLWZyYW1ld29yayBXZWJLaXRMZWdhY3kgJChXS19BQ0NFU1NJQklMSVRZX0xERkxBR1Mp
ICQoV0tfQVBQS0lUX0xERkxBR1MpICQoV0tfQVNTRVJUSU9OX1NFUlZJQ0VTX0xERkxBR1MpICQo
V0tfQ0FSQk9OX0xERkxBR1MpICQoV0tfQ09SRV9QREZfTERGTEFHUykgJChXS19DT1JFX1BSRURJ
Q1RJT05fTERGTEFHUykgJChXS19DT1JFX1NFUlZJQ0VTX0xERkxBR1MpICQoV0tfR1JBUEhJQ1Nf
U0VSVklDRVNfTERGTEFHUykgJChXS19JT1NVUkZBQ0VfTERGTEFHUykgJChXS19MSUJXRUJSVENf
TERGTEFHUykgJChXS19NT0JJTEVfQ09SRV9TRVJWSUNFU19MREZMQUdTKSAkKFdLX01PQklMRV9H
RVNUQUxUX0xERkxBR1MpICQoV0tfT1BFTkdMX0xERkxBR1MpICQoV0tfUERGS0lUX0xERkxBR1Mp
ICQoV0tfU0FGRV9CUk9XU0lOR19MREZMQUdTKSAkKFdLX1VJS0lUX0xERkxBR1MpOwogCiAvLyBQ
cmV2ZW50IEMrKyBzdGFuZGFyZCBsaWJyYXJ5IG9wZXJhdG9yIG5ldywgZGVsZXRlIGFuZCB0aGVp
ciByZWxhdGVkIGV4Y2VwdGlvbiB0eXBlcyBmcm9tIGJlaW5nIGV4cG9ydGVkIGFzIHdlYWsgc3lt
Ym9scy4KIFVORVhQT1JURURfU1lNQk9MX0xERkxBR1MgPSAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9s
IC1XbCxfX1pUSVN0OWJhZF9hbGxvYyAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pUSVN0
OWV4Y2VwdGlvbiAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pUU1N0OWJhZF9hbGxvYyAt
V2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pUU1N0OWV4Y2VwdGlvbiAtV2wsLXVuZXhwb3J0
ZWRfc3ltYm9sIC1XbCxfX1pkbFB2U18gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19abndt
UHYgLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19abndtIC1XbCwtdW5leHBvcnRlZF9zeW1i
b2wsIC1XbCxfX1pOU3QzX18xOGZ1bmN0aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25FRUVD
MkVPUzRfIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wsIC1XbCxfX1pOU3QzX18xOGZ1bmN0aW9uSUZ2
TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25FRUVDMUVPUzRfIC1XbCwtdW5leHBvcnRlZF9zeW1ib2ws
IC1XbCxfX1pOU3QzX18xOGZ1bmN0aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25FRUVhU0VE
biAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sLCAtV2wsX19aTktTdDNfXzE4ZnVuY3Rpb25JRnZON1dl
YkNvcmUxMlBvbGljeUFjdGlvbkVFRWNsRVMyXyAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sLCAtV2ws
X19aTlN0M19fMThmdW5jdGlvbklGdk43V2ViQ29yZTEyUG9saWN5QWN0aW9uRUVFNHN3YXBFUlM0
XyAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sLCAtV2wsX19aTlN0M19fMThmdW5jdGlvbklGdk43V2Vi
Q29yZTEyUG9saWN5QWN0aW9uRUVFQzFFUktTNF8gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCwgLVds
LF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBvbGljeUFjdGlvbkVFRUMyRVJLUzRf
IC1XbCwtdW5leHBvcnRlZF9zeW1ib2wsIC1XbCxfX1pOU3QzX18xOGZ1bmN0aW9uSUZ2TjdXZWJD
b3JlMTJQb2xpY3lBY3Rpb25FRUVEMUV2IC1XbCwtdW5leHBvcnRlZF9zeW1ib2wsIC1XbCxfX1pO
U3QzX18xOGZ1bmN0aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25FRUVEMkV2IC1XbCwtdW5l
eHBvcnRlZF9zeW1ib2wsIC1XbCxfX1pOU3QzX18xOGZ1bmN0aW9uSUZ2TjdXZWJDb3JlMTJQb2xp
Y3lBY3Rpb25FRUVhU0VSS1M0XyAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sLCAtV2wsX19aVFZOU3Qz
X18xMTdiYWRfZnVuY3Rpb25fY2FsbEU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLV2ViVmlldy5tbQppbmRleCBjYTI4Y2E4MWEyNTJlOWJhOWQyNmFlZThlNDhjMDdk
ODdmNjljOGVkLi4wMjRhY2U4OWY0NmYzOTQ1ZGMzNzkxMGRhYjg5ZjkxYjU0NWVhNDdhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KQEAgLTE0
MjIsNyArMTQyMiwxMyBAQCBzdGF0aWMgQ0dTaXplIHJvdW5kU2Nyb2xsVmlld0NvbnRlbnRTaXpl
KGNvbnN0IFdlYktpdDo6V2ViUGFnZVByb3h5JiBwYWdlLCBDR1NpegogCiAtIChVSVZpZXcgKilf
Y3VycmVudENvbnRlbnRWaWV3CiB7Ci0gICAgcmV0dXJuIF9jdXN0b21Db250ZW50VmlldyA/IF9j
dXN0b21Db250ZW50Vmlldy5nZXQoKSA6IF9jb250ZW50Vmlldy5nZXQoKTsKKyAgICBpZiAoIV9j
dXN0b21Db250ZW50VmlldykKKyAgICAgICAgcmV0dXJuIF9jb250ZW50Vmlldy5nZXQoKTsKKwor
ICAgIGlmIChbX2N1c3RvbUNvbnRlbnRWaWV3IHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Io
d2ViX2NvbnRlbnRWaWV3KV0pCisgICAgICAgIHJldHVybiBbX2N1c3RvbUNvbnRlbnRWaWV3IHdl
Yl9jb250ZW50Vmlld107CisKKyAgICByZXR1cm4gX2N1c3RvbUNvbnRlbnRWaWV3LmdldCgpOwog
fQogCiAtIChXS1dlYlZpZXdDb250ZW50UHJvdmlkZXJSZWdpc3RyeSAqKV9jb250ZW50UHJvdmlk
ZXJSZWdpc3RyeQpAQCAtMjM0OCwxMSArMjM1NCw3IEBAIC0gKENHU2l6ZSlzY3JvbGxWaWV3OihV
SVNjcm9sbFZpZXcqKXNjcm9sbFZpZXcgY29udGVudFNpemVGb3Jab29tU2NhbGU6KENHRmxvYXQp
CiAtIChVSVZpZXcgKil2aWV3Rm9yWm9vbWluZ0luU2Nyb2xsVmlldzooVUlTY3JvbGxWaWV3ICop
c2Nyb2xsVmlldwogewogICAgIEFTU0VSVChfc2Nyb2xsVmlldyA9PSBzY3JvbGxWaWV3KTsKLQot
ICAgIGlmIChfY3VzdG9tQ29udGVudFZpZXcpCi0gICAgICAgIHJldHVybiBfY3VzdG9tQ29udGVu
dFZpZXcuZ2V0KCk7Ci0KLSAgICByZXR1cm4gX2NvbnRlbnRWaWV3LmdldCgpOworICAgIHJldHVy
biBzZWxmLl9jdXJyZW50Q29udGVudFZpZXc7CiB9CiAKIC0gKHZvaWQpc2Nyb2xsVmlld1dpbGxC
ZWdpblpvb21pbmc6KFVJU2Nyb2xsVmlldyAqKXNjcm9sbFZpZXcgd2l0aFZpZXc6KFVJVmlldyAq
KXZpZXcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dLV2ViVmll
d0NvbnRlbnRQcm92aWRlci5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV0tXZWJW
aWV3Q29udGVudFByb3ZpZGVyLmgKaW5kZXggMGRlMWE5YjhkNTE5NGEzMzk2OTY4MjE4ODBkMmNm
MjlhZDViM2UxZi4uN2Y4OWQzZmI0ZDhjZjJkYzQ3ZDMxNmI2Zjk0MTFhYTcwNzEwMDIxNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV0tXZWJWaWV3Q29udGVudFBy
b3ZpZGVyLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV0tXZWJWaWV3Q29u
dGVudFByb3ZpZGVyLmgKQEAgLTU4LDcgKzU4LDcgQEAgc3RydWN0IFVJRWRnZUluc2V0czsKIEBw
cm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgTlNEYXRhICp3ZWJfZGF0YVJlcHJlc2VudGF0
aW9uOwogQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBOU1N0cmluZyAqd2ViX3N1Z2dl
c3RlZEZpbGVuYW1lOwogQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBCT09MIHdlYl9p
c0JhY2tncm91bmQ7Ci0KK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgVUlWaWV3ICp3
ZWJfY29udGVudFZpZXc7CiBAZW5kCiAKICNlbmRpZiAvLyBQTEFURk9STShJT1MpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XS1dlYlZpZXdDb250ZW50UHJvdmlk
ZXJSZWdpc3RyeS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dLV2ViVmlld0Nv
bnRlbnRQcm92aWRlclJlZ2lzdHJ5Lm1tCmluZGV4IGRjODFmNTMxZWUyMTJhMzNjNTU4OWVlMmUz
MzA2ZDU4YzkwZWMzZjAuLjIzODkxZmZjNTE4YzQxZjE2Y2Y3Yjg0NzA1ODlmMzYxZDhmNmJlYTgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dLV2ViVmlld0NvbnRl
bnRQcm92aWRlclJlZ2lzdHJ5Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29h
L1dLV2ViVmlld0NvbnRlbnRQcm92aWRlclJlZ2lzdHJ5Lm1tCkBAIC0zMSw2ICszMSw3IEBACiAj
aWYgUExBVEZPUk0oSU9TKQogCiAjaW1wb3J0ICJXS0xlZ2FjeVBERlZpZXcuaCIKKyNpbXBvcnQg
IldLUERGVmlldy5oIgogI2ltcG9ydCAiV0tTeXN0ZW1QcmV2aWV3Vmlldy5oIgogI2ltcG9ydCAi
V0tXZWJWaWV3SW50ZXJuYWwuaCIKICNpbXBvcnQgIldlYlBhZ2VQcm94eS5oIgpAQCAtNTcsNiAr
NTgsOSBAQCAtIChpbnN0YW5jZXR5cGUpaW5pdAogICAgICAgICByZXR1cm4gbmlsOwogCiAjaWYg
RU5BQkxFKFdLUERGVklFVykKKyAgICBmb3IgKGF1dG8mIG1pbWVUeXBlIDogV2ViQ29yZTo6TUlN
RVR5cGVSZWdpc3RyeTo6Z2V0UERGTUlNRVR5cGVzKCkpCisgICAgICAgIFtzZWxmIHJlZ2lzdGVy
UHJvdmlkZXI6W1dLUERGVmlldyBjbGFzc10gZm9yTUlNRVR5cGU6bWltZVR5cGVdOworI2VsaWYg
RU5BQkxFKFdLTEVHQUNZUERGVklFVykKICAgICBmb3IgKGF1dG8mIG1pbWVUeXBlIDogV2ViQ29y
ZTo6TUlNRVR5cGVSZWdpc3RyeTo6Z2V0UERGTUlNRVR5cGVzKCkpCiAgICAgICAgIFtzZWxmIHJl
Z2lzdGVyUHJvdmlkZXI6W1dLTGVnYWN5UERGVmlldyBjbGFzc10gZm9yTUlNRVR5cGU6bWltZVR5
cGVdOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tM
ZWdhY3lQREZWaWV3LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tMZWdhY3lQREZW
aWV3LmgKaW5kZXggZGIyMzlmMmI5OTQ0YmYyZWIxYjdiMjE5NzdkY2IzZWEzNDlkOGVlNC4uYjYz
Y2M5OWRmOGFmMmYyNDYyNGNkN2ZjYzQ3NTZiYTNmN2FhOWY1OCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLTGVnYWN5UERGVmlldy5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL2lvcy9XS0xlZ2FjeVBERlZpZXcuaApAQCAtMjMsNyArMjMsNyBAQAogICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLSNpZiBQTEFURk9STShJT1Mp
ICYmIEVOQUJMRShXS1BERlZJRVcpCisjaWYgRU5BQkxFKFdLTEVHQUNZUERGVklFVykKIAogI2lt
cG9ydCAiQ29yZVBERlNQSS5oIgogI2ltcG9ydCAiV0tBY3Rpb25TaGVldEFzc2lzdGFudC5oIgpA
QCAtMzIsNCArMzIsNCBAQAogQGludGVyZmFjZSBXS0xlZ2FjeVBERlZpZXcgOiBVSVZpZXcgPFdL
V2ViVmlld0NvbnRlbnRQcm92aWRlciwgVUlQREZQYWdlVmlld0RlbGVnYXRlLCBVSVBERkFubm90
YXRpb25Db250cm9sbGVyRGVsZWdhdGUsIFdLQWN0aW9uU2hlZXRBc3Npc3RhbnREZWxlZ2F0ZT4K
IEBlbmQKIAotI2VuZGlmIC8vIFBMQVRGT1JNKElPUykgJiYgRU5BQkxFKFdLUERGVklFVykKKyNl
bmRpZiAvLyBFTkFCTEUoV0tMRUdBQ1lQREZWSUVXKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvaW9zL1dLTGVnYWN5UERGVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL2lvcy9XS0xlZ2FjeVBERlZpZXcubW0KaW5kZXggNjk2OTI5NGJiMTkzNDQ4MGY3ZDQwY2M2
MmI2M2I0YTliMGE3ODMwYy4uY2MwZmRmMTZmMjk2ODU1Mjg1M2Q1NzZhZDc2YjJiMzk3YzNiNWZk
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLTGVnYWN5UERGVmll
dy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tMZWdhY3lQREZWaWV3Lm1t
CkBAIC0yNiw3ICsyNiw3IEBACiAjaW1wb3J0ICJjb25maWcuaCIKICNpbXBvcnQgIldLTGVnYWN5
UERGVmlldy5oIgogCi0jaWYgUExBVEZPUk0oSU9TKSAmJiBFTkFCTEUoV0tQREZWSUVXKQorI2lm
IEVOQUJMRShXS0xFR0FDWVBERlZJRVcpCiAKICNpbXBvcnQgIkFQSUZpbmRDbGllbnQuaCIKICNp
bXBvcnQgIkFQSVVJQ2xpZW50LmgiCkBAIC04OTcsNCArODk3LDQgQEAgQGVuZAogCiAjcHJhZ21h
IGNsYW5nIGRpYWdub3N0aWMgcG9wCiAKLSNlbmRpZiAvLyBQTEFURk9STShJT1MpICYmIEVOQUJM
RShXS1BERlZJRVcpCisjZW5kaWYgLy8gRU5BQkxFKFdLTEVHQUNZUERGVklFVykKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS1BERlZpZXcuaCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL2lvcy9XS1BERlZpZXcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wNjc5OWNkOTFiMTE2ZDBm
OGQ1ZGVjZjdmY2Y4ODI4OGZmYTBiY2RiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvaW9zL1dLUERGVmlldy5oCkBAIC0wLDAgKzEsMzUgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICog
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjaWYgRU5BQkxFKFdLUERGVklFVykKKworI2ltcG9ydCAiV0tXZWJWaWV3Q29udGVudFByb3Zp
ZGVyLmgiCisjaW1wb3J0IDxVSUtpdC9VSUtpdC5oPgorCitAaW50ZXJmYWNlIFdLUERGVmlldyA6
IFVJVmlldyA8V0tXZWJWaWV3Q29udGVudFByb3ZpZGVyPgorCitAZW5kCisKKyNlbmRpZiAvLyBF
TkFCTEUoV0tQREZWSUVXKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9z
L1dLUERGVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS1BERlZpZXcubW0K
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMDA0OGMwOGExZGYwN2VjYjQ4MzIxODYzZTQ5MzA5MzQ2NmUxZWYyMgotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS1BERlZpZXcubW0K
QEAgLTAsMCArMSwxNjcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTggQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0ICJjb25maWcuaCIKKyNpbXBv
cnQgIldLUERGVmlldy5oIgorCisjaWYgRU5BQkxFKFdLUERGVklFVykKKworI2ltcG9ydCAiVUlE
ZWxlZ2F0ZS5oIgorI2ltcG9ydCAiV0tXZWJWaWV3SW50ZXJuYWwuaCIKKyNpbXBvcnQgIldlYWtP
YmpDUHRyLmgiCisjaW1wb3J0ICJXZWJQYWdlUHJveHkuaCIKKyNpbXBvcnQgPFBERktpdC9QREZI
b3N0Vmlld0NvbnRyb2xsZXIuaD4KKyNpbXBvcnQgPHd0Zi9NYWluVGhyZWFkLmg+CisjaW1wb3J0
IDx3dGYvUmV0YWluUHRyLmg+CisKK3VzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CisKK2NvbnN0IENH
RmxvYXQgcGRmTWluaW11bVpvb21TY2FsZSA9IDE7Citjb25zdCBDR0Zsb2F0IHBkZk1heGltdW1a
b29tU2NhbGUgPSA1OworCitAaW50ZXJmYWNlIFdLUERGVmlldyAoKSA8UERGSG9zdFZpZXdDb250
cm9sbGVyRGVsZWdhdGU+CitAZW5kCisKK0BpbXBsZW1lbnRhdGlvbiBXS1BERlZpZXcgeworICAg
IFdlYWtPYmpDUHRyPFdLV2ViVmlldz4gX3dlYlZpZXc7CisgICAgUmV0YWluUHRyPFBERkhvc3RW
aWV3Q29udHJvbGxlcj4gX2hvc3RWaWV3Q29udHJvbGxlcjsKKyAgICBDR1NpemUgX21pbmltdW1T
aXplOworfQorCistIChpbnN0YW5jZXR5cGUpd2ViX2luaXRXaXRoRnJhbWU6KENHUmVjdClmcmFt
ZSB3ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3Cit7CisgICAgaWYgKCEoc2VsZiA9IFtzdXBl
ciBpbml0V2l0aEZyYW1lOmZyYW1lXSkpCisgICAgICAgIHJldHVybiBuaWw7CisKKyAgICBVSVNj
cm9sbFZpZXcgKnNjcm9sbFZpZXcgPSB3ZWJWaWV3LnNjcm9sbFZpZXc7CisgICAgc2Nyb2xsVmll
dy5taW5pbXVtWm9vbVNjYWxlID0gcGRmTWluaW11bVpvb21TY2FsZTsKKyAgICBzY3JvbGxWaWV3
Lm1heGltdW1ab29tU2NhbGUgPSBwZGZNYXhpbXVtWm9vbVNjYWxlOworICAgIHNjcm9sbFZpZXcu
YmFja2dyb3VuZENvbG9yID0gVUlDb2xvci5ncmF5Q29sb3I7CisKKyAgICBfd2ViVmlldyA9IHdl
YlZpZXc7CisgICAgcmV0dXJuIHNlbGY7Cit9CisKKy0gKHZvaWQpd2ViX2NvbXB1dGVkQ29udGVu
dEluc2V0RGlkQ2hhbmdlCit7Cit9CisKK3N0YXRpYyBVSVZpZXdDb250cm9sbGVyICpwcmVzZW50
aW5nVmlld0NvbnRyb2xsZXIoV0tXZWJWaWV3ICp3ZWJWaWV3KQoreworICAgIFVJVmlld0NvbnRy
b2xsZXIgKnZpZXdDb250cm9sbGVyID0gd2ViVmlldy0+X3BhZ2UtPnVpQ2xpZW50KCkucHJlc2Vu
dGluZ1ZpZXdDb250cm9sbGVyKCk7CisgICAgaWYgKHZpZXdDb250cm9sbGVyKQorICAgICAgICBy
ZXR1cm4gdmlld0NvbnRyb2xsZXI7CisKKyAgICBmb3IgKFVJVmlldyAqY3VycmVudFZpZXcgPSB3
ZWJWaWV3OyBjdXJyZW50VmlldzsgY3VycmVudFZpZXcgPSBjdXJyZW50Vmlldy5zdXBlcnZpZXcp
IHsKKyAgICAgICAgaWYgKFVJVmlld0NvbnRyb2xsZXIgKnZpZXdDb250cm9sbGVyID0gW1VJVmll
d0NvbnRyb2xsZXIgdmlld0NvbnRyb2xsZXJGb3JWaWV3OmN1cnJlbnRWaWV3XSkKKyAgICAgICAg
ICAgIHJldHVybiB2aWV3Q29udHJvbGxlcjsKKyAgICB9CisKKyAgICByZXR1cm4gbmlsOworfQor
CistICh2b2lkKXdlYl9zZXRDb250ZW50UHJvdmlkZXJEYXRhOihOU0RhdGEgKilkYXRhIHN1Z2dl
c3RlZEZpbGVuYW1lOihOU1N0cmluZyAqKWZpbGVuYW1lCit7CisgICAgW1BERkhvc3RWaWV3Q29u
dHJvbGxlciBjcmVhdGVIb3N0VmlldzpeKFBERkhvc3RWaWV3Q29udHJvbGxlciAqIF9OdWxsYWJs
ZSBob3N0Vmlld0NvbnRyb2xsZXIpIHsKKyAgICAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsK
KyAgICAgICAgaWYgKCFob3N0Vmlld0NvbnRyb2xsZXIpCisgICAgICAgICAgICByZXR1cm47CisK
KyAgICAgICAgV0tXZWJWaWV3ICp3ZWJWaWV3ID0gX3dlYlZpZXcuZ2V0QXV0b3JlbGVhc2VkKCk7
CisgICAgICAgIGlmICghX3dlYlZpZXcpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAg
VUlWaWV3Q29udHJvbGxlciAqcHJlc2VudGluZ1ZpZXdDb250cm9sbGVyID0gOjpwcmVzZW50aW5n
Vmlld0NvbnRyb2xsZXIod2ViVmlldyk7CisgICAgICAgIGlmICghcHJlc2VudGluZ1ZpZXdDb250
cm9sbGVyKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIGhvc3RWaWV3Q29udHJvbGxl
ci5kZWxlZ2F0ZSA9IHNlbGY7CisgICAgICAgIFtwcmVzZW50aW5nVmlld0NvbnRyb2xsZXIgYWRk
Q2hpbGRWaWV3Q29udHJvbGxlcjpob3N0Vmlld0NvbnRyb2xsZXJdOworICAgICAgICBfaG9zdFZp
ZXdDb250cm9sbGVyID0gaG9zdFZpZXdDb250cm9sbGVyOworCisgICAgICAgIFVJVmlldyAqaG9z
dFZpZXcgPSBob3N0Vmlld0NvbnRyb2xsZXIudmlldzsKKyAgICAgICAgaG9zdFZpZXcuZnJhbWUg
PSB3ZWJWaWV3LnNjcm9sbFZpZXcuYm91bmRzOworICAgICAgICBbc2VsZiBhZGRTdWJ2aWV3Omhv
c3RWaWV3XTsKKworICAgICAgICBbaG9zdFZpZXdDb250cm9sbGVyIHNldERvY3VtZW50RGF0YTpk
YXRhIHdpdGhTY3JvbGxWaWV3OndlYlZpZXcuc2Nyb2xsVmlld107CisgICAgfSBmb3JFeHRlbnNp
b25JZGVudGlmaWVyOm5pbF07Cit9CisKKy0gKHZvaWQpd2ViX3NldEZpeGVkT3ZlcmxheVZpZXc6
KFVJVmlldyAqKWZpeGVkT3ZlcmxheVZpZXcKK3sKK30KKworLSAodm9pZCl3ZWJfc2V0TWluaW11
bVNpemU6KENHU2l6ZSlzaXplCit7CisgICAgX21pbmltdW1TaXplID0gc2l6ZTsKKyAgICBDR1Jl
Y3QgZnJhbWUgPSBbW19ob3N0Vmlld0NvbnRyb2xsZXIgdmlld10gZnJhbWVdOworICAgIGZyYW1l
LnNpemUgPSBzaXplOworICAgIFtbX2hvc3RWaWV3Q29udHJvbGxlciB2aWV3XSBzZXRGcmFtZTpm
cmFtZV07CisgICAgW19ob3N0Vmlld0NvbnRyb2xsZXIgdXBkYXRlUERGVmlld0xheW91dF07Cit9
CisKKy0gKHZvaWQpd2ViX3NldE92ZXJsYWlkQWNjZXNzb3J5Vmlld3NJbnNldDooQ0dTaXplKWlu
c2V0Cit7Cit9CisKKy0gKHZvaWQpd2ViX2RpZFNhbWVEb2N1bWVudE5hdmlnYXRpb246KFdLU2Ft
ZURvY3VtZW50TmF2aWdhdGlvblR5cGUpbmF2aWdhdGlvblR5cGUKK3sKK30KKworLSAodm9pZCl3
ZWJfc2Nyb2xsVmlld0RpZFNjcm9sbDooVUlTY3JvbGxWaWV3ICopc2Nyb2xsVmlldworeworICAg
IFtfaG9zdFZpZXdDb250cm9sbGVyIHVwZGF0ZVBERlZpZXdMYXlvdXRdOworfQorCistICh2b2lk
KXdlYl9jb3VudFN0cmluZ01hdGNoZXM6KE5TU3RyaW5nICopc3RyaW5nIG9wdGlvbnM6KF9XS0Zp
bmRPcHRpb25zKW9wdGlvbnMgbWF4Q291bnQ6KE5TVUludGVnZXIpbWF4Q291bnQKK3sKK30KKwor
LSAodm9pZCl3ZWJfZmluZFN0cmluZzooTlNTdHJpbmcgKilzdHJpbmcgb3B0aW9uczooX1dLRmlu
ZE9wdGlvbnMpb3B0aW9ucyBtYXhDb3VudDooTlNVSW50ZWdlciltYXhDb3VudAoreworfQorCist
ICh2b2lkKXdlYl9oaWRlRmluZFVJCit7Cit9CisKKy0gKEJPT0wpd2ViX2lzQmFja2dyb3VuZAor
eworICAgIHJldHVybiBOTzsKK30KKworLSAoQk9PTClnZXN0dXJlUmVjb2duaXplclNob3VsZEJl
Z2luOihVSUdlc3R1cmVSZWNvZ25pemVyICopZ2VzdHVyZVJlY29nbml6ZXIKK3sKKyAgICByZXR1
cm4gW19ob3N0Vmlld0NvbnRyb2xsZXIgZ2VzdHVyZVJlY29nbml6ZXJTaG91bGRCZWdpbjpnZXN0
dXJlUmVjb2duaXplcl07Cit9CisKKy0gKFVJVmlldyAqKXdlYl9jb250ZW50VmlldworeworICAg
IHJldHVybiBbX2hvc3RWaWV3Q29udHJvbGxlciB2aWV3XTsKK30KKworQGVuZAorCisjZW5kaWYg
Ly8gRU5BQkxFKFdLUERGVklFVykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L2lvcy9XS1Njcm9sbFZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tTY3Jv
bGxWaWV3Lm1tCmluZGV4IDg4MjAzZTZmZjI3Mjg2Mzg2NDI4ZDEzNjBhZTlhZjhhZDI5MjQ3Yzgu
LjMyODk2NjUwNTY3YWEyYzIwYzk4NzE1MTkyMzM0ZDBjOGUwY2FjNGIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS1Njcm9sbFZpZXcubW0KKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvaW9zL1dLU2Nyb2xsVmlldy5tbQpAQCAtMzMwLDYgKzMzMCwxMSBAQCAt
ICh2b2lkKV9zZXRDb250ZW50U2l6ZVByZXNlcnZpbmdDb250ZW50T2Zmc2V0RHVyaW5nUnViYmVy
YmFuZDooQ0dTaXplKWNvbnRlbnRTaQogICAgICAgICBbc2VsZiBfcmVzdG9yZUNvbnRlbnRPZmZz
ZXRXaXRoUnViYmVyYmFuZEFtb3VudDpydWJiZXJiYW5kQW1vdW50XTsKIH0KIAorLSAodm9pZClz
ZXRDb250ZW50U2l6ZTooQ0dTaXplKWNvbnRlbnRTaXplCit7CisgICAgW3N1cGVyIHNldENvbnRl
bnRTaXplOmNvbnRlbnRTaXplXTsKK30KKwogLSAodm9pZClhZGRHZXN0dXJlUmVjb2duaXplcjoo
VUlHZXN0dXJlUmVjb2duaXplciAqKWdlc3R1cmVSZWNvZ25pemVyCiB7CiAgICAgW3N1cGVyIGFk
ZEdlc3R1cmVSZWNvZ25pemVyOmdlc3R1cmVSZWNvZ25pemVyXTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0
L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDg0MDhjYmU0NGU2OGQ0MTZh
YzY0YmYzOWVjZjg1NzllZGFjNGMxYjcuLjY4MTA5OTUwOGQ1M2FjOWFiMjdlM2UwZDA4ZjQ2NzI2
OGViNzVkODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagpAQCAtMTU1MSw2ICsxNTUxLDggQEAKIAkJOUZCNUYzOTQxNjlFNkE4MDAwMkMyNUJG
IC8qIFdLQ29udGV4dFByaXZhdGVNYWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA5RkI1RjM5MjE2OUU2QTgwMDAyQzI1QkYgLyogV0tDb250ZXh0UHJp
dmF0ZU1hYy5tbSAqLzsgfTsKIAkJOUZCNUYzOTUxNjlFNkE4MDAwMkMyNUJGIC8qIFdLQ29udGV4
dFByaXZhdGVNYWMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDlGQjVGMzkzMTY5RTZBODAwMDJDMjVCRiAvKiBXS0NvbnRleHRQcml2YXRlTWFjLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQTEwMkE3MDgx
RUMwRUVFOTAwRDgxRDgyIC8qIGNvbS5tYWNyb21lZGlhLkZsYXNoIFBsYXllciBFU1IucGx1Z2lu
LnNiIGluIENvcHkgUGx1Zy1pbiBTYW5kYm94IFByb2ZpbGVzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDdBNUUzOTQ5MUQ1QkQ4QTcwMEI0QjdDRSAvKiBjb20ubWFjcm9tZWRp
YS5GbGFzaCBQbGF5ZXIgRVNSLnBsdWdpbi5zYiAqLzsgfTsKKwkJQTEwNDZFQTEyMDc5MjYzMTAw
RjBDNUQ4IC8qIFdLUERGVmlldy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQTEwNDZFOUYyMDc5MjYzMTAwRjBDNUQ4IC8qIFdLUERGVmlldy5oICovOyB9
OworCQlBMTA0NkVBMjIwNzkyNjMxMDBGMEM1RDggLyogV0tQREZWaWV3Lm1tIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTEwNDZFQTAyMDc5MjYzMTAwRjBD
NUQ4IC8qIFdLUERGVmlldy5tbSAqLzsgfTsKIAkJQTExNURDNzExOTFEODJENzAwREE4MDcyIC8q
IF9XS1dlYlZpZXdQcmludEZvcm1hdHRlci5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEExMTVEQzZEMTkxRDgyQUIwMERBODA3MiAvKiBfV0tXZWJWaWV3
UHJpbnRGb3JtYXR0ZXIubW0gKi87IH07CiAJCUExMTVEQzcyMTkxRDgyREEwMERBODA3MiAvKiBf
V0tXZWJWaWV3UHJpbnRGb3JtYXR0ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEExMTVEQzZFMTkxRDgyQUIwMERBODA3MiAvKiBfV0tXZWJWaWV3UHJp
bnRGb3JtYXR0ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQlBMTE4QTlFRTE5MDdBRDZGMDBGN0M5MkIgLyogUXVpY2tMb29rRG9jdW1lbnREYXRh
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExMThB
OUVDMTkwN0FENkYwMEY3QzkyQiAvKiBRdWlja0xvb2tEb2N1bWVudERhdGEuY3BwICovOyB9OwpA
QCAtNDAzNiw2ICs0MDM4LDggQEAKIAkJOUY1NEY4OTQxNjQ4QUUwRTAwN0RGODFBIC8qIFBsdWdp
blByb2Nlc3NNYW5hZ2VyTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBw
YXRoID0gUGx1Z2luUHJvY2Vzc01hbmFnZXJNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTlGQjVGMzkyMTY5RTZBODAwMDJDMjVCRiAvKiBXS0NvbnRleHRQcml2YXRlTWFjLm1t
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBuYW1lID0gV0tDb250ZXh0UHJpdmF0
ZU1hYy5tbTsgcGF0aCA9IG1hYy9XS0NvbnRleHRQcml2YXRlTWFjLm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk5RkI1RjM5MzE2OUU2QTgwMDAyQzI1QkYgLyogV0tDb250ZXh0UHJp
dmF0ZU1hYy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBXS0NvbnRleHRQcml2
YXRlTWFjLmg7IHBhdGggPSBtYWMvV0tDb250ZXh0UHJpdmF0ZU1hYy5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlBMTA0NkU5RjIwNzkyNjMxMDBGMEM1RDggLyogV0tQREZWaWV3Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgbmFtZSA9IFdLUERGVmlldy5oOyBwYXRoID0gaW9zL1dLUERGVmlldy5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBMTA0NkVBMDIwNzkyNjMxMDBGMEM1RDggLyogV0tQ
REZWaWV3Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBuYW1lID0gV0tQREZWaWV3Lm1tOyBwYXRoID0gaW9z
L1dLUERGVmlldy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTExNURDNkQxOTFE
ODJBQjAwREE4MDcyIC8qIF9XS1dlYlZpZXdQcmludEZvcm1hdHRlci5tbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IF9XS1dlYlZpZXdQcmludEZvcm1hdHRlci5tbTsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTExNURDNkUxOTFEODJBQjAwREE4MDcyIC8q
IF9XS1dlYlZpZXdQcmludEZvcm1hdHRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBfV0tXZWJWaWV3UHJpbnRGb3JtYXR0ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQTExOEE5RUMxOTA3QUQ2RjAwRjdDOTJCIC8qIFF1aWNrTG9va0RvY3VtZW50RGF0YS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBRdWlja0xvb2tEb2N1bWVu
dERhdGEuY3BwOyBwYXRoID0gaW9zL1F1aWNrTG9va0RvY3VtZW50RGF0YS5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC01ODMyLDYgKzU4MzYsOCBAQAogCQkJCUExNUVFREUzMUUz
MDFDRUUwMDAwNjlCMCAvKiBXS1Bhc3N3b3JkVmlldy5tbSAqLywKIAkJCQkyRDZBQjUzRjE5MkIx
QzRBMDAzQTlGRDEgLyogV0tQREZQYWdlTnVtYmVySW5kaWNhdG9yLmggKi8sCiAJCQkJMkQ2QUI1
NDAxOTJCMUM0QTAwM0E5RkQxIC8qIFdLUERGUGFnZU51bWJlckluZGljYXRvci5tbSAqLywKKwkJ
CQlBMTA0NkU5RjIwNzkyNjMxMDBGMEM1RDggLyogV0tQREZWaWV3LmggKi8sCisJCQkJQTEwNDZF
QTAyMDc5MjYzMTAwRjBDNUQ4IC8qIFdLUERGVmlldy5tbSAqLywKIAkJCQkwRkNCNEU0NDE4QkJF
MDQ0MDAwRkNGQzkgLyogV0tTY3JvbGxWaWV3LmggKi8sCiAJCQkJMEZDQjRFNDUxOEJCRTA0NDAw
MEZDRkM5IC8qIFdLU2Nyb2xsVmlldy5tbSAqLywKIAkJCQkyNkYxMEJFNjE5MTg3RTJFMDAxRDBF
NjggLyogV0tTeW50aGV0aWNDbGlja1RhcEdlc3R1cmVSZWNvZ25pemVyLmggKi8sCkBAIC05NjQy
LDYgKzk2NDgsNyBAQAogCQkJCUE1RUZEMzhDMTZCMEU4OEMwMEIyRjBFOCAvKiBXS1BhZ2VWaXNp
YmlsaXR5VHlwZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUExNUVFREU2MUUzMDFDRUUwMDAwNjlC
MCAvKiBXS1Bhc3N3b3JkVmlldy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkQ2QUI1NDExOTJCMUM0
QTAwM0E5RkQxIC8qIFdLUERGUGFnZU51bWJlckluZGljYXRvci5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJQTEwNDZFQTEyMDc5MjYzMTAwRjBDNUQ4IC8qIFdLUERGVmlldy5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJN0MxMzVBQTkxNzNCMEJDQTAwNTg2QUUyIC8qIFdLUGx1Z2luSW5mb3JtYXRpb24uaCBp
biBIZWFkZXJzICovLAogCQkJCTJEQUJBNzc0MUE4MTdFRTYwMEVGMEYxQSAvKiBXS1BsdWdpbkxv
YWRQb2xpY3kuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBRkREMzE3MTg5MUM5NDcwMDE1Mzk3MCAv
KiBXS1ByZWZlcmVuY2VzLmggaW4gSGVhZGVycyAqLywKQEAgLTExMzI5LDYgKzExMzM2LDcgQEAK
IAkJCQlCQ0UxN0I3RDEzODFGMTE3MDAxMkE2NDEgLyogV0tQYWdlUHJpdmF0ZU1hYy5tbSBpbiBT
b3VyY2VzICovLAogCQkJCUExNUVFREU1MUUzMDFDRUUwMDAwNjlCMCAvKiBXS1Bhc3N3b3JkVmll
dy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTJENkFCNTQyMTkyQjFDNEEwMDNBOUZEMSAvKiBXS1BE
RlBhZ2VOdW1iZXJJbmRpY2F0b3IubW0gaW4gU291cmNlcyAqLywKKwkJCQlBMTA0NkVBMjIwNzky
NjMxMDBGMEM1RDggLyogV0tQREZWaWV3Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJN0MxMzVBQTgx
NzNCMEJDQTAwNTg2QUUyIC8qIFdLUGx1Z2luSW5mb3JtYXRpb24uY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJQkNENTk3RDExMTJCNTZBQzAwRUM4QzIzIC8qIFdLUHJlZmVyZW5jZXMuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJMUFGREQzMTkxODkxQ0ExMjAwMTUzOTcwIC8qIFdLUHJlZmVyZW5jZXMu
bW0gaW4gU291cmNlcyAqLywK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>337445</attachid>
            <date>2018-04-07 22:46:20 -0700</date>
            <delta_ts>2018-04-08 18:03:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-184387-20180407224619.patch</filename>
            <type>text/plain</type>
            <size>26051</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMwMzU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDNlMzg2MGI1MWFkMWRjOWY5ZDVlYjA0
OTBkMGZhYzE1ZjY3YTRjOWUuLmRlZDI1NjZkMGVlMjU3NDZmMGJiMzVhMmQwYTQ4YjQ4NzRhMmIx
ZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTgtMDQtMDcgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNA
YXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIFVzZSBQREZLaXQgdG8gcmVuZGVyIFBERnMgaW4g
V0tXZWJWaWV3CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xODQzODcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIHd0Zi9GZWF0dXJlRGVmaW5lcy5oOgorCiAyMDE4LTA0LTA1ICBZdXN1a2UgU3V6dWtpICA8
dXRhdGFuZS50ZWFAZ21haWwuY29tPgogCiAgICAgICAgIFtXVEZdIFJlbW92ZSBTdGF0aWNMb2Nr
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nCmluZGV4IGZlYjVjNmZmYzNkNWY3ZDFjZjJiNDViMjY0ODAyMDllZjQ0NDQxMDAuLmNl
MzYzOWMzMWVkYjdmM2UxMTIzMmQxNmYyMGFmMzJlYmJjOTcxYTAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsNDAgQEAKKzIwMTgtMDQtMDcgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgorCisg
ICAgICAgIFtpT1NdIFVzZSBQREZLaXQgdG8gcmVuZGVyIFBERnMgaW4gV0tXZWJWaWV3CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODQzODcKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENvbmZpZ3VyYXRp
b25zL1dlYktpdC54Y2NvbmZpZzoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vi
Vmlldy5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9jdXJyZW50Q29udGVudFZpZXddKToKKyAg
ICAgICAgKC1bV0tXZWJWaWV3IHZpZXdGb3Jab29taW5nSW5TY3JvbGxWaWV3Ol0pOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9Db2NvYS9XS1dlYlZpZXdDb250ZW50UHJvdmlkZXIuaDoKKyAgICAgICAg
KiBVSVByb2Nlc3MvQ29jb2EvV0tXZWJWaWV3Q29udGVudFByb3ZpZGVyUmVnaXN0cnkubW06Cisg
ICAgICAgICgtW1dLV2ViVmlld0NvbnRlbnRQcm92aWRlclJlZ2lzdHJ5IGluaXRdKToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvaW9zL1dLTGVnYWN5UERGVmlldy5oOgorICAgICAgICAqIFVJUHJvY2Vz
cy9pb3MvV0tMZWdhY3lQREZWaWV3Lm1tOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tQREZW
aWV3Lmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0xlZ2FjeVBE
RlZpZXcuaC4KKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLUERGVmlldy5tbTogQWRkZWQuCisg
ICAgICAgICgtW1dLUERGVmlldyB3ZWJfaW5pdFdpdGhGcmFtZTp3ZWJWaWV3Ol0pOgorICAgICAg
ICAoLVtXS1BERlZpZXcgd2ViX2NvbXB1dGVkQ29udGVudEluc2V0RGlkQ2hhbmdlXSk6CisgICAg
ICAgIChwcmVzZW50aW5nVmlld0NvbnRyb2xsZXIpOgorICAgICAgICAoLVtXS1BERlZpZXcgd2Vi
X3NldENvbnRlbnRQcm92aWRlckRhdGE6c3VnZ2VzdGVkRmlsZW5hbWU6XSk6CisgICAgICAgICgt
W1dLUERGVmlldyB3ZWJfc2V0Rml4ZWRPdmVybGF5VmlldzpdKToKKyAgICAgICAgKC1bV0tQREZW
aWV3IHdlYl9zZXRNaW5pbXVtU2l6ZTpdKToKKyAgICAgICAgKC1bV0tQREZWaWV3IHdlYl9zZXRP
dmVybGFpZEFjY2Vzc29yeVZpZXdzSW5zZXQ6XSk6CisgICAgICAgICgtW1dLUERGVmlldyB3ZWJf
ZGlkU2FtZURvY3VtZW50TmF2aWdhdGlvbjpdKToKKyAgICAgICAgKC1bV0tQREZWaWV3IHdlYl9z
Y3JvbGxWaWV3RGlkU2Nyb2xsOl0pOgorICAgICAgICAoLVtXS1BERlZpZXcgd2ViX2NvdW50U3Ry
aW5nTWF0Y2hlczpvcHRpb25zOm1heENvdW50Ol0pOgorICAgICAgICAoLVtXS1BERlZpZXcgd2Vi
X2ZpbmRTdHJpbmc6b3B0aW9uczptYXhDb3VudDpdKToKKyAgICAgICAgKC1bV0tQREZWaWV3IHdl
Yl9oaWRlRmluZFVJXSk6CisgICAgICAgICgtW1dLUERGVmlldyB3ZWJfaXNCYWNrZ3JvdW5kXSk6
CisgICAgICAgICgtW1dLUERGVmlldyBnZXN0dXJlUmVjb2duaXplclNob3VsZEJlZ2luOl0pOgor
ICAgICAgICAoLVtXS1BERlZpZXcgd2ViX2NvbnRlbnRWaWV3XSk6CisgICAgICAgICogVUlQcm9j
ZXNzL2lvcy9XS1Njcm9sbFZpZXcubW06CisgICAgICAgICgtW1dLU2Nyb2xsVmlldyBzZXRDb250
ZW50U2l6ZTpdKToKKyAgICAgICAgKiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoK
KwogMjAxOC0wNC0wNSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAg
ICAgUkVHUkVTU0lPTiAocjIzMDIyMyk6IExheW91dFRlc3QgaHR0cC90ZXN0cy9jb250ZW50ZXh0
ZW5zaW9ucy9jc3MtZGlzcGxheS1ub25lLW92ZXJmbG93cy1ydWxlLWRhdGEtMS5odG1sIGlzIGNy
YXNoaW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9GZWF0dXJlRGVmaW5lcy5oIGIvU291
cmNlL1dURi93dGYvRmVhdHVyZURlZmluZXMuaAppbmRleCBiMzk3NmU3YWY0MjNlZDEyMmU1NjE0
OWUwODA0MTFjZDczYWEwYjAzLi4wNGUxNmEwZGYwZTNiNDMxMzU5ZjJmNWI3ZmEyODkzNzc1NmI5
NjAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9GZWF0dXJlRGVmaW5lcy5oCisrKyBiL1Nv
dXJjZS9XVEYvd3RmL0ZlYXR1cmVEZWZpbmVzLmgKQEAgLTE2Niw4ICsxNjYsMTQgQEAgdGhlIHB1
YmxpYyBpT1MgU0RLLiBTZWUgPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzE3OTE2Nz4uICovCiAjZGVm
aW5lIEVOQUJMRV9ET1dOTE9BRF9BVFRSSUJVVEUgMAogI2VuZGlmCiAKKyNpZiAhZGVmaW5lZChF
TkFCTEVfV0tMRUdBQ1lQREZWSUVXKQorI2lmIFBMQVRGT1JNKElPUykgJiYgIVBMQVRGT1JNKFdB
VENIT1MpICYmICFQTEFURk9STShBUFBMRVRWKSAmJiAhRU5BQkxFKE1JTklNQUxfU0lNVUxBVE9S
KQorI2RlZmluZSBFTkFCTEVfV0tMRUdBQ1lQREZWSUVXIDEKKyNlbmRpZgorI2VuZGlmCisKICNp
ZiAhZGVmaW5lZChFTkFCTEVfV0tQREZWSUVXKQotI2lmICFQTEFURk9STShXQVRDSE9TKSAmJiAh
UExBVEZPUk0oQVBQTEVUVikgJiYgIUVOQUJMRShNSU5JTUFMX1NJTVVMQVRPUikKKyNpZiBQTEFU
Rk9STShJT1MpICYmICFQTEFURk9STShXQVRDSE9TKSAmJiAhUExBVEZPUk0oQVBQTEVUVikgJiYg
IUVOQUJMRShNSU5JTUFMX1NJTVVMQVRPUikgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVR
VUlSRUQgPj0gMTIwMDAwCiAjZGVmaW5lIEVOQUJMRV9XS1BERlZJRVcgMQogI2VuZGlmCiAjZW5k
aWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMvV2ViS2l0LnhjY29u
ZmlnIGIvU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9XZWJLaXQueGNjb25maWcKaW5kZXgg
YjkwMjFhMWFhYzg3OTg4OGQ2ZmFkNjBjY2FlYTdmMGM4YjdhNDEyNC4uOGQwMGQwN2IzZGM5OWZm
YTBlMDUxZGU4MmI0MmQ3NTk0YjY5ZDNkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9Db25m
aWd1cmF0aW9ucy9XZWJLaXQueGNjb25maWcKKysrIGIvU291cmNlL1dlYktpdC9Db25maWd1cmF0
aW9ucy9XZWJLaXQueGNjb25maWcKQEAgLTkwLDYgKzkwLDEyIEBAIFdLX09QRU5HTF9MREZMQUdT
X2FwcGxldHZvcyA9ICQoV0tfT1BFTkdMX0xERkxBR1NfaXBob25lb3MpOwogV0tfT1BFTkdMX0xE
RkxBR1NfYXBwbGV0dnNpbXVsYXRvciA9ICQoV0tfT1BFTkdMX0xERkxBR1NfaXBob25lc2ltdWxh
dG9yKTsKIFdLX09QRU5HTF9MREZMQUdTX21hY29zeCA9IC1mcmFtZXdvcmsgT3BlbkdMOwogCitX
S19QREZLSVRfTERGTEFHUyA9ICQoV0tfUERGS0lUX0xERkxBR1NfJChXS19QTEFURk9STV9OQU1F
KSk7CitXS19QREZLSVRfTERGTEFHU19pcGhvbmVvcyA9IC1mcmFtZXdvcmsgUERGS2l0OworV0tf
UERGS0lUX0xERkxBR1NfaXBob25lc2ltdWxhdG9yID0gJChXS19QREZLSVRfTERGTEFHU19pcGhv
bmVvcyk7CitXS19QREZLSVRfTERGTEFHU19pcGhvbmVvc1tzZGs9aXBob25lKjExLipdID0gOwor
V0tfUERGS0lUX0xERkxBR1NfaXBob25lc2ltdWxhdG9yW3Nkaz1pcGhvbmUqMTEuKl0gPSA7CisK
IFdLX1NBRkVfQlJPV1NJTkdfTERGTEFHUyA9ICQoV0tfU0FGRV9CUk9XU0lOR19MREZMQUdTXyQo
V0tfUExBVEZPUk1fTkFNRSkpOwogV0tfU0FGRV9CUk9XU0lOR19MREZMQUdTX2lwaG9uZW9zID0g
LWZyYW1ld29yayBTYWZhcmlTYWZlQnJvd3Npbmc7CiBXS19TQUZFX0JST1dTSU5HX0xERkxBR1Nf
aXBob25lc2ltdWxhdG9yID0gLWZyYW1ld29yayBTYWZhcmlTYWZlQnJvd3Npbmc7CkBAIC0xMDEs
NyArMTA3LDcgQEAgV0tfU0FGRV9CUk9XU0lOR19MREZMQUdTX01BQ09TX1NJTkNFXzEwMTMgPSAt
d2Vha19mcmFtZXdvcmsgU2FmYXJpU2FmZUJyb3dzaW5nOwogV0tfVUlLSVRfTERGTEFHUyA9ICQo
V0tfVUlLSVRfTERGTEFHU18kKFdLX0NPQ09BX1RPVUNIKSk7CiBXS19VSUtJVF9MREZMQUdTX2Nv
Y29hdG91Y2ggPSAtZnJhbWV3b3JrIFVJS2l0OwogCi1GUkFNRVdPUktfQU5EX0xJQlJBUllfTERG
TEFHUyA9IC1sb2JqYyAtZnJhbWV3b3JrIENGTmV0d29yayAtZnJhbWV3b3JrIENvcmVBdWRpbyAt
ZnJhbWV3b3JrIENvcmVGb3VuZGF0aW9uIC1mcmFtZXdvcmsgQ29yZUdyYXBoaWNzIC1mcmFtZXdv
cmsgQ29yZVRleHQgLWZyYW1ld29yayBGb3VuZGF0aW9uIC1mcmFtZXdvcmsgSW1hZ2VJTyAtZnJh
bWV3b3JrIElPS2l0IC1mcmFtZXdvcmsgV2ViS2l0TGVnYWN5ICQoV0tfQUNDRVNTSUJJTElUWV9M
REZMQUdTKSAkKFdLX0FQUEtJVF9MREZMQUdTKSAkKFdLX0FTU0VSVElPTl9TRVJWSUNFU19MREZM
QUdTKSAkKFdLX0NBUkJPTl9MREZMQUdTKSAkKFdLX0NPUkVfUERGX0xERkxBR1MpICQoV0tfQ09S
RV9QUkVESUNUSU9OX0xERkxBR1MpICQoV0tfQ09SRV9TRVJWSUNFU19MREZMQUdTKSAkKFdLX0dS
QVBISUNTX1NFUlZJQ0VTX0xERkxBR1MpICQoV0tfSU9TVVJGQUNFX0xERkxBR1MpICQoV0tfTElC
V0VCUlRDX0xERkxBR1MpICQoV0tfTU9CSUxFX0NPUkVfU0VSVklDRVNfTERGTEFHUykgJChXS19N
T0JJTEVfR0VTVEFMVF9MREZMQUdTKSAkKFdLX09QRU5HTF9MREZMQUdTKSAkKFdLX1NBRkVfQlJP
V1NJTkdfTERGTEFHUykgJChXS19VSUtJVF9MREZMQUdTKTsKK0ZSQU1FV09SS19BTkRfTElCUkFS
WV9MREZMQUdTID0gLWxvYmpjIC1mcmFtZXdvcmsgQ0ZOZXR3b3JrIC1mcmFtZXdvcmsgQ29yZUF1
ZGlvIC1mcmFtZXdvcmsgQ29yZUZvdW5kYXRpb24gLWZyYW1ld29yayBDb3JlR3JhcGhpY3MgLWZy
YW1ld29yayBDb3JlVGV4dCAtZnJhbWV3b3JrIEZvdW5kYXRpb24gLWZyYW1ld29yayBJbWFnZUlP
IC1mcmFtZXdvcmsgSU9LaXQgLWZyYW1ld29yayBXZWJLaXRMZWdhY3kgJChXS19BQ0NFU1NJQklM
SVRZX0xERkxBR1MpICQoV0tfQVBQS0lUX0xERkxBR1MpICQoV0tfQVNTRVJUSU9OX1NFUlZJQ0VT
X0xERkxBR1MpICQoV0tfQ0FSQk9OX0xERkxBR1MpICQoV0tfQ09SRV9QREZfTERGTEFHUykgJChX
S19DT1JFX1BSRURJQ1RJT05fTERGTEFHUykgJChXS19DT1JFX1NFUlZJQ0VTX0xERkxBR1MpICQo
V0tfR1JBUEhJQ1NfU0VSVklDRVNfTERGTEFHUykgJChXS19JT1NVUkZBQ0VfTERGTEFHUykgJChX
S19MSUJXRUJSVENfTERGTEFHUykgJChXS19NT0JJTEVfQ09SRV9TRVJWSUNFU19MREZMQUdTKSAk
KFdLX01PQklMRV9HRVNUQUxUX0xERkxBR1MpICQoV0tfT1BFTkdMX0xERkxBR1MpICQoV0tfUERG
S0lUX0xERkxBR1MpICQoV0tfU0FGRV9CUk9XU0lOR19MREZMQUdTKSAkKFdLX1VJS0lUX0xERkxB
R1MpOwogCiAvLyBQcmV2ZW50IEMrKyBzdGFuZGFyZCBsaWJyYXJ5IG9wZXJhdG9yIG5ldywgZGVs
ZXRlIGFuZCB0aGVpciByZWxhdGVkIGV4Y2VwdGlvbiB0eXBlcyBmcm9tIGJlaW5nIGV4cG9ydGVk
IGFzIHdlYWsgc3ltYm9scy4KIFVORVhQT1JURURfU1lNQk9MX0xERkxBR1MgPSAtV2wsLXVuZXhw
b3J0ZWRfc3ltYm9sIC1XbCxfX1pUSVN0OWJhZF9hbGxvYyAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9s
IC1XbCxfX1pUSVN0OWV4Y2VwdGlvbiAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pUU1N0
OWJhZF9hbGxvYyAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pUU1N0OWV4Y2VwdGlvbiAt
V2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pkbFB2U18gLVdsLC11bmV4cG9ydGVkX3N5bWJv
bCAtV2wsX19abndtUHYgLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19abndtIC1XbCwtdW5l
eHBvcnRlZF9zeW1ib2wsIC1XbCxfX1pOU3QzX18xOGZ1bmN0aW9uSUZ2TjdXZWJDb3JlMTJQb2xp
Y3lBY3Rpb25FRUVDMkVPUzRfIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wsIC1XbCxfX1pOU3QzX18x
OGZ1bmN0aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25FRUVDMUVPUzRfIC1XbCwtdW5leHBv
cnRlZF9zeW1ib2wsIC1XbCxfX1pOU3QzX18xOGZ1bmN0aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lB
Y3Rpb25FRUVhU0VEbiAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sLCAtV2wsX19aTktTdDNfXzE4ZnVu
Y3Rpb25JRnZON1dlYkNvcmUxMlBvbGljeUFjdGlvbkVFRWNsRVMyXyAtV2wsLXVuZXhwb3J0ZWRf
c3ltYm9sLCAtV2wsX19aTlN0M19fMThmdW5jdGlvbklGdk43V2ViQ29yZTEyUG9saWN5QWN0aW9u
RUVFNHN3YXBFUlM0XyAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sLCAtV2wsX19aTlN0M19fMThmdW5j
dGlvbklGdk43V2ViQ29yZTEyUG9saWN5QWN0aW9uRUVFQzFFUktTNF8gLVdsLC11bmV4cG9ydGVk
X3N5bWJvbCwgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBvbGljeUFjdGlv
bkVFRUMyRVJLUzRfIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wsIC1XbCxfX1pOU3QzX18xOGZ1bmN0
aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25FRUVEMUV2IC1XbCwtdW5leHBvcnRlZF9zeW1i
b2wsIC1XbCxfX1pOU3QzX18xOGZ1bmN0aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25FRUVE
MkV2IC1XbCwtdW5leHBvcnRlZF9zeW1ib2wsIC1XbCxfX1pOU3QzX18xOGZ1bmN0aW9uSUZ2TjdX
ZWJDb3JlMTJQb2xpY3lBY3Rpb25FRUVhU0VSS1M0XyAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sLCAt
V2wsX19aVFZOU3QzX18xMTdiYWRfZnVuY3Rpb25fY2FsbEU7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQppbmRleCBjYTI4Y2E4MWEyNTJlOWJhOWQy
NmFlZThlNDhjMDdkODdmNjljOGVkLi5lZmY4NzUzNzdhMWY2ZTZiNDM2N2JiNzNlZjA5ZmE2NTdk
NzdlZmY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tX
ZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZp
ZXcubW0KQEAgLTE0MjIsNyArMTQyMiw3IEBAIHN0YXRpYyBDR1NpemUgcm91bmRTY3JvbGxWaWV3
Q29udGVudFNpemUoY29uc3QgV2ViS2l0OjpXZWJQYWdlUHJveHkmIHBhZ2UsIENHU2l6CiAKIC0g
KFVJVmlldyAqKV9jdXJyZW50Q29udGVudFZpZXcKIHsKLSAgICByZXR1cm4gX2N1c3RvbUNvbnRl
bnRWaWV3ID8gX2N1c3RvbUNvbnRlbnRWaWV3LmdldCgpIDogX2NvbnRlbnRWaWV3LmdldCgpOwor
ICAgIHJldHVybiBfY3VzdG9tQ29udGVudFZpZXcgPyBbX2N1c3RvbUNvbnRlbnRWaWV3IHdlYl9j
b250ZW50Vmlld10gOiBfY29udGVudFZpZXcuZ2V0KCk7CiB9CiAKIC0gKFdLV2ViVmlld0NvbnRl
bnRQcm92aWRlclJlZ2lzdHJ5ICopX2NvbnRlbnRQcm92aWRlclJlZ2lzdHJ5CkBAIC0yMzQ4LDEx
ICsyMzQ4LDcgQEAgLSAoQ0dTaXplKXNjcm9sbFZpZXc6KFVJU2Nyb2xsVmlldyopc2Nyb2xsVmll
dyBjb250ZW50U2l6ZUZvclpvb21TY2FsZTooQ0dGbG9hdCkKIC0gKFVJVmlldyAqKXZpZXdGb3Ja
b29taW5nSW5TY3JvbGxWaWV3OihVSVNjcm9sbFZpZXcgKilzY3JvbGxWaWV3CiB7CiAgICAgQVNT
RVJUKF9zY3JvbGxWaWV3ID09IHNjcm9sbFZpZXcpOwotCi0gICAgaWYgKF9jdXN0b21Db250ZW50
VmlldykKLSAgICAgICAgcmV0dXJuIF9jdXN0b21Db250ZW50Vmlldy5nZXQoKTsKLQotICAgIHJl
dHVybiBfY29udGVudFZpZXcuZ2V0KCk7CisgICAgcmV0dXJuIHNlbGYuX2N1cnJlbnRDb250ZW50
VmlldzsKIH0KIAogLSAodm9pZClzY3JvbGxWaWV3V2lsbEJlZ2luWm9vbWluZzooVUlTY3JvbGxW
aWV3ICopc2Nyb2xsVmlldyB3aXRoVmlldzooVUlWaWV3ICopdmlldwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV0tXZWJWaWV3Q29udGVudFByb3ZpZGVyLmggYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XS1dlYlZpZXdDb250ZW50UHJvdmlkZXIuaApp
bmRleCAwZGUxYTliOGQ1MTk0YTMzOTY5NjgyMTg4MGQyY2YyOWFkNWIzZTFmLi5iMDg2ZmEwMjBm
MmNlMmE3MzA1MDY3ZjgwMDAwZjBiZTk2NGZlOTNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Db2NvYS9XS1dlYlZpZXdDb250ZW50UHJvdmlkZXIuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XS1dlYlZpZXdDb250ZW50UHJvdmlkZXIuaApAQCAtNTIs
MTMgKzUyLDEzIEBAIHN0cnVjdCBVSUVkZ2VJbnNldHM7CiAtICh2b2lkKXdlYl9jb3VudFN0cmlu
Z01hdGNoZXM6KE5TU3RyaW5nICopc3RyaW5nIG9wdGlvbnM6KF9XS0ZpbmRPcHRpb25zKW9wdGlv
bnMgbWF4Q291bnQ6KE5TVUludGVnZXIpbWF4Q291bnQ7CiAtICh2b2lkKXdlYl9maW5kU3RyaW5n
OihOU1N0cmluZyAqKXN0cmluZyBvcHRpb25zOihfV0tGaW5kT3B0aW9ucylvcHRpb25zIG1heENv
dW50OihOU1VJbnRlZ2VyKW1heENvdW50OwogLSAodm9pZCl3ZWJfaGlkZUZpbmRVSTsKK0Bwcm9w
ZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgVUlWaWV3ICp3ZWJfY29udGVudFZpZXc7CiAKIEBv
cHRpb25hbAogLSAodm9pZCl3ZWJfc2Nyb2xsVmlld0RpZFNjcm9sbDooVUlTY3JvbGxWaWV3ICop
c2Nyb2xsVmlldzsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgTlNEYXRhICp3ZWJf
ZGF0YVJlcHJlc2VudGF0aW9uOwogQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBOU1N0
cmluZyAqd2ViX3N1Z2dlc3RlZEZpbGVuYW1lOwogQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRv
bmx5KSBCT09MIHdlYl9pc0JhY2tncm91bmQ7Ci0KIEBlbmQKIAogI2VuZGlmIC8vIFBMQVRGT1JN
KElPUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dLV2ViVmll
d0NvbnRlbnRQcm92aWRlclJlZ2lzdHJ5Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29j
b2EvV0tXZWJWaWV3Q29udGVudFByb3ZpZGVyUmVnaXN0cnkubW0KaW5kZXggZGM4MWY1MzFlZTIx
MmEzM2M1NTg5ZWUyZTMzMDZkNThjOTBlYzNmMC4uMjM4OTFmZmM1MThjNDFmMTZjZjdiODQ3MDU4
OWYzNjFkOGY2YmVhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2Ev
V0tXZWJWaWV3Q29udGVudFByb3ZpZGVyUmVnaXN0cnkubW0KKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQ29jb2EvV0tXZWJWaWV3Q29udGVudFByb3ZpZGVyUmVnaXN0cnkubW0KQEAgLTMx
LDYgKzMxLDcgQEAKICNpZiBQTEFURk9STShJT1MpCiAKICNpbXBvcnQgIldLTGVnYWN5UERGVmll
dy5oIgorI2ltcG9ydCAiV0tQREZWaWV3LmgiCiAjaW1wb3J0ICJXS1N5c3RlbVByZXZpZXdWaWV3
LmgiCiAjaW1wb3J0ICJXS1dlYlZpZXdJbnRlcm5hbC5oIgogI2ltcG9ydCAiV2ViUGFnZVByb3h5
LmgiCkBAIC01Nyw2ICs1OCw5IEBAIC0gKGluc3RhbmNldHlwZSlpbml0CiAgICAgICAgIHJldHVy
biBuaWw7CiAKICNpZiBFTkFCTEUoV0tQREZWSUVXKQorICAgIGZvciAoYXV0byYgbWltZVR5cGUg
OiBXZWJDb3JlOjpNSU1FVHlwZVJlZ2lzdHJ5OjpnZXRQREZNSU1FVHlwZXMoKSkKKyAgICAgICAg
W3NlbGYgcmVnaXN0ZXJQcm92aWRlcjpbV0tQREZWaWV3IGNsYXNzXSBmb3JNSU1FVHlwZTptaW1l
VHlwZV07CisjZWxpZiBFTkFCTEUoV0tMRUdBQ1lQREZWSUVXKQogICAgIGZvciAoYXV0byYgbWlt
ZVR5cGUgOiBXZWJDb3JlOjpNSU1FVHlwZVJlZ2lzdHJ5OjpnZXRQREZNSU1FVHlwZXMoKSkKICAg
ICAgICAgW3NlbGYgcmVnaXN0ZXJQcm92aWRlcjpbV0tMZWdhY3lQREZWaWV3IGNsYXNzXSBmb3JN
SU1FVHlwZTptaW1lVHlwZV07CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL2lvcy9XS0xlZ2FjeVBERlZpZXcuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lv
cy9XS0xlZ2FjeVBERlZpZXcuaAppbmRleCBkYjIzOWYyYjk5NDRiZjJlYjFiN2IyMTk3N2RjYjNl
YTM0OWQ4ZWU0Li5iNjNjYzk5ZGY4YWYyZjI0NjI0Y2Q3ZmNjNDc1NmJhM2Y3YWE5ZjU4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tMZWdhY3lQREZWaWV3LmgKKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLTGVnYWN5UERGVmlldy5oCkBAIC0yMyw3
ICsyMyw3IEBACiAgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotI2lm
IFBMQVRGT1JNKElPUykgJiYgRU5BQkxFKFdLUERGVklFVykKKyNpZiBFTkFCTEUoV0tMRUdBQ1lQ
REZWSUVXKQogCiAjaW1wb3J0ICJDb3JlUERGU1BJLmgiCiAjaW1wb3J0ICJXS0FjdGlvblNoZWV0
QXNzaXN0YW50LmgiCkBAIC0zMiw0ICszMiw0IEBACiBAaW50ZXJmYWNlIFdLTGVnYWN5UERGVmll
dyA6IFVJVmlldyA8V0tXZWJWaWV3Q29udGVudFByb3ZpZGVyLCBVSVBERlBhZ2VWaWV3RGVsZWdh
dGUsIFVJUERGQW5ub3RhdGlvbkNvbnRyb2xsZXJEZWxlZ2F0ZSwgV0tBY3Rpb25TaGVldEFzc2lz
dGFudERlbGVnYXRlPgogQGVuZAogCi0jZW5kaWYgLy8gUExBVEZPUk0oSU9TKSAmJiBFTkFCTEUo
V0tQREZWSUVXKQorI2VuZGlmIC8vIEVOQUJMRShXS0xFR0FDWVBERlZJRVcpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tMZWdhY3lQREZWaWV3Lm1tIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLTGVnYWN5UERGVmlldy5tbQppbmRleCA2OTY5Mjk0YmIx
OTM0NDgwZjdkNDBjYzYyYjYzYjRhOWIwYTc4MzBjLi5kMGM0OTVhZDBmY2ZmNjhkZTY1NjczNjU5
NDcxOWMxMGIwZmU2ZjhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3Mv
V0tMZWdhY3lQREZWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0xl
Z2FjeVBERlZpZXcubW0KQEAgLTI2LDcgKzI2LDcgQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2lt
cG9ydCAiV0tMZWdhY3lQREZWaWV3LmgiCiAKLSNpZiBQTEFURk9STShJT1MpICYmIEVOQUJMRShX
S1BERlZJRVcpCisjaWYgRU5BQkxFKFdLTEVHQUNZUERGVklFVykKIAogI2ltcG9ydCAiQVBJRmlu
ZENsaWVudC5oIgogI2ltcG9ydCAiQVBJVUlDbGllbnQuaCIKQEAgLTM4Niw2ICszODYsMTEgQEAg
LSAodm9pZCl3ZWJfZGlkU2FtZURvY3VtZW50TmF2aWdhdGlvbjooV0tTYW1lRG9jdW1lbnROYXZp
Z2F0aW9uVHlwZSluYXZpZ2F0aW9uVHkKICAgICBbc2VsZiBfc2Nyb2xsVG9GcmFnbWVudDpfd2Vi
Vmlldy5VUkwuZnJhZ21lbnRdOwogfQogCistIChVSVZpZXcgKil3ZWJfY29udGVudFZpZXcKK3sK
KyAgICByZXR1cm4gc2VsZjsKK30KKwogLSAodm9pZClfY29tcHV0ZVBhZ2VBbmREb2N1bWVudEZy
YW1lcwogewogICAgIFVJRWRnZUluc2V0cyBzYWZlQXJlYUluc2V0cyA9IF93ZWJWaWV3Ll9jb21w
dXRlZFVub2JzY3VyZWRTYWZlQXJlYUluc2V0OwpAQCAtODk3LDQgKzkwMiw0IEBAIEBlbmQKIAog
I3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIHBvcAogCi0jZW5kaWYgLy8gUExBVEZPUk0oSU9TKSAm
JiBFTkFCTEUoV0tQREZWSUVXKQorI2VuZGlmIC8vIEVOQUJMRShXS0xFR0FDWVBERlZJRVcpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tQREZWaWV3LmggYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tQREZWaWV3LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDY3OTljZDkx
YjExNmQwZjhkNWRlY2Y3ZmNmODgyODhmZmEwYmNkYgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS1BERlZpZXcuaApAQCAtMCwwICsxLDM1IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2lmIEVOQUJMRShXS1BERlZJRVcpCisKKyNpbXBvcnQgIldLV2ViVmlld0NvbnRl
bnRQcm92aWRlci5oIgorI2ltcG9ydCA8VUlLaXQvVUlLaXQuaD4KKworQGludGVyZmFjZSBXS1BE
RlZpZXcgOiBVSVZpZXcgPFdLV2ViVmlld0NvbnRlbnRQcm92aWRlcj4KKworQGVuZAorCisjZW5k
aWYgLy8gRU5BQkxFKFdLUERGVklFVykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL2lvcy9XS1BERlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tQREZW
aWV3Lm1tCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY5ZTZmMzJjZDZhMTA0Yjk1YjVkMDhmYjAzZjVkNGMwYTc4NzY0
MjQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tQREZW
aWV3Lm1tCkBAIC0wLDAgKzEsMTc4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCAiY29uZmlnLmgi
CisjaW1wb3J0ICJXS1BERlZpZXcuaCIKKworI2lmIEVOQUJMRShXS1BERlZJRVcpCisKKyNpbXBv
cnQgIlVJRGVsZWdhdGUuaCIKKyNpbXBvcnQgIldLV2ViVmlld0ludGVybmFsLmgiCisjaW1wb3J0
ICJXZWFrT2JqQ1B0ci5oIgorI2ltcG9ydCAiV2ViUGFnZVByb3h5LmgiCisjaW1wb3J0IDxQREZL
aXQvUERGSG9zdFZpZXdDb250cm9sbGVyLmg+CisjaW1wb3J0IDx3dGYvTWFpblRocmVhZC5oPgor
I2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgorCit1c2luZyBuYW1lc3BhY2UgV2ViS2l0OworCitA
aW50ZXJmYWNlIFdLUERGVmlldyAoKSA8UERGSG9zdFZpZXdDb250cm9sbGVyRGVsZWdhdGU+CitA
ZW5kCisKK0BpbXBsZW1lbnRhdGlvbiBXS1BERlZpZXcgeworICAgIFdlYWtPYmpDUHRyPFdLV2Vi
Vmlldz4gX3dlYlZpZXc7CisgICAgV2Vha09iakNQdHI8VUlWaWV3PiBfZml4ZWRPdmVybGF5Vmll
dzsKKyAgICBSZXRhaW5QdHI8UERGSG9zdFZpZXdDb250cm9sbGVyPiBfaG9zdFZpZXdDb250cm9s
bGVyOworICAgIFJldGFpblB0cjxOU1N0cmluZz4gX3N1Z2dlc3RlZEZpbGVuYW1lOworICAgIENH
U2l6ZSBfbWluaW11bVNpemU7Cit9CisKKy0gKGluc3RhbmNldHlwZSl3ZWJfaW5pdFdpdGhGcmFt
ZTooQ0dSZWN0KWZyYW1lIHdlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcKK3sKKyAgICBpZiAo
IShzZWxmID0gW3N1cGVyIGluaXRXaXRoRnJhbWU6ZnJhbWVdKSkKKyAgICAgICAgcmV0dXJuIG5p
bDsKKworICAgIHdlYlZpZXcuc2Nyb2xsVmlldy5iYWNrZ3JvdW5kQ29sb3IgPSBVSUNvbG9yLmdy
YXlDb2xvcjsKKyAgICBzZWxmLmJhY2tncm91bmRDb2xvciA9IFVJQ29sb3IuZ3JheUNvbG9yOwor
CisgICAgX3dlYlZpZXcgPSB3ZWJWaWV3OworICAgIHJldHVybiBzZWxmOworfQorCistICh2b2lk
KWRlYWxsb2MKK3sKKyAgICBbW19ob3N0Vmlld0NvbnRyb2xsZXIgdmlld10gcmVtb3ZlRnJvbVN1
cGVydmlld107CisgICAgW19ob3N0Vmlld0NvbnRyb2xsZXIgcmVtb3ZlRnJvbVBhcmVudFZpZXdD
b250cm9sbGVyXTsKKyAgICBbc3VwZXIgZGVhbGxvY107Cit9CisKKy0gKHZvaWQpd2ViX2NvbXB1
dGVkQ29udGVudEluc2V0RGlkQ2hhbmdlCit7Cit9CisKKy0gKFVJVmlld0NvbnRyb2xsZXIgKilf
cHJlc2VudGluZ1ZpZXdDb250cm9sbGVyCit7CisgICAgV0tXZWJWaWV3ICp3ZWJWaWV3ID0gX3dl
YlZpZXcuZ2V0QXV0b3JlbGVhc2VkKCk7CisgICAgaWYgKCF3ZWJWaWV3KQorICAgICAgICByZXR1
cm4gbmlsOworCisgICAgVUlWaWV3Q29udHJvbGxlciAqdmlld0NvbnRyb2xsZXIgPSB3ZWJWaWV3
LT5fcGFnZS0+dWlDbGllbnQoKS5wcmVzZW50aW5nVmlld0NvbnRyb2xsZXIoKTsKKyAgICBpZiAo
dmlld0NvbnRyb2xsZXIpCisgICAgICAgIHJldHVybiB2aWV3Q29udHJvbGxlcjsKKworICAgIGZv
ciAoVUlWaWV3ICpjdXJyZW50VmlldyA9IHNlbGY7IGN1cnJlbnRWaWV3OyBjdXJyZW50VmlldyA9
IGN1cnJlbnRWaWV3LnN1cGVydmlldykgeworICAgICAgICBpZiAoVUlWaWV3Q29udHJvbGxlciAq
dmlld0NvbnRyb2xsZXIgPSBbVUlWaWV3Q29udHJvbGxlciB2aWV3Q29udHJvbGxlckZvclZpZXc6
Y3VycmVudFZpZXddKQorICAgICAgICAgICAgcmV0dXJuIHZpZXdDb250cm9sbGVyOworICAgIH0K
KworICAgIHJldHVybiBuaWw7Cit9CisKKy0gKHZvaWQpd2ViX3NldENvbnRlbnRQcm92aWRlckRh
dGE6KE5TRGF0YSAqKWRhdGEgc3VnZ2VzdGVkRmlsZW5hbWU6KE5TU3RyaW5nICopZmlsZW5hbWUK
K3sKKyAgICBfc3VnZ2VzdGVkRmlsZW5hbWUgPSBmaWxlbmFtZTsKKworICAgIFtQREZIb3N0Vmll
d0NvbnRyb2xsZXIgY3JlYXRlSG9zdFZpZXc6XihQREZIb3N0Vmlld0NvbnRyb2xsZXIgKiBfTnVs
bGFibGUgaG9zdFZpZXdDb250cm9sbGVyKSB7CisgICAgICAgIEFTU0VSVChpc01haW5UaHJlYWQo
KSk7CisgICAgICAgIGlmICghaG9zdFZpZXdDb250cm9sbGVyKQorICAgICAgICAgICAgcmV0dXJu
OworCisgICAgICAgIFVJVmlld0NvbnRyb2xsZXIgKnByZXNlbnRpbmdWaWV3Q29udHJvbGxlciA9
IFtzZWxmIF9wcmVzZW50aW5nVmlld0NvbnRyb2xsZXJdOworICAgICAgICBpZiAoIXByZXNlbnRp
bmdWaWV3Q29udHJvbGxlcikKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBVSVNjcm9s
bFZpZXcgKnNjcm9sbFZpZXcgPSBbX3dlYlZpZXcgc2Nyb2xsVmlld107CisgICAgICAgIGlmICgh
c2Nyb2xsVmlldykKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBob3N0Vmlld0NvbnRy
b2xsZXIuZGVsZWdhdGUgPSBzZWxmOworICAgICAgICBbcHJlc2VudGluZ1ZpZXdDb250cm9sbGVy
IGFkZENoaWxkVmlld0NvbnRyb2xsZXI6aG9zdFZpZXdDb250cm9sbGVyXTsKKyAgICAgICAgX2hv
c3RWaWV3Q29udHJvbGxlciA9IGhvc3RWaWV3Q29udHJvbGxlcjsKKworICAgICAgICBVSVZpZXcg
Kmhvc3RWaWV3ID0gaG9zdFZpZXdDb250cm9sbGVyLnZpZXc7CisgICAgICAgIGhvc3RWaWV3LmZy
YW1lID0gc2VsZi5ib3VuZHM7CisgICAgICAgIGhvc3RWaWV3LmJhY2tncm91bmRDb2xvciA9IFVJ
Q29sb3IuZ3JheUNvbG9yOworICAgICAgICBbc2VsZiByZW1vdmVGcm9tU3VwZXJ2aWV3XTsKKyAg
ICAgICAgW3Njcm9sbFZpZXcgYWRkU3Vidmlldzpob3N0Vmlld107CisKKyAgICAgICAgW2hvc3RW
aWV3Q29udHJvbGxlciBzZXREb2N1bWVudERhdGE6ZGF0YSB3aXRoU2Nyb2xsVmlldzpzY3JvbGxW
aWV3XTsKKyAgICB9IGZvckV4dGVuc2lvbklkZW50aWZpZXI6bmlsXTsKK30KKworLSAodm9pZCl3
ZWJfc2V0Rml4ZWRPdmVybGF5VmlldzooVUlWaWV3ICopZml4ZWRPdmVybGF5VmlldworeworICAg
IF9maXhlZE92ZXJsYXlWaWV3ID0gZml4ZWRPdmVybGF5VmlldzsKK30KKworLSAodm9pZCl3ZWJf
c2V0TWluaW11bVNpemU6KENHU2l6ZSlzaXplCit7CisgICAgc2VsZi5mcmFtZSA9IHsgc2VsZi5m
cmFtZS5vcmlnaW4sIHNpemUgfTsKKyAgICBbX2hvc3RWaWV3Q29udHJvbGxlciB1cGRhdGVQREZW
aWV3TGF5b3V0XTsKK30KKworLSAodm9pZCl3ZWJfc2V0T3ZlcmxhaWRBY2Nlc3NvcnlWaWV3c0lu
c2V0OihDR1NpemUpaW5zZXQKK3sKKyAgICBbX2hvc3RWaWV3Q29udHJvbGxlciB1cGRhdGVQREZW
aWV3TGF5b3V0XTsKK30KKworLSAodm9pZCl3ZWJfZGlkU2FtZURvY3VtZW50TmF2aWdhdGlvbjoo
V0tTYW1lRG9jdW1lbnROYXZpZ2F0aW9uVHlwZSluYXZpZ2F0aW9uVHlwZQoreworfQorCistICh2
b2lkKXdlYl9zY3JvbGxWaWV3RGlkU2Nyb2xsOihVSVNjcm9sbFZpZXcgKilzY3JvbGxWaWV3Cit7
CisgICAgW19ob3N0Vmlld0NvbnRyb2xsZXIgdXBkYXRlUERGVmlld0xheW91dF07Cit9CisKKy0g
KHZvaWQpd2ViX2NvdW50U3RyaW5nTWF0Y2hlczooTlNTdHJpbmcgKilzdHJpbmcgb3B0aW9uczoo
X1dLRmluZE9wdGlvbnMpb3B0aW9ucyBtYXhDb3VudDooTlNVSW50ZWdlciltYXhDb3VudAorewor
fQorCistICh2b2lkKXdlYl9maW5kU3RyaW5nOihOU1N0cmluZyAqKXN0cmluZyBvcHRpb25zOihf
V0tGaW5kT3B0aW9ucylvcHRpb25zIG1heENvdW50OihOU1VJbnRlZ2VyKW1heENvdW50Cit7Cit9
CisKKy0gKHZvaWQpd2ViX2hpZGVGaW5kVUkKK3sKK30KKworLSAoQk9PTCl3ZWJfaXNCYWNrZ3Jv
dW5kCit7CisgICAgcmV0dXJuIE5POworfQorCistIChCT09MKWdlc3R1cmVSZWNvZ25pemVyU2hv
dWxkQmVnaW46KFVJR2VzdHVyZVJlY29nbml6ZXIgKilnZXN0dXJlUmVjb2duaXplcgoreworICAg
IHJldHVybiBbX2hvc3RWaWV3Q29udHJvbGxlciBnZXN0dXJlUmVjb2duaXplclNob3VsZEJlZ2lu
Omdlc3R1cmVSZWNvZ25pemVyXTsKK30KKworLSAoVUlWaWV3ICopd2ViX2NvbnRlbnRWaWV3Cit7
CisgICAgcmV0dXJuIF9ob3N0Vmlld0NvbnRyb2xsZXIgPyBbX2hvc3RWaWV3Q29udHJvbGxlciB2
aWV3XSA6IHNlbGY7Cit9CisKK0BlbmQKKworI2VuZGlmIC8vIEVOQUJMRShXS1BERlZJRVcpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tTY3JvbGxWaWV3Lm1tIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLU2Nyb2xsVmlldy5tbQppbmRleCA4ODIwM2U2
ZmYyNzI4NjM4NjQyOGQxMzYwYWU5YWY4YWQyOTI0N2M4Li4zMjg5NjY1MDU2N2FhMmMyMGM5ODcx
NTE5MjMzNGQwYzhlMGNhYzRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9p
b3MvV0tTY3JvbGxWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS1Nj
cm9sbFZpZXcubW0KQEAgLTMzMCw2ICszMzAsMTEgQEAgLSAodm9pZClfc2V0Q29udGVudFNpemVQ
cmVzZXJ2aW5nQ29udGVudE9mZnNldER1cmluZ1J1YmJlcmJhbmQ6KENHU2l6ZSljb250ZW50U2kK
ICAgICAgICAgW3NlbGYgX3Jlc3RvcmVDb250ZW50T2Zmc2V0V2l0aFJ1YmJlcmJhbmRBbW91bnQ6
cnViYmVyYmFuZEFtb3VudF07CiB9CiAKKy0gKHZvaWQpc2V0Q29udGVudFNpemU6KENHU2l6ZSlj
b250ZW50U2l6ZQoreworICAgIFtzdXBlciBzZXRDb250ZW50U2l6ZTpjb250ZW50U2l6ZV07Cit9
CisKIC0gKHZvaWQpYWRkR2VzdHVyZVJlY29nbml6ZXI6KFVJR2VzdHVyZVJlY29nbml6ZXIgKiln
ZXN0dXJlUmVjb2duaXplcgogewogICAgIFtzdXBlciBhZGRHZXN0dXJlUmVjb2duaXplcjpnZXN0
dXJlUmVjb2duaXplcl07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3Mv
V0tTeXN0ZW1QcmV2aWV3Vmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS1N5
c3RlbVByZXZpZXdWaWV3Lm1tCmluZGV4IDAzODAzMTVkYTg0OWJjNGMyMzI0MDUyNThhNzhhZTZi
YjJjNzljOTcuLjc0NDE5NDdkOTA2ZjJhNzdiNWJjYjk3OTUyNzFkNmI1ZTFjMDlhNjIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS1N5c3RlbVByZXZpZXdWaWV3Lm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS1N5c3RlbVByZXZpZXdWaWV3Lm1t
CkBAIC0xMTYsNiArMTE2LDExIEBAIC0gKHZvaWQpd2ViX2RpZFNhbWVEb2N1bWVudE5hdmlnYXRp
b246KFdLU2FtZURvY3VtZW50TmF2aWdhdGlvblR5cGUpbmF2aWdhdGlvblR5CiB7CiB9CiAKKy0g
KFVJVmlldyAqKXdlYl9jb250ZW50VmlldworeworICAgIHJldHVybiBzZWxmOworfQorCiAjcHJh
Z21hIG1hcmsgRmluZC1pbi1QYWdlCiAKIC0gKHZvaWQpd2ViX2NvdW50U3RyaW5nTWF0Y2hlczoo
TlNTdHJpbmcgKilzdHJpbmcgb3B0aW9uczooX1dLRmluZE9wdGlvbnMpb3B0aW9ucyBtYXhDb3Vu
dDooTlNVSW50ZWdlciltYXhDb3VudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJLaXQu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKaW5kZXggODQwOGNiZTQ0ZTY4ZDQxNmFjNjRiZjM5ZWNmODU3OWVk
YWM0YzFiNy4uNjgxMDk5NTA4ZDUzYWM5YWIyN2UzZTBkMDhmNDY3MjY4ZWI3NWQ4NiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xNTUx
LDYgKzE1NTEsOCBAQAogCQk5RkI1RjM5NDE2OUU2QTgwMDAyQzI1QkYgLyogV0tDb250ZXh0UHJp
dmF0ZU1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDlGQjVGMzkyMTY5RTZBODAwMDJDMjVCRiAvKiBXS0NvbnRleHRQcml2YXRlTWFjLm1tICovOyB9
OwogCQk5RkI1RjM5NTE2OUU2QTgwMDAyQzI1QkYgLyogV0tDb250ZXh0UHJpdmF0ZU1hYy5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOUZCNUYzOTMxNjlF
NkE4MDAwMkMyNUJGIC8qIFdLQ29udGV4dFByaXZhdGVNYWMuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlBMTAyQTcwODFFQzBFRUU5MDBEODFEODIg
LyogY29tLm1hY3JvbWVkaWEuRmxhc2ggUGxheWVyIEVTUi5wbHVnaW4uc2IgaW4gQ29weSBQbHVn
LWluIFNhbmRib3ggUHJvZmlsZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
N0E1RTM5NDkxRDVCRDhBNzAwQjRCN0NFIC8qIGNvbS5tYWNyb21lZGlhLkZsYXNoIFBsYXllciBF
U1IucGx1Z2luLnNiICovOyB9OworCQlBMTA0NkVBMTIwNzkyNjMxMDBGMEM1RDggLyogV0tQREZW
aWV3LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTA0
NkU5RjIwNzkyNjMxMDBGMEM1RDggLyogV0tQREZWaWV3LmggKi87IH07CisJCUExMDQ2RUEyMjA3
OTI2MzEwMEYwQzVEOCAvKiBXS1BERlZpZXcubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBBMTA0NkVBMDIwNzkyNjMxMDBGMEM1RDggLyogV0tQREZWaWV3
Lm1tICovOyB9OwogCQlBMTE1REM3MTE5MUQ4MkQ3MDBEQTgwNzIgLyogX1dLV2ViVmlld1ByaW50
Rm9ybWF0dGVyLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQTExNURDNkQxOTFEODJBQjAwREE4MDcyIC8qIF9XS1dlYlZpZXdQcmludEZvcm1hdHRlci5t
bSAqLzsgfTsKIAkJQTExNURDNzIxOTFEODJEQTAwREE4MDcyIC8qIF9XS1dlYlZpZXdQcmludEZv
cm1hdHRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QTExNURDNkUxOTFEODJBQjAwREE4MDcyIC8qIF9XS1dlYlZpZXdQcmludEZvcm1hdHRlci5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUExMThBOUVF
MTkwN0FENkYwMEY3QzkyQiAvKiBRdWlja0xvb2tEb2N1bWVudERhdGEuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTExOEE5RUMxOTA3QUQ2RjAwRjdD
OTJCIC8qIFF1aWNrTG9va0RvY3VtZW50RGF0YS5jcHAgKi87IH07CkBAIC00MDM2LDYgKzQwMzgs
OCBAQAogCQk5RjU0Rjg5NDE2NDhBRTBFMDA3REY4MUEgLyogUGx1Z2luUHJvY2Vzc01hbmFnZXJN
YWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBQbHVnaW5Qcm9j
ZXNzTWFuYWdlck1hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOUZCNUYzOTIx
NjlFNkE4MDAwMkMyNUJGIC8qIFdLQ29udGV4dFByaXZhdGVNYWMubW0gKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBXS0NvbnRleHRQcml2YXRlTWFjLm1tOyBwYXRoID0g
bWFjL1dLQ29udGV4dFByaXZhdGVNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTlGQjVGMzkzMTY5RTZBODAwMDJDMjVCRiAvKiBXS0NvbnRleHRQcml2YXRlTWFjLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdLQ29udGV4dFByaXZhdGVNYWMuaDsgcGF0aCA9
IG1hYy9XS0NvbnRleHRQcml2YXRlTWFjLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUExMDQ2RTlGMjA3OTI2MzEwMEYwQzVEOCAvKiBXS1BERlZpZXcuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0g
V0tQREZWaWV3Lmg7IHBhdGggPSBpb3MvV0tQREZWaWV3Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUExMDQ2RUEwMjA3OTI2MzEwMEYwQzVEOCAvKiBXS1BERlZpZXcubW0gKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5vYmpjcHA7IG5hbWUgPSBXS1BERlZpZXcubW07IHBhdGggPSBpb3MvV0tQREZWaWV3Lm1tOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBMTE1REM2RDE5MUQ4MkFCMDBEQTgwNzIgLyog
X1dLV2ViVmlld1ByaW50Rm9ybWF0dGVyLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2Jq
Y3BwOyBwYXRoID0gX1dLV2ViVmlld1ByaW50Rm9ybWF0dGVyLm1tOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlBMTE1REM2RTE5MUQ4MkFCMDBEQTgwNzIgLyogX1dLV2ViVmlld1ByaW50
Rm9ybWF0dGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IF9XS1dlYlZpZXdQ
cmludEZvcm1hdHRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBMTE4QTlFQzE5
MDdBRDZGMDBGN0M5MkIgLyogUXVpY2tMb29rRG9jdW1lbnREYXRhLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFF1aWNrTG9va0RvY3VtZW50RGF0YS5jcHA7IHBhdGgg
PSBpb3MvUXVpY2tMb29rRG9jdW1lbnREYXRhLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKQEAgLTU4MzIsNiArNTgzNiw4IEBACiAJCQkJQTE1RUVERTMxRTMwMUNFRTAwMDA2OUIwIC8q
IFdLUGFzc3dvcmRWaWV3Lm1tICovLAogCQkJCTJENkFCNTNGMTkyQjFDNEEwMDNBOUZEMSAvKiBX
S1BERlBhZ2VOdW1iZXJJbmRpY2F0b3IuaCAqLywKIAkJCQkyRDZBQjU0MDE5MkIxQzRBMDAzQTlG
RDEgLyogV0tQREZQYWdlTnVtYmVySW5kaWNhdG9yLm1tICovLAorCQkJCUExMDQ2RTlGMjA3OTI2
MzEwMEYwQzVEOCAvKiBXS1BERlZpZXcuaCAqLywKKwkJCQlBMTA0NkVBMDIwNzkyNjMxMDBGMEM1
RDggLyogV0tQREZWaWV3Lm1tICovLAogCQkJCTBGQ0I0RTQ0MThCQkUwNDQwMDBGQ0ZDOSAvKiBX
S1Njcm9sbFZpZXcuaCAqLywKIAkJCQkwRkNCNEU0NTE4QkJFMDQ0MDAwRkNGQzkgLyogV0tTY3Jv
bGxWaWV3Lm1tICovLAogCQkJCTI2RjEwQkU2MTkxODdFMkUwMDFEMEU2OCAvKiBXS1N5bnRoZXRp
Y0NsaWNrVGFwR2VzdHVyZVJlY29nbml6ZXIuaCAqLywKQEAgLTk2NDIsNiArOTY0OCw3IEBACiAJ
CQkJQTVFRkQzOEMxNkIwRTg4QzAwQjJGMEU4IC8qIFdLUGFnZVZpc2liaWxpdHlUeXBlcy5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQTE1RUVERTYxRTMwMUNFRTAwMDA2OUIwIC8qIFdLUGFzc3dvcmRW
aWV3LmggaW4gSGVhZGVycyAqLywKIAkJCQkyRDZBQjU0MTE5MkIxQzRBMDAzQTlGRDEgLyogV0tQ
REZQYWdlTnVtYmVySW5kaWNhdG9yLmggaW4gSGVhZGVycyAqLywKKwkJCQlBMTA0NkVBMTIwNzky
NjMxMDBGMEM1RDggLyogV0tQREZWaWV3LmggaW4gSGVhZGVycyAqLywKIAkJCQk3QzEzNUFBOTE3
M0IwQkNBMDA1ODZBRTIgLyogV0tQbHVnaW5JbmZvcm1hdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMkRBQkE3NzQxQTgxN0VFNjAwRUYwRjFBIC8qIFdLUGx1Z2luTG9hZFBvbGljeS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMUFGREQzMTcxODkxQzk0NzAwMTUzOTcwIC8qIFdLUHJlZmVyZW5jZXMu
aCBpbiBIZWFkZXJzICovLApAQCAtMTEzMjksNiArMTEzMzYsNyBAQAogCQkJCUJDRTE3QjdEMTM4
MUYxMTcwMDEyQTY0MSAvKiBXS1BhZ2VQcml2YXRlTWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJ
QTE1RUVERTUxRTMwMUNFRTAwMDA2OUIwIC8qIFdLUGFzc3dvcmRWaWV3Lm1tIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMkQ2QUI1NDIxOTJCMUM0QTAwM0E5RkQxIC8qIFdLUERGUGFnZU51bWJlckluZGlj
YXRvci5tbSBpbiBTb3VyY2VzICovLAorCQkJCUExMDQ2RUEyMjA3OTI2MzEwMEYwQzVEOCAvKiBX
S1BERlZpZXcubW0gaW4gU291cmNlcyAqLywKIAkJCQk3QzEzNUFBODE3M0IwQkNBMDA1ODZBRTIg
LyogV0tQbHVnaW5JbmZvcm1hdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0Q1OTdEMTEx
MkI1NkFDMDBFQzhDMjMgLyogV0tQcmVmZXJlbmNlcy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkx
QUZERDMxOTE4OTFDQTEyMDAxNTM5NzAgLyogV0tQcmVmZXJlbmNlcy5tbSBpbiBTb3VyY2VzICov
LAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>337472</attachid>
            <date>2018-04-08 18:03:24 -0700</date>
            <delta_ts>2018-04-08 19:02:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-184387-20180408180324.patch</filename>
            <type>text/plain</type>
            <size>28511</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMwMzU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDNlMzg2MGI1MWFkMWRjOWY5ZDVlYjA0
OTBkMGZhYzE1ZjY3YTRjOWUuLmRlZDI1NjZkMGVlMjU3NDZmMGJiMzVhMmQwYTQ4YjQ4NzRhMmIx
ZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTgtMDQtMDcgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNA
YXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIFVzZSBQREZLaXQgdG8gcmVuZGVyIFBERnMgaW4g
V0tXZWJWaWV3CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xODQzODcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIHd0Zi9GZWF0dXJlRGVmaW5lcy5oOgorCiAyMDE4LTA0LTA1ICBZdXN1a2UgU3V6dWtpICA8
dXRhdGFuZS50ZWFAZ21haWwuY29tPgogCiAgICAgICAgIFtXVEZdIFJlbW92ZSBTdGF0aWNMb2Nr
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nCmluZGV4IGZlYjVjNmZmYzNkNWY3ZDFjZjJiNDViMjY0ODAyMDllZjQ0NDQxMDAuLmNl
MzYzOWMzMWVkYjdmM2UxMTIzMmQxNmYyMGFmMzJlYmJjOTcxYTAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsNDAgQEAKKzIwMTgtMDQtMDcgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgorCisg
ICAgICAgIFtpT1NdIFVzZSBQREZLaXQgdG8gcmVuZGVyIFBERnMgaW4gV0tXZWJWaWV3CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODQzODcKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENvbmZpZ3VyYXRp
b25zL1dlYktpdC54Y2NvbmZpZzoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vi
Vmlldy5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9jdXJyZW50Q29udGVudFZpZXddKToKKyAg
ICAgICAgKC1bV0tXZWJWaWV3IHZpZXdGb3Jab29taW5nSW5TY3JvbGxWaWV3Ol0pOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9Db2NvYS9XS1dlYlZpZXdDb250ZW50UHJvdmlkZXIuaDoKKyAgICAgICAg
KiBVSVByb2Nlc3MvQ29jb2EvV0tXZWJWaWV3Q29udGVudFByb3ZpZGVyUmVnaXN0cnkubW06Cisg
ICAgICAgICgtW1dLV2ViVmlld0NvbnRlbnRQcm92aWRlclJlZ2lzdHJ5IGluaXRdKToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvaW9zL1dLTGVnYWN5UERGVmlldy5oOgorICAgICAgICAqIFVJUHJvY2Vz
cy9pb3MvV0tMZWdhY3lQREZWaWV3Lm1tOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tQREZW
aWV3Lmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0xlZ2FjeVBE
RlZpZXcuaC4KKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLUERGVmlldy5tbTogQWRkZWQuCisg
ICAgICAgICgtW1dLUERGVmlldyB3ZWJfaW5pdFdpdGhGcmFtZTp3ZWJWaWV3Ol0pOgorICAgICAg
ICAoLVtXS1BERlZpZXcgd2ViX2NvbXB1dGVkQ29udGVudEluc2V0RGlkQ2hhbmdlXSk6CisgICAg
ICAgIChwcmVzZW50aW5nVmlld0NvbnRyb2xsZXIpOgorICAgICAgICAoLVtXS1BERlZpZXcgd2Vi
X3NldENvbnRlbnRQcm92aWRlckRhdGE6c3VnZ2VzdGVkRmlsZW5hbWU6XSk6CisgICAgICAgICgt
W1dLUERGVmlldyB3ZWJfc2V0Rml4ZWRPdmVybGF5VmlldzpdKToKKyAgICAgICAgKC1bV0tQREZW
aWV3IHdlYl9zZXRNaW5pbXVtU2l6ZTpdKToKKyAgICAgICAgKC1bV0tQREZWaWV3IHdlYl9zZXRP
dmVybGFpZEFjY2Vzc29yeVZpZXdzSW5zZXQ6XSk6CisgICAgICAgICgtW1dLUERGVmlldyB3ZWJf
ZGlkU2FtZURvY3VtZW50TmF2aWdhdGlvbjpdKToKKyAgICAgICAgKC1bV0tQREZWaWV3IHdlYl9z
Y3JvbGxWaWV3RGlkU2Nyb2xsOl0pOgorICAgICAgICAoLVtXS1BERlZpZXcgd2ViX2NvdW50U3Ry
aW5nTWF0Y2hlczpvcHRpb25zOm1heENvdW50Ol0pOgorICAgICAgICAoLVtXS1BERlZpZXcgd2Vi
X2ZpbmRTdHJpbmc6b3B0aW9uczptYXhDb3VudDpdKToKKyAgICAgICAgKC1bV0tQREZWaWV3IHdl
Yl9oaWRlRmluZFVJXSk6CisgICAgICAgICgtW1dLUERGVmlldyB3ZWJfaXNCYWNrZ3JvdW5kXSk6
CisgICAgICAgICgtW1dLUERGVmlldyBnZXN0dXJlUmVjb2duaXplclNob3VsZEJlZ2luOl0pOgor
ICAgICAgICAoLVtXS1BERlZpZXcgd2ViX2NvbnRlbnRWaWV3XSk6CisgICAgICAgICogVUlQcm9j
ZXNzL2lvcy9XS1Njcm9sbFZpZXcubW06CisgICAgICAgICgtW1dLU2Nyb2xsVmlldyBzZXRDb250
ZW50U2l6ZTpdKToKKyAgICAgICAgKiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoK
KwogMjAxOC0wNC0wNSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAg
ICAgUkVHUkVTU0lPTiAocjIzMDIyMyk6IExheW91dFRlc3QgaHR0cC90ZXN0cy9jb250ZW50ZXh0
ZW5zaW9ucy9jc3MtZGlzcGxheS1ub25lLW92ZXJmbG93cy1ydWxlLWRhdGEtMS5odG1sIGlzIGNy
YXNoaW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9GZWF0dXJlRGVmaW5lcy5oIGIvU291
cmNlL1dURi93dGYvRmVhdHVyZURlZmluZXMuaAppbmRleCBiMzk3NmU3YWY0MjNlZDEyMmU1NjE0
OWUwODA0MTFjZDczYWEwYjAzLi4wNGUxNmEwZGYwZTNiNDMxMzU5ZjJmNWI3ZmEyODkzNzc1NmI5
NjAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9GZWF0dXJlRGVmaW5lcy5oCisrKyBiL1Nv
dXJjZS9XVEYvd3RmL0ZlYXR1cmVEZWZpbmVzLmgKQEAgLTE2Niw4ICsxNjYsMTQgQEAgdGhlIHB1
YmxpYyBpT1MgU0RLLiBTZWUgPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzE3OTE2Nz4uICovCiAjZGVm
aW5lIEVOQUJMRV9ET1dOTE9BRF9BVFRSSUJVVEUgMAogI2VuZGlmCiAKKyNpZiAhZGVmaW5lZChF
TkFCTEVfV0tMRUdBQ1lQREZWSUVXKQorI2lmIFBMQVRGT1JNKElPUykgJiYgIVBMQVRGT1JNKFdB
VENIT1MpICYmICFQTEFURk9STShBUFBMRVRWKSAmJiAhRU5BQkxFKE1JTklNQUxfU0lNVUxBVE9S
KQorI2RlZmluZSBFTkFCTEVfV0tMRUdBQ1lQREZWSUVXIDEKKyNlbmRpZgorI2VuZGlmCisKICNp
ZiAhZGVmaW5lZChFTkFCTEVfV0tQREZWSUVXKQotI2lmICFQTEFURk9STShXQVRDSE9TKSAmJiAh
UExBVEZPUk0oQVBQTEVUVikgJiYgIUVOQUJMRShNSU5JTUFMX1NJTVVMQVRPUikKKyNpZiBQTEFU
Rk9STShJT1MpICYmICFQTEFURk9STShXQVRDSE9TKSAmJiAhUExBVEZPUk0oQVBQTEVUVikgJiYg
IUVOQUJMRShNSU5JTUFMX1NJTVVMQVRPUikgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVR
VUlSRUQgPj0gMTIwMDAwCiAjZGVmaW5lIEVOQUJMRV9XS1BERlZJRVcgMQogI2VuZGlmCiAjZW5k
aWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMvV2ViS2l0LnhjY29u
ZmlnIGIvU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9XZWJLaXQueGNjb25maWcKaW5kZXgg
YjkwMjFhMWFhYzg3OTg4OGQ2ZmFkNjBjY2FlYTdmMGM4YjdhNDEyNC4uOGQwMGQwN2IzZGM5OWZm
YTBlMDUxZGU4MmI0MmQ3NTk0YjY5ZDNkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9Db25m
aWd1cmF0aW9ucy9XZWJLaXQueGNjb25maWcKKysrIGIvU291cmNlL1dlYktpdC9Db25maWd1cmF0
aW9ucy9XZWJLaXQueGNjb25maWcKQEAgLTkwLDYgKzkwLDEyIEBAIFdLX09QRU5HTF9MREZMQUdT
X2FwcGxldHZvcyA9ICQoV0tfT1BFTkdMX0xERkxBR1NfaXBob25lb3MpOwogV0tfT1BFTkdMX0xE
RkxBR1NfYXBwbGV0dnNpbXVsYXRvciA9ICQoV0tfT1BFTkdMX0xERkxBR1NfaXBob25lc2ltdWxh
dG9yKTsKIFdLX09QRU5HTF9MREZMQUdTX21hY29zeCA9IC1mcmFtZXdvcmsgT3BlbkdMOwogCitX
S19QREZLSVRfTERGTEFHUyA9ICQoV0tfUERGS0lUX0xERkxBR1NfJChXS19QTEFURk9STV9OQU1F
KSk7CitXS19QREZLSVRfTERGTEFHU19pcGhvbmVvcyA9IC1mcmFtZXdvcmsgUERGS2l0OworV0tf
UERGS0lUX0xERkxBR1NfaXBob25lc2ltdWxhdG9yID0gJChXS19QREZLSVRfTERGTEFHU19pcGhv
bmVvcyk7CitXS19QREZLSVRfTERGTEFHU19pcGhvbmVvc1tzZGs9aXBob25lKjExLipdID0gOwor
V0tfUERGS0lUX0xERkxBR1NfaXBob25lc2ltdWxhdG9yW3Nkaz1pcGhvbmUqMTEuKl0gPSA7CisK
IFdLX1NBRkVfQlJPV1NJTkdfTERGTEFHUyA9ICQoV0tfU0FGRV9CUk9XU0lOR19MREZMQUdTXyQo
V0tfUExBVEZPUk1fTkFNRSkpOwogV0tfU0FGRV9CUk9XU0lOR19MREZMQUdTX2lwaG9uZW9zID0g
LWZyYW1ld29yayBTYWZhcmlTYWZlQnJvd3Npbmc7CiBXS19TQUZFX0JST1dTSU5HX0xERkxBR1Nf
aXBob25lc2ltdWxhdG9yID0gLWZyYW1ld29yayBTYWZhcmlTYWZlQnJvd3Npbmc7CkBAIC0xMDEs
NyArMTA3LDcgQEAgV0tfU0FGRV9CUk9XU0lOR19MREZMQUdTX01BQ09TX1NJTkNFXzEwMTMgPSAt
d2Vha19mcmFtZXdvcmsgU2FmYXJpU2FmZUJyb3dzaW5nOwogV0tfVUlLSVRfTERGTEFHUyA9ICQo
V0tfVUlLSVRfTERGTEFHU18kKFdLX0NPQ09BX1RPVUNIKSk7CiBXS19VSUtJVF9MREZMQUdTX2Nv
Y29hdG91Y2ggPSAtZnJhbWV3b3JrIFVJS2l0OwogCi1GUkFNRVdPUktfQU5EX0xJQlJBUllfTERG
TEFHUyA9IC1sb2JqYyAtZnJhbWV3b3JrIENGTmV0d29yayAtZnJhbWV3b3JrIENvcmVBdWRpbyAt
ZnJhbWV3b3JrIENvcmVGb3VuZGF0aW9uIC1mcmFtZXdvcmsgQ29yZUdyYXBoaWNzIC1mcmFtZXdv
cmsgQ29yZVRleHQgLWZyYW1ld29yayBGb3VuZGF0aW9uIC1mcmFtZXdvcmsgSW1hZ2VJTyAtZnJh
bWV3b3JrIElPS2l0IC1mcmFtZXdvcmsgV2ViS2l0TGVnYWN5ICQoV0tfQUNDRVNTSUJJTElUWV9M
REZMQUdTKSAkKFdLX0FQUEtJVF9MREZMQUdTKSAkKFdLX0FTU0VSVElPTl9TRVJWSUNFU19MREZM
QUdTKSAkKFdLX0NBUkJPTl9MREZMQUdTKSAkKFdLX0NPUkVfUERGX0xERkxBR1MpICQoV0tfQ09S
RV9QUkVESUNUSU9OX0xERkxBR1MpICQoV0tfQ09SRV9TRVJWSUNFU19MREZMQUdTKSAkKFdLX0dS
QVBISUNTX1NFUlZJQ0VTX0xERkxBR1MpICQoV0tfSU9TVVJGQUNFX0xERkxBR1MpICQoV0tfTElC
V0VCUlRDX0xERkxBR1MpICQoV0tfTU9CSUxFX0NPUkVfU0VSVklDRVNfTERGTEFHUykgJChXS19N
T0JJTEVfR0VTVEFMVF9MREZMQUdTKSAkKFdLX09QRU5HTF9MREZMQUdTKSAkKFdLX1NBRkVfQlJP
V1NJTkdfTERGTEFHUykgJChXS19VSUtJVF9MREZMQUdTKTsKK0ZSQU1FV09SS19BTkRfTElCUkFS
WV9MREZMQUdTID0gLWxvYmpjIC1mcmFtZXdvcmsgQ0ZOZXR3b3JrIC1mcmFtZXdvcmsgQ29yZUF1
ZGlvIC1mcmFtZXdvcmsgQ29yZUZvdW5kYXRpb24gLWZyYW1ld29yayBDb3JlR3JhcGhpY3MgLWZy
YW1ld29yayBDb3JlVGV4dCAtZnJhbWV3b3JrIEZvdW5kYXRpb24gLWZyYW1ld29yayBJbWFnZUlP
IC1mcmFtZXdvcmsgSU9LaXQgLWZyYW1ld29yayBXZWJLaXRMZWdhY3kgJChXS19BQ0NFU1NJQklM
SVRZX0xERkxBR1MpICQoV0tfQVBQS0lUX0xERkxBR1MpICQoV0tfQVNTRVJUSU9OX1NFUlZJQ0VT
X0xERkxBR1MpICQoV0tfQ0FSQk9OX0xERkxBR1MpICQoV0tfQ09SRV9QREZfTERGTEFHUykgJChX
S19DT1JFX1BSRURJQ1RJT05fTERGTEFHUykgJChXS19DT1JFX1NFUlZJQ0VTX0xERkxBR1MpICQo
V0tfR1JBUEhJQ1NfU0VSVklDRVNfTERGTEFHUykgJChXS19JT1NVUkZBQ0VfTERGTEFHUykgJChX
S19MSUJXRUJSVENfTERGTEFHUykgJChXS19NT0JJTEVfQ09SRV9TRVJWSUNFU19MREZMQUdTKSAk
KFdLX01PQklMRV9HRVNUQUxUX0xERkxBR1MpICQoV0tfT1BFTkdMX0xERkxBR1MpICQoV0tfUERG
S0lUX0xERkxBR1MpICQoV0tfU0FGRV9CUk9XU0lOR19MREZMQUdTKSAkKFdLX1VJS0lUX0xERkxB
R1MpOwogCiAvLyBQcmV2ZW50IEMrKyBzdGFuZGFyZCBsaWJyYXJ5IG9wZXJhdG9yIG5ldywgZGVs
ZXRlIGFuZCB0aGVpciByZWxhdGVkIGV4Y2VwdGlvbiB0eXBlcyBmcm9tIGJlaW5nIGV4cG9ydGVk
IGFzIHdlYWsgc3ltYm9scy4KIFVORVhQT1JURURfU1lNQk9MX0xERkxBR1MgPSAtV2wsLXVuZXhw
b3J0ZWRfc3ltYm9sIC1XbCxfX1pUSVN0OWJhZF9hbGxvYyAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9s
IC1XbCxfX1pUSVN0OWV4Y2VwdGlvbiAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pUU1N0
OWJhZF9hbGxvYyAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pUU1N0OWV4Y2VwdGlvbiAt
V2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pkbFB2U18gLVdsLC11bmV4cG9ydGVkX3N5bWJv
bCAtV2wsX19abndtUHYgLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19abndtIC1XbCwtdW5l
eHBvcnRlZF9zeW1ib2wsIC1XbCxfX1pOU3QzX18xOGZ1bmN0aW9uSUZ2TjdXZWJDb3JlMTJQb2xp
Y3lBY3Rpb25FRUVDMkVPUzRfIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wsIC1XbCxfX1pOU3QzX18x
OGZ1bmN0aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25FRUVDMUVPUzRfIC1XbCwtdW5leHBv
cnRlZF9zeW1ib2wsIC1XbCxfX1pOU3QzX18xOGZ1bmN0aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lB
Y3Rpb25FRUVhU0VEbiAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sLCAtV2wsX19aTktTdDNfXzE4ZnVu
Y3Rpb25JRnZON1dlYkNvcmUxMlBvbGljeUFjdGlvbkVFRWNsRVMyXyAtV2wsLXVuZXhwb3J0ZWRf
c3ltYm9sLCAtV2wsX19aTlN0M19fMThmdW5jdGlvbklGdk43V2ViQ29yZTEyUG9saWN5QWN0aW9u
RUVFNHN3YXBFUlM0XyAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sLCAtV2wsX19aTlN0M19fMThmdW5j
dGlvbklGdk43V2ViQ29yZTEyUG9saWN5QWN0aW9uRUVFQzFFUktTNF8gLVdsLC11bmV4cG9ydGVk
X3N5bWJvbCwgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBvbGljeUFjdGlv
bkVFRUMyRVJLUzRfIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wsIC1XbCxfX1pOU3QzX18xOGZ1bmN0
aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25FRUVEMUV2IC1XbCwtdW5leHBvcnRlZF9zeW1i
b2wsIC1XbCxfX1pOU3QzX18xOGZ1bmN0aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25FRUVE
MkV2IC1XbCwtdW5leHBvcnRlZF9zeW1ib2wsIC1XbCxfX1pOU3QzX18xOGZ1bmN0aW9uSUZ2TjdX
ZWJDb3JlMTJQb2xpY3lBY3Rpb25FRUVhU0VSS1M0XyAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sLCAt
V2wsX19aVFZOU3QzX18xMTdiYWRfZnVuY3Rpb25fY2FsbEU7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQppbmRleCBjYTI4Y2E4MWEyNTJlOWJhOWQy
NmFlZThlNDhjMDdkODdmNjljOGVkLi44ZWE0NjlhMmU1YTQwZDY3MGU1NGQwYThmZWZiMDBmNjRl
YTUwYmY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tX
ZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZp
ZXcubW0KQEAgLTE0MjIsNyArMTQyMiw3IEBAIHN0YXRpYyBDR1NpemUgcm91bmRTY3JvbGxWaWV3
Q29udGVudFNpemUoY29uc3QgV2ViS2l0OjpXZWJQYWdlUHJveHkmIHBhZ2UsIENHU2l6CiAKIC0g
KFVJVmlldyAqKV9jdXJyZW50Q29udGVudFZpZXcKIHsKLSAgICByZXR1cm4gX2N1c3RvbUNvbnRl
bnRWaWV3ID8gX2N1c3RvbUNvbnRlbnRWaWV3LmdldCgpIDogX2NvbnRlbnRWaWV3LmdldCgpOwor
ICAgIHJldHVybiBfY3VzdG9tQ29udGVudFZpZXcgPyBbX2N1c3RvbUNvbnRlbnRWaWV3IHdlYl9j
b250ZW50Vmlld10gOiBfY29udGVudFZpZXcuZ2V0KCk7CiB9CiAKIC0gKFdLV2ViVmlld0NvbnRl
bnRQcm92aWRlclJlZ2lzdHJ5ICopX2NvbnRlbnRQcm92aWRlclJlZ2lzdHJ5CkBAIC0yMzQ4LDE3
ICsyMzQ4LDE2IEBAIC0gKENHU2l6ZSlzY3JvbGxWaWV3OihVSVNjcm9sbFZpZXcqKXNjcm9sbFZp
ZXcgY29udGVudFNpemVGb3Jab29tU2NhbGU6KENHRmxvYXQpCiAtIChVSVZpZXcgKil2aWV3Rm9y
Wm9vbWluZ0luU2Nyb2xsVmlldzooVUlTY3JvbGxWaWV3ICopc2Nyb2xsVmlldwogewogICAgIEFT
U0VSVChfc2Nyb2xsVmlldyA9PSBzY3JvbGxWaWV3KTsKLQotICAgIGlmIChfY3VzdG9tQ29udGVu
dFZpZXcpCi0gICAgICAgIHJldHVybiBfY3VzdG9tQ29udGVudFZpZXcuZ2V0KCk7Ci0KLSAgICBy
ZXR1cm4gX2NvbnRlbnRWaWV3LmdldCgpOworICAgIHJldHVybiBzZWxmLl9jdXJyZW50Q29udGVu
dFZpZXc7CiB9CiAKIC0gKHZvaWQpc2Nyb2xsVmlld1dpbGxCZWdpblpvb21pbmc6KFVJU2Nyb2xs
VmlldyAqKXNjcm9sbFZpZXcgd2l0aFZpZXc6KFVJVmlldyAqKXZpZXcKIHsKLSAgICBpZiAoIVtz
ZWxmIHVzZXNTdGFuZGFyZENvbnRlbnRWaWV3XSkKKyAgICBpZiAoIVtzZWxmIHVzZXNTdGFuZGFy
ZENvbnRlbnRWaWV3XSkgeworICAgICAgICBpZiAoW19jdXN0b21Db250ZW50VmlldyByZXNwb25k
c1RvU2VsZWN0b3I6QHNlbGVjdG9yKHdlYl9zY3JvbGxWaWV3V2lsbEJlZ2luWm9vbWluZzp3aXRo
VmlldzopXSkKKyAgICAgICAgICAgIFtfY3VzdG9tQ29udGVudFZpZXcgd2ViX3Njcm9sbFZpZXdX
aWxsQmVnaW5ab29taW5nOnNjcm9sbFZpZXcgd2l0aFZpZXc6dmlld107CiAgICAgICAgIHJldHVy
bjsKKyAgICB9CiAKICAgICBpZiAoc2Nyb2xsVmlldy5waW5jaEdlc3R1cmVSZWNvZ25pemVyLnN0
YXRlID09IFVJR2VzdHVyZVJlY29nbml6ZXJTdGF0ZUJlZ2FuKSB7CiAgICAgICAgIF9wYWdlLT53
aWxsU3RhcnRVc2VyVHJpZ2dlcmVkWm9vbWluZygpOwpAQCAtMjQ1MSwxMiArMjQ1MCwxOCBAQCAt
ICh2b2lkKXNjcm9sbFZpZXdEaWRTY3JvbGw6KFVJU2Nyb2xsVmlldyAqKXNjcm9sbFZpZXcKIAog
LSAodm9pZClzY3JvbGxWaWV3RGlkWm9vbTooVUlTY3JvbGxWaWV3ICopc2Nyb2xsVmlldwogewor
ICAgIGlmICghW3NlbGYgdXNlc1N0YW5kYXJkQ29udGVudFZpZXddICYmIFtfY3VzdG9tQ29udGVu
dFZpZXcgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcih3ZWJfc2Nyb2xsVmlld0RpZFpvb206
KV0pCisgICAgICAgIFtfY3VzdG9tQ29udGVudFZpZXcgd2ViX3Njcm9sbFZpZXdEaWRab29tOnNj
cm9sbFZpZXddOworCiAgICAgW3NlbGYgX3VwZGF0ZVNjcm9sbFZpZXdCYWNrZ3JvdW5kXTsKICAg
ICBbc2VsZiBfc2NoZWR1bGVWaXNpYmxlQ29udGVudFJlY3RVcGRhdGVBZnRlclNjcm9sbEluVmll
dzpzY3JvbGxWaWV3XTsKIH0KIAogLSAodm9pZClzY3JvbGxWaWV3RGlkRW5kWm9vbWluZzooVUlT
Y3JvbGxWaWV3ICopc2Nyb2xsVmlldyB3aXRoVmlldzooVUlWaWV3ICopdmlldyBhdFNjYWxlOihD
R0Zsb2F0KXNjYWxlCiB7CisgICAgaWYgKCFbc2VsZiB1c2VzU3RhbmRhcmRDb250ZW50Vmlld10g
JiYgW19jdXN0b21Db250ZW50VmlldyByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKHdlYl9z
Y3JvbGxWaWV3RGlkRW5kWm9vbWluZzp3aXRoVmlldzphdFNjYWxlOildKQorICAgICAgICBbX2N1
c3RvbUNvbnRlbnRWaWV3IHdlYl9zY3JvbGxWaWV3RGlkRW5kWm9vbWluZzpzY3JvbGxWaWV3IHdp
dGhWaWV3OnZpZXcgYXRTY2FsZTpzY2FsZV07CisKICAgICBBU1NFUlQoc2Nyb2xsVmlldyA9PSBf
c2Nyb2xsVmlldyk7CiAgICAgLy8gRklYTUU6IHJlbW92ZSB3aGVuIHJkYXI6Ly9wcm9ibGVtLzM2
MDY1NDk1IGlzIGZpeGVkLgogICAgIC8vIFdoZW4gcm90YXRpbmcgd2l0aCB0d28gZmluZ2VycyBk
b3duLCBVSVNjcm9sbFZpZXcgY2FuIHNldCBhIGJvZ3VzIGNvbnRlbnQgdmlldyBwb3NpdGlvbi4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dLV2ViVmlld0NvbnRl
bnRQcm92aWRlci5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV0tXZWJWaWV3Q29u
dGVudFByb3ZpZGVyLmgKaW5kZXggMGRlMWE5YjhkNTE5NGEzMzk2OTY4MjE4ODBkMmNmMjlhZDVi
M2UxZi4uYjdmYzU5ZWNkZmU1NDJmMjBjYTEzZWJjODBjNGIzNDk4ZGVhNzk5OSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV0tXZWJWaWV3Q29udGVudFByb3ZpZGVy
LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV0tXZWJWaWV3Q29udGVudFBy
b3ZpZGVyLmgKQEAgLTUyLDkgKzUyLDEzIEBAIHN0cnVjdCBVSUVkZ2VJbnNldHM7CiAtICh2b2lk
KXdlYl9jb3VudFN0cmluZ01hdGNoZXM6KE5TU3RyaW5nICopc3RyaW5nIG9wdGlvbnM6KF9XS0Zp
bmRPcHRpb25zKW9wdGlvbnMgbWF4Q291bnQ6KE5TVUludGVnZXIpbWF4Q291bnQ7CiAtICh2b2lk
KXdlYl9maW5kU3RyaW5nOihOU1N0cmluZyAqKXN0cmluZyBvcHRpb25zOihfV0tGaW5kT3B0aW9u
cylvcHRpb25zIG1heENvdW50OihOU1VJbnRlZ2VyKW1heENvdW50OwogLSAodm9pZCl3ZWJfaGlk
ZUZpbmRVSTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgVUlWaWV3ICp3ZWJfY29u
dGVudFZpZXc7CiAKIEBvcHRpb25hbAogLSAodm9pZCl3ZWJfc2Nyb2xsVmlld0RpZFNjcm9sbDoo
VUlTY3JvbGxWaWV3ICopc2Nyb2xsVmlldzsKKy0gKHZvaWQpd2ViX3Njcm9sbFZpZXdXaWxsQmVn
aW5ab29taW5nOihVSVNjcm9sbFZpZXcgKilzY3JvbGxWaWV3IHdpdGhWaWV3OihVSVZpZXcgKil2
aWV3OworLSAodm9pZCl3ZWJfc2Nyb2xsVmlld0RpZEVuZFpvb21pbmc6KFVJU2Nyb2xsVmlldyAq
KXNjcm9sbFZpZXcgd2l0aFZpZXc6KFVJVmlldyAqKXZpZXcgYXRTY2FsZTooQ0dGbG9hdClzY2Fs
ZTsKKy0gKHZvaWQpd2ViX3Njcm9sbFZpZXdEaWRab29tOihVSVNjcm9sbFZpZXcgKilzY3JvbGxW
aWV3OwogQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBOU0RhdGEgKndlYl9kYXRhUmVw
cmVzZW50YXRpb247CiBAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIE5TU3RyaW5nICp3
ZWJfc3VnZ2VzdGVkRmlsZW5hbWU7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIEJP
T0wgd2ViX2lzQmFja2dyb3VuZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0NvY29hL1dLV2ViVmlld0NvbnRlbnRQcm92aWRlclJlZ2lzdHJ5Lm1tIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQ29jb2EvV0tXZWJWaWV3Q29udGVudFByb3ZpZGVyUmVnaXN0cnkubW0KaW5k
ZXggZGM4MWY1MzFlZTIxMmEzM2M1NTg5ZWUyZTMzMDZkNThjOTBlYzNmMC4uMjM4OTFmZmM1MThj
NDFmMTZjZjdiODQ3MDU4OWYzNjFkOGY2YmVhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQ29jb2EvV0tXZWJWaWV3Q29udGVudFByb3ZpZGVyUmVnaXN0cnkubW0KKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV0tXZWJWaWV3Q29udGVudFByb3ZpZGVyUmVn
aXN0cnkubW0KQEAgLTMxLDYgKzMxLDcgQEAKICNpZiBQTEFURk9STShJT1MpCiAKICNpbXBvcnQg
IldLTGVnYWN5UERGVmlldy5oIgorI2ltcG9ydCAiV0tQREZWaWV3LmgiCiAjaW1wb3J0ICJXS1N5
c3RlbVByZXZpZXdWaWV3LmgiCiAjaW1wb3J0ICJXS1dlYlZpZXdJbnRlcm5hbC5oIgogI2ltcG9y
dCAiV2ViUGFnZVByb3h5LmgiCkBAIC01Nyw2ICs1OCw5IEBAIC0gKGluc3RhbmNldHlwZSlpbml0
CiAgICAgICAgIHJldHVybiBuaWw7CiAKICNpZiBFTkFCTEUoV0tQREZWSUVXKQorICAgIGZvciAo
YXV0byYgbWltZVR5cGUgOiBXZWJDb3JlOjpNSU1FVHlwZVJlZ2lzdHJ5OjpnZXRQREZNSU1FVHlw
ZXMoKSkKKyAgICAgICAgW3NlbGYgcmVnaXN0ZXJQcm92aWRlcjpbV0tQREZWaWV3IGNsYXNzXSBm
b3JNSU1FVHlwZTptaW1lVHlwZV07CisjZWxpZiBFTkFCTEUoV0tMRUdBQ1lQREZWSUVXKQogICAg
IGZvciAoYXV0byYgbWltZVR5cGUgOiBXZWJDb3JlOjpNSU1FVHlwZVJlZ2lzdHJ5OjpnZXRQREZN
SU1FVHlwZXMoKSkKICAgICAgICAgW3NlbGYgcmVnaXN0ZXJQcm92aWRlcjpbV0tMZWdhY3lQREZW
aWV3IGNsYXNzXSBmb3JNSU1FVHlwZTptaW1lVHlwZV07CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0xlZ2FjeVBERlZpZXcuaCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL2lvcy9XS0xlZ2FjeVBERlZpZXcuaAppbmRleCBkYjIzOWYyYjk5NDRiZjJl
YjFiN2IyMTk3N2RjYjNlYTM0OWQ4ZWU0Li5iNjNjYzk5ZGY4YWYyZjI0NjI0Y2Q3ZmNjNDc1NmJh
M2Y3YWE5ZjU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tMZWdh
Y3lQREZWaWV3LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLTGVnYWN5UERG
Vmlldy5oCkBAIC0yMyw3ICsyMyw3IEBACiAgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCiAgKi8KIAotI2lmIFBMQVRGT1JNKElPUykgJiYgRU5BQkxFKFdLUERGVklFVykKKyNpZiBF
TkFCTEUoV0tMRUdBQ1lQREZWSUVXKQogCiAjaW1wb3J0ICJDb3JlUERGU1BJLmgiCiAjaW1wb3J0
ICJXS0FjdGlvblNoZWV0QXNzaXN0YW50LmgiCkBAIC0zMiw0ICszMiw0IEBACiBAaW50ZXJmYWNl
IFdLTGVnYWN5UERGVmlldyA6IFVJVmlldyA8V0tXZWJWaWV3Q29udGVudFByb3ZpZGVyLCBVSVBE
RlBhZ2VWaWV3RGVsZWdhdGUsIFVJUERGQW5ub3RhdGlvbkNvbnRyb2xsZXJEZWxlZ2F0ZSwgV0tB
Y3Rpb25TaGVldEFzc2lzdGFudERlbGVnYXRlPgogQGVuZAogCi0jZW5kaWYgLy8gUExBVEZPUk0o
SU9TKSAmJiBFTkFCTEUoV0tQREZWSUVXKQorI2VuZGlmIC8vIEVOQUJMRShXS0xFR0FDWVBERlZJ
RVcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tMZWdhY3lQREZW
aWV3Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLTGVnYWN5UERGVmlldy5tbQpp
bmRleCA2OTY5Mjk0YmIxOTM0NDgwZjdkNDBjYzYyYjYzYjRhOWIwYTc4MzBjLi5kMGM0OTVhZDBm
Y2ZmNjhkZTY1NjczNjU5NDcxOWMxMGIwZmU2ZjhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9pb3MvV0tMZWdhY3lQREZWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL2lvcy9XS0xlZ2FjeVBERlZpZXcubW0KQEAgLTI2LDcgKzI2LDcgQEAKICNpbXBvcnQg
ImNvbmZpZy5oIgogI2ltcG9ydCAiV0tMZWdhY3lQREZWaWV3LmgiCiAKLSNpZiBQTEFURk9STShJ
T1MpICYmIEVOQUJMRShXS1BERlZJRVcpCisjaWYgRU5BQkxFKFdLTEVHQUNZUERGVklFVykKIAog
I2ltcG9ydCAiQVBJRmluZENsaWVudC5oIgogI2ltcG9ydCAiQVBJVUlDbGllbnQuaCIKQEAgLTM4
Niw2ICszODYsMTEgQEAgLSAodm9pZCl3ZWJfZGlkU2FtZURvY3VtZW50TmF2aWdhdGlvbjooV0tT
YW1lRG9jdW1lbnROYXZpZ2F0aW9uVHlwZSluYXZpZ2F0aW9uVHkKICAgICBbc2VsZiBfc2Nyb2xs
VG9GcmFnbWVudDpfd2ViVmlldy5VUkwuZnJhZ21lbnRdOwogfQogCistIChVSVZpZXcgKil3ZWJf
Y29udGVudFZpZXcKK3sKKyAgICByZXR1cm4gc2VsZjsKK30KKwogLSAodm9pZClfY29tcHV0ZVBh
Z2VBbmREb2N1bWVudEZyYW1lcwogewogICAgIFVJRWRnZUluc2V0cyBzYWZlQXJlYUluc2V0cyA9
IF93ZWJWaWV3Ll9jb21wdXRlZFVub2JzY3VyZWRTYWZlQXJlYUluc2V0OwpAQCAtODk3LDQgKzkw
Miw0IEBAIEBlbmQKIAogI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIHBvcAogCi0jZW5kaWYgLy8g
UExBVEZPUk0oSU9TKSAmJiBFTkFCTEUoV0tQREZWSUVXKQorI2VuZGlmIC8vIEVOQUJMRShXS0xF
R0FDWVBERlZJRVcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tQ
REZWaWV3LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tQREZWaWV3LmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMDY3OTljZDkxYjExNmQwZjhkNWRlY2Y3ZmNmODgyODhmZmEwYmNkYgotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS1BERlZpZXcuaApAQCAtMCww
ICsxLDM1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmIEVOQUJMRShXS1BERlZJRVcpCisKKyNpbXBvcnQg
IldLV2ViVmlld0NvbnRlbnRQcm92aWRlci5oIgorI2ltcG9ydCA8VUlLaXQvVUlLaXQuaD4KKwor
QGludGVyZmFjZSBXS1BERlZpZXcgOiBVSVZpZXcgPFdLV2ViVmlld0NvbnRlbnRQcm92aWRlcj4K
KworQGVuZAorCisjZW5kaWYgLy8gRU5BQkxFKFdLUERGVklFVykKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS1BERlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9pb3MvV0tQREZWaWV3Lm1tCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYzYTBkYjllYWU4YjliMzQ1MmUxNjkx
NzkzMTJiZGY0MTNlOTA3NjgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9pb3MvV0tQREZWaWV3Lm1tCkBAIC0wLDAgKzEsMjI3IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lt
cG9ydCAiY29uZmlnLmgiCisjaW1wb3J0ICJXS1BERlZpZXcuaCIKKworI2lmIEVOQUJMRShXS1BE
RlZJRVcpCisKKyNpbXBvcnQgIldLV2ViVmlld0ludGVybmFsLmgiCisjaW1wb3J0ICJXZWFrT2Jq
Q1B0ci5oIgorI2ltcG9ydCAiV2ViUGFnZVByb3h5LmgiCisjaW1wb3J0IDxQREZLaXQvUERGSG9z
dFZpZXdDb250cm9sbGVyLmg+CisjaW1wb3J0IDx3dGYvTWFpblRocmVhZC5oPgorI2ltcG9ydCA8
d3RmL1JldGFpblB0ci5oPgorCitAaW50ZXJmYWNlIFdLUERGVmlldyAoKSA8UERGSG9zdFZpZXdD
b250cm9sbGVyRGVsZWdhdGU+CitAZW5kCisKK0BpbXBsZW1lbnRhdGlvbiBXS1BERlZpZXcgewor
ICAgIENHU2l6ZSBfb3ZlcmxhaWRBY2Nlc3NvcnlWaWV3c0luc2V0OworICAgIFJldGFpblB0cjxO
U0RhdGE+IF9kYXRhOworICAgIFJldGFpblB0cjxOU1N0cmluZz4gX3N1Z2dlc3RlZEZpbGVuYW1l
OworICAgIFJldGFpblB0cjxQREZIb3N0Vmlld0NvbnRyb2xsZXI+IF9ob3N0Vmlld0NvbnRyb2xs
ZXI7CisgICAgUmV0YWluUHRyPFVJVmlldz4gX2ZpeGVkT3ZlcmxheVZpZXc7CisgICAgUmV0YWlu
UHRyPFVJVmlldz4gX3BhZ2VOdW1iZXJJbmRpY2F0b3I7CisgICAgV2ViS2l0OjpXZWFrT2JqQ1B0
cjxXS1dlYlZpZXc+IF93ZWJWaWV3OworfQorCistICh2b2lkKWRlYWxsb2MKK3sKKyAgICBbW19o
b3N0Vmlld0NvbnRyb2xsZXIgdmlld10gcmVtb3ZlRnJvbVN1cGVydmlld107CisgICAgW19wYWdl
TnVtYmVySW5kaWNhdG9yIHJlbW92ZUZyb21TdXBlcnZpZXddOworICAgIFtzdXBlciBkZWFsbG9j
XTsKK30KKworLSAoQk9PTClnZXN0dXJlUmVjb2duaXplclNob3VsZEJlZ2luOihVSUdlc3R1cmVS
ZWNvZ25pemVyICopZ2VzdHVyZVJlY29nbml6ZXIKK3sKKyAgICByZXR1cm4gW19ob3N0Vmlld0Nv
bnRyb2xsZXIgZ2VzdHVyZVJlY29nbml6ZXJTaG91bGRCZWdpbjpnZXN0dXJlUmVjb2duaXplcl07
Cit9CisKKyNwcmFnbWEgbWFyayBXS1dlYlZpZXdDb250ZW50UHJvdmlkZXIKKworLSAoaW5zdGFu
Y2V0eXBlKXdlYl9pbml0V2l0aEZyYW1lOihDR1JlY3QpZnJhbWUgd2ViVmlldzooV0tXZWJWaWV3
ICopd2ViVmlldworeworICAgIGlmICghKHNlbGYgPSBbc3VwZXIgaW5pdFdpdGhGcmFtZTpmcmFt
ZV0pKQorICAgICAgICByZXR1cm4gbmlsOworCisgICAgc2VsZi5iYWNrZ3JvdW5kQ29sb3IgPSBV
SUNvbG9yLmdyYXlDb2xvcjsKKyAgICB3ZWJWaWV3LnNjcm9sbFZpZXcuYmFja2dyb3VuZENvbG9y
ID0gVUlDb2xvci5ncmF5Q29sb3I7CisKKyAgICBfd2ViVmlldyA9IHdlYlZpZXc7CisgICAgcmV0
dXJuIHNlbGY7Cit9CisKKy0gKHZvaWQpd2ViX3NldENvbnRlbnRQcm92aWRlckRhdGE6KE5TRGF0
YSAqKWRhdGEgc3VnZ2VzdGVkRmlsZW5hbWU6KE5TU3RyaW5nICopZmlsZW5hbWUKK3sKKyAgICBf
ZGF0YSA9IGFkb3B0TlMoW2RhdGEgY29weV0pOworICAgIF9zdWdnZXN0ZWRGaWxlbmFtZSA9IGFk
b3B0TlMoW2ZpbGVuYW1lIGNvcHldKTsKKworICAgIFtQREZIb3N0Vmlld0NvbnRyb2xsZXIgY3Jl
YXRlSG9zdFZpZXc6XihQREZIb3N0Vmlld0NvbnRyb2xsZXIgKiBfTnVsbGFibGUgaG9zdFZpZXdD
b250cm9sbGVyKSB7CisgICAgICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CisKKyAgICAgICAg
V0tXZWJWaWV3ICp3ZWJWaWV3ID0gX3dlYlZpZXcuZ2V0QXV0b3JlbGVhc2VkKCk7CisgICAgICAg
IGlmICghd2ViVmlldykKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBpZiAoIWhvc3RW
aWV3Q29udHJvbGxlcikKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgX2hvc3RWaWV3Q29u
dHJvbGxlciA9IGhvc3RWaWV3Q29udHJvbGxlcjsKKworICAgICAgICBVSVZpZXcgKmhvc3RWaWV3
ID0gaG9zdFZpZXdDb250cm9sbGVyLnZpZXc7CisgICAgICAgIGhvc3RWaWV3LmZyYW1lID0gd2Vi
Vmlldy5ib3VuZHM7CisgICAgICAgIGhvc3RWaWV3LmJhY2tncm91bmRDb2xvciA9IFVJQ29sb3Iu
Z3JheUNvbG9yOworCisgICAgICAgIFVJU2Nyb2xsVmlldyAqc2Nyb2xsVmlldyA9IHdlYlZpZXcu
c2Nyb2xsVmlldzsKKyAgICAgICAgW3NlbGYgcmVtb3ZlRnJvbVN1cGVydmlld107CisgICAgICAg
IFtzY3JvbGxWaWV3IGFkZFN1YnZpZXc6aG9zdFZpZXddOworCisgICAgICAgIF9wYWdlTnVtYmVy
SW5kaWNhdG9yID0gaG9zdFZpZXdDb250cm9sbGVyLnBhZ2VOdW1iZXJJbmRpY2F0b3I7CisgICAg
ICAgIFtfZml4ZWRPdmVybGF5VmlldyBhZGRTdWJ2aWV3Ol9wYWdlTnVtYmVySW5kaWNhdG9yLmdl
dCgpXTsKKworICAgICAgICBob3N0Vmlld0NvbnRyb2xsZXIuZGVsZWdhdGUgPSBzZWxmOworICAg
ICAgICBbaG9zdFZpZXdDb250cm9sbGVyIHNldERvY3VtZW50RGF0YTpfZGF0YS5nZXQoKSB3aXRo
U2Nyb2xsVmlldzpzY3JvbGxWaWV3XTsKKyAgICB9IGZvckV4dGVuc2lvbklkZW50aWZpZXI6bmls
XTsKK30KKworLSAoQ0dQb2ludClfb2Zmc2V0Rm9yUGFnZU51bWJlckluZGljYXRvcgoreworICAg
IFdLV2ViVmlldyAqd2ViVmlldyA9IF93ZWJWaWV3LmdldEF1dG9yZWxlYXNlZCgpOworICAgIGlm
ICghd2ViVmlldykKKyAgICAgICAgcmV0dXJuIENHUG9pbnRaZXJvOworCisgICAgVUlFZGdlSW5z
ZXRzIGluc2V0cyA9IFVJRWRnZUluc2V0c0FkZCh3ZWJWaWV3Ll9jb21wdXRlZFVub2JzY3VyZWRT
YWZlQXJlYUluc2V0LCB3ZWJWaWV3Ll9jb21wdXRlZE9ic2N1cmVkSW5zZXQsIFVJUmVjdEVkZ2VB
bGwpOworICAgIHJldHVybiBDR1BvaW50TWFrZShpbnNldHMubGVmdCwgaW5zZXRzLnRvcCArIF9v
dmVybGFpZEFjY2Vzc29yeVZpZXdzSW5zZXQuaGVpZ2h0KTsKK30KKworLSAodm9pZClfbW92ZVBh
Z2VOdW1iZXJJbmRpY2F0b3JUb1BvaW50OihDR1BvaW50KXBvaW50IGFuaW1hdGVkOihCT09MKWFu
aW1hdGVkCit7CisgICAgdm9pZCAoXnNldEZyYW1lKSgpID0gXnsKKyAgICAgICAgc3RhdGljIGNv
bnN0IENHRmxvYXQgbWFyZ2luID0gMjA7CisgICAgICAgIGNvbnN0IENHUmVjdCBmcmFtZSA9IHsg
Q0dQb2ludE1ha2UocG9pbnQueCArIG1hcmdpbiwgcG9pbnQueSArIG1hcmdpbiksIFtfcGFnZU51
bWJlckluZGljYXRvciBmcmFtZV0uc2l6ZSB9OworICAgICAgICBbX3BhZ2VOdW1iZXJJbmRpY2F0
b3Igc2V0RnJhbWU6ZnJhbWVdOworICAgIH07CisKKyAgICBpZiAoYW5pbWF0ZWQpIHsKKyAgICAg
ICAgc3RhdGljIGNvbnN0IE5TVGltZUludGVydmFsIGR1cmF0aW9uID0gMC4zOworICAgICAgICBb
VUlWaWV3IGFuaW1hdGVXaXRoRHVyYXRpb246ZHVyYXRpb24gYW5pbWF0aW9uczpzZXRGcmFtZV07
CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBzZXRGcmFtZSgpOworfQorCistICh2b2lk
KV91cGRhdGVMYXlvdXRBbmltYXRlZDooQk9PTClhbmltYXRlZAoreworICAgIFtfaG9zdFZpZXdD
b250cm9sbGVyIHVwZGF0ZVBERlZpZXdMYXlvdXRdOworICAgIFtzZWxmIF9tb3ZlUGFnZU51bWJl
ckluZGljYXRvclRvUG9pbnQ6c2VsZi5fb2Zmc2V0Rm9yUGFnZU51bWJlckluZGljYXRvciBhbmlt
YXRlZDphbmltYXRlZF07Cit9CisKKy0gKHZvaWQpd2ViX3NldE1pbmltdW1TaXplOihDR1NpemUp
c2l6ZQoreworICAgIHNlbGYuZnJhbWUgPSB7IHNlbGYuZnJhbWUub3JpZ2luLCBzaXplIH07Cisg
ICAgW3NlbGYgX3VwZGF0ZUxheW91dEFuaW1hdGVkOk5PXTsKK30KKworLSAodm9pZCl3ZWJfc2V0
T3ZlcmxhaWRBY2Nlc3NvcnlWaWV3c0luc2V0OihDR1NpemUpaW5zZXQKK3sKKyAgICBfb3Zlcmxh
aWRBY2Nlc3NvcnlWaWV3c0luc2V0ID0gaW5zZXQ7CisgICAgW3NlbGYgX3VwZGF0ZUxheW91dEFu
aW1hdGVkOllFU107Cit9CisKKy0gKHZvaWQpd2ViX2NvbXB1dGVkQ29udGVudEluc2V0RGlkQ2hh
bmdlCit7CisgICAgW3NlbGYgX3VwZGF0ZUxheW91dEFuaW1hdGVkOk5PXTsKK30KKworLSAodm9p
ZCl3ZWJfc2V0Rml4ZWRPdmVybGF5VmlldzooVUlWaWV3ICopZml4ZWRPdmVybGF5Vmlldworewor
ICAgIF9maXhlZE92ZXJsYXlWaWV3ID0gZml4ZWRPdmVybGF5VmlldzsKK30KKworLSAodm9pZCl3
ZWJfZGlkU2FtZURvY3VtZW50TmF2aWdhdGlvbjooV0tTYW1lRG9jdW1lbnROYXZpZ2F0aW9uVHlw
ZSluYXZpZ2F0aW9uVHlwZQoreworICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgcGFnZSBudW1iZXIg
bmF2aWdhdGlvbnMuCit9CisKKy0gKHZvaWQpd2ViX2NvdW50U3RyaW5nTWF0Y2hlczooTlNTdHJp
bmcgKilzdHJpbmcgb3B0aW9uczooX1dLRmluZE9wdGlvbnMpb3B0aW9ucyBtYXhDb3VudDooTlNV
SW50ZWdlciltYXhDb3VudAoreworICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgZmluZC1pbi1wYWdl
LgorfQorCistICh2b2lkKXdlYl9maW5kU3RyaW5nOihOU1N0cmluZyAqKXN0cmluZyBvcHRpb25z
OihfV0tGaW5kT3B0aW9ucylvcHRpb25zIG1heENvdW50OihOU1VJbnRlZ2VyKW1heENvdW50Cit7
CisgICAgLy8gRklYTUU6IEltcGxlbWVudCBmaW5kLWluLXBhZ2UuCit9CisKKy0gKHZvaWQpd2Vi
X2hpZGVGaW5kVUkKK3sKKyAgICAvLyBGSVhNRTogSW1wbGVtZW50IGZpbmQtaW4tcGFnZS4KK30K
KworLSAoVUlWaWV3ICopd2ViX2NvbnRlbnRWaWV3Cit7CisgICAgcmV0dXJuIF9ob3N0Vmlld0Nv
bnRyb2xsZXIgPyBbX2hvc3RWaWV3Q29udHJvbGxlciB2aWV3XSA6IHNlbGY7Cit9CisKKy0gKHZv
aWQpd2ViX3Njcm9sbFZpZXdEaWRTY3JvbGw6KFVJU2Nyb2xsVmlldyAqKXNjcm9sbFZpZXcKK3sK
KyAgICBbX2hvc3RWaWV3Q29udHJvbGxlciB1cGRhdGVQREZWaWV3TGF5b3V0XTsKK30KKworLSAo
dm9pZCl3ZWJfc2Nyb2xsVmlld1dpbGxCZWdpblpvb21pbmc6KFVJU2Nyb2xsVmlldyAqKXNjcm9s
bFZpZXcgd2l0aFZpZXc6KFVJVmlldyAqKXZpZXcKK3sKKyAgICBbX2hvc3RWaWV3Q29udHJvbGxl
ciB1cGRhdGVQREZWaWV3TGF5b3V0XTsKK30KKworLSAodm9pZCl3ZWJfc2Nyb2xsVmlld0RpZEVu
ZFpvb21pbmc6KFVJU2Nyb2xsVmlldyAqKXNjcm9sbFZpZXcgd2l0aFZpZXc6KFVJVmlldyAqKXZp
ZXcgYXRTY2FsZTooQ0dGbG9hdClzY2FsZQoreworICAgIFtfaG9zdFZpZXdDb250cm9sbGVyIHVw
ZGF0ZVBERlZpZXdMYXlvdXRdOworfQorCistICh2b2lkKXdlYl9zY3JvbGxWaWV3RGlkWm9vbToo
VUlTY3JvbGxWaWV3ICopc2Nyb2xsVmlldworeworICAgIFtfaG9zdFZpZXdDb250cm9sbGVyIHVw
ZGF0ZVBERlZpZXdMYXlvdXRdOworfQorCistIChOU0RhdGEgKil3ZWJfZGF0YVJlcHJlc2VudGF0
aW9uCit7CisgICAgcmV0dXJuIF9kYXRhLmdldCgpOworfQorCistIChOU1N0cmluZyAqKXdlYl9z
dWdnZXN0ZWRGaWxlbmFtZQoreworICAgIHJldHVybiBfc3VnZ2VzdGVkRmlsZW5hbWUuZ2V0KCk7
Cit9CisKKy0gKEJPT0wpd2ViX2lzQmFja2dyb3VuZAoreworICAgIC8vIEZJWE1FOiBBZG9wdCBB
cHBsaWNhdGlvblN0YXRlVHJhY2tlci4KKyAgICByZXR1cm4gTk87Cit9CisKK0BlbmQKKworI2Vu
ZGlmIC8vIEVOQUJMRShXS1BERlZJRVcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9pb3MvV0tTeXN0ZW1QcmV2aWV3Vmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L2lvcy9XS1N5c3RlbVByZXZpZXdWaWV3Lm1tCmluZGV4IDAzODAzMTVkYTg0OWJjNGMyMzI0MDUy
NThhNzhhZTZiYjJjNzljOTcuLjc0NDE5NDdkOTA2ZjJhNzdiNWJjYjk3OTUyNzFkNmI1ZTFjMDlh
NjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS1N5c3RlbVByZXZp
ZXdWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS1N5c3RlbVByZXZp
ZXdWaWV3Lm1tCkBAIC0xMTYsNiArMTE2LDExIEBAIC0gKHZvaWQpd2ViX2RpZFNhbWVEb2N1bWVu
dE5hdmlnYXRpb246KFdLU2FtZURvY3VtZW50TmF2aWdhdGlvblR5cGUpbmF2aWdhdGlvblR5CiB7
CiB9CiAKKy0gKFVJVmlldyAqKXdlYl9jb250ZW50VmlldworeworICAgIHJldHVybiBzZWxmOwor
fQorCiAjcHJhZ21hIG1hcmsgRmluZC1pbi1QYWdlCiAKIC0gKHZvaWQpd2ViX2NvdW50U3RyaW5n
TWF0Y2hlczooTlNTdHJpbmcgKilzdHJpbmcgb3B0aW9uczooX1dLRmluZE9wdGlvbnMpb3B0aW9u
cyBtYXhDb3VudDooTlNVSW50ZWdlciltYXhDb3VudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggODQwOGNiZTQ0ZTY4ZDQxNmFjNjRiZjM5
ZWNmODU3OWVkYWM0YzFiNy4uNjgxMDk5NTA4ZDUzYWM5YWIyN2UzZTBkMDhmNDY3MjY4ZWI3NWQ4
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CkBAIC0xNTUxLDYgKzE1NTEsOCBAQAogCQk5RkI1RjM5NDE2OUU2QTgwMDAyQzI1QkYgLyogV0tD
b250ZXh0UHJpdmF0ZU1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDlGQjVGMzkyMTY5RTZBODAwMDJDMjVCRiAvKiBXS0NvbnRleHRQcml2YXRlTWFj
Lm1tICovOyB9OwogCQk5RkI1RjM5NTE2OUU2QTgwMDAyQzI1QkYgLyogV0tDb250ZXh0UHJpdmF0
ZU1hYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOUZC
NUYzOTMxNjlFNkE4MDAwMkMyNUJGIC8qIFdLQ29udGV4dFByaXZhdGVNYWMuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlBMTAyQTcwODFFQzBFRUU5
MDBEODFEODIgLyogY29tLm1hY3JvbWVkaWEuRmxhc2ggUGxheWVyIEVTUi5wbHVnaW4uc2IgaW4g
Q29weSBQbHVnLWluIFNhbmRib3ggUHJvZmlsZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gN0E1RTM5NDkxRDVCRDhBNzAwQjRCN0NFIC8qIGNvbS5tYWNyb21lZGlhLkZsYXNo
IFBsYXllciBFU1IucGx1Z2luLnNiICovOyB9OworCQlBMTA0NkVBMTIwNzkyNjMxMDBGMEM1RDgg
LyogV0tQREZWaWV3LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBBMTA0NkU5RjIwNzkyNjMxMDBGMEM1RDggLyogV0tQREZWaWV3LmggKi87IH07CisJCUEx
MDQ2RUEyMjA3OTI2MzEwMEYwQzVEOCAvKiBXS1BERlZpZXcubW0gaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTA0NkVBMDIwNzkyNjMxMDBGMEM1RDggLyog
V0tQREZWaWV3Lm1tICovOyB9OwogCQlBMTE1REM3MTE5MUQ4MkQ3MDBEQTgwNzIgLyogX1dLV2Vi
Vmlld1ByaW50Rm9ybWF0dGVyLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQTExNURDNkQxOTFEODJBQjAwREE4MDcyIC8qIF9XS1dlYlZpZXdQcmludEZv
cm1hdHRlci5tbSAqLzsgfTsKIAkJQTExNURDNzIxOTFEODJEQTAwREE4MDcyIC8qIF9XS1dlYlZp
ZXdQcmludEZvcm1hdHRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQTExNURDNkUxOTFEODJBQjAwREE4MDcyIC8qIF9XS1dlYlZpZXdQcmludEZvcm1h
dHRlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CUExMThBOUVFMTkwN0FENkYwMEY3QzkyQiAvKiBRdWlja0xvb2tEb2N1bWVudERhdGEuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTExOEE5RUMxOTA3
QUQ2RjAwRjdDOTJCIC8qIFF1aWNrTG9va0RvY3VtZW50RGF0YS5jcHAgKi87IH07CkBAIC00MDM2
LDYgKzQwMzgsOCBAQAogCQk5RjU0Rjg5NDE2NDhBRTBFMDA3REY4MUEgLyogUGx1Z2luUHJvY2Vz
c01hbmFnZXJNYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBQ
bHVnaW5Qcm9jZXNzTWFuYWdlck1hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
OUZCNUYzOTIxNjlFNkE4MDAwMkMyNUJGIC8qIFdLQ29udGV4dFByaXZhdGVNYWMubW0gKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBXS0NvbnRleHRQcml2YXRlTWFjLm1t
OyBwYXRoID0gbWFjL1dLQ29udGV4dFByaXZhdGVNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTlGQjVGMzkzMTY5RTZBODAwMDJDMjVCRiAvKiBXS0NvbnRleHRQcml2YXRlTWFj
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdLQ29udGV4dFByaXZhdGVNYWMu
aDsgcGF0aCA9IG1hYy9XS0NvbnRleHRQcml2YXRlTWFjLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUExMDQ2RTlGMjA3OTI2MzEwMEYwQzVEOCAvKiBXS1BERlZpZXcuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBuYW1lID0gV0tQREZWaWV3Lmg7IHBhdGggPSBpb3MvV0tQREZWaWV3Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCUExMDQ2RUEwMjA3OTI2MzEwMEYwQzVEOCAvKiBXS1BERlZpZXcu
bW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBXS1BERlZpZXcubW07IHBhdGggPSBpb3MvV0tQREZW
aWV3Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBMTE1REM2RDE5MUQ4MkFCMDBE
QTgwNzIgLyogX1dLV2ViVmlld1ByaW50Rm9ybWF0dGVyLm1tICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAub2JqY3BwOyBwYXRoID0gX1dLV2ViVmlld1ByaW50Rm9ybWF0dGVyLm1tOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlBMTE1REM2RTE5MUQ4MkFCMDBEQTgwNzIgLyogX1dLV2Vi
Vmlld1ByaW50Rm9ybWF0dGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IF9X
S1dlYlZpZXdQcmludEZvcm1hdHRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlB
MTE4QTlFQzE5MDdBRDZGMDBGN0M5MkIgLyogUXVpY2tMb29rRG9jdW1lbnREYXRhLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFF1aWNrTG9va0RvY3VtZW50RGF0YS5j
cHA7IHBhdGggPSBpb3MvUXVpY2tMb29rRG9jdW1lbnREYXRhLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKQEAgLTU4MzIsNiArNTgzNiw4IEBACiAJCQkJQTE1RUVERTMxRTMwMUNFRTAw
MDA2OUIwIC8qIFdLUGFzc3dvcmRWaWV3Lm1tICovLAogCQkJCTJENkFCNTNGMTkyQjFDNEEwMDNB
OUZEMSAvKiBXS1BERlBhZ2VOdW1iZXJJbmRpY2F0b3IuaCAqLywKIAkJCQkyRDZBQjU0MDE5MkIx
QzRBMDAzQTlGRDEgLyogV0tQREZQYWdlTnVtYmVySW5kaWNhdG9yLm1tICovLAorCQkJCUExMDQ2
RTlGMjA3OTI2MzEwMEYwQzVEOCAvKiBXS1BERlZpZXcuaCAqLywKKwkJCQlBMTA0NkVBMDIwNzky
NjMxMDBGMEM1RDggLyogV0tQREZWaWV3Lm1tICovLAogCQkJCTBGQ0I0RTQ0MThCQkUwNDQwMDBG
Q0ZDOSAvKiBXS1Njcm9sbFZpZXcuaCAqLywKIAkJCQkwRkNCNEU0NTE4QkJFMDQ0MDAwRkNGQzkg
LyogV0tTY3JvbGxWaWV3Lm1tICovLAogCQkJCTI2RjEwQkU2MTkxODdFMkUwMDFEMEU2OCAvKiBX
S1N5bnRoZXRpY0NsaWNrVGFwR2VzdHVyZVJlY29nbml6ZXIuaCAqLywKQEAgLTk2NDIsNiArOTY0
OCw3IEBACiAJCQkJQTVFRkQzOEMxNkIwRTg4QzAwQjJGMEU4IC8qIFdLUGFnZVZpc2liaWxpdHlU
eXBlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTE1RUVERTYxRTMwMUNFRTAwMDA2OUIwIC8qIFdL
UGFzc3dvcmRWaWV3LmggaW4gSGVhZGVycyAqLywKIAkJCQkyRDZBQjU0MTE5MkIxQzRBMDAzQTlG
RDEgLyogV0tQREZQYWdlTnVtYmVySW5kaWNhdG9yLmggaW4gSGVhZGVycyAqLywKKwkJCQlBMTA0
NkVBMTIwNzkyNjMxMDBGMEM1RDggLyogV0tQREZWaWV3LmggaW4gSGVhZGVycyAqLywKIAkJCQk3
QzEzNUFBOTE3M0IwQkNBMDA1ODZBRTIgLyogV0tQbHVnaW5JbmZvcm1hdGlvbi5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMkRBQkE3NzQxQTgxN0VFNjAwRUYwRjFBIC8qIFdLUGx1Z2luTG9hZFBvbGlj
eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFGREQzMTcxODkxQzk0NzAwMTUzOTcwIC8qIFdLUHJl
ZmVyZW5jZXMuaCBpbiBIZWFkZXJzICovLApAQCAtMTEzMjksNiArMTEzMzYsNyBAQAogCQkJCUJD
RTE3QjdEMTM4MUYxMTcwMDEyQTY0MSAvKiBXS1BhZ2VQcml2YXRlTWFjLm1tIGluIFNvdXJjZXMg
Ki8sCiAJCQkJQTE1RUVERTUxRTMwMUNFRTAwMDA2OUIwIC8qIFdLUGFzc3dvcmRWaWV3Lm1tIGlu
IFNvdXJjZXMgKi8sCiAJCQkJMkQ2QUI1NDIxOTJCMUM0QTAwM0E5RkQxIC8qIFdLUERGUGFnZU51
bWJlckluZGljYXRvci5tbSBpbiBTb3VyY2VzICovLAorCQkJCUExMDQ2RUEyMjA3OTI2MzEwMEYw
QzVEOCAvKiBXS1BERlZpZXcubW0gaW4gU291cmNlcyAqLywKIAkJCQk3QzEzNUFBODE3M0IwQkNB
MDA1ODZBRTIgLyogV0tQbHVnaW5JbmZvcm1hdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlC
Q0Q1OTdEMTExMkI1NkFDMDBFQzhDMjMgLyogV0tQcmVmZXJlbmNlcy5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQkxQUZERDMxOTE4OTFDQTEyMDAxNTM5NzAgLyogV0tQcmVmZXJlbmNlcy5tbSBpbiBT
b3VyY2VzICovLAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>337476</attachid>
            <date>2018-04-08 19:44:00 -0700</date>
            <delta_ts>2018-04-10 12:42:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-184387-20180408194400.patch</filename>
            <type>text/plain</type>
            <size>31708</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMwMzgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDkyODQzZTBlMzI0YTU0NTJhNzA2NjNk
N2UzMjdmMmI1OGYyYzU5ZDcuLmFhMTM2YzVhYTdhNzE3OTYwMzAwOWE5M2M1NDQ3YTdhN2Y0NzI2
NzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTgtMDQtMDcgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNA
YXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIFVzZSBQREZLaXQgdG8gcmVuZGVyIFBERnMgaW4g
V0tXZWJWaWV3CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xODQzODcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIHd0Zi9GZWF0dXJlRGVmaW5lcy5oOiBEZWZpbmVkIEVOQUJMRV9XS0xFR0FDWVBERlZJRVcg
YW5kIEVOQUJMRV9XS1BERlZJRVcuCisKIDIwMTgtMDQtMDggIFl1c3VrZSBTdXp1a2kgIDx1dGF0
YW5lLnRlYUBnbWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgdXNlIGFsaWduYXModm9p
ZCopCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCmluZGV4IGVlMGIxZDEwMGFhN2FkM2UzZGZiNmQ1NTA0ZTkyNTFlNjAxZDkyNjEu
Ljk0ZTk0ZTk3MzU3ZjEzOGVmNzVkMGM4NmNjZmQ1M2VhYjFhNzQ0ODQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTQ1IEBACisyMDE4LTA0LTA4ICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4K
KworICAgICAgICBbaU9TXSBVc2UgUERGS2l0IHRvIHJlbmRlciBQREZzIGluIFdLV2ViVmlldwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg0Mzg3CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRvcHRlZCBQ
REZIb3N0Vmlld0NvbnRyb2xsZXIgZm9yIHJlbmRlcmluZyBQREZzIGluIFdLV2ViVmlldy4KKwor
ICAgICAgICBUaGlzIHBhdGNoIGltcGxlbWVudHMgcmVuZGVyaW5nIHRoZSBQREYgZG9jdW1lbnQg
YW5kIHBhZ2UgbnVtYmVyIGluZGljYXRvci4gTGluaworICAgICAgICBuYXZpZ2F0aW9uLCBmaW5k
LWluLXBhZ2UsIGFuZCBwcmludGluZyB3aWxsIGJlIGltcGxlbWVudGVkIGluIGZvbGxvdy11cCBw
YXRjaGVzLgorCisgICAgICAgIFdLTGVnYWN5UERGVmlldyBpcyBzdGlsbCB0aGUgZGVmYXVsdCBQ
REYgdmlldy4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL1dlYktpdC54Y2NvbmZpZzoKKwor
ICAgICAgICBMaW5rZWQgV2ViS2l0IHdpdGggUERGS2l0IG9uIGlPUy4KKworICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tOgorICAgICAgICAoLVtXS1dlYlZpZXcgX2N1
cnJlbnRDb250ZW50Vmlld10pOgorICAgICAgICAoLVtXS1dlYlZpZXcgdmlld0Zvclpvb21pbmdJ
blNjcm9sbFZpZXc6XSk6CisKKyAgICAgICAgV2hlbiBXS1BERlZpZXcgbG9hZHMgYSBQREYgZG9j
dW1lbnQsIGl0IHJlcGxhY2VzIGl0c2VsZiB3aXRoIGEgdmlldyB2ZW5kZWQgYnkKKyAgICAgICAg
UERGSG9zdFZpZXdDb250cm9sbGVyIGFzIHRoZSBXS1Njcm9sbFZpZXcncyBjb250ZW50IHZpZXcu
IEFic3RyYWN0ZWQgV0tXZWJWaWV3J3MKKyAgICAgICAgY29uY2VwdCBvZiB0aGUgImN1cnJlbnQg
Y29udGVudCB2aWV3IiB0byBiZSBlaXRoZXIgdGhlIFdLQ29udGVudFZpZXcgb3IgYSB2aWV3IG9m
CisgICAgICAgIHRoZSBjdXN0b20gY29udGVudCB2aWV3J3MgY2hvb3NpbmcgKC13ZWJfY29udGVu
dFZpZXcpLgorCisgICAgICAgICgtW1dLV2ViVmlldyBzY3JvbGxWaWV3V2lsbEJlZ2luWm9vbWlu
Zzp3aXRoVmlldzpdKToKKyAgICAgICAgKC1bV0tXZWJWaWV3IHNjcm9sbFZpZXdEaWRab29tOl0p
OgorICAgICAgICAoLVtXS1dlYlZpZXcgc2Nyb2xsVmlld0RpZEVuZFpvb21pbmc6d2l0aFZpZXc6
YXRTY2FsZTpdKToKKworICAgICAgICBGb3J3YXJkZWQgdGhlc2UgY2FsbHMgdG8gX2N1c3RvbUNv
bnRlbnRWaWV3IGlmIGl0IHJlc3BvbmRzIHRvIHRoZSBlcXVpdmFsZW50CisgICAgICAgIFdLV2Vi
Vmlld0NvbnRlbnRQcm92aWRlciBzZWxlY3RvcnMuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29j
b2EvV0tXZWJWaWV3Q29udGVudFByb3ZpZGVyLmg6CisKKyAgICAgICAgRGVmaW5lZCBuZXcgcHJv
dG9jb2wgc2VsZWN0b3JzLgorCisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dLV2ViVmlld0Nv
bnRlbnRQcm92aWRlclJlZ2lzdHJ5Lm1tOgorICAgICAgICAoLVtXS1dlYlZpZXdDb250ZW50UHJv
dmlkZXJSZWdpc3RyeSBpbml0XSk6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS0xlZ2FjeVBE
RlZpZXcuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLTGVnYWN5UERGVmlldy5tbToKKwor
ICAgICAgICBDaGFuZ2VkIEVOQUJMRShXS1BERlZJRVcpIHRvIEVOQUJMRShXS0xFR0FDWVBERlZJ
RVcpLgorCisgICAgICAgICgtW1dLTGVnYWN5UERGVmlldyB3ZWJfY29udGVudFZpZXddKToKKwor
ICAgICAgICBBZGRlZC4gUmV0dXJucyBzZWxmIGFzIHRoZSBjb250ZW50IHZpZXcuCisKKyAgICAg
ICAgKiBVSVByb2Nlc3MvaW9zL1dLUERGVmlldy5oOiBBZGRlZC4KKyAgICAgICAgKiBVSVByb2Nl
c3MvaW9zL1dLUERGVmlldy5tbTogQWRkZWQuCisgICAgICAgICgtW1dLUERGVmlldyBkZWFsbG9j
XSk6CisKKyAgICAgICAgUmVtb3ZlZCB0aGUgaG9zdCB2aWV3IGFuZCBwYWdlIG51bWJlciBpbmRp
Y2F0b3IgZnJvbSB0aGVpciBzdXBlcnZpZXdzLgorCisgICAgICAgICgtW1dLUERGVmlldyBnZXN0
dXJlUmVjb2duaXplclNob3VsZEJlZ2luOl0pOgorCisgICAgICAgIEZvcndhcmRlZCB0byBfaG9z
dFZpZXdDb250cm9sbGVyLgorCisgICAgICAgICgtW1dLUERGVmlldyB3ZWJfaW5pdFdpdGhGcmFt
ZTp3ZWJWaWV3Ol0pOgorCisgICAgICAgIFNldCBvdXJzIGFuZCB0aGUgc2Nyb2xsIHZpZXcncyBi
YWNrZ3JvdW5kIGNvbG9yIHRvIFVJQ29sb3IuZ3JheUNvbG9yIHRvIG1hdGNoCisgICAgICAgIFdL
TGVnYWN5UERGVmlldy4KKworICAgICAgICAoLVtXS1BERlZpZXcgd2ViX3NldENvbnRlbnRQcm92
aWRlckRhdGE6c3VnZ2VzdGVkRmlsZW5hbWU6XSk6CisKKyAgICAgICAgQ3JlYXRlZCBhIFBERkhv
c3RWaWV3Q29udHJvbGxlciBhbmQgc2V0IGl0cyByb290IHZpZXcgYXMgdGhlIHNjcm9sbCB2aWV3
J3MgY29udGVudAorICAgICAgICB2aWV3IGFmdGVyIHJlbW92aW5nIHRoZSBXS1BERlZpZXcgaXRz
ZWxmLiBUaGlzIGFsbG93cyBXS1BERlZpZXcgdG8gYWN0IGFzIGEKKyAgICAgICAgcGxhY2Vob2xk
ZXIgY29udGVudCB2aWV3IHVudGlsIHRoZSBQREYgaXMgbG9hZGVkLiBBZGRlZCB0aGUgaG9zdCB2
aWV3IGNvbnRyb2xsZXIncworICAgICAgICBwYWdlIG51bWJlciBpbmRpY2F0b3IgdG8gdGhlIGZp
eGVkIG92ZXJsYXkgdmlldy4gRmluYWxseSwgbG9hZGVkIHRoZSBQREYgZG9jdW1lbnQKKyAgICAg
ICAgYnkgY2FsbGluZyAtW1BERkhvc3RWaWV3Q29udHJvbGxlciBzZXREb2N1bWVudERhdGE6d2l0
aFNjcm9sbFZpZXc6XS4KKworICAgICAgICAoLVtXS1BERlZpZXcgX29mZnNldEZvclBhZ2VOdW1i
ZXJJbmRpY2F0b3JdKToKKworICAgICAgICBDb21wdXRlZCBhbiBvZmZzZXQgZm9yIHRoZSBwYWdl
IG51bWJlciBpbmRpY2F0b3IgbGlrZSBXS0xlZ2FjeVBERlZpZXcgZGlkLCB0YWtpbmcKKyAgICAg
ICAgaW50byBhY2NvdW50IHRoZSBvdmVybGFpZCBhY2Nlc3Nvcnkgdmlld3MgaW5zZXQsIGNvbXB1
dGVkIHVub2JzY3VyZWQgc2FmZSBhcmVhCisgICAgICAgIGluc2V0LCBhbmQgY29tcHV0ZWQgb2Jz
Y3VyZWQgaW5zZXQuCisKKyAgICAgICAgKC1bV0tQREZWaWV3IF9tb3ZlUGFnZU51bWJlckluZGlj
YXRvclRvUG9pbnQ6YW5pbWF0ZWQ6XSk6CisKKyAgICAgICAgTW92ZWQgdGhlIHBhZ2UgbnVtYmVy
IGluZGljYXRvciB1c2luZyB0aGUgbWFyZ2luIGFuZCBhbmltYXRpb24gZHVyYXRpb24gZnJvbQor
ICAgICAgICBXS0xlZ2FjeVBERlZpZXcuCisKKyAgICAgICAgKC1bV0tQREZWaWV3IF91cGRhdGVM
YXlvdXRBbmltYXRlZDpdKToKKworICAgICAgICBBZGRlZCBhIGNvbnZlbmllbmNlIG1ldGhvZCB0
byB1cGRhdGUgdGhlIFBERiB2aWV3IGxheW91dCBhbmQgcG9zaXRpb24gdGhlIHBhZ2UKKyAgICAg
ICAgbnVtYmVyIGluZGljYXRvci4KKworICAgICAgICAoLVtXS1BERlZpZXcgd2ViX3NldE1pbmlt
dW1TaXplOl0pOgorCisgICAgICAgIFVwZGF0ZWQgb3VyIG93biBmcmFtZSBpbiBjYXNlIHdlIGFy
ZSBzdGlsbCB0aGUgcGxhY2Vob2xkZXIgY29udGVudCB2aWV3LgorICAgICAgICBDYWxsZWQgLV91
cGRhdGVMYXlvdXRBbmltYXRlZDouCisKKyAgICAgICAgKC1bV0tQREZWaWV3IHdlYl9zZXRPdmVy
bGFpZEFjY2Vzc29yeVZpZXdzSW5zZXQ6XSk6CisKKyAgICAgICAgU3RvcmVkIHRoZSBpbnNldCBh
bmQgY2FsbGVkIC1fdXBkYXRlTGF5b3V0QW5pbWF0ZWQ6LgorCisgICAgICAgICgtW1dLUERGVmll
dyB3ZWJfY29tcHV0ZWRDb250ZW50SW5zZXREaWRDaGFuZ2VdKToKKworICAgICAgICBDYWxsZWQg
LV91cGRhdGVMYXlvdXRBbmltYXRlZDouCisKKyAgICAgICAgKC1bV0tQREZWaWV3IHdlYl9zZXRG
aXhlZE92ZXJsYXlWaWV3Ol0pOgorCisgICAgICAgIFN0b3JlZCB0aGUgZml4ZWQgb3ZlcmxheSB2
aWV3LgorCisgICAgICAgICgtW1dLUERGVmlldyB3ZWJfZGlkU2FtZURvY3VtZW50TmF2aWdhdGlv
bjpdKToKKyAgICAgICAgKC1bV0tQREZWaWV3IHdlYl9jb3VudFN0cmluZ01hdGNoZXM6b3B0aW9u
czptYXhDb3VudDpdKToKKyAgICAgICAgKC1bV0tQREZWaWV3IHdlYl9maW5kU3RyaW5nOm9wdGlv
bnM6bWF4Q291bnQ6XSk6CisgICAgICAgICgtW1dLUERGVmlldyB3ZWJfaGlkZUZpbmRVSV0pOgor
CisgICAgICAgIEFkZGVkIEZJWE1Fcy4KKworICAgICAgICAoLVtXS1BERlZpZXcgd2ViX2NvbnRl
bnRWaWV3XSk6CisKKyAgICAgICAgSWYgdGhlcmUgaXMgYSBob3N0IHZpZXcgY29udHJvbGxlciwg
cmV0dXJuIGl0cyByb290IHZpZXcuIE90aGVyd2lzZSwgcmV0dXJuIHNlbGYuCisKKyAgICAgICAg
KC1bV0tQREZWaWV3IHdlYl9zY3JvbGxWaWV3RGlkU2Nyb2xsOl0pOgorICAgICAgICAoLVtXS1BE
RlZpZXcgd2ViX3Njcm9sbFZpZXdXaWxsQmVnaW5ab29taW5nOndpdGhWaWV3Ol0pOgorICAgICAg
ICAoLVtXS1BERlZpZXcgd2ViX3Njcm9sbFZpZXdEaWRFbmRab29taW5nOndpdGhWaWV3OmF0U2Nh
bGU6XSk6CisgICAgICAgICgtW1dLUERGVmlldyB3ZWJfc2Nyb2xsVmlld0RpZFpvb206XSk6CisK
KyAgICAgICAgQ2FsbGVkIC1bUERGSG9zdFZpZXdDb250cm9sbGVyIHVwZGF0ZVBERlZpZXdMYXlv
dXRdLgorCisgICAgICAgICgtW1dLUERGVmlldyB3ZWJfZGF0YVJlcHJlc2VudGF0aW9uXSk6CisK
KyAgICAgICAgUmV0dXJuZWQgX2RhdGEuCisKKyAgICAgICAgKC1bV0tQREZWaWV3IHdlYl9zdWdn
ZXN0ZWRGaWxlbmFtZV0pOgorCisgICAgICAgIFJldHVybmVkIF9zdWdnZXN0ZWRGaWxlbmFtZS4K
KworICAgICAgICAoLVtXS1BERlZpZXcgd2ViX2lzQmFja2dyb3VuZF0pOgorCisgICAgICAgIFJl
dHVybmVkIHNlbGYuaXNCYWNrZ3JvdW5kLgorCisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS1N5
c3RlbVByZXZpZXdWaWV3Lm1tOgorICAgICAgICAoLVtXS1N5c3RlbVByZXZpZXdWaWV3IHdlYl9j
b250ZW50Vmlld10pOgorCisgICAgICAgIEFkZGVkLiBSZXR1cm5zIHNlbGYgYXMgdGhlIGNvbnRl
bnQgdmlldy4KKworICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgor
CiAyMDE4LTA0LTA4ICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KIAogICAgICAgICBb
aU9TXSBXS0NvbnRlbnRWaWV3IGFuZCBXS0xlZ2FjeVBERlZpZXcgc2hvdWxkIHNoYXJlIGFwcGxp
Y2F0aW9uIHN0YXRlIHRyYWNraW5nIGxvZ2ljCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9G
ZWF0dXJlRGVmaW5lcy5oIGIvU291cmNlL1dURi93dGYvRmVhdHVyZURlZmluZXMuaAppbmRleCBi
Mzk3NmU3YWY0MjNlZDEyMmU1NjE0OWUwODA0MTFjZDczYWEwYjAzLi4wNGUxNmEwZGYwZTNiNDMx
MzU5ZjJmNWI3ZmEyODkzNzc1NmI5NjAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9GZWF0
dXJlRGVmaW5lcy5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL0ZlYXR1cmVEZWZpbmVzLmgKQEAgLTE2
Niw4ICsxNjYsMTQgQEAgdGhlIHB1YmxpYyBpT1MgU0RLLiBTZWUgPGh0dHBzOi8vd2Via2l0Lm9y
Zy9iLzE3OTE2Nz4uICovCiAjZGVmaW5lIEVOQUJMRV9ET1dOTE9BRF9BVFRSSUJVVEUgMAogI2Vu
ZGlmCiAKKyNpZiAhZGVmaW5lZChFTkFCTEVfV0tMRUdBQ1lQREZWSUVXKQorI2lmIFBMQVRGT1JN
KElPUykgJiYgIVBMQVRGT1JNKFdBVENIT1MpICYmICFQTEFURk9STShBUFBMRVRWKSAmJiAhRU5B
QkxFKE1JTklNQUxfU0lNVUxBVE9SKQorI2RlZmluZSBFTkFCTEVfV0tMRUdBQ1lQREZWSUVXIDEK
KyNlbmRpZgorI2VuZGlmCisKICNpZiAhZGVmaW5lZChFTkFCTEVfV0tQREZWSUVXKQotI2lmICFQ
TEFURk9STShXQVRDSE9TKSAmJiAhUExBVEZPUk0oQVBQTEVUVikgJiYgIUVOQUJMRShNSU5JTUFM
X1NJTVVMQVRPUikKKyNpZiBQTEFURk9STShJT1MpICYmICFQTEFURk9STShXQVRDSE9TKSAmJiAh
UExBVEZPUk0oQVBQTEVUVikgJiYgIUVOQUJMRShNSU5JTUFMX1NJTVVMQVRPUikgJiYgX19JUEhP
TkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTIwMDAwCiAjZGVmaW5lIEVOQUJMRV9XS1BE
RlZJRVcgMQogI2VuZGlmCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ29uZmln
dXJhdGlvbnMvV2ViS2l0LnhjY29uZmlnIGIvU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9X
ZWJLaXQueGNjb25maWcKaW5kZXggYjkwMjFhMWFhYzg3OTg4OGQ2ZmFkNjBjY2FlYTdmMGM4Yjdh
NDEyNC4uOGQwMGQwN2IzZGM5OWZmYTBlMDUxZGU4MmI0MmQ3NTk0YjY5ZDNkMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9XZWJLaXQueGNjb25maWcKKysrIGIvU291
cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9XZWJLaXQueGNjb25maWcKQEAgLTkwLDYgKzkwLDEy
IEBAIFdLX09QRU5HTF9MREZMQUdTX2FwcGxldHZvcyA9ICQoV0tfT1BFTkdMX0xERkxBR1NfaXBo
b25lb3MpOwogV0tfT1BFTkdMX0xERkxBR1NfYXBwbGV0dnNpbXVsYXRvciA9ICQoV0tfT1BFTkdM
X0xERkxBR1NfaXBob25lc2ltdWxhdG9yKTsKIFdLX09QRU5HTF9MREZMQUdTX21hY29zeCA9IC1m
cmFtZXdvcmsgT3BlbkdMOwogCitXS19QREZLSVRfTERGTEFHUyA9ICQoV0tfUERGS0lUX0xERkxB
R1NfJChXS19QTEFURk9STV9OQU1FKSk7CitXS19QREZLSVRfTERGTEFHU19pcGhvbmVvcyA9IC1m
cmFtZXdvcmsgUERGS2l0OworV0tfUERGS0lUX0xERkxBR1NfaXBob25lc2ltdWxhdG9yID0gJChX
S19QREZLSVRfTERGTEFHU19pcGhvbmVvcyk7CitXS19QREZLSVRfTERGTEFHU19pcGhvbmVvc1tz
ZGs9aXBob25lKjExLipdID0gOworV0tfUERGS0lUX0xERkxBR1NfaXBob25lc2ltdWxhdG9yW3Nk
az1pcGhvbmUqMTEuKl0gPSA7CisKIFdLX1NBRkVfQlJPV1NJTkdfTERGTEFHUyA9ICQoV0tfU0FG
RV9CUk9XU0lOR19MREZMQUdTXyQoV0tfUExBVEZPUk1fTkFNRSkpOwogV0tfU0FGRV9CUk9XU0lO
R19MREZMQUdTX2lwaG9uZW9zID0gLWZyYW1ld29yayBTYWZhcmlTYWZlQnJvd3Npbmc7CiBXS19T
QUZFX0JST1dTSU5HX0xERkxBR1NfaXBob25lc2ltdWxhdG9yID0gLWZyYW1ld29yayBTYWZhcmlT
YWZlQnJvd3Npbmc7CkBAIC0xMDEsNyArMTA3LDcgQEAgV0tfU0FGRV9CUk9XU0lOR19MREZMQUdT
X01BQ09TX1NJTkNFXzEwMTMgPSAtd2Vha19mcmFtZXdvcmsgU2FmYXJpU2FmZUJyb3dzaW5nOwog
V0tfVUlLSVRfTERGTEFHUyA9ICQoV0tfVUlLSVRfTERGTEFHU18kKFdLX0NPQ09BX1RPVUNIKSk7
CiBXS19VSUtJVF9MREZMQUdTX2NvY29hdG91Y2ggPSAtZnJhbWV3b3JrIFVJS2l0OwogCi1GUkFN
RVdPUktfQU5EX0xJQlJBUllfTERGTEFHUyA9IC1sb2JqYyAtZnJhbWV3b3JrIENGTmV0d29yayAt
ZnJhbWV3b3JrIENvcmVBdWRpbyAtZnJhbWV3b3JrIENvcmVGb3VuZGF0aW9uIC1mcmFtZXdvcmsg
Q29yZUdyYXBoaWNzIC1mcmFtZXdvcmsgQ29yZVRleHQgLWZyYW1ld29yayBGb3VuZGF0aW9uIC1m
cmFtZXdvcmsgSW1hZ2VJTyAtZnJhbWV3b3JrIElPS2l0IC1mcmFtZXdvcmsgV2ViS2l0TGVnYWN5
ICQoV0tfQUNDRVNTSUJJTElUWV9MREZMQUdTKSAkKFdLX0FQUEtJVF9MREZMQUdTKSAkKFdLX0FT
U0VSVElPTl9TRVJWSUNFU19MREZMQUdTKSAkKFdLX0NBUkJPTl9MREZMQUdTKSAkKFdLX0NPUkVf
UERGX0xERkxBR1MpICQoV0tfQ09SRV9QUkVESUNUSU9OX0xERkxBR1MpICQoV0tfQ09SRV9TRVJW
SUNFU19MREZMQUdTKSAkKFdLX0dSQVBISUNTX1NFUlZJQ0VTX0xERkxBR1MpICQoV0tfSU9TVVJG
QUNFX0xERkxBR1MpICQoV0tfTElCV0VCUlRDX0xERkxBR1MpICQoV0tfTU9CSUxFX0NPUkVfU0VS
VklDRVNfTERGTEFHUykgJChXS19NT0JJTEVfR0VTVEFMVF9MREZMQUdTKSAkKFdLX09QRU5HTF9M
REZMQUdTKSAkKFdLX1NBRkVfQlJPV1NJTkdfTERGTEFHUykgJChXS19VSUtJVF9MREZMQUdTKTsK
K0ZSQU1FV09SS19BTkRfTElCUkFSWV9MREZMQUdTID0gLWxvYmpjIC1mcmFtZXdvcmsgQ0ZOZXR3
b3JrIC1mcmFtZXdvcmsgQ29yZUF1ZGlvIC1mcmFtZXdvcmsgQ29yZUZvdW5kYXRpb24gLWZyYW1l
d29yayBDb3JlR3JhcGhpY3MgLWZyYW1ld29yayBDb3JlVGV4dCAtZnJhbWV3b3JrIEZvdW5kYXRp
b24gLWZyYW1ld29yayBJbWFnZUlPIC1mcmFtZXdvcmsgSU9LaXQgLWZyYW1ld29yayBXZWJLaXRM
ZWdhY3kgJChXS19BQ0NFU1NJQklMSVRZX0xERkxBR1MpICQoV0tfQVBQS0lUX0xERkxBR1MpICQo
V0tfQVNTRVJUSU9OX1NFUlZJQ0VTX0xERkxBR1MpICQoV0tfQ0FSQk9OX0xERkxBR1MpICQoV0tf
Q09SRV9QREZfTERGTEFHUykgJChXS19DT1JFX1BSRURJQ1RJT05fTERGTEFHUykgJChXS19DT1JF
X1NFUlZJQ0VTX0xERkxBR1MpICQoV0tfR1JBUEhJQ1NfU0VSVklDRVNfTERGTEFHUykgJChXS19J
T1NVUkZBQ0VfTERGTEFHUykgJChXS19MSUJXRUJSVENfTERGTEFHUykgJChXS19NT0JJTEVfQ09S
RV9TRVJWSUNFU19MREZMQUdTKSAkKFdLX01PQklMRV9HRVNUQUxUX0xERkxBR1MpICQoV0tfT1BF
TkdMX0xERkxBR1MpICQoV0tfUERGS0lUX0xERkxBR1MpICQoV0tfU0FGRV9CUk9XU0lOR19MREZM
QUdTKSAkKFdLX1VJS0lUX0xERkxBR1MpOwogCiAvLyBQcmV2ZW50IEMrKyBzdGFuZGFyZCBsaWJy
YXJ5IG9wZXJhdG9yIG5ldywgZGVsZXRlIGFuZCB0aGVpciByZWxhdGVkIGV4Y2VwdGlvbiB0eXBl
cyBmcm9tIGJlaW5nIGV4cG9ydGVkIGFzIHdlYWsgc3ltYm9scy4KIFVORVhQT1JURURfU1lNQk9M
X0xERkxBR1MgPSAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pUSVN0OWJhZF9hbGxvYyAt
V2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pUSVN0OWV4Y2VwdGlvbiAtV2wsLXVuZXhwb3J0
ZWRfc3ltYm9sIC1XbCxfX1pUU1N0OWJhZF9hbGxvYyAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1X
bCxfX1pUU1N0OWV4Y2VwdGlvbiAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pkbFB2U18g
LVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19abndtUHYgLVdsLC11bmV4cG9ydGVkX3N5bWJv
bCAtV2wsX19abndtIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wsIC1XbCxfX1pOU3QzX18xOGZ1bmN0
aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25FRUVDMkVPUzRfIC1XbCwtdW5leHBvcnRlZF9z
eW1ib2wsIC1XbCxfX1pOU3QzX18xOGZ1bmN0aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25F
RUVDMUVPUzRfIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wsIC1XbCxfX1pOU3QzX18xOGZ1bmN0aW9u
SUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25FRUVhU0VEbiAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9s
LCAtV2wsX19aTktTdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBvbGljeUFjdGlvbkVFRWNs
RVMyXyAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sLCAtV2wsX19aTlN0M19fMThmdW5jdGlvbklGdk43
V2ViQ29yZTEyUG9saWN5QWN0aW9uRUVFNHN3YXBFUlM0XyAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9s
LCAtV2wsX19aTlN0M19fMThmdW5jdGlvbklGdk43V2ViQ29yZTEyUG9saWN5QWN0aW9uRUVFQzFF
UktTNF8gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCwgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZO
N1dlYkNvcmUxMlBvbGljeUFjdGlvbkVFRUMyRVJLUzRfIC1XbCwtdW5leHBvcnRlZF9zeW1ib2ws
IC1XbCxfX1pOU3QzX18xOGZ1bmN0aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25FRUVEMUV2
IC1XbCwtdW5leHBvcnRlZF9zeW1ib2wsIC1XbCxfX1pOU3QzX18xOGZ1bmN0aW9uSUZ2TjdXZWJD
b3JlMTJQb2xpY3lBY3Rpb25FRUVEMkV2IC1XbCwtdW5leHBvcnRlZF9zeW1ib2wsIC1XbCxfX1pO
U3QzX18xOGZ1bmN0aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25FRUVhU0VSS1M0XyAtV2ws
LXVuZXhwb3J0ZWRfc3ltYm9sLCAtV2wsX19aVFZOU3QzX18xMTdiYWRfZnVuY3Rpb25fY2FsbEU7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3
Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQppbmRl
eCBjYTI4Y2E4MWEyNTJlOWJhOWQyNmFlZThlNDhjMDdkODdmNjljOGVkLi44ZWE0NjlhMmU1YTQw
ZDY3MGU1NGQwYThmZWZiMDBmNjRlYTUwYmY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KQEAgLTE0MjIsNyArMTQyMiw3IEBAIHN0YXRpYyBD
R1NpemUgcm91bmRTY3JvbGxWaWV3Q29udGVudFNpemUoY29uc3QgV2ViS2l0OjpXZWJQYWdlUHJv
eHkmIHBhZ2UsIENHU2l6CiAKIC0gKFVJVmlldyAqKV9jdXJyZW50Q29udGVudFZpZXcKIHsKLSAg
ICByZXR1cm4gX2N1c3RvbUNvbnRlbnRWaWV3ID8gX2N1c3RvbUNvbnRlbnRWaWV3LmdldCgpIDog
X2NvbnRlbnRWaWV3LmdldCgpOworICAgIHJldHVybiBfY3VzdG9tQ29udGVudFZpZXcgPyBbX2N1
c3RvbUNvbnRlbnRWaWV3IHdlYl9jb250ZW50Vmlld10gOiBfY29udGVudFZpZXcuZ2V0KCk7CiB9
CiAKIC0gKFdLV2ViVmlld0NvbnRlbnRQcm92aWRlclJlZ2lzdHJ5ICopX2NvbnRlbnRQcm92aWRl
clJlZ2lzdHJ5CkBAIC0yMzQ4LDE3ICsyMzQ4LDE2IEBAIC0gKENHU2l6ZSlzY3JvbGxWaWV3OihV
SVNjcm9sbFZpZXcqKXNjcm9sbFZpZXcgY29udGVudFNpemVGb3Jab29tU2NhbGU6KENHRmxvYXQp
CiAtIChVSVZpZXcgKil2aWV3Rm9yWm9vbWluZ0luU2Nyb2xsVmlldzooVUlTY3JvbGxWaWV3ICop
c2Nyb2xsVmlldwogewogICAgIEFTU0VSVChfc2Nyb2xsVmlldyA9PSBzY3JvbGxWaWV3KTsKLQot
ICAgIGlmIChfY3VzdG9tQ29udGVudFZpZXcpCi0gICAgICAgIHJldHVybiBfY3VzdG9tQ29udGVu
dFZpZXcuZ2V0KCk7Ci0KLSAgICByZXR1cm4gX2NvbnRlbnRWaWV3LmdldCgpOworICAgIHJldHVy
biBzZWxmLl9jdXJyZW50Q29udGVudFZpZXc7CiB9CiAKIC0gKHZvaWQpc2Nyb2xsVmlld1dpbGxC
ZWdpblpvb21pbmc6KFVJU2Nyb2xsVmlldyAqKXNjcm9sbFZpZXcgd2l0aFZpZXc6KFVJVmlldyAq
KXZpZXcKIHsKLSAgICBpZiAoIVtzZWxmIHVzZXNTdGFuZGFyZENvbnRlbnRWaWV3XSkKKyAgICBp
ZiAoIVtzZWxmIHVzZXNTdGFuZGFyZENvbnRlbnRWaWV3XSkgeworICAgICAgICBpZiAoW19jdXN0
b21Db250ZW50VmlldyByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKHdlYl9zY3JvbGxWaWV3
V2lsbEJlZ2luWm9vbWluZzp3aXRoVmlldzopXSkKKyAgICAgICAgICAgIFtfY3VzdG9tQ29udGVu
dFZpZXcgd2ViX3Njcm9sbFZpZXdXaWxsQmVnaW5ab29taW5nOnNjcm9sbFZpZXcgd2l0aFZpZXc6
dmlld107CiAgICAgICAgIHJldHVybjsKKyAgICB9CiAKICAgICBpZiAoc2Nyb2xsVmlldy5waW5j
aEdlc3R1cmVSZWNvZ25pemVyLnN0YXRlID09IFVJR2VzdHVyZVJlY29nbml6ZXJTdGF0ZUJlZ2Fu
KSB7CiAgICAgICAgIF9wYWdlLT53aWxsU3RhcnRVc2VyVHJpZ2dlcmVkWm9vbWluZygpOwpAQCAt
MjQ1MSwxMiArMjQ1MCwxOCBAQCAtICh2b2lkKXNjcm9sbFZpZXdEaWRTY3JvbGw6KFVJU2Nyb2xs
VmlldyAqKXNjcm9sbFZpZXcKIAogLSAodm9pZClzY3JvbGxWaWV3RGlkWm9vbTooVUlTY3JvbGxW
aWV3ICopc2Nyb2xsVmlldwogeworICAgIGlmICghW3NlbGYgdXNlc1N0YW5kYXJkQ29udGVudFZp
ZXddICYmIFtfY3VzdG9tQ29udGVudFZpZXcgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcih3
ZWJfc2Nyb2xsVmlld0RpZFpvb206KV0pCisgICAgICAgIFtfY3VzdG9tQ29udGVudFZpZXcgd2Vi
X3Njcm9sbFZpZXdEaWRab29tOnNjcm9sbFZpZXddOworCiAgICAgW3NlbGYgX3VwZGF0ZVNjcm9s
bFZpZXdCYWNrZ3JvdW5kXTsKICAgICBbc2VsZiBfc2NoZWR1bGVWaXNpYmxlQ29udGVudFJlY3RV
cGRhdGVBZnRlclNjcm9sbEluVmlldzpzY3JvbGxWaWV3XTsKIH0KIAogLSAodm9pZClzY3JvbGxW
aWV3RGlkRW5kWm9vbWluZzooVUlTY3JvbGxWaWV3ICopc2Nyb2xsVmlldyB3aXRoVmlldzooVUlW
aWV3ICopdmlldyBhdFNjYWxlOihDR0Zsb2F0KXNjYWxlCiB7CisgICAgaWYgKCFbc2VsZiB1c2Vz
U3RhbmRhcmRDb250ZW50Vmlld10gJiYgW19jdXN0b21Db250ZW50VmlldyByZXNwb25kc1RvU2Vs
ZWN0b3I6QHNlbGVjdG9yKHdlYl9zY3JvbGxWaWV3RGlkRW5kWm9vbWluZzp3aXRoVmlldzphdFNj
YWxlOildKQorICAgICAgICBbX2N1c3RvbUNvbnRlbnRWaWV3IHdlYl9zY3JvbGxWaWV3RGlkRW5k
Wm9vbWluZzpzY3JvbGxWaWV3IHdpdGhWaWV3OnZpZXcgYXRTY2FsZTpzY2FsZV07CisKICAgICBB
U1NFUlQoc2Nyb2xsVmlldyA9PSBfc2Nyb2xsVmlldyk7CiAgICAgLy8gRklYTUU6IHJlbW92ZSB3
aGVuIHJkYXI6Ly9wcm9ibGVtLzM2MDY1NDk1IGlzIGZpeGVkLgogICAgIC8vIFdoZW4gcm90YXRp
bmcgd2l0aCB0d28gZmluZ2VycyBkb3duLCBVSVNjcm9sbFZpZXcgY2FuIHNldCBhIGJvZ3VzIGNv
bnRlbnQgdmlldyBwb3NpdGlvbi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0NvY29hL1dLV2ViVmlld0NvbnRlbnRQcm92aWRlci5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQ29jb2EvV0tXZWJWaWV3Q29udGVudFByb3ZpZGVyLmgKaW5kZXggMGRlMWE5YjhkNTE5NGEz
Mzk2OTY4MjE4ODBkMmNmMjlhZDViM2UxZi4uYjdmYzU5ZWNkZmU1NDJmMjBjYTEzZWJjODBjNGIz
NDk4ZGVhNzk5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV0tX
ZWJWaWV3Q29udGVudFByb3ZpZGVyLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29j
b2EvV0tXZWJWaWV3Q29udGVudFByb3ZpZGVyLmgKQEAgLTUyLDkgKzUyLDEzIEBAIHN0cnVjdCBV
SUVkZ2VJbnNldHM7CiAtICh2b2lkKXdlYl9jb3VudFN0cmluZ01hdGNoZXM6KE5TU3RyaW5nICop
c3RyaW5nIG9wdGlvbnM6KF9XS0ZpbmRPcHRpb25zKW9wdGlvbnMgbWF4Q291bnQ6KE5TVUludGVn
ZXIpbWF4Q291bnQ7CiAtICh2b2lkKXdlYl9maW5kU3RyaW5nOihOU1N0cmluZyAqKXN0cmluZyBv
cHRpb25zOihfV0tGaW5kT3B0aW9ucylvcHRpb25zIG1heENvdW50OihOU1VJbnRlZ2VyKW1heENv
dW50OwogLSAodm9pZCl3ZWJfaGlkZUZpbmRVSTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFk
b25seSkgVUlWaWV3ICp3ZWJfY29udGVudFZpZXc7CiAKIEBvcHRpb25hbAogLSAodm9pZCl3ZWJf
c2Nyb2xsVmlld0RpZFNjcm9sbDooVUlTY3JvbGxWaWV3ICopc2Nyb2xsVmlldzsKKy0gKHZvaWQp
d2ViX3Njcm9sbFZpZXdXaWxsQmVnaW5ab29taW5nOihVSVNjcm9sbFZpZXcgKilzY3JvbGxWaWV3
IHdpdGhWaWV3OihVSVZpZXcgKil2aWV3OworLSAodm9pZCl3ZWJfc2Nyb2xsVmlld0RpZEVuZFpv
b21pbmc6KFVJU2Nyb2xsVmlldyAqKXNjcm9sbFZpZXcgd2l0aFZpZXc6KFVJVmlldyAqKXZpZXcg
YXRTY2FsZTooQ0dGbG9hdClzY2FsZTsKKy0gKHZvaWQpd2ViX3Njcm9sbFZpZXdEaWRab29tOihV
SVNjcm9sbFZpZXcgKilzY3JvbGxWaWV3OwogQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5
KSBOU0RhdGEgKndlYl9kYXRhUmVwcmVzZW50YXRpb247CiBAcHJvcGVydHkgKG5vbmF0b21pYywg
cmVhZG9ubHkpIE5TU3RyaW5nICp3ZWJfc3VnZ2VzdGVkRmlsZW5hbWU7CiBAcHJvcGVydHkgKG5v
bmF0b21pYywgcmVhZG9ubHkpIEJPT0wgd2ViX2lzQmFja2dyb3VuZDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dLV2ViVmlld0NvbnRlbnRQcm92aWRlclJlZ2lz
dHJ5Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV0tXZWJWaWV3Q29udGVudFBy
b3ZpZGVyUmVnaXN0cnkubW0KaW5kZXggZGM4MWY1MzFlZTIxMmEzM2M1NTg5ZWUyZTMzMDZkNThj
OTBlYzNmMC4uZWZiNGViOThmM2NmYzZjMGZmZDc2ODNmM2I4OTJhZGE4Yzk2NTM0NiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV0tXZWJWaWV3Q29udGVudFByb3Zp
ZGVyUmVnaXN0cnkubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV0tXZWJW
aWV3Q29udGVudFByb3ZpZGVyUmVnaXN0cnkubW0KQEAgLTU2LDcgKzU2LDcgQEAgLSAoaW5zdGFu
Y2V0eXBlKWluaXQKICAgICBpZiAoIShzZWxmID0gW3N1cGVyIGluaXRdKSkKICAgICAgICAgcmV0
dXJuIG5pbDsKIAotI2lmIEVOQUJMRShXS1BERlZJRVcpCisjaWYgRU5BQkxFKFdLTEVHQUNZUERG
VklFVykKICAgICBmb3IgKGF1dG8mIG1pbWVUeXBlIDogV2ViQ29yZTo6TUlNRVR5cGVSZWdpc3Ry
eTo6Z2V0UERGTUlNRVR5cGVzKCkpCiAgICAgICAgIFtzZWxmIHJlZ2lzdGVyUHJvdmlkZXI6W1dL
TGVnYWN5UERGVmlldyBjbGFzc10gZm9yTUlNRVR5cGU6bWltZVR5cGVdOwogI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tMZWdhY3lQREZWaWV3LmggYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tMZWdhY3lQREZWaWV3LmgKaW5kZXggMzdhYTAy
NTk2ZmI0YmYxMDcwMTU2N2NiNWU3M2FkZmJkOTgzOWFlYS4uYjIxZWI3YzBhYjI5ZDg4Y2Y3YmMz
Zjk2ZGYzN2ZkZjM1ZjEwNzRmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
aW9zL1dLTGVnYWN5UERGVmlldy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9X
S0xlZ2FjeVBERlZpZXcuaApAQCAtMjMsNyArMjMsNyBAQAogICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgogICovCiAKLSNpZiBQTEFURk9STShJT1MpICYmIEVOQUJMRShXS1BERlZJ
RVcpCisjaWYgRU5BQkxFKFdLTEVHQUNZUERGVklFVykKIAogI2ltcG9ydCAiQ29yZVBERlNQSS5o
IgogI2ltcG9ydCAiV0tBY3Rpb25TaGVldEFzc2lzdGFudC5oIgpAQCAtMzMsNCArMzMsNCBAQAog
QGludGVyZmFjZSBXS0xlZ2FjeVBERlZpZXcgOiBXS0FwcGxpY2F0aW9uU3RhdGVUcmFja2luZ1Zp
ZXcgPFdLV2ViVmlld0NvbnRlbnRQcm92aWRlciwgVUlQREZQYWdlVmlld0RlbGVnYXRlLCBVSVBE
RkFubm90YXRpb25Db250cm9sbGVyRGVsZWdhdGUsIFdLQWN0aW9uU2hlZXRBc3Npc3RhbnREZWxl
Z2F0ZT4KIEBlbmQKIAotI2VuZGlmIC8vIFBMQVRGT1JNKElPUykgJiYgRU5BQkxFKFdLUERGVklF
VykKKyNlbmRpZiAvLyBFTkFCTEUoV0tMRUdBQ1lQREZWSUVXKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLTGVnYWN5UERGVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL2lvcy9XS0xlZ2FjeVBERlZpZXcubW0KaW5kZXggZGI2NTljMjE3ZmRkNWY5MTEy
MWU1ZDAxMjk2ZTM0NjVjZGMyOGFlNC4uNzczMWI1NzBkMTU4YTk1M2QyYTI1NmIxY2NhNTkwMjg0
MDAzNTRhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLTGVnYWN5
UERGVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tMZWdhY3lQREZW
aWV3Lm1tCkBAIC0yNiw3ICsyNiw3IEBACiAjaW1wb3J0ICJjb25maWcuaCIKICNpbXBvcnQgIldL
TGVnYWN5UERGVmlldy5oIgogCi0jaWYgUExBVEZPUk0oSU9TKSAmJiBFTkFCTEUoV0tQREZWSUVX
KQorI2lmIEVOQUJMRShXS0xFR0FDWVBERlZJRVcpCiAKICNpbXBvcnQgIkFQSUZpbmRDbGllbnQu
aCIKICNpbXBvcnQgIkFQSVVJQ2xpZW50LmgiCkBAIC0zODMsNiArMzgzLDExIEBAIC0gKHZvaWQp
d2ViX2RpZFNhbWVEb2N1bWVudE5hdmlnYXRpb246KFdLU2FtZURvY3VtZW50TmF2aWdhdGlvblR5
cGUpbmF2aWdhdGlvblR5CiAgICAgW3NlbGYgX3Njcm9sbFRvRnJhZ21lbnQ6X3dlYlZpZXcuVVJM
LmZyYWdtZW50XTsKIH0KIAorLSAoVUlWaWV3ICopd2ViX2NvbnRlbnRWaWV3Cit7CisgICAgcmV0
dXJuIHNlbGY7Cit9CisKIC0gKHZvaWQpX2NvbXB1dGVQYWdlQW5kRG9jdW1lbnRGcmFtZXMKIHsK
ICAgICBVSUVkZ2VJbnNldHMgc2FmZUFyZWFJbnNldHMgPSBfd2ViVmlldy5fY29tcHV0ZWRVbm9i
c2N1cmVkU2FmZUFyZWFJbnNldDsKQEAgLTg1Nyw0ICs4NjIsNCBAQCBAZW5kCiAKICNwcmFnbWEg
Y2xhbmcgZGlhZ25vc3RpYyBwb3AKIAotI2VuZGlmIC8vIFBMQVRGT1JNKElPUykgJiYgRU5BQkxF
KFdLUERGVklFVykKKyNlbmRpZiAvLyBFTkFCTEUoV0tMRUdBQ1lQREZWSUVXKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLUERGVmlldy5oIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvaW9zL1dLUERGVmlldy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU4MDQ0ZTU0Y2U1ZDMzMGI5
MjRkNzE5ZTI4YWM3MGQ1Y2MwM2YzNTkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9pb3MvV0tQREZWaWV3LmgKQEAgLTAsMCArMSwzNSBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpZiBFTkFCTEUoV0tQREZWSUVXKQorCisjaW1wb3J0ICJXS0FwcGxpY2F0aW9uU3RhdGVUcmFj
a2luZ1ZpZXcuaCIKKyNpbXBvcnQgIldLV2ViVmlld0NvbnRlbnRQcm92aWRlci5oIgorCitAaW50
ZXJmYWNlIFdLUERGVmlldyA6IFdLQXBwbGljYXRpb25TdGF0ZVRyYWNraW5nVmlldyA8V0tXZWJW
aWV3Q29udGVudFByb3ZpZGVyPgorCitAZW5kCisKKyNlbmRpZiAvLyBFTkFCTEUoV0tQREZWSUVX
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLUERGVmlldy5tbSBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS1BERlZpZXcubW0KbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmQy
YjhmZGZjMTdjNjA0NTg5ZmYxMGQ4NzU5ODIxMDlmZmUwZDE4MgotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS1BERlZpZXcubW0KQEAgLTAsMCArMSwyMjYg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaW1wb3J0ICJjb25maWcuaCIKKyNpbXBvcnQgIldLUERGVmlldy5o
IgorCisjaWYgRU5BQkxFKFdLUERGVklFVykKKworI2ltcG9ydCAiV0tXZWJWaWV3SW50ZXJuYWwu
aCIKKyNpbXBvcnQgIldlYWtPYmpDUHRyLmgiCisjaW1wb3J0ICJXZWJQYWdlUHJveHkuaCIKKyNp
bXBvcnQgPFBERktpdC9QREZIb3N0Vmlld0NvbnRyb2xsZXIuaD4KKyNpbXBvcnQgPHd0Zi9NYWlu
VGhyZWFkLmg+CisjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CisKK0BpbnRlcmZhY2UgV0tQREZW
aWV3ICgpIDxQREZIb3N0Vmlld0NvbnRyb2xsZXJEZWxlZ2F0ZT4KK0BlbmQKKworQGltcGxlbWVu
dGF0aW9uIFdLUERGVmlldyB7CisgICAgQ0dTaXplIF9vdmVybGFpZEFjY2Vzc29yeVZpZXdzSW5z
ZXQ7CisgICAgUmV0YWluUHRyPE5TRGF0YT4gX2RhdGE7CisgICAgUmV0YWluUHRyPE5TU3RyaW5n
PiBfc3VnZ2VzdGVkRmlsZW5hbWU7CisgICAgUmV0YWluUHRyPFBERkhvc3RWaWV3Q29udHJvbGxl
cj4gX2hvc3RWaWV3Q29udHJvbGxlcjsKKyAgICBSZXRhaW5QdHI8VUlWaWV3PiBfZml4ZWRPdmVy
bGF5VmlldzsKKyAgICBSZXRhaW5QdHI8VUlWaWV3PiBfcGFnZU51bWJlckluZGljYXRvcjsKKyAg
ICBXZWJLaXQ6OldlYWtPYmpDUHRyPFdLV2ViVmlldz4gX3dlYlZpZXc7Cit9CisKKy0gKHZvaWQp
ZGVhbGxvYworeworICAgIFtbX2hvc3RWaWV3Q29udHJvbGxlciB2aWV3XSByZW1vdmVGcm9tU3Vw
ZXJ2aWV3XTsKKyAgICBbX3BhZ2VOdW1iZXJJbmRpY2F0b3IgcmVtb3ZlRnJvbVN1cGVydmlld107
CisgICAgW3N1cGVyIGRlYWxsb2NdOworfQorCistIChCT09MKWdlc3R1cmVSZWNvZ25pemVyU2hv
dWxkQmVnaW46KFVJR2VzdHVyZVJlY29nbml6ZXIgKilnZXN0dXJlUmVjb2duaXplcgoreworICAg
IHJldHVybiBbX2hvc3RWaWV3Q29udHJvbGxlciBnZXN0dXJlUmVjb2duaXplclNob3VsZEJlZ2lu
Omdlc3R1cmVSZWNvZ25pemVyXTsKK30KKworI3ByYWdtYSBtYXJrIFdLV2ViVmlld0NvbnRlbnRQ
cm92aWRlcgorCistIChpbnN0YW5jZXR5cGUpd2ViX2luaXRXaXRoRnJhbWU6KENHUmVjdClmcmFt
ZSB3ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3Cit7CisgICAgaWYgKCEoc2VsZiA9IFtzdXBl
ciBpbml0V2l0aEZyYW1lOmZyYW1lIHdlYlZpZXc6d2ViVmlld10pKQorICAgICAgICByZXR1cm4g
bmlsOworCisgICAgc2VsZi5iYWNrZ3JvdW5kQ29sb3IgPSBVSUNvbG9yLmdyYXlDb2xvcjsKKyAg
ICB3ZWJWaWV3LnNjcm9sbFZpZXcuYmFja2dyb3VuZENvbG9yID0gVUlDb2xvci5ncmF5Q29sb3I7
CisKKyAgICBfd2ViVmlldyA9IHdlYlZpZXc7CisgICAgcmV0dXJuIHNlbGY7Cit9CisKKy0gKHZv
aWQpd2ViX3NldENvbnRlbnRQcm92aWRlckRhdGE6KE5TRGF0YSAqKWRhdGEgc3VnZ2VzdGVkRmls
ZW5hbWU6KE5TU3RyaW5nICopZmlsZW5hbWUKK3sKKyAgICBfZGF0YSA9IGFkb3B0TlMoW2RhdGEg
Y29weV0pOworICAgIF9zdWdnZXN0ZWRGaWxlbmFtZSA9IGFkb3B0TlMoW2ZpbGVuYW1lIGNvcHld
KTsKKworICAgIFtQREZIb3N0Vmlld0NvbnRyb2xsZXIgY3JlYXRlSG9zdFZpZXc6XihQREZIb3N0
Vmlld0NvbnRyb2xsZXIgKiBfTnVsbGFibGUgaG9zdFZpZXdDb250cm9sbGVyKSB7CisgICAgICAg
IEFTU0VSVChpc01haW5UaHJlYWQoKSk7CisKKyAgICAgICAgV0tXZWJWaWV3ICp3ZWJWaWV3ID0g
X3dlYlZpZXcuZ2V0QXV0b3JlbGVhc2VkKCk7CisgICAgICAgIGlmICghd2ViVmlldykKKyAgICAg
ICAgICAgIHJldHVybjsKKworICAgICAgICBpZiAoIWhvc3RWaWV3Q29udHJvbGxlcikKKyAgICAg
ICAgICAgIHJldHVybjsKKyAgICAgICAgX2hvc3RWaWV3Q29udHJvbGxlciA9IGhvc3RWaWV3Q29u
dHJvbGxlcjsKKworICAgICAgICBVSVZpZXcgKmhvc3RWaWV3ID0gaG9zdFZpZXdDb250cm9sbGVy
LnZpZXc7CisgICAgICAgIGhvc3RWaWV3LmZyYW1lID0gd2ViVmlldy5ib3VuZHM7CisgICAgICAg
IGhvc3RWaWV3LmJhY2tncm91bmRDb2xvciA9IFVJQ29sb3IuZ3JheUNvbG9yOworCisgICAgICAg
IFVJU2Nyb2xsVmlldyAqc2Nyb2xsVmlldyA9IHdlYlZpZXcuc2Nyb2xsVmlldzsKKyAgICAgICAg
W3NlbGYgcmVtb3ZlRnJvbVN1cGVydmlld107CisgICAgICAgIFtzY3JvbGxWaWV3IGFkZFN1YnZp
ZXc6aG9zdFZpZXddOworCisgICAgICAgIF9wYWdlTnVtYmVySW5kaWNhdG9yID0gaG9zdFZpZXdD
b250cm9sbGVyLnBhZ2VOdW1iZXJJbmRpY2F0b3I7CisgICAgICAgIFtfZml4ZWRPdmVybGF5Vmll
dyBhZGRTdWJ2aWV3Ol9wYWdlTnVtYmVySW5kaWNhdG9yLmdldCgpXTsKKworICAgICAgICBob3N0
Vmlld0NvbnRyb2xsZXIuZGVsZWdhdGUgPSBzZWxmOworICAgICAgICBbaG9zdFZpZXdDb250cm9s
bGVyIHNldERvY3VtZW50RGF0YTpfZGF0YS5nZXQoKSB3aXRoU2Nyb2xsVmlldzpzY3JvbGxWaWV3
XTsKKyAgICB9IGZvckV4dGVuc2lvbklkZW50aWZpZXI6bmlsXTsKK30KKworLSAoQ0dQb2ludClf
b2Zmc2V0Rm9yUGFnZU51bWJlckluZGljYXRvcgoreworICAgIFdLV2ViVmlldyAqd2ViVmlldyA9
IF93ZWJWaWV3LmdldEF1dG9yZWxlYXNlZCgpOworICAgIGlmICghd2ViVmlldykKKyAgICAgICAg
cmV0dXJuIENHUG9pbnRaZXJvOworCisgICAgVUlFZGdlSW5zZXRzIGluc2V0cyA9IFVJRWRnZUlu
c2V0c0FkZCh3ZWJWaWV3Ll9jb21wdXRlZFVub2JzY3VyZWRTYWZlQXJlYUluc2V0LCB3ZWJWaWV3
Ll9jb21wdXRlZE9ic2N1cmVkSW5zZXQsIFVJUmVjdEVkZ2VBbGwpOworICAgIHJldHVybiBDR1Bv
aW50TWFrZShpbnNldHMubGVmdCwgaW5zZXRzLnRvcCArIF9vdmVybGFpZEFjY2Vzc29yeVZpZXdz
SW5zZXQuaGVpZ2h0KTsKK30KKworLSAodm9pZClfbW92ZVBhZ2VOdW1iZXJJbmRpY2F0b3JUb1Bv
aW50OihDR1BvaW50KXBvaW50IGFuaW1hdGVkOihCT09MKWFuaW1hdGVkCit7CisgICAgdm9pZCAo
XnNldEZyYW1lKSgpID0gXnsKKyAgICAgICAgc3RhdGljIGNvbnN0IENHRmxvYXQgbWFyZ2luID0g
MjA7CisgICAgICAgIGNvbnN0IENHUmVjdCBmcmFtZSA9IHsgQ0dQb2ludE1ha2UocG9pbnQueCAr
IG1hcmdpbiwgcG9pbnQueSArIG1hcmdpbiksIFtfcGFnZU51bWJlckluZGljYXRvciBmcmFtZV0u
c2l6ZSB9OworICAgICAgICBbX3BhZ2VOdW1iZXJJbmRpY2F0b3Igc2V0RnJhbWU6ZnJhbWVdOwor
ICAgIH07CisKKyAgICBpZiAoYW5pbWF0ZWQpIHsKKyAgICAgICAgc3RhdGljIGNvbnN0IE5TVGlt
ZUludGVydmFsIGR1cmF0aW9uID0gMC4zOworICAgICAgICBbVUlWaWV3IGFuaW1hdGVXaXRoRHVy
YXRpb246ZHVyYXRpb24gYW5pbWF0aW9uczpzZXRGcmFtZV07CisgICAgICAgIHJldHVybjsKKyAg
ICB9CisKKyAgICBzZXRGcmFtZSgpOworfQorCistICh2b2lkKV91cGRhdGVMYXlvdXRBbmltYXRl
ZDooQk9PTClhbmltYXRlZAoreworICAgIFtfaG9zdFZpZXdDb250cm9sbGVyIHVwZGF0ZVBERlZp
ZXdMYXlvdXRdOworICAgIFtzZWxmIF9tb3ZlUGFnZU51bWJlckluZGljYXRvclRvUG9pbnQ6c2Vs
Zi5fb2Zmc2V0Rm9yUGFnZU51bWJlckluZGljYXRvciBhbmltYXRlZDphbmltYXRlZF07Cit9CisK
Ky0gKHZvaWQpd2ViX3NldE1pbmltdW1TaXplOihDR1NpemUpc2l6ZQoreworICAgIHNlbGYuZnJh
bWUgPSB7IHNlbGYuZnJhbWUub3JpZ2luLCBzaXplIH07CisgICAgW3NlbGYgX3VwZGF0ZUxheW91
dEFuaW1hdGVkOk5PXTsKK30KKworLSAodm9pZCl3ZWJfc2V0T3ZlcmxhaWRBY2Nlc3NvcnlWaWV3
c0luc2V0OihDR1NpemUpaW5zZXQKK3sKKyAgICBfb3ZlcmxhaWRBY2Nlc3NvcnlWaWV3c0luc2V0
ID0gaW5zZXQ7CisgICAgW3NlbGYgX3VwZGF0ZUxheW91dEFuaW1hdGVkOllFU107Cit9CisKKy0g
KHZvaWQpd2ViX2NvbXB1dGVkQ29udGVudEluc2V0RGlkQ2hhbmdlCit7CisgICAgW3NlbGYgX3Vw
ZGF0ZUxheW91dEFuaW1hdGVkOk5PXTsKK30KKworLSAodm9pZCl3ZWJfc2V0Rml4ZWRPdmVybGF5
VmlldzooVUlWaWV3ICopZml4ZWRPdmVybGF5VmlldworeworICAgIF9maXhlZE92ZXJsYXlWaWV3
ID0gZml4ZWRPdmVybGF5VmlldzsKK30KKworLSAodm9pZCl3ZWJfZGlkU2FtZURvY3VtZW50TmF2
aWdhdGlvbjooV0tTYW1lRG9jdW1lbnROYXZpZ2F0aW9uVHlwZSluYXZpZ2F0aW9uVHlwZQorewor
ICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgcGFnZSBudW1iZXIgbmF2aWdhdGlvbnMuCit9CisKKy0g
KHZvaWQpd2ViX2NvdW50U3RyaW5nTWF0Y2hlczooTlNTdHJpbmcgKilzdHJpbmcgb3B0aW9uczoo
X1dLRmluZE9wdGlvbnMpb3B0aW9ucyBtYXhDb3VudDooTlNVSW50ZWdlciltYXhDb3VudAorewor
ICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgZmluZC1pbi1wYWdlLgorfQorCistICh2b2lkKXdlYl9m
aW5kU3RyaW5nOihOU1N0cmluZyAqKXN0cmluZyBvcHRpb25zOihfV0tGaW5kT3B0aW9ucylvcHRp
b25zIG1heENvdW50OihOU1VJbnRlZ2VyKW1heENvdW50Cit7CisgICAgLy8gRklYTUU6IEltcGxl
bWVudCBmaW5kLWluLXBhZ2UuCit9CisKKy0gKHZvaWQpd2ViX2hpZGVGaW5kVUkKK3sKKyAgICAv
LyBGSVhNRTogSW1wbGVtZW50IGZpbmQtaW4tcGFnZS4KK30KKworLSAoVUlWaWV3ICopd2ViX2Nv
bnRlbnRWaWV3Cit7CisgICAgcmV0dXJuIF9ob3N0Vmlld0NvbnRyb2xsZXIgPyBbX2hvc3RWaWV3
Q29udHJvbGxlciB2aWV3XSA6IHNlbGY7Cit9CisKKy0gKHZvaWQpd2ViX3Njcm9sbFZpZXdEaWRT
Y3JvbGw6KFVJU2Nyb2xsVmlldyAqKXNjcm9sbFZpZXcKK3sKKyAgICBbX2hvc3RWaWV3Q29udHJv
bGxlciB1cGRhdGVQREZWaWV3TGF5b3V0XTsKK30KKworLSAodm9pZCl3ZWJfc2Nyb2xsVmlld1dp
bGxCZWdpblpvb21pbmc6KFVJU2Nyb2xsVmlldyAqKXNjcm9sbFZpZXcgd2l0aFZpZXc6KFVJVmll
dyAqKXZpZXcKK3sKKyAgICBbX2hvc3RWaWV3Q29udHJvbGxlciB1cGRhdGVQREZWaWV3TGF5b3V0
XTsKK30KKworLSAodm9pZCl3ZWJfc2Nyb2xsVmlld0RpZEVuZFpvb21pbmc6KFVJU2Nyb2xsVmll
dyAqKXNjcm9sbFZpZXcgd2l0aFZpZXc6KFVJVmlldyAqKXZpZXcgYXRTY2FsZTooQ0dGbG9hdClz
Y2FsZQoreworICAgIFtfaG9zdFZpZXdDb250cm9sbGVyIHVwZGF0ZVBERlZpZXdMYXlvdXRdOwor
fQorCistICh2b2lkKXdlYl9zY3JvbGxWaWV3RGlkWm9vbTooVUlTY3JvbGxWaWV3ICopc2Nyb2xs
VmlldworeworICAgIFtfaG9zdFZpZXdDb250cm9sbGVyIHVwZGF0ZVBERlZpZXdMYXlvdXRdOwor
fQorCistIChOU0RhdGEgKil3ZWJfZGF0YVJlcHJlc2VudGF0aW9uCit7CisgICAgcmV0dXJuIF9k
YXRhLmdldCgpOworfQorCistIChOU1N0cmluZyAqKXdlYl9zdWdnZXN0ZWRGaWxlbmFtZQorewor
ICAgIHJldHVybiBfc3VnZ2VzdGVkRmlsZW5hbWUuZ2V0KCk7Cit9CisKKy0gKEJPT0wpd2ViX2lz
QmFja2dyb3VuZAoreworICAgIHJldHVybiBzZWxmLmlzQmFja2dyb3VuZDsKK30KKworQGVuZAor
CisjZW5kaWYgLy8gRU5BQkxFKFdLUERGVklFVykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL2lvcy9XS1N5c3RlbVByZXZpZXdWaWV3Lm1tIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvaW9zL1dLU3lzdGVtUHJldmlld1ZpZXcubW0KaW5kZXggMDM4MDMxNWRhODQ5YmM0YzIz
MjQwNTI1OGE3OGFlNmJiMmM3OWM5Ny4uNzQ0MTk0N2Q5MDZmMmE3N2I1YmNiOTc5NTI3MWQ2YjVl
MWMwOWE2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLU3lzdGVt
UHJldmlld1ZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLU3lzdGVt
UHJldmlld1ZpZXcubW0KQEAgLTExNiw2ICsxMTYsMTEgQEAgLSAodm9pZCl3ZWJfZGlkU2FtZURv
Y3VtZW50TmF2aWdhdGlvbjooV0tTYW1lRG9jdW1lbnROYXZpZ2F0aW9uVHlwZSluYXZpZ2F0aW9u
VHkKIHsKIH0KIAorLSAoVUlWaWV3ICopd2ViX2NvbnRlbnRWaWV3Cit7CisgICAgcmV0dXJuIHNl
bGY7Cit9CisKICNwcmFnbWEgbWFyayBGaW5kLWluLVBhZ2UKIAogLSAodm9pZCl3ZWJfY291bnRT
dHJpbmdNYXRjaGVzOihOU1N0cmluZyAqKXN0cmluZyBvcHRpb25zOihfV0tGaW5kT3B0aW9ucylv
cHRpb25zIG1heENvdW50OihOU1VJbnRlZ2VyKW1heENvdW50CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktpdC9X
ZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA4ZjM2NTIxOWM4YmNjZTA4MTc3
NDA0OWZlNjVkMmIwMDU5OTMzYzUxLi5mODA4MzliODQ0YmNmZTJhODg0ZTlmNzQxMThhZjNmMjIz
Zjk3YjM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKQEAgLTE1NTEsNiArMTU1MSw4IEBACiAJCTlGQjVGMzk0MTY5RTZBODAwMDJDMjVCRiAv
KiBXS0NvbnRleHRQcml2YXRlTWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gOUZCNUYzOTIxNjlFNkE4MDAwMkMyNUJGIC8qIFdLQ29udGV4dFByaXZh
dGVNYWMubW0gKi87IH07CiAJCTlGQjVGMzk1MTY5RTZBODAwMDJDMjVCRiAvKiBXS0NvbnRleHRQ
cml2YXRlTWFjLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA5RkI1RjM5MzE2OUU2QTgwMDAyQzI1QkYgLyogV0tDb250ZXh0UHJpdmF0ZU1hYy5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUExMDJBNzA4MUVD
MEVFRTkwMEQ4MUQ4MiAvKiBjb20ubWFjcm9tZWRpYS5GbGFzaCBQbGF5ZXIgRVNSLnBsdWdpbi5z
YiBpbiBDb3B5IFBsdWctaW4gU2FuZGJveCBQcm9maWxlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA3QTVFMzk0OTFENUJEOEE3MDBCNEI3Q0UgLyogY29tLm1hY3JvbWVkaWEu
Rmxhc2ggUGxheWVyIEVTUi5wbHVnaW4uc2IgKi87IH07CisJCUExMDQ2RUExMjA3OTI2MzEwMEYw
QzVEOCAvKiBXS1BERlZpZXcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEExMDQ2RTlGMjA3OTI2MzEwMEYwQzVEOCAvKiBXS1BERlZpZXcuaCAqLzsgfTsK
KwkJQTEwNDZFQTIyMDc5MjYzMTAwRjBDNUQ4IC8qIFdLUERGVmlldy5tbSBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExMDQ2RUEwMjA3OTI2MzEwMEYwQzVE
OCAvKiBXS1BERlZpZXcubW0gKi87IH07CiAJCUExMTVEQzcxMTkxRDgyRDcwMERBODA3MiAvKiBf
V0tXZWJWaWV3UHJpbnRGb3JtYXR0ZXIubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBBMTE1REM2RDE5MUQ4MkFCMDBEQTgwNzIgLyogX1dLV2ViVmlld1By
aW50Rm9ybWF0dGVyLm1tICovOyB9OwogCQlBMTE1REM3MjE5MUQ4MkRBMDBEQTgwNzIgLyogX1dL
V2ViVmlld1ByaW50Rm9ybWF0dGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBBMTE1REM2RTE5MUQ4MkFCMDBEQTgwNzIgLyogX1dLV2ViVmlld1ByaW50
Rm9ybWF0dGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJQTExOEE5RUUxOTA3QUQ2RjAwRjdDOTJCIC8qIFF1aWNrTG9va0RvY3VtZW50RGF0YS5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTE4QTlF
QzE5MDdBRDZGMDBGN0M5MkIgLyogUXVpY2tMb29rRG9jdW1lbnREYXRhLmNwcCAqLzsgfTsKQEAg
LTQwMzksNiArNDA0MSw4IEBACiAJCTlGNTRGODk0MTY0OEFFMEUwMDdERjgxQSAvKiBQbHVnaW5Q
cm9jZXNzTWFuYWdlck1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0
aCA9IFBsdWdpblByb2Nlc3NNYW5hZ2VyTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk5RkI1RjM5MjE2OUU2QTgwMDAyQzI1QkYgLyogV0tDb250ZXh0UHJpdmF0ZU1hYy5tbSAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9IFdLQ29udGV4dFByaXZhdGVN
YWMubW07IHBhdGggPSBtYWMvV0tDb250ZXh0UHJpdmF0ZU1hYy5tbTsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJOUZCNUYzOTMxNjlFNkE4MDAwMkMyNUJGIC8qIFdLQ29udGV4dFByaXZh
dGVNYWMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gV0tDb250ZXh0UHJpdmF0
ZU1hYy5oOyBwYXRoID0gbWFjL1dLQ29udGV4dFByaXZhdGVNYWMuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJQTEwNDZFOUYyMDc5MjYzMTAwRjBDNUQ4IC8qIFdLUERGVmlldy5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IG5hbWUgPSBXS1BERlZpZXcuaDsgcGF0aCA9IGlvcy9XS1BERlZpZXcuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTEwNDZFQTAyMDc5MjYzMTAwRjBDNUQ4IC8qIFdLUERG
Vmlldy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9IFdLUERGVmlldy5tbTsgcGF0aCA9IGlvcy9X
S1BERlZpZXcubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUExMTVEQzZEMTkxRDgy
QUIwMERBODA3MiAvKiBfV0tXZWJWaWV3UHJpbnRGb3JtYXR0ZXIubW0gKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBfV0tXZWJWaWV3UHJpbnRGb3JtYXR0ZXIubW07IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUExMTVEQzZFMTkxRDgyQUIwMERBODA3MiAvKiBf
V0tXZWJWaWV3UHJpbnRGb3JtYXR0ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gX1dLV2ViVmlld1ByaW50Rm9ybWF0dGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUExMThBOUVDMTkwN0FENkYwMEY3QzkyQiAvKiBRdWlja0xvb2tEb2N1bWVudERhdGEuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gUXVpY2tMb29rRG9jdW1lbnRE
YXRhLmNwcDsgcGF0aCA9IGlvcy9RdWlja0xvb2tEb2N1bWVudERhdGEuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwpAQCAtNTg0MCw2ICs1ODQ0LDggQEAKIAkJCQlBMTVFRURFMzFFMzAx
Q0VFMDAwMDY5QjAgLyogV0tQYXNzd29yZFZpZXcubW0gKi8sCiAJCQkJMkQ2QUI1M0YxOTJCMUM0
QTAwM0E5RkQxIC8qIFdLUERGUGFnZU51bWJlckluZGljYXRvci5oICovLAogCQkJCTJENkFCNTQw
MTkyQjFDNEEwMDNBOUZEMSAvKiBXS1BERlBhZ2VOdW1iZXJJbmRpY2F0b3IubW0gKi8sCisJCQkJ
QTEwNDZFOUYyMDc5MjYzMTAwRjBDNUQ4IC8qIFdLUERGVmlldy5oICovLAorCQkJCUExMDQ2RUEw
MjA3OTI2MzEwMEYwQzVEOCAvKiBXS1BERlZpZXcubW0gKi8sCiAJCQkJMEZDQjRFNDQxOEJCRTA0
NDAwMEZDRkM5IC8qIFdLU2Nyb2xsVmlldy5oICovLAogCQkJCTBGQ0I0RTQ1MThCQkUwNDQwMDBG
Q0ZDOSAvKiBXS1Njcm9sbFZpZXcubW0gKi8sCiAJCQkJMjZGMTBCRTYxOTE4N0UyRTAwMUQwRTY4
IC8qIFdLU3ludGhldGljQ2xpY2tUYXBHZXN0dXJlUmVjb2duaXplci5oICovLApAQCAtOTY1MSw2
ICs5NjU3LDcgQEAKIAkJCQlBNUVGRDM4QzE2QjBFODhDMDBCMkYwRTggLyogV0tQYWdlVmlzaWJp
bGl0eVR5cGVzLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTVFRURFNjFFMzAxQ0VFMDAwMDY5QjAg
LyogV0tQYXNzd29yZFZpZXcuaCBpbiBIZWFkZXJzICovLAogCQkJCTJENkFCNTQxMTkyQjFDNEEw
MDNBOUZEMSAvKiBXS1BERlBhZ2VOdW1iZXJJbmRpY2F0b3IuaCBpbiBIZWFkZXJzICovLAorCQkJ
CUExMDQ2RUExMjA3OTI2MzEwMEYwQzVEOCAvKiBXS1BERlZpZXcuaCBpbiBIZWFkZXJzICovLAog
CQkJCTdDMTM1QUE5MTczQjBCQ0EwMDU4NkFFMiAvKiBXS1BsdWdpbkluZm9ybWF0aW9uLmggaW4g
SGVhZGVycyAqLywKIAkJCQkyREFCQTc3NDFBODE3RUU2MDBFRjBGMUEgLyogV0tQbHVnaW5Mb2Fk
UG9saWN5LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUZERDMxNzE4OTFDOTQ3MDAxNTM5NzAgLyog
V0tQcmVmZXJlbmNlcy5oIGluIEhlYWRlcnMgKi8sCkBAIC0xMTMzOSw2ICsxMTM0Niw3IEBACiAJ
CQkJQkNFMTdCN0QxMzgxRjExNzAwMTJBNjQxIC8qIFdLUGFnZVByaXZhdGVNYWMubW0gaW4gU291
cmNlcyAqLywKIAkJCQlBMTVFRURFNTFFMzAxQ0VFMDAwMDY5QjAgLyogV0tQYXNzd29yZFZpZXcu
bW0gaW4gU291cmNlcyAqLywKIAkJCQkyRDZBQjU0MjE5MkIxQzRBMDAzQTlGRDEgLyogV0tQREZQ
YWdlTnVtYmVySW5kaWNhdG9yLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJQTEwNDZFQTIyMDc5MjYz
MTAwRjBDNUQ4IC8qIFdLUERGVmlldy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTdDMTM1QUE4MTcz
QjBCQ0EwMDU4NkFFMiAvKiBXS1BsdWdpbkluZm9ybWF0aW9uLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUJDRDU5N0QxMTEyQjU2QUMwMEVDOEMyMyAvKiBXS1ByZWZlcmVuY2VzLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTFBRkREMzE5MTg5MUNBMTIwMDE1Mzk3MCAvKiBXS1ByZWZlcmVuY2VzLm1t
IGluIFNvdXJjZXMgKi8sCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>