<?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>178562</bug_id>
          
          <creation_ts>2017-10-19 20:22:09 -0700</creation_ts>
          <short_desc>[FrameView::layout cleanup] Scheduling layout should be disabled for FrameView::layout</short_desc>
          <delta_ts>2017-10-20 13:40:29 -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>1362527</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2017-10-19 20:22:09 -0700</bug_when>
    <thetext>and not just for a subset of the layout.
a scheduled layout would indicated a dirty tree (which is incorrect as we are supposed to leave ::layout with a clean tree)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1362529</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-10-19 20:22:42 -0700</bug_when>
    <thetext>&lt;rdar://problem/35089015&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1362537</commentid>
    <comment_count>2</comment_count>
      <attachid>324342</attachid>
    <who name="alan">zalan</who>
    <bug_when>2017-10-19 20:38:44 -0700</bug_when>
    <thetext>Created attachment 324342
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1362566</commentid>
    <comment_count>3</comment_count>
      <attachid>324342</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2017-10-19 22:24:49 -0700</bug_when>
    <thetext>Comment on attachment 324342
Patch

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

&gt; Source/WebCore/ChangeLog:9
&gt; +        A scheduled layout at the end of FrameView::layout would indicated dirty tree (which is against FrameView::layout&apos;s contract).

would indicate a dirty tree (which is against the FrameView::layout&apos;s contract).

You seem to have just lengthened the scope of changeSchedulingEnabled by outdenting code; is this comment just saying that it&apos;s OK for the scope to last to the end of the function?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1362575</commentid>
    <comment_count>4</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2017-10-19 22:35:41 -0700</bug_when>
    <thetext>(In reply to Simon Fraser (smfr) from comment #3)
&gt; Comment on attachment 324342 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=324342&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:9
&gt; &gt; +        A scheduled layout at the end of FrameView::layout would indicated dirty tree (which is against FrameView::layout&apos;s contract).
&gt; 
&gt; would indicate a dirty tree (which is against the FrameView::layout&apos;s
&gt; contract).
&gt; 
&gt; You seem to have just lengthened the scope of changeSchedulingEnabled by
&gt; outdenting code; is this comment just saying that it&apos;s OK for the scope to
&gt; last to the end of the function?
Correct.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1362700</commentid>
    <comment_count>5</comment_count>
      <attachid>324402</attachid>
    <who name="alan">zalan</who>
    <bug_when>2017-10-20 08:30:02 -0700</bug_when>
    <thetext>Created attachment 324402
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1362848</commentid>
    <comment_count>6</comment_count>
      <attachid>324402</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-10-20 13:40:27 -0700</bug_when>
    <thetext>Comment on attachment 324402
Patch

Clearing flags on attachment: 324402

Committed r223792: &lt;https://trac.webkit.org/changeset/223792&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1362849</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-10-20 13:40:29 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>324342</attachid>
            <date>2017-10-19 20:38:44 -0700</date>
            <delta_ts>2017-10-20 08:30:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-178562-20171019203843.patch</filename>
            <type>text/plain</type>
            <size>9483</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIzNzE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjczMWFhMjE5OWM0NDEx
NjNmMjY2Njc0MDg1YmIzZGZhNWMyYWM3MC4uNzZmNjBkYzRlNDFjNmYzYzYwM2ZmODIzMTQ2Y2Mz
OTgzMWE2ZWIxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIwIEBACiAyMDE3LTEwLTE5ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKKyAgICAgICAgW0ZyYW1lVmlldzo6bGF5b3V0
IGNsZWFudXBdIFNjaGVkdWxpbmcgbGF5b3V0IHNob3VsZCBiZSBkaXNhYmxlZCBmb3IgRnJhbWVW
aWV3OjpsYXlvdXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE3ODU2MgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzUwODkwMTU+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQSBzY2hlZHVsZWQgbGF5b3V0
IGF0IHRoZSBlbmQgb2YgRnJhbWVWaWV3OjpsYXlvdXQgd291bGQgaW5kaWNhdGVkIGRpcnR5IHRy
ZWUgKHdoaWNoIGlzIGFnYWluc3QgRnJhbWVWaWV3OjpsYXlvdXQncyBjb250cmFjdCkuCisKKyAg
ICAgICAgQ292ZXJlZCBieSBleGlzdGluZyB0ZXN0cy4KKworICAgICAgICAqIHBhZ2UvRnJhbWVW
aWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6bGF5b3V0KToKKworMjAxNy0x
MC0xOSAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgorCiAgICAgICAgIFtGcmFtZVZp
ZXc6OmxheW91dCBjbGVhbnVwXSBNb3ZlIHBvc3QgbGF5b3V0IHRhc2sgc2NoZWR1bGluZyBsb2dp
YyB0byBhIHNlcGFyYXRlIGZ1bmN0aW9uCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNzg1MzgKICAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzM1MDgwNzQz
PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCmluZGV4IGJlNGQ0YmM5NDYzNjc5OWJmM2UyYTI2
OTZmZDJiZTllNmFkODMwNmQuLjY1NTVmM2U5NDRjNTgzOWIzMmNkOTQyMTE4YzIxZTY5ZTc3ZDgy
YjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKQEAgLTEzOTYsNiArMTM5Niw3IEBAIHZv
aWQgRnJhbWVWaWV3OjpsYXlvdXQoYm9vbCBhbGxvd1N1YnRyZWVMYXlvdXQpCiAgICAgU2V0Rm9y
U2NvcGU8TGF5b3V0UGhhc2U+IGxheW91dFBoYXNlUmVzdG9yZXIobV9sYXlvdXRQaGFzZSwgSW5Q
cmVMYXlvdXQpOwogICAgIC8vIEV2ZXJ5IHNjcm9sbCB0aGF0IGhhcHBlbnMgZHVyaW5nIGxheW91
dCBpcyBwcm9ncmFtbWF0aWMuCiAgICAgU2V0Rm9yU2NvcGU8Ym9vbD4gY2hhbmdlSW5Qcm9ncmFt
bWF0aWNTY3JvbGwobV9pblByb2dyYW1tYXRpY1Njcm9sbCwgdHJ1ZSk7CisgICAgU2V0Rm9yU2Nv
cGU8Ym9vbD4gY2hhbmdlU2NoZWR1bGluZ0VuYWJsZWQobV9sYXlvdXRTY2hlZHVsaW5nRW5hYmxl
ZCwgZmFsc2UpOwogCiAgICAgbV9sYXlvdXRUaW1lci5zdG9wKCk7CiAgICAgbV9kZWxheWVkTGF5
b3V0ID0gZmFsc2U7CkBAIC0xNDExLDc3ICsxNDEyLDc0IEBAIHZvaWQgRnJhbWVWaWV3OjpsYXlv
dXQoYm9vbCBhbGxvd1N1YnRyZWVMYXlvdXQpCiAgICAgICAgIHJldHVybjsKIAogICAgIERvY3Vt
ZW50JiBkb2N1bWVudCA9ICpmcmFtZSgpLmRvY3VtZW50KCk7Ci0gICAgUmVuZGVyRWxlbWVudCog
bGF5b3V0Um9vdCA9IG51bGxwdHI7Ci0gICAgYm9vbCBpc1N1YnRyZWVMYXlvdXQgPSBmYWxzZTsK
LSAgICB7Ci0gICAgICAgIFNldEZvclNjb3BlPGJvb2w+IGNoYW5nZVNjaGVkdWxpbmdFbmFibGVk
KG1fbGF5b3V0U2NoZWR1bGluZ0VuYWJsZWQsIGZhbHNlKTsKLSAgICAgICAgLy8gSWYgdGhpcyBp
cyBhIG5ldyB0b3AtbGV2ZWwgbGF5b3V0IGFuZCB0aGVyZSBhcmUgYW55IHJlbWFpbmluZyB0YXNr
cyBmcm9tIHRoZSBwcmV2aW91cyBsYXlvdXQsIGZpbmlzaCB0aGVtIG5vdy4KLSAgICAgICAgaWYg
KCFpc0xheW91dE5lc3RlZCgpICYmIG1fcG9zdExheW91dFRhc2tzVGltZXIuaXNBY3RpdmUoKSAm
JiAhaXNJbkNoaWxkRnJhbWVXaXRoRnJhbWVGbGF0dGVuaW5nKCkpCi0gICAgICAgICAgICBwZXJm
b3JtUG9zdExheW91dFRhc2tzKCk7Ci0KLSAgICAgICAgLy8gVmlld3BvcnQtZGVwZW5kZW50IG1l
ZGlhIHF1ZXJpZXMgbWF5IGNhdXNlIHVzIHRvIG5lZWQgY29tcGxldGVseSBkaWZmZXJlbnQgc3R5
bGUgaW5mb3JtYXRpb24uCi0gICAgICAgIGF1dG8qIHN0eWxlUmVzb2x2ZXIgPSBkb2N1bWVudC5z
dHlsZVNjb3BlKCkucmVzb2x2ZXJJZkV4aXN0cygpOwotICAgICAgICBpZiAoIXN0eWxlUmVzb2x2
ZXIgfHwgc3R5bGVSZXNvbHZlci0+aGFzTWVkaWFRdWVyaWVzQWZmZWN0ZWRCeVZpZXdwb3J0Q2hh
bmdlKCkpIHsKLSAgICAgICAgICAgIExPRyhMYXlvdXQsICIgIGhhc01lZGlhUXVlcmllc0FmZmVj
dGVkQnlWaWV3cG9ydENoYW5nZSwgZW5xdWV1ZWluZyBzdHlsZSByZWNhbGMiKTsKLSAgICAgICAg
ICAgIGRvY3VtZW50LnN0eWxlU2NvcGUoKS5kaWRDaGFuZ2VTdHlsZVNoZWV0RW52aXJvbm1lbnQo
KTsKLSAgICAgICAgICAgIC8vIEZJWE1FOiBUaGlzIGluc3RydW1lbnRhdGlvbiBldmVudCBpcyBu
b3Qgc3RyaWN0bHkgYWNjdXJhdGUgc2luY2UgY2FjaGVkIG1lZGlhIHF1ZXJ5IHJlc3VsdHMgZG8g
bm90IHBlcnNpc3QgYWNyb3NzIFN0eWxlUmVzb2x2ZXIgcmVidWlsZHMuCi0gICAgICAgICAgICBJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb246Om1lZGlhUXVlcnlSZXN1bHRDaGFuZ2VkKGRvY3VtZW50
KTsKLSAgICAgICAgfQotICAgICAgICBkb2N1bWVudC5ldmFsdWF0ZU1lZGlhUXVlcnlMaXN0KCk7
Ci0gICAgICAgIC8vIElmIHRoZXJlIGlzIGFueSBwYWdpbmF0aW9uIHRvIGFwcGx5LCBpdCB3aWxs
IGFmZmVjdCB0aGUgUmVuZGVyVmlldydzIHN0eWxlLCBzbyB3ZSBzaG91bGQKLSAgICAgICAgLy8g
dGFrZSBjYXJlIG9mIHRoYXQgbm93LgotICAgICAgICBhcHBseVBhZ2luYXRpb25Ub1ZpZXdwb3J0
KCk7Ci0gICAgICAgIC8vIEFsd2F5cyBlbnN1cmUgb3VyIHN0eWxlIGluZm8gaXMgdXAtdG8tZGF0
ZS4gVGhpcyBjYW4gaGFwcGVuIGluIHNpdHVhdGlvbnMgd2hlcmUKLSAgICAgICAgLy8gdGhlIGxh
eW91dCBiZWF0cyBhbnkgc29ydCBvZiBzdHlsZSByZWNhbGMgdXBkYXRlIHRoYXQgbmVlZHMgdG8g
b2NjdXIuCi0gICAgICAgIGRvY3VtZW50LnVwZGF0ZVN0eWxlSWZOZWVkZWQoKTsKLSAgICAgICAg
Ly8gSWYgdGhlcmUgaXMgb25seSBvbmUgcmVmIHRvIHRoaXMgdmlldyBsZWZ0LCB0aGVuIGl0cyBn
b2luZyB0byBiZSBkZXN0cm95ZWQgYXMgc29vbiBhcyB3ZSBleGl0LAotICAgICAgICAvLyBzbyB0
aGVyZSdzIG5vIHBvaW50IHRvIGNvbnRpbnVpbmcgdG8gbGF5b3V0Ci0gICAgICAgIGlmIChoYXNP
bmVSZWYoKSkKLSAgICAgICAgICAgIHJldHVybjsKKyAgICAvLyBJZiB0aGlzIGlzIGEgbmV3IHRv
cC1sZXZlbCBsYXlvdXQgYW5kIHRoZXJlIGFyZSBhbnkgcmVtYWluaW5nIHRhc2tzIGZyb20gdGhl
IHByZXZpb3VzIGxheW91dCwgZmluaXNoIHRoZW0gbm93LgorICAgIGlmICghaXNMYXlvdXROZXN0
ZWQoKSAmJiBtX3Bvc3RMYXlvdXRUYXNrc1RpbWVyLmlzQWN0aXZlKCkgJiYgIWlzSW5DaGlsZEZy
YW1lV2l0aEZyYW1lRmxhdHRlbmluZygpKQorICAgICAgICBwZXJmb3JtUG9zdExheW91dFRhc2tz
KCk7CiAKLSAgICAgICAgbV9sYXlvdXRQaGFzZSA9IEluUHJlTGF5b3V0OworICAgIC8vIFZpZXdw
b3J0LWRlcGVuZGVudCBtZWRpYSBxdWVyaWVzIG1heSBjYXVzZSB1cyB0byBuZWVkIGNvbXBsZXRl
bHkgZGlmZmVyZW50IHN0eWxlIGluZm9ybWF0aW9uLgorICAgIGF1dG8qIHN0eWxlUmVzb2x2ZXIg
PSBkb2N1bWVudC5zdHlsZVNjb3BlKCkucmVzb2x2ZXJJZkV4aXN0cygpOworICAgIGlmICghc3R5
bGVSZXNvbHZlciB8fCBzdHlsZVJlc29sdmVyLT5oYXNNZWRpYVF1ZXJpZXNBZmZlY3RlZEJ5Vmll
d3BvcnRDaGFuZ2UoKSkgeworICAgICAgICBMT0coTGF5b3V0LCAiICBoYXNNZWRpYVF1ZXJpZXNB
ZmZlY3RlZEJ5Vmlld3BvcnRDaGFuZ2UsIGVucXVldWVpbmcgc3R5bGUgcmVjYWxjIik7CisgICAg
ICAgIGRvY3VtZW50LnN0eWxlU2NvcGUoKS5kaWRDaGFuZ2VTdHlsZVNoZWV0RW52aXJvbm1lbnQo
KTsKKyAgICAgICAgLy8gRklYTUU6IFRoaXMgaW5zdHJ1bWVudGF0aW9uIGV2ZW50IGlzIG5vdCBz
dHJpY3RseSBhY2N1cmF0ZSBzaW5jZSBjYWNoZWQgbWVkaWEgcXVlcnkgcmVzdWx0cyBkbyBub3Qg
cGVyc2lzdCBhY3Jvc3MgU3R5bGVSZXNvbHZlciByZWJ1aWxkcy4KKyAgICAgICAgSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uOjptZWRpYVF1ZXJ5UmVzdWx0Q2hhbmdlZChkb2N1bWVudCk7CisgICAg
fQorICAgIGRvY3VtZW50LmV2YWx1YXRlTWVkaWFRdWVyeUxpc3QoKTsKKyAgICAvLyBJZiB0aGVy
ZSBpcyBhbnkgcGFnaW5hdGlvbiB0byBhcHBseSwgaXQgd2lsbCBhZmZlY3QgdGhlIFJlbmRlclZp
ZXcncyBzdHlsZSwgc28gd2Ugc2hvdWxkCisgICAgLy8gdGFrZSBjYXJlIG9mIHRoYXQgbm93Lgor
ICAgIGFwcGx5UGFnaW5hdGlvblRvVmlld3BvcnQoKTsKKyAgICAvLyBBbHdheXMgZW5zdXJlIG91
ciBzdHlsZSBpbmZvIGlzIHVwLXRvLWRhdGUuIFRoaXMgY2FuIGhhcHBlbiBpbiBzaXR1YXRpb25z
IHdoZXJlCisgICAgLy8gdGhlIGxheW91dCBiZWF0cyBhbnkgc29ydCBvZiBzdHlsZSByZWNhbGMg
dXBkYXRlIHRoYXQgbmVlZHMgdG8gb2NjdXIuCisgICAgZG9jdW1lbnQudXBkYXRlU3R5bGVJZk5l
ZWRlZCgpOworICAgIC8vIElmIHRoZXJlIGlzIG9ubHkgb25lIHJlZiB0byB0aGlzIHZpZXcgbGVm
dCwgdGhlbiBpdHMgZ29pbmcgdG8gYmUgZGVzdHJveWVkIGFzIHNvb24gYXMgd2UgZXhpdCwKKyAg
ICAvLyBzbyB0aGVyZSdzIG5vIHBvaW50IHRvIGNvbnRpbnVpbmcgdG8gbGF5b3V0CisgICAgaWYg
KGhhc09uZVJlZigpKQorICAgICAgICByZXR1cm47CiAKLSAgICAgICAgYXV0b1NpemVJZkVuYWJs
ZWQoKTsKKyAgICBtX2xheW91dFBoYXNlID0gSW5QcmVMYXlvdXQ7CiAKLSAgICAgICAgbGF5b3V0
Um9vdCA9IG1fc3VidHJlZUxheW91dFJvb3QgPyBtX3N1YnRyZWVMYXlvdXRSb290IDogZG9jdW1l
bnQucmVuZGVyVmlldygpOwotICAgICAgICBpZiAoIWxheW91dFJvb3QpCi0gICAgICAgICAgICBy
ZXR1cm47Ci0gICAgICAgIGlzU3VidHJlZUxheW91dCA9IG1fc3VidHJlZUxheW91dFJvb3Q7Ci0g
ICAgICAgIG1fbmVlZHNGdWxsUmVwYWludCA9ICFpc1N1YnRyZWVMYXlvdXQgJiYgKG1fZmlyc3RM
YXlvdXQgfHwgZG93bmNhc3Q8UmVuZGVyVmlldz4oKmxheW91dFJvb3QpLnByaW50aW5nKCkpOwor
ICAgIGF1dG9TaXplSWZFbmFibGVkKCk7CiAKLSAgICAgICAgaWYgKCFpc1N1YnRyZWVMYXlvdXQp
IHsKLSAgICAgICAgICAgIGlmIChhdXRvKiBib2R5ID0gZG9jdW1lbnQuYm9keU9yRnJhbWVzZXQo
KSkgewotICAgICAgICAgICAgICAgIGlmIChpczxIVE1MRnJhbWVTZXRFbGVtZW50PigqYm9keSkg
JiYgIWZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoKSAmJiBib2R5LT5yZW5kZXJlcigpKQotICAgICAg
ICAgICAgICAgICAgICBib2R5LT5yZW5kZXJlcigpLT5zZXRDaGlsZE5lZWRzTGF5b3V0KCk7Ci0g
ICAgICAgICAgICB9CisgICAgYXV0byogbGF5b3V0Um9vdCA9IG1fc3VidHJlZUxheW91dFJvb3Qg
PyBtX3N1YnRyZWVMYXlvdXRSb290IDogZG9jdW1lbnQucmVuZGVyVmlldygpOworICAgIGlmICgh
bGF5b3V0Um9vdCkKKyAgICAgICAgcmV0dXJuOworICAgIGJvb2wgaXNTdWJ0cmVlTGF5b3V0ID0g
bV9zdWJ0cmVlTGF5b3V0Um9vdDsKKyAgICBtX25lZWRzRnVsbFJlcGFpbnQgPSAhaXNTdWJ0cmVl
TGF5b3V0ICYmIChtX2ZpcnN0TGF5b3V0IHx8IGRvd25jYXN0PFJlbmRlclZpZXc+KCpsYXlvdXRS
b290KS5wcmludGluZygpKTsKKworICAgIGlmICghaXNTdWJ0cmVlTGF5b3V0KSB7CisgICAgICAg
IGlmIChhdXRvKiBib2R5ID0gZG9jdW1lbnQuYm9keU9yRnJhbWVzZXQoKSkgeworICAgICAgICAg
ICAgaWYgKGlzPEhUTUxGcmFtZVNldEVsZW1lbnQ+KCpib2R5KSAmJiAhZnJhbWVGbGF0dGVuaW5n
RW5hYmxlZCgpICYmIGJvZHktPnJlbmRlcmVyKCkpCisgICAgICAgICAgICAgICAgYm9keS0+cmVu
ZGVyZXIoKS0+c2V0Q2hpbGROZWVkc0xheW91dCgpOworICAgICAgICB9CiAjaWYgIUxPR19ESVNB
QkxFRAotICAgICAgICAgICAgaWYgKG1fZmlyc3RMYXlvdXQgJiYgIWZyYW1lKCkub3duZXJFbGVt
ZW50KCkpCi0gICAgICAgICAgICAgICAgTE9HKExheW91dCwgIkZyYW1lVmlldyAlcCBlbGFwc2Vk
IHRpbWUgYmVmb3JlIGZpcnN0IGxheW91dDogJS4zZnNcbiIsIHRoaXMsIGRvY3VtZW50LnRpbWVT
aW5jZURvY3VtZW50Q3JlYXRpb24oKS52YWx1ZSgpKTsKKyAgICAgICAgaWYgKG1fZmlyc3RMYXlv
dXQgJiYgIWZyYW1lKCkub3duZXJFbGVtZW50KCkpCisgICAgICAgICAgICBMT0coTGF5b3V0LCAi
RnJhbWVWaWV3ICVwIGVsYXBzZWQgdGltZSBiZWZvcmUgZmlyc3QgbGF5b3V0OiAlLjNmc1xuIiwg
dGhpcywgZG9jdW1lbnQudGltZVNpbmNlRG9jdW1lbnRDcmVhdGlvbigpLnZhbHVlKCkpOwogI2Vu
ZGlmCi0gICAgICAgICAgICBpZiAobV9maXJzdExheW91dCkgewotICAgICAgICAgICAgICAgIG1f
bGFzdFZpZXdwb3J0U2l6ZSA9IHNpemVGb3JSZXNpemVFdmVudCgpOwotICAgICAgICAgICAgICAg
IG1fbGFzdFpvb21GYWN0b3IgPSBsYXlvdXRSb290LT5zdHlsZSgpLnpvb20oKTsKLSAgICAgICAg
ICAgICAgICBtX2ZpcnN0TGF5b3V0Q2FsbGJhY2tQZW5kaW5nID0gdHJ1ZTsKLSAgICAgICAgICAg
IH0KLSAgICAgICAgICAgIGFkanVzdFNjcm9sbGJhcnNGb3JMYXlvdXQobV9maXJzdExheW91dCk7
Ci0KLSAgICAgICAgICAgIGF1dG8gb2xkU2l6ZSA9IG1fc2l6ZTsKLSAgICAgICAgICAgIG1fc2l6
ZSA9IGxheW91dFNpemUoKTsKLSAgICAgICAgICAgIGlmIChvbGRTaXplICE9IG1fc2l6ZSkgewot
ICAgICAgICAgICAgICAgIExPRyhMYXlvdXQsICIgIGxheW91dCBzaXplIGNoYW5nZWQgZnJvbSAl
LjNmeCUuM2YgdG8gJS4zZnglLjNmIiwgb2xkU2l6ZS53aWR0aCgpLnRvRmxvYXQoKSwgb2xkU2l6
ZS5oZWlnaHQoKS50b0Zsb2F0KCksIG1fc2l6ZS53aWR0aCgpLnRvRmxvYXQoKSwgbV9zaXplLmhl
aWdodCgpLnRvRmxvYXQoKSk7Ci0gICAgICAgICAgICAgICAgbV9uZWVkc0Z1bGxSZXBhaW50ID0g
dHJ1ZTsKLSAgICAgICAgICAgICAgICBpZiAoIW1fZmlyc3RMYXlvdXQpCi0gICAgICAgICAgICAg
ICAgICAgIG1hcmtSb290T3JCb2R5UmVuZGVyZXJEaXJ0eSgpOwotICAgICAgICAgICAgfQotICAg
ICAgICAgICAgbV9sYXlvdXRQaGFzZSA9IEluUHJlTGF5b3V0OwotICAgICAgICAgICAgbV9maXJz
dExheW91dCA9IGZhbHNlOworICAgICAgICBpZiAobV9maXJzdExheW91dCkgeworICAgICAgICAg
ICAgbV9sYXN0Vmlld3BvcnRTaXplID0gc2l6ZUZvclJlc2l6ZUV2ZW50KCk7CisgICAgICAgICAg
ICBtX2xhc3Rab29tRmFjdG9yID0gbGF5b3V0Um9vdC0+c3R5bGUoKS56b29tKCk7CisgICAgICAg
ICAgICBtX2ZpcnN0TGF5b3V0Q2FsbGJhY2tQZW5kaW5nID0gdHJ1ZTsKICAgICAgICAgfQorICAg
ICAgICBhZGp1c3RTY3JvbGxiYXJzRm9yTGF5b3V0KG1fZmlyc3RMYXlvdXQpOworCisgICAgICAg
IGF1dG8gb2xkU2l6ZSA9IG1fc2l6ZTsKKyAgICAgICAgbV9zaXplID0gbGF5b3V0U2l6ZSgpOwor
ICAgICAgICBpZiAob2xkU2l6ZSAhPSBtX3NpemUpIHsKKyAgICAgICAgICAgIExPRyhMYXlvdXQs
ICIgIGxheW91dCBzaXplIGNoYW5nZWQgZnJvbSAlLjNmeCUuM2YgdG8gJS4zZnglLjNmIiwgb2xk
U2l6ZS53aWR0aCgpLnRvRmxvYXQoKSwgb2xkU2l6ZS5oZWlnaHQoKS50b0Zsb2F0KCksIG1fc2l6
ZS53aWR0aCgpLnRvRmxvYXQoKSwgbV9zaXplLmhlaWdodCgpLnRvRmxvYXQoKSk7CisgICAgICAg
ICAgICBtX25lZWRzRnVsbFJlcGFpbnQgPSB0cnVlOworICAgICAgICAgICAgaWYgKCFtX2ZpcnN0
TGF5b3V0KQorICAgICAgICAgICAgICAgIG1hcmtSb290T3JCb2R5UmVuZGVyZXJEaXJ0eSgpOwor
ICAgICAgICB9CisgICAgICAgIG1fbGF5b3V0UGhhc2UgPSBJblByZUxheW91dDsKKyAgICAgICAg
bV9maXJzdExheW91dCA9IGZhbHNlOworICAgIH0KIAotICAgICAgICBBU1NFUlQoYWxsb3dTdWJ0
cmVlTGF5b3V0IHx8ICFpc1N1YnRyZWVMYXlvdXQpOwotICAgICAgICBBU1NFUlQobV9sYXlvdXRQ
aGFzZSA9PSBJblByZUxheW91dCk7CisgICAgQVNTRVJUKGFsbG93U3VidHJlZUxheW91dCB8fCAh
aXNTdWJ0cmVlTGF5b3V0KTsKKyAgICBBU1NFUlQobV9sYXlvdXRQaGFzZSA9PSBJblByZUxheW91
dCk7CiAKLSAgICAgICAgZm9yY2VMYXlvdXRQYXJlbnRWaWV3SWZOZWVkZWQoKTsKKyAgICBmb3Jj
ZUxheW91dFBhcmVudFZpZXdJZk5lZWRlZCgpOwogCisgICAgewogICAgICAgICBTdWJ0cmVlTGF5
b3V0U3RhdGVNYWludGFpbmVyIHN1YnRyZWVMYXlvdXRTdGF0ZU1haW50YWluZXIobV9zdWJ0cmVl
TGF5b3V0Um9vdCk7CiAgICAgICAgIFJlbmRlclZpZXc6OlJlcGFpbnRSZWdpb25BY2N1bXVsYXRv
ciByZXBhaW50UmVnaW9uQWNjdW11bGF0b3IoJmxheW91dFJvb3QtPnZpZXcoKSk7CiAjaWZuZGVm
IE5ERUJVRwpAQCAtMTQ5MCwxMiArMTQ4OCwxMCBAQCB2b2lkIEZyYW1lVmlldzo6bGF5b3V0KGJv
b2wgYWxsb3dTdWJ0cmVlTGF5b3V0KQogICAgICAgICBtX2xheW91dFBoYXNlID0gSW5SZW5kZXJU
cmVlTGF5b3V0OwogICAgICAgICBsYXlvdXRSb290LT5sYXlvdXQoKTsKICAgICAgICAgQVNTRVJU
KG1fbGF5b3V0UGhhc2UgPT0gSW5SZW5kZXJUcmVlTGF5b3V0KTsKLQogI2lmIEVOQUJMRShURVhU
X0FVVE9TSVpJTkcpCiAgICAgICAgIGFwcGx5VGV4dFNpemluZ0lmTmVlZGVkKCpsYXlvdXRSb290
KTsKICNlbmRpZgogICAgICAgICBtX3N1YnRyZWVMYXlvdXRSb290ID0gbnVsbHB0cjsKLSAgICAg
ICAgLy8gQ2xvc2UgYmxvY2sgaGVyZSB0byBlbmQgdGhlIHNjb3BlIG9mIGNoYW5nZVNjaGVkdWxp
bmdFbmFibGVkIGFuZCBTdWJ0cmVlTGF5b3V0U3RhdGVNYWludGFpbmVyLgogICAgIH0KICAgICBp
ZiAoIWlzU3VidHJlZUxheW91dCAmJiAhZG93bmNhc3Q8UmVuZGVyVmlldz4oKmxheW91dFJvb3Qp
LnByaW50aW5nKCkpIHsKICAgICAgICAgLy8gVGhpcyBpcyB0byBwcm90ZWN0IG1fbmVlZHNGdWxs
UmVwYWludCdzIHZhbHVlIHdoZW4gbGF5b3V0KCkgaXMgZ2V0dGluZyByZS1lbnRlcmVkIHRocm91
Z2ggYWRqdXN0Vmlld1NpemUoKS4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>324402</attachid>
            <date>2017-10-20 08:30:02 -0700</date>
            <delta_ts>2017-10-20 13:40:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-178562-20171020083001.patch</filename>
            <type>text/plain</type>
            <size>7069</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIzNzYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzE5OTUwMzBlOWM4ZDlj
Y2Q4YTc5OGM1ZGY4MjVhYjBjOWRhNDEyZi4uNDVlMWUwZDg0ZWYzMThjNjE3MWMyYzViM2Q0NzBh
Y2E1ZDFjODc1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE3LTEwLTIwICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0ZyYW1lVmlldzo6bGF5b3V0
IGNsZWFudXBdIFNjaGVkdWxpbmcgbGF5b3V0IHNob3VsZCBiZSBkaXNhYmxlZCBmb3IgRnJhbWVW
aWV3OjpsYXlvdXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE3ODU2MgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzUwODkwMTU+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBleHRlbmRz
IHRoZSBzY29wZSBvZiBtX2xheW91dFNjaGVkdWxpbmdFbmFibGVkLiBOb3cgbGF5b3V0IHNjaGVk
dWxpbmcgaXMgZGlzYWJsZWQgZm9yIHRoZSBlbnRpcmUgRnJhbWVWaWV3OjpsYXlvdXQoKS4gCisg
ICAgICAgIEEgc2NoZWR1bGVkIGxheW91dCBhdCB0aGUgZW5kIG9mIEZyYW1lVmlldzo6bGF5b3V0
IHdvdWxkIGluZGljYXRlZCBkaXJ0eSB0cmVlICh3aGljaCBpcyBhZ2FpbnN0IEZyYW1lVmlldzo6
bGF5b3V0J3MgY29udHJhY3QpLgorCisgICAgICAgIENvdmVyZWQgYnkgZXhpc3RpbmcgdGVzdHMu
CisKKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFt
ZVZpZXc6OmxheW91dCk6CisKIDIwMTctMTAtMjAgIE1zMmdlciAgPE1zMmdlckBpZ2FsaWEuY29t
PgogCiAgICAgICAgIEFkZCB0aGUgTUFYX0NMSUVOVF9XQUlUX1RJTUVPVVRfV0VCR0wgY29uc3Rh
bnQgdG8gV2ViR0wyUmVuZGVyaW5nQ29udGV4dC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRnJhbWVWaWV3LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApp
bmRleCBkZGI0NTdiNzllZDdjNDlmNDg1YTllMDMzOWM2ZWY5YWIzYzNmZTgzLi5kODhhYWQ2OTEx
ZTgyNGMxZjhhN2IyYmY0ODRiMTYxZmY0N2U3NzdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0ZyYW1lVmlldy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcu
Y3BwCkBAIC0xNDE3LDYgKzE0MTcsNyBAQCB2b2lkIEZyYW1lVmlldzo6bGF5b3V0KGJvb2wgYWxs
b3dTdWJ0cmVlTGF5b3V0KQogICAgIFNldEZvclNjb3BlPExheW91dFBoYXNlPiBsYXlvdXRQaGFz
ZVJlc3RvcmVyKG1fbGF5b3V0UGhhc2UsIEluUHJlTGF5b3V0KTsKICAgICAvLyBFdmVyeSBzY3Jv
bGwgdGhhdCBoYXBwZW5zIGR1cmluZyBsYXlvdXQgaXMgcHJvZ3JhbW1hdGljLgogICAgIFNldEZv
clNjb3BlPGJvb2w+IGNoYW5nZUluUHJvZ3JhbW1hdGljU2Nyb2xsKG1faW5Qcm9ncmFtbWF0aWNT
Y3JvbGwsIHRydWUpOworICAgIFNldEZvclNjb3BlPGJvb2w+IGNoYW5nZVNjaGVkdWxpbmdFbmFi
bGVkKG1fbGF5b3V0U2NoZWR1bGluZ0VuYWJsZWQsIGZhbHNlKTsKIAogICAgIG1fbGF5b3V0VGlt
ZXIuc3RvcCgpOwogICAgIG1fZGVsYXllZExheW91dCA9IGZhbHNlOwpAQCAtMTQzNCw1OSArMTQz
NSw1NyBAQCB2b2lkIEZyYW1lVmlldzo6bGF5b3V0KGJvb2wgYWxsb3dTdWJ0cmVlTGF5b3V0KQog
ICAgIERvY3VtZW50JiBkb2N1bWVudCA9ICpmcmFtZSgpLmRvY3VtZW50KCk7CiAgICAgUmVuZGVy
RWxlbWVudCogbGF5b3V0Um9vdCA9IG51bGxwdHI7CiAgICAgYm9vbCBpc1N1YnRyZWVMYXlvdXQg
PSBmYWxzZTsKLSAgICB7Ci0gICAgICAgIFNldEZvclNjb3BlPGJvb2w+IGNoYW5nZVNjaGVkdWxp
bmdFbmFibGVkKG1fbGF5b3V0U2NoZWR1bGluZ0VuYWJsZWQsIGZhbHNlKTsKLSAgICAgICAgLy8g
SWYgdGhpcyBpcyBhIG5ldyB0b3AtbGV2ZWwgbGF5b3V0IGFuZCB0aGVyZSBhcmUgYW55IHJlbWFp
bmluZyB0YXNrcyBmcm9tIHRoZSBwcmV2aW91cyBsYXlvdXQsIGZpbmlzaCB0aGVtIG5vdy4KLSAg
ICAgICAgaWYgKCFpc0xheW91dE5lc3RlZCgpICYmIG1fcG9zdExheW91dFRhc2tzVGltZXIuaXNB
Y3RpdmUoKSAmJiAhaXNJbkNoaWxkRnJhbWVXaXRoRnJhbWVGbGF0dGVuaW5nKCkpCi0gICAgICAg
ICAgICBwZXJmb3JtUG9zdExheW91dFRhc2tzKCk7CisgICAgLy8gSWYgdGhpcyBpcyBhIG5ldyB0
b3AtbGV2ZWwgbGF5b3V0IGFuZCB0aGVyZSBhcmUgYW55IHJlbWFpbmluZyB0YXNrcyBmcm9tIHRo
ZSBwcmV2aW91cyBsYXlvdXQsIGZpbmlzaCB0aGVtIG5vdy4KKyAgICBpZiAoIWlzTGF5b3V0TmVz
dGVkKCkgJiYgbV9wb3N0TGF5b3V0VGFza3NUaW1lci5pc0FjdGl2ZSgpICYmICFpc0luQ2hpbGRG
cmFtZVdpdGhGcmFtZUZsYXR0ZW5pbmcoKSkKKyAgICAgICAgcGVyZm9ybVBvc3RMYXlvdXRUYXNr
cygpOwogCi0gICAgICAgIHVwZGF0ZVN0eWxlRm9yTGF5b3V0KCk7Ci0gICAgICAgIGlmIChoYXNP
bmVSZWYoKSkKLSAgICAgICAgICAgIHJldHVybjsKKyAgICB1cGRhdGVTdHlsZUZvckxheW91dCgp
OworICAgIGlmIChoYXNPbmVSZWYoKSkKKyAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIG1fbGF5
b3V0UGhhc2UgPSBJblByZUxheW91dDsKKyAgICBtX2xheW91dFBoYXNlID0gSW5QcmVMYXlvdXQ7
CiAKLSAgICAgICAgYXV0b1NpemVJZkVuYWJsZWQoKTsKKyAgICBhdXRvU2l6ZUlmRW5hYmxlZCgp
OwogCi0gICAgICAgIGxheW91dFJvb3QgPSBtX3N1YnRyZWVMYXlvdXRSb290ID8gbV9zdWJ0cmVl
TGF5b3V0Um9vdCA6IGRvY3VtZW50LnJlbmRlclZpZXcoKTsKLSAgICAgICAgaWYgKCFsYXlvdXRS
b290KQotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICBpc1N1YnRyZWVMYXlvdXQgPSBtX3N1
YnRyZWVMYXlvdXRSb290OwotICAgICAgICBtX25lZWRzRnVsbFJlcGFpbnQgPSAhaXNTdWJ0cmVl
TGF5b3V0ICYmIChtX2ZpcnN0TGF5b3V0IHx8IGRvd25jYXN0PFJlbmRlclZpZXc+KCpsYXlvdXRS
b290KS5wcmludGluZygpKTsKKyAgICBsYXlvdXRSb290ID0gbV9zdWJ0cmVlTGF5b3V0Um9vdCA/
IG1fc3VidHJlZUxheW91dFJvb3QgOiBkb2N1bWVudC5yZW5kZXJWaWV3KCk7CisgICAgaWYgKCFs
YXlvdXRSb290KQorICAgICAgICByZXR1cm47CisgICAgaXNTdWJ0cmVlTGF5b3V0ID0gbV9zdWJ0
cmVlTGF5b3V0Um9vdDsKKyAgICBtX25lZWRzRnVsbFJlcGFpbnQgPSAhaXNTdWJ0cmVlTGF5b3V0
ICYmIChtX2ZpcnN0TGF5b3V0IHx8IGRvd25jYXN0PFJlbmRlclZpZXc+KCpsYXlvdXRSb290KS5w
cmludGluZygpKTsKIAotICAgICAgICBpZiAoIWlzU3VidHJlZUxheW91dCkgewotICAgICAgICAg
ICAgaWYgKGF1dG8qIGJvZHkgPSBkb2N1bWVudC5ib2R5T3JGcmFtZXNldCgpKSB7Ci0gICAgICAg
ICAgICAgICAgaWYgKGlzPEhUTUxGcmFtZVNldEVsZW1lbnQ+KCpib2R5KSAmJiAhZnJhbWVGbGF0
dGVuaW5nRW5hYmxlZCgpICYmIGJvZHktPnJlbmRlcmVyKCkpCi0gICAgICAgICAgICAgICAgICAg
IGJvZHktPnJlbmRlcmVyKCktPnNldENoaWxkTmVlZHNMYXlvdXQoKTsKLSAgICAgICAgICAgIH0K
KyAgICBpZiAoIWlzU3VidHJlZUxheW91dCkgeworICAgICAgICBpZiAoYXV0byogYm9keSA9IGRv
Y3VtZW50LmJvZHlPckZyYW1lc2V0KCkpIHsKKyAgICAgICAgICAgIGlmIChpczxIVE1MRnJhbWVT
ZXRFbGVtZW50PigqYm9keSkgJiYgIWZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoKSAmJiBib2R5LT5y
ZW5kZXJlcigpKQorICAgICAgICAgICAgICAgIGJvZHktPnJlbmRlcmVyKCktPnNldENoaWxkTmVl
ZHNMYXlvdXQoKTsKKyAgICAgICAgfQogI2lmICFMT0dfRElTQUJMRUQKLSAgICAgICAgICAgIGlm
IChtX2ZpcnN0TGF5b3V0ICYmICFmcmFtZSgpLm93bmVyRWxlbWVudCgpKQotICAgICAgICAgICAg
ICAgIExPRyhMYXlvdXQsICJGcmFtZVZpZXcgJXAgZWxhcHNlZCB0aW1lIGJlZm9yZSBmaXJzdCBs
YXlvdXQ6ICUuM2ZzXG4iLCB0aGlzLCBkb2N1bWVudC50aW1lU2luY2VEb2N1bWVudENyZWF0aW9u
KCkudmFsdWUoKSk7CisgICAgICAgIGlmIChtX2ZpcnN0TGF5b3V0ICYmICFmcmFtZSgpLm93bmVy
RWxlbWVudCgpKQorICAgICAgICAgICAgTE9HKExheW91dCwgIkZyYW1lVmlldyAlcCBlbGFwc2Vk
IHRpbWUgYmVmb3JlIGZpcnN0IGxheW91dDogJS4zZnNcbiIsIHRoaXMsIGRvY3VtZW50LnRpbWVT
aW5jZURvY3VtZW50Q3JlYXRpb24oKS52YWx1ZSgpKTsKICNlbmRpZgotICAgICAgICAgICAgaWYg
KG1fZmlyc3RMYXlvdXQpIHsKLSAgICAgICAgICAgICAgICBtX2xhc3RWaWV3cG9ydFNpemUgPSBz
aXplRm9yUmVzaXplRXZlbnQoKTsKLSAgICAgICAgICAgICAgICBtX2xhc3Rab29tRmFjdG9yID0g
bGF5b3V0Um9vdC0+c3R5bGUoKS56b29tKCk7Ci0gICAgICAgICAgICAgICAgbV9maXJzdExheW91
dENhbGxiYWNrUGVuZGluZyA9IHRydWU7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBhZGp1
c3RTY3JvbGxiYXJzRm9yTGF5b3V0KG1fZmlyc3RMYXlvdXQpOwotCi0gICAgICAgICAgICBhdXRv
IG9sZFNpemUgPSBtX3NpemU7Ci0gICAgICAgICAgICBtX3NpemUgPSBsYXlvdXRTaXplKCk7Ci0g
ICAgICAgICAgICBpZiAob2xkU2l6ZSAhPSBtX3NpemUpIHsKLSAgICAgICAgICAgICAgICBMT0co
TGF5b3V0LCAiICBsYXlvdXQgc2l6ZSBjaGFuZ2VkIGZyb20gJS4zZnglLjNmIHRvICUuM2Z4JS4z
ZiIsIG9sZFNpemUud2lkdGgoKS50b0Zsb2F0KCksIG9sZFNpemUuaGVpZ2h0KCkudG9GbG9hdCgp
LCBtX3NpemUud2lkdGgoKS50b0Zsb2F0KCksIG1fc2l6ZS5oZWlnaHQoKS50b0Zsb2F0KCkpOwot
ICAgICAgICAgICAgICAgIG1fbmVlZHNGdWxsUmVwYWludCA9IHRydWU7Ci0gICAgICAgICAgICAg
ICAgaWYgKCFtX2ZpcnN0TGF5b3V0KQotICAgICAgICAgICAgICAgICAgICBtYXJrUm9vdE9yQm9k
eVJlbmRlcmVyRGlydHkoKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIG1fbGF5b3V0UGhh
c2UgPSBJblByZUxheW91dDsKLSAgICAgICAgICAgIG1fZmlyc3RMYXlvdXQgPSBmYWxzZTsKKyAg
ICAgICAgaWYgKG1fZmlyc3RMYXlvdXQpIHsKKyAgICAgICAgICAgIG1fbGFzdFZpZXdwb3J0U2l6
ZSA9IHNpemVGb3JSZXNpemVFdmVudCgpOworICAgICAgICAgICAgbV9sYXN0Wm9vbUZhY3RvciA9
IGxheW91dFJvb3QtPnN0eWxlKCkuem9vbSgpOworICAgICAgICAgICAgbV9maXJzdExheW91dENh
bGxiYWNrUGVuZGluZyA9IHRydWU7CiAgICAgICAgIH0KKyAgICAgICAgYWRqdXN0U2Nyb2xsYmFy
c0ZvckxheW91dChtX2ZpcnN0TGF5b3V0KTsKKworICAgICAgICBhdXRvIG9sZFNpemUgPSBtX3Np
emU7CisgICAgICAgIG1fc2l6ZSA9IGxheW91dFNpemUoKTsKKyAgICAgICAgaWYgKG9sZFNpemUg
IT0gbV9zaXplKSB7CisgICAgICAgICAgICBMT0coTGF5b3V0LCAiICBsYXlvdXQgc2l6ZSBjaGFu
Z2VkIGZyb20gJS4zZnglLjNmIHRvICUuM2Z4JS4zZiIsIG9sZFNpemUud2lkdGgoKS50b0Zsb2F0
KCksIG9sZFNpemUuaGVpZ2h0KCkudG9GbG9hdCgpLCBtX3NpemUud2lkdGgoKS50b0Zsb2F0KCks
IG1fc2l6ZS5oZWlnaHQoKS50b0Zsb2F0KCkpOworICAgICAgICAgICAgbV9uZWVkc0Z1bGxSZXBh
aW50ID0gdHJ1ZTsKKyAgICAgICAgICAgIGlmICghbV9maXJzdExheW91dCkKKyAgICAgICAgICAg
ICAgICBtYXJrUm9vdE9yQm9keVJlbmRlcmVyRGlydHkoKTsKKyAgICAgICAgfQorICAgICAgICBt
X2xheW91dFBoYXNlID0gSW5QcmVMYXlvdXQ7CisgICAgICAgIG1fZmlyc3RMYXlvdXQgPSBmYWxz
ZTsKKyAgICB9CiAKLSAgICAgICAgQVNTRVJUKGFsbG93U3VidHJlZUxheW91dCB8fCAhaXNTdWJ0
cmVlTGF5b3V0KTsKLSAgICAgICAgQVNTRVJUKG1fbGF5b3V0UGhhc2UgPT0gSW5QcmVMYXlvdXQp
OwotCi0gICAgICAgIGZvcmNlTGF5b3V0UGFyZW50Vmlld0lmTmVlZGVkKCk7CisgICAgQVNTRVJU
KGFsbG93U3VidHJlZUxheW91dCB8fCAhaXNTdWJ0cmVlTGF5b3V0KTsKKyAgICBBU1NFUlQobV9s
YXlvdXRQaGFzZSA9PSBJblByZUxheW91dCk7CiAKKyAgICBmb3JjZUxheW91dFBhcmVudFZpZXdJ
Zk5lZWRlZCgpOworICAgIHsKICAgICAgICAgU3VidHJlZUxheW91dFN0YXRlTWFpbnRhaW5lciBz
dWJ0cmVlTGF5b3V0U3RhdGVNYWludGFpbmVyKG1fc3VidHJlZUxheW91dFJvb3QpOwogICAgICAg
ICBSZW5kZXJWaWV3OjpSZXBhaW50UmVnaW9uQWNjdW11bGF0b3IgcmVwYWludFJlZ2lvbkFjY3Vt
dWxhdG9yKCZsYXlvdXRSb290LT52aWV3KCkpOwogI2lmbmRlZiBOREVCVUcKQEAgLTE0OTUsMTIg
KzE0OTQsMTAgQEAgdm9pZCBGcmFtZVZpZXc6OmxheW91dChib29sIGFsbG93U3VidHJlZUxheW91
dCkKICAgICAgICAgbV9sYXlvdXRQaGFzZSA9IEluUmVuZGVyVHJlZUxheW91dDsKICAgICAgICAg
bGF5b3V0Um9vdC0+bGF5b3V0KCk7CiAgICAgICAgIEFTU0VSVChtX2xheW91dFBoYXNlID09IElu
UmVuZGVyVHJlZUxheW91dCk7Ci0KICNpZiBFTkFCTEUoVEVYVF9BVVRPU0laSU5HKQogICAgICAg
ICBhcHBseVRleHRTaXppbmdJZk5lZWRlZCgqbGF5b3V0Um9vdCk7CiAjZW5kaWYKICAgICAgICAg
bV9zdWJ0cmVlTGF5b3V0Um9vdCA9IG51bGxwdHI7Ci0gICAgICAgIC8vIENsb3NlIGJsb2NrIGhl
cmUgdG8gZW5kIHRoZSBzY29wZSBvZiBjaGFuZ2VTY2hlZHVsaW5nRW5hYmxlZCBhbmQgU3VidHJl
ZUxheW91dFN0YXRlTWFpbnRhaW5lci4KICAgICB9CiAgICAgaWYgKCFpc1N1YnRyZWVMYXlvdXQg
JiYgIWRvd25jYXN0PFJlbmRlclZpZXc+KCpsYXlvdXRSb290KS5wcmludGluZygpKSB7CiAgICAg
ICAgIC8vIFRoaXMgaXMgdG8gcHJvdGVjdCBtX25lZWRzRnVsbFJlcGFpbnQncyB2YWx1ZSB3aGVu
IGxheW91dCgpIGlzIGdldHRpbmcgcmUtZW50ZXJlZCB0aHJvdWdoIGFkanVzdFZpZXdTaXplKCku
Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>