<?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>180295</bug_id>
          
          <creation_ts>2017-12-01 16:33:19 -0800</creation_ts>
          <short_desc>Add a log channel for viewports</short_desc>
          <delta_ts>2017-12-04 09:49:12 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>WebKit Local Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>dbates</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>japhet</cc>
    
    <cc>kangil.han</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1377150</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2017-12-01 16:33:19 -0800</bug_when>
    <thetext>Need a log channel that shows viewport size computations</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377151</commentid>
    <comment_count>1</comment_count>
      <attachid>328184</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2017-12-01 16:33:37 -0800</bug_when>
    <thetext>Created attachment 328184
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377188</commentid>
    <comment_count>2</comment_count>
      <attachid>328193</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2017-12-01 17:42:01 -0800</bug_when>
    <thetext>Created attachment 328193
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377212</commentid>
    <comment_count>3</comment_count>
      <attachid>328193</attachid>
    <who name="alan">zalan</who>
    <bug_when>2017-12-01 18:33:00 -0800</bug_when>
    <thetext>Comment on attachment 328193
Patch

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

&gt; Source/WebCore/loader/FrameLoader.cpp:1143
&gt; +//    if (m_frame.view()) {
&gt; +        LOG(Scrolling, &quot;FrameLoader::completed() clearing maintainScrollPosition anchor&quot;);
&gt; +//        m_frame.view()-&gt;maintainScrollPositionAtAnchor(nullptr);
&gt; +//    }

???</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377728</commentid>
    <comment_count>4</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2017-12-04 09:47:06 -0800</bug_when>
    <thetext>https://trac.webkit.org/changeset/225449/webkit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377731</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-12-04 09:49:12 -0800</bug_when>
    <thetext>&lt;rdar://problem/35831339&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>328184</attachid>
            <date>2017-12-01 16:33:37 -0800</date>
            <delta_ts>2017-12-01 17:42:00 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>viewport log.txt</filename>
            <type>text/plain</type>
            <size>22817</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDJjYjhjYjQwYmRkODQ0NzA2OTJiMjM5M2U2N2Iw
YjMxYjlhMzkwODQuLjEwZmVlYmY4YjFkOWRiN2QzZGQzY2YyZWFkZWRkNmViODcyZTNlNTMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtMjIxLDYgKzIyMSw3IEBACiAjaW5jbHVkZSA8d3Rm
L1N5c3RlbVRyYWNpbmcuaD4KICNpbmNsdWRlIDx3dGYvVVVJRC5oPgogI2luY2x1ZGUgPHd0Zi90
ZXh0L1N0cmluZ0J1ZmZlci5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1RleHRTdHJlYW0uaD4KICNp
bmNsdWRlIDx5YXJyL1JlZ3VsYXJFeHByZXNzaW9uLmg+CiAKICNpZiBFTkFCTEUoREVWSUNFX09S
SUVOVEFUSU9OKQpAQCAtMzM4MiwxMSArMzM4MywxNSBAQCB2b2lkIERvY3VtZW50Ojpwcm9jZXNz
Vmlld3BvcnQoY29uc3QgU3RyaW5nJiBmZWF0dXJlcywgVmlld3BvcnRBcmd1bWVudHM6OlR5cGUg
bwogewogICAgIEFTU0VSVCghZmVhdHVyZXMuaXNOdWxsKCkpOwogCisgICAgTE9HX1dJVEhfU1RS
RUFNKFZpZXdwb3J0cywgc3RyZWFtIDw8ICJEb2N1bWVudDo6cHJvY2Vzc1ZpZXdwb3J0ICIgPDwg
ZmVhdHVyZXMpOworCiAgICAgaWYgKG9yaWdpbiA8IG1fdmlld3BvcnRBcmd1bWVudHMudHlwZSkK
ICAgICAgICAgcmV0dXJuOwogCiAgICAgbV92aWV3cG9ydEFyZ3VtZW50cyA9IFZpZXdwb3J0QXJn
dW1lbnRzKG9yaWdpbik7CiAKKyAgICBMT0dfV0lUSF9TVFJFQU0oVmlld3BvcnRzLCBzdHJlYW0g
IDw8ICIgcmVzb2x2ZWQgdG8gIiA8PCBtX3ZpZXdwb3J0QXJndW1lbnRzKTsKKwogICAgIHByb2Nl
c3NGZWF0dXJlc1N0cmluZyhmZWF0dXJlcywgRmVhdHVyZU1vZGU6OlZpZXdwb3J0LCBbdGhpc10o
U3RyaW5nVmlldyBrZXksIFN0cmluZ1ZpZXcgdmFsdWUpIHsKICAgICAgICAgc2V0Vmlld3BvcnRG
ZWF0dXJlKG1fdmlld3BvcnRBcmd1bWVudHMsICp0aGlzLCBrZXksIHZhbHVlKTsKICAgICB9KTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCmluZGV4IDEwZDI0YTI5OTk5NDFlOThj
OTc5NjgyOGQ2Nzc0ZWQ2NDkxM2FmZjQuLjU1YTI3OTcyMGIwY2ViMjE0MDFjY2JiYTQ1YjRiZDgw
MzBhYWZhZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcApAQCAtNzQ0LDYg
Kzc0NCw4IEBAIHZvaWQgRnJhbWVMb2FkZXI6OmRpZEJlZ2luRG9jdW1lbnQoYm9vbCBkaXNwYXRj
aCkKIAogdm9pZCBGcmFtZUxvYWRlcjo6ZmluaXNoZWRQYXJzaW5nKCkKIHsKKyAgICBMT0coTG9h
ZGluZywgIldlYkNvcmVMb2FkaW5nICVzOiBGaW5pc2hlZCBwYXJzaW5nIiwgbV9mcmFtZS50cmVl
KCkudW5pcXVlTmFtZSgpLnN0cmluZygpLnV0ZjgoKS5kYXRhKCkpOworCiAgICAgbV9mcmFtZS5p
bmplY3RVc2VyU2NyaXB0cyhJbmplY3RBdERvY3VtZW50RW5kKTsKIAogICAgIGlmIChtX3N0YXRl
TWFjaGluZS5jcmVhdGluZ0luaXRpYWxFbXB0eURvY3VtZW50KCkpCkBAIC0xMTM1LDggKzExMzcs
MTAgQEAgdm9pZCBGcmFtZUxvYWRlcjo6Y29tcGxldGVkKCkKICAgICBpZiAoRnJhbWUqIHBhcmVu
dCA9IG1fZnJhbWUudHJlZSgpLnBhcmVudCgpKQogICAgICAgICBwYXJlbnQtPmxvYWRlcigpLmNo
ZWNrQ29tcGxldGVkKCk7CiAKLSAgICBpZiAobV9mcmFtZS52aWV3KCkpCi0gICAgICAgIG1fZnJh
bWUudmlldygpLT5tYWludGFpblNjcm9sbFBvc2l0aW9uQXRBbmNob3IobnVsbHB0cik7CisvLyAg
ICBpZiAobV9mcmFtZS52aWV3KCkpIHsKKyAgICAgICAgTE9HKFNjcm9sbGluZywgIkZyYW1lTG9h
ZGVyOjpjb21wbGV0ZWQoKSBjbGVhcmluZyBtYWludGFpblNjcm9sbFBvc2l0aW9uIGFuY2hvciIp
OworLy8gICAgICAgIG1fZnJhbWUudmlldygpLT5tYWludGFpblNjcm9sbFBvc2l0aW9uQXRBbmNo
b3IobnVsbHB0cik7CisvLyAgICB9CiB9CiAKIHZvaWQgRnJhbWVMb2FkZXI6OnN0YXJ0ZWQoKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCmluZGV4IGU0ZTM1MjUzNjVkMWNiZDFiZjcwNWI1NmFl
YTc0YmJjZTdjMWVkMmEuLjU2N2I3N2E0MTUwNzRkYmFjOTM1MjRjMDc3ZmVkMTcwNDQ3MzI1NWIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKQEAgLTMwMSw2ICszMDEsOCBAQCB2b2lkIEZy
YW1lVmlldzo6cmVzZXRTY3JvbGxiYXJzQW5kQ2xlYXJDb250ZW50c1NpemUoKQogewogICAgIHJl
c2V0U2Nyb2xsYmFycygpOwogCisgICAgTE9HKExheW91dCwgIkZyYW1lVmlldyAlcCByZXNldFNj
cm9sbGJhcnNBbmRDbGVhckNvbnRlbnRzU2l6ZSIsIHRoaXMpOworCiAgICAgc2V0U2Nyb2xsYmFy
c1N1cHByZXNzZWQodHJ1ZSk7CiAgICAgc2V0Q29udGVudHNTaXplKEludFNpemUoKSk7CiAgICAg
c2V0U2Nyb2xsYmFyc1N1cHByZXNzZWQoZmFsc2UpOwpAQCAtMjEwMyw2ICsyMTA1LDggQEAgYm9v
bCBGcmFtZVZpZXc6OnNjcm9sbFRvRnJhZ21lbnQoY29uc3QgVVJMJiB1cmwpCiAKIGJvb2wgRnJh
bWVWaWV3OjpzY3JvbGxUb0FuY2hvcihjb25zdCBTdHJpbmcmIGZyYWdtZW50SWRlbnRpZmllcikK
IHsKKyAgICBMT0coU2Nyb2xsaW5nLCAiRnJhbWVWaWV3OjpzY3JvbGxUb0FuY2hvciAlcyIsIGZy
YWdtZW50SWRlbnRpZmllci51dGY4KCkuZGF0YSgpKTsKKwogICAgIC8vIElmIG91ciBVUkwgaGFz
IG5vIHJlZiwgdGhlbiB3ZSBoYXZlIG5vIHBsYWNlIHdlIG5lZWQgdG8ganVtcCB0by4KICAgICBp
ZiAoZnJhZ21lbnRJZGVudGlmaWVyLmlzTnVsbCgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CkBA
IC0yMTE5LDYgKzIxMjMsOCBAQCBib29sIEZyYW1lVmlldzo6c2Nyb2xsVG9BbmNob3IoY29uc3Qg
U3RyaW5nJiBmcmFnbWVudElkZW50aWZpZXIpCiAKICAgICBFbGVtZW50KiBhbmNob3JFbGVtZW50
ID0gZG9jdW1lbnQuZmluZEFuY2hvcihmcmFnbWVudElkZW50aWZpZXIpOwogCisgICAgTE9HKFNj
cm9sbGluZywgIiBhbmNob3JFbGVtZW50IGlzICVwIiwgYW5jaG9yRWxlbWVudCk7CisKICAgICAv
LyBTZXR0aW5nIHRvIG51bGwgd2lsbCBjbGVhciB0aGUgY3VycmVudCB0YXJnZXQuCiAgICAgZG9j
dW1lbnQuc2V0Q1NTVGFyZ2V0KGFuY2hvckVsZW1lbnQpOwogCkBAIC0yMTU3LDYgKzIxNjMsOCBA
QCBib29sIEZyYW1lVmlldzo6c2Nyb2xsVG9BbmNob3IoY29uc3QgU3RyaW5nJiBmcmFnbWVudElk
ZW50aWZpZXIpCiAKIHZvaWQgRnJhbWVWaWV3OjptYWludGFpblNjcm9sbFBvc2l0aW9uQXRBbmNo
b3IoQ29udGFpbmVyTm9kZSogYW5jaG9yTm9kZSkKIHsKKyAgICBMT0coU2Nyb2xsaW5nLCAiRnJh
bWVWaWV3OjptYWludGFpblNjcm9sbFBvc2l0aW9uQXRBbmNob3IgYXQgJXAiLCBhbmNob3JOb2Rl
KTsKKwogICAgIG1fbWFpbnRhaW5TY3JvbGxQb3NpdGlvbkFuY2hvciA9IGFuY2hvck5vZGU7CiAg
ICAgaWYgKCFtX21haW50YWluU2Nyb2xsUG9zaXRpb25BbmNob3IpCiAgICAgICAgIHJldHVybjsK
QEAgLTIxODYsNiArMjE5NCw4IEBAIHZvaWQgRnJhbWVWaWV3OjpzY3JvbGxFbGVtZW50VG9SZWN0
KGNvbnN0IEVsZW1lbnQmIGVsZW1lbnQsIGNvbnN0IEludFJlY3QmIHJlY3QpCiAKIHZvaWQgRnJh
bWVWaWV3OjpzZXRTY3JvbGxQb3NpdGlvbihjb25zdCBTY3JvbGxQb3NpdGlvbiYgc2Nyb2xsUG9z
aXRpb24pCiB7CisgICAgTE9HX1dJVEhfU1RSRUFNKFNjcm9sbGluZywgc3RyZWFtIDw8ICJGcmFt
ZVZpZXc6OnNldFNjcm9sbFBvc2l0aW9uICIgPDwgc2Nyb2xsUG9zaXRpb24gPDwgIiAsIGNsZWFy
aW5nIGFuY2hvciIpOworCiAgICAgU2V0Rm9yU2NvcGU8Ym9vbD4gY2hhbmdlSW5Qcm9ncmFtbWF0
aWNTY3JvbGwobV9pblByb2dyYW1tYXRpY1Njcm9sbCwgdHJ1ZSk7CiAgICAgbV9tYWludGFpblNj
cm9sbFBvc2l0aW9uQW5jaG9yID0gbnVsbHB0cjsKICAgICBQYWdlKiBwYWdlID0gZnJhbWUoKS5w
YWdlKCk7CkBAIC0yOTQ5LDYgKzI5NTksOSBAQCBib29sIEZyYW1lVmlldzo6c2hvdWxkVXBkYXRl
KCkgY29uc3QKIHZvaWQgRnJhbWVWaWV3OjpzY3JvbGxUb0FuY2hvcigpCiB7CiAgICAgUmVmUHRy
PENvbnRhaW5lck5vZGU+IGFuY2hvck5vZGUgPSBtX21haW50YWluU2Nyb2xsUG9zaXRpb25BbmNo
b3I7CisKKyAgICBMT0dfV0lUSF9TVFJFQU0oU2Nyb2xsaW5nLCBzdHJlYW0gPDwgIkZyYW1lVmll
dzo6c2Nyb2xsVG9BbmNob3IoKSAiIDw8IGFuY2hvck5vZGUuZ2V0KCkpOworCiAgICAgaWYgKCFh
bmNob3JOb2RlKQogICAgICAgICByZXR1cm47CiAKQEAgLTI5NjAsNiArMjk3Myw4IEBAIHZvaWQg
RnJhbWVWaWV3OjpzY3JvbGxUb0FuY2hvcigpCiAgICAgaWYgKGFuY2hvck5vZGUgIT0gZnJhbWUo
KS5kb2N1bWVudCgpICYmIGFuY2hvck5vZGUtPnJlbmRlcmVyKCkpCiAgICAgICAgIHJlY3QgPSBh
bmNob3JOb2RlLT5yZW5kZXJlcigpLT5hYnNvbHV0ZUFuY2hvclJlY3QoJmluc2lkZUZpeGVkKTsK
IAorICAgIExPR19XSVRIX1NUUkVBTShTY3JvbGxpbmcsIHN0cmVhbSA8PCAiIGFuY2hvciBub2Rl
IHJlY3QgIiA8PCByZWN0KTsKKwogICAgIC8vIFNjcm9sbCBuZXN0ZWQgbGF5ZXJzIGFuZCBmcmFt
ZXMgdG8gcmV2ZWFsIHRoZSBhbmNob3IuCiAgICAgLy8gQWxpZ24gdG8gdGhlIHRvcCBhbmQgdG8g
dGhlIGNsb3Nlc3Qgc2lkZSAodGhpcyBtYXRjaGVzIG90aGVyIGJyb3dzZXJzKS4KICAgICBpZiAo
YW5jaG9yTm9kZS0+cmVuZGVyZXIoKS0+c3R5bGUoKS5pc0hvcml6b250YWxXcml0aW5nTW9kZSgp
KQpAQCAtMjk3Myw2ICsyOTg4LDcgQEAgdm9pZCBGcmFtZVZpZXc6OnNjcm9sbFRvQW5jaG9yKCkK
ICAgICAgICAgY2FjaGUtPmhhbmRsZVNjcm9sbGVkVG9BbmNob3IoYW5jaG9yTm9kZS5nZXQoKSk7
CiAKICAgICAvLyBzY3JvbGxSZWN0VG9WaXNpYmxlIGNhbiBjYWxsIGludG8gc2V0U2Nyb2xsUG9z
aXRpb24oKSwgd2hpY2ggcmVzZXRzIG1fbWFpbnRhaW5TY3JvbGxQb3NpdGlvbkFuY2hvci4KKyAg
ICBMT0dfV0lUSF9TVFJFQU0oU2Nyb2xsaW5nLCBzdHJlYW0gPDwgIiByZXN0b3JpbmcgYW5jaG9y
IG5vZGUgdG8gIiA8PCBhbmNob3JOb2RlLmdldCgpKTsKICAgICBtX21haW50YWluU2Nyb2xsUG9z
aXRpb25BbmNob3IgPSBhbmNob3JOb2RlOwogfQogCkBAIC0zMzA1LDYgKzMzMjEsOCBAQCB2b2lk
IEZyYW1lVmlldzo6YXV0b1NpemVJZkVuYWJsZWQoKQogICAgICAgICBkb2N1bWVudC0+dXBkYXRl
TGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKCk7CiAgICAgfQogICAgIG1fZGlkUnVuQXV0
b3NpemUgPSB0cnVlOworCisgICAgTE9HX1dJVEhfU1RSRUFNKExheW91dCwgc3RyZWFtIDw8ICJG
cmFtZVZpZXcgIiA8PCB0aGlzIDw8ICIgYXV0b1NpemVJZkVuYWJsZWQoKSBjaGFuZ2VkIHNpemUg
ZnJvbSAiIDw8IHNpemUgPDwgIiB0byAiIDw8IGZyYW1lUmVjdCgpLnNpemUoKSk7CiB9CiAKIHZv
aWQgRnJhbWVWaWV3OjpzZXRBdXRvU2l6ZUZpeGVkTWluaW11bUhlaWdodChpbnQgZml4ZWRNaW5p
bXVtSGVpZ2h0KQpAQCAtMzg4Miw2ICszOTAwLDggQEAgYm9vbCBGcmFtZVZpZXc6Ondhc1Njcm9s
bGVkQnlVc2VyKCkgY29uc3QKIAogdm9pZCBGcmFtZVZpZXc6OnNldFdhc1Njcm9sbGVkQnlVc2Vy
KGJvb2wgd2FzU2Nyb2xsZWRCeVVzZXIpCiB7CisgICAgTE9HKFNjcm9sbGluZywgIkZyYW1lVmll
dzo6c2V0V2FzU2Nyb2xsZWRCeVVzZXIgYXQgJWQiLCB3YXNTY3JvbGxlZEJ5VXNlcik7CisKICAg
ICBpZiAobV9pblByb2dyYW1tYXRpY1Njcm9sbCkKICAgICAgICAgcmV0dXJuOwogICAgIG1fbWFp
bnRhaW5TY3JvbGxQb3NpdGlvbkFuY2hvciA9IG51bGxwdHI7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0xheW91dENvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9MYXlv
dXRDb250ZXh0LmNwcAppbmRleCAwY2NlMjkxZjJjZjVhZjhiOTk5ZTIyOTlmZjUzNzBjNDA4MmUy
NDNkLi42ZGVkZWVmY2NkOGUxNjgyZmQwZWZkNDEyZGExOGU2N2Y5YjhkYzkwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0xheW91dENvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvTGF5b3V0Q29udGV4dC5jcHAKQEAgLTExOSw2ICsxMTksOCBAQCBMYXlvdXRDb250
ZXh0OjpMYXlvdXRDb250ZXh0KEZyYW1lVmlldyYgZnJhbWVWaWV3KQogCiB2b2lkIExheW91dENv
bnRleHQ6OmxheW91dCgpCiB7CisgICAgTE9HX1dJVEhfU1RSRUFNKExheW91dCwgc3RyZWFtIDw8
ICJGcmFtZVZpZXcgIiA8PCAmdmlldygpIDw8ICIgTGF5b3V0Q29udGV4dDo6bGF5b3V0KCkgd2l0
aCBzaXplICIgPDwgdmlldygpLmxheW91dFNpemUoKSk7CisKICAgICBSRUxFQVNFX0FTU0VSVF9X
SVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCFmcmFtZSgpLmRvY3VtZW50KCktPmluUmVuZGVyVHJl
ZVVwZGF0ZSgpKTsKICAgICBBU1NFUlQoIXZpZXcoKS5pc1BhaW50aW5nKCkpOwogICAgIEFTU0VS
VChmcmFtZSgpLnZpZXcoKSA9PSAmdmlldygpKTsKQEAgLTE0Miw3ICsxNDQsNyBAQCB2b2lkIExh
eW91dENvbnRleHQ6OmxheW91dCgpCiAKICNpZiAhTE9HX0RJU0FCTEVECiAgICAgaWYgKG1fZmly
c3RMYXlvdXQgJiYgIWZyYW1lKCkub3duZXJFbGVtZW50KCkpCi0gICAgICAgIExPRyhMYXlvdXQs
ICJGcmFtZVZpZXcgJXAgZWxhcHNlZCB0aW1lIGJlZm9yZSBmaXJzdCBsYXlvdXQ6ICUuM2ZzXG4i
LCB0aGlzLCBkb2N1bWVudCgpLT50aW1lU2luY2VEb2N1bWVudENyZWF0aW9uKCkudmFsdWUoKSk7
CisgICAgICAgIExPRyhMYXlvdXQsICJGcmFtZVZpZXcgJXAgZWxhcHNlZCB0aW1lIGJlZm9yZSBm
aXJzdCBsYXlvdXQ6ICUuM2ZzIiwgdGhpcywgZG9jdW1lbnQoKS0+dGltZVNpbmNlRG9jdW1lbnRD
cmVhdGlvbigpLnZhbHVlKCkpOwogI2VuZGlmCiAjaWYgUExBVEZPUk0oSU9TKQogICAgIGlmICh2
aWV3KCkudXBkYXRlRml4ZWRQb3NpdGlvbkxheW91dFJlY3QoKSAmJiBzdWJ0cmVlTGF5b3V0Um9v
dCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGFnZS5jcHAKaW5kZXggMTRjMDI2NDA5YjFmMjAzYTY5YjBiNGIxZDAyMDIz
MTk4MjNhMjkyMy4uNzUzZTMzODZkZTE4MGYwNTQ1MDRhZmMyMmJkZWY2M2M2NDgzNWQyYSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BhZ2UuY3BwCkBAIC03OTcsNiArNzk3LDggQEAgdm9pZCBQYWdlOjpzZXRab29tZWRP
dXRQYWdlU2NhbGVGYWN0b3IoZmxvYXQgc2NhbGUpCiAKIHZvaWQgUGFnZTo6c2V0UGFnZVNjYWxl
RmFjdG9yKGZsb2F0IHNjYWxlLCBjb25zdCBJbnRQb2ludCYgb3JpZ2luLCBib29sIGluU3RhYmxl
U3RhdGUpCiB7CisgICAgTE9HKFZpZXdwb3J0cywgIlBhZ2U6OnNldFBhZ2VTY2FsZUZhY3RvciAl
LjJmIC0gaW5TdGFibGVTdGF0ZSAlZCIsIHNjYWxlLCBpblN0YWJsZVN0YXRlKTsKKwogICAgIERv
Y3VtZW50KiBkb2N1bWVudCA9IG1haW5GcmFtZSgpLmRvY3VtZW50KCk7CiAgICAgRnJhbWVWaWV3
KiB2aWV3ID0gZG9jdW1lbnQtPnZpZXcoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9WaWV3cG9ydENvbmZpZ3VyYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9WaWV3
cG9ydENvbmZpZ3VyYXRpb24uY3BwCmluZGV4IGFhMTY0ODNmYzcwYWIwOTAzYzBiNDAzZmI5MDFh
NzViNzMyNGE2YTYuLjFjOTJhZWY0YzRkMDA2YTI5ZTlhYjAzMTU3MDc5NzcwNGFlMTQ5NDAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvVmlld3BvcnRDb25maWd1cmF0aW9uLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1ZpZXdwb3J0Q29uZmlndXJhdGlvbi5jcHAKQEAgLTI2
LDYgKzI2LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJWaWV3cG9ydENvbmZp
Z3VyYXRpb24uaCIKIAorI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlIDx3dGYvQXNzZXJ0
aW9ucy5oPgogI2luY2x1ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQv
Q1N0cmluZy5oPgpAQCAtNzEsNiArNzIsOCBAQCBib29sIFZpZXdwb3J0Q29uZmlndXJhdGlvbjo6
c2V0Q29udGVudHNTaXplKGNvbnN0IEludFNpemUmIGNvbnRlbnRTaXplKQogICAgIGlmIChtX2Nv
bnRlbnRTaXplID09IGNvbnRlbnRTaXplKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyAgICBM
T0dfV0lUSF9TVFJFQU0oVmlld3BvcnRzLCBzdHJlYW0gPDwgIlZpZXdwb3J0Q29uZmlndXJhdGlv
bjo6c2V0Q29udGVudHNTaXplICIgPDwgY29udGVudFNpemUgPDwgIiAod2FzICIgPDwgbV9jb250
ZW50U2l6ZSA8PCAiKSIpOworCiAgICAgbV9jb250ZW50U2l6ZSA9IGNvbnRlbnRTaXplOwogICAg
IHVwZGF0ZUNvbmZpZ3VyYXRpb24oKTsKICAgICByZXR1cm4gdHJ1ZTsKQEAgLTkxLDYgKzk0LDcg
QEAgYm9vbCBWaWV3cG9ydENvbmZpZ3VyYXRpb246OnNldFZpZXdwb3J0QXJndW1lbnRzKGNvbnN0
IFZpZXdwb3J0QXJndW1lbnRzJiB2aWV3cG8KICAgICBpZiAobV92aWV3cG9ydEFyZ3VtZW50cyA9
PSB2aWV3cG9ydEFyZ3VtZW50cykKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAgTE9HX1dJ
VEhfU1RSRUFNKFZpZXdwb3J0cywgc3RyZWFtIDw8ICJWaWV3cG9ydENvbmZpZ3VyYXRpb246OnNl
dFZpZXdwb3J0QXJndW1lbnRzICIgPDwgdmlld3BvcnRBcmd1bWVudHMpOwogICAgIG1fdmlld3Bv
cnRBcmd1bWVudHMgPSB2aWV3cG9ydEFyZ3VtZW50czsKICAgICB1cGRhdGVDb25maWd1cmF0aW9u
KCk7CiAgICAgcmV0dXJuIHRydWU7CkBAIC0zMzgsNiArMzQyLDggQEAgdm9pZCBWaWV3cG9ydENv
bmZpZ3VyYXRpb246OnVwZGF0ZUNvbmZpZ3VyYXRpb24oKQogICAgICAgICBtX2NvbmZpZ3VyYXRp
b24uYWxsb3dzU2hyaW5rVG9GaXQgPSBtX3ZpZXdwb3J0QXJndW1lbnRzLnNocmlua1RvRml0ICE9
IDAuOwogCiAgICAgbV9jb25maWd1cmF0aW9uLmF2b2lkc1Vuc2FmZUFyZWEgPSBtX3ZpZXdwb3J0
QXJndW1lbnRzLnZpZXdwb3J0Rml0ICE9IFZpZXdwb3J0Rml0OjpDb3ZlcjsKKworICAgIExPR19X
SVRIX1NUUkVBTShWaWV3cG9ydHMsIHN0cmVhbSA8PCAiVmlld3BvcnRDb25maWd1cmF0aW9uICIg
PDwgdGhpcyA8PCAiIHVwZGF0ZUNvbmZpZ3VyYXRpb24gIiA8PCAqdGhpcyA8PCAiIGdpdmVzIGlu
aXRpYWwgc2NhbGUgIiA8PCBpbml0aWFsU2NhbGUoKSA8PCAiIGJhc2VkIG9uIGNvbnRlbnRTaXpl
ICIgPDwgbV9jb250ZW50U2l6ZSA8PCAiIGFuZCBsYXlvdXQgc2l6ZSAiIDw8IGxheW91dFdpZHRo
KCkgPDwgIngiIDw8IGxheW91dEhlaWdodCgpKTsKIH0KIAogZG91YmxlIFZpZXdwb3J0Q29uZmln
dXJhdGlvbjo6dmlld3BvcnRBcmd1bWVudHNMZW5ndGgoZG91YmxlIGxlbmd0aCkgY29uc3QKQEAg
LTQ0Niw3ICs0NTIsMTIgQEAgVGV4dFN0cmVhbSYgb3BlcmF0b3I8PChUZXh0U3RyZWFtJiB0cywg
Y29uc3QgVmlld3BvcnRDb25maWd1cmF0aW9uOjpQYXJhbWV0ZXJzJgogICAgIHJldHVybiB0czsK
IH0KIAotQ1N0cmluZyBWaWV3cG9ydENvbmZpZ3VyYXRpb246OmRlc2NyaXB0aW9uKCkgY29uc3QK
K1RleHRTdHJlYW0mIG9wZXJhdG9yPDwoVGV4dFN0cmVhbSYgdHMsIGNvbnN0IFZpZXdwb3J0Q29u
ZmlndXJhdGlvbiYgY29uZmlnKQoreworICAgIHJldHVybiB0cyA8PCBjb25maWcuZGVzY3JpcHRp
b24oKTsKK30KKworU3RyaW5nIFZpZXdwb3J0Q29uZmlndXJhdGlvbjo6ZGVzY3JpcHRpb24oKSBj
b25zdAogewogICAgIFRleHRTdHJlYW0gdHM7CiAKQEAgLTQ3OSwxMiArNDkwLDEyIEBAIENTdHJp
bmcgVmlld3BvcnRDb25maWd1cmF0aW9uOjpkZXNjcmlwdGlvbigpIGNvbnN0CiAgICAgCiAgICAg
dHMuZW5kR3JvdXAoKTsKIAotICAgIHJldHVybiB0cy5yZWxlYXNlKCkudXRmOCgpOworICAgIHJl
dHVybiB0cy5yZWxlYXNlKCk7CiB9CiAKIHZvaWQgVmlld3BvcnRDb25maWd1cmF0aW9uOjpkdW1w
KCkgY29uc3QKIHsKLSAgICBXVEZMb2dBbHdheXMoIiVzIiwgZGVzY3JpcHRpb24oKS5kYXRhKCkp
OworICAgIFdURkxvZ0Fsd2F5cygiJXMiLCBkZXNjcmlwdGlvbigpLnV0ZjgoKS5kYXRhKCkpOwog
fQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvVmlld3BvcnRDb25m
aWd1cmF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1ZpZXdwb3J0Q29uZmlndXJhdGlvbi5o
CmluZGV4IGJhMmZhOWJhMjFmMWZmZDU1Y2FkMzM0ZmE0MjRiNjhjN2EyOGM2MDcuLjdmYWYzYzRm
NDExNWY2NTFmNWFkZDAxNWEzMzhhMmY5MWI5ZmRlNmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvVmlld3BvcnRDb25maWd1cmF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9WaWV3cG9ydENvbmZpZ3VyYXRpb24uaApAQCAtOTMsNyArOTMsNyBAQCBwdWJsaWM6CiAgICAg
V0VCQ09SRV9FWFBPUlQgc3RhdGljIFBhcmFtZXRlcnMgdGVzdGluZ1BhcmFtZXRlcnMoKTsKICAg
ICAKICNpZm5kZWYgTkRFQlVHCi0gICAgV1RGOjpDU3RyaW5nIGRlc2NyaXB0aW9uKCkgY29uc3Q7
CisgICAgU3RyaW5nIGRlc2NyaXB0aW9uKCkgY29uc3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9p
ZCBkdW1wKCkgY29uc3Q7CiAjZW5kaWYKIApAQCAtMTE5LDUgKzExOSw2IEBAIHByaXZhdGU6CiB9
OwogCiBXVEY6OlRleHRTdHJlYW0mIG9wZXJhdG9yPDwoV1RGOjpUZXh0U3RyZWFtJiwgY29uc3Qg
Vmlld3BvcnRDb25maWd1cmF0aW9uOjpQYXJhbWV0ZXJzJik7CitXVEY6OlRleHRTdHJlYW0mIG9w
ZXJhdG9yPDwoV1RGOjpUZXh0U3RyZWFtJiwgY29uc3QgVmlld3BvcnRDb25maWd1cmF0aW9uJik7
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL0xvZ2dpbmcuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xvZ2dpbmcuaAppbmRl
eCA4Mjk2YTFlNTgzZDM4NGVmNTA2ODYyZWZjZmFjZTk3MWMxYzQ1NGU0Li5iYWQ4YWUwODkyMGQ2
NzhlNWE0MzA1Y2U1MWJkYWIwMTQyZDBlNDUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9Mb2dnaW5nLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTG9nZ2luZy5o
CkBAIC05Miw2ICs5Miw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBNKFRpbGluZykgXAog
ICAgIE0oVGhyZWFkaW5nKSBcCiAgICAgTShVUkxQYXJzZXIpIFwKKyAgICBNKFZpZXdwb3J0cykg
XAogICAgIE0oV2ViQXVkaW8pIFwKICAgICBNKFdlYkdMKSBcCiAgICAgTShXZWJHUFUpIFwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5jcHAKaW5kZXggZjhkN2ZhMGRmNjI5NzgyMTMx
OWM3YTZiNTI5NjhjOWRlODA4YmQ0My4uNGY1M2FkN2Q4MjdmOWM0NTVlY2JhYzZiYzYxZTZlM2Jm
NDg5ZGE2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5jcHAKQEAgLTMwMSw2
ICszMDEsOCBAQCB2b2lkIFNjcm9sbFZpZXc6OnNldEZpeGVkTGF5b3V0U2l6ZShjb25zdCBJbnRT
aXplJiBuZXdTaXplKQogewogICAgIGlmIChmaXhlZExheW91dFNpemUoKSA9PSBuZXdTaXplKQog
ICAgICAgICByZXR1cm47CisKKyAgICBMT0dfV0lUSF9TVFJFQU0oTGF5b3V0LCBzdHJlYW0gPDwg
IlNjcm9sbFZpZXcgIiA8PCB0aGlzIDw8ICIgc2V0Rml4ZWRMYXlvdXRTaXplICIgPDwgbmV3U2l6
ZSk7CiAgICAgbV9maXhlZExheW91dFNpemUgPSBuZXdTaXplOwogICAgIGlmIChtX3VzZUZpeGVk
TGF5b3V0KQogICAgICAgICBhdmFpbGFibGVDb250ZW50U2l6ZUNoYW5nZWQoQXZhaWxhYmxlU2l6
ZUNoYW5nZVJlYXNvbjo6QXJlYVNpemVDaGFuZ2VkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCmluZGV4IDNiNDYyMDQwNTY4OTFlMzdkOTkxNDE2
MzhmMDZmYzNhZGE5OTI4ZmIuLmQ3ODUzNGVkZTE0MTI3YWFiZGJmNjE0MmU0OTVhZmUwOTNkMjAy
MWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZp
ZXcubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5t
bQpAQCAtMTY2MCw3ICsxNjYwLDcgQEAgLSAodm9pZClfZGlkQ29tbWl0TGF5ZXJUcmVlOihjb25z
dCBXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uJilsYXllclRyZWUKICAgICBpZiAo
IVtzZWxmIHVzZXNTdGFuZGFyZENvbnRlbnRWaWV3XSkKICAgICAgICAgcmV0dXJuOwogCi0gICAg
TE9HX1dJVEhfU1RSRUFNKFZpc2libGVSZWN0cywgc3RyZWFtIDw8ICItW1dLV2ViVmlldyBfZGlk
Q29tbWl0TGF5ZXJUcmVlOl0gdHJhbnNhY3Rpb25JRCAiIDw8ICBsYXllclRyZWVUcmFuc2FjdGlv
bi50cmFuc2FjdGlvbklEKCkgPDwgIiBfZHluYW1pY1ZpZXdwb3J0VXBkYXRlTW9kZSAiIDw8IChp
bnQpX2R5bmFtaWNWaWV3cG9ydFVwZGF0ZU1vZGUpOworICAgIExPR19XSVRIX1NUUkVBTShWaXNp
YmxlUmVjdHMsIHN0cmVhbSA8PCAiLVtXS1dlYlZpZXcgIiA8PCBfcGFnZS0+cGFnZUlEKCkgPDwg
IiBfZGlkQ29tbWl0TGF5ZXJUcmVlOl0gdHJhbnNhY3Rpb25JRCAiIDw8ICBsYXllclRyZWVUcmFu
c2FjdGlvbi50cmFuc2FjdGlvbklEKCkgPDwgIiBfZHluYW1pY1ZpZXdwb3J0VXBkYXRlTW9kZSAi
IDw8IChpbnQpX2R5bmFtaWNWaWV3cG9ydFVwZGF0ZU1vZGUpOwogCiAgICAgYm9vbCBuZWVkVXBk
YXRlVmlzaWJsZUNvbnRlbnRSZWN0cyA9IF9wYWdlLT51cGRhdGVMYXlvdXRWaWV3cG9ydFBhcmFt
ZXRlcnMobGF5ZXJUcmVlVHJhbnNhY3Rpb24pOwogCkBAIC0xNjg1LDggKzE2ODUsMTAgQEAgLSAo
dm9pZClfZGlkQ29tbWl0TGF5ZXJUcmVlOihjb25zdCBXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZVRy
YW5zYWN0aW9uJilsYXllclRyZWUKICAgICBbX3Njcm9sbFZpZXcgc2V0TWluaW11bVpvb21TY2Fs
ZTpsYXllclRyZWVUcmFuc2FjdGlvbi5taW5pbXVtU2NhbGVGYWN0b3IoKV07CiAgICAgW19zY3Jv
bGxWaWV3IHNldE1heGltdW1ab29tU2NhbGU6bGF5ZXJUcmVlVHJhbnNhY3Rpb24ubWF4aW11bVNj
YWxlRmFjdG9yKCldOwogICAgIFtfc2Nyb2xsVmlldyBzZXRab29tRW5hYmxlZDpsYXllclRyZWVU
cmFuc2FjdGlvbi5hbGxvd3NVc2VyU2NhbGluZygpXTsKLSAgICBpZiAoIWxheWVyVHJlZVRyYW5z
YWN0aW9uLnNjYWxlV2FzU2V0QnlVSVByb2Nlc3MoKSAmJiAhW19zY3JvbGxWaWV3IGlzWm9vbWlu
Z10gJiYgIVtfc2Nyb2xsVmlldyBpc1pvb21Cb3VuY2luZ10gJiYgIVtfc2Nyb2xsVmlldyBfaXNB
bmltYXRpbmdab29tXSAmJiBbX3Njcm9sbFZpZXcgem9vbVNjYWxlXSAhPSBsYXllclRyZWVUcmFu
c2FjdGlvbi5wYWdlU2NhbGVGYWN0b3IoKSkKKyAgICBpZiAoIWxheWVyVHJlZVRyYW5zYWN0aW9u
LnNjYWxlV2FzU2V0QnlVSVByb2Nlc3MoKSAmJiAhW19zY3JvbGxWaWV3IGlzWm9vbWluZ10gJiYg
IVtfc2Nyb2xsVmlldyBpc1pvb21Cb3VuY2luZ10gJiYgIVtfc2Nyb2xsVmlldyBfaXNBbmltYXRp
bmdab29tXSAmJiBbX3Njcm9sbFZpZXcgem9vbVNjYWxlXSAhPSBsYXllclRyZWVUcmFuc2FjdGlv
bi5wYWdlU2NhbGVGYWN0b3IoKSkgeworICAgICAgICBMT0dfV0lUSF9TVFJFQU0oVmlzaWJsZVJl
Y3RzLCBzdHJlYW0gPDwgIiB1cGRhdGluZyBzY3JvbGwgdmlldyB3aXRoIHBhZ2VTY2FsZUZhY3Rv
ciAiIDw8IGxheWVyVHJlZVRyYW5zYWN0aW9uLnBhZ2VTY2FsZUZhY3RvcigpKTsKICAgICAgICAg
W19zY3JvbGxWaWV3IHNldFpvb21TY2FsZTpsYXllclRyZWVUcmFuc2FjdGlvbi5wYWdlU2NhbGVG
YWN0b3IoKV07CisgICAgfQogCiAgICAgX3ZpZXdwb3J0TWV0YVRhZ1dpZHRoID0gbGF5ZXJUcmVl
VHJhbnNhY3Rpb24udmlld3BvcnRNZXRhVGFnV2lkdGgoKTsKICAgICBfdmlld3BvcnRNZXRhVGFn
V2lkdGhXYXNFeHBsaWNpdCA9IGxheWVyVHJlZVRyYW5zYWN0aW9uLnZpZXdwb3J0TWV0YVRhZ1dp
ZHRoV2FzRXhwbGljaXQoKTsKQEAgLTE3NzUsNiArMTc3Nyw4IEBAIC0gKHZvaWQpX2xheWVyVHJl
ZUNvbW1pdENvbXBsZXRlCiAKIC0gKHZvaWQpX2R5bmFtaWNWaWV3cG9ydFVwZGF0ZUNoYW5nZWRU
YXJnZXRUb1NjYWxlOihkb3VibGUpbmV3U2NhbGUgcG9zaXRpb246KENHUG9pbnQpbmV3U2Nyb2xs
UG9zaXRpb24gbmV4dFZhbGlkTGF5ZXJUcmVlVHJhbnNhY3Rpb25JRDoodWludDY0X3QpbmV4dFZh
bGlkTGF5ZXJUcmVlVHJhbnNhY3Rpb25JRAogeworICAgIExPR19XSVRIX1NUUkVBTShWaXNpYmxl
UmVjdHMsIHN0cmVhbSA8PCAiLVtXS1dlYlZpZXcgIiA8PCBfcGFnZS0+cGFnZUlEKCkgPDwgIiBf
ZHluYW1pY1ZpZXdwb3J0VXBkYXRlQ2hhbmdlZFRhcmdldFRvU2NhbGU6XSAiIDw8ICBuZXdTY2Fs
ZSA8PCAiIF9keW5hbWljVmlld3BvcnRVcGRhdGVNb2RlICIgPDwgKGludClfZHluYW1pY1ZpZXdw
b3J0VXBkYXRlTW9kZSk7CisKICAgICBpZiAoX2R5bmFtaWNWaWV3cG9ydFVwZGF0ZU1vZGUgIT0g
RHluYW1pY1ZpZXdwb3J0VXBkYXRlTW9kZTo6Tm90UmVzaXppbmcpIHsKICAgICAgICAgQ0dGbG9h
dCBhbmltYXRpbmdTY2FsZVRhcmdldCA9IFtbX3Jlc2l6ZUFuaW1hdGlvblZpZXcgbGF5ZXJdIHRy
YW5zZm9ybV0ubTExOwogICAgICAgICBkb3VibGUgY3VycmVudFRhcmdldFNjYWxlID0gYW5pbWF0
aW5nU2NhbGVUYXJnZXQgKiBbW19jb250ZW50VmlldyBsYXllcl0gdHJhbnNmb3JtXS5tMTE7CkBA
IC0yNDUxLDYgKzI0NTUsNyBAQCAtICh2b2lkKV9kaXNwYXRjaFNldE1pbmltdW1MYXlvdXRTaXpl
OihXZWJDb3JlOjpGbG9hdFNpemUpbWluaW11bUxheW91dFNpemUKICAgICBpZiAoX2xhc3RTZW50
TWluaW11bUxheW91dFNpemUgJiYgQ0dTaXplRXF1YWxUb1NpemUoX2xhc3RTZW50TWluaW11bUxh
eW91dFNpemUudmFsdWUoKSwgbWluaW11bUxheW91dFNpemUpKQogICAgICAgICByZXR1cm47CiAK
KyAgICBMT0dfV0lUSF9TVFJFQU0oVmlzaWJsZVJlY3RzLCBzdHJlYW0gPDwgIi1bV0tXZWJWaWV3
ICIgPDwgX3BhZ2UtPnBhZ2VJRCgpIDw8ICIgX2Rpc3BhdGNoU2V0TWluaW11bUxheW91dFNpemU6
XSAiIDw8IG1pbmltdW1MYXlvdXRTaXplIDw8ICIgY29udGVudFpvb21TY2FsZSAiIDw8IGNvbnRl
bnRab29tU2NhbGUoc2VsZikpOwogICAgIF9wYWdlLT5zZXRWaWV3cG9ydENvbmZpZ3VyYXRpb25N
aW5pbXVtTGF5b3V0U2l6ZShtaW5pbXVtTGF5b3V0U2l6ZSk7CiAgICAgX2xhc3RTZW50TWluaW11
bUxheW91dFNpemUgPSBtaW5pbXVtTGF5b3V0U2l6ZTsKIH0KQEAgLTUwOTQsNiArNTA5OSw4IEBA
IC0gKHZvaWQpX2JlZ2luQW5pbWF0ZWRSZXNpemVXaXRoVXBkYXRlczoodm9pZCAoXikodm9pZCkp
dXBkYXRlQmxvY2sKIAogLSAodm9pZClfZW5kQW5pbWF0ZWRSZXNpemUKIHsKKyAgICBMT0dfV0lU
SF9TVFJFQU0oVmlzaWJsZVJlY3RzLCBzdHJlYW0gPDwgIi1bV0tXZWJWaWV3ICIgPDwgX3BhZ2Ut
PnBhZ2VJRCgpIDw8ICIgX2VuZEFuaW1hdGVkUmVzaXplOl0gIiA8PCAiIF9keW5hbWljVmlld3Bv
cnRVcGRhdGVNb2RlICIgPDwgKGludClfZHluYW1pY1ZpZXdwb3J0VXBkYXRlTW9kZSk7CisKICAg
ICBpZiAoX2R5bmFtaWNWaWV3cG9ydFVwZGF0ZU1vZGUgPT0gRHluYW1pY1ZpZXdwb3J0VXBkYXRl
TW9kZTo6Tm90UmVzaXppbmcpCiAgICAgICAgIHJldHVybjsKIApAQCAtNTE2Nyw2ICs1MTc0LDcg
QEAgLSAodm9pZClfZW5kQW5pbWF0ZWRSZXNpemUKIAogLSAodm9pZClfcmVzaXplV2hpbGVIaWRp
bmdDb250ZW50V2l0aFVwZGF0ZXM6KHZvaWQgKF4pKHZvaWQpKXVwZGF0ZUJsb2NrCiB7CisgICAg
TE9HX1dJVEhfU1RSRUFNKFZpc2libGVSZWN0cywgc3RyZWFtIDw8ICItW1dLV2ViVmlldyAiIDw8
IF9wYWdlLT5wYWdlSUQoKSA8PCAiIF9yZXNpemVXaGlsZUhpZGluZ0NvbnRlbnRXaXRoVXBkYXRl
czpdIik7CiAgICAgW3NlbGYgX2JlZ2luQW5pbWF0ZWRSZXNpemVXaXRoVXBkYXRlczp1cGRhdGVC
bG9ja107CiAgICAgaWYgKF9keW5hbWljVmlld3BvcnRVcGRhdGVNb2RlID09IER5bmFtaWNWaWV3
cG9ydFVwZGF0ZU1vZGU6OlJlc2l6aW5nV2l0aEFuaW1hdGlvbikgewogICAgICAgICBbX2NvbnRl
bnRWaWV3IHNldEhpZGRlbjpZRVNdOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmNwcAppbmRleCA2ZmU3OWI0OTFmZDUyYjg3MDQ3ZWYyZTY5NzFkOWE0ZDQ1YWU4
NTUwLi42MzRiMzE4MmE0Y2Y2ZjYzM2NiMDJhZjViNTU5ZmQzMWMyZGZjZWY3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtMjA2LDYgKzIwNiw3
IEBACiAjaW5jbHVkZSA8cnVudGltZS9TYW1wbGluZ1Byb2ZpbGVyLmg+CiAjaW5jbHVkZSA8d3Rm
L1J1bkxvb3AuaD4KICNpbmNsdWRlIDx3dGYvU2V0Rm9yU2NvcGUuaD4KKyNpbmNsdWRlIDx3dGYv
dGV4dC9UZXh0U3RyZWFtLmg+CiAKICNpZiBFTkFCTEUoREFUQV9ERVRFQ1RJT04pCiAjaW5jbHVk
ZSAiRGF0YURldGVjdGlvblJlc3VsdC5oIgpAQCAtMTc0Miw2ICsxNzQzLDcgQEAgYm9vbCBXZWJQ
YWdlOjpzZXRGaXhlZExheW91dFNpemUoY29uc3QgSW50U2l6ZSYgc2l6ZSkKICAgICBpZiAoIXZp
ZXcgfHwgdmlldy0+Zml4ZWRMYXlvdXRTaXplKCkgPT0gc2l6ZSkKICAgICAgICAgcmV0dXJuIGZh
bHNlOwogCisgICAgTE9HX1dJVEhfU1RSRUFNKFZpc2libGVSZWN0cywgc3RyZWFtIDw8ICJXZWJQ
YWdlICIgPDwgbV9wYWdlSUQgPDwgIiBzZXRGaXhlZExheW91dFNpemUgIiA8PCBzaXplKTsKICAg
ICB2aWV3LT5zZXRGaXhlZExheW91dFNpemUoc2l6ZSk7CiAKICAgICBzZW5kKE1lc3NhZ2VzOjpX
ZWJQYWdlUHJveHk6OkZpeGVkTGF5b3V0U2l6ZURpZENoYW5nZShzaXplKSk7CkBAIC0zNzc3LDYg
KzM3NzksNyBAQCB2b2lkIFdlYlBhZ2U6Om1haW5GcmFtZURpZExheW91dCgpCiAjaWYgUExBVEZP
Uk0oSU9TKQogICAgIGlmIChGcmFtZVZpZXcqIGZyYW1lVmlldyA9IG1haW5GcmFtZVZpZXcoKSkg
ewogICAgICAgICBJbnRTaXplIG5ld0NvbnRlbnRTaXplID0gZnJhbWVWaWV3LT5jb250ZW50c1Np
emUoKTsKKyAgICAgICAgTE9HX1dJVEhfU1RSRUFNKFZpc2libGVSZWN0cywgc3RyZWFtIDw8ICJX
ZWJQYWdlICIgPDwgbV9wYWdlSUQgPDwgIiBtYWluRnJhbWVEaWRMYXlvdXQgc2V0dGluZyBjb250
ZW50IHNpemUgdG8gIiA8PCBuZXdDb250ZW50U2l6ZSk7CiAgICAgICAgIGlmIChtX3ZpZXdwb3J0
Q29uZmlndXJhdGlvbi5zZXRDb250ZW50c1NpemUobmV3Q29udGVudFNpemUpKQogICAgICAgICAg
ICAgdmlld3BvcnRDb25maWd1cmF0aW9uQ2hhbmdlZCgpOwogICAgIH0KQEAgLTUwODEsNiArNTA4
NCw4IEBAIHZvaWQgV2ViUGFnZTo6ZGlkQ29tbWl0TG9hZChXZWJGcmFtZSogZnJhbWUpCiAgICAg
Y29uc3QgRnJhbWUqIGNvcmVGcmFtZSA9IGZyYW1lLT5jb3JlRnJhbWUoKTsKICAgICAKICAgICBi
b29sIHZpZXdwb3J0Q2hhbmdlZCA9IGZhbHNlOworCisgICAgTE9HX1dJVEhfU1RSRUFNKFZpc2li
bGVSZWN0cywgc3RyZWFtIDw8ICJXZWJQYWdlICIgPDwgbV9wYWdlSUQgPDwgIiBkaWRDb21taXRM
b2FkIHNldHRpbmcgY29udGVudCBzaXplIHRvICIgPDwgY29yZUZyYW1lLT52aWV3KCktPmNvbnRl
bnRzU2l6ZSgpKTsKICAgICBpZiAobV92aWV3cG9ydENvbmZpZ3VyYXRpb24uc2V0Q29udGVudHNT
aXplKGNvcmVGcmFtZS0+dmlldygpLT5jb250ZW50c1NpemUoKSkpCiAgICAgICAgIHZpZXdwb3J0
Q2hhbmdlZCA9IHRydWU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvaW9zL1dlYlBhZ2VJT1MubW0KaW5kZXggZDNlYjRhZTYwODVkNzFmYmE5YzYzM2E0NjM3NTJh
MDE2MTlmOTNlYS4uNDBlYzY1OWFkYmZiNTI4YTUwNDEyZGFkOGQzOGI1MDRiN2Y5ZmU5OCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1Mu
bW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1Mu
bW0KQEAgLTI3Myw2ICsyNzMsOCBAQCBzdGF0aWMgZG91YmxlIHNjYWxlQWZ0ZXJWaWV3cG9ydFdp
ZHRoQ2hhbmdlKGRvdWJsZSBjdXJyZW50U2NhbGUsIGJvb2wgdXNlckhhc0NoYQogICAgIGVsc2UK
ICAgICAgICAgc2NhbGUgPSBzdGQ6Om1heChzdGQ6Om1pbihjdXJyZW50U2NhbGUsIHZpZXdwb3J0
Q29uZmlndXJhdGlvbi5tYXhpbXVtU2NhbGUoKSksIHZpZXdwb3J0Q29uZmlndXJhdGlvbi5taW5p
bXVtU2NhbGUoKSk7CiAKKyAgICBMT0coVmlzaWJsZVJlY3RzLCAic2NhbGVBZnRlclZpZXdwb3J0
V2lkdGhDaGFuZ2UgZ2V0dGluZyBzY2FsZSAlLjJmIiwgc2NhbGUpOworCiAgICAgaWYgKHVzZXJI
YXNDaGFuZ2VkUGFnZVNjYWxlRmFjdG9yKSB7CiAgICAgICAgIC8vIFdoZW4gdGhlIGNvbnRlbnQg
c2l6ZSBjaGFuZ2VzLCB3ZSBrZWVwIHRoZSBzYW1lIHJlbGF0aXZlIGhvcml6b250YWwgY29udGVu
dCB3aWR0aCBpbiB2aWV3LCBvdGhlcndpc2Ugd2Ugd291bGQKICAgICAgICAgLy8gZW5kIHVwIHpv
b21lZCB0b28gZmFyIGluIGxhbmRzY2FwZS0+cG9ydHJhaXQsIGFuZCB0b28gY2xvc2UgaW4gcG9y
dHJhaXQtPmxhbmRzY2FwZS4KQEAgLTIzNzYsNiArMjM3OCw3IEBAIHZvaWQgV2ViUGFnZTo6YXV0
b2ZpbGxMb2dpbkNyZWRlbnRpYWxzKGNvbnN0IFN0cmluZyYgdXNlcm5hbWUsIGNvbnN0IFN0cmlu
ZyYgcGFzCiAKIHZvaWQgV2ViUGFnZTo6c2V0Vmlld3BvcnRDb25maWd1cmF0aW9uTWluaW11bUxh
eW91dFNpemUoY29uc3QgRmxvYXRTaXplJiBzaXplKQogeworICAgIExPR19XSVRIX1NUUkVBTShW
aXNpYmxlUmVjdHMsIHN0cmVhbSA8PCAiV2ViUGFnZSAiIDw8IG1fcGFnZUlEIDw8ICIgc2V0Vmll
d3BvcnRDb25maWd1cmF0aW9uTWluaW11bUxheW91dFNpemUgIiA8PCBzaXplKTsKICAgICBpZiAo
bV92aWV3cG9ydENvbmZpZ3VyYXRpb24uc2V0TWluaW11bUxheW91dFNpemUoc2l6ZSkpCiAgICAg
ICAgIHZpZXdwb3J0Q29uZmlndXJhdGlvbkNoYW5nZWQoKTsKIH0KQEAgLTI0MTYsNyArMjQxOSw3
IEBAIHZvaWQgV2ViUGFnZTo6ZHluYW1pY1ZpZXdwb3J0U2l6ZVVwZGF0ZShjb25zdCBGbG9hdFNp
emUmIG1pbmltdW1MYXlvdXRTaXplLCBjb25zCiAgICAgU2V0Rm9yU2NvcGU8Ym9vbD4gZHluYW1p
Y1NpemVVcGRhdGVHdWFyZChtX2luRHluYW1pY1NpemVVcGRhdGUsIHRydWUpOwogICAgIC8vIEZJ
WE1FOiB0aGlzIGRvZXMgbm90IGhhbmRsZSB0aGUgY2FzZXMgd2hlcmUgdGhlIGNvbnRlbnQgd291
bGQgY2hhbmdlIHRoZSBjb250ZW50IHNpemUgb3Igc2Nyb2xsIHBvc2l0aW9uIGZyb20gSmF2YVNj
cmlwdC4KICAgICAvLyBUbyBoYW5kbGUgdGhvc2UgY2FzZXMsIHdlIHdvdWxkIG5lZWQgdG8gcmVk
byB0aGlzIGNvbXB1dGF0aW9uIG9uIGV2ZXJ5IGNoYW5nZSB1bnRpbCB0aGUgbmV4dCB2aXNpYmxl
IGNvbnRlbnQgcmVjdCB1cGRhdGUuCi0gICAgTE9HX1dJVEhfU1RSRUFNKFZpc2libGVSZWN0cywg
c3RyZWFtIDw8ICJcbldlYlBhZ2U6OmR5bmFtaWNWaWV3cG9ydFNpemVVcGRhdGUgLSB0YXJnZXRV
bm9ic2N1cmVkUmVjdCAiIDw8IHRhcmdldFVub2JzY3VyZWRSZWN0IDw8ICIgdGFyZ2V0RXhwb3Nl
ZENvbnRlbnRSZWN0ICIgPDwgdGFyZ2V0RXhwb3NlZENvbnRlbnRSZWN0IDw8ICIgdGFyZ2V0U2Nh
bGUgIiA8PCB0YXJnZXRTY2FsZSk7CisgICAgTE9HX1dJVEhfU1RSRUFNKFZpc2libGVSZWN0cywg
c3RyZWFtIDw8ICJcbldlYlBhZ2U6OmR5bmFtaWNWaWV3cG9ydFNpemVVcGRhdGUgLSBtaW5pbXVt
TGF5b3V0U2l6ZSAiIDw8IG1pbmltdW1MYXlvdXRTaXplIDw8ICIgdGFyZ2V0VW5vYnNjdXJlZFJl
Y3QgIiA8PCB0YXJnZXRVbm9ic2N1cmVkUmVjdCA8PCAiIHRhcmdldEV4cG9zZWRDb250ZW50UmVj
dCAiIDw8IHRhcmdldEV4cG9zZWRDb250ZW50UmVjdCA8PCAiIHRhcmdldFNjYWxlICIgPDwgdGFy
Z2V0U2NhbGUpOwogCiAgICAgRnJhbWVWaWV3JiBmcmFtZVZpZXcgPSAqbV9wYWdlLT5tYWluRnJh
bWUoKS52aWV3KCk7CiAgICAgSW50U2l6ZSBvbGRDb250ZW50U2l6ZSA9IGZyYW1lVmlldy5jb250
ZW50c1NpemUoKTsKQEAgLTI0NDgsNiArMjQ1MSw3IEBAIHZvaWQgV2ViUGFnZTo6ZHluYW1pY1Zp
ZXdwb3J0U2l6ZVVwZGF0ZShjb25zdCBGbG9hdFNpemUmIG1pbmltdW1MYXlvdXRTaXplLCBjb25z
CiAgICAgICAgIH0KICAgICB9CiAKKyAgICBMT0dfV0lUSF9TVFJFQU0oVmlzaWJsZVJlY3RzLCBz
dHJlYW0gPDwgIldlYlBhZ2U6OmR5bmFtaWNWaWV3cG9ydFNpemVVcGRhdGUgc2V0dGluZyBtaW5p
bXVtIGxheW91dCBzaXplIHRvICIgPDwgbWluaW11bUxheW91dFNpemUpOwogICAgIG1fdmlld3Bv
cnRDb25maWd1cmF0aW9uLnNldE1pbmltdW1MYXlvdXRTaXplKG1pbmltdW1MYXlvdXRTaXplKTsK
ICAgICBJbnRTaXplIG5ld0xheW91dFNpemUgPSBtX3ZpZXdwb3J0Q29uZmlndXJhdGlvbi5sYXlv
dXRTaXplKCk7CiAKQEAgLTI1OTcsNiArMjYwMSw3IEBAIHZvaWQgV2ViUGFnZTo6c3luY2hyb25p
emVEeW5hbWljVmlld3BvcnRVcGRhdGUoZG91YmxlJiBuZXdUYXJnZXRTY2FsZSwgRmxvYXRQb2lu
CiAKIHZvaWQgV2ViUGFnZTo6cmVzZXRWaWV3cG9ydERlZmF1bHRDb25maWd1cmF0aW9uKFdlYkZy
YW1lKiBmcmFtZSkKIHsKKyAgICBMT0dfV0lUSF9TVFJFQU0oVmlzaWJsZVJlY3RzLCBzdHJlYW0g
PDwgIldlYlBhZ2UgIiA8PCBtX3BhZ2VJRCA8PCAiIHJlc2V0Vmlld3BvcnREZWZhdWx0Q29uZmln
dXJhdGlvbiIpOwogICAgIGlmIChtX3VzZVRlc3RpbmdWaWV3cG9ydENvbmZpZ3VyYXRpb24pIHsK
ICAgICAgICAgbV92aWV3cG9ydENvbmZpZ3VyYXRpb24uc2V0RGVmYXVsdENvbmZpZ3VyYXRpb24o
Vmlld3BvcnRDb25maWd1cmF0aW9uOjp0ZXN0aW5nUGFyYW1ldGVycygpKTsKICAgICAgICAgcmV0
dXJuOwpAQCAtMjYyOCw2ICsyNjMzLDggQEAgdm9pZCBXZWJQYWdlOjp2aWV3cG9ydENvbmZpZ3Vy
YXRpb25DaGFuZ2VkKCkKICAgICBlbHNlCiAgICAgICAgIHNjYWxlID0gaW5pdGlhbFNjYWxlOwog
CisgICAgTE9HX1dJVEhfU1RSRUFNKFZpc2libGVSZWN0cywgc3RyZWFtIDw8ICJXZWJQYWdlICIg
PDwgbV9wYWdlSUQgPDwgIiB2aWV3cG9ydENvbmZpZ3VyYXRpb25DaGFuZ2VkIC0gc2V0dGluZyB6
b29tZWRPdXRQYWdlU2NhbGVGYWN0b3IgdG8gIiA8PCBtX3ZpZXdwb3J0Q29uZmlndXJhdGlvbi5t
aW5pbXVtU2NhbGUoKSA8PCAiIGFuZCBzY2FsZSB0byAiIDw8IHNjYWxlKTsKKwogICAgIG1fcGFn
ZS0+c2V0Wm9vbWVkT3V0UGFnZVNjYWxlRmFjdG9yKG1fdmlld3BvcnRDb25maWd1cmF0aW9uLm1p
bmltdW1TY2FsZSgpKTsKIAogICAgIHVwZGF0ZVZpZXdwb3J0U2l6ZUZvckNTU1ZpZXdwb3J0VW5p
dHMoKTsKQEAgLTI3NjcsNyArMjc3NCw3IEBAIHN0YXRpYyBib29sIHNlbGVjdGlvbklzSW5zaWRl
Rml4ZWRQb3NpdGlvbkNvbnRhaW5lcihGcmFtZSYgZnJhbWUpCiAKIHZvaWQgV2ViUGFnZTo6dXBk
YXRlVmlzaWJsZUNvbnRlbnRSZWN0cyhjb25zdCBWaXNpYmxlQ29udGVudFJlY3RVcGRhdGVJbmZv
JiB2aXNpYmxlQ29udGVudFJlY3RVcGRhdGVJbmZvLCBNb25vdG9uaWNUaW1lIG9sZGVzdFRpbWVz
dGFtcCkKIHsKLSAgICBMT0dfV0lUSF9TVFJFQU0oVmlzaWJsZVJlY3RzLCBzdHJlYW0gPDwgIlxu
V2ViUGFnZTo6dXBkYXRlVmlzaWJsZUNvbnRlbnRSZWN0cyAiIDw8IHZpc2libGVDb250ZW50UmVj
dFVwZGF0ZUluZm8pOworICAgIExPR19XSVRIX1NUUkVBTShWaXNpYmxlUmVjdHMsIHN0cmVhbSA8
PCAiXG5XZWJQYWdlICIgPDwgbV9wYWdlSUQgPDwgIiB1cGRhdGVWaXNpYmxlQ29udGVudFJlY3Rz
ICIgPDwgdmlzaWJsZUNvbnRlbnRSZWN0VXBkYXRlSW5mbyk7CiAKICAgICAvLyBTa2lwIGFueSBW
aXNpYmxlQ29udGVudFJlY3RVcGRhdGUgdGhhdCBoYXZlIGJlZW4gcXVldWVkIGJlZm9yZSBEaWRD
b21taXRMb2FkIHN1cHByZXNzZXMgdGhlIHVwZGF0ZXMgaW4gdGhlIFVJUHJvY2Vzcy4KICAgICBp
ZiAodmlzaWJsZUNvbnRlbnRSZWN0VXBkYXRlSW5mby5sYXN0TGF5ZXJUcmVlVHJhbnNhY3Rpb25J
RCgpIDwgbV9tYWluRnJhbWUtPmZpcnN0TGF5ZXJUcmVlVHJhbnNhY3Rpb25JREFmdGVyRGlkQ29t
bWl0TG9hZCgpICYmICF2aXNpYmxlQ29udGVudFJlY3RVcGRhdGVJbmZvLmlzRmlyc3RVcGRhdGVG
b3JOZXdWaWV3U2l6ZSgpKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>328193</attachid>
            <date>2017-12-01 17:42:01 -0800</date>
            <delta_ts>2017-12-01 18:33:00 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-180295-20171201174201.patch</filename>
            <type>text/plain</type>
            <size>26508</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI1MzEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjI2MGYyYjY5NTU0ODAw
ZTU2NDkzMzg4NGRhODQxOTRmMTYyYjZhNi4uMDBjZWU0NjI3ZDc4OGNmNjUxNTVkYWI3ZmMxYjkw
ZGU1ZmQzMTllMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDE3LTEyLTAxICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBhIGxvZyBj
aGFubmVsIGZvciB2aWV3cG9ydHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE4MDI5NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEFkZCBhICJWaWV3cG9ydHMiIGxvZyBjaGFubmVsIHRvIGxvZyB2aWV3cG9y
dCBzY2FsaW5nIGluZm9ybWF0aW9uLCBhbmQgZW5oYW5jZSB0aGUKKyAgICAgICAgV2ViS2l0ICJW
aXNpYmxlUmVjdHMiIGNoYW5uZWwgdG8gbG9nIGFkZGl0aW9uYWwgZGF0YSBmb3IgdGhlIHNhbWUg
cmVhc29uLgorCisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkRvY3VtZW50Ojpwcm9jZXNzVmlld3BvcnQpOgorICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6ZmluaXNoZWRQYXJzaW5nKToK
KyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpjb21wbGV0ZWQpOgorICAgICAgICAqIHBh
Z2UvRnJhbWVWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6cmVzZXRTY3Jv
bGxiYXJzQW5kQ2xlYXJDb250ZW50c1NpemUpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3
OjpzY3JvbGxUb0FuY2hvcik6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6Om1haW50YWlu
U2Nyb2xsUG9zaXRpb25BdEFuY2hvcik6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OnNl
dFNjcm9sbFBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6YXV0b1NpemVJ
ZkVuYWJsZWQpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpzZXRXYXNTY3JvbGxlZEJ5
VXNlcik6CisgICAgICAgICogcGFnZS9MYXlvdXRDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkxheW91dENvbnRleHQ6OmxheW91dCk6CisgICAgICAgICogcGFnZS9QYWdlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlBhZ2U6OnNldFBhZ2VTY2FsZUZhY3Rvcik6CisgICAgICAgICogcGFn
ZS9WaWV3cG9ydENvbmZpZ3VyYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Vmlld3BvcnRD
b25maWd1cmF0aW9uOjpzZXRDb250ZW50c1NpemUpOgorICAgICAgICAoV2ViQ29yZTo6Vmlld3Bv
cnRDb25maWd1cmF0aW9uOjpzZXRWaWV3cG9ydEFyZ3VtZW50cyk6CisgICAgICAgIChXZWJDb3Jl
OjpWaWV3cG9ydENvbmZpZ3VyYXRpb246OnVwZGF0ZUNvbmZpZ3VyYXRpb24pOgorICAgICAgICAo
V2ViQ29yZTo6b3BlcmF0b3I8PCk6CisgICAgICAgIChXZWJDb3JlOjpWaWV3cG9ydENvbmZpZ3Vy
YXRpb246OmRlc2NyaXB0aW9uIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlZpZXdwb3J0Q29u
ZmlndXJhdGlvbjo6ZHVtcCBjb25zdCk6CisgICAgICAgICogcGFnZS9WaWV3cG9ydENvbmZpZ3Vy
YXRpb24uaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9Mb2dnaW5nLmg6CisgICAgICAgICogcGxhdGZv
cm0vU2Nyb2xsVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3OjpzZXRGaXhl
ZExheW91dFNpemUpOgorCiAyMDE3LTExLTI5ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJA
YXBwbGUuY29tPgogCiAgICAgICAgIE1pc3NpbmcgbGF5ZXIgY29udGVudCB3aGVuIGFuaW1hdGlu
ZyBlbGVtZW50cyBvbi1zY3JlZW4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggYjMyYTExM2E2NWEzZDA0NWRiNGM1ZmE2
MjQ1M2Y3YzM2OTUyNTczZC4uMTMyZWVmYTE4ODQwZWE2NTU0YzE1N2VkYjE0ODk1MTg3YTQ1MmVj
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMSBAQAorMjAxNy0xMi0wMSAgU2ltb24gRnJhc2VyICA8
c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgYSBsb2cgY2hhbm5lbCBmb3Ig
dmlld3BvcnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xODAyOTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBZGQgYSAiVmlld3BvcnRzIiBsb2cgY2hhbm5lbCB0byBsb2cgdmlld3BvcnQgc2NhbGluZyBp
bmZvcm1hdGlvbiwgYW5kIGVuaGFuY2UgdGhlCisgICAgICAgIFdlYktpdCAiVmlzaWJsZVJlY3Rz
IiBjaGFubmVsIHRvIGxvZyBhZGRpdGlvbmFsIGRhdGEgZm9yIHRoZSBzYW1lIHJlYXNvbi4KKwor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tOgorICAgICAgICAoLVtX
S1dlYlZpZXcgX2RpZENvbW1pdExheWVyVHJlZTpdKToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9k
eW5hbWljVmlld3BvcnRVcGRhdGVDaGFuZ2VkVGFyZ2V0VG9TY2FsZTpwb3NpdGlvbjpuZXh0VmFs
aWRMYXllclRyZWVUcmFuc2FjdGlvbklEOl0pOgorICAgICAgICAoLVtXS1dlYlZpZXcgX2Rpc3Bh
dGNoU2V0TWluaW11bUxheW91dFNpemU6XSk6CisgICAgICAgICgtW1dLV2ViVmlldyBfZW5kQW5p
bWF0ZWRSZXNpemVdKToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9yZXNpemVXaGlsZUhpZGluZ0Nv
bnRlbnRXaXRoVXBkYXRlczpdKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnNldEZpeGVkTGF5b3V0U2l6ZSk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6Om1haW5GcmFtZURpZExheW91dCk6CisgICAgICAgIChX
ZWJLaXQ6OldlYlBhZ2U6OmRpZENvbW1pdExvYWQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
UGFnZS9pb3MvV2ViUGFnZUlPUy5tbToKKyAgICAgICAgKFdlYktpdDo6c2NhbGVBZnRlclZpZXdw
b3J0V2lkdGhDaGFuZ2UpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpzZXRWaWV3cG9ydENv
bmZpZ3VyYXRpb25NaW5pbXVtTGF5b3V0U2l6ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6
OmR5bmFtaWNWaWV3cG9ydFNpemVVcGRhdGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpy
ZXNldFZpZXdwb3J0RGVmYXVsdENvbmZpZ3VyYXRpb24pOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
YWdlOjp2aWV3cG9ydENvbmZpZ3VyYXRpb25DaGFuZ2VkKToKKyAgICAgICAgKFdlYktpdDo6V2Vi
UGFnZTo6dXBkYXRlVmlzaWJsZUNvbnRlbnRSZWN0cyk6CisKIDIwMTctMTEtMjkgIEJyZW50IEZ1
bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CiAKICAgICAgICAgUGFydCAyOiBBZG9wdCB1cGRh
dGVkIE5TS2V5ZWRbVW5dQXJjaGl2ZXIgQVBJIHdoZW4gYXZhaWxhYmxlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50LmNwcAppbmRleCAyY2I4Y2I0MGJkZDg0NDcwNjkyYjIzOTNlNjdiMGIzMWI5YTM5MDg0Li4x
MGZlZWJmOGIxZDlkYjdkM2RkM2NmMmVhZGVkZDZlYjg3MmUzZTUzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5jcHAKQEAgLTIyMSw2ICsyMjEsNyBAQAogI2luY2x1ZGUgPHd0Zi9TeXN0ZW1UcmFjaW5n
Lmg+CiAjaW5jbHVkZSA8d3RmL1VVSUQuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWZm
ZXIuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9UZXh0U3RyZWFtLmg+CiAjaW5jbHVkZSA8eWFyci9S
ZWd1bGFyRXhwcmVzc2lvbi5oPgogCiAjaWYgRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKQEAg
LTMzODIsMTEgKzMzODMsMTUgQEAgdm9pZCBEb2N1bWVudDo6cHJvY2Vzc1ZpZXdwb3J0KGNvbnN0
IFN0cmluZyYgZmVhdHVyZXMsIFZpZXdwb3J0QXJndW1lbnRzOjpUeXBlIG8KIHsKICAgICBBU1NF
UlQoIWZlYXR1cmVzLmlzTnVsbCgpKTsKIAorICAgIExPR19XSVRIX1NUUkVBTShWaWV3cG9ydHMs
IHN0cmVhbSA8PCAiRG9jdW1lbnQ6OnByb2Nlc3NWaWV3cG9ydCAiIDw8IGZlYXR1cmVzKTsKKwog
ICAgIGlmIChvcmlnaW4gPCBtX3ZpZXdwb3J0QXJndW1lbnRzLnR5cGUpCiAgICAgICAgIHJldHVy
bjsKIAogICAgIG1fdmlld3BvcnRBcmd1bWVudHMgPSBWaWV3cG9ydEFyZ3VtZW50cyhvcmlnaW4p
OwogCisgICAgTE9HX1dJVEhfU1RSRUFNKFZpZXdwb3J0cywgc3RyZWFtICA8PCAiIHJlc29sdmVk
IHRvICIgPDwgbV92aWV3cG9ydEFyZ3VtZW50cyk7CisKICAgICBwcm9jZXNzRmVhdHVyZXNTdHJp
bmcoZmVhdHVyZXMsIEZlYXR1cmVNb2RlOjpWaWV3cG9ydCwgW3RoaXNdKFN0cmluZ1ZpZXcga2V5
LCBTdHJpbmdWaWV3IHZhbHVlKSB7CiAgICAgICAgIHNldFZpZXdwb3J0RmVhdHVyZShtX3ZpZXdw
b3J0QXJndW1lbnRzLCAqdGhpcywga2V5LCB2YWx1ZSk7CiAgICAgfSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0ZyYW1lTG9hZGVyLmNwcAppbmRleCAxMGQyNGEyOTk5OTQxZTk4Yzk3OTY4MjhkNjc3NGVk
NjQ5MTNhZmY0Li41NWEyNzk3MjBiMGNlYjIxNDAxY2NiYmE0NWI0YmQ4MDMwYWFmYWRjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKQEAgLTc0NCw2ICs3NDQsOCBAQCB2b2lk
IEZyYW1lTG9hZGVyOjpkaWRCZWdpbkRvY3VtZW50KGJvb2wgZGlzcGF0Y2gpCiAKIHZvaWQgRnJh
bWVMb2FkZXI6OmZpbmlzaGVkUGFyc2luZygpCiB7CisgICAgTE9HKExvYWRpbmcsICJXZWJDb3Jl
TG9hZGluZyAlczogRmluaXNoZWQgcGFyc2luZyIsIG1fZnJhbWUudHJlZSgpLnVuaXF1ZU5hbWUo
KS5zdHJpbmcoKS51dGY4KCkuZGF0YSgpKTsKKwogICAgIG1fZnJhbWUuaW5qZWN0VXNlclNjcmlw
dHMoSW5qZWN0QXREb2N1bWVudEVuZCk7CiAKICAgICBpZiAobV9zdGF0ZU1hY2hpbmUuY3JlYXRp
bmdJbml0aWFsRW1wdHlEb2N1bWVudCgpKQpAQCAtMTEzNSw4ICsxMTM3LDEwIEBAIHZvaWQgRnJh
bWVMb2FkZXI6OmNvbXBsZXRlZCgpCiAgICAgaWYgKEZyYW1lKiBwYXJlbnQgPSBtX2ZyYW1lLnRy
ZWUoKS5wYXJlbnQoKSkKICAgICAgICAgcGFyZW50LT5sb2FkZXIoKS5jaGVja0NvbXBsZXRlZCgp
OwogCi0gICAgaWYgKG1fZnJhbWUudmlldygpKQotICAgICAgICBtX2ZyYW1lLnZpZXcoKS0+bWFp
bnRhaW5TY3JvbGxQb3NpdGlvbkF0QW5jaG9yKG51bGxwdHIpOworLy8gICAgaWYgKG1fZnJhbWUu
dmlldygpKSB7CisgICAgICAgIExPRyhTY3JvbGxpbmcsICJGcmFtZUxvYWRlcjo6Y29tcGxldGVk
KCkgY2xlYXJpbmcgbWFpbnRhaW5TY3JvbGxQb3NpdGlvbiBhbmNob3IiKTsKKy8vICAgICAgICBt
X2ZyYW1lLnZpZXcoKS0+bWFpbnRhaW5TY3JvbGxQb3NpdGlvbkF0QW5jaG9yKG51bGxwdHIpOwor
Ly8gICAgfQogfQogCiB2b2lkIEZyYW1lTG9hZGVyOjpzdGFydGVkKCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJh
bWVWaWV3LmNwcAppbmRleCBlNGUzNTI1MzY1ZDFjYmQxYmY3MDViNTZhZWE3NGJiY2U3YzFlZDJh
Li41NjdiNzdhNDE1MDc0ZGJhYzkzNTI0YzA3N2ZlZDE3MDQ0NzMyNTViIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9GcmFtZVZpZXcuY3BwCkBAIC0zMDEsNiArMzAxLDggQEAgdm9pZCBGcmFtZVZpZXc6OnJlc2V0
U2Nyb2xsYmFyc0FuZENsZWFyQ29udGVudHNTaXplKCkKIHsKICAgICByZXNldFNjcm9sbGJhcnMo
KTsKIAorICAgIExPRyhMYXlvdXQsICJGcmFtZVZpZXcgJXAgcmVzZXRTY3JvbGxiYXJzQW5kQ2xl
YXJDb250ZW50c1NpemUiLCB0aGlzKTsKKwogICAgIHNldFNjcm9sbGJhcnNTdXBwcmVzc2VkKHRy
dWUpOwogICAgIHNldENvbnRlbnRzU2l6ZShJbnRTaXplKCkpOwogICAgIHNldFNjcm9sbGJhcnNT
dXBwcmVzc2VkKGZhbHNlKTsKQEAgLTIxMDMsNiArMjEwNSw4IEBAIGJvb2wgRnJhbWVWaWV3Ojpz
Y3JvbGxUb0ZyYWdtZW50KGNvbnN0IFVSTCYgdXJsKQogCiBib29sIEZyYW1lVmlldzo6c2Nyb2xs
VG9BbmNob3IoY29uc3QgU3RyaW5nJiBmcmFnbWVudElkZW50aWZpZXIpCiB7CisgICAgTE9HKFNj
cm9sbGluZywgIkZyYW1lVmlldzo6c2Nyb2xsVG9BbmNob3IgJXMiLCBmcmFnbWVudElkZW50aWZp
ZXIudXRmOCgpLmRhdGEoKSk7CisKICAgICAvLyBJZiBvdXIgVVJMIGhhcyBubyByZWYsIHRoZW4g
d2UgaGF2ZSBubyBwbGFjZSB3ZSBuZWVkIHRvIGp1bXAgdG8uCiAgICAgaWYgKGZyYWdtZW50SWRl
bnRpZmllci5pc051bGwoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMjExOSw2ICsyMTIz
LDggQEAgYm9vbCBGcmFtZVZpZXc6OnNjcm9sbFRvQW5jaG9yKGNvbnN0IFN0cmluZyYgZnJhZ21l
bnRJZGVudGlmaWVyKQogCiAgICAgRWxlbWVudCogYW5jaG9yRWxlbWVudCA9IGRvY3VtZW50LmZp
bmRBbmNob3IoZnJhZ21lbnRJZGVudGlmaWVyKTsKIAorICAgIExPRyhTY3JvbGxpbmcsICIgYW5j
aG9yRWxlbWVudCBpcyAlcCIsIGFuY2hvckVsZW1lbnQpOworCiAgICAgLy8gU2V0dGluZyB0byBu
dWxsIHdpbGwgY2xlYXIgdGhlIGN1cnJlbnQgdGFyZ2V0LgogICAgIGRvY3VtZW50LnNldENTU1Rh
cmdldChhbmNob3JFbGVtZW50KTsKIApAQCAtMjE1Nyw2ICsyMTYzLDggQEAgYm9vbCBGcmFtZVZp
ZXc6OnNjcm9sbFRvQW5jaG9yKGNvbnN0IFN0cmluZyYgZnJhZ21lbnRJZGVudGlmaWVyKQogCiB2
b2lkIEZyYW1lVmlldzo6bWFpbnRhaW5TY3JvbGxQb3NpdGlvbkF0QW5jaG9yKENvbnRhaW5lck5v
ZGUqIGFuY2hvck5vZGUpCiB7CisgICAgTE9HKFNjcm9sbGluZywgIkZyYW1lVmlldzo6bWFpbnRh
aW5TY3JvbGxQb3NpdGlvbkF0QW5jaG9yIGF0ICVwIiwgYW5jaG9yTm9kZSk7CisKICAgICBtX21h
aW50YWluU2Nyb2xsUG9zaXRpb25BbmNob3IgPSBhbmNob3JOb2RlOwogICAgIGlmICghbV9tYWlu
dGFpblNjcm9sbFBvc2l0aW9uQW5jaG9yKQogICAgICAgICByZXR1cm47CkBAIC0yMTg2LDYgKzIx
OTQsOCBAQCB2b2lkIEZyYW1lVmlldzo6c2Nyb2xsRWxlbWVudFRvUmVjdChjb25zdCBFbGVtZW50
JiBlbGVtZW50LCBjb25zdCBJbnRSZWN0JiByZWN0KQogCiB2b2lkIEZyYW1lVmlldzo6c2V0U2Ny
b2xsUG9zaXRpb24oY29uc3QgU2Nyb2xsUG9zaXRpb24mIHNjcm9sbFBvc2l0aW9uKQogeworICAg
IExPR19XSVRIX1NUUkVBTShTY3JvbGxpbmcsIHN0cmVhbSA8PCAiRnJhbWVWaWV3OjpzZXRTY3Jv
bGxQb3NpdGlvbiAiIDw8IHNjcm9sbFBvc2l0aW9uIDw8ICIgLCBjbGVhcmluZyBhbmNob3IiKTsK
KwogICAgIFNldEZvclNjb3BlPGJvb2w+IGNoYW5nZUluUHJvZ3JhbW1hdGljU2Nyb2xsKG1faW5Q
cm9ncmFtbWF0aWNTY3JvbGwsIHRydWUpOwogICAgIG1fbWFpbnRhaW5TY3JvbGxQb3NpdGlvbkFu
Y2hvciA9IG51bGxwdHI7CiAgICAgUGFnZSogcGFnZSA9IGZyYW1lKCkucGFnZSgpOwpAQCAtMjk0
OSw2ICsyOTU5LDkgQEAgYm9vbCBGcmFtZVZpZXc6OnNob3VsZFVwZGF0ZSgpIGNvbnN0CiB2b2lk
IEZyYW1lVmlldzo6c2Nyb2xsVG9BbmNob3IoKQogewogICAgIFJlZlB0cjxDb250YWluZXJOb2Rl
PiBhbmNob3JOb2RlID0gbV9tYWludGFpblNjcm9sbFBvc2l0aW9uQW5jaG9yOworCisgICAgTE9H
X1dJVEhfU1RSRUFNKFNjcm9sbGluZywgc3RyZWFtIDw8ICJGcmFtZVZpZXc6OnNjcm9sbFRvQW5j
aG9yKCkgIiA8PCBhbmNob3JOb2RlLmdldCgpKTsKKwogICAgIGlmICghYW5jaG9yTm9kZSkKICAg
ICAgICAgcmV0dXJuOwogCkBAIC0yOTYwLDYgKzI5NzMsOCBAQCB2b2lkIEZyYW1lVmlldzo6c2Ny
b2xsVG9BbmNob3IoKQogICAgIGlmIChhbmNob3JOb2RlICE9IGZyYW1lKCkuZG9jdW1lbnQoKSAm
JiBhbmNob3JOb2RlLT5yZW5kZXJlcigpKQogICAgICAgICByZWN0ID0gYW5jaG9yTm9kZS0+cmVu
ZGVyZXIoKS0+YWJzb2x1dGVBbmNob3JSZWN0KCZpbnNpZGVGaXhlZCk7CiAKKyAgICBMT0dfV0lU
SF9TVFJFQU0oU2Nyb2xsaW5nLCBzdHJlYW0gPDwgIiBhbmNob3Igbm9kZSByZWN0ICIgPDwgcmVj
dCk7CisKICAgICAvLyBTY3JvbGwgbmVzdGVkIGxheWVycyBhbmQgZnJhbWVzIHRvIHJldmVhbCB0
aGUgYW5jaG9yLgogICAgIC8vIEFsaWduIHRvIHRoZSB0b3AgYW5kIHRvIHRoZSBjbG9zZXN0IHNp
ZGUgKHRoaXMgbWF0Y2hlcyBvdGhlciBicm93c2VycykuCiAgICAgaWYgKGFuY2hvck5vZGUtPnJl
bmRlcmVyKCktPnN0eWxlKCkuaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSkKQEAgLTI5NzMsNiAr
Mjk4OCw3IEBAIHZvaWQgRnJhbWVWaWV3OjpzY3JvbGxUb0FuY2hvcigpCiAgICAgICAgIGNhY2hl
LT5oYW5kbGVTY3JvbGxlZFRvQW5jaG9yKGFuY2hvck5vZGUuZ2V0KCkpOwogCiAgICAgLy8gc2Ny
b2xsUmVjdFRvVmlzaWJsZSBjYW4gY2FsbCBpbnRvIHNldFNjcm9sbFBvc2l0aW9uKCksIHdoaWNo
IHJlc2V0cyBtX21haW50YWluU2Nyb2xsUG9zaXRpb25BbmNob3IuCisgICAgTE9HX1dJVEhfU1RS
RUFNKFNjcm9sbGluZywgc3RyZWFtIDw8ICIgcmVzdG9yaW5nIGFuY2hvciBub2RlIHRvICIgPDwg
YW5jaG9yTm9kZS5nZXQoKSk7CiAgICAgbV9tYWludGFpblNjcm9sbFBvc2l0aW9uQW5jaG9yID0g
YW5jaG9yTm9kZTsKIH0KIApAQCAtMzMwNSw2ICszMzIxLDggQEAgdm9pZCBGcmFtZVZpZXc6OmF1
dG9TaXplSWZFbmFibGVkKCkKICAgICAgICAgZG9jdW1lbnQtPnVwZGF0ZUxheW91dElnbm9yZVBl
bmRpbmdTdHlsZXNoZWV0cygpOwogICAgIH0KICAgICBtX2RpZFJ1bkF1dG9zaXplID0gdHJ1ZTsK
KworICAgIExPR19XSVRIX1NUUkVBTShMYXlvdXQsIHN0cmVhbSA8PCAiRnJhbWVWaWV3ICIgPDwg
dGhpcyA8PCAiIGF1dG9TaXplSWZFbmFibGVkKCkgY2hhbmdlZCBzaXplIGZyb20gIiA8PCBzaXpl
IDw8ICIgdG8gIiA8PCBmcmFtZVJlY3QoKS5zaXplKCkpOwogfQogCiB2b2lkIEZyYW1lVmlldzo6
c2V0QXV0b1NpemVGaXhlZE1pbmltdW1IZWlnaHQoaW50IGZpeGVkTWluaW11bUhlaWdodCkKQEAg
LTM4ODIsNiArMzkwMCw4IEBAIGJvb2wgRnJhbWVWaWV3Ojp3YXNTY3JvbGxlZEJ5VXNlcigpIGNv
bnN0CiAKIHZvaWQgRnJhbWVWaWV3OjpzZXRXYXNTY3JvbGxlZEJ5VXNlcihib29sIHdhc1Njcm9s
bGVkQnlVc2VyKQogeworICAgIExPRyhTY3JvbGxpbmcsICJGcmFtZVZpZXc6OnNldFdhc1Njcm9s
bGVkQnlVc2VyIGF0ICVkIiwgd2FzU2Nyb2xsZWRCeVVzZXIpOworCiAgICAgaWYgKG1faW5Qcm9n
cmFtbWF0aWNTY3JvbGwpCiAgICAgICAgIHJldHVybjsKICAgICBtX21haW50YWluU2Nyb2xsUG9z
aXRpb25BbmNob3IgPSBudWxscHRyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9M
YXlvdXRDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTGF5b3V0Q29udGV4dC5jcHAK
aW5kZXggMGNjZTI5MWYyY2Y1YWY4Yjk5OWUyMjk5ZmY1MzcwYzQwODJlMjQzZC4uNmRlZGVlZmNj
ZDhlMTY4MmZkMGVmZDQxMmRhMThlNjdmOWI4ZGM5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9MYXlvdXRDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0xheW91
dENvbnRleHQuY3BwCkBAIC0xMTksNiArMTE5LDggQEAgTGF5b3V0Q29udGV4dDo6TGF5b3V0Q29u
dGV4dChGcmFtZVZpZXcmIGZyYW1lVmlldykKIAogdm9pZCBMYXlvdXRDb250ZXh0OjpsYXlvdXQo
KQogeworICAgIExPR19XSVRIX1NUUkVBTShMYXlvdXQsIHN0cmVhbSA8PCAiRnJhbWVWaWV3ICIg
PDwgJnZpZXcoKSA8PCAiIExheW91dENvbnRleHQ6OmxheW91dCgpIHdpdGggc2l6ZSAiIDw8IHZp
ZXcoKS5sYXlvdXRTaXplKCkpOworCiAgICAgUkVMRUFTRV9BU1NFUlRfV0lUSF9TRUNVUklUWV9J
TVBMSUNBVElPTighZnJhbWUoKS5kb2N1bWVudCgpLT5pblJlbmRlclRyZWVVcGRhdGUoKSk7CiAg
ICAgQVNTRVJUKCF2aWV3KCkuaXNQYWludGluZygpKTsKICAgICBBU1NFUlQoZnJhbWUoKS52aWV3
KCkgPT0gJnZpZXcoKSk7CkBAIC0xNDIsNyArMTQ0LDcgQEAgdm9pZCBMYXlvdXRDb250ZXh0Ojps
YXlvdXQoKQogCiAjaWYgIUxPR19ESVNBQkxFRAogICAgIGlmIChtX2ZpcnN0TGF5b3V0ICYmICFm
cmFtZSgpLm93bmVyRWxlbWVudCgpKQotICAgICAgICBMT0coTGF5b3V0LCAiRnJhbWVWaWV3ICVw
IGVsYXBzZWQgdGltZSBiZWZvcmUgZmlyc3QgbGF5b3V0OiAlLjNmc1xuIiwgdGhpcywgZG9jdW1l
bnQoKS0+dGltZVNpbmNlRG9jdW1lbnRDcmVhdGlvbigpLnZhbHVlKCkpOworICAgICAgICBMT0co
TGF5b3V0LCAiRnJhbWVWaWV3ICVwIGVsYXBzZWQgdGltZSBiZWZvcmUgZmlyc3QgbGF5b3V0OiAl
LjNmcyIsIHRoaXMsIGRvY3VtZW50KCktPnRpbWVTaW5jZURvY3VtZW50Q3JlYXRpb24oKS52YWx1
ZSgpKTsKICNlbmRpZgogI2lmIFBMQVRGT1JNKElPUykKICAgICBpZiAodmlldygpLnVwZGF0ZUZp
eGVkUG9zaXRpb25MYXlvdXRSZWN0KCkgJiYgc3VidHJlZUxheW91dFJvb3QoKSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bh
Z2UuY3BwCmluZGV4IDE0YzAyNjQwOWIxZjIwM2E2OWIwYjRiMWQwMjAyMzE5ODIzYTI5MjMuLjc1
M2UzMzg2ZGUxODBmMDU0NTA0YWZjMjJiZGVmNjNjNjQ4MzVkMmEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNw
cApAQCAtNzk3LDYgKzc5Nyw4IEBAIHZvaWQgUGFnZTo6c2V0Wm9vbWVkT3V0UGFnZVNjYWxlRmFj
dG9yKGZsb2F0IHNjYWxlKQogCiB2b2lkIFBhZ2U6OnNldFBhZ2VTY2FsZUZhY3RvcihmbG9hdCBz
Y2FsZSwgY29uc3QgSW50UG9pbnQmIG9yaWdpbiwgYm9vbCBpblN0YWJsZVN0YXRlKQogeworICAg
IExPRyhWaWV3cG9ydHMsICJQYWdlOjpzZXRQYWdlU2NhbGVGYWN0b3IgJS4yZiAtIGluU3RhYmxl
U3RhdGUgJWQiLCBzY2FsZSwgaW5TdGFibGVTdGF0ZSk7CisKICAgICBEb2N1bWVudCogZG9jdW1l
bnQgPSBtYWluRnJhbWUoKS5kb2N1bWVudCgpOwogICAgIEZyYW1lVmlldyogdmlldyA9IGRvY3Vt
ZW50LT52aWV3KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvVmlld3BvcnRD
b25maWd1cmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvVmlld3BvcnRDb25maWd1cmF0
aW9uLmNwcAppbmRleCBhYTE2NDgzZmM3MGFiMDkwM2MwYjQwM2ZiOTAxYTc1YjczMjRhNmE2Li4x
YzkyYWVmNGM0ZDAwNmEyOWU5YWIwMzE1NzA3OTc3MDRhZTE0OTQwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1ZpZXdwb3J0Q29uZmlndXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9WaWV3cG9ydENvbmZpZ3VyYXRpb24uY3BwCkBAIC0yNiw2ICsyNiw3IEBACiAj
aW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiVmlld3BvcnRDb25maWd1cmF0aW9uLmgiCiAK
KyNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KICNpbmNs
dWRlIDx3dGYvTWF0aEV4dHJhcy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KQEAg
LTcxLDYgKzcyLDggQEAgYm9vbCBWaWV3cG9ydENvbmZpZ3VyYXRpb246OnNldENvbnRlbnRzU2l6
ZShjb25zdCBJbnRTaXplJiBjb250ZW50U2l6ZSkKICAgICBpZiAobV9jb250ZW50U2l6ZSA9PSBj
b250ZW50U2l6ZSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAgTE9HX1dJVEhfU1RSRUFN
KFZpZXdwb3J0cywgc3RyZWFtIDw8ICJWaWV3cG9ydENvbmZpZ3VyYXRpb246OnNldENvbnRlbnRz
U2l6ZSAiIDw8IGNvbnRlbnRTaXplIDw8ICIgKHdhcyAiIDw8IG1fY29udGVudFNpemUgPDwgIiki
KTsKKwogICAgIG1fY29udGVudFNpemUgPSBjb250ZW50U2l6ZTsKICAgICB1cGRhdGVDb25maWd1
cmF0aW9uKCk7CiAgICAgcmV0dXJuIHRydWU7CkBAIC05MSw2ICs5NCw3IEBAIGJvb2wgVmlld3Bv
cnRDb25maWd1cmF0aW9uOjpzZXRWaWV3cG9ydEFyZ3VtZW50cyhjb25zdCBWaWV3cG9ydEFyZ3Vt
ZW50cyYgdmlld3BvCiAgICAgaWYgKG1fdmlld3BvcnRBcmd1bWVudHMgPT0gdmlld3BvcnRBcmd1
bWVudHMpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAorICAgIExPR19XSVRIX1NUUkVBTShWaWV3
cG9ydHMsIHN0cmVhbSA8PCAiVmlld3BvcnRDb25maWd1cmF0aW9uOjpzZXRWaWV3cG9ydEFyZ3Vt
ZW50cyAiIDw8IHZpZXdwb3J0QXJndW1lbnRzKTsKICAgICBtX3ZpZXdwb3J0QXJndW1lbnRzID0g
dmlld3BvcnRBcmd1bWVudHM7CiAgICAgdXBkYXRlQ29uZmlndXJhdGlvbigpOwogICAgIHJldHVy
biB0cnVlOwpAQCAtMzM4LDYgKzM0Miw4IEBAIHZvaWQgVmlld3BvcnRDb25maWd1cmF0aW9uOjp1
cGRhdGVDb25maWd1cmF0aW9uKCkKICAgICAgICAgbV9jb25maWd1cmF0aW9uLmFsbG93c1Nocmlu
a1RvRml0ID0gbV92aWV3cG9ydEFyZ3VtZW50cy5zaHJpbmtUb0ZpdCAhPSAwLjsKIAogICAgIG1f
Y29uZmlndXJhdGlvbi5hdm9pZHNVbnNhZmVBcmVhID0gbV92aWV3cG9ydEFyZ3VtZW50cy52aWV3
cG9ydEZpdCAhPSBWaWV3cG9ydEZpdDo6Q292ZXI7CisKKyAgICBMT0dfV0lUSF9TVFJFQU0oVmll
d3BvcnRzLCBzdHJlYW0gPDwgIlZpZXdwb3J0Q29uZmlndXJhdGlvbiAiIDw8IHRoaXMgPDwgIiB1
cGRhdGVDb25maWd1cmF0aW9uICIgPDwgKnRoaXMgPDwgIiBnaXZlcyBpbml0aWFsIHNjYWxlICIg
PDwgaW5pdGlhbFNjYWxlKCkgPDwgIiBiYXNlZCBvbiBjb250ZW50U2l6ZSAiIDw8IG1fY29udGVu
dFNpemUgPDwgIiBhbmQgbGF5b3V0IHNpemUgIiA8PCBsYXlvdXRXaWR0aCgpIDw8ICJ4IiA8PCBs
YXlvdXRIZWlnaHQoKSk7CiB9CiAKIGRvdWJsZSBWaWV3cG9ydENvbmZpZ3VyYXRpb246OnZpZXdw
b3J0QXJndW1lbnRzTGVuZ3RoKGRvdWJsZSBsZW5ndGgpIGNvbnN0CkBAIC00NDYsNyArNDUyLDEy
IEBAIFRleHRTdHJlYW0mIG9wZXJhdG9yPDwoVGV4dFN0cmVhbSYgdHMsIGNvbnN0IFZpZXdwb3J0
Q29uZmlndXJhdGlvbjo6UGFyYW1ldGVycyYKICAgICByZXR1cm4gdHM7CiB9CiAKLUNTdHJpbmcg
Vmlld3BvcnRDb25maWd1cmF0aW9uOjpkZXNjcmlwdGlvbigpIGNvbnN0CitUZXh0U3RyZWFtJiBv
cGVyYXRvcjw8KFRleHRTdHJlYW0mIHRzLCBjb25zdCBWaWV3cG9ydENvbmZpZ3VyYXRpb24mIGNv
bmZpZykKK3sKKyAgICByZXR1cm4gdHMgPDwgY29uZmlnLmRlc2NyaXB0aW9uKCk7Cit9CisKK1N0
cmluZyBWaWV3cG9ydENvbmZpZ3VyYXRpb246OmRlc2NyaXB0aW9uKCkgY29uc3QKIHsKICAgICBU
ZXh0U3RyZWFtIHRzOwogCkBAIC00NzksMTIgKzQ5MCwxMiBAQCBDU3RyaW5nIFZpZXdwb3J0Q29u
ZmlndXJhdGlvbjo6ZGVzY3JpcHRpb24oKSBjb25zdAogICAgIAogICAgIHRzLmVuZEdyb3VwKCk7
CiAKLSAgICByZXR1cm4gdHMucmVsZWFzZSgpLnV0ZjgoKTsKKyAgICByZXR1cm4gdHMucmVsZWFz
ZSgpOwogfQogCiB2b2lkIFZpZXdwb3J0Q29uZmlndXJhdGlvbjo6ZHVtcCgpIGNvbnN0CiB7Ci0g
ICAgV1RGTG9nQWx3YXlzKCIlcyIsIGRlc2NyaXB0aW9uKCkuZGF0YSgpKTsKKyAgICBXVEZMb2dB
bHdheXMoIiVzIiwgZGVzY3JpcHRpb24oKS51dGY4KCkuZGF0YSgpKTsKIH0KIAogI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1ZpZXdwb3J0Q29uZmlndXJhdGlvbi5oIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9WaWV3cG9ydENvbmZpZ3VyYXRpb24uaAppbmRleCBiYTJmYTli
YTIxZjFmZmQ1NWNhZDMzNGZhNDI0YjY4YzdhMjhjNjA3Li43ZmFmM2M0ZjQxMTVmNjUxZjVhZGQw
MTVhMzM4YTJmOTFiOWZkZTZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1ZpZXdw
b3J0Q29uZmlndXJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvVmlld3BvcnRDb25m
aWd1cmF0aW9uLmgKQEAgLTkzLDcgKzkzLDcgQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JU
IHN0YXRpYyBQYXJhbWV0ZXJzIHRlc3RpbmdQYXJhbWV0ZXJzKCk7CiAgICAgCiAjaWZuZGVmIE5E
RUJVRwotICAgIFdURjo6Q1N0cmluZyBkZXNjcmlwdGlvbigpIGNvbnN0OworICAgIFN0cmluZyBk
ZXNjcmlwdGlvbigpIGNvbnN0OwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZHVtcCgpIGNvbnN0
OwogI2VuZGlmCiAKQEAgLTExOSw1ICsxMTksNiBAQCBwcml2YXRlOgogfTsKIAogV1RGOjpUZXh0
U3RyZWFtJiBvcGVyYXRvcjw8KFdURjo6VGV4dFN0cmVhbSYsIGNvbnN0IFZpZXdwb3J0Q29uZmln
dXJhdGlvbjo6UGFyYW1ldGVycyYpOworV1RGOjpUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFdURjo6
VGV4dFN0cmVhbSYsIGNvbnN0IFZpZXdwb3J0Q29uZmlndXJhdGlvbiYpOwogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb2dnaW5n
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb2dnaW5nLmgKaW5kZXggODI5NmExZTU4M2Qz
ODRlZjUwNjg2MmVmY2ZhY2U5NzFjMWM0NTRlNC4uYmFkOGFlMDg5MjBkNjc4ZTVhNDMwNWNlNTFi
ZGFiMDE0MmQwZTQ1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTG9nZ2lu
Zy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xvZ2dpbmcuaApAQCAtOTIsNiArOTIs
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgTShUaWxpbmcpIFwKICAgICBNKFRocmVhZGlu
ZykgXAogICAgIE0oVVJMUGFyc2VyKSBcCisgICAgTShWaWV3cG9ydHMpIFwKICAgICBNKFdlYkF1
ZGlvKSBcCiAgICAgTShXZWJHTCkgXAogICAgIE0oV2ViR1BVKSBcCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1Njcm9sbFZpZXcuY3BwCmluZGV4IGY4ZDdmYTBkZjYyOTc4MjEzMTljN2E2YjUyOTY4Yzlk
ZTgwOGJkNDMuLjRmNTNhZDdkODI3ZjljNDU1ZWNiYWM2YmM2MWU2ZTNiZjQ4OWRhNmMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuY3BwCkBAIC0zMDEsNiArMzAxLDggQEAgdm9p
ZCBTY3JvbGxWaWV3OjpzZXRGaXhlZExheW91dFNpemUoY29uc3QgSW50U2l6ZSYgbmV3U2l6ZSkK
IHsKICAgICBpZiAoZml4ZWRMYXlvdXRTaXplKCkgPT0gbmV3U2l6ZSkKICAgICAgICAgcmV0dXJu
OworCisgICAgTE9HX1dJVEhfU1RSRUFNKExheW91dCwgc3RyZWFtIDw8ICJTY3JvbGxWaWV3ICIg
PDwgdGhpcyA8PCAiIHNldEZpeGVkTGF5b3V0U2l6ZSAiIDw8IG5ld1NpemUpOwogICAgIG1fZml4
ZWRMYXlvdXRTaXplID0gbmV3U2l6ZTsKICAgICBpZiAobV91c2VGaXhlZExheW91dCkKICAgICAg
ICAgYXZhaWxhYmxlQ29udGVudFNpemVDaGFuZ2VkKEF2YWlsYWJsZVNpemVDaGFuZ2VSZWFzb246
OkFyZWFTaXplQ2hhbmdlZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQ29jb2EvV0tXZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29h
L1dLV2ViVmlldy5tbQppbmRleCAzYjQ2MjA0MDU2ODkxZTM3ZDk5MTQxNjM4ZjA2ZmMzYWRhOTky
OGZiLi5kNzg1MzRlZGUxNDEyN2FhYmRiZjYxNDJlNDk1YWZlMDkzZDIwMjFiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KQEAgLTE2NjAsNyAr
MTY2MCw3IEBAIC0gKHZvaWQpX2RpZENvbW1pdExheWVyVHJlZTooY29uc3QgV2ViS2l0OjpSZW1v
dGVMYXllclRyZWVUcmFuc2FjdGlvbiYpbGF5ZXJUcmVlCiAgICAgaWYgKCFbc2VsZiB1c2VzU3Rh
bmRhcmRDb250ZW50Vmlld10pCiAgICAgICAgIHJldHVybjsKIAotICAgIExPR19XSVRIX1NUUkVB
TShWaXNpYmxlUmVjdHMsIHN0cmVhbSA8PCAiLVtXS1dlYlZpZXcgX2RpZENvbW1pdExheWVyVHJl
ZTpdIHRyYW5zYWN0aW9uSUQgIiA8PCAgbGF5ZXJUcmVlVHJhbnNhY3Rpb24udHJhbnNhY3Rpb25J
RCgpIDw8ICIgX2R5bmFtaWNWaWV3cG9ydFVwZGF0ZU1vZGUgIiA8PCAoaW50KV9keW5hbWljVmll
d3BvcnRVcGRhdGVNb2RlKTsKKyAgICBMT0dfV0lUSF9TVFJFQU0oVmlzaWJsZVJlY3RzLCBzdHJl
YW0gPDwgIi1bV0tXZWJWaWV3ICIgPDwgX3BhZ2UtPnBhZ2VJRCgpIDw8ICIgX2RpZENvbW1pdExh
eWVyVHJlZTpdIHRyYW5zYWN0aW9uSUQgIiA8PCAgbGF5ZXJUcmVlVHJhbnNhY3Rpb24udHJhbnNh
Y3Rpb25JRCgpIDw8ICIgX2R5bmFtaWNWaWV3cG9ydFVwZGF0ZU1vZGUgIiA8PCAoaW50KV9keW5h
bWljVmlld3BvcnRVcGRhdGVNb2RlKTsKIAogICAgIGJvb2wgbmVlZFVwZGF0ZVZpc2libGVDb250
ZW50UmVjdHMgPSBfcGFnZS0+dXBkYXRlTGF5b3V0Vmlld3BvcnRQYXJhbWV0ZXJzKGxheWVyVHJl
ZVRyYW5zYWN0aW9uKTsKIApAQCAtMTY4NSw4ICsxNjg1LDEwIEBAIC0gKHZvaWQpX2RpZENvbW1p
dExheWVyVHJlZTooY29uc3QgV2ViS2l0OjpSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbiYpbGF5
ZXJUcmVlCiAgICAgW19zY3JvbGxWaWV3IHNldE1pbmltdW1ab29tU2NhbGU6bGF5ZXJUcmVlVHJh
bnNhY3Rpb24ubWluaW11bVNjYWxlRmFjdG9yKCldOwogICAgIFtfc2Nyb2xsVmlldyBzZXRNYXhp
bXVtWm9vbVNjYWxlOmxheWVyVHJlZVRyYW5zYWN0aW9uLm1heGltdW1TY2FsZUZhY3RvcigpXTsK
ICAgICBbX3Njcm9sbFZpZXcgc2V0Wm9vbUVuYWJsZWQ6bGF5ZXJUcmVlVHJhbnNhY3Rpb24uYWxs
b3dzVXNlclNjYWxpbmcoKV07Ci0gICAgaWYgKCFsYXllclRyZWVUcmFuc2FjdGlvbi5zY2FsZVdh
c1NldEJ5VUlQcm9jZXNzKCkgJiYgIVtfc2Nyb2xsVmlldyBpc1pvb21pbmddICYmICFbX3Njcm9s
bFZpZXcgaXNab29tQm91bmNpbmddICYmICFbX3Njcm9sbFZpZXcgX2lzQW5pbWF0aW5nWm9vbV0g
JiYgW19zY3JvbGxWaWV3IHpvb21TY2FsZV0gIT0gbGF5ZXJUcmVlVHJhbnNhY3Rpb24ucGFnZVNj
YWxlRmFjdG9yKCkpCisgICAgaWYgKCFsYXllclRyZWVUcmFuc2FjdGlvbi5zY2FsZVdhc1NldEJ5
VUlQcm9jZXNzKCkgJiYgIVtfc2Nyb2xsVmlldyBpc1pvb21pbmddICYmICFbX3Njcm9sbFZpZXcg
aXNab29tQm91bmNpbmddICYmICFbX3Njcm9sbFZpZXcgX2lzQW5pbWF0aW5nWm9vbV0gJiYgW19z
Y3JvbGxWaWV3IHpvb21TY2FsZV0gIT0gbGF5ZXJUcmVlVHJhbnNhY3Rpb24ucGFnZVNjYWxlRmFj
dG9yKCkpIHsKKyAgICAgICAgTE9HX1dJVEhfU1RSRUFNKFZpc2libGVSZWN0cywgc3RyZWFtIDw8
ICIgdXBkYXRpbmcgc2Nyb2xsIHZpZXcgd2l0aCBwYWdlU2NhbGVGYWN0b3IgIiA8PCBsYXllclRy
ZWVUcmFuc2FjdGlvbi5wYWdlU2NhbGVGYWN0b3IoKSk7CiAgICAgICAgIFtfc2Nyb2xsVmlldyBz
ZXRab29tU2NhbGU6bGF5ZXJUcmVlVHJhbnNhY3Rpb24ucGFnZVNjYWxlRmFjdG9yKCldOworICAg
IH0KIAogICAgIF92aWV3cG9ydE1ldGFUYWdXaWR0aCA9IGxheWVyVHJlZVRyYW5zYWN0aW9uLnZp
ZXdwb3J0TWV0YVRhZ1dpZHRoKCk7CiAgICAgX3ZpZXdwb3J0TWV0YVRhZ1dpZHRoV2FzRXhwbGlj
aXQgPSBsYXllclRyZWVUcmFuc2FjdGlvbi52aWV3cG9ydE1ldGFUYWdXaWR0aFdhc0V4cGxpY2l0
KCk7CkBAIC0xNzc1LDYgKzE3NzcsOCBAQCAtICh2b2lkKV9sYXllclRyZWVDb21taXRDb21wbGV0
ZQogCiAtICh2b2lkKV9keW5hbWljVmlld3BvcnRVcGRhdGVDaGFuZ2VkVGFyZ2V0VG9TY2FsZToo
ZG91YmxlKW5ld1NjYWxlIHBvc2l0aW9uOihDR1BvaW50KW5ld1Njcm9sbFBvc2l0aW9uIG5leHRW
YWxpZExheWVyVHJlZVRyYW5zYWN0aW9uSUQ6KHVpbnQ2NF90KW5leHRWYWxpZExheWVyVHJlZVRy
YW5zYWN0aW9uSUQKIHsKKyAgICBMT0dfV0lUSF9TVFJFQU0oVmlzaWJsZVJlY3RzLCBzdHJlYW0g
PDwgIi1bV0tXZWJWaWV3ICIgPDwgX3BhZ2UtPnBhZ2VJRCgpIDw8ICIgX2R5bmFtaWNWaWV3cG9y
dFVwZGF0ZUNoYW5nZWRUYXJnZXRUb1NjYWxlOl0gIiA8PCAgbmV3U2NhbGUgPDwgIiBfZHluYW1p
Y1ZpZXdwb3J0VXBkYXRlTW9kZSAiIDw8IChpbnQpX2R5bmFtaWNWaWV3cG9ydFVwZGF0ZU1vZGUp
OworCiAgICAgaWYgKF9keW5hbWljVmlld3BvcnRVcGRhdGVNb2RlICE9IER5bmFtaWNWaWV3cG9y
dFVwZGF0ZU1vZGU6Ok5vdFJlc2l6aW5nKSB7CiAgICAgICAgIENHRmxvYXQgYW5pbWF0aW5nU2Nh
bGVUYXJnZXQgPSBbW19yZXNpemVBbmltYXRpb25WaWV3IGxheWVyXSB0cmFuc2Zvcm1dLm0xMTsK
ICAgICAgICAgZG91YmxlIGN1cnJlbnRUYXJnZXRTY2FsZSA9IGFuaW1hdGluZ1NjYWxlVGFyZ2V0
ICogW1tfY29udGVudFZpZXcgbGF5ZXJdIHRyYW5zZm9ybV0ubTExOwpAQCAtMjQ1MSw2ICsyNDU1
LDcgQEAgLSAodm9pZClfZGlzcGF0Y2hTZXRNaW5pbXVtTGF5b3V0U2l6ZTooV2ViQ29yZTo6Rmxv
YXRTaXplKW1pbmltdW1MYXlvdXRTaXplCiAgICAgaWYgKF9sYXN0U2VudE1pbmltdW1MYXlvdXRT
aXplICYmIENHU2l6ZUVxdWFsVG9TaXplKF9sYXN0U2VudE1pbmltdW1MYXlvdXRTaXplLnZhbHVl
KCksIG1pbmltdW1MYXlvdXRTaXplKSkKICAgICAgICAgcmV0dXJuOwogCisgICAgTE9HX1dJVEhf
U1RSRUFNKFZpc2libGVSZWN0cywgc3RyZWFtIDw8ICItW1dLV2ViVmlldyAiIDw8IF9wYWdlLT5w
YWdlSUQoKSA8PCAiIF9kaXNwYXRjaFNldE1pbmltdW1MYXlvdXRTaXplOl0gIiA8PCBtaW5pbXVt
TGF5b3V0U2l6ZSA8PCAiIGNvbnRlbnRab29tU2NhbGUgIiA8PCBjb250ZW50Wm9vbVNjYWxlKHNl
bGYpKTsKICAgICBfcGFnZS0+c2V0Vmlld3BvcnRDb25maWd1cmF0aW9uTWluaW11bUxheW91dFNp
emUobWluaW11bUxheW91dFNpemUpOwogICAgIF9sYXN0U2VudE1pbmltdW1MYXlvdXRTaXplID0g
bWluaW11bUxheW91dFNpemU7CiB9CkBAIC01MDk0LDYgKzUwOTksOCBAQCAtICh2b2lkKV9iZWdp
bkFuaW1hdGVkUmVzaXplV2l0aFVwZGF0ZXM6KHZvaWQgKF4pKHZvaWQpKXVwZGF0ZUJsb2NrCiAK
IC0gKHZvaWQpX2VuZEFuaW1hdGVkUmVzaXplCiB7CisgICAgTE9HX1dJVEhfU1RSRUFNKFZpc2li
bGVSZWN0cywgc3RyZWFtIDw8ICItW1dLV2ViVmlldyAiIDw8IF9wYWdlLT5wYWdlSUQoKSA8PCAi
IF9lbmRBbmltYXRlZFJlc2l6ZTpdICIgPDwgIiBfZHluYW1pY1ZpZXdwb3J0VXBkYXRlTW9kZSAi
IDw8IChpbnQpX2R5bmFtaWNWaWV3cG9ydFVwZGF0ZU1vZGUpOworCiAgICAgaWYgKF9keW5hbWlj
Vmlld3BvcnRVcGRhdGVNb2RlID09IER5bmFtaWNWaWV3cG9ydFVwZGF0ZU1vZGU6Ok5vdFJlc2l6
aW5nKQogICAgICAgICByZXR1cm47CiAKQEAgLTUxNjcsNiArNTE3NCw3IEBAIC0gKHZvaWQpX2Vu
ZEFuaW1hdGVkUmVzaXplCiAKIC0gKHZvaWQpX3Jlc2l6ZVdoaWxlSGlkaW5nQ29udGVudFdpdGhV
cGRhdGVzOih2b2lkICheKSh2b2lkKSl1cGRhdGVCbG9jawogeworICAgIExPR19XSVRIX1NUUkVB
TShWaXNpYmxlUmVjdHMsIHN0cmVhbSA8PCAiLVtXS1dlYlZpZXcgIiA8PCBfcGFnZS0+cGFnZUlE
KCkgPDwgIiBfcmVzaXplV2hpbGVIaWRpbmdDb250ZW50V2l0aFVwZGF0ZXM6XSIpOwogICAgIFtz
ZWxmIF9iZWdpbkFuaW1hdGVkUmVzaXplV2l0aFVwZGF0ZXM6dXBkYXRlQmxvY2tdOwogICAgIGlm
IChfZHluYW1pY1ZpZXdwb3J0VXBkYXRlTW9kZSA9PSBEeW5hbWljVmlld3BvcnRVcGRhdGVNb2Rl
OjpSZXNpemluZ1dpdGhBbmltYXRpb24pIHsKICAgICAgICAgW19jb250ZW50VmlldyBzZXRIaWRk
ZW46WUVTXTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAK
aW5kZXggNmZlNzliNDkxZmQ1MmI4NzA0N2VmMmU2OTcxZDlhNGQ0NWFlODU1MC4uNjM0YjMxODJh
NGNmNmY2MzNjYjAyYWY1YjU1OWZkMzFjMmRmY2VmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTIwNiw2ICsyMDYsNyBAQAogI2luY2x1ZGUg
PHJ1bnRpbWUvU2FtcGxpbmdQcm9maWxlci5oPgogI2luY2x1ZGUgPHd0Zi9SdW5Mb29wLmg+CiAj
aW5jbHVkZSA8d3RmL1NldEZvclNjb3BlLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvVGV4dFN0cmVh
bS5oPgogCiAjaWYgRU5BQkxFKERBVEFfREVURUNUSU9OKQogI2luY2x1ZGUgIkRhdGFEZXRlY3Rp
b25SZXN1bHQuaCIKQEAgLTE3NDIsNiArMTc0Myw3IEBAIGJvb2wgV2ViUGFnZTo6c2V0Rml4ZWRM
YXlvdXRTaXplKGNvbnN0IEludFNpemUmIHNpemUpCiAgICAgaWYgKCF2aWV3IHx8IHZpZXctPmZp
eGVkTGF5b3V0U2l6ZSgpID09IHNpemUpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAorICAgIExP
R19XSVRIX1NUUkVBTShWaXNpYmxlUmVjdHMsIHN0cmVhbSA8PCAiV2ViUGFnZSAiIDw8IG1fcGFn
ZUlEIDw8ICIgc2V0Rml4ZWRMYXlvdXRTaXplICIgPDwgc2l6ZSk7CiAgICAgdmlldy0+c2V0Rml4
ZWRMYXlvdXRTaXplKHNpemUpOwogCiAgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpG
aXhlZExheW91dFNpemVEaWRDaGFuZ2Uoc2l6ZSkpOwpAQCAtMzc3Nyw2ICszNzc5LDcgQEAgdm9p
ZCBXZWJQYWdlOjptYWluRnJhbWVEaWRMYXlvdXQoKQogI2lmIFBMQVRGT1JNKElPUykKICAgICBp
ZiAoRnJhbWVWaWV3KiBmcmFtZVZpZXcgPSBtYWluRnJhbWVWaWV3KCkpIHsKICAgICAgICAgSW50
U2l6ZSBuZXdDb250ZW50U2l6ZSA9IGZyYW1lVmlldy0+Y29udGVudHNTaXplKCk7CisgICAgICAg
IExPR19XSVRIX1NUUkVBTShWaXNpYmxlUmVjdHMsIHN0cmVhbSA8PCAiV2ViUGFnZSAiIDw8IG1f
cGFnZUlEIDw8ICIgbWFpbkZyYW1lRGlkTGF5b3V0IHNldHRpbmcgY29udGVudCBzaXplIHRvICIg
PDwgbmV3Q29udGVudFNpemUpOwogICAgICAgICBpZiAobV92aWV3cG9ydENvbmZpZ3VyYXRpb24u
c2V0Q29udGVudHNTaXplKG5ld0NvbnRlbnRTaXplKSkKICAgICAgICAgICAgIHZpZXdwb3J0Q29u
ZmlndXJhdGlvbkNoYW5nZWQoKTsKICAgICB9CkBAIC01MDgxLDYgKzUwODQsOCBAQCB2b2lkIFdl
YlBhZ2U6OmRpZENvbW1pdExvYWQoV2ViRnJhbWUqIGZyYW1lKQogICAgIGNvbnN0IEZyYW1lKiBj
b3JlRnJhbWUgPSBmcmFtZS0+Y29yZUZyYW1lKCk7CiAgICAgCiAgICAgYm9vbCB2aWV3cG9ydENo
YW5nZWQgPSBmYWxzZTsKKworICAgIExPR19XSVRIX1NUUkVBTShWaXNpYmxlUmVjdHMsIHN0cmVh
bSA8PCAiV2ViUGFnZSAiIDw8IG1fcGFnZUlEIDw8ICIgZGlkQ29tbWl0TG9hZCBzZXR0aW5nIGNv
bnRlbnQgc2l6ZSB0byAiIDw8IGNvcmVGcmFtZS0+dmlldygpLT5jb250ZW50c1NpemUoKSk7CiAg
ICAgaWYgKG1fdmlld3BvcnRDb25maWd1cmF0aW9uLnNldENvbnRlbnRzU2l6ZShjb3JlRnJhbWUt
PnZpZXcoKS0+Y29udGVudHNTaXplKCkpKQogICAgICAgICB2aWV3cG9ydENoYW5nZWQgPSB0cnVl
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2Vi
UGFnZUlPUy5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdl
SU9TLm1tCmluZGV4IGQzZWI0YWU2MDg1ZDcxZmJhOWM2MzNhNDYzNzUyYTAxNjE5ZjkzZWEuLjQw
ZWM2NTlhZGJmYjUyOGE1MDQxMmRhZDhkMzhiNTA0YjdmOWZlOTggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCkBAIC0yNzMsNiAr
MjczLDggQEAgc3RhdGljIGRvdWJsZSBzY2FsZUFmdGVyVmlld3BvcnRXaWR0aENoYW5nZShkb3Vi
bGUgY3VycmVudFNjYWxlLCBib29sIHVzZXJIYXNDaGEKICAgICBlbHNlCiAgICAgICAgIHNjYWxl
ID0gc3RkOjptYXgoc3RkOjptaW4oY3VycmVudFNjYWxlLCB2aWV3cG9ydENvbmZpZ3VyYXRpb24u
bWF4aW11bVNjYWxlKCkpLCB2aWV3cG9ydENvbmZpZ3VyYXRpb24ubWluaW11bVNjYWxlKCkpOwog
CisgICAgTE9HKFZpc2libGVSZWN0cywgInNjYWxlQWZ0ZXJWaWV3cG9ydFdpZHRoQ2hhbmdlIGdl
dHRpbmcgc2NhbGUgJS4yZiIsIHNjYWxlKTsKKwogICAgIGlmICh1c2VySGFzQ2hhbmdlZFBhZ2VT
Y2FsZUZhY3RvcikgewogICAgICAgICAvLyBXaGVuIHRoZSBjb250ZW50IHNpemUgY2hhbmdlcywg
d2Uga2VlcCB0aGUgc2FtZSByZWxhdGl2ZSBob3Jpem9udGFsIGNvbnRlbnQgd2lkdGggaW4gdmll
dywgb3RoZXJ3aXNlIHdlIHdvdWxkCiAgICAgICAgIC8vIGVuZCB1cCB6b29tZWQgdG9vIGZhciBp
biBsYW5kc2NhcGUtPnBvcnRyYWl0LCBhbmQgdG9vIGNsb3NlIGluIHBvcnRyYWl0LT5sYW5kc2Nh
cGUuCkBAIC0yMzc2LDYgKzIzNzgsNyBAQCB2b2lkIFdlYlBhZ2U6OmF1dG9maWxsTG9naW5DcmVk
ZW50aWFscyhjb25zdCBTdHJpbmcmIHVzZXJuYW1lLCBjb25zdCBTdHJpbmcmIHBhcwogCiB2b2lk
IFdlYlBhZ2U6OnNldFZpZXdwb3J0Q29uZmlndXJhdGlvbk1pbmltdW1MYXlvdXRTaXplKGNvbnN0
IEZsb2F0U2l6ZSYgc2l6ZSkKIHsKKyAgICBMT0dfV0lUSF9TVFJFQU0oVmlzaWJsZVJlY3RzLCBz
dHJlYW0gPDwgIldlYlBhZ2UgIiA8PCBtX3BhZ2VJRCA8PCAiIHNldFZpZXdwb3J0Q29uZmlndXJh
dGlvbk1pbmltdW1MYXlvdXRTaXplICIgPDwgc2l6ZSk7CiAgICAgaWYgKG1fdmlld3BvcnRDb25m
aWd1cmF0aW9uLnNldE1pbmltdW1MYXlvdXRTaXplKHNpemUpKQogICAgICAgICB2aWV3cG9ydENv
bmZpZ3VyYXRpb25DaGFuZ2VkKCk7CiB9CkBAIC0yNDE2LDcgKzI0MTksNyBAQCB2b2lkIFdlYlBh
Z2U6OmR5bmFtaWNWaWV3cG9ydFNpemVVcGRhdGUoY29uc3QgRmxvYXRTaXplJiBtaW5pbXVtTGF5
b3V0U2l6ZSwgY29ucwogICAgIFNldEZvclNjb3BlPGJvb2w+IGR5bmFtaWNTaXplVXBkYXRlR3Vh
cmQobV9pbkR5bmFtaWNTaXplVXBkYXRlLCB0cnVlKTsKICAgICAvLyBGSVhNRTogdGhpcyBkb2Vz
IG5vdCBoYW5kbGUgdGhlIGNhc2VzIHdoZXJlIHRoZSBjb250ZW50IHdvdWxkIGNoYW5nZSB0aGUg
Y29udGVudCBzaXplIG9yIHNjcm9sbCBwb3NpdGlvbiBmcm9tIEphdmFTY3JpcHQuCiAgICAgLy8g
VG8gaGFuZGxlIHRob3NlIGNhc2VzLCB3ZSB3b3VsZCBuZWVkIHRvIHJlZG8gdGhpcyBjb21wdXRh
dGlvbiBvbiBldmVyeSBjaGFuZ2UgdW50aWwgdGhlIG5leHQgdmlzaWJsZSBjb250ZW50IHJlY3Qg
dXBkYXRlLgotICAgIExPR19XSVRIX1NUUkVBTShWaXNpYmxlUmVjdHMsIHN0cmVhbSA8PCAiXG5X
ZWJQYWdlOjpkeW5hbWljVmlld3BvcnRTaXplVXBkYXRlIC0gdGFyZ2V0VW5vYnNjdXJlZFJlY3Qg
IiA8PCB0YXJnZXRVbm9ic2N1cmVkUmVjdCA8PCAiIHRhcmdldEV4cG9zZWRDb250ZW50UmVjdCAi
IDw8IHRhcmdldEV4cG9zZWRDb250ZW50UmVjdCA8PCAiIHRhcmdldFNjYWxlICIgPDwgdGFyZ2V0
U2NhbGUpOworICAgIExPR19XSVRIX1NUUkVBTShWaXNpYmxlUmVjdHMsIHN0cmVhbSA8PCAiXG5X
ZWJQYWdlOjpkeW5hbWljVmlld3BvcnRTaXplVXBkYXRlIC0gbWluaW11bUxheW91dFNpemUgIiA8
PCBtaW5pbXVtTGF5b3V0U2l6ZSA8PCAiIHRhcmdldFVub2JzY3VyZWRSZWN0ICIgPDwgdGFyZ2V0
VW5vYnNjdXJlZFJlY3QgPDwgIiB0YXJnZXRFeHBvc2VkQ29udGVudFJlY3QgIiA8PCB0YXJnZXRF
eHBvc2VkQ29udGVudFJlY3QgPDwgIiB0YXJnZXRTY2FsZSAiIDw8IHRhcmdldFNjYWxlKTsKIAog
ICAgIEZyYW1lVmlldyYgZnJhbWVWaWV3ID0gKm1fcGFnZS0+bWFpbkZyYW1lKCkudmlldygpOwog
ICAgIEludFNpemUgb2xkQ29udGVudFNpemUgPSBmcmFtZVZpZXcuY29udGVudHNTaXplKCk7CkBA
IC0yNDQ4LDYgKzI0NTEsNyBAQCB2b2lkIFdlYlBhZ2U6OmR5bmFtaWNWaWV3cG9ydFNpemVVcGRh
dGUoY29uc3QgRmxvYXRTaXplJiBtaW5pbXVtTGF5b3V0U2l6ZSwgY29ucwogICAgICAgICB9CiAg
ICAgfQogCisgICAgTE9HX1dJVEhfU1RSRUFNKFZpc2libGVSZWN0cywgc3RyZWFtIDw8ICJXZWJQ
YWdlOjpkeW5hbWljVmlld3BvcnRTaXplVXBkYXRlIHNldHRpbmcgbWluaW11bSBsYXlvdXQgc2l6
ZSB0byAiIDw8IG1pbmltdW1MYXlvdXRTaXplKTsKICAgICBtX3ZpZXdwb3J0Q29uZmlndXJhdGlv
bi5zZXRNaW5pbXVtTGF5b3V0U2l6ZShtaW5pbXVtTGF5b3V0U2l6ZSk7CiAgICAgSW50U2l6ZSBu
ZXdMYXlvdXRTaXplID0gbV92aWV3cG9ydENvbmZpZ3VyYXRpb24ubGF5b3V0U2l6ZSgpOwogCkBA
IC0yNTk3LDYgKzI2MDEsNyBAQCB2b2lkIFdlYlBhZ2U6OnN5bmNocm9uaXplRHluYW1pY1ZpZXdw
b3J0VXBkYXRlKGRvdWJsZSYgbmV3VGFyZ2V0U2NhbGUsIEZsb2F0UG9pbgogCiB2b2lkIFdlYlBh
Z2U6OnJlc2V0Vmlld3BvcnREZWZhdWx0Q29uZmlndXJhdGlvbihXZWJGcmFtZSogZnJhbWUpCiB7
CisgICAgTE9HX1dJVEhfU1RSRUFNKFZpc2libGVSZWN0cywgc3RyZWFtIDw8ICJXZWJQYWdlICIg
PDwgbV9wYWdlSUQgPDwgIiByZXNldFZpZXdwb3J0RGVmYXVsdENvbmZpZ3VyYXRpb24iKTsKICAg
ICBpZiAobV91c2VUZXN0aW5nVmlld3BvcnRDb25maWd1cmF0aW9uKSB7CiAgICAgICAgIG1fdmll
d3BvcnRDb25maWd1cmF0aW9uLnNldERlZmF1bHRDb25maWd1cmF0aW9uKFZpZXdwb3J0Q29uZmln
dXJhdGlvbjo6dGVzdGluZ1BhcmFtZXRlcnMoKSk7CiAgICAgICAgIHJldHVybjsKQEAgLTI2Mjgs
NiArMjYzMyw4IEBAIHZvaWQgV2ViUGFnZTo6dmlld3BvcnRDb25maWd1cmF0aW9uQ2hhbmdlZCgp
CiAgICAgZWxzZQogICAgICAgICBzY2FsZSA9IGluaXRpYWxTY2FsZTsKIAorICAgIExPR19XSVRI
X1NUUkVBTShWaXNpYmxlUmVjdHMsIHN0cmVhbSA8PCAiV2ViUGFnZSAiIDw8IG1fcGFnZUlEIDw8
ICIgdmlld3BvcnRDb25maWd1cmF0aW9uQ2hhbmdlZCAtIHNldHRpbmcgem9vbWVkT3V0UGFnZVNj
YWxlRmFjdG9yIHRvICIgPDwgbV92aWV3cG9ydENvbmZpZ3VyYXRpb24ubWluaW11bVNjYWxlKCkg
PDwgIiBhbmQgc2NhbGUgdG8gIiA8PCBzY2FsZSk7CisKICAgICBtX3BhZ2UtPnNldFpvb21lZE91
dFBhZ2VTY2FsZUZhY3RvcihtX3ZpZXdwb3J0Q29uZmlndXJhdGlvbi5taW5pbXVtU2NhbGUoKSk7
CiAKICAgICB1cGRhdGVWaWV3cG9ydFNpemVGb3JDU1NWaWV3cG9ydFVuaXRzKCk7CkBAIC0yNzY3
LDcgKzI3NzQsNyBAQCBzdGF0aWMgYm9vbCBzZWxlY3Rpb25Jc0luc2lkZUZpeGVkUG9zaXRpb25D
b250YWluZXIoRnJhbWUmIGZyYW1lKQogCiB2b2lkIFdlYlBhZ2U6OnVwZGF0ZVZpc2libGVDb250
ZW50UmVjdHMoY29uc3QgVmlzaWJsZUNvbnRlbnRSZWN0VXBkYXRlSW5mbyYgdmlzaWJsZUNvbnRl
bnRSZWN0VXBkYXRlSW5mbywgTW9ub3RvbmljVGltZSBvbGRlc3RUaW1lc3RhbXApCiB7Ci0gICAg
TE9HX1dJVEhfU1RSRUFNKFZpc2libGVSZWN0cywgc3RyZWFtIDw8ICJcbldlYlBhZ2U6OnVwZGF0
ZVZpc2libGVDb250ZW50UmVjdHMgIiA8PCB2aXNpYmxlQ29udGVudFJlY3RVcGRhdGVJbmZvKTsK
KyAgICBMT0dfV0lUSF9TVFJFQU0oVmlzaWJsZVJlY3RzLCBzdHJlYW0gPDwgIlxuV2ViUGFnZSAi
IDw8IG1fcGFnZUlEIDw8ICIgdXBkYXRlVmlzaWJsZUNvbnRlbnRSZWN0cyAiIDw8IHZpc2libGVD
b250ZW50UmVjdFVwZGF0ZUluZm8pOwogCiAgICAgLy8gU2tpcCBhbnkgVmlzaWJsZUNvbnRlbnRS
ZWN0VXBkYXRlIHRoYXQgaGF2ZSBiZWVuIHF1ZXVlZCBiZWZvcmUgRGlkQ29tbWl0TG9hZCBzdXBw
cmVzc2VzIHRoZSB1cGRhdGVzIGluIHRoZSBVSVByb2Nlc3MuCiAgICAgaWYgKHZpc2libGVDb250
ZW50UmVjdFVwZGF0ZUluZm8ubGFzdExheWVyVHJlZVRyYW5zYWN0aW9uSUQoKSA8IG1fbWFpbkZy
YW1lLT5maXJzdExheWVyVHJlZVRyYW5zYWN0aW9uSURBZnRlckRpZENvbW1pdExvYWQoKSAmJiAh
dmlzaWJsZUNvbnRlbnRSZWN0VXBkYXRlSW5mby5pc0ZpcnN0VXBkYXRlRm9yTmV3Vmlld1NpemUo
KSkK
</data>
<flag name="review"
          id="347394"
          type_id="1"
          status="+"
          setter="zalan"
    />
    <flag name="commit-queue"
          id="347402"
          type_id="3"
          status="-"
          setter="zalan"
    />
          </attachment>
      

    </bug>

</bugzilla>