<?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>179280</bug_id>
          
          <creation_ts>2017-11-03 21:03:18 -0700</creation_ts>
          <short_desc>[LayoutState cleanup] Move all LayoutState* classes to LayoutState.h/cpp</short_desc>
          <delta_ts>2017-11-04 15:02:44 -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>Layout and Rendering</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>koivisto</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1368305</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2017-11-03 21:03:18 -0700</bug_when>
    <thetext>They are all over the place.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1368306</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-11-03 21:03:58 -0700</bug_when>
    <thetext>&lt;rdar://problem/35348452&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1368309</commentid>
    <comment_count>2</comment_count>
      <attachid>326014</attachid>
    <who name="alan">zalan</who>
    <bug_when>2017-11-03 21:29:39 -0700</bug_when>
    <thetext>Created attachment 326014
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1368311</commentid>
    <comment_count>3</comment_count>
      <attachid>326015</attachid>
    <who name="alan">zalan</who>
    <bug_when>2017-11-03 21:59:24 -0700</bug_when>
    <thetext>Created attachment 326015
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1368391</commentid>
    <comment_count>4</comment_count>
      <attachid>326015</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-11-04 15:02:42 -0700</bug_when>
    <thetext>Comment on attachment 326015
Patch

Clearing flags on attachment: 326015

Committed r224461: &lt;https://trac.webkit.org/changeset/224461&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1368392</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-11-04 15:02:44 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>326014</attachid>
            <date>2017-11-03 21:29:39 -0700</date>
            <delta_ts>2017-11-03 21:36:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-179280-20171103212938.patch</filename>
            <type>text/plain</type>
            <size>13522</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI0NDM5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmQyM2I1Mzk1N2ZkNDAy
Y2M5ZDM3YmZhMjVjMzFkNWMyNzhjYzUwYy4uMzA5YTdlMzgwZDQ3NzcyNzE1NDVjNmI4M2NiZDA1
NTlmNzFjMjlhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDE3LTExLTAzICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xheW91dFN0YXRlIGNsZWFu
dXBdIE1vdmUgYWxsIExheW91dFN0YXRlKiBjbGFzc2VzIHRvIExheW91dFN0YXRlLmgvY3BwCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzkyODAKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzM1MzQ4NDUyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIGNoYW5nZSBpbiBmdW5jdGlvbmFsaXR5LgorCisg
ICAgICAgICogcGFnZS9MYXlvdXRDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN1YnRy
ZWVMYXlvdXRTdGF0ZU1haW50YWluZXI6OlN1YnRyZWVMYXlvdXRTdGF0ZU1haW50YWluZXIpOiBE
ZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6U3VidHJlZUxheW91dFN0YXRlTWFpbnRhaW5lcjo6
flN1YnRyZWVMYXlvdXRTdGF0ZU1haW50YWluZXIpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29y
ZTo6U3VidHJlZUxheW91dFN0YXRlTWFpbnRhaW5lcjo6c2hvdWxkRGlzYWJsZUxheW91dFN0YXRl
Rm9yU3VidHJlZSk6IERlbGV0ZWQuCisgICAgICAgICogcmVuZGVyaW5nL0xheW91dFN0YXRlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dFN0YXRlTWFpbnRhaW5lcjo6TGF5b3V0U3RhdGVN
YWludGFpbmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dFN0YXRlTWFpbnRhaW5lcjo6fkxh
eW91dFN0YXRlTWFpbnRhaW5lcik6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRTdGF0ZU1haW50
YWluZXI6OnB1c2gpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0U3RhdGVNYWludGFpbmVyOjpw
b3ApOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0U3RhdGVEaXNhYmxlcjo6TGF5b3V0U3RhdGVE
aXNhYmxlcik6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRTdGF0ZURpc2FibGVyOjp+TGF5b3V0
U3RhdGVEaXNhYmxlcik6CisgICAgICAgIChXZWJDb3JlOjpzaG91bGREaXNhYmxlTGF5b3V0U3Rh
dGVGb3JTdWJ0cmVlKToKKyAgICAgICAgKFdlYkNvcmU6OlN1YnRyZWVMYXlvdXRTdGF0ZU1haW50
YWluZXI6OlN1YnRyZWVMYXlvdXRTdGF0ZU1haW50YWluZXIpOgorICAgICAgICAoV2ViQ29yZTo6
U3VidHJlZUxheW91dFN0YXRlTWFpbnRhaW5lcjo6flN1YnRyZWVMYXlvdXRTdGF0ZU1haW50YWlu
ZXIpOgorICAgICAgICAoV2ViQ29yZTo6UGFnaW5hdGVkTGF5b3V0U3RhdGVNYWludGFpbmVyOjpQ
YWdpbmF0ZWRMYXlvdXRTdGF0ZU1haW50YWluZXIpOgorICAgICAgICAoV2ViQ29yZTo6UGFnaW5h
dGVkTGF5b3V0U3RhdGVNYWludGFpbmVyOjp+UGFnaW5hdGVkTGF5b3V0U3RhdGVNYWludGFpbmVy
KToKKyAgICAgICAgKiByZW5kZXJpbmcvTGF5b3V0U3RhdGUuaDoKKyAgICAgICAgKFdlYkNvcmU6
OkxheW91dFN0YXRlTWFpbnRhaW5lcjo6ZGlkUHVzaCBjb25zdCk6CisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlckJsb2NrRmxvdy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQYWdpbmF0ZWRMYXlv
dXRTdGF0ZU1haW50YWluZXI6OlBhZ2luYXRlZExheW91dFN0YXRlTWFpbnRhaW5lcik6IERlbGV0
ZWQuCisgICAgICAgIChXZWJDb3JlOjpQYWdpbmF0ZWRMYXlvdXRTdGF0ZU1haW50YWluZXI6On5Q
YWdpbmF0ZWRMYXlvdXRTdGF0ZU1haW50YWluZXIpOiBEZWxldGVkLgorICAgICAgICAoKTogRGVs
ZXRlZC4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVmlldy5oOgorICAgICAgICAoV2ViQ29y
ZTo6TGF5b3V0U3RhdGVNYWludGFpbmVyOjpMYXlvdXRTdGF0ZU1haW50YWluZXIpOiBEZWxldGVk
LgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0U3RhdGVNYWludGFpbmVyOjp+TGF5b3V0U3RhdGVN
YWludGFpbmVyKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkxheW91dFN0YXRlTWFpbnRh
aW5lcjo6cHVzaCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRTdGF0ZU1haW50
YWluZXI6OnBvcCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRTdGF0ZU1haW50
YWluZXI6OmRpZFB1c2ggY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0
U3RhdGVEaXNhYmxlcjo6TGF5b3V0U3RhdGVEaXNhYmxlcik6IERlbGV0ZWQuCisgICAgICAgIChX
ZWJDb3JlOjpMYXlvdXRTdGF0ZURpc2FibGVyOjp+TGF5b3V0U3RhdGVEaXNhYmxlcik6IERlbGV0
ZWQuCisKIDIwMTctMTEtMDMgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAg
ICAgICAgIFJlcXVlc3RzIGhhbmRsZWQgYnkgU2VydmljZSBXb3JrZXIgc2hvdWxkIG5vdCBnbyB0
aHJvdWdoIHByZWZsaWdodGluZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9MYXlv
dXRDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTGF5b3V0Q29udGV4dC5jcHAKaW5k
ZXggZTAwMDJjYTkzMjM2Yzc2ZjU3OWZlNDBjNzU4OWIyYmYxYWMzODliYS4uYTViZDk5Njg3OWYy
MzdkMDgxMDBiZTIzYWI3MmVmNTUwNDA0NWI5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9MYXlvdXRDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0xheW91dENv
bnRleHQuY3BwCkBAIC01MSw0NSArNTEsNiBAQCBzdGF0aWMgYm9vbCBpc09iamVjdEFuY2VzdG9y
Q29udGFpbmVyT2YoUmVuZGVyRWxlbWVudCYgYW5jZXN0b3IsIFJlbmRlckVsZW1lbnQmCiAgICAg
cmV0dXJuIGZhbHNlOwogfQogCi1jbGFzcyBTdWJ0cmVlTGF5b3V0U3RhdGVNYWludGFpbmVyIHsK
LXB1YmxpYzoKLSAgICBTdWJ0cmVlTGF5b3V0U3RhdGVNYWludGFpbmVyKFJlbmRlckVsZW1lbnQq
IHN1YnRyZWVMYXlvdXRSb290KQotICAgICAgICA6IG1fc3VidHJlZUxheW91dFJvb3Qoc3VidHJl
ZUxheW91dFJvb3QpCi0gICAgewotICAgICAgICBpZiAobV9zdWJ0cmVlTGF5b3V0Um9vdCkgewot
ICAgICAgICAgICAgUmVuZGVyVmlldyYgdmlldyA9IG1fc3VidHJlZUxheW91dFJvb3QtPnZpZXco
KTsKLSAgICAgICAgICAgIHZpZXcucHVzaExheW91dFN0YXRlKCptX3N1YnRyZWVMYXlvdXRSb290
KTsKLSAgICAgICAgICAgIGlmIChzaG91bGREaXNhYmxlTGF5b3V0U3RhdGVGb3JTdWJ0cmVlKCkp
IHsKLSAgICAgICAgICAgICAgICB2aWV3LmRpc2FibGVMYXlvdXRTdGF0ZSgpOwotICAgICAgICAg
ICAgICAgIG1fZGlkRGlzYWJsZUxheW91dFN0YXRlID0gdHJ1ZTsKLSAgICAgICAgICAgIH0KLSAg
ICAgICAgfQotICAgIH0KLQotICAgIH5TdWJ0cmVlTGF5b3V0U3RhdGVNYWludGFpbmVyKCkKLSAg
ICB7Ci0gICAgICAgIGlmIChtX3N1YnRyZWVMYXlvdXRSb290KSB7Ci0gICAgICAgICAgICBSZW5k
ZXJWaWV3JiB2aWV3ID0gbV9zdWJ0cmVlTGF5b3V0Um9vdC0+dmlldygpOwotICAgICAgICAgICAg
dmlldy5wb3BMYXlvdXRTdGF0ZSgqbV9zdWJ0cmVlTGF5b3V0Um9vdCk7Ci0gICAgICAgICAgICBp
ZiAobV9kaWREaXNhYmxlTGF5b3V0U3RhdGUpCi0gICAgICAgICAgICAgICAgdmlldy5lbmFibGVM
YXlvdXRTdGF0ZSgpOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgYm9vbCBzaG91bGREaXNhYmxl
TGF5b3V0U3RhdGVGb3JTdWJ0cmVlKCkKLSAgICB7Ci0gICAgICAgIGZvciAoYXV0byogcmVuZGVy
ZXIgPSBtX3N1YnRyZWVMYXlvdXRSb290OyByZW5kZXJlcjsgcmVuZGVyZXIgPSByZW5kZXJlci0+
Y29udGFpbmVyKCkpIHsKLSAgICAgICAgICAgIGlmIChyZW5kZXJlci0+aGFzVHJhbnNmb3JtKCkg
fHwgcmVuZGVyZXItPmhhc1JlZmxlY3Rpb24oKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gdHJ1
ZTsKLSAgICAgICAgfQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotICAgIAotcHJpdmF0
ZToKLSAgICBSZW5kZXJFbGVtZW50KiBtX3N1YnRyZWVMYXlvdXRSb290IHsgbnVsbHB0ciB9Owot
ICAgIGJvb2wgbV9kaWREaXNhYmxlTGF5b3V0U3RhdGUgeyBmYWxzZSB9OwotfTsKLQogI2lmbmRl
ZiBOREVCVUcKIGNsYXNzIFJlbmRlclRyZWVOZWVkc0xheW91dENoZWNrZXIgewogcHVibGljIDoK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9MYXlvdXRTdGF0ZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvTGF5b3V0U3RhdGUuY3BwCmluZGV4IGFlMmYxMzc3YWQ0
ZGI3MGI0MmY0MzJlNDU5ZGVkZjJjZTYyMWM2NGYuLjI0ZDY3YjU0ZDgxYjBhMzhhYjk3NGIyNDJl
MDFkM2JiNGQzNTA4NWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9MYXlv
dXRTdGF0ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0xheW91dFN0YXRlLmNw
cApAQCAtMTk3LDQgKzE5NywxMDEgQEAgdm9pZCBMYXlvdXRTdGF0ZTo6ZXN0YWJsaXNoTGluZUdy
aWQoUmVuZGVyQmxvY2tGbG93KiBibG9jaykKICAgICBtX2xpbmVHcmlkT2Zmc2V0ID0gbV9sYXlv
dXRPZmZzZXQ7IAogfQogCitMYXlvdXRTdGF0ZU1haW50YWluZXI6OkxheW91dFN0YXRlTWFpbnRh
aW5lcihSZW5kZXJCb3gmIHJvb3QsIExheW91dFNpemUgb2Zmc2V0LCBib29sIGRpc2FibGVTdGF0
ZSwgTGF5b3V0VW5pdCBwYWdlSGVpZ2h0LCBib29sIHBhZ2VIZWlnaHRDaGFuZ2VkKQorICAgIDog
bV92aWV3KHJvb3QudmlldygpKQorICAgICwgbV9kaXNhYmxlZChkaXNhYmxlU3RhdGUpCit7Cisg
ICAgcHVzaChyb290LCBvZmZzZXQsIHBhZ2VIZWlnaHQsIHBhZ2VIZWlnaHRDaGFuZ2VkKTsKK30K
KworTGF5b3V0U3RhdGVNYWludGFpbmVyOjpMYXlvdXRTdGF0ZU1haW50YWluZXIoUmVuZGVyVmll
dyYgdmlldykKKyAgICA6IG1fdmlldyh2aWV3KQoreworfQorCitMYXlvdXRTdGF0ZU1haW50YWlu
ZXI6On5MYXlvdXRTdGF0ZU1haW50YWluZXIoKQoreworICAgIEFTU0VSVCghbV9kaWRDYWxsUHVz
aCB8fCBtX2RpZENhbGxQdXNoID09IG1fZGlkQ2FsbFBvcCk7Cit9CisKK3ZvaWQgTGF5b3V0U3Rh
dGVNYWludGFpbmVyOjpwdXNoKFJlbmRlckJveCYgcm9vdCwgTGF5b3V0U2l6ZSBvZmZzZXQsIExh
eW91dFVuaXQgcGFnZUhlaWdodCwgYm9vbCBwYWdlSGVpZ2h0Q2hhbmdlZCkKK3sKKyAgICBBU1NF
UlQoIW1fZGlkQ2FsbFB1c2gpOworICAgIG1fZGlkQ2FsbFB1c2ggPSB0cnVlOworICAgIC8vIFdl
IHB1c2ggc3RhdGUgZXZlbiBpZiBkaXNhYmxlZCwgYmVjYXVzZSB3ZSBzdGlsbCBuZWVkIHRvIHN0
b3JlIGxheW91dERlbHRhCisgICAgbV9kaWRQdXNoTGF5b3V0U3RhdGUgPSBtX3ZpZXcucHVzaExh
eW91dFN0YXRlKHJvb3QsIG9mZnNldCwgcGFnZUhlaWdodCwgcGFnZUhlaWdodENoYW5nZWQpOwor
ICAgIGlmICghbV9kaWRQdXNoTGF5b3V0U3RhdGUpCisgICAgICAgIHJldHVybjsKKyAgICBpZiAo
bV9kaXNhYmxlZCkKKyAgICAgICAgbV92aWV3LmRpc2FibGVMYXlvdXRTdGF0ZSgpOworfQorCit2
b2lkIExheW91dFN0YXRlTWFpbnRhaW5lcjo6cG9wKCkKK3sKKyAgICBBU1NFUlQoIW1fZGlkQ2Fs
bFBvcCk7CisgICAgbV9kaWRDYWxsUG9wID0gdHJ1ZTsKKyAgICBpZiAoIW1fZGlkQ2FsbFB1c2gp
CisgICAgICAgIHJldHVybjsKKyAgICBpZiAoIW1fZGlkUHVzaExheW91dFN0YXRlKQorICAgICAg
ICByZXR1cm47CisgICAgbV92aWV3LnBvcExheW91dFN0YXRlKCk7CisgICAgaWYgKG1fZGlzYWJs
ZWQpCisgICAgICAgIG1fdmlldy5lbmFibGVMYXlvdXRTdGF0ZSgpOworfQorCitMYXlvdXRTdGF0
ZURpc2FibGVyOjpMYXlvdXRTdGF0ZURpc2FibGVyKFJlbmRlclZpZXcmIHZpZXcpCisgICAgOiBt
X3ZpZXcodmlldykKK3sKKyAgICBtX3ZpZXcuZGlzYWJsZUxheW91dFN0YXRlKCk7Cit9CisKK0xh
eW91dFN0YXRlRGlzYWJsZXI6On5MYXlvdXRTdGF0ZURpc2FibGVyKCkKK3sKKyAgICBtX3ZpZXcu
ZW5hYmxlTGF5b3V0U3RhdGUoKTsKK30KKworc3RhdGljIGJvb2wgc2hvdWxkRGlzYWJsZUxheW91
dFN0YXRlRm9yU3VidHJlZShSZW5kZXJFbGVtZW50JiBzdWJ0cmVlTGF5b3V0Um9vdCkKK3sKKyAg
ICBmb3IgKGF1dG8qIHJlbmRlcmVyID0gJnN1YnRyZWVMYXlvdXRSb290OyByZW5kZXJlcjsgcmVu
ZGVyZXIgPSByZW5kZXJlci0+Y29udGFpbmVyKCkpIHsKKyAgICAgICAgaWYgKHJlbmRlcmVyLT5o
YXNUcmFuc2Zvcm0oKSB8fCByZW5kZXJlci0+aGFzUmVmbGVjdGlvbigpKQorICAgICAgICAgICAg
cmV0dXJuIHRydWU7CisgICAgfQorICAgIHJldHVybiBmYWxzZTsKK30KKworU3VidHJlZUxheW91
dFN0YXRlTWFpbnRhaW5lcjo6U3VidHJlZUxheW91dFN0YXRlTWFpbnRhaW5lcihSZW5kZXJFbGVt
ZW50KiBzdWJ0cmVlTGF5b3V0Um9vdCkKKyAgICA6IG1fc3VidHJlZUxheW91dFJvb3Qoc3VidHJl
ZUxheW91dFJvb3QpCit7CisgICAgaWYgKG1fc3VidHJlZUxheW91dFJvb3QpIHsKKyAgICAgICAg
UmVuZGVyVmlldyYgdmlldyA9IG1fc3VidHJlZUxheW91dFJvb3QtPnZpZXcoKTsKKyAgICAgICAg
dmlldy5wdXNoTGF5b3V0U3RhdGUoKm1fc3VidHJlZUxheW91dFJvb3QpOworICAgICAgICBpZiAo
c2hvdWxkRGlzYWJsZUxheW91dFN0YXRlRm9yU3VidHJlZSgqbV9zdWJ0cmVlTGF5b3V0Um9vdCkp
IHsKKyAgICAgICAgICAgIHZpZXcuZGlzYWJsZUxheW91dFN0YXRlKCk7CisgICAgICAgICAgICBt
X2RpZERpc2FibGVMYXlvdXRTdGF0ZSA9IHRydWU7CisgICAgICAgIH0KKyAgICB9Cit9CisKK1N1
YnRyZWVMYXlvdXRTdGF0ZU1haW50YWluZXI6On5TdWJ0cmVlTGF5b3V0U3RhdGVNYWludGFpbmVy
KCkKK3sKKyAgICBpZiAobV9zdWJ0cmVlTGF5b3V0Um9vdCkgeworICAgICAgICBSZW5kZXJWaWV3
JiB2aWV3ID0gbV9zdWJ0cmVlTGF5b3V0Um9vdC0+dmlldygpOworICAgICAgICB2aWV3LnBvcExh
eW91dFN0YXRlKCptX3N1YnRyZWVMYXlvdXRSb290KTsKKyAgICAgICAgaWYgKG1fZGlkRGlzYWJs
ZUxheW91dFN0YXRlKQorICAgICAgICAgICAgdmlldy5lbmFibGVMYXlvdXRTdGF0ZSgpOworICAg
IH0KK30KKworUGFnaW5hdGVkTGF5b3V0U3RhdGVNYWludGFpbmVyOjpQYWdpbmF0ZWRMYXlvdXRT
dGF0ZU1haW50YWluZXIoUmVuZGVyQmxvY2tGbG93JiBmbG93KQorICAgIDogbV9mbG93KGZsb3cp
CisgICAgLCBtX3B1c2hlZChmbG93LnZpZXcoKS5wdXNoTGF5b3V0U3RhdGVGb3JQYWdpbmF0aW9u
SWZOZWVkZWQoZmxvdykpCit7Cit9CisKK1BhZ2luYXRlZExheW91dFN0YXRlTWFpbnRhaW5lcjo6
flBhZ2luYXRlZExheW91dFN0YXRlTWFpbnRhaW5lcigpCit7CisgICAgaWYgKG1fcHVzaGVkKQor
ICAgICAgICBtX2Zsb3cudmlldygpLnBvcExheW91dFN0YXRlKG1fZmxvdyk7Cit9CisKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9M
YXlvdXRTdGF0ZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0xheW91dFN0YXRlLmgKaW5k
ZXggNmNmMGQxNjg1NjUwMTIzZDAwN2FkZWYxYjdjNmE2YjRkYmZjMGQwZi4uZmM5MTVjYmY5OWE2
NDNmNmVkOTM0YjhlMjJlMzVmMzIzZGMzN2Q1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL0xheW91dFN0YXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0xh
eW91dFN0YXRlLmgKQEAgLTMwLDEzICszMCwxMSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
LWNsYXNzIFJlbmRlckJsb2NrOwogY2xhc3MgUmVuZGVyQmxvY2tGbG93OwogY2xhc3MgUmVuZGVy
Qm94OwotY2xhc3MgUmVuZGVyRWxlbWVudDsKIGNsYXNzIFJlbmRlckZyYWdtZW50ZWRGbG93Owog
Y2xhc3MgUmVuZGVyT2JqZWN0OwotY2xhc3MgU2hhcGVJbnNpZGVJbmZvOworY2xhc3MgUmVuZGVy
VmlldzsKIAogY2xhc3MgTGF5b3V0U3RhdGUgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExh
eW91dFN0YXRlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CkBAIC0xMjYsNCArMTI0LDU2IEBA
IHB1YmxpYzoKICNlbmRpZgogfTsKIAorLy8gU3RhY2stYmFzZWQgY2xhc3MgdG8gYXNzaXN0IHdp
dGggTGF5b3V0U3RhdGUgcHVzaC9wb3AKK2NsYXNzIExheW91dFN0YXRlTWFpbnRhaW5lciB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTGF5b3V0U3RhdGVNYWludGFpbmVyKTsKK3B1YmxpYzoK
KyAgICAvLyBDb25zdHJ1Y3RvciB0byBwdXNoIG5vdy4KKyAgICBleHBsaWNpdCBMYXlvdXRTdGF0
ZU1haW50YWluZXIoUmVuZGVyQm94JiwgTGF5b3V0U2l6ZSBvZmZzZXQsIGJvb2wgZGlzYWJsZVN0
YXRlID0gZmFsc2UsIExheW91dFVuaXQgcGFnZUhlaWdodCA9IDAsIGJvb2wgcGFnZUhlaWdodENo
YW5nZWQgPSBmYWxzZSk7CisgICAgLy8gQ29uc3RydWN0b3IgdG8gbWF5YmUgcHVzaCBsYXRlci4K
KyAgICBleHBsaWNpdCBMYXlvdXRTdGF0ZU1haW50YWluZXIoUmVuZGVyVmlldyYpOworICAgIH5M
YXlvdXRTdGF0ZU1haW50YWluZXIoKTsKKworICAgIHZvaWQgcHVzaChSZW5kZXJCb3gmIHJvb3Qs
IExheW91dFNpemUgb2Zmc2V0LCBMYXlvdXRVbml0IHBhZ2VIZWlnaHQgPSAwLCBib29sIHBhZ2VI
ZWlnaHRDaGFuZ2VkID0gZmFsc2UpOworICAgIHZvaWQgcG9wKCk7CisgICAgYm9vbCBkaWRQdXNo
KCkgY29uc3QgeyByZXR1cm4gbV9kaWRDYWxsUHVzaDsgfQorCitwcml2YXRlOgorICAgIFJlbmRl
clZpZXcmIG1fdmlldzsKKyAgICBib29sIG1fZGlzYWJsZWQgeyBmYWxzZSB9OworICAgIGJvb2wg
bV9kaWRDYWxsUHVzaCB7IGZhbHNlIH07CisgICAgYm9vbCBtX2RpZENhbGxQb3AgeyBmYWxzZSB9
OworICAgIGJvb2wgbV9kaWRQdXNoTGF5b3V0U3RhdGUgeyBmYWxzZSB9OworfTsKKworY2xhc3Mg
U3VidHJlZUxheW91dFN0YXRlTWFpbnRhaW5lciB7CitwdWJsaWM6CisgICAgU3VidHJlZUxheW91
dFN0YXRlTWFpbnRhaW5lcihSZW5kZXJFbGVtZW50KiBzdWJ0cmVlTGF5b3V0Um9vdCk7CisgICAg
flN1YnRyZWVMYXlvdXRTdGF0ZU1haW50YWluZXIoKTsKKworcHJpdmF0ZToKKyAgICBSZW5kZXJF
bGVtZW50KiBtX3N1YnRyZWVMYXlvdXRSb290IHsgbnVsbHB0ciB9OworICAgIGJvb2wgbV9kaWRE
aXNhYmxlTGF5b3V0U3RhdGUgeyBmYWxzZSB9OworfTsKKworY2xhc3MgTGF5b3V0U3RhdGVEaXNh
YmxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTGF5b3V0U3RhdGVEaXNhYmxlcik7Citw
dWJsaWM6CisgICAgTGF5b3V0U3RhdGVEaXNhYmxlcihSZW5kZXJWaWV3Jik7CisgICAgfkxheW91
dFN0YXRlRGlzYWJsZXIoKTsKKworcHJpdmF0ZToKKyAgICBSZW5kZXJWaWV3JiBtX3ZpZXc7Cit9
OworCitjbGFzcyBQYWdpbmF0ZWRMYXlvdXRTdGF0ZU1haW50YWluZXIgeworcHVibGljOgorICAg
IFBhZ2luYXRlZExheW91dFN0YXRlTWFpbnRhaW5lcihSZW5kZXJCbG9ja0Zsb3cmKTsKKyAgICB+
UGFnaW5hdGVkTGF5b3V0U3RhdGVNYWludGFpbmVyKCk7CisKK3ByaXZhdGU6CisgICAgUmVuZGVy
QmxvY2tGbG93JiBtX2Zsb3c7CisgICAgYm9vbCBtX3B1c2hlZCB7IGZhbHNlIH07Cit9OworCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQmxvY2tGbG93LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
bG9ja0Zsb3cuY3BwCmluZGV4IGY0N2E2ZDZkOTU0MTE5MjBhNDdhYzE5ZjJmOWE3OGVlZDMzNDVh
Y2YuLjFiMTM1OTU0OWM2OTU0MmEwYTZlYzIyY2NiYTAxOTBiMjRlODZhOWQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwCkBAIC02NywyNSArNjcsNiBA
QCBzdHJ1Y3QgU2FtZVNpemVBc01hcmdpbkluZm8gewogQ09NUElMRV9BU1NFUlQoc2l6ZW9mKFJl
bmRlckJsb2NrRmxvdzo6TWFyZ2luVmFsdWVzKSA9PSBzaXplb2YoTGF5b3V0VW5pdFs0XSksIE1h
cmdpblZhbHVlc19zaG91bGRfc3RheV9zbWFsbCk7CiBDT01QSUxFX0FTU0VSVChzaXplb2YoUmVu
ZGVyQmxvY2tGbG93OjpNYXJnaW5JbmZvKSA9PSBzaXplb2YoU2FtZVNpemVBc01hcmdpbkluZm8p
LCBNYXJnaW5JbmZvX3Nob3VsZF9zdGF5X3NtYWxsKTsKIAotY2xhc3MgUGFnaW5hdGVkTGF5b3V0
U3RhdGVNYWludGFpbmVyIHsKLXB1YmxpYzoKLSAgICBQYWdpbmF0ZWRMYXlvdXRTdGF0ZU1haW50
YWluZXIoUmVuZGVyQmxvY2tGbG93JiBmbG93KQotICAgICAgICA6IG1fZmxvdyhmbG93KQotICAg
ICAgICAsIG1fcHVzaGVkKGZsb3cudmlldygpLnB1c2hMYXlvdXRTdGF0ZUZvclBhZ2luYXRpb25J
Zk5lZWRlZChmbG93KSkKLSAgICB7Ci0gICAgfQotCi0gICAgflBhZ2luYXRlZExheW91dFN0YXRl
TWFpbnRhaW5lcigpCi0gICAgewotICAgICAgICBpZiAobV9wdXNoZWQpCi0gICAgICAgICAgICBt
X2Zsb3cudmlldygpLnBvcExheW91dFN0YXRlKG1fZmxvdyk7Ci0gICAgfQotCi1wcml2YXRlOgot
ICAgIFJlbmRlckJsb2NrRmxvdyYgbV9mbG93OwotICAgIGJvb2wgbV9wdXNoZWQgeyBmYWxzZSB9
OwotfTsKLQogLy8gT3VyIE1hcmdpbkluZm8gc3RhdGUgdXNlZCB3aGVuIGxheWluZyBvdXQgYmxv
Y2sgY2hpbGRyZW4uCiBSZW5kZXJCbG9ja0Zsb3c6Ok1hcmdpbkluZm86Ok1hcmdpbkluZm8oY29u
c3QgUmVuZGVyQmxvY2tGbG93JiBibG9jaywgTGF5b3V0VW5pdCBiZWZvcmVCb3JkZXJQYWRkaW5n
LCBMYXlvdXRVbml0IGFmdGVyQm9yZGVyUGFkZGluZykKICAgICA6IG1fYXRCZWZvcmVTaWRlT2ZC
bG9jayh0cnVlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZp
ZXcuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmgKaW5kZXggNWM0Njk0
ZTIzMDc3OTE3NDgyZjRmOWI2OTY0MmUwNWY5M2VjMjJiOC4uNmNiYjFlMGExN2IzOGExNWI3Yzc2
NGMzODIyODM2YjQ1YTI2OWY5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclZpZXcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5o
CkBAIC0zNDEsODIgKzM0MSw2IEBAIHByaXZhdGU6CiAjZW5kaWYKIH07CiAKLS8vIFN0YWNrLWJh
c2VkIGNsYXNzIHRvIGFzc2lzdCB3aXRoIExheW91dFN0YXRlIHB1c2gvcG9wCi1jbGFzcyBMYXlv
dXRTdGF0ZU1haW50YWluZXIgewotICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExheW91dFN0YXRl
TWFpbnRhaW5lcik7Ci1wdWJsaWM6Ci0gICAgLy8gQ29uc3RydWN0b3IgdG8gcHVzaCBub3cuCi0g
ICAgZXhwbGljaXQgTGF5b3V0U3RhdGVNYWludGFpbmVyKFJlbmRlckJveCYgcm9vdCwgTGF5b3V0
U2l6ZSBvZmZzZXQsIGJvb2wgZGlzYWJsZVN0YXRlID0gZmFsc2UsIExheW91dFVuaXQgcGFnZUhl
aWdodCA9IDAsIGJvb2wgcGFnZUhlaWdodENoYW5nZWQgPSBmYWxzZSkKLSAgICAgICAgOiBtX3Zp
ZXcocm9vdC52aWV3KCkpCi0gICAgICAgICwgbV9kaXNhYmxlZChkaXNhYmxlU3RhdGUpCi0gICAg
ewotICAgICAgICBwdXNoKHJvb3QsIG9mZnNldCwgcGFnZUhlaWdodCwgcGFnZUhlaWdodENoYW5n
ZWQpOwotICAgIH0KLQotICAgIC8vIENvbnN0cnVjdG9yIHRvIG1heWJlIHB1c2ggbGF0ZXIuCi0g
ICAgZXhwbGljaXQgTGF5b3V0U3RhdGVNYWludGFpbmVyKFJlbmRlclZpZXcmIHZpZXcpCi0gICAg
ICAgIDogbV92aWV3KHZpZXcpCi0gICAgewotICAgIH0KLQotICAgIH5MYXlvdXRTdGF0ZU1haW50
YWluZXIoKQotICAgIHsKLSAgICAgICAgQVNTRVJUKCFtX2RpZENhbGxQdXNoIHx8IG1fZGlkQ2Fs
bFB1c2ggPT0gbV9kaWRDYWxsUG9wKTsKLSAgICB9Ci0KLSAgICB2b2lkIHB1c2goUmVuZGVyQm94
JiByb290LCBMYXlvdXRTaXplIG9mZnNldCwgTGF5b3V0VW5pdCBwYWdlSGVpZ2h0ID0gMCwgYm9v
bCBwYWdlSGVpZ2h0Q2hhbmdlZCA9IGZhbHNlKQotICAgIHsKLSAgICAgICAgQVNTRVJUKCFtX2Rp
ZENhbGxQdXNoKTsKLSAgICAgICAgbV9kaWRDYWxsUHVzaCA9IHRydWU7Ci0gICAgICAgIC8vIFdl
IHB1c2ggc3RhdGUgZXZlbiBpZiBkaXNhYmxlZCwgYmVjYXVzZSB3ZSBzdGlsbCBuZWVkIHRvIHN0
b3JlIGxheW91dERlbHRhCi0gICAgICAgIG1fZGlkUHVzaExheW91dFN0YXRlID0gbV92aWV3LnB1
c2hMYXlvdXRTdGF0ZShyb290LCBvZmZzZXQsIHBhZ2VIZWlnaHQsIHBhZ2VIZWlnaHRDaGFuZ2Vk
KTsKLSAgICAgICAgaWYgKCFtX2RpZFB1c2hMYXlvdXRTdGF0ZSkKLSAgICAgICAgICAgIHJldHVy
bjsKLSAgICAgICAgaWYgKG1fZGlzYWJsZWQpCi0gICAgICAgICAgICBtX3ZpZXcuZGlzYWJsZUxh
eW91dFN0YXRlKCk7Ci0gICAgfQotCi0gICAgdm9pZCBwb3AoKQotICAgIHsKLSAgICAgICAgQVNT
RVJUKCFtX2RpZENhbGxQb3ApOwotICAgICAgICBtX2RpZENhbGxQb3AgPSB0cnVlOwotICAgICAg
ICBpZiAoIW1fZGlkQ2FsbFB1c2gpCi0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIGlmICgh
bV9kaWRQdXNoTGF5b3V0U3RhdGUpCi0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIG1fdmll
dy5wb3BMYXlvdXRTdGF0ZSgpOwotICAgICAgICBpZiAobV9kaXNhYmxlZCkKLSAgICAgICAgICAg
IG1fdmlldy5lbmFibGVMYXlvdXRTdGF0ZSgpOwotICAgIH0KLQotICAgIGJvb2wgZGlkUHVzaCgp
IGNvbnN0IHsgcmV0dXJuIG1fZGlkQ2FsbFB1c2g7IH0KLQotcHJpdmF0ZToKLSAgICBSZW5kZXJW
aWV3JiBtX3ZpZXc7Ci0gICAgYm9vbCBtX2Rpc2FibGVkIHsgZmFsc2UgfTsKLSAgICBib29sIG1f
ZGlkQ2FsbFB1c2ggeyBmYWxzZSB9OwotICAgIGJvb2wgbV9kaWRDYWxsUG9wIHsgZmFsc2UgfTsK
LSAgICBib29sIG1fZGlkUHVzaExheW91dFN0YXRlIHsgZmFsc2UgfTsKLX07Ci0KLWNsYXNzIExh
eW91dFN0YXRlRGlzYWJsZXIgewotICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExheW91dFN0YXRl
RGlzYWJsZXIpOwotcHVibGljOgotICAgIExheW91dFN0YXRlRGlzYWJsZXIoUmVuZGVyVmlldyYg
dmlldykKLSAgICAgICAgOiBtX3ZpZXcodmlldykKLSAgICB7Ci0gICAgICAgIG1fdmlldy5kaXNh
YmxlTGF5b3V0U3RhdGUoKTsKLSAgICB9Ci0KLSAgICB+TGF5b3V0U3RhdGVEaXNhYmxlcigpCi0g
ICAgewotICAgICAgICBtX3ZpZXcuZW5hYmxlTGF5b3V0U3RhdGUoKTsKLSAgICB9Ci0KLXByaXZh
dGU6Ci0gICAgUmVuZGVyVmlldyYgbV92aWV3OwotfTsKLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQogCiBTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX1JFTkRFUl9PQkpFQ1QoUmVuZGVyVmlldywgaXNS
ZW5kZXJWaWV3KCkpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>326015</attachid>
            <date>2017-11-03 21:59:24 -0700</date>
            <delta_ts>2017-11-04 15:02:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-179280-20171103215923.patch</filename>
            <type>text/plain</type>
            <size>13522</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI0NDM5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmQyM2I1Mzk1N2ZkNDAy
Y2M5ZDM3YmZhMjVjMzFkNWMyNzhjYzUwYy4uMzA5YTdlMzgwZDQ3NzcyNzE1NDVjNmI4M2NiZDA1
NTlmNzFjMjlhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDE3LTExLTAzICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xheW91dFN0YXRlIGNsZWFu
dXBdIE1vdmUgYWxsIExheW91dFN0YXRlKiBjbGFzc2VzIHRvIExheW91dFN0YXRlLmgvY3BwCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzkyODAKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzM1MzQ4NDUyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIGNoYW5nZSBpbiBmdW5jdGlvbmFsaXR5LgorCisg
ICAgICAgICogcGFnZS9MYXlvdXRDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN1YnRy
ZWVMYXlvdXRTdGF0ZU1haW50YWluZXI6OlN1YnRyZWVMYXlvdXRTdGF0ZU1haW50YWluZXIpOiBE
ZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6U3VidHJlZUxheW91dFN0YXRlTWFpbnRhaW5lcjo6
flN1YnRyZWVMYXlvdXRTdGF0ZU1haW50YWluZXIpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29y
ZTo6U3VidHJlZUxheW91dFN0YXRlTWFpbnRhaW5lcjo6c2hvdWxkRGlzYWJsZUxheW91dFN0YXRl
Rm9yU3VidHJlZSk6IERlbGV0ZWQuCisgICAgICAgICogcmVuZGVyaW5nL0xheW91dFN0YXRlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dFN0YXRlTWFpbnRhaW5lcjo6TGF5b3V0U3RhdGVN
YWludGFpbmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dFN0YXRlTWFpbnRhaW5lcjo6fkxh
eW91dFN0YXRlTWFpbnRhaW5lcik6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRTdGF0ZU1haW50
YWluZXI6OnB1c2gpOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0U3RhdGVNYWludGFpbmVyOjpw
b3ApOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0U3RhdGVEaXNhYmxlcjo6TGF5b3V0U3RhdGVE
aXNhYmxlcik6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRTdGF0ZURpc2FibGVyOjp+TGF5b3V0
U3RhdGVEaXNhYmxlcik6CisgICAgICAgIChXZWJDb3JlOjpzaG91bGREaXNhYmxlTGF5b3V0U3Rh
dGVGb3JTdWJ0cmVlKToKKyAgICAgICAgKFdlYkNvcmU6OlN1YnRyZWVMYXlvdXRTdGF0ZU1haW50
YWluZXI6OlN1YnRyZWVMYXlvdXRTdGF0ZU1haW50YWluZXIpOgorICAgICAgICAoV2ViQ29yZTo6
U3VidHJlZUxheW91dFN0YXRlTWFpbnRhaW5lcjo6flN1YnRyZWVMYXlvdXRTdGF0ZU1haW50YWlu
ZXIpOgorICAgICAgICAoV2ViQ29yZTo6UGFnaW5hdGVkTGF5b3V0U3RhdGVNYWludGFpbmVyOjpQ
YWdpbmF0ZWRMYXlvdXRTdGF0ZU1haW50YWluZXIpOgorICAgICAgICAoV2ViQ29yZTo6UGFnaW5h
dGVkTGF5b3V0U3RhdGVNYWludGFpbmVyOjp+UGFnaW5hdGVkTGF5b3V0U3RhdGVNYWludGFpbmVy
KToKKyAgICAgICAgKiByZW5kZXJpbmcvTGF5b3V0U3RhdGUuaDoKKyAgICAgICAgKFdlYkNvcmU6
OkxheW91dFN0YXRlTWFpbnRhaW5lcjo6ZGlkUHVzaCBjb25zdCk6CisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlckJsb2NrRmxvdy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQYWdpbmF0ZWRMYXlv
dXRTdGF0ZU1haW50YWluZXI6OlBhZ2luYXRlZExheW91dFN0YXRlTWFpbnRhaW5lcik6IERlbGV0
ZWQuCisgICAgICAgIChXZWJDb3JlOjpQYWdpbmF0ZWRMYXlvdXRTdGF0ZU1haW50YWluZXI6On5Q
YWdpbmF0ZWRMYXlvdXRTdGF0ZU1haW50YWluZXIpOiBEZWxldGVkLgorICAgICAgICAoKTogRGVs
ZXRlZC4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVmlldy5oOgorICAgICAgICAoV2ViQ29y
ZTo6TGF5b3V0U3RhdGVNYWludGFpbmVyOjpMYXlvdXRTdGF0ZU1haW50YWluZXIpOiBEZWxldGVk
LgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0U3RhdGVNYWludGFpbmVyOjp+TGF5b3V0U3RhdGVN
YWludGFpbmVyKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkxheW91dFN0YXRlTWFpbnRh
aW5lcjo6cHVzaCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRTdGF0ZU1haW50
YWluZXI6OnBvcCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpMYXlvdXRTdGF0ZU1haW50
YWluZXI6OmRpZFB1c2ggY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0
U3RhdGVEaXNhYmxlcjo6TGF5b3V0U3RhdGVEaXNhYmxlcik6IERlbGV0ZWQuCisgICAgICAgIChX
ZWJDb3JlOjpMYXlvdXRTdGF0ZURpc2FibGVyOjp+TGF5b3V0U3RhdGVEaXNhYmxlcik6IERlbGV0
ZWQuCisKIDIwMTctMTEtMDMgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAg
ICAgICAgIFJlcXVlc3RzIGhhbmRsZWQgYnkgU2VydmljZSBXb3JrZXIgc2hvdWxkIG5vdCBnbyB0
aHJvdWdoIHByZWZsaWdodGluZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9MYXlv
dXRDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTGF5b3V0Q29udGV4dC5jcHAKaW5k
ZXggZTAwMDJjYTkzMjM2Yzc2ZjU3OWZlNDBjNzU4OWIyYmYxYWMzODliYS4uYTViZDk5Njg3OWYy
MzdkMDgxMDBiZTIzYWI3MmVmNTUwNDA0NWI5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9MYXlvdXRDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0xheW91dENv
bnRleHQuY3BwCkBAIC01MSw0NSArNTEsNiBAQCBzdGF0aWMgYm9vbCBpc09iamVjdEFuY2VzdG9y
Q29udGFpbmVyT2YoUmVuZGVyRWxlbWVudCYgYW5jZXN0b3IsIFJlbmRlckVsZW1lbnQmCiAgICAg
cmV0dXJuIGZhbHNlOwogfQogCi1jbGFzcyBTdWJ0cmVlTGF5b3V0U3RhdGVNYWludGFpbmVyIHsK
LXB1YmxpYzoKLSAgICBTdWJ0cmVlTGF5b3V0U3RhdGVNYWludGFpbmVyKFJlbmRlckVsZW1lbnQq
IHN1YnRyZWVMYXlvdXRSb290KQotICAgICAgICA6IG1fc3VidHJlZUxheW91dFJvb3Qoc3VidHJl
ZUxheW91dFJvb3QpCi0gICAgewotICAgICAgICBpZiAobV9zdWJ0cmVlTGF5b3V0Um9vdCkgewot
ICAgICAgICAgICAgUmVuZGVyVmlldyYgdmlldyA9IG1fc3VidHJlZUxheW91dFJvb3QtPnZpZXco
KTsKLSAgICAgICAgICAgIHZpZXcucHVzaExheW91dFN0YXRlKCptX3N1YnRyZWVMYXlvdXRSb290
KTsKLSAgICAgICAgICAgIGlmIChzaG91bGREaXNhYmxlTGF5b3V0U3RhdGVGb3JTdWJ0cmVlKCkp
IHsKLSAgICAgICAgICAgICAgICB2aWV3LmRpc2FibGVMYXlvdXRTdGF0ZSgpOwotICAgICAgICAg
ICAgICAgIG1fZGlkRGlzYWJsZUxheW91dFN0YXRlID0gdHJ1ZTsKLSAgICAgICAgICAgIH0KLSAg
ICAgICAgfQotICAgIH0KLQotICAgIH5TdWJ0cmVlTGF5b3V0U3RhdGVNYWludGFpbmVyKCkKLSAg
ICB7Ci0gICAgICAgIGlmIChtX3N1YnRyZWVMYXlvdXRSb290KSB7Ci0gICAgICAgICAgICBSZW5k
ZXJWaWV3JiB2aWV3ID0gbV9zdWJ0cmVlTGF5b3V0Um9vdC0+dmlldygpOwotICAgICAgICAgICAg
dmlldy5wb3BMYXlvdXRTdGF0ZSgqbV9zdWJ0cmVlTGF5b3V0Um9vdCk7Ci0gICAgICAgICAgICBp
ZiAobV9kaWREaXNhYmxlTGF5b3V0U3RhdGUpCi0gICAgICAgICAgICAgICAgdmlldy5lbmFibGVM
YXlvdXRTdGF0ZSgpOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgYm9vbCBzaG91bGREaXNhYmxl
TGF5b3V0U3RhdGVGb3JTdWJ0cmVlKCkKLSAgICB7Ci0gICAgICAgIGZvciAoYXV0byogcmVuZGVy
ZXIgPSBtX3N1YnRyZWVMYXlvdXRSb290OyByZW5kZXJlcjsgcmVuZGVyZXIgPSByZW5kZXJlci0+
Y29udGFpbmVyKCkpIHsKLSAgICAgICAgICAgIGlmIChyZW5kZXJlci0+aGFzVHJhbnNmb3JtKCkg
fHwgcmVuZGVyZXItPmhhc1JlZmxlY3Rpb24oKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gdHJ1
ZTsKLSAgICAgICAgfQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotICAgIAotcHJpdmF0
ZToKLSAgICBSZW5kZXJFbGVtZW50KiBtX3N1YnRyZWVMYXlvdXRSb290IHsgbnVsbHB0ciB9Owot
ICAgIGJvb2wgbV9kaWREaXNhYmxlTGF5b3V0U3RhdGUgeyBmYWxzZSB9OwotfTsKLQogI2lmbmRl
ZiBOREVCVUcKIGNsYXNzIFJlbmRlclRyZWVOZWVkc0xheW91dENoZWNrZXIgewogcHVibGljIDoK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9MYXlvdXRTdGF0ZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvTGF5b3V0U3RhdGUuY3BwCmluZGV4IGFlMmYxMzc3YWQ0
ZGI3MGI0MmY0MzJlNDU5ZGVkZjJjZTYyMWM2NGYuLjI0ZDY3YjU0ZDgxYjBhMzhhYjk3NGIyNDJl
MDFkM2JiNGQzNTA4NWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9MYXlv
dXRTdGF0ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0xheW91dFN0YXRlLmNw
cApAQCAtMTk3LDQgKzE5NywxMDEgQEAgdm9pZCBMYXlvdXRTdGF0ZTo6ZXN0YWJsaXNoTGluZUdy
aWQoUmVuZGVyQmxvY2tGbG93KiBibG9jaykKICAgICBtX2xpbmVHcmlkT2Zmc2V0ID0gbV9sYXlv
dXRPZmZzZXQ7IAogfQogCitMYXlvdXRTdGF0ZU1haW50YWluZXI6OkxheW91dFN0YXRlTWFpbnRh
aW5lcihSZW5kZXJCb3gmIHJvb3QsIExheW91dFNpemUgb2Zmc2V0LCBib29sIGRpc2FibGVTdGF0
ZSwgTGF5b3V0VW5pdCBwYWdlSGVpZ2h0LCBib29sIHBhZ2VIZWlnaHRDaGFuZ2VkKQorICAgIDog
bV92aWV3KHJvb3QudmlldygpKQorICAgICwgbV9kaXNhYmxlZChkaXNhYmxlU3RhdGUpCit7Cisg
ICAgcHVzaChyb290LCBvZmZzZXQsIHBhZ2VIZWlnaHQsIHBhZ2VIZWlnaHRDaGFuZ2VkKTsKK30K
KworTGF5b3V0U3RhdGVNYWludGFpbmVyOjpMYXlvdXRTdGF0ZU1haW50YWluZXIoUmVuZGVyVmll
dyYgdmlldykKKyAgICA6IG1fdmlldyh2aWV3KQoreworfQorCitMYXlvdXRTdGF0ZU1haW50YWlu
ZXI6On5MYXlvdXRTdGF0ZU1haW50YWluZXIoKQoreworICAgIEFTU0VSVCghbV9kaWRDYWxsUHVz
aCB8fCBtX2RpZENhbGxQdXNoID09IG1fZGlkQ2FsbFBvcCk7Cit9CisKK3ZvaWQgTGF5b3V0U3Rh
dGVNYWludGFpbmVyOjpwdXNoKFJlbmRlckJveCYgcm9vdCwgTGF5b3V0U2l6ZSBvZmZzZXQsIExh
eW91dFVuaXQgcGFnZUhlaWdodCwgYm9vbCBwYWdlSGVpZ2h0Q2hhbmdlZCkKK3sKKyAgICBBU1NF
UlQoIW1fZGlkQ2FsbFB1c2gpOworICAgIG1fZGlkQ2FsbFB1c2ggPSB0cnVlOworICAgIC8vIFdl
IHB1c2ggc3RhdGUgZXZlbiBpZiBkaXNhYmxlZCwgYmVjYXVzZSB3ZSBzdGlsbCBuZWVkIHRvIHN0
b3JlIGxheW91dERlbHRhCisgICAgbV9kaWRQdXNoTGF5b3V0U3RhdGUgPSBtX3ZpZXcucHVzaExh
eW91dFN0YXRlKHJvb3QsIG9mZnNldCwgcGFnZUhlaWdodCwgcGFnZUhlaWdodENoYW5nZWQpOwor
ICAgIGlmICghbV9kaWRQdXNoTGF5b3V0U3RhdGUpCisgICAgICAgIHJldHVybjsKKyAgICBpZiAo
bV9kaXNhYmxlZCkKKyAgICAgICAgbV92aWV3LmRpc2FibGVMYXlvdXRTdGF0ZSgpOworfQorCit2
b2lkIExheW91dFN0YXRlTWFpbnRhaW5lcjo6cG9wKCkKK3sKKyAgICBBU1NFUlQoIW1fZGlkQ2Fs
bFBvcCk7CisgICAgbV9kaWRDYWxsUG9wID0gdHJ1ZTsKKyAgICBpZiAoIW1fZGlkQ2FsbFB1c2gp
CisgICAgICAgIHJldHVybjsKKyAgICBpZiAoIW1fZGlkUHVzaExheW91dFN0YXRlKQorICAgICAg
ICByZXR1cm47CisgICAgbV92aWV3LnBvcExheW91dFN0YXRlKCk7CisgICAgaWYgKG1fZGlzYWJs
ZWQpCisgICAgICAgIG1fdmlldy5lbmFibGVMYXlvdXRTdGF0ZSgpOworfQorCitMYXlvdXRTdGF0
ZURpc2FibGVyOjpMYXlvdXRTdGF0ZURpc2FibGVyKFJlbmRlclZpZXcmIHZpZXcpCisgICAgOiBt
X3ZpZXcodmlldykKK3sKKyAgICBtX3ZpZXcuZGlzYWJsZUxheW91dFN0YXRlKCk7Cit9CisKK0xh
eW91dFN0YXRlRGlzYWJsZXI6On5MYXlvdXRTdGF0ZURpc2FibGVyKCkKK3sKKyAgICBtX3ZpZXcu
ZW5hYmxlTGF5b3V0U3RhdGUoKTsKK30KKworc3RhdGljIGJvb2wgc2hvdWxkRGlzYWJsZUxheW91
dFN0YXRlRm9yU3VidHJlZShSZW5kZXJFbGVtZW50JiBzdWJ0cmVlTGF5b3V0Um9vdCkKK3sKKyAg
ICBmb3IgKGF1dG8qIHJlbmRlcmVyID0gJnN1YnRyZWVMYXlvdXRSb290OyByZW5kZXJlcjsgcmVu
ZGVyZXIgPSByZW5kZXJlci0+Y29udGFpbmVyKCkpIHsKKyAgICAgICAgaWYgKHJlbmRlcmVyLT5o
YXNUcmFuc2Zvcm0oKSB8fCByZW5kZXJlci0+aGFzUmVmbGVjdGlvbigpKQorICAgICAgICAgICAg
cmV0dXJuIHRydWU7CisgICAgfQorICAgIHJldHVybiBmYWxzZTsKK30KKworU3VidHJlZUxheW91
dFN0YXRlTWFpbnRhaW5lcjo6U3VidHJlZUxheW91dFN0YXRlTWFpbnRhaW5lcihSZW5kZXJFbGVt
ZW50KiBzdWJ0cmVlTGF5b3V0Um9vdCkKKyAgICA6IG1fc3VidHJlZUxheW91dFJvb3Qoc3VidHJl
ZUxheW91dFJvb3QpCit7CisgICAgaWYgKG1fc3VidHJlZUxheW91dFJvb3QpIHsKKyAgICAgICAg
UmVuZGVyVmlldyYgdmlldyA9IG1fc3VidHJlZUxheW91dFJvb3QtPnZpZXcoKTsKKyAgICAgICAg
dmlldy5wdXNoTGF5b3V0U3RhdGUoKm1fc3VidHJlZUxheW91dFJvb3QpOworICAgICAgICBpZiAo
c2hvdWxkRGlzYWJsZUxheW91dFN0YXRlRm9yU3VidHJlZSgqbV9zdWJ0cmVlTGF5b3V0Um9vdCkp
IHsKKyAgICAgICAgICAgIHZpZXcuZGlzYWJsZUxheW91dFN0YXRlKCk7CisgICAgICAgICAgICBt
X2RpZERpc2FibGVMYXlvdXRTdGF0ZSA9IHRydWU7CisgICAgICAgIH0KKyAgICB9Cit9CisKK1N1
YnRyZWVMYXlvdXRTdGF0ZU1haW50YWluZXI6On5TdWJ0cmVlTGF5b3V0U3RhdGVNYWludGFpbmVy
KCkKK3sKKyAgICBpZiAobV9zdWJ0cmVlTGF5b3V0Um9vdCkgeworICAgICAgICBSZW5kZXJWaWV3
JiB2aWV3ID0gbV9zdWJ0cmVlTGF5b3V0Um9vdC0+dmlldygpOworICAgICAgICB2aWV3LnBvcExh
eW91dFN0YXRlKCptX3N1YnRyZWVMYXlvdXRSb290KTsKKyAgICAgICAgaWYgKG1fZGlkRGlzYWJs
ZUxheW91dFN0YXRlKQorICAgICAgICAgICAgdmlldy5lbmFibGVMYXlvdXRTdGF0ZSgpOworICAg
IH0KK30KKworUGFnaW5hdGVkTGF5b3V0U3RhdGVNYWludGFpbmVyOjpQYWdpbmF0ZWRMYXlvdXRT
dGF0ZU1haW50YWluZXIoUmVuZGVyQmxvY2tGbG93JiBmbG93KQorICAgIDogbV9mbG93KGZsb3cp
CisgICAgLCBtX3B1c2hlZChmbG93LnZpZXcoKS5wdXNoTGF5b3V0U3RhdGVGb3JQYWdpbmF0aW9u
SWZOZWVkZWQoZmxvdykpCit7Cit9CisKK1BhZ2luYXRlZExheW91dFN0YXRlTWFpbnRhaW5lcjo6
flBhZ2luYXRlZExheW91dFN0YXRlTWFpbnRhaW5lcigpCit7CisgICAgaWYgKG1fcHVzaGVkKQor
ICAgICAgICBtX2Zsb3cudmlldygpLnBvcExheW91dFN0YXRlKG1fZmxvdyk7Cit9CisKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9M
YXlvdXRTdGF0ZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0xheW91dFN0YXRlLmgKaW5k
ZXggNmNmMGQxNjg1NjUwMTIzZDAwN2FkZWYxYjdjNmE2YjRkYmZjMGQwZi4uOWY1MjZjYjA4YmJl
ZmQ0NjY5NjUzNWFiMDhmZmEzNDA0NzQyZWU0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL0xheW91dFN0YXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0xh
eW91dFN0YXRlLmgKQEAgLTMwLDEzICszMCwxMiBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
LWNsYXNzIFJlbmRlckJsb2NrOwogY2xhc3MgUmVuZGVyQmxvY2tGbG93OwogY2xhc3MgUmVuZGVy
Qm94OwogY2xhc3MgUmVuZGVyRWxlbWVudDsKIGNsYXNzIFJlbmRlckZyYWdtZW50ZWRGbG93Owog
Y2xhc3MgUmVuZGVyT2JqZWN0OwotY2xhc3MgU2hhcGVJbnNpZGVJbmZvOworY2xhc3MgUmVuZGVy
VmlldzsKIAogY2xhc3MgTGF5b3V0U3RhdGUgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExh
eW91dFN0YXRlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CkBAIC0xMjYsNCArMTI1LDU2IEBA
IHB1YmxpYzoKICNlbmRpZgogfTsKIAorLy8gU3RhY2stYmFzZWQgY2xhc3MgdG8gYXNzaXN0IHdp
dGggTGF5b3V0U3RhdGUgcHVzaC9wb3AKK2NsYXNzIExheW91dFN0YXRlTWFpbnRhaW5lciB7Cisg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTGF5b3V0U3RhdGVNYWludGFpbmVyKTsKK3B1YmxpYzoK
KyAgICAvLyBDb25zdHJ1Y3RvciB0byBwdXNoIG5vdy4KKyAgICBleHBsaWNpdCBMYXlvdXRTdGF0
ZU1haW50YWluZXIoUmVuZGVyQm94JiwgTGF5b3V0U2l6ZSBvZmZzZXQsIGJvb2wgZGlzYWJsZVN0
YXRlID0gZmFsc2UsIExheW91dFVuaXQgcGFnZUhlaWdodCA9IDAsIGJvb2wgcGFnZUhlaWdodENo
YW5nZWQgPSBmYWxzZSk7CisgICAgLy8gQ29uc3RydWN0b3IgdG8gbWF5YmUgcHVzaCBsYXRlci4K
KyAgICBleHBsaWNpdCBMYXlvdXRTdGF0ZU1haW50YWluZXIoUmVuZGVyVmlldyYpOworICAgIH5M
YXlvdXRTdGF0ZU1haW50YWluZXIoKTsKKworICAgIHZvaWQgcHVzaChSZW5kZXJCb3gmIHJvb3Qs
IExheW91dFNpemUgb2Zmc2V0LCBMYXlvdXRVbml0IHBhZ2VIZWlnaHQgPSAwLCBib29sIHBhZ2VI
ZWlnaHRDaGFuZ2VkID0gZmFsc2UpOworICAgIHZvaWQgcG9wKCk7CisgICAgYm9vbCBkaWRQdXNo
KCkgY29uc3QgeyByZXR1cm4gbV9kaWRDYWxsUHVzaDsgfQorCitwcml2YXRlOgorICAgIFJlbmRl
clZpZXcmIG1fdmlldzsKKyAgICBib29sIG1fZGlzYWJsZWQgeyBmYWxzZSB9OworICAgIGJvb2wg
bV9kaWRDYWxsUHVzaCB7IGZhbHNlIH07CisgICAgYm9vbCBtX2RpZENhbGxQb3AgeyBmYWxzZSB9
OworICAgIGJvb2wgbV9kaWRQdXNoTGF5b3V0U3RhdGUgeyBmYWxzZSB9OworfTsKKworY2xhc3Mg
U3VidHJlZUxheW91dFN0YXRlTWFpbnRhaW5lciB7CitwdWJsaWM6CisgICAgU3VidHJlZUxheW91
dFN0YXRlTWFpbnRhaW5lcihSZW5kZXJFbGVtZW50KiBzdWJ0cmVlTGF5b3V0Um9vdCk7CisgICAg
flN1YnRyZWVMYXlvdXRTdGF0ZU1haW50YWluZXIoKTsKKworcHJpdmF0ZToKKyAgICBSZW5kZXJF
bGVtZW50KiBtX3N1YnRyZWVMYXlvdXRSb290IHsgbnVsbHB0ciB9OworICAgIGJvb2wgbV9kaWRE
aXNhYmxlTGF5b3V0U3RhdGUgeyBmYWxzZSB9OworfTsKKworY2xhc3MgTGF5b3V0U3RhdGVEaXNh
YmxlciB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTGF5b3V0U3RhdGVEaXNhYmxlcik7Citw
dWJsaWM6CisgICAgTGF5b3V0U3RhdGVEaXNhYmxlcihSZW5kZXJWaWV3Jik7CisgICAgfkxheW91
dFN0YXRlRGlzYWJsZXIoKTsKKworcHJpdmF0ZToKKyAgICBSZW5kZXJWaWV3JiBtX3ZpZXc7Cit9
OworCitjbGFzcyBQYWdpbmF0ZWRMYXlvdXRTdGF0ZU1haW50YWluZXIgeworcHVibGljOgorICAg
IFBhZ2luYXRlZExheW91dFN0YXRlTWFpbnRhaW5lcihSZW5kZXJCbG9ja0Zsb3cmKTsKKyAgICB+
UGFnaW5hdGVkTGF5b3V0U3RhdGVNYWludGFpbmVyKCk7CisKK3ByaXZhdGU6CisgICAgUmVuZGVy
QmxvY2tGbG93JiBtX2Zsb3c7CisgICAgYm9vbCBtX3B1c2hlZCB7IGZhbHNlIH07Cit9OworCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQmxvY2tGbG93LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
bG9ja0Zsb3cuY3BwCmluZGV4IGY0N2E2ZDZkOTU0MTE5MjBhNDdhYzE5ZjJmOWE3OGVlZDMzNDVh
Y2YuLjFiMTM1OTU0OWM2OTU0MmEwYTZlYzIyY2NiYTAxOTBiMjRlODZhOWQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwCkBAIC02NywyNSArNjcsNiBA
QCBzdHJ1Y3QgU2FtZVNpemVBc01hcmdpbkluZm8gewogQ09NUElMRV9BU1NFUlQoc2l6ZW9mKFJl
bmRlckJsb2NrRmxvdzo6TWFyZ2luVmFsdWVzKSA9PSBzaXplb2YoTGF5b3V0VW5pdFs0XSksIE1h
cmdpblZhbHVlc19zaG91bGRfc3RheV9zbWFsbCk7CiBDT01QSUxFX0FTU0VSVChzaXplb2YoUmVu
ZGVyQmxvY2tGbG93OjpNYXJnaW5JbmZvKSA9PSBzaXplb2YoU2FtZVNpemVBc01hcmdpbkluZm8p
LCBNYXJnaW5JbmZvX3Nob3VsZF9zdGF5X3NtYWxsKTsKIAotY2xhc3MgUGFnaW5hdGVkTGF5b3V0
U3RhdGVNYWludGFpbmVyIHsKLXB1YmxpYzoKLSAgICBQYWdpbmF0ZWRMYXlvdXRTdGF0ZU1haW50
YWluZXIoUmVuZGVyQmxvY2tGbG93JiBmbG93KQotICAgICAgICA6IG1fZmxvdyhmbG93KQotICAg
ICAgICAsIG1fcHVzaGVkKGZsb3cudmlldygpLnB1c2hMYXlvdXRTdGF0ZUZvclBhZ2luYXRpb25J
Zk5lZWRlZChmbG93KSkKLSAgICB7Ci0gICAgfQotCi0gICAgflBhZ2luYXRlZExheW91dFN0YXRl
TWFpbnRhaW5lcigpCi0gICAgewotICAgICAgICBpZiAobV9wdXNoZWQpCi0gICAgICAgICAgICBt
X2Zsb3cudmlldygpLnBvcExheW91dFN0YXRlKG1fZmxvdyk7Ci0gICAgfQotCi1wcml2YXRlOgot
ICAgIFJlbmRlckJsb2NrRmxvdyYgbV9mbG93OwotICAgIGJvb2wgbV9wdXNoZWQgeyBmYWxzZSB9
OwotfTsKLQogLy8gT3VyIE1hcmdpbkluZm8gc3RhdGUgdXNlZCB3aGVuIGxheWluZyBvdXQgYmxv
Y2sgY2hpbGRyZW4uCiBSZW5kZXJCbG9ja0Zsb3c6Ok1hcmdpbkluZm86Ok1hcmdpbkluZm8oY29u
c3QgUmVuZGVyQmxvY2tGbG93JiBibG9jaywgTGF5b3V0VW5pdCBiZWZvcmVCb3JkZXJQYWRkaW5n
LCBMYXlvdXRVbml0IGFmdGVyQm9yZGVyUGFkZGluZykKICAgICA6IG1fYXRCZWZvcmVTaWRlT2ZC
bG9jayh0cnVlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZp
ZXcuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmgKaW5kZXggNWM0Njk0
ZTIzMDc3OTE3NDgyZjRmOWI2OTY0MmUwNWY5M2VjMjJiOC4uNmNiYjFlMGExN2IzOGExNWI3Yzc2
NGMzODIyODM2YjQ1YTI2OWY5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclZpZXcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5o
CkBAIC0zNDEsODIgKzM0MSw2IEBAIHByaXZhdGU6CiAjZW5kaWYKIH07CiAKLS8vIFN0YWNrLWJh
c2VkIGNsYXNzIHRvIGFzc2lzdCB3aXRoIExheW91dFN0YXRlIHB1c2gvcG9wCi1jbGFzcyBMYXlv
dXRTdGF0ZU1haW50YWluZXIgewotICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExheW91dFN0YXRl
TWFpbnRhaW5lcik7Ci1wdWJsaWM6Ci0gICAgLy8gQ29uc3RydWN0b3IgdG8gcHVzaCBub3cuCi0g
ICAgZXhwbGljaXQgTGF5b3V0U3RhdGVNYWludGFpbmVyKFJlbmRlckJveCYgcm9vdCwgTGF5b3V0
U2l6ZSBvZmZzZXQsIGJvb2wgZGlzYWJsZVN0YXRlID0gZmFsc2UsIExheW91dFVuaXQgcGFnZUhl
aWdodCA9IDAsIGJvb2wgcGFnZUhlaWdodENoYW5nZWQgPSBmYWxzZSkKLSAgICAgICAgOiBtX3Zp
ZXcocm9vdC52aWV3KCkpCi0gICAgICAgICwgbV9kaXNhYmxlZChkaXNhYmxlU3RhdGUpCi0gICAg
ewotICAgICAgICBwdXNoKHJvb3QsIG9mZnNldCwgcGFnZUhlaWdodCwgcGFnZUhlaWdodENoYW5n
ZWQpOwotICAgIH0KLQotICAgIC8vIENvbnN0cnVjdG9yIHRvIG1heWJlIHB1c2ggbGF0ZXIuCi0g
ICAgZXhwbGljaXQgTGF5b3V0U3RhdGVNYWludGFpbmVyKFJlbmRlclZpZXcmIHZpZXcpCi0gICAg
ICAgIDogbV92aWV3KHZpZXcpCi0gICAgewotICAgIH0KLQotICAgIH5MYXlvdXRTdGF0ZU1haW50
YWluZXIoKQotICAgIHsKLSAgICAgICAgQVNTRVJUKCFtX2RpZENhbGxQdXNoIHx8IG1fZGlkQ2Fs
bFB1c2ggPT0gbV9kaWRDYWxsUG9wKTsKLSAgICB9Ci0KLSAgICB2b2lkIHB1c2goUmVuZGVyQm94
JiByb290LCBMYXlvdXRTaXplIG9mZnNldCwgTGF5b3V0VW5pdCBwYWdlSGVpZ2h0ID0gMCwgYm9v
bCBwYWdlSGVpZ2h0Q2hhbmdlZCA9IGZhbHNlKQotICAgIHsKLSAgICAgICAgQVNTRVJUKCFtX2Rp
ZENhbGxQdXNoKTsKLSAgICAgICAgbV9kaWRDYWxsUHVzaCA9IHRydWU7Ci0gICAgICAgIC8vIFdl
IHB1c2ggc3RhdGUgZXZlbiBpZiBkaXNhYmxlZCwgYmVjYXVzZSB3ZSBzdGlsbCBuZWVkIHRvIHN0
b3JlIGxheW91dERlbHRhCi0gICAgICAgIG1fZGlkUHVzaExheW91dFN0YXRlID0gbV92aWV3LnB1
c2hMYXlvdXRTdGF0ZShyb290LCBvZmZzZXQsIHBhZ2VIZWlnaHQsIHBhZ2VIZWlnaHRDaGFuZ2Vk
KTsKLSAgICAgICAgaWYgKCFtX2RpZFB1c2hMYXlvdXRTdGF0ZSkKLSAgICAgICAgICAgIHJldHVy
bjsKLSAgICAgICAgaWYgKG1fZGlzYWJsZWQpCi0gICAgICAgICAgICBtX3ZpZXcuZGlzYWJsZUxh
eW91dFN0YXRlKCk7Ci0gICAgfQotCi0gICAgdm9pZCBwb3AoKQotICAgIHsKLSAgICAgICAgQVNT
RVJUKCFtX2RpZENhbGxQb3ApOwotICAgICAgICBtX2RpZENhbGxQb3AgPSB0cnVlOwotICAgICAg
ICBpZiAoIW1fZGlkQ2FsbFB1c2gpCi0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIGlmICgh
bV9kaWRQdXNoTGF5b3V0U3RhdGUpCi0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIG1fdmll
dy5wb3BMYXlvdXRTdGF0ZSgpOwotICAgICAgICBpZiAobV9kaXNhYmxlZCkKLSAgICAgICAgICAg
IG1fdmlldy5lbmFibGVMYXlvdXRTdGF0ZSgpOwotICAgIH0KLQotICAgIGJvb2wgZGlkUHVzaCgp
IGNvbnN0IHsgcmV0dXJuIG1fZGlkQ2FsbFB1c2g7IH0KLQotcHJpdmF0ZToKLSAgICBSZW5kZXJW
aWV3JiBtX3ZpZXc7Ci0gICAgYm9vbCBtX2Rpc2FibGVkIHsgZmFsc2UgfTsKLSAgICBib29sIG1f
ZGlkQ2FsbFB1c2ggeyBmYWxzZSB9OwotICAgIGJvb2wgbV9kaWRDYWxsUG9wIHsgZmFsc2UgfTsK
LSAgICBib29sIG1fZGlkUHVzaExheW91dFN0YXRlIHsgZmFsc2UgfTsKLX07Ci0KLWNsYXNzIExh
eW91dFN0YXRlRGlzYWJsZXIgewotICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKExheW91dFN0YXRl
RGlzYWJsZXIpOwotcHVibGljOgotICAgIExheW91dFN0YXRlRGlzYWJsZXIoUmVuZGVyVmlldyYg
dmlldykKLSAgICAgICAgOiBtX3ZpZXcodmlldykKLSAgICB7Ci0gICAgICAgIG1fdmlldy5kaXNh
YmxlTGF5b3V0U3RhdGUoKTsKLSAgICB9Ci0KLSAgICB+TGF5b3V0U3RhdGVEaXNhYmxlcigpCi0g
ICAgewotICAgICAgICBtX3ZpZXcuZW5hYmxlTGF5b3V0U3RhdGUoKTsKLSAgICB9Ci0KLXByaXZh
dGU6Ci0gICAgUmVuZGVyVmlldyYgbV92aWV3OwotfTsKLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQogCiBTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX1JFTkRFUl9PQkpFQ1QoUmVuZGVyVmlldywgaXNS
ZW5kZXJWaWV3KCkpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>