<?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>80015</bug_id>
          
          <creation_ts>2012-03-01 01:29:15 -0800</creation_ts>
          <short_desc>Make the tiling code slightly smarter</short_desc>
          <delta_ts>2012-03-01 01:54:45 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Qt</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Kenneth Rohde Christiansen">kenneth</reporter>
          <assigned_to name="Kenneth Rohde Christiansen">kenneth</assigned_to>
          <cc>hausmann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>568470</commentid>
    <comment_count>0</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-03-01 01:29:15 -0800</bug_when>
    <thetext>Avoid doing the same tranformations all over in each call to tileRectForCoordinate.

Do not resize tiles and then drop them because they are not out of the keep rect; instead drop before resizing.

Rename dropTilesOutsideRect to setKeepRect as it now stored the keep rect. This is used to avoid unneeded iteration of all tiles for invalidates outside the keep rect.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>568478</commentid>
    <comment_count>1</comment_count>
      <attachid>129666</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-03-01 01:53:00 -0800</bug_when>
    <thetext>Created attachment 129666
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>568480</commentid>
    <comment_count>2</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-03-01 01:54:45 -0800</bug_when>
    <thetext>Landed in 109327.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>129666</attachid>
            <date>2012-03-01 01:53:00 -0800</date>
            <delta_ts>2012-03-01 01:53:39 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80015-20120301104617.patch</filename>
            <type>text/plain</type>
            <size>9795</size>
            <attacher name="Kenneth Rohde Christiansen">kenneth</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA5MzI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzI3ZDY0MzNjOGRhMTQ0
NmQ1ZmRkNWVmNGM0YjZlYjY0ZDg2YjYwMS4uM2Q0OGU0MzA0ZWU3OGNlNjIwYzI1ZjM0ODViYTMz
YmQ0MTMwMTY3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDEyLTAzLTAxICBLZW5u
ZXRoIFJvaGRlIENocmlzdGlhbnNlbiAgPGtlbm5ldGhAd2Via2l0Lm9yZz4KKworICAgICAgICBN
YWtlIHRoZSB0aWxpbmcgY29kZSBzbGlnaHRseSBzbWFydGVyCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDAxNQorCisgICAgICAgIFJldmlld2VkIGJ5
IFNpbW9uIEhhdXNtYW5uLgorCisgICAgICAgIEF2b2lkIGRvaW5nIHRoZSBzYW1lIHRyYW5mb3Jt
YXRpb25zIGFsbCBvdmVyIGluIGVhY2ggY2FsbCB0bworICAgICAgICB0aWxlUmVjdEZvckNvb3Jk
aW5hdGUuCisKKyAgICAgICAgRG8gbm90IHJlc2l6ZSB0aWxlcyBhbmQgdGhlbiBkcm9wIHRoZW0g
YmVjYXVzZSB0aGV5IGFyZSBub3Qgb3V0IG9mCisgICAgICAgIHRoZSBrZWVwIHJlY3Q7IGluc3Rl
YWQgZHJvcCBiZWZvcmUgcmVzaXppbmcuCisKKyAgICAgICAgUmVuYW1lIGRyb3BUaWxlc091dHNp
ZGVSZWN0IHRvIHNldEtlZXBSZWN0IGFzIGl0IG5vdyBzdG9yZWQgdGhlIGtlZXAKKyAgICAgICAg
cmVjdC4gVGhpcyBpcyB1c2VkIHRvIGF2b2lkIHVubmVlZGVkIGl0ZXJhdGlvbiBvZiBhbGwgdGls
ZXMgZm9yCisgICAgICAgIGludmFsaWRhdGVzIG91dHNpZGUgdGhlIGtlZXAgcmVjdC4KKworICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1RpbGVkQmFja2luZ1N0b3JlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlRpbGVkQmFja2luZ1N0b3JlOjppbnZhbGlkYXRlKToKKyAgICAgICAgKFdlYkNv
cmUpOgorICAgICAgICAoV2ViQ29yZTo6VGlsZWRCYWNraW5nU3RvcmU6OmNvbW1pdFNjYWxlQ2hh
bmdlKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbGVkQmFja2luZ1N0b3JlOjpjb3ZlcmFnZVJhdGlv
KToKKyAgICAgICAgKFdlYkNvcmU6OlRpbGVkQmFja2luZ1N0b3JlOjpjcmVhdGVUaWxlcyk6Cisg
ICAgICAgIChXZWJDb3JlOjpUaWxlZEJhY2tpbmdTdG9yZTo6YWRqdXN0Rm9yQ29udGVudHNSZWN0
KToKKyAgICAgICAgKFdlYkNvcmU6OlRpbGVkQmFja2luZ1N0b3JlOjpyZXNpemVFZGdlVGlsZXMp
OgorICAgICAgICAoV2ViQ29yZTo6VGlsZWRCYWNraW5nU3RvcmU6OnNldEtlZXBSZWN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OlRpbGVkQmFja2luZ1N0b3JlOjpyZW1vdmVBbGxOb25WaXNpYmxlVGls
ZXMpOgorICAgICAgICAoV2ViQ29yZTo6VGlsZWRCYWNraW5nU3RvcmU6OnRpbGVSZWN0Rm9yQ29v
cmRpbmF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpUaWxlZEJhY2tpbmdTdG9yZTo6c2V0U3VwcG9y
dHNBbHBoYSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5nU3RvcmUu
aDoKKyAgICAgICAgKFRpbGVkQmFja2luZ1N0b3JlKToKKwogMjAxMi0wMi0yOSAgS2ludWtvIFlh
c3VkYSAgPGtpbnVrb0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVXNlIHRoZSBuZXcgY3JlYXRl
U25hcHNob3RGaWxlQW5kUmVhZE1ldGFkYXRhIEFQSSBmb3IgRmlsZUVudHJ5LmZpbGUoKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5nU3Rv
cmUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5nU3Rv
cmUuY3BwCmluZGV4IDhmNzA1MmM1ZmU5YWQ2ZjE1ODcxYWRhYTgwOTZiYTU2NDY3NzY4Y2MuLjQy
YzhkZWE3NzNhYzk5NGYzZDZmZDQ5MTNjYWE3ZDU0NDU0YzJiMDkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1RpbGVkQmFja2luZ1N0b3JlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UaWxlZEJhY2tpbmdTdG9yZS5jcHAKQEAg
LTgyLDExICs4MiwxMSBAQCB2b2lkIFRpbGVkQmFja2luZ1N0b3JlOjpjb3ZlcldpdGhUaWxlc0lm
TmVlZGVkKGNvbnN0IEZsb2F0UG9pbnQmIHBhbm5pbmdUcmFqZWN0bwogCiB2b2lkIFRpbGVkQmFj
a2luZ1N0b3JlOjppbnZhbGlkYXRlKGNvbnN0IEludFJlY3QmIGNvbnRlbnRzRGlydHlSZWN0KQog
ewotICAgIEludFJlY3QgZGlydHlSZWN0KG1hcEZyb21Db250ZW50cyhjb250ZW50c0RpcnR5UmVj
dCkpOwotICAgIAorICAgIEludFJlY3QgZGlydHlSZWN0KGludGVyc2VjdGlvbihtYXBGcm9tQ29u
dGVudHMoY29udGVudHNEaXJ0eVJlY3QpLCBtX2tlZXBSZWN0KSk7CisKICAgICBUaWxlOjpDb29y
ZGluYXRlIHRvcExlZnQgPSB0aWxlQ29vcmRpbmF0ZUZvclBvaW50KGRpcnR5UmVjdC5sb2NhdGlv
bigpKTsKICAgICBUaWxlOjpDb29yZGluYXRlIGJvdHRvbVJpZ2h0ID0gdGlsZUNvb3JkaW5hdGVG
b3JQb2ludChpbm5lckJvdHRvbVJpZ2h0KGRpcnR5UmVjdCkpOwotICAgIAorCiAgICAgZm9yICh1
bnNpZ25lZCB5Q29vcmRpbmF0ZSA9IHRvcExlZnQueSgpOyB5Q29vcmRpbmF0ZSA8PSBib3R0b21S
aWdodC55KCk7ICsreUNvb3JkaW5hdGUpIHsKICAgICAgICAgZm9yICh1bnNpZ25lZCB4Q29vcmRp
bmF0ZSA9IHRvcExlZnQueCgpOyB4Q29vcmRpbmF0ZSA8PSBib3R0b21SaWdodC54KCk7ICsreENv
b3JkaW5hdGUpIHsKICAgICAgICAgICAgIFJlZlB0cjxUaWxlPiBjdXJyZW50VGlsZSA9IHRpbGVB
dChUaWxlOjpDb29yZGluYXRlKHhDb29yZGluYXRlLCB5Q29vcmRpbmF0ZSkpOwpAQCAtMTgwLDEz
ICsxODAsMTMgQEAgdm9pZCBUaWxlZEJhY2tpbmdTdG9yZTo6c2V0Q29udGVudHNTY2FsZShmbG9h
dCBzY2FsZSkKICAgICAgICAgcmV0dXJuOwogICAgIGNvbW1pdFNjYWxlQ2hhbmdlKCk7CiB9Ci0g
ICAgCisKIHZvaWQgVGlsZWRCYWNraW5nU3RvcmU6OmNvbW1pdFNjYWxlQ2hhbmdlKCkKIHsKICAg
ICBtX2NvbnRlbnRzU2NhbGUgPSBtX3BlbmRpbmdTY2FsZTsKICAgICBtX3BlbmRpbmdTY2FsZSA9
IDA7CiAgICAgbV90aWxlcy5jbGVhcigpOwotICAgIGNyZWF0ZVRpbGVzKCk7CisgICAgY292ZXJX
aXRoVGlsZXNJZk5lZWRlZCgpOwogfQogCiBkb3VibGUgVGlsZWRCYWNraW5nU3RvcmU6OnRpbGVE
aXN0YW5jZShjb25zdCBJbnRSZWN0JiB2aWV3cG9ydCwgY29uc3QgVGlsZTo6Q29vcmRpbmF0ZSYg
dGlsZUNvb3JkaW5hdGUpIGNvbnN0CkBAIC0yMTMsNyArMjEzLDcgQEAgZmxvYXQgVGlsZWRCYWNr
aW5nU3RvcmU6OmNvdmVyYWdlUmF0aW8oY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgY29udGVudHNS
ZWN0KSBjb24KICAgICBmb3IgKHVuc2lnbmVkIHlDb29yZGluYXRlID0gdG9wTGVmdC55KCk7IHlD
b29yZGluYXRlIDw9IGJvdHRvbVJpZ2h0LnkoKTsgKyt5Q29vcmRpbmF0ZSkgewogICAgICAgICBm
b3IgKHVuc2lnbmVkIHhDb29yZGluYXRlID0gdG9wTGVmdC54KCk7IHhDb29yZGluYXRlIDw9IGJv
dHRvbVJpZ2h0LngoKTsgKyt4Q29vcmRpbmF0ZSkgewogICAgICAgICAgICAgVGlsZTo6Q29vcmRp
bmF0ZSBjdXJyZW50Q29vcmRpbmF0ZSh4Q29vcmRpbmF0ZSwgeUNvb3JkaW5hdGUpOwotICAgICAg
ICAgICAgUmVmUHRyPFRpbGU+IGN1cnJlbnRUaWxlID0gdGlsZUF0KFRpbGU6OkNvb3JkaW5hdGUo
eENvb3JkaW5hdGUsIHlDb29yZGluYXRlKSk7CisgICAgICAgICAgICBSZWZQdHI8VGlsZT4gY3Vy
cmVudFRpbGUgPSB0aWxlQXQoY3VycmVudENvb3JkaW5hdGUpOwogICAgICAgICAgICAgaWYgKGN1
cnJlbnRUaWxlICYmIGN1cnJlbnRUaWxlLT5pc1JlYWR5VG9QYWludCgpKSB7CiAgICAgICAgICAg
ICAgICAgSW50UmVjdCBjb3ZlclJlY3QgPSBpbnRlcnNlY3Rpb24oZGlydHlSZWN0LCBjdXJyZW50
VGlsZS0+cmVjdCgpKTsKICAgICAgICAgICAgICAgICBjb3ZlckFyZWEgKz0gY292ZXJSZWN0Lndp
ZHRoKCkgKiBjb3ZlclJlY3QuaGVpZ2h0KCk7CkBAIC0yMzAsOCArMjMwLDExIEBAIGJvb2wgVGls
ZWRCYWNraW5nU3RvcmU6OnZpc2libGVBcmVhSXNDb3ZlcmVkKCkgY29uc3QKIAogdm9pZCBUaWxl
ZEJhY2tpbmdTdG9yZTo6Y3JlYXRlVGlsZXMoKQogewotICAgIGlmIChtX2NvbnRlbnRzRnJvemVu
KQotICAgICAgICByZXR1cm47CisgICAgQVNTRVJUKCFtX2NvbnRlbnRzRnJvemVuKTsKKworICAg
IC8vIFVwZGF0ZSBvdXIgYmFja2luZyBzdG9yZSBnZW9tZXRyeS4KKyAgICBjb25zdCBJbnRSZWN0
IHByZXZpb3VzUmVjdCA9IG1fcmVjdDsKKyAgICBtX3JlY3QgPSBtYXBGcm9tQ29udGVudHMobV9j
bGllbnQtPnRpbGVkQmFja2luZ1N0b3JlQ29udGVudHNSZWN0KCkpOwogCiAgICAgY29uc3QgSW50
UmVjdCB2aXNpYmxlUmVjdCA9IHZpc2libGVDb250ZW50c1JlY3QoKTsKICAgICBtX3ByZXZpb3Vz
VmlzaWJsZVJlY3QgPSB2aXNpYmxlUmVjdDsKQEAgLTIzOSwyMiArMjQyLDE5IEBAIHZvaWQgVGls
ZWRCYWNraW5nU3RvcmU6OmNyZWF0ZVRpbGVzKCkKICAgICBpZiAodmlzaWJsZVJlY3QuaXNFbXB0
eSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICAvLyBSZXNpemUgdGlsZXMgb24gZWRnZXMgaW4g
Y2FzZSB0aGUgY29udGVudHMgc2l6ZSBoYXMgY2hhbmdlZC4KLSAgICBib29sIGRpZFJlc2l6ZVRp
bGVzID0gZmFsc2U7Ci0gICAgY29uc3QgSW50U2l6ZSBjb250ZW50c1NpemUgPSBjb250ZW50c1Jl
Y3QoKS5zaXplKCk7Ci0KLSAgICBpZiAoY29udGVudHNTaXplICE9IG1fcHJldmlvdXNDb250ZW50
c1NpemUpIHsKLSAgICAgICAgbV9wcmV2aW91c0NvbnRlbnRzU2l6ZSA9IGNvbnRlbnRzU2l6ZTsK
LSAgICAgICAgZGlkUmVzaXplVGlsZXMgPSByZXNpemVFZGdlVGlsZXMoKTsKLSAgICB9Ci0KICAg
ICBJbnRSZWN0IGtlZXBSZWN0OwogICAgIEludFJlY3QgY292ZXJSZWN0OwogICAgIGNvbXB1dGVD
b3ZlckFuZEtlZXBSZWN0KHZpc2libGVSZWN0LCBjb3ZlclJlY3QsIGtlZXBSZWN0KTsKIAotICAg
IGRyb3BUaWxlc091dHNpZGVSZWN0KGtlZXBSZWN0KTsKKyAgICBzZXRLZWVwUmVjdChrZWVwUmVj
dCk7CiAKLSAgICAvLyBTZWFyY2ggZm9yIHRoZSB0aWxlIHBvc2l0aW9uIGNsb3Nlc3QgdG8gdGhl
IHZpZXdwb3J0IGNlbnRlciB0aGF0IGRvZXMgbm90IHlldCBjb250YWluIGEgdGlsZS4gCisgICAg
Ly8gUmVzaXplIHRpbGVzIGF0IHRoZSBlZGdlIGluIGNhc2UgdGhlIGNvbnRlbnRzIHNpemUgaGFz
IGNoYW5nZWQsIGJ1dCBvbmx5IGRvIHNvCisgICAgLy8gYWZ0ZXIgaGF2aW5nIGRyb3BwZWQgdGls
ZXMgb3V0c2lkZSB0aGUga2VlcCByZWN0LgorICAgIGJvb2wgZGlkUmVzaXplVGlsZXMgPSBmYWxz
ZTsKKyAgICBpZiAocHJldmlvdXNSZWN0ICE9IG1fcmVjdCkKKyAgICAgICAgZGlkUmVzaXplVGls
ZXMgPSByZXNpemVFZGdlVGlsZXMoKTsKKworICAgIC8vIFNlYXJjaCBmb3IgdGhlIHRpbGUgcG9z
aXRpb24gY2xvc2VzdCB0byB0aGUgdmlld3BvcnQgY2VudGVyIHRoYXQgZG9lcyBub3QgeWV0IGNv
bnRhaW4gYSB0aWxlLgogICAgIC8vIFdoaWNoIHBvc2l0aW9uIGlzIGNvbnNpZGVyZWQgdGhlIGNs
b3Nlc3QgZGVwZW5kcyBvbiB0aGUgdGlsZURpc3RhbmNlIGZ1bmN0aW9uLgogICAgIGRvdWJsZSBz
aG9ydGVzdERpc3RhbmNlID0gc3RkOjpudW1lcmljX2xpbWl0czxkb3VibGU+OjppbmZpbml0eSgp
OwogICAgIFZlY3RvcjxUaWxlOjpDb29yZGluYXRlPiB0aWxlc1RvQ3JlYXRlOwpAQCAtMjk5LDcg
KzI5OSw3IEBAIHZvaWQgVGlsZWRCYWNraW5nU3RvcmU6OmNyZWF0ZVRpbGVzKCkKIAogdm9pZCBU
aWxlZEJhY2tpbmdTdG9yZTo6YWRqdXN0Rm9yQ29udGVudHNSZWN0KEludFJlY3QmIHJlY3QpIGNv
bnN0CiB7Ci0gICAgSW50UmVjdCBib3VuZHMgPSBjb250ZW50c1JlY3QoKTsKKyAgICBJbnRSZWN0
IGJvdW5kcyA9IG1fcmVjdDsKICAgICBJbnRTaXplIGNhbmRpZGF0ZVNpemUgPSByZWN0LnNpemUo
KTsKIAogICAgIC8vIFdlIHdpbGwgdHJ5IHRvIGtlZXAgdGhlIGNvdmVyIGFuZCBrZWVwIHJlY3Qg
dGhlIHNhbWUgc2l6ZSBhdCBhbGwgdGltZSwgd2hpY2gKQEAgLTM3NCw3ICszNzQsNiBAQCB2b2lk
IFRpbGVkQmFja2luZ1N0b3JlOjpjb21wdXRlQ292ZXJBbmRLZWVwUmVjdChjb25zdCBJbnRSZWN0
JiB2aXNpYmxlUmVjdCwgSW50UgogYm9vbCBUaWxlZEJhY2tpbmdTdG9yZTo6cmVzaXplRWRnZVRp
bGVzKCkKIHsKICAgICBib29sIHdhc1Jlc2l6ZWQgPSBmYWxzZTsKLQogICAgIFZlY3RvcjxUaWxl
OjpDb29yZGluYXRlPiB0aWxlc1RvUmVtb3ZlOwogICAgIFRpbGVNYXA6Oml0ZXJhdG9yIGVuZCA9
IG1fdGlsZXMuZW5kKCk7CiAgICAgZm9yIChUaWxlTWFwOjppdGVyYXRvciBpdCA9IG1fdGlsZXMu
YmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7CkBAIC0zOTQsOCArMzkzLDEwIEBAIGJvb2wgVGls
ZWRCYWNraW5nU3RvcmU6OnJlc2l6ZUVkZ2VUaWxlcygpCiAgICAgcmV0dXJuIHdhc1Jlc2l6ZWQ7
CiB9CiAKLXZvaWQgVGlsZWRCYWNraW5nU3RvcmU6OmRyb3BUaWxlc091dHNpZGVSZWN0KGNvbnN0
IEludFJlY3QmIGtlZXBSZWN0KQordm9pZCBUaWxlZEJhY2tpbmdTdG9yZTo6c2V0S2VlcFJlY3Qo
Y29uc3QgSW50UmVjdCYga2VlcFJlY3QpCiB7CisgICAgLy8gRHJvcCB0aWxlcyBvdXRzaWRlIHRo
ZSBuZXcga2VlcFJlY3QuCisKICAgICBGbG9hdFJlY3Qga2VlcFJlY3RGID0ga2VlcFJlY3Q7CiAK
ICAgICBWZWN0b3I8VGlsZTo6Q29vcmRpbmF0ZT4gdG9SZW1vdmU7CkBAIC00MDksMTEgKzQxMCwx
MyBAQCB2b2lkIFRpbGVkQmFja2luZ1N0b3JlOjpkcm9wVGlsZXNPdXRzaWRlUmVjdChjb25zdCBJ
bnRSZWN0JiBrZWVwUmVjdCkKICAgICB1bnNpZ25lZCByZW1vdmVDb3VudCA9IHRvUmVtb3ZlLnNp
emUoKTsKICAgICBmb3IgKHVuc2lnbmVkIG4gPSAwOyBuIDwgcmVtb3ZlQ291bnQ7ICsrbikKICAg
ICAgICAgcmVtb3ZlVGlsZSh0b1JlbW92ZVtuXSk7CisKKyAgICBtX2tlZXBSZWN0ID0ga2VlcFJl
Y3Q7CiB9CiAKIHZvaWQgVGlsZWRCYWNraW5nU3RvcmU6OnJlbW92ZUFsbE5vblZpc2libGVUaWxl
cygpCiB7Ci0gICAgZHJvcFRpbGVzT3V0c2lkZVJlY3QodmlzaWJsZUNvbnRlbnRzUmVjdCgpKTsK
KyAgICBzZXRLZWVwUmVjdCh2aXNpYmxlQ29udGVudHNSZWN0KCkpOwogfQogCiBQYXNzUmVmUHRy
PFRpbGU+IFRpbGVkQmFja2luZ1N0b3JlOjp0aWxlQXQoY29uc3QgVGlsZTo6Q29vcmRpbmF0ZSYg
Y29vcmRpbmF0ZSkgY29uc3QKQEAgLTQ0NywxMSArNDUwLDYgQEAgSW50UmVjdCBUaWxlZEJhY2tp
bmdTdG9yZTo6bWFwRnJvbUNvbnRlbnRzKGNvbnN0IEludFJlY3QmIHJlY3QpIGNvbnN0CiAgICAg
ICAgIHJlY3QuaGVpZ2h0KCkgKiBtX2NvbnRlbnRzU2NhbGUpKTsKIH0KIAotSW50UmVjdCBUaWxl
ZEJhY2tpbmdTdG9yZTo6Y29udGVudHNSZWN0KCkgY29uc3QKLXsKLSAgICByZXR1cm4gbWFwRnJv
bUNvbnRlbnRzKG1fY2xpZW50LT50aWxlZEJhY2tpbmdTdG9yZUNvbnRlbnRzUmVjdCgpKTsKLX0K
LQogSW50UmVjdCBUaWxlZEJhY2tpbmdTdG9yZTo6dGlsZVJlY3RGb3JDb29yZGluYXRlKGNvbnN0
IFRpbGU6OkNvb3JkaW5hdGUmIGNvb3JkaW5hdGUpIGNvbnN0CiB7CiAgICAgSW50UmVjdCByZWN0
KGNvb3JkaW5hdGUueCgpICogbV90aWxlU2l6ZS53aWR0aCgpLApAQCAtNDU5LDEwICs0NTcsMTAg
QEAgSW50UmVjdCBUaWxlZEJhY2tpbmdTdG9yZTo6dGlsZVJlY3RGb3JDb29yZGluYXRlKGNvbnN0
IFRpbGU6OkNvb3JkaW5hdGUmIGNvb3JkaW4KICAgICAgICAgICAgICAgICAgbV90aWxlU2l6ZS53
aWR0aCgpLAogICAgICAgICAgICAgICAgICBtX3RpbGVTaXplLmhlaWdodCgpKTsKIAotICAgIHJl
Y3QuaW50ZXJzZWN0KGNvbnRlbnRzUmVjdCgpKTsKKyAgICByZWN0LmludGVyc2VjdChtX3JlY3Qp
OwogICAgIHJldHVybiByZWN0OwogfQotICAgIAorCiBUaWxlOjpDb29yZGluYXRlIFRpbGVkQmFj
a2luZ1N0b3JlOjp0aWxlQ29vcmRpbmF0ZUZvclBvaW50KGNvbnN0IEludFBvaW50JiBwb2ludCkg
Y29uc3QKIHsKICAgICBpbnQgeCA9IHBvaW50LngoKSAvIG1fdGlsZVNpemUud2lkdGgoKTsKQEAg
LTQ3MCw3ICs0NjgsNiBAQCBUaWxlOjpDb29yZGluYXRlIFRpbGVkQmFja2luZ1N0b3JlOjp0aWxl
Q29vcmRpbmF0ZUZvclBvaW50KGNvbnN0IEludFBvaW50JiBwb2ludAogICAgIHJldHVybiBUaWxl
OjpDb29yZGluYXRlKHN0ZDo6bWF4KHgsIDApLCBzdGQ6Om1heCh5LCAwKSk7CiB9CiAKLQogdm9p
ZCBUaWxlZEJhY2tpbmdTdG9yZTo6c3RhcnRUaWxlQnVmZmVyVXBkYXRlVGltZXIoKQogewogICAg
IGlmIChtX3RpbGVCdWZmZXJVcGRhdGVUaW1lci0+aXNBY3RpdmUoKSB8fCAhbV9jbGllbnQtPnRp
bGVkQmFja2luZ1N0b3JlVXBkYXRlc0FsbG93ZWQoKSB8fCBtX2NvbnRlbnRzRnJvemVuKQpAQCAt
NTIwLDcgKzUxNyw3IEBAIHZvaWQgVGlsZWRCYWNraW5nU3RvcmU6OnNldFN1cHBvcnRzQWxwaGEo
Ym9vbCBhKQogICAgIGlmIChhID09IHN1cHBvcnRzQWxwaGEoKSkKICAgICAgICAgcmV0dXJuOwog
ICAgIG1fc3VwcG9ydHNBbHBoYSA9IGE7Ci0gICAgaW52YWxpZGF0ZShjb250ZW50c1JlY3QoKSk7
CisgICAgaW52YWxpZGF0ZShtX3JlY3QpOwogfQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UaWxlZEJhY2tpbmdTdG9yZS5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5nU3RvcmUuaAppbmRleCBhOWQxZWJkNzU4
ZWVhY2RmNzcyOTQ2Nzc4MDY4Yzc3MWIwYWE5YzM5Li4xNmQ2NjExMTMzN2QzNjI1MGEwOWFmM2Jl
OWZiMTI4MGZmOGY2YjA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9UaWxlZEJhY2tpbmdTdG9yZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL1RpbGVkQmFja2luZ1N0b3JlLmgKQEAgLTkzLDEzICs5MywxMiBAQCBwcml2YXRlOgog
ICAgIHZvaWQgY29tbWl0U2NhbGVDaGFuZ2UoKTsKIAogICAgIGJvb2wgcmVzaXplRWRnZVRpbGVz
KCk7Ci0gICAgdm9pZCBkcm9wVGlsZXNPdXRzaWRlUmVjdChjb25zdCBJbnRSZWN0Jik7CisgICAg
dm9pZCBzZXRLZWVwUmVjdChjb25zdCBJbnRSZWN0Jik7CiAKICAgICBQYXNzUmVmUHRyPFRpbGU+
IHRpbGVBdChjb25zdCBUaWxlOjpDb29yZGluYXRlJikgY29uc3Q7CiAgICAgdm9pZCBzZXRUaWxl
KGNvbnN0IFRpbGU6OkNvb3JkaW5hdGUmIGNvb3JkaW5hdGUsIFBhc3NSZWZQdHI8VGlsZT4gdGls
ZSk7CiAgICAgdm9pZCByZW1vdmVUaWxlKGNvbnN0IFRpbGU6OkNvb3JkaW5hdGUmIGNvb3JkaW5h
dGUpOwogCi0gICAgSW50UmVjdCBjb250ZW50c1JlY3QoKSBjb25zdDsKICAgICBJbnRSZWN0IHZp
c2libGVDb250ZW50c1JlY3QoKSBjb25zdDsKIAogICAgIGZsb2F0IGNvdmVyYWdlUmF0aW8oY29u
c3QgSW50UmVjdCYpIGNvbnN0OwpAQCAtMTIzLDcgKzEyMiw5IEBAIHByaXZhdGU6CiAgICAgRmxv
YXRQb2ludCBtX3Zpc2libGVSZWN0VHJhamVjdG9yeVZlY3RvcjsKIAogICAgIEludFJlY3QgbV9w
cmV2aW91c1Zpc2libGVSZWN0OwotICAgIEludFNpemUgbV9wcmV2aW91c0NvbnRlbnRzU2l6ZTsK
KworICAgIEludFJlY3QgbV9rZWVwUmVjdDsKKyAgICBJbnRSZWN0IG1fcmVjdDsKIAogICAgIGZs
b2F0IG1fY29udGVudHNTY2FsZTsKICAgICBmbG9hdCBtX3BlbmRpbmdTY2FsZTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>