<?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>135480</bug_id>
          
          <creation_ts>2014-07-31 16:37:27 -0700</creation_ts>
          <short_desc>Inspector highlights clipped at the bottom on the page in WK1 views with contentInsets</short_desc>
          <delta_ts>2014-08-01 15:49:13 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>528+ (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="Beth Dakin">bdakin</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bdakin</cc>
    
    <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1026109</commentid>
    <comment_count>0</comment_count>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2014-07-31 16:37:27 -0700</bug_when>
    <thetext>Inspector highlights are clipped at the bottom on the page in WK1 views with contentInsets. This is the WK1 versions of this bug: https://bugs.webkit.org/show_bug.cgi?id=133818 It is reproducible in MiniBrowser on Yosemite at the bottom of any page.

&lt;rdar://problem/17850323&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1026121</commentid>
    <comment_count>1</comment_count>
      <attachid>235860</attachid>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2014-07-31 16:57:20 -0700</bug_when>
    <thetext>Created attachment 235860
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1026313</commentid>
    <comment_count>2</comment_count>
      <attachid>235899</attachid>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2014-08-01 12:15:36 -0700</bug_when>
    <thetext>Created attachment 235899
Patch with a new name

Simon and I discussed the new name on IRC, and we like this better.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1026335</commentid>
    <comment_count>3</comment_count>
      <attachid>235899</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-08-01 14:33:58 -0700</bug_when>
    <thetext>Comment on attachment 235899
Patch with a new name

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

Is this testable?

&gt; Source/WebCore/platform/ScrollView.h:485
&gt;      IntRect platformVisibleContentRect(bool includeScrollbars) const;
&gt;      IntSize platformVisibleContentSize(bool includeScrollbars) const;
&gt; +    IntRect platformVisibleContentRectIncludingObscuredArea(bool includeScrollbars) const;
&gt; +    IntSize platformVisibleContentSizeIncludingObscuredArea(bool includeScrollbars) const;

It almost feels like the &quot;including obscured area&quot; could be an enum param to platformVisibleContentRect/Size.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1026359</commentid>
    <comment_count>4</comment_count>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2014-08-01 15:41:18 -0700</bug_when>
    <thetext>Thanks Simon! Joe and I are still thinking about a test case…we haven&apos;t come up with one yet, but it would be very valuable. In terms of the enum parameter, I do think that is a really good idea, and I think we should consider it when we clean up these functions, which I really really want to do.

http://trac.webkit.org/changeset/171951</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1026366</commentid>
    <comment_count>5</comment_count>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2014-08-01 15:49:13 -0700</bug_when>
    <thetext>Oops, http://trac.webkit.org/changeset/171952 is needed too! It&apos;s critical, in fact! I accidentally had that part of the change reverted from when I was trying to see if the layout tests I was trying to make actually triggered a difference from this change.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>235860</attachid>
            <date>2014-07-31 16:57:20 -0700</date>
            <delta_ts>2014-08-01 12:15:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>for-review.txt</filename>
            <type>text/plain</type>
            <size>13083</size>
            <attacher name="Beth Dakin">bdakin</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE3MTg5NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDUzIEBACisyMDE0LTA3LTMxICBCZXRoIERh
a2luICA8YmRha2luQGFwcGxlLmNvbT4KKworICAgICAgICBJbnNwZWN0b3IgaGlnaGxpZ2h0cyBj
bGlwcGVkIGF0IHRoZSBib3R0b20gb24gdGhlIHBhZ2UgaW4gV0sxIHZpZXdzIHdpdGggCisgICAg
ICAgIGNvbnRlbnRJbnNldHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEzNTQ4MAorICAgICAgICAtYW5kIGNvcnJlc3BvbmRpbmctCisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS8xNzg1MDMyMz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICB1bnNjYWxlZFRvdGFsVmlzaWJsZUNvbnRlbnRTaXplKCkgd2FzIHRo
ZSBtYWluIGZ1bmN0aW9uIG9uIE1hYyB0aGF0IHdhcyBleHBlY3RlZCAKKyAgICAgICAgdG8gcmV0
dXJuIHRoZSByZWN0IHJlcHJlc2VudGluZyBBTEwgdmlzaWJsZSBjb250ZW50LCBpbmNsdWRpbmcg
Y29udGVudCB0aGF0IG1pZ2h0IAorICAgICAgICBiZSBpbiBhbiBpbnNldCBhcmVhIGFuZCBvYnNj
dXJlZCBieSBVSSBlbGVtZW50cy4gVGhpcyBwYXRjaCByZS1uYW1lcyB0aGF0IGZ1bmN0aW9uIAor
ICAgICAgICB0byB1bnNjYWxlZFZpc2libGVDb250ZW50U2l6ZUluY2x1ZGluZ0luc2V0QXJlYSgp
LCBhbmQgdGhhdCBwYXRjaCBtYWtlcyB0aGF0IAorICAgICAgICBmdW5jdGlvbiByZXR1cm4gdGhl
IHJpZ2h0IHRoaW5nIGluIHRoZSBwbGF0Zm9ybVdpZGdldCgpIGNhc2UuCisKKyAgICAgICAgUmUt
bmFtZS4KKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yT3ZlcmxheS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JPdmVybGF5Ojp1cGRhdGUpOgorCisgICAgICAgIFJldHVybiBw
bGF0Zm9ybVZpc2libGVDb250ZW50U2l6ZUluY2x1ZGluZ0luc2V0QXJlYSgpIGZvciB0aGUgcGxh
dGZvcm1XaWRnZXQoKSAKKyAgICAgICAgY2FzZSBhbmQgcmUtbmFtZS4KKyAgICAgICAgKiBwbGF0
Zm9ybS9TY3JvbGxWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbFZpZXc6OnVuc2Nh
bGVkVmlzaWJsZUNvbnRlbnRTaXplSW5jbHVkaW5nSW5zZXRBcmVhKToKKworICAgICAgICBUaGlz
IHdhcyBqdXN0IHdyb25nLiBJdCB3YXMgcmV0dXJuaW5nIHRoZSBiaWcgcmVjdGFuZ2xlIGluc3Rl
YWQgb2YgdGhlIHNtYWxsIG9uZSAKKyAgICAgICAgZm9yIHBsYXRmb3JtV2lkZ2V0KCkuCisgICAg
ICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3Ojp1bnNjYWxlZFVub2JzY3VyZWRWaXNpYmxlQ29udGVu
dFNpemUpOgorCisgICAgICAgIE5ldyBwbGF0Zm9ybSBmdW5jdGlvbnMuCisgICAgICAgIChXZWJD
b3JlOjpTY3JvbGxWaWV3OjpwbGF0Zm9ybVZpc2libGVDb250ZW50UmVjdEluY2x1ZGluZ0luc2V0
QXJlYSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3OjpwbGF0Zm9ybVZpc2libGVDb250
ZW50U2l6ZUluY2x1ZGluZ0luc2V0QXJlYSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3
Ojp1bnNjYWxlZFRvdGFsVmlzaWJsZUNvbnRlbnRTaXplKTogRGVsZXRlZC4KKyAgICAgICAgKiBw
bGF0Zm9ybS9TY3JvbGxWaWV3Lmg6CisgICAgICAgICogcGxhdGZvcm0vaW9zL1Njcm9sbFZpZXdJ
T1MubW06CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3OjpwbGF0Zm9ybVZpc2libGVDb250
ZW50UmVjdEluY2x1ZGluZ0luc2V0QXJlYSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3
OjpwbGF0Zm9ybVZpc2libGVDb250ZW50U2l6ZUluY2x1ZGluZ0luc2V0QXJlYSk6CisgICAgICAg
ICogcGxhdGZvcm0vbWFjL1Njcm9sbFZpZXdNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpTY3Jv
bGxWaWV3OjpwbGF0Zm9ybVZpc2libGVDb250ZW50UmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpT
Y3JvbGxWaWV3OjpwbGF0Zm9ybVZpc2libGVDb250ZW50U2l6ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpTY3JvbGxWaWV3OjpwbGF0Zm9ybVZpc2libGVDb250ZW50UmVjdEluY2x1ZGluZ0luc2V0QXJl
YSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3OjpwbGF0Zm9ybVZpc2libGVDb250ZW50
U2l6ZUluY2x1ZGluZ0luc2V0QXJlYSk6CisKKyAgICAgICAgUmUtbmFtZS4KKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckxheWVyQ29tcG9zaXRvcjo6Zmx1c2hQZW5kaW5nTGF5ZXJDaGFuZ2VzKToKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6ZnJhbWVWaWV3RGlkQ2hhbmdlU2l6ZSk6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6OnVwZGF0ZVJvb3RMYXll
clBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6ZW5z
dXJlUm9vdExheWVyKToKKwogMjAxNC0wNy0zMSAgQmV0aCBEYWtpbiAgPGJkYWtpbkBhcHBsZS5j
b20+CiAKICAgICAgICAgSGl0LXRlc3RpbmcgYnJva2VuIGluIFdlYktpdCAxIHZpZXdzIHdpdGgg
QXBwS2l0J3MgY29udGVudEluc2V0cwpJbmRleDogU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3Rvck92ZXJsYXkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JPdmVybGF5LmNwcAkocmV2aXNpb24gMTcxODkwKQorKysgU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3Rvck92ZXJsYXkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNDQs
OCArMzQ0LDggQEAgdm9pZCBJbnNwZWN0b3JPdmVybGF5Ojp1cGRhdGUoKQogICAgICAgICByZXR1
cm47CiAKICAgICBGcmFtZVZpZXcqIG92ZXJsYXlWaWV3ID0gb3ZlcmxheVBhZ2UoKS0+bWFpbkZy
YW1lKCkudmlldygpOwotICAgIEludFNpemUgdmlld3BvcnRTaXplID0gdmlldy0+dW5zY2FsZWRU
b3RhbFZpc2libGVDb250ZW50U2l6ZSgpOwotICAgIEludFNpemUgZnJhbWVWaWV3RnVsbFNpemUg
PSB2aWV3LT51bnNjYWxlZFRvdGFsVmlzaWJsZUNvbnRlbnRTaXplKFNjcm9sbGFibGVBcmVhOjpJ
bmNsdWRlU2Nyb2xsYmFycyk7CisgICAgSW50U2l6ZSB2aWV3cG9ydFNpemUgPSB2aWV3LT51bnNj
YWxlZFZpc2libGVDb250ZW50U2l6ZUluY2x1ZGluZ0luc2V0QXJlYSgpOworICAgIEludFNpemUg
ZnJhbWVWaWV3RnVsbFNpemUgPSB2aWV3LT51bnNjYWxlZFZpc2libGVDb250ZW50U2l6ZUluY2x1
ZGluZ0luc2V0QXJlYShTY3JvbGxhYmxlQXJlYTo6SW5jbHVkZVNjcm9sbGJhcnMpOwogICAgIG92
ZXJsYXlQYWdlKCktPnNldFBhZ2VTY2FsZUZhY3RvcihtX3BhZ2UucGFnZVNjYWxlRmFjdG9yKCks
IEludFBvaW50KCkpOwogICAgIGZyYW1lVmlld0Z1bGxTaXplLnNjYWxlKG1fcGFnZS5wYWdlU2Nh
bGVGYWN0b3IoKSk7CiAgICAgb3ZlcmxheVZpZXctPnJlc2l6ZShmcmFtZVZpZXdGdWxsU2l6ZSk7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmNwcAkocmV2aXNpb24gMTcx
ODkxKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTI2NiwxMCArMjY2LDEwIEBAIEludFJlY3QgU2Nyb2xsVmlldzo6dW5vYnNjdXJl
ZENvbnRlbnRSZWMKICAgICByZXR1cm4gSW50UmVjdChJbnRQb2ludChtX3Njcm9sbE9mZnNldCks
IGV4cGFuZGVkSW50U2l6ZSh2aXNpYmxlQ29udGVudFNpemUpKTsKIH0KIAotSW50U2l6ZSBTY3Jv
bGxWaWV3Ojp1bnNjYWxlZFRvdGFsVmlzaWJsZUNvbnRlbnRTaXplKFZpc2libGVDb250ZW50UmVj
dEluY2x1ZGVzU2Nyb2xsYmFycyBzY3JvbGxiYXJJbmNsdXNpb24pIGNvbnN0CitJbnRTaXplIFNj
cm9sbFZpZXc6OnVuc2NhbGVkVmlzaWJsZUNvbnRlbnRTaXplSW5jbHVkaW5nSW5zZXRBcmVhKFZp
c2libGVDb250ZW50UmVjdEluY2x1ZGVzU2Nyb2xsYmFycyBzY3JvbGxiYXJJbmNsdXNpb24pIGNv
bnN0CiB7CiAgICAgaWYgKHBsYXRmb3JtV2lkZ2V0KCkpCi0gICAgICAgIHJldHVybiBwbGF0Zm9y
bVZpc2libGVDb250ZW50U2l6ZShzY3JvbGxiYXJJbmNsdXNpb24gPT0gSW5jbHVkZVNjcm9sbGJh
cnMpOworICAgICAgICByZXR1cm4gcGxhdGZvcm1WaXNpYmxlQ29udGVudFNpemVJbmNsdWRpbmdJ
bnNldEFyZWEoc2Nyb2xsYmFySW5jbHVzaW9uID09IEluY2x1ZGVTY3JvbGxiYXJzKTsKIAogI2lm
IFVTRShUSUxFRF9CQUNLSU5HX1NUT1JFKQogICAgIGlmICghbV9maXhlZFZpc2libGVDb250ZW50
UmVjdC5pc0VtcHR5KCkpCkBAIC0yOTEsMTAgKzI5MSwxMCBAQCBJbnRTaXplIFNjcm9sbFZpZXc6
OnVuc2NhbGVkVG90YWxWaXNpYmxlCiAgICAgCiBJbnRTaXplIFNjcm9sbFZpZXc6OnVuc2NhbGVk
VW5vYnNjdXJlZFZpc2libGVDb250ZW50U2l6ZShWaXNpYmxlQ29udGVudFJlY3RJbmNsdWRlc1Nj
cm9sbGJhcnMgc2Nyb2xsYmFySW5jbHVzaW9uKSBjb25zdAogewotICAgIEludFNpemUgdmlzaWJs
ZUNvbnRlbnRTaXplID0gdW5zY2FsZWRUb3RhbFZpc2libGVDb250ZW50U2l6ZShzY3JvbGxiYXJJ
bmNsdXNpb24pOwotICAgIAorICAgIEludFNpemUgdmlzaWJsZUNvbnRlbnRTaXplID0gdW5zY2Fs
ZWRWaXNpYmxlQ29udGVudFNpemVJbmNsdWRpbmdJbnNldEFyZWEoc2Nyb2xsYmFySW5jbHVzaW9u
KTsKKwogICAgIGlmIChwbGF0Zm9ybVdpZGdldCgpKQotICAgICAgICByZXR1cm4gdmlzaWJsZUNv
bnRlbnRTaXplOworICAgICAgICByZXR1cm4gcGxhdGZvcm1WaXNpYmxlQ29udGVudFNpemUoc2Ny
b2xsYmFySW5jbHVzaW9uID09IEluY2x1ZGVTY3JvbGxiYXJzKTsKIAogI2lmIFVTRShUSUxFRF9C
QUNLSU5HX1NUT1JFKQogICAgIGlmICghbV9maXhlZFZpc2libGVDb250ZW50UmVjdC5pc0VtcHR5
KCkpCkBAIC0xNTI5LDYgKzE1MjksMTYgQEAgSW50U2l6ZSBTY3JvbGxWaWV3OjpwbGF0Zm9ybVZp
c2libGVDb250ZQogICAgIHJldHVybiBJbnRTaXplKCk7CiB9CiAKK0ludFJlY3QgU2Nyb2xsVmll
dzo6cGxhdGZvcm1WaXNpYmxlQ29udGVudFJlY3RJbmNsdWRpbmdJbnNldEFyZWEoYm9vbCkgY29u
c3QKK3sKKyAgICByZXR1cm4gSW50UmVjdCgpOworfQorCitJbnRTaXplIFNjcm9sbFZpZXc6OnBs
YXRmb3JtVmlzaWJsZUNvbnRlbnRTaXplSW5jbHVkaW5nSW5zZXRBcmVhKGJvb2wpIGNvbnN0Cit7
CisgICAgcmV0dXJuIEludFNpemUoKTsKK30KKwogdm9pZCBTY3JvbGxWaWV3OjpwbGF0Zm9ybVNl
dENvbnRlbnRzU2l6ZSgpCiB7CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3Jv
bGxWaWV3LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmll
dy5oCShyZXZpc2lvbiAxNzE4OTEpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxW
aWV3LmgJKHdvcmtpbmcgY29weSkKQEAgLTIwNiw5ICsyMDYsOSBAQCBwdWJsaWM6CiAgICAgLy8g
dmlzaWJsZUNvbnRlbnRTY2FsZUZhY3RvciBpcyB1c3VhbGx5IDEsIGV4Y2VwdCB3aGVuIHRoZSBz
ZXR0aW5nIGRlbGVnYXRlc1BhZ2VTY2FsaW5nIGlzIHRydWUgYW5kIHRoZQogICAgIC8vIFNjcm9s
bFZpZXcgaXMgdGhlIG1haW4gZnJhbWU7IGluIHRoYXQgY2FzZSwgdmlzaWJsZUNvbnRlbnRTY2Fs
ZUZhY3RvciBpcyBlcXVhbCB0byB0aGUgcGFnZSdzIHBhZ2VTY2FsZUZhY3Rvci4KICAgICAvLyBQ
b3J0cyB0aGF0IGRvbid0IHVzZSBwYWdlU2NhbGVGYWN0b3IgY2FuIHRyZWF0IHVuc2NhbGVkVW5v
YnNjdXJlZFZpc2libGVDb250ZW50U2l6ZSBhbmQgdmlzaWJsZUNvbnRlbnRSZWN0KCkuc2l6ZSgp
IGFzIGVxdWl2YWxlbnQuCi0gICAgLy8gdW5zY2FsZWRUb3RhbFZpc2libGVDb250ZW50U2l6ZSgp
IGluY2x1ZGVzIGFyZWFzIGluIHRoZSBjb250ZW50IHRoYXQgbWlnaHQgYmUgb2JzY3VyZWQgYnkg
VUkgZWxlbWVudHMuCisgICAgLy8gdW5zY2FsZWRWaXNpYmxlQ29udGVudFNpemVJbmNsdWRpbmdJ
bnNldEFyZWEoKSBpbmNsdWRlcyBhcmVhcyBpbiB0aGUgY29udGVudCB0aGF0IG1pZ2h0IGJlIG9i
c2N1cmVkIGJ5IFVJIGVsZW1lbnRzLgogICAgIEludFNpemUgdW5zY2FsZWRVbm9ic2N1cmVkVmlz
aWJsZUNvbnRlbnRTaXplKFZpc2libGVDb250ZW50UmVjdEluY2x1ZGVzU2Nyb2xsYmFycyA9IEV4
Y2x1ZGVTY3JvbGxiYXJzKSBjb25zdDsKLSAgICBJbnRTaXplIHVuc2NhbGVkVG90YWxWaXNpYmxl
Q29udGVudFNpemUoVmlzaWJsZUNvbnRlbnRSZWN0SW5jbHVkZXNTY3JvbGxiYXJzID0gRXhjbHVk
ZVNjcm9sbGJhcnMpIGNvbnN0OworICAgIEludFNpemUgdW5zY2FsZWRWaXNpYmxlQ29udGVudFNp
emVJbmNsdWRpbmdJbnNldEFyZWEoVmlzaWJsZUNvbnRlbnRSZWN0SW5jbHVkZXNTY3JvbGxiYXJz
ID0gRXhjbHVkZVNjcm9sbGJhcnMpIGNvbnN0OwogICAgIHZpcnR1YWwgZmxvYXQgdmlzaWJsZUNv
bnRlbnRTY2FsZUZhY3RvcigpIGNvbnN0IHsgcmV0dXJuIDE7IH0KIAogICAgIC8vIEZ1bmN0aW9u
cyBmb3IgZ2V0dGluZy9zZXR0aW5nIHRoZSBzaXplIHdlYmtpdCBzaG91bGQgdXNlIHRvIGxheW91
dCB0aGUgY29udGVudHMuIEJ5IGRlZmF1bHQgdGhpcyBpcyB0aGUgc2FtZSBhcyB0aGUgdmlzaWJs
ZQpAQCAtNDgxLDYgKzQ4MSw4IEBAIHByaXZhdGU6CiAgICAgYm9vbCBwbGF0Zm9ybUNhbkJsaXRP
blNjcm9sbCgpIGNvbnN0OwogICAgIEludFJlY3QgcGxhdGZvcm1WaXNpYmxlQ29udGVudFJlY3Qo
Ym9vbCBpbmNsdWRlU2Nyb2xsYmFycykgY29uc3Q7CiAgICAgSW50U2l6ZSBwbGF0Zm9ybVZpc2li
bGVDb250ZW50U2l6ZShib29sIGluY2x1ZGVTY3JvbGxiYXJzKSBjb25zdDsKKyAgICBJbnRSZWN0
IHBsYXRmb3JtVmlzaWJsZUNvbnRlbnRSZWN0SW5jbHVkaW5nSW5zZXRBcmVhKGJvb2wgaW5jbHVk
ZVNjcm9sbGJhcnMpIGNvbnN0OworICAgIEludFNpemUgcGxhdGZvcm1WaXNpYmxlQ29udGVudFNp
emVJbmNsdWRpbmdJbnNldEFyZWEoYm9vbCBpbmNsdWRlU2Nyb2xsYmFycykgY29uc3Q7CiAgICAg
dm9pZCBwbGF0Zm9ybVNldENvbnRlbnRzU2l6ZSgpOwogICAgIEludFJlY3QgcGxhdGZvcm1Db250
ZW50c1RvU2NyZWVuKGNvbnN0IEludFJlY3QmKSBjb25zdDsKICAgICBJbnRQb2ludCBwbGF0Zm9y
bVNjcmVlblRvQ29udGVudHMoY29uc3QgSW50UG9pbnQmKSBjb25zdDsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2lvcy9TY3JvbGxWaWV3SU9TLm1tCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9TY3JvbGxWaWV3SU9TLm1tCShyZXZpc2lvbiAxNzE4OTEp
CisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvU2Nyb2xsVmlld0lPUy5tbQkod29ya2lu
ZyBjb3B5KQpAQCAtMTk1LDYgKzE5NSwxNiBAQCBJbnRTaXplIFNjcm9sbFZpZXc6OnBsYXRmb3Jt
VmlzaWJsZUNvbnRlCiAgICAgcmV0dXJuIEludFNpemUoKTsKIH0KIAorSW50UmVjdCBTY3JvbGxW
aWV3OjpwbGF0Zm9ybVZpc2libGVDb250ZW50UmVjdEluY2x1ZGluZ0luc2V0QXJlYShib29sIGlu
Y2x1ZGVTY3JvbGxiYXJzKSBjb25zdAoreworICAgIHJldHVybiBwbGF0Zm9ybVZpc2libGVDb250
ZW50UmVjdChpbmNsdWRlU2Nyb2xsYmFycyk7Cit9CisKK0ludFNpemUgU2Nyb2xsVmlldzo6cGxh
dGZvcm1WaXNpYmxlQ29udGVudFNpemVJbmNsdWRpbmdJbnNldEFyZWEoYm9vbCBpbmNsdWRlU2Ny
b2xsYmFycykgY29uc3QKK3sKKyAgICByZXR1cm4gcGxhdGZvcm1WaXNpYmxlQ29udGVudFNpemUo
aW5jbHVkZVNjcm9sbGJhcnMpOworfQorCiBMZWdhY3lUaWxlQ2FjaGUqIFNjcm9sbFZpZXc6Omxl
Z2FjeVRpbGVDYWNoZSgpCiB7CiAgICAgLy8gTWFrZSB0aWxlIGNhY2hlIHBvaW50ZXIgYXZhaWxh
YmxlIHZpYSB0aGUgbWFpbiBmcmFtZSBvbmx5LiBUaWxlIGNhY2hlIGludGVyYWN0aW9uIHNob3Vs
ZCBiZSBtYW5hZ2VkIGJ5CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xs
Vmlld01hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Ny
b2xsVmlld01hYy5tbQkocmV2aXNpb24gMTcxODkxKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWFjL1Njcm9sbFZpZXdNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTE0MCwzMCArMTQwLDQz
IEBAIHZvaWQgU2Nyb2xsVmlldzo6cGxhdGZvcm1TZXRUb3BDb250ZW50SW4KIEludFJlY3QgU2Ny
b2xsVmlldzo6cGxhdGZvcm1WaXNpYmxlQ29udGVudFJlY3QoYm9vbCBpbmNsdWRlU2Nyb2xsYmFy
cykgY29uc3QKIHsKICAgICBCRUdJTl9CTE9DS19PQkpDX0VYQ0VQVElPTlM7CisgICAgSW50UmVj
dCB2aXNpYmxlQ29udGVudFJlY3QgPSBwbGF0Zm9ybVZpc2libGVDb250ZW50UmVjdEluY2x1ZGlu
Z0luc2V0QXJlYShpbmNsdWRlU2Nyb2xsYmFycyk7CiAKLSAgICBJbnRSZWN0IHZpc2libGVDb250
ZW50UmVjdCA9IGVuY2xvc2luZ0ludFJlY3QoW3Njcm9sbFZpZXcoKSBkb2N1bWVudFZpc2libGVS
ZWN0XSk7CiAjaWYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEwMDAKICAg
ICB2aXNpYmxlQ29udGVudFJlY3QubW92ZShzY3JvbGxWaWV3KCkuY29udGVudEluc2V0cy5sZWZ0
LCBzY3JvbGxWaWV3KCkuY29udGVudEluc2V0cy50b3ApOwogICAgIHZpc2libGVDb250ZW50UmVj
dC5jb250cmFjdChzY3JvbGxWaWV3KCkuY29udGVudEluc2V0cy5sZWZ0ICsgc2Nyb2xsVmlldygp
LmNvbnRlbnRJbnNldHMucmlnaHQsIHNjcm9sbFZpZXcoKS5jb250ZW50SW5zZXRzLnRvcCArIHNj
cm9sbFZpZXcoKS5jb250ZW50SW5zZXRzLmJvdHRvbSk7CiAjZW5kaWYKIAorICAgIHJldHVybiB2
aXNpYmxlQ29udGVudFJlY3Q7CisgICAgRU5EX0JMT0NLX09CSkNfRVhDRVBUSU9OUzsKKworICAg
IHJldHVybiBJbnRSZWN0KCk7Cit9CisKK0ludFNpemUgU2Nyb2xsVmlldzo6cGxhdGZvcm1WaXNp
YmxlQ29udGVudFNpemUoYm9vbCBpbmNsdWRlU2Nyb2xsYmFycykgY29uc3QKK3sKKyAgICByZXR1
cm4gcGxhdGZvcm1WaXNpYmxlQ29udGVudFJlY3QoaW5jbHVkZVNjcm9sbGJhcnMpLnNpemUoKTsK
K30KKworSW50UmVjdCBTY3JvbGxWaWV3OjpwbGF0Zm9ybVZpc2libGVDb250ZW50UmVjdEluY2x1
ZGluZ0luc2V0QXJlYShib29sIGluY2x1ZGVTY3JvbGxiYXJzKSBjb25zdAoreworICAgIEJFR0lO
X0JMT0NLX09CSkNfRVhDRVBUSU9OUzsKKyAgICBJbnRSZWN0IHZpc2libGVDb250ZW50UmVjdElu
Y2x1ZGluZ0luc2V0QXJlYSA9IGVuY2xvc2luZ0ludFJlY3QoW3Njcm9sbFZpZXcoKSBkb2N1bWVu
dFZpc2libGVSZWN0XSk7CisKICAgICBpZiAoaW5jbHVkZVNjcm9sbGJhcnMpIHsKICAgICAgICAg
SW50U2l6ZSBmcmFtZVNpemUgPSBJbnRTaXplKFtzY3JvbGxWaWV3KCkgZnJhbWVdLnNpemUpOwot
I2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMDAwCi0gICAgICAgIGZy
YW1lU2l6ZS5jb250cmFjdChzY3JvbGxWaWV3KCkuY29udGVudEluc2V0cy5sZWZ0ICsgc2Nyb2xs
VmlldygpLmNvbnRlbnRJbnNldHMucmlnaHQsIHNjcm9sbFZpZXcoKS5jb250ZW50SW5zZXRzLnRv
cCArIHNjcm9sbFZpZXcoKS5jb250ZW50SW5zZXRzLmJvdHRvbSk7Ci0jZW5kaWYKLSAgICAgICAg
dmlzaWJsZUNvbnRlbnRSZWN0LnNldFNpemUoZnJhbWVTaXplKTsKKyAgICAgICAgdmlzaWJsZUNv
bnRlbnRSZWN0SW5jbHVkaW5nSW5zZXRBcmVhLnNldFNpemUoZnJhbWVTaXplKTsKICAgICB9CiAK
LSAgICByZXR1cm4gdmlzaWJsZUNvbnRlbnRSZWN0OworICAgIHJldHVybiB2aXNpYmxlQ29udGVu
dFJlY3RJbmNsdWRpbmdJbnNldEFyZWE7CiAgICAgRU5EX0JMT0NLX09CSkNfRVhDRVBUSU9OUzsK
IAogICAgIHJldHVybiBJbnRSZWN0KCk7CiB9CiAKLUludFNpemUgU2Nyb2xsVmlldzo6cGxhdGZv
cm1WaXNpYmxlQ29udGVudFNpemUoYm9vbCBpbmNsdWRlU2Nyb2xsYmFycykgY29uc3QKK0ludFNp
emUgU2Nyb2xsVmlldzo6cGxhdGZvcm1WaXNpYmxlQ29udGVudFNpemVJbmNsdWRpbmdJbnNldEFy
ZWEoYm9vbCBpbmNsdWRlU2Nyb2xsYmFycykgY29uc3QKIHsKLSAgICByZXR1cm4gcGxhdGZvcm1W
aXNpYmxlQ29udGVudFJlY3QoaW5jbHVkZVNjcm9sbGJhcnMpLnNpemUoKTsKKyAgICByZXR1cm4g
cGxhdGZvcm1WaXNpYmxlQ29udGVudFJlY3RJbmNsdWRpbmdJbnNldEFyZWEoaW5jbHVkZVNjcm9s
bGJhcnMpLnNpemUoKTsKIH0KIAogdm9pZCBTY3JvbGxWaWV3OjpwbGF0Zm9ybVNldENvbnRlbnRz
U2l6ZSgpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3Np
dG9yLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5
ZXJDb21wb3NpdG9yLmNwcAkocmV2aXNpb24gMTcxODkwKQorKysgU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ2MCw3
ICs0NjAsNyBAQCB2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6Zmx1c2hQZW5kaW5nCiAgICAg
ICAgIHJvb3RMYXllci0+Zmx1c2hDb21wb3NpdGluZ1N0YXRlKHZpc2libGVSZWN0KTsKICNlbHNl
CiAgICAgICAgIC8vIEhhdmluZyBhIG1fY2xpcExheWVyIGluZGljYXRlcyB0aGF0IHdlJ3JlIGRv
aW5nIHNjcm9sbGluZyB2aWEgR3JhcGhpY3NMYXllcnMuCi0gICAgICAgIEludFJlY3QgdmlzaWJs
ZVJlY3QgPSBtX2NsaXBMYXllciA/IEludFJlY3QoSW50UG9pbnQoKSwgZnJhbWVWaWV3LnVuc2Nh
bGVkVG90YWxWaXNpYmxlQ29udGVudFNpemUoKSkgOiBmcmFtZVZpZXcudmlzaWJsZUNvbnRlbnRS
ZWN0KCk7CisgICAgICAgIEludFJlY3QgdmlzaWJsZVJlY3QgPSBtX2NsaXBMYXllciA/IEludFJl
Y3QoSW50UG9pbnQoKSwgZnJhbWVWaWV3LnVuc2NhbGVkVmlzaWJsZUNvbnRlbnRTaXplSW5jbHVk
aW5nSW5zZXRBcmVhKCkpIDogZnJhbWVWaWV3LnZpc2libGVDb250ZW50UmVjdCgpOwogICAgICAg
ICBpZiAoIWZyYW1lVmlldy5leHBvc2VkUmVjdCgpLmlzSW5maW5pdGUoKSkKICAgICAgICAgICAg
IHZpc2libGVSZWN0LmludGVyc2VjdChJbnRSZWN0KGZyYW1lVmlldy5leHBvc2VkUmVjdCgpKSk7
CiAgICAgICAgIHJvb3RMYXllci0+Zmx1c2hDb21wb3NpdGluZ1N0YXRlKHZpc2libGVSZWN0KTsK
QEAgLTE1NjIsNyArMTU2Miw3IEBAIHZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpmcmFtZVZp
ZXdEaWQKIHsKICAgICBpZiAobV9jbGlwTGF5ZXIpIHsKICAgICAgICAgY29uc3QgRnJhbWVWaWV3
JiBmcmFtZVZpZXcgPSBtX3JlbmRlclZpZXcuZnJhbWVWaWV3KCk7Ci0gICAgICAgIG1fY2xpcExh
eWVyLT5zZXRTaXplKGZyYW1lVmlldy51bnNjYWxlZFRvdGFsVmlzaWJsZUNvbnRlbnRTaXplKCkp
OworICAgICAgICBtX2NsaXBMYXllci0+c2V0U2l6ZShmcmFtZVZpZXcudW5zY2FsZWRWaXNpYmxl
Q29udGVudFNpemVJbmNsdWRpbmdJbnNldEFyZWEoKSk7CiAgICAgICAgIG1fY2xpcExheWVyLT5z
ZXRQb3NpdGlvbihwb3NpdGlvbkZvckNsaXBMYXllcigpKTsKIAogICAgICAgICBmcmFtZVZpZXdE
aWRTY3JvbGwoKTsKQEAgLTE5NzAsNyArMTk3MCw3IEBAIHZvaWQgUmVuZGVyTGF5ZXJDb21wb3Np
dG9yOjp1cGRhdGVSb290TGEKICAgICAgICAgbV9yb290Q29udGVudExheWVyLT5zZXRBbmNob3JQ
b2ludChGbG9hdFBvaW50M0QoKSk7CiAgICAgfQogICAgIGlmIChtX2NsaXBMYXllcikgewotICAg
ICAgICBtX2NsaXBMYXllci0+c2V0U2l6ZShtX3JlbmRlclZpZXcuZnJhbWVWaWV3KCkudW5zY2Fs
ZWRUb3RhbFZpc2libGVDb250ZW50U2l6ZSgpKTsKKyAgICAgICAgbV9jbGlwTGF5ZXItPnNldFNp
emUobV9yZW5kZXJWaWV3LmZyYW1lVmlldygpLnVuc2NhbGVkVmlzaWJsZUNvbnRlbnRTaXplSW5j
bHVkaW5nSW5zZXRBcmVhKCkpOwogICAgICAgICBtX2NsaXBMYXllci0+c2V0UG9zaXRpb24ocG9z
aXRpb25Gb3JDbGlwTGF5ZXIoKSk7CiAgICAgfQogCkBAIC0zMjY3LDcgKzMyNjcsNyBAQCB2b2lk
IFJlbmRlckxheWVyQ29tcG9zaXRvcjo6ZW5zdXJlUm9vdExhCiAgICAgICAgICAgICBtX2NsaXBM
YXllci0+YWRkQ2hpbGQobV9zY3JvbGxMYXllci5nZXQoKSk7CiAgICAgICAgICAgICBtX3Njcm9s
bExheWVyLT5hZGRDaGlsZChtX3Jvb3RDb250ZW50TGF5ZXIuZ2V0KCkpOwogCi0gICAgICAgICAg
ICBtX2NsaXBMYXllci0+c2V0U2l6ZShtX3JlbmRlclZpZXcuZnJhbWVWaWV3KCkudW5zY2FsZWRU
b3RhbFZpc2libGVDb250ZW50U2l6ZSgpKTsKKyAgICAgICAgICAgIG1fY2xpcExheWVyLT5zZXRT
aXplKG1fcmVuZGVyVmlldy5mcmFtZVZpZXcoKS51bnNjYWxlZFZpc2libGVDb250ZW50U2l6ZUlu
Y2x1ZGluZ0luc2V0QXJlYSgpKTsKICAgICAgICAgICAgIG1fY2xpcExheWVyLT5zZXRQb3NpdGlv
bihwb3NpdGlvbkZvckNsaXBMYXllcigpKTsKICAgICAgICAgICAgIG1fY2xpcExheWVyLT5zZXRB
bmNob3JQb2ludChGbG9hdFBvaW50M0QoKSk7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>235899</attachid>
            <date>2014-08-01 12:15:36 -0700</date>
            <delta_ts>2014-08-01 14:33:58 -0700</delta_ts>
            <desc>Patch with a new name</desc>
            <filename>for-review-2.txt</filename>
            <type>text/plain</type>
            <size>13195</size>
            <attacher name="Beth Dakin">bdakin</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE3MTk0MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDUzIEBACisyMDE0LTA4LTAxICBCZXRoIERh
a2luICA8YmRha2luQGFwcGxlLmNvbT4KKworICAgICAgICBJbnNwZWN0b3IgaGlnaGxpZ2h0cyBj
bGlwcGVkIGF0IHRoZSBib3R0b20gb24gdGhlIHBhZ2UgaW4gV0sxIHZpZXdzIHdpdGggCisgICAg
ICAgIGNvbnRlbnRJbnNldHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEzNTQ4MAorICAgICAgICAtYW5kIGNvcnJlc3BvbmRpbmctCisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS8xNzg1MDMyMz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICB1bnNjYWxlZFRvdGFsVmlzaWJsZUNvbnRlbnRTaXplKCkgd2FzIHRo
ZSBtYWluIGZ1bmN0aW9uIG9uIE1hYyB0aGF0IHdhcyBleHBlY3RlZCAKKyAgICAgICAgdG8gcmV0
dXJuIHRoZSByZWN0IHJlcHJlc2VudGluZyBBTEwgdmlzaWJsZSBjb250ZW50LCBpbmNsdWRpbmcg
Y29udGVudCB0aGF0IG1pZ2h0IAorICAgICAgICBiZSBpbiBhbiBpbnNldCBhcmVhIGFuZCBvYnNj
dXJlZCBieSBVSSBlbGVtZW50cy4gVGhpcyBwYXRjaCByZS1uYW1lcyB0aGF0IGZ1bmN0aW9uIAor
ICAgICAgICB0byB1bnNjYWxlZFZpc2libGVDb250ZW50U2l6ZUluY2x1ZGluZ09ic2N1cmVkQXJl
YSgpLCBhbmQgdGhhdCBwYXRjaCBtYWtlcyB0aGF0IAorICAgICAgICBmdW5jdGlvbiByZXR1cm4g
dGhlIHJpZ2h0IHRoaW5nIGluIHRoZSBwbGF0Zm9ybVdpZGdldCgpIGNhc2UuCisKKyAgICAgICAg
UmUtbmFtZS4KKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yT3ZlcmxheS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JPdmVybGF5Ojp1cGRhdGUpOgorCisgICAgICAgIFJldHVy
biBwbGF0Zm9ybVZpc2libGVDb250ZW50U2l6ZUluY2x1ZGluZ09ic2N1cmVkQXJlYSgpIGZvciB0
aGUgcGxhdGZvcm1XaWRnZXQoKSAKKyAgICAgICAgY2FzZSBhbmQgcmUtbmFtZS4KKyAgICAgICAg
KiBwbGF0Zm9ybS9TY3JvbGxWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbFZpZXc6
OnVuc2NhbGVkVmlzaWJsZUNvbnRlbnRTaXplSW5jbHVkaW5nT2JzY3VyZWRBcmVhKToKKworICAg
ICAgICBUaGlzIHdhcyBqdXN0IHdyb25nLiBJdCB3YXMgcmV0dXJuaW5nIHRoZSBiaWcgcmVjdGFu
Z2xlIGluc3RlYWQgb2YgdGhlIHNtYWxsIG9uZSAKKyAgICAgICAgZm9yIHBsYXRmb3JtV2lkZ2V0
KCkuCisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3Ojp1bnNjYWxlZFVub2JzY3VyZWRWaXNp
YmxlQ29udGVudFNpemUpOgorCisgICAgICAgIE5ldyBwbGF0Zm9ybSBmdW5jdGlvbnMuCisgICAg
ICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3OjpwbGF0Zm9ybVZpc2libGVDb250ZW50UmVjdEluY2x1
ZGluZ09ic2N1cmVkQXJlYSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3OjpwbGF0Zm9y
bVZpc2libGVDb250ZW50U2l6ZUluY2x1ZGluZ09ic2N1cmVkQXJlYSk6CisgICAgICAgIChXZWJD
b3JlOjpTY3JvbGxWaWV3Ojp1bnNjYWxlZFRvdGFsVmlzaWJsZUNvbnRlbnRTaXplKTogRGVsZXRl
ZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxWaWV3Lmg6CisgICAgICAgICogcGxhdGZvcm0v
aW9zL1Njcm9sbFZpZXdJT1MubW06CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3OjpwbGF0
Zm9ybVZpc2libGVDb250ZW50UmVjdEluY2x1ZGluZ09ic2N1cmVkQXJlYSk6CisgICAgICAgIChX
ZWJDb3JlOjpTY3JvbGxWaWV3OjpwbGF0Zm9ybVZpc2libGVDb250ZW50U2l6ZUluY2x1ZGluZ09i
c2N1cmVkQXJlYSk6CisgICAgICAgICogcGxhdGZvcm0vbWFjL1Njcm9sbFZpZXdNYWMubW06Cisg
ICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3OjpwbGF0Zm9ybVZpc2libGVDb250ZW50UmVjdCk6
CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3OjpwbGF0Zm9ybVZpc2libGVDb250ZW50U2l6
ZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3OjpwbGF0Zm9ybVZpc2libGVDb250ZW50
UmVjdEluY2x1ZGluZ09ic2N1cmVkQXJlYSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3
OjpwbGF0Zm9ybVZpc2libGVDb250ZW50U2l6ZUluY2x1ZGluZ09ic2N1cmVkQXJlYSk6CisKKyAg
ICAgICAgUmUtbmFtZS4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9y
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6Zmx1c2hQZW5k
aW5nTGF5ZXJDaGFuZ2VzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQ29tcG9zaXRv
cjo6ZnJhbWVWaWV3RGlkQ2hhbmdlU2l6ZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXll
ckNvbXBvc2l0b3I6OnVwZGF0ZVJvb3RMYXllclBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6ZW5zdXJlUm9vdExheWVyKToKKwogMjAxNC0wNy0zMCAg
TXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgogCiAgICAgICAgIFVSTHMg
aW4gc3Jjc2V0IGF0dHJpYnV0ZXMgYXJlIG5vdCBtYWRlIGFic29sdXRlIHVwb24gY29weSBhbmQg
cGFzdGUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JPdmVybGF5LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yT3Zlcmxh
eS5jcHAJKHJldmlzaW9uIDE3MTkzOSkKKysrIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JPdmVybGF5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzQ0LDggKzM0NCw4IEBAIHZvaWQg
SW5zcGVjdG9yT3ZlcmxheTo6dXBkYXRlKCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgRnJhbWVW
aWV3KiBvdmVybGF5VmlldyA9IG92ZXJsYXlQYWdlKCktPm1haW5GcmFtZSgpLnZpZXcoKTsKLSAg
ICBJbnRTaXplIHZpZXdwb3J0U2l6ZSA9IHZpZXctPnVuc2NhbGVkVG90YWxWaXNpYmxlQ29udGVu
dFNpemUoKTsKLSAgICBJbnRTaXplIGZyYW1lVmlld0Z1bGxTaXplID0gdmlldy0+dW5zY2FsZWRU
b3RhbFZpc2libGVDb250ZW50U2l6ZShTY3JvbGxhYmxlQXJlYTo6SW5jbHVkZVNjcm9sbGJhcnMp
OworICAgIEludFNpemUgdmlld3BvcnRTaXplID0gdmlldy0+dW5zY2FsZWRWaXNpYmxlQ29udGVu
dFNpemVJbmNsdWRpbmdPYnNjdXJlZEFyZWEoKTsKKyAgICBJbnRTaXplIGZyYW1lVmlld0Z1bGxT
aXplID0gdmlldy0+dW5zY2FsZWRWaXNpYmxlQ29udGVudFNpemVJbmNsdWRpbmdPYnNjdXJlZEFy
ZWEoU2Nyb2xsYWJsZUFyZWE6OkluY2x1ZGVTY3JvbGxiYXJzKTsKICAgICBvdmVybGF5UGFnZSgp
LT5zZXRQYWdlU2NhbGVGYWN0b3IobV9wYWdlLnBhZ2VTY2FsZUZhY3RvcigpLCBJbnRQb2ludCgp
KTsKICAgICBmcmFtZVZpZXdGdWxsU2l6ZS5zY2FsZShtX3BhZ2UucGFnZVNjYWxlRmFjdG9yKCkp
OwogICAgIG92ZXJsYXlWaWV3LT5yZXNpemUoZnJhbWVWaWV3RnVsbFNpemUpOwpJbmRleDogU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5jcHAJKHJldmlzaW9uIDE3MTkzOSkKKysrIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0y
NjYsMTAgKzI2NiwxMCBAQCBJbnRSZWN0IFNjcm9sbFZpZXc6OnVub2JzY3VyZWRDb250ZW50UmVj
CiAgICAgcmV0dXJuIEludFJlY3QoSW50UG9pbnQobV9zY3JvbGxPZmZzZXQpLCBleHBhbmRlZElu
dFNpemUodmlzaWJsZUNvbnRlbnRTaXplKSk7CiB9CiAKLUludFNpemUgU2Nyb2xsVmlldzo6dW5z
Y2FsZWRUb3RhbFZpc2libGVDb250ZW50U2l6ZShWaXNpYmxlQ29udGVudFJlY3RJbmNsdWRlc1Nj
cm9sbGJhcnMgc2Nyb2xsYmFySW5jbHVzaW9uKSBjb25zdAorSW50U2l6ZSBTY3JvbGxWaWV3Ojp1
bnNjYWxlZFZpc2libGVDb250ZW50U2l6ZUluY2x1ZGluZ09ic2N1cmVkQXJlYShWaXNpYmxlQ29u
dGVudFJlY3RJbmNsdWRlc1Njcm9sbGJhcnMgc2Nyb2xsYmFySW5jbHVzaW9uKSBjb25zdAogewog
ICAgIGlmIChwbGF0Zm9ybVdpZGdldCgpKQotICAgICAgICByZXR1cm4gcGxhdGZvcm1WaXNpYmxl
Q29udGVudFNpemUoc2Nyb2xsYmFySW5jbHVzaW9uID09IEluY2x1ZGVTY3JvbGxiYXJzKTsKKyAg
ICAgICAgcmV0dXJuIHBsYXRmb3JtVmlzaWJsZUNvbnRlbnRTaXplSW5jbHVkaW5nT2JzY3VyZWRB
cmVhKHNjcm9sbGJhckluY2x1c2lvbiA9PSBJbmNsdWRlU2Nyb2xsYmFycyk7CiAKICNpZiBVU0Uo
VElMRURfQkFDS0lOR19TVE9SRSkKICAgICBpZiAoIW1fZml4ZWRWaXNpYmxlQ29udGVudFJlY3Qu
aXNFbXB0eSgpKQpAQCAtMjkxLDEwICsyOTEsMTAgQEAgSW50U2l6ZSBTY3JvbGxWaWV3Ojp1bnNj
YWxlZFRvdGFsVmlzaWJsZQogICAgIAogSW50U2l6ZSBTY3JvbGxWaWV3Ojp1bnNjYWxlZFVub2Jz
Y3VyZWRWaXNpYmxlQ29udGVudFNpemUoVmlzaWJsZUNvbnRlbnRSZWN0SW5jbHVkZXNTY3JvbGxi
YXJzIHNjcm9sbGJhckluY2x1c2lvbikgY29uc3QKIHsKLSAgICBJbnRTaXplIHZpc2libGVDb250
ZW50U2l6ZSA9IHVuc2NhbGVkVG90YWxWaXNpYmxlQ29udGVudFNpemUoc2Nyb2xsYmFySW5jbHVz
aW9uKTsKLSAgICAKKyAgICBJbnRTaXplIHZpc2libGVDb250ZW50U2l6ZSA9IHVuc2NhbGVkVmlz
aWJsZUNvbnRlbnRTaXplSW5jbHVkaW5nT2JzY3VyZWRBcmVhKHNjcm9sbGJhckluY2x1c2lvbik7
CisKICAgICBpZiAocGxhdGZvcm1XaWRnZXQoKSkKLSAgICAgICAgcmV0dXJuIHZpc2libGVDb250
ZW50U2l6ZTsKKyAgICAgICAgcmV0dXJuIHBsYXRmb3JtVmlzaWJsZUNvbnRlbnRTaXplKHNjcm9s
bGJhckluY2x1c2lvbiA9PSBJbmNsdWRlU2Nyb2xsYmFycyk7CiAKICNpZiBVU0UoVElMRURfQkFD
S0lOR19TVE9SRSkKICAgICBpZiAoIW1fZml4ZWRWaXNpYmxlQ29udGVudFJlY3QuaXNFbXB0eSgp
KQpAQCAtMTUyOSw2ICsxNTI5LDE2IEBAIEludFNpemUgU2Nyb2xsVmlldzo6cGxhdGZvcm1WaXNp
YmxlQ29udGUKICAgICByZXR1cm4gSW50U2l6ZSgpOwogfQogCitJbnRSZWN0IFNjcm9sbFZpZXc6
OnBsYXRmb3JtVmlzaWJsZUNvbnRlbnRSZWN0SW5jbHVkaW5nT2JzY3VyZWRBcmVhKGJvb2wpIGNv
bnN0Cit7CisgICAgcmV0dXJuIEludFJlY3QoKTsKK30KKworSW50U2l6ZSBTY3JvbGxWaWV3Ojpw
bGF0Zm9ybVZpc2libGVDb250ZW50U2l6ZUluY2x1ZGluZ09ic2N1cmVkQXJlYShib29sKSBjb25z
dAoreworICAgIHJldHVybiBJbnRTaXplKCk7Cit9CisKIHZvaWQgU2Nyb2xsVmlldzo6cGxhdGZv
cm1TZXRDb250ZW50c1NpemUoKQogewogfQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
U2Nyb2xsVmlldy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9s
bFZpZXcuaAkocmV2aXNpb24gMTcxOTM5KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Ny
b2xsVmlldy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMDYsOSArMjA2LDkgQEAgcHVibGljOgogICAg
IC8vIHZpc2libGVDb250ZW50U2NhbGVGYWN0b3IgaXMgdXN1YWxseSAxLCBleGNlcHQgd2hlbiB0
aGUgc2V0dGluZyBkZWxlZ2F0ZXNQYWdlU2NhbGluZyBpcyB0cnVlIGFuZCB0aGUKICAgICAvLyBT
Y3JvbGxWaWV3IGlzIHRoZSBtYWluIGZyYW1lOyBpbiB0aGF0IGNhc2UsIHZpc2libGVDb250ZW50
U2NhbGVGYWN0b3IgaXMgZXF1YWwgdG8gdGhlIHBhZ2UncyBwYWdlU2NhbGVGYWN0b3IuCiAgICAg
Ly8gUG9ydHMgdGhhdCBkb24ndCB1c2UgcGFnZVNjYWxlRmFjdG9yIGNhbiB0cmVhdCB1bnNjYWxl
ZFVub2JzY3VyZWRWaXNpYmxlQ29udGVudFNpemUgYW5kIHZpc2libGVDb250ZW50UmVjdCgpLnNp
emUoKSBhcyBlcXVpdmFsZW50LgotICAgIC8vIHVuc2NhbGVkVG90YWxWaXNpYmxlQ29udGVudFNp
emUoKSBpbmNsdWRlcyBhcmVhcyBpbiB0aGUgY29udGVudCB0aGF0IG1pZ2h0IGJlIG9ic2N1cmVk
IGJ5IFVJIGVsZW1lbnRzLgorICAgIC8vIHVuc2NhbGVkVmlzaWJsZUNvbnRlbnRTaXplSW5jbHVk
aW5nT2JzY3VyZWRBcmVhKCkgaW5jbHVkZXMgYXJlYXMgaW4gdGhlIGNvbnRlbnQgdGhhdCBtaWdo
dCBiZSBvYnNjdXJlZCBieSBVSSBlbGVtZW50cy4KICAgICBJbnRTaXplIHVuc2NhbGVkVW5vYnNj
dXJlZFZpc2libGVDb250ZW50U2l6ZShWaXNpYmxlQ29udGVudFJlY3RJbmNsdWRlc1Njcm9sbGJh
cnMgPSBFeGNsdWRlU2Nyb2xsYmFycykgY29uc3Q7Ci0gICAgSW50U2l6ZSB1bnNjYWxlZFRvdGFs
VmlzaWJsZUNvbnRlbnRTaXplKFZpc2libGVDb250ZW50UmVjdEluY2x1ZGVzU2Nyb2xsYmFycyA9
IEV4Y2x1ZGVTY3JvbGxiYXJzKSBjb25zdDsKKyAgICBJbnRTaXplIHVuc2NhbGVkVmlzaWJsZUNv
bnRlbnRTaXplSW5jbHVkaW5nT2JzY3VyZWRBcmVhKFZpc2libGVDb250ZW50UmVjdEluY2x1ZGVz
U2Nyb2xsYmFycyA9IEV4Y2x1ZGVTY3JvbGxiYXJzKSBjb25zdDsKICAgICB2aXJ0dWFsIGZsb2F0
IHZpc2libGVDb250ZW50U2NhbGVGYWN0b3IoKSBjb25zdCB7IHJldHVybiAxOyB9CiAKICAgICAv
LyBGdW5jdGlvbnMgZm9yIGdldHRpbmcvc2V0dGluZyB0aGUgc2l6ZSB3ZWJraXQgc2hvdWxkIHVz
ZSB0byBsYXlvdXQgdGhlIGNvbnRlbnRzLiBCeSBkZWZhdWx0IHRoaXMgaXMgdGhlIHNhbWUgYXMg
dGhlIHZpc2libGUKQEAgLTQ4MSw2ICs0ODEsOCBAQCBwcml2YXRlOgogICAgIGJvb2wgcGxhdGZv
cm1DYW5CbGl0T25TY3JvbGwoKSBjb25zdDsKICAgICBJbnRSZWN0IHBsYXRmb3JtVmlzaWJsZUNv
bnRlbnRSZWN0KGJvb2wgaW5jbHVkZVNjcm9sbGJhcnMpIGNvbnN0OwogICAgIEludFNpemUgcGxh
dGZvcm1WaXNpYmxlQ29udGVudFNpemUoYm9vbCBpbmNsdWRlU2Nyb2xsYmFycykgY29uc3Q7Cisg
ICAgSW50UmVjdCBwbGF0Zm9ybVZpc2libGVDb250ZW50UmVjdEluY2x1ZGluZ09ic2N1cmVkQXJl
YShib29sIGluY2x1ZGVTY3JvbGxiYXJzKSBjb25zdDsKKyAgICBJbnRTaXplIHBsYXRmb3JtVmlz
aWJsZUNvbnRlbnRTaXplSW5jbHVkaW5nT2JzY3VyZWRBcmVhKGJvb2wgaW5jbHVkZVNjcm9sbGJh
cnMpIGNvbnN0OwogICAgIHZvaWQgcGxhdGZvcm1TZXRDb250ZW50c1NpemUoKTsKICAgICBJbnRS
ZWN0IHBsYXRmb3JtQ29udGVudHNUb1NjcmVlbihjb25zdCBJbnRSZWN0JikgY29uc3Q7CiAgICAg
SW50UG9pbnQgcGxhdGZvcm1TY3JlZW5Ub0NvbnRlbnRzKGNvbnN0IEludFBvaW50JikgY29uc3Q7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvU2Nyb2xsVmlld0lPUy5tbQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvU2Nyb2xsVmlld0lPUy5tbQko
cmV2aXNpb24gMTcxOTM5KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1Njcm9sbFZp
ZXdJT1MubW0JKHdvcmtpbmcgY29weSkKQEAgLTE5NSw2ICsxOTUsMTYgQEAgSW50U2l6ZSBTY3Jv
bGxWaWV3OjpwbGF0Zm9ybVZpc2libGVDb250ZQogICAgIHJldHVybiBJbnRTaXplKCk7CiB9CiAK
K0ludFJlY3QgU2Nyb2xsVmlldzo6cGxhdGZvcm1WaXNpYmxlQ29udGVudFJlY3RJbmNsdWRpbmdP
YnNjdXJlZEFyZWEoYm9vbCBpbmNsdWRlU2Nyb2xsYmFycykgY29uc3QKK3sKKyAgICByZXR1cm4g
cGxhdGZvcm1WaXNpYmxlQ29udGVudFJlY3QoaW5jbHVkZVNjcm9sbGJhcnMpOworfQorCitJbnRT
aXplIFNjcm9sbFZpZXc6OnBsYXRmb3JtVmlzaWJsZUNvbnRlbnRTaXplSW5jbHVkaW5nT2JzY3Vy
ZWRBcmVhKGJvb2wgaW5jbHVkZVNjcm9sbGJhcnMpIGNvbnN0Cit7CisgICAgcmV0dXJuIHBsYXRm
b3JtVmlzaWJsZUNvbnRlbnRTaXplKGluY2x1ZGVTY3JvbGxiYXJzKTsKK30KKwogTGVnYWN5VGls
ZUNhY2hlKiBTY3JvbGxWaWV3OjpsZWdhY3lUaWxlQ2FjaGUoKQogewogICAgIC8vIE1ha2UgdGls
ZSBjYWNoZSBwb2ludGVyIGF2YWlsYWJsZSB2aWEgdGhlIG1haW4gZnJhbWUgb25seS4gVGlsZSBj
YWNoZSBpbnRlcmFjdGlvbiBzaG91bGQgYmUgbWFuYWdlZCBieQpJbmRleDogU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWFjL1Njcm9sbFZpZXdNYWMubW0KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbFZpZXdNYWMubW0JKHJldmlzaW9uIDE3MTkzOSkKKysr
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxWaWV3TWFjLm1tCSh3b3JraW5nIGNv
cHkpCkBAIC0xNDEsMzAgKzE0MSw0MyBAQCB2b2lkIFNjcm9sbFZpZXc6OnBsYXRmb3JtU2V0VG9w
Q29udGVudEluCiBJbnRSZWN0IFNjcm9sbFZpZXc6OnBsYXRmb3JtVmlzaWJsZUNvbnRlbnRSZWN0
KGJvb2wgaW5jbHVkZVNjcm9sbGJhcnMpIGNvbnN0CiB7CiAgICAgQkVHSU5fQkxPQ0tfT0JKQ19F
WENFUFRJT05TOworICAgIEludFJlY3QgdmlzaWJsZUNvbnRlbnRSZWN0ID0gcGxhdGZvcm1WaXNp
YmxlQ29udGVudFJlY3RJbmNsdWRpbmdPYnNjdXJlZEFyZWEoaW5jbHVkZVNjcm9sbGJhcnMpOwog
Ci0gICAgSW50UmVjdCB2aXNpYmxlQ29udGVudFJlY3QgPSBlbmNsb3NpbmdJbnRSZWN0KFtzY3Jv
bGxWaWV3KCkgZG9jdW1lbnRWaXNpYmxlUmVjdF0pOwogI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9N
SU5fUkVRVUlSRUQgPj0gMTAxMDAwCiAgICAgdmlzaWJsZUNvbnRlbnRSZWN0Lm1vdmUoc2Nyb2xs
VmlldygpLmNvbnRlbnRJbnNldHMubGVmdCwgc2Nyb2xsVmlldygpLmNvbnRlbnRJbnNldHMudG9w
KTsKICAgICB2aXNpYmxlQ29udGVudFJlY3QuY29udHJhY3Qoc2Nyb2xsVmlldygpLmNvbnRlbnRJ
bnNldHMubGVmdCArIHNjcm9sbFZpZXcoKS5jb250ZW50SW5zZXRzLnJpZ2h0LCBzY3JvbGxWaWV3
KCkuY29udGVudEluc2V0cy50b3AgKyBzY3JvbGxWaWV3KCkuY29udGVudEluc2V0cy5ib3R0b20p
OwogI2VuZGlmCiAKKyAgICByZXR1cm4gdmlzaWJsZUNvbnRlbnRSZWN0OworICAgIEVORF9CTE9D
S19PQkpDX0VYQ0VQVElPTlM7CisKKyAgICByZXR1cm4gSW50UmVjdCgpOworfQorCitJbnRTaXpl
IFNjcm9sbFZpZXc6OnBsYXRmb3JtVmlzaWJsZUNvbnRlbnRTaXplKGJvb2wgaW5jbHVkZVNjcm9s
bGJhcnMpIGNvbnN0Cit7CisgICAgcmV0dXJuIHBsYXRmb3JtVmlzaWJsZUNvbnRlbnRSZWN0KGlu
Y2x1ZGVTY3JvbGxiYXJzKS5zaXplKCk7Cit9CisKK0ludFJlY3QgU2Nyb2xsVmlldzo6cGxhdGZv
cm1WaXNpYmxlQ29udGVudFJlY3RJbmNsdWRpbmdPYnNjdXJlZEFyZWEoYm9vbCBpbmNsdWRlU2Ny
b2xsYmFycykgY29uc3QKK3sKKyAgICBCRUdJTl9CTE9DS19PQkpDX0VYQ0VQVElPTlM7CisgICAg
SW50UmVjdCB2aXNpYmxlQ29udGVudFJlY3RJbmNsdWRpbmdPYnNjdXJlZEFyZWEgPSBlbmNsb3Np
bmdJbnRSZWN0KFtzY3JvbGxWaWV3KCkgZG9jdW1lbnRWaXNpYmxlUmVjdF0pOworCiAgICAgaWYg
KGluY2x1ZGVTY3JvbGxiYXJzKSB7CiAgICAgICAgIEludFNpemUgZnJhbWVTaXplID0gSW50U2l6
ZShbc2Nyb2xsVmlldygpIGZyYW1lXS5zaXplKTsKLSNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlO
X1JFUVVJUkVEID49IDEwMTAwMAotICAgICAgICBmcmFtZVNpemUuY29udHJhY3Qoc2Nyb2xsVmll
dygpLmNvbnRlbnRJbnNldHMubGVmdCArIHNjcm9sbFZpZXcoKS5jb250ZW50SW5zZXRzLnJpZ2h0
LCBzY3JvbGxWaWV3KCkuY29udGVudEluc2V0cy50b3AgKyBzY3JvbGxWaWV3KCkuY29udGVudElu
c2V0cy5ib3R0b20pOwotI2VuZGlmCi0gICAgICAgIHZpc2libGVDb250ZW50UmVjdC5zZXRTaXpl
KGZyYW1lU2l6ZSk7CisgICAgICAgIHZpc2libGVDb250ZW50UmVjdEluY2x1ZGluZ09ic2N1cmVk
QXJlYS5zZXRTaXplKGZyYW1lU2l6ZSk7CiAgICAgfQogCi0gICAgcmV0dXJuIHZpc2libGVDb250
ZW50UmVjdDsKKyAgICByZXR1cm4gdmlzaWJsZUNvbnRlbnRSZWN0SW5jbHVkaW5nT2JzY3VyZWRB
cmVhOwogICAgIEVORF9CTE9DS19PQkpDX0VYQ0VQVElPTlM7CiAKICAgICByZXR1cm4gSW50UmVj
dCgpOwogfQogCi1JbnRTaXplIFNjcm9sbFZpZXc6OnBsYXRmb3JtVmlzaWJsZUNvbnRlbnRTaXpl
KGJvb2wgaW5jbHVkZVNjcm9sbGJhcnMpIGNvbnN0CitJbnRTaXplIFNjcm9sbFZpZXc6OnBsYXRm
b3JtVmlzaWJsZUNvbnRlbnRTaXplSW5jbHVkaW5nT2JzY3VyZWRBcmVhKGJvb2wgaW5jbHVkZVNj
cm9sbGJhcnMpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIHBsYXRmb3JtVmlzaWJsZUNvbnRlbnRSZWN0
KGluY2x1ZGVTY3JvbGxiYXJzKS5zaXplKCk7CisgICAgcmV0dXJuIHBsYXRmb3JtVmlzaWJsZUNv
bnRlbnRSZWN0SW5jbHVkaW5nT2JzY3VyZWRBcmVhKGluY2x1ZGVTY3JvbGxiYXJzKS5zaXplKCk7
CiB9CiAKIHZvaWQgU2Nyb2xsVmlldzo6cGxhdGZvcm1TZXRDb250ZW50c1NpemUoKQpJbmRleDog
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5j
cHAJKHJldmlzaW9uIDE3MTkzOSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllckNvbXBvc2l0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NjAsNyArNDYwLDcgQEAgdm9p
ZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OmZsdXNoUGVuZGluZwogICAgICAgICByb290TGF5ZXIt
PmZsdXNoQ29tcG9zaXRpbmdTdGF0ZSh2aXNpYmxlUmVjdCk7CiAjZWxzZQogICAgICAgICAvLyBI
YXZpbmcgYSBtX2NsaXBMYXllciBpbmRpY2F0ZXMgdGhhdCB3ZSdyZSBkb2luZyBzY3JvbGxpbmcg
dmlhIEdyYXBoaWNzTGF5ZXJzLgotICAgICAgICBJbnRSZWN0IHZpc2libGVSZWN0ID0gbV9jbGlw
TGF5ZXIgPyBJbnRSZWN0KEludFBvaW50KCksIGZyYW1lVmlldy51bnNjYWxlZFRvdGFsVmlzaWJs
ZUNvbnRlbnRTaXplKCkpIDogZnJhbWVWaWV3LnZpc2libGVDb250ZW50UmVjdCgpOworICAgICAg
ICBJbnRSZWN0IHZpc2libGVSZWN0ID0gbV9jbGlwTGF5ZXIgPyBJbnRSZWN0KEludFBvaW50KCks
IGZyYW1lVmlldy51bnNjYWxlZFZpc2libGVDb250ZW50U2l6ZUluY2x1ZGluZ09ic2N1cmVkQXJl
YSgpKSA6IGZyYW1lVmlldy52aXNpYmxlQ29udGVudFJlY3QoKTsKICAgICAgICAgaWYgKCFmcmFt
ZVZpZXcuZXhwb3NlZFJlY3QoKS5pc0luZmluaXRlKCkpCiAgICAgICAgICAgICB2aXNpYmxlUmVj
dC5pbnRlcnNlY3QoSW50UmVjdChmcmFtZVZpZXcuZXhwb3NlZFJlY3QoKSkpOwogICAgICAgICBy
b290TGF5ZXItPmZsdXNoQ29tcG9zaXRpbmdTdGF0ZSh2aXNpYmxlUmVjdCk7CkBAIC0xNTYyLDcg
KzE1NjIsNyBAQCB2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6ZnJhbWVWaWV3RGlkCiB7CiAg
ICAgaWYgKG1fY2xpcExheWVyKSB7CiAgICAgICAgIGNvbnN0IEZyYW1lVmlldyYgZnJhbWVWaWV3
ID0gbV9yZW5kZXJWaWV3LmZyYW1lVmlldygpOwotICAgICAgICBtX2NsaXBMYXllci0+c2V0U2l6
ZShmcmFtZVZpZXcudW5zY2FsZWRUb3RhbFZpc2libGVDb250ZW50U2l6ZSgpKTsKKyAgICAgICAg
bV9jbGlwTGF5ZXItPnNldFNpemUoZnJhbWVWaWV3LnVuc2NhbGVkVmlzaWJsZUNvbnRlbnRTaXpl
SW5jbHVkaW5nT2JzY3VyZWRBcmVhKCkpOwogICAgICAgICBtX2NsaXBMYXllci0+c2V0UG9zaXRp
b24ocG9zaXRpb25Gb3JDbGlwTGF5ZXIoKSk7CiAKICAgICAgICAgZnJhbWVWaWV3RGlkU2Nyb2xs
KCk7CkBAIC0xOTcwLDcgKzE5NzAsNyBAQCB2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6dXBk
YXRlUm9vdExhCiAgICAgICAgIG1fcm9vdENvbnRlbnRMYXllci0+c2V0QW5jaG9yUG9pbnQoRmxv
YXRQb2ludDNEKCkpOwogICAgIH0KICAgICBpZiAobV9jbGlwTGF5ZXIpIHsKLSAgICAgICAgbV9j
bGlwTGF5ZXItPnNldFNpemUobV9yZW5kZXJWaWV3LmZyYW1lVmlldygpLnVuc2NhbGVkVG90YWxW
aXNpYmxlQ29udGVudFNpemUoKSk7CisgICAgICAgIG1fY2xpcExheWVyLT5zZXRTaXplKG1fcmVu
ZGVyVmlldy5mcmFtZVZpZXcoKS51bnNjYWxlZFZpc2libGVDb250ZW50U2l6ZUluY2x1ZGluZ09i
c2N1cmVkQXJlYSgpKTsKICAgICAgICAgbV9jbGlwTGF5ZXItPnNldFBvc2l0aW9uKHBvc2l0aW9u
Rm9yQ2xpcExheWVyKCkpOwogICAgIH0KIApAQCAtMzI2Nyw3ICszMjY3LDcgQEAgdm9pZCBSZW5k
ZXJMYXllckNvbXBvc2l0b3I6OmVuc3VyZVJvb3RMYQogICAgICAgICAgICAgbV9jbGlwTGF5ZXIt
PmFkZENoaWxkKG1fc2Nyb2xsTGF5ZXIuZ2V0KCkpOwogICAgICAgICAgICAgbV9zY3JvbGxMYXll
ci0+YWRkQ2hpbGQobV9yb290Q29udGVudExheWVyLmdldCgpKTsKIAotICAgICAgICAgICAgbV9j
bGlwTGF5ZXItPnNldFNpemUobV9yZW5kZXJWaWV3LmZyYW1lVmlldygpLnVuc2NhbGVkVG90YWxW
aXNpYmxlQ29udGVudFNpemUoKSk7CisgICAgICAgICAgICBtX2NsaXBMYXllci0+c2V0U2l6ZSht
X3JlbmRlclZpZXcuZnJhbWVWaWV3KCkudW5zY2FsZWRWaXNpYmxlQ29udGVudFNpemVJbmNsdWRp
bmdPYnNjdXJlZEFyZWEoKSk7CiAgICAgICAgICAgICBtX2NsaXBMYXllci0+c2V0UG9zaXRpb24o
cG9zaXRpb25Gb3JDbGlwTGF5ZXIoKSk7CiAgICAgICAgICAgICBtX2NsaXBMYXllci0+c2V0QW5j
aG9yUG9pbnQoRmxvYXRQb2ludDNEKCkpOwogCg==
</data>
<flag name="review"
          id="260486"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>