<?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>27068</bug_id>
          
          <creation_ts>2009-07-07 22:02:46 -0700</creation_ts>
          <short_desc>Reduce complexity of lifetime management in DynamicNodeList caches</short_desc>
          <delta_ts>2009-07-07 22:38:37 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>OS X 10.5</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="Oliver Hunt">oliver</reporter>
          <assigned_to name="Oliver Hunt">oliver</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>130361</commentid>
    <comment_count>0</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2009-07-07 22:02:46 -0700</bug_when>
    <thetext>Lifetime of the caches used by dynamic nodelists is excessively complex</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>130362</commentid>
    <comment_count>1</comment_count>
      <attachid>32426</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2009-07-07 22:09:11 -0700</bug_when>
    <thetext>Created attachment 32426
tidying</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>130363</commentid>
    <comment_count>2</comment_count>
      <attachid>32426</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2009-07-07 22:13:04 -0700</bug_when>
    <thetext>Comment on attachment 32426
tidying

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>130371</commentid>
    <comment_count>3</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2009-07-07 22:38:37 -0700</bug_when>
    <thetext>Committed r45620</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>32426</attachid>
            <date>2009-07-07 22:09:11 -0700</date>
            <delta_ts>2009-07-07 22:13:17 -0700</delta_ts>
            <desc>tidying</desc>
            <filename>nodelists-lifetime.patch</filename>
            <type>text/plain</type>
            <size>8909</size>
            <attacher name="Oliver Hunt">oliver</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
M2I3Zjc0OS4uYTc1ZTRkZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMSBAQAorMjAwOS0wNy0wNyAgT2xpdmVyIEh1bnQg
IDxvbGl2ZXJAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFJlZHVjZSBjb21wbGV4aXR5IG9mIGxpZmV0aW1lIG1hbmFnZW1lbnQgaW4g
RHluYW1pY05vZGVMaXN0IGNhY2hlcworICAgICAgICA8aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTI3MDY4PgorCisgICAgICAgIFN3aXRjaCB0aGUgQ2FjaGUgb2JqZWN0
IHVzZWQgYnkgRHluYW1pY05vZGVMaXN0IGludG8gYSBub3JtYWwKKyAgICAgICAgcmVmY291bnRl
ZCBvYmplY3QgcmF0aGVyIHRoYW4gaGF2aW5nIGEgd2VpcmQgZmxhZyBjb250cm9sbGVkCisgICAg
ICAgIHJlZmNvdW50aW5nIHN5c3RlbSwgd2hlcmUgcG9zaXRpdmUgcmVmY291bnQgZGlkIG5vdCBh
dXRvbWF0aWNhbGx5CisgICAgICAgIGltcGx5IHRoZSBjYWNoZSBvYmplY3Qgd291bGQgYWN0dWFs
bHkgc3RpbGwgYmUgbGl2ZS4KKworICAgICAgICAqIGRvbS9EeW5hbWljTm9kZUxpc3QuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RHluYW1pY05vZGVMaXN0OjpEeW5hbWljTm9kZUxpc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6RHluYW1pY05vZGVMaXN0Ojp+RHluYW1pY05vZGVMaXN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OkR5bmFtaWNOb2RlTGlzdDo6Q2FjaGVzOjpDYWNoZXMpOgorICAgICAgICAo
V2ViQ29yZTo6RHluYW1pY05vZGVMaXN0OjpDYWNoZXM6OmNyZWF0ZSk6CisgICAgICAgICogZG9t
L0R5bmFtaWNOb2RlTGlzdC5oOgorICAgICAgICAqIGRvbS9Ob2RlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Ok5vZGU6OmNoaWxkTm9kZXMpOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6Z2V0RWxl
bWVudHNCeVRhZ05hbWVOUyk6CisgICAgICAgIChXZWJDb3JlOjpOb2RlOjpnZXRFbGVtZW50c0J5
TmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpOb2RlOjpnZXRFbGVtZW50c0J5Q2xhc3NOYW1lKToK
KyAgICAgICAgKFdlYkNvcmU6Ok5vZGVMaXN0c05vZGVEYXRhOjppbnZhbGlkYXRlQ2FjaGVzKToK
KyAgICAgICAgKFdlYkNvcmU6Ok5vZGVMaXN0c05vZGVEYXRhOjppc0VtcHR5KToKKyAgICAgICAg
KiBkb20vTm9kZVJhcmVEYXRhLmg6CisgICAgICAgIChXZWJDb3JlOjpOb2RlTGlzdHNOb2RlRGF0
YTo6Tm9kZUxpc3RzTm9kZURhdGEpOgorCiAyMDA5LTA1LTE0ICBLZXZpbiBNY0N1bGxvdWdoICA8
a21jY3VsbG91Z2hAYXBwbGUuY29tPgogCiAgICAgICAgIC0gUm9sbGluZyBvdXQgdG8gZml4IGEg
YnVnIGFuZCB0aGUgYnVpbGQKZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL0R5bmFtaWNOb2RlTGlz
dC5jcHAgYi9XZWJDb3JlL2RvbS9EeW5hbWljTm9kZUxpc3QuY3BwCmluZGV4IGVlYjk4MzMuLjg5
MmE1ZTcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0R5bmFtaWNOb2RlTGlzdC5jcHAKKysrIGIv
V2ViQ29yZS9kb20vRHluYW1pY05vZGVMaXN0LmNwcApAQCAtMzAsNyArMzAsNyBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIER5bmFtaWNOb2RlTGlzdDo6RHluYW1pY05vZGVMaXN0KFBhc3NSZWZQ
dHI8Tm9kZT4gcm9vdE5vZGUpCiAgICAgOiBtX3Jvb3ROb2RlKHJvb3ROb2RlKQotICAgICwgbV9j
YWNoZXMobmV3IENhY2hlcykKKyAgICAsIG1fY2FjaGVzKENhY2hlczo6Y3JlYXRlKCkpCiAgICAg
LCBtX293bnNDYWNoZXModHJ1ZSkKIHsKICAgICBtX3Jvb3ROb2RlLT5yZWdpc3RlckR5bmFtaWNO
b2RlTGlzdCh0aGlzKTsKQEAgLTQyLDE2ICs0MiwxMSBAQCBEeW5hbWljTm9kZUxpc3Q6OkR5bmFt
aWNOb2RlTGlzdChQYXNzUmVmUHRyPE5vZGU+IHJvb3ROb2RlLCBEeW5hbWljTm9kZUxpc3Q6OkNh
YwogICAgICwgbV9vd25zQ2FjaGVzKGZhbHNlKQogewogICAgIG1fcm9vdE5vZGUtPnJlZ2lzdGVy
RHluYW1pY05vZGVMaXN0KHRoaXMpOwotICAgICsrY2FjaGVzLT5yZWZDb3VudDsKIH0gICAgCiAK
IER5bmFtaWNOb2RlTGlzdDo6fkR5bmFtaWNOb2RlTGlzdCgpCiB7CiAgICAgbV9yb290Tm9kZS0+
dW5yZWdpc3RlckR5bmFtaWNOb2RlTGlzdCh0aGlzKTsKLSAgICBpZiAobV9vd25zQ2FjaGVzKQot
ICAgICAgICBkZWxldGUgbV9jYWNoZXM7Ci0gICAgZWxzZQotICAgICAgICAtLW1fY2FjaGVzLT5y
ZWZDb3VudDsKIH0KIAogdW5zaWduZWQgRHluYW1pY05vZGVMaXN0OjpsZW5ndGgoKSBjb25zdApA
QCAtMTU4LDEwICsxNTMsMTQgQEAgRHluYW1pY05vZGVMaXN0OjpDYWNoZXM6OkNhY2hlcygpCiAg
ICAgOiBsYXN0SXRlbSgwKQogICAgICwgaXNMZW5ndGhDYWNoZVZhbGlkKGZhbHNlKQogICAgICwg
aXNJdGVtQ2FjaGVWYWxpZChmYWxzZSkKLSAgICAsIHJlZkNvdW50KDApCiB7CiB9CiAKK1Bhc3NS
ZWZQdHI8RHluYW1pY05vZGVMaXN0OjpDYWNoZXM+IER5bmFtaWNOb2RlTGlzdDo6Q2FjaGVzOjpj
cmVhdGUoKQoreworICAgIHJldHVybiBhZG9wdFJlZihuZXcgQ2FjaGVzKCkpOworfQorCiB2b2lk
IER5bmFtaWNOb2RlTGlzdDo6Q2FjaGVzOjpyZXNldCgpCiB7CiAgICAgbGFzdEl0ZW0gPSAwOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vRHluYW1pY05vZGVMaXN0LmggYi9XZWJDb3JlL2RvbS9E
eW5hbWljTm9kZUxpc3QuaAppbmRleCBlZTk4MzJkLi5hZGJhYWY2IDEwMDY0NAotLS0gYS9XZWJD
b3JlL2RvbS9EeW5hbWljTm9kZUxpc3QuaAorKysgYi9XZWJDb3JlL2RvbS9EeW5hbWljTm9kZUxp
c3QuaApAQCAtMzcsOCArMzcsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFzcyBE
eW5hbWljTm9kZUxpc3QgOiBwdWJsaWMgTm9kZUxpc3QgewogICAgIHB1YmxpYzoKLSAgICAgICAg
c3RydWN0IENhY2hlcyB7Ci0gICAgICAgICAgICBDYWNoZXMoKTsKKyAgICAgICAgc3RydWN0IENh
Y2hlcyA6IFJlZkNvdW50ZWQ8Q2FjaGVzPnsKKyAgICAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRy
PENhY2hlcz4gY3JlYXRlKCk7CiAgICAgICAgICAgICB2b2lkIHJlc2V0KCk7CiAKICAgICAgICAg
ICAgIHVuc2lnbmVkIGNhY2hlZExlbmd0aDsKQEAgLTQ2LDcgKzQ2LDggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgICAgICAgICAgdW5zaWduZWQgbGFzdEl0ZW1PZmZzZXQ7CiAgICAgICAgICAg
ICBib29sIGlzTGVuZ3RoQ2FjaGVWYWxpZCA6IDE7CiAgICAgICAgICAgICBib29sIGlzSXRlbUNh
Y2hlVmFsaWQgOiAxOwotICAgICAgICAgICAgdW5zaWduZWQgcmVmQ291bnQ7CisgICAgICAgIHBy
b3RlY3RlZDoKKyAgICAgICAgICAgIENhY2hlcygpOwogICAgICAgICB9OwogCiAgICAgICAgIHZp
cnR1YWwgfkR5bmFtaWNOb2RlTGlzdCgpOwpAQCAtNjgsNyArNjksNyBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBub2RlTWF0Y2hlcyhFbGVtZW50KikgY29uc3Qg
PSAwOwogCiAgICAgICAgIFJlZlB0cjxOb2RlPiBtX3Jvb3ROb2RlOwotICAgICAgICBtdXRhYmxl
IENhY2hlcyogbV9jYWNoZXM7CisgICAgICAgIG11dGFibGUgUmVmUHRyPENhY2hlcz4gbV9jYWNo
ZXM7CiAgICAgICAgIGJvb2wgbV9vd25zQ2FjaGVzOwogCiAgICAgcHJpdmF0ZToKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvZG9tL05vZGUuY3BwIGIvV2ViQ29yZS9kb20vTm9kZS5jcHAKaW5kZXggYzI3
ZTI0ZC4uOTIwYWQ0ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vTm9kZS5jcHAKKysrIGIvV2Vi
Q29yZS9kb20vTm9kZS5jcHAKQEAgLTUwNSw3ICs1MDUsNyBAQCBQYXNzUmVmUHRyPE5vZGVMaXN0
PiBOb2RlOjpjaGlsZE5vZGVzKCkKICAgICAgICAgZG9jdW1lbnQoKS0+YWRkTm9kZUxpc3RDYWNo
ZSgpOwogICAgIH0KIAotICAgIHJldHVybiBDaGlsZE5vZGVMaXN0OjpjcmVhdGUodGhpcywgJmRh
dGEtPm5vZGVMaXN0cygpLT5tX2NoaWxkTm9kZUxpc3RDYWNoZXMpOworICAgIHJldHVybiBDaGls
ZE5vZGVMaXN0OjpjcmVhdGUodGhpcywgZGF0YS0+bm9kZUxpc3RzKCktPm1fY2hpbGROb2RlTGlz
dENhY2hlcy5nZXQoKSk7CiB9CiAKIE5vZGUgKk5vZGU6Omxhc3REZXNjZW5kYW50KCkgY29uc3QK
QEAgLTE0NjAsOSArMTQ2MCw5IEBAIFBhc3NSZWZQdHI8Tm9kZUxpc3Q+IE5vZGU6OmdldEVsZW1l
bnRzQnlUYWdOYW1lTlMoY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lc3BhY2VVCiAgICAgICAgIAog
ICAgIHBhaXI8Tm9kZUxpc3RzTm9kZURhdGE6OlRhZ0NhY2hlTWFwOjppdGVyYXRvciwgYm9vbD4g
cmVzdWx0ID0gZGF0YS0+bm9kZUxpc3RzKCktPm1fdGFnTm9kZUxpc3RDYWNoZXMuYWRkKFF1YWxp
ZmllZE5hbWUobnVsbEF0b20sIGxvY2FsTmFtZUF0b20sIG5hbWVzcGFjZVVSSSksIDApOwogICAg
IGlmIChyZXN1bHQuc2Vjb25kKQotICAgICAgICByZXN1bHQuZmlyc3QtPnNlY29uZCA9IG5ldyBE
eW5hbWljTm9kZUxpc3Q6OkNhY2hlczsKKyAgICAgICAgcmVzdWx0LmZpcnN0LT5zZWNvbmQgPSBE
eW5hbWljTm9kZUxpc3Q6OkNhY2hlczo6Y3JlYXRlKCk7CiAgICAgCi0gICAgcmV0dXJuIFRhZ05v
ZGVMaXN0OjpjcmVhdGUodGhpcywgbmFtZXNwYWNlVVJJLmlzRW1wdHkoKSA/IG51bGxBdG9tIDog
bmFtZXNwYWNlVVJJLCBsb2NhbE5hbWVBdG9tLCByZXN1bHQuZmlyc3QtPnNlY29uZCk7CisgICAg
cmV0dXJuIFRhZ05vZGVMaXN0OjpjcmVhdGUodGhpcywgbmFtZXNwYWNlVVJJLmlzRW1wdHkoKSA/
IG51bGxBdG9tIDogbmFtZXNwYWNlVVJJLCBsb2NhbE5hbWVBdG9tLCByZXN1bHQuZmlyc3QtPnNl
Y29uZC5nZXQoKSk7CiB9CiAKIFBhc3NSZWZQdHI8Tm9kZUxpc3Q+IE5vZGU6OmdldEVsZW1lbnRz
QnlOYW1lKGNvbnN0IFN0cmluZyYgZWxlbWVudE5hbWUpCkBAIC0xNDc1LDkgKzE0NzUsOSBAQCBQ
YXNzUmVmUHRyPE5vZGVMaXN0PiBOb2RlOjpnZXRFbGVtZW50c0J5TmFtZShjb25zdCBTdHJpbmcm
IGVsZW1lbnROYW1lKQogCiAgICAgcGFpcjxOb2RlTGlzdHNOb2RlRGF0YTo6Q2FjaGVNYXA6Oml0
ZXJhdG9yLCBib29sPiByZXN1bHQgPSBkYXRhLT5ub2RlTGlzdHMoKS0+bV9uYW1lTm9kZUxpc3RD
YWNoZXMuYWRkKGVsZW1lbnROYW1lLCAwKTsKICAgICBpZiAocmVzdWx0LnNlY29uZCkKLSAgICAg
ICAgcmVzdWx0LmZpcnN0LT5zZWNvbmQgPSBuZXcgRHluYW1pY05vZGVMaXN0OjpDYWNoZXM7Cisg
ICAgICAgIHJlc3VsdC5maXJzdC0+c2Vjb25kID0gRHluYW1pY05vZGVMaXN0OjpDYWNoZXM6OmNy
ZWF0ZSgpOwogICAgIAotICAgIHJldHVybiBOYW1lTm9kZUxpc3Q6OmNyZWF0ZSh0aGlzLCBlbGVt
ZW50TmFtZSwgcmVzdWx0LmZpcnN0LT5zZWNvbmQpOworICAgIHJldHVybiBOYW1lTm9kZUxpc3Q6
OmNyZWF0ZSh0aGlzLCBlbGVtZW50TmFtZSwgcmVzdWx0LmZpcnN0LT5zZWNvbmQuZ2V0KCkpOwog
fQogCiBQYXNzUmVmUHRyPE5vZGVMaXN0PiBOb2RlOjpnZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGNv
bnN0IFN0cmluZyYgY2xhc3NOYW1lcykKQEAgLTE0OTAsOSArMTQ5MCw5IEBAIFBhc3NSZWZQdHI8
Tm9kZUxpc3Q+IE5vZGU6OmdldEVsZW1lbnRzQnlDbGFzc05hbWUoY29uc3QgU3RyaW5nJiBjbGFz
c05hbWVzKQogCiAgICAgcGFpcjxOb2RlTGlzdHNOb2RlRGF0YTo6Q2FjaGVNYXA6Oml0ZXJhdG9y
LCBib29sPiByZXN1bHQgPSBkYXRhLT5ub2RlTGlzdHMoKS0+bV9jbGFzc05vZGVMaXN0Q2FjaGVz
LmFkZChjbGFzc05hbWVzLCAwKTsKICAgICBpZiAocmVzdWx0LnNlY29uZCkKLSAgICAgICAgcmVz
dWx0LmZpcnN0LT5zZWNvbmQgPSBuZXcgRHluYW1pY05vZGVMaXN0OjpDYWNoZXM7CisgICAgICAg
IHJlc3VsdC5maXJzdC0+c2Vjb25kID0gRHluYW1pY05vZGVMaXN0OjpDYWNoZXM6OmNyZWF0ZSgp
OwogICAgIAotICAgIHJldHVybiBDbGFzc05vZGVMaXN0OjpjcmVhdGUodGhpcywgY2xhc3NOYW1l
cywgcmVzdWx0LmZpcnN0LT5zZWNvbmQpOworICAgIHJldHVybiBDbGFzc05vZGVMaXN0OjpjcmVh
dGUodGhpcywgY2xhc3NOYW1lcywgcmVzdWx0LmZpcnN0LT5zZWNvbmQuZ2V0KCkpOwogfQogCiB0
ZW1wbGF0ZSA8dHlwZW5hbWUgRnVuY3Rvcj4KQEAgLTIxNDUsNyArMjE0NSw3IEBAIHZvaWQgTm9k
ZTo6Zm9ybWF0Rm9yRGVidWdnZXIoY2hhciogYnVmZmVyLCB1bnNpZ25lZCBsZW5ndGgpIGNvbnN0
CiAKIHZvaWQgTm9kZUxpc3RzTm9kZURhdGE6OmludmFsaWRhdGVDYWNoZXMoKQogewotICAgIG1f
Y2hpbGROb2RlTGlzdENhY2hlcy5yZXNldCgpOworICAgIG1fY2hpbGROb2RlTGlzdENhY2hlcy0+
cmVzZXQoKTsKICAgICBUYWdDYWNoZU1hcDo6Y29uc3RfaXRlcmF0b3IgdGFnQ2FjaGVzRW5kID0g
bV90YWdOb2RlTGlzdENhY2hlcy5lbmQoKTsKICAgICBmb3IgKFRhZ0NhY2hlTWFwOjpjb25zdF9p
dGVyYXRvciBpdCA9IG1fdGFnTm9kZUxpc3RDYWNoZXMuYmVnaW4oKTsgaXQgIT0gdGFnQ2FjaGVz
RW5kOyArK2l0KQogICAgICAgICBpdC0+c2Vjb25kLT5yZXNldCgpOwpAQCAtMjE2OCwyNCArMjE2
OCwyNCBAQCBib29sIE5vZGVMaXN0c05vZGVEYXRhOjppc0VtcHR5KCkgY29uc3QKICAgICBpZiAo
IW1fbGlzdHNXaXRoQ2FjaGVzLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0g
ICAgaWYgKG1fY2hpbGROb2RlTGlzdENhY2hlcy5yZWZDb3VudCkKKyAgICBpZiAobV9jaGlsZE5v
ZGVMaXN0Q2FjaGVzLT5yZWZDb3VudCgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgCiAg
ICAgVGFnQ2FjaGVNYXA6OmNvbnN0X2l0ZXJhdG9yIHRhZ0NhY2hlc0VuZCA9IG1fdGFnTm9kZUxp
c3RDYWNoZXMuZW5kKCk7CiAgICAgZm9yIChUYWdDYWNoZU1hcDo6Y29uc3RfaXRlcmF0b3IgaXQg
PSBtX3RhZ05vZGVMaXN0Q2FjaGVzLmJlZ2luKCk7IGl0ICE9IHRhZ0NhY2hlc0VuZDsgKytpdCkg
ewotICAgICAgICBpZiAoaXQtPnNlY29uZC0+cmVmQ291bnQpCisgICAgICAgIGlmIChpdC0+c2Vj
b25kLT5yZWZDb3VudCgpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KIAogICAg
IENhY2hlTWFwOjpjb25zdF9pdGVyYXRvciBjbGFzc0NhY2hlc0VuZCA9IG1fY2xhc3NOb2RlTGlz
dENhY2hlcy5lbmQoKTsKICAgICBmb3IgKENhY2hlTWFwOjpjb25zdF9pdGVyYXRvciBpdCA9IG1f
Y2xhc3NOb2RlTGlzdENhY2hlcy5iZWdpbigpOyBpdCAhPSBjbGFzc0NhY2hlc0VuZDsgKytpdCkg
ewotICAgICAgICBpZiAoaXQtPnNlY29uZC0+cmVmQ291bnQpCisgICAgICAgIGlmIChpdC0+c2Vj
b25kLT5yZWZDb3VudCgpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KIAogICAg
IENhY2hlTWFwOjpjb25zdF9pdGVyYXRvciBuYW1lQ2FjaGVzRW5kID0gbV9uYW1lTm9kZUxpc3RD
YWNoZXMuZW5kKCk7CiAgICAgZm9yIChDYWNoZU1hcDo6Y29uc3RfaXRlcmF0b3IgaXQgPSBtX25h
bWVOb2RlTGlzdENhY2hlcy5iZWdpbigpOyBpdCAhPSBuYW1lQ2FjaGVzRW5kOyArK2l0KSB7Ci0g
ICAgICAgIGlmIChpdC0+c2Vjb25kLT5yZWZDb3VudCkKKyAgICAgICAgaWYgKGl0LT5zZWNvbmQt
PnJlZkNvdW50KCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2RvbS9Ob2RlUmFyZURhdGEuaCBiL1dlYkNvcmUvZG9tL05vZGVSYXJlRGF0
YS5oCmluZGV4IGJiY2ZjYTguLmE4YTk4ZTEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL05vZGVS
YXJlRGF0YS5oCisrKyBiL1dlYkNvcmUvZG9tL05vZGVSYXJlRGF0YS5oCkBAIC0zNiwyNSArMzYs
MjIgQEAgc3RydWN0IE5vZGVMaXN0c05vZGVEYXRhIHsKICAgICB0eXBlZGVmIEhhc2hTZXQ8RHlu
YW1pY05vZGVMaXN0Kj4gTm9kZUxpc3RTZXQ7CiAgICAgTm9kZUxpc3RTZXQgbV9saXN0c1dpdGhD
YWNoZXM7CiAgICAgCi0gICAgRHluYW1pY05vZGVMaXN0OjpDYWNoZXMgbV9jaGlsZE5vZGVMaXN0
Q2FjaGVzOworICAgIFJlZlB0cjxEeW5hbWljTm9kZUxpc3Q6OkNhY2hlcz4gbV9jaGlsZE5vZGVM
aXN0Q2FjaGVzOwogICAgIAotICAgIHR5cGVkZWYgSGFzaE1hcDxTdHJpbmcsIER5bmFtaWNOb2Rl
TGlzdDo6Q2FjaGVzKj4gQ2FjaGVNYXA7CisgICAgdHlwZWRlZiBIYXNoTWFwPFN0cmluZywgUmVm
UHRyPER5bmFtaWNOb2RlTGlzdDo6Q2FjaGVzPiA+IENhY2hlTWFwOwogICAgIENhY2hlTWFwIG1f
Y2xhc3NOb2RlTGlzdENhY2hlczsKICAgICBDYWNoZU1hcCBtX25hbWVOb2RlTGlzdENhY2hlczsK
ICAgICAKLSAgICB0eXBlZGVmIEhhc2hNYXA8UXVhbGlmaWVkTmFtZSwgRHluYW1pY05vZGVMaXN0
OjpDYWNoZXMqPiBUYWdDYWNoZU1hcDsKKyAgICB0eXBlZGVmIEhhc2hNYXA8UXVhbGlmaWVkTmFt
ZSwgUmVmUHRyPER5bmFtaWNOb2RlTGlzdDo6Q2FjaGVzPiA+IFRhZ0NhY2hlTWFwOwogICAgIFRh
Z0NhY2hlTWFwIG1fdGFnTm9kZUxpc3RDYWNoZXM7Ci0gICAgCi0gICAgfk5vZGVMaXN0c05vZGVE
YXRhKCkKLSAgICB7Ci0gICAgICAgIGRlbGV0ZUFsbFZhbHVlcyhtX2NsYXNzTm9kZUxpc3RDYWNo
ZXMpOwotICAgICAgICBkZWxldGVBbGxWYWx1ZXMobV9uYW1lTm9kZUxpc3RDYWNoZXMpOwotICAg
ICAgICBkZWxldGVBbGxWYWx1ZXMobV90YWdOb2RlTGlzdENhY2hlcyk7Ci0gICAgfQotICAgIAor
CiAgICAgdm9pZCBpbnZhbGlkYXRlQ2FjaGVzKCk7CiAgICAgdm9pZCBpbnZhbGlkYXRlQ2FjaGVz
VGhhdERlcGVuZE9uQXR0cmlidXRlcygpOwogICAgIGJvb2wgaXNFbXB0eSgpIGNvbnN0OworICAg
IE5vZGVMaXN0c05vZGVEYXRhKCkKKyAgICA6IG1fY2hpbGROb2RlTGlzdENhY2hlcyhEeW5hbWlj
Tm9kZUxpc3Q6OkNhY2hlczo6Y3JlYXRlKCkpCisgICAgeworICAgIH0KIH07CiAgICAgCiBjbGFz
cyBOb2RlUmFyZURhdGEgewo=
</data>
<flag name="review"
          id="16874"
          type_id="1"
          status="+"
          setter="mjs"
    />
          </attachment>
      

    </bug>

</bugzilla>