<?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>61592</bug_id>
          
          <creation_ts>2011-05-26 19:19:55 -0700</creation_ts>
          <short_desc>Optimized ConservativeSet to avoid double-visiting objects</short_desc>
          <delta_ts>2011-05-27 10:39:39 -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>New Bugs</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="Geoffrey Garen">ggaren</reporter>
          <assigned_to name="Geoffrey Garen">ggaren</assigned_to>
          <cc>oliver</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>411070</commentid>
    <comment_count>0</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-05-26 19:19:55 -0700</bug_when>
    <thetext>Optimized ConservativeSet to avoid double-visiting objects</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>411075</commentid>
    <comment_count>1</comment_count>
      <attachid>95095</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-05-26 19:22:06 -0700</bug_when>
    <thetext>Created attachment 95095
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>411528</commentid>
    <comment_count>2</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-05-27 10:39:39 -0700</bug_when>
    <thetext>Committed r87522: &lt;http://trac.webkit.org/changeset/87522&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>95095</attachid>
            <date>2011-05-26 19:22:06 -0700</date>
            <delta_ts>2011-05-27 08:37:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-61592-20110526192205.patch</filename>
            <type>text/plain</type>
            <size>8566</size>
            <attacher name="Geoffrey Garen">ggaren</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gODc0NjIpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzcgQEAK
KzIwMTEtMDUtMjYgIEdlb2ZmcmV5IEdhcmVuICA8Z2dhcmVuQGFwcGxlLmNvbT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBPcHRpbWl6ZWQgQ29uc2Vy
dmF0aXZlU2V0IHRvIGF2b2lkIGRvdWJsZS12aXNpdGluZyBvYmplY3RzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MTU5MgorICAgICAgICAKKyAgICAg
ICAgU3VuU3BpZGVyIHRoaW5rcyB0aGlzIG1pZ2h0IGJlIGEgMSUgc3BlZWR1cAorCisgICAgICAg
ICogaGVhcC9Db25zZXJ2YXRpdmVSb290cy5oOgorICAgICAgICAoSlNDOjpDb25zZXJ2YXRpdmVS
b290czo6YWRkKTogVXNlIHRlc3RBbmRDbGVhck1hcmtlZCB0byBhdm9pZCBkb3VibGUtdmlzaXRp
bmcKKyAgICAgICAgYW4gb2JqZWN0LgorCisgICAgICAgICogaGVhcC9IZWFwLmg6CisgICAgICAg
IChKU0M6OkhlYXA6OmlzTWFya2VkKToKKyAgICAgICAgKEpTQzo6SGVhcDo6dGVzdEFuZFNldE1h
cmtlZCk6CisgICAgICAgIChKU0M6OkhlYXA6OnRlc3RBbmRDbGVhck1hcmtlZCk6CisgICAgICAg
IChKU0M6OkhlYXA6OnNldE1hcmtlZCk6IEFkZGVkIHRlc3RBbmRDbGVhck1hcmtlZC4gQ2hhbmdl
ZCBhcmd1bWVudCB0eXBlCisgICAgICAgIHRvIHZvaWQqLCBzaW5jZSBjbGllbnRzIHdhbnQgdG8g
YXNrIHF1ZXN0aW9ucyBhYm91dCBhcmJpdHJhcnkgcG9pbnRlcnMKKyAgICAgICAgaW50byB0aGUg
aGVhcCwgZXZlbiB3aGVuIHRoZXkgYXJlbid0IGtub3duIHRvIGJlIEpTQ2VsbHMuCisKKyAgICAg
ICAgKiBoZWFwL01hcmtlZEJsb2NrLmg6CisgICAgICAgIChKU0M6Ok1hcmtlZEJsb2NrOjp0ZXN0
QW5kQ2xlYXJNYXJrZWQpOgorICAgICAgICAqIGhlYXAvTWFya2VkU3BhY2UuaDoKKyAgICAgICAg
KEpTQzo6TWFya2VkU3BhY2U6OmlzTWFya2VkKToKKyAgICAgICAgKEpTQzo6TWFya2VkU3BhY2U6
OnRlc3RBbmRTZXRNYXJrZWQpOgorICAgICAgICAoSlNDOjpNYXJrZWRTcGFjZTo6dGVzdEFuZENs
ZWFyTWFya2VkKToKKyAgICAgICAgKEpTQzo6TWFya2VkU3BhY2U6OnNldE1hcmtlZCk6CisgICAg
ICAgIChKU0M6Ok1hcmtlZFNwYWNlOjpjb250YWlucyk6IERpdHRvLgorCisgICAgICAgICogd3Rm
L0JpdG1hcC5oOgorICAgICAgICAoV1RGOjo6OnRlc3RBbmRDbGVhcik6IE5ldyBmdW5jdGlvbiBm
b3IgQ29uc2VydmF0aXZlUm9vdHMncyBpbnZlcnRlZAorICAgICAgICBtYXJraW5nIHBhc3MuCisK
IDIwMTEtMDUtMjYgIEdlb2ZmcmV5IEdhcmVuICA8Z2dhcmVuQGFwcGxlLmNvbT4KIAogICAgICAg
ICBSZXZpZXdlZCBieSBPbGl2ZXIgSHVudC4KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9o
ZWFwL0NvbnNlcnZhdGl2ZVJvb3RzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2hlYXAvQ29uc2VydmF0aXZlUm9vdHMuaAkocmV2aXNpb24gODc0NDUpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaGVhcC9Db25zZXJ2YXRpdmVSb290cy5oCSh3b3JraW5nIGNvcHkpCkBA
IC0zNSw4ICszNSw2IEBAIG5hbWVzcGFjZSBKU0MgewogY2xhc3MgSlNDZWxsOwogY2xhc3MgSGVh
cDsKIAotLy8gTWF5IGNvbnRhaW4gZHVwbGljYXRlcy4KLQogY2xhc3MgQ29uc2VydmF0aXZlUm9v
dHMgewogcHVibGljOgogICAgIENvbnNlcnZhdGl2ZVJvb3RzKEhlYXAqKTsKQEAgLTgwLDEwICs3
OCwxNiBAQCBpbmxpbmUgdm9pZCBDb25zZXJ2YXRpdmVSb290czo6YWRkKHZvaWQqCiAgICAgaWYg
KCFtX2hlYXAtPmNvbnRhaW5zKHApKQogICAgICAgICByZXR1cm47CiAKKyAgICAvLyBUaGUgY29u
c2VydmF0aXZlIHNldCBpbnZlcnRzIHRoZSB0eXBpY2FsIG1lYW5pbmcgb2YgbWFyayBiaXRzOiBX
ZSBvbmx5CisgICAgLy8gdmlzaXQgbWFya2VkIHBvaW50ZXJzLCBhbmQgb3VyIHZpc2l0IGNsZWFy
cyB0aGUgbWFyayBiaXQuIFRoaXMgZWZmaWNpZW50bHkKKyAgICAvLyBzaWZ0cyBvdXQgcG9pbnRl
cnMgdG8gZGVhZCBvYmplY3RzIGFuZCBkdXBsaWNhdGUgcG9pbnRlcnMuCisgICAgaWYgKCFtX2hl
YXAtPnRlc3RBbmRDbGVhck1hcmtlZChwKSkKKyAgICAgICAgcmV0dXJuOworCiAgICAgaWYgKG1f
c2l6ZSA9PSBtX2NhcGFjaXR5KQogICAgICAgICBncm93KCk7CiAKLSAgICBtX3Jvb3RzW21fc2l6
ZSsrXSA9IHJlaW50ZXJwcmV0X2Nhc3Q8SlNDZWxsKj4ocCk7CisgICAgbV9yb290c1ttX3NpemUr
K10gPSBzdGF0aWNfY2FzdDxKU0NlbGwqPihwKTsKIH0KIAogaW5saW5lIHNpemVfdCBDb25zZXJ2
YXRpdmVSb290czo6c2l6ZSgpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9IZWFw
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGVhcC5oCShyZXZp
c2lvbiA4NzQ0NSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hlYXAuaAkod29ya2lu
ZyBjb3B5KQpAQCAtNTgsOSArNTgsMTAgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHN0YXRp
YyBIZWFwKiBoZWFwKEpTVmFsdWUpOyAvLyAwIGZvciBpbW1lZGlhdGUgdmFsdWVzCiAgICAgICAg
IHN0YXRpYyBIZWFwKiBoZWFwKEpTQ2VsbCopOwogCi0gICAgICAgIHN0YXRpYyBib29sIGlzTWFy
a2VkKGNvbnN0IEpTQ2VsbCopOwotICAgICAgICBzdGF0aWMgYm9vbCB0ZXN0QW5kU2V0TWFya2Vk
KGNvbnN0IEpTQ2VsbCopOwotICAgICAgICBzdGF0aWMgdm9pZCBzZXRNYXJrZWQoSlNDZWxsKik7
CisgICAgICAgIHN0YXRpYyBib29sIGlzTWFya2VkKGNvbnN0IHZvaWQqKTsKKyAgICAgICAgc3Rh
dGljIGJvb2wgdGVzdEFuZFNldE1hcmtlZChjb25zdCB2b2lkKik7CisgICAgICAgIHN0YXRpYyBi
b29sIHRlc3RBbmRDbGVhck1hcmtlZChjb25zdCB2b2lkKik7CisgICAgICAgIHN0YXRpYyB2b2lk
IHNldE1hcmtlZChjb25zdCB2b2lkKik7CiAKICAgICAgICAgc3RhdGljIHZvaWQgd3JpdGVCYXJy
aWVyKGNvbnN0IEpTQ2VsbCosIEpTVmFsdWUpOwogICAgICAgICBzdGF0aWMgdm9pZCB3cml0ZUJh
cnJpZXIoY29uc3QgSlNDZWxsKiwgSlNDZWxsKik7CkBAIC0xNTQsMTcgKzE1NSwyMiBAQCBuYW1l
c3BhY2UgSlNDIHsKICAgICAgICAgcmV0dXJuIG1fb3BlcmF0aW9uSW5Qcm9ncmVzcyAhPSBOb09w
ZXJhdGlvbjsKICAgICB9CiAKLSAgICBpbmxpbmUgYm9vbCBIZWFwOjppc01hcmtlZChjb25zdCBK
U0NlbGwqIGNlbGwpCisgICAgaW5saW5lIGJvb2wgSGVhcDo6aXNNYXJrZWQoY29uc3Qgdm9pZCog
Y2VsbCkKICAgICB7CiAgICAgICAgIHJldHVybiBNYXJrZWRTcGFjZTo6aXNNYXJrZWQoY2VsbCk7
CiAgICAgfQogCi0gICAgaW5saW5lIGJvb2wgSGVhcDo6dGVzdEFuZFNldE1hcmtlZChjb25zdCBK
U0NlbGwqIGNlbGwpCisgICAgaW5saW5lIGJvb2wgSGVhcDo6dGVzdEFuZFNldE1hcmtlZChjb25z
dCB2b2lkKiBjZWxsKQogICAgIHsKICAgICAgICAgcmV0dXJuIE1hcmtlZFNwYWNlOjp0ZXN0QW5k
U2V0TWFya2VkKGNlbGwpOwogICAgIH0KIAotICAgIGlubGluZSB2b2lkIEhlYXA6OnNldE1hcmtl
ZChKU0NlbGwqIGNlbGwpCisgICAgaW5saW5lIGJvb2wgSGVhcDo6dGVzdEFuZENsZWFyTWFya2Vk
KGNvbnN0IHZvaWQqIGNlbGwpCisgICAgeworICAgICAgICByZXR1cm4gTWFya2VkU3BhY2U6OnRl
c3RBbmRDbGVhck1hcmtlZChjZWxsKTsKKyAgICB9CisKKyAgICBpbmxpbmUgdm9pZCBIZWFwOjpz
ZXRNYXJrZWQoY29uc3Qgdm9pZCogY2VsbCkKICAgICB7CiAgICAgICAgIE1hcmtlZFNwYWNlOjpz
ZXRNYXJrZWQoY2VsbCk7CiAgICAgfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAv
TWFya2VkQmxvY2suaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9N
YXJrZWRCbG9jay5oCShyZXZpc2lvbiA4NzQ0NSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9o
ZWFwL01hcmtlZEJsb2NrLmgJKHdvcmtpbmcgY29weSkKQEAgLTY3LDEwICs2NywxMCBAQCBuYW1l
c3BhY2UgSlNDIHsKICAgICAgICAgc2l6ZV90IHNpemUoKTsKICAgICAgICAgc2l6ZV90IGNhcGFj
aXR5KCk7CiAKLSAgICAgICAgYm9vbCBjb250YWlucyhjb25zdCB2b2lkKik7CiAgICAgICAgIHNp
emVfdCBhdG9tTnVtYmVyKGNvbnN0IHZvaWQqKTsKICAgICAgICAgYm9vbCBpc01hcmtlZChjb25z
dCB2b2lkKik7CiAgICAgICAgIGJvb2wgdGVzdEFuZFNldE1hcmtlZChjb25zdCB2b2lkKik7Cisg
ICAgICAgIGJvb2wgdGVzdEFuZENsZWFyTWFya2VkKGNvbnN0IHZvaWQqKTsKICAgICAgICAgdm9p
ZCBzZXRNYXJrZWQoY29uc3Qgdm9pZCopOwogICAgICAgICAKICAgICAgICAgdGVtcGxhdGUgPHR5
cGVuYW1lIEZ1bmN0b3I+IHZvaWQgZm9yRWFjaChGdW5jdG9yJik7CkBAIC0xNjAsMTYgKzE2MCw2
IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICByZXR1cm4gbV9hbGxvY2F0aW9uLnNpemUoKTsK
ICAgICB9CiAKLSAgICBpbmxpbmUgYm9vbCBNYXJrZWRCbG9jazo6Y29udGFpbnMoY29uc3Qgdm9p
ZCogcCkKLSAgICB7Ci0gICAgICAgIEFTU0VSVChwICYmIGlzQXRvbUFsaWduZWQocCkgJiYgYXRv
bU51bWJlcihwKSA8IGF0b21zUGVyQmxvY2spOwotCi0gICAgICAgIC8vIEV2ZW4gdGhvdWdoIHdl
IHBoeXNpY2FsbHkgY29udGFpbiBwLCB3ZSBvbmx5IGxvZ2ljYWxseSBjb250YWluIHAgaWYgcAot
ICAgICAgICAvLyBwb2ludHMgdG8gYSBsaXZlIGNlbGwuIChDbGFpbWluZyB0byBjb250YWluIGEg
ZGVhZCBjZWxsIHdvdWxkIHRyaWNrIHRoZQotICAgICAgICAvLyBjb25zZXJ2YXRpdmUgZ2FyYmFn
ZSBjb2xsZWN0b3IgaW50byByZXN1cnJlY3RpbmcgdGhlIGNlbGwgaW4gYSB6b21iaWUgc3RhdGUu
KQotICAgICAgICByZXR1cm4gaXNNYXJrZWQocCk7Ci0gICAgfQotCiAgICAgaW5saW5lIHNpemVf
dCBNYXJrZWRCbG9jazo6YXRvbU51bWJlcihjb25zdCB2b2lkKiBwKQogICAgIHsKICAgICAgICAg
cmV0dXJuIChyZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4ocCkgLSByZWludGVycHJldF9jYXN0
PHVpbnRwdHJfdD4odGhpcykpIC8gYXRvbVNpemU7CkBAIC0xODUsNiArMTc1LDExIEBAIG5hbWVz
cGFjZSBKU0MgewogICAgICAgICByZXR1cm4gbV9tYXJrcy50ZXN0QW5kU2V0KGF0b21OdW1iZXIo
cCkpOwogICAgIH0KIAorICAgIGlubGluZSBib29sIE1hcmtlZEJsb2NrOjp0ZXN0QW5kQ2xlYXJN
YXJrZWQoY29uc3Qgdm9pZCogcCkKKyAgICB7CisgICAgICAgIHJldHVybiBtX21hcmtzLnRlc3RB
bmRDbGVhcihhdG9tTnVtYmVyKHApKTsKKyAgICB9CisKICAgICBpbmxpbmUgdm9pZCBNYXJrZWRC
bG9jazo6c2V0TWFya2VkKGNvbnN0IHZvaWQqIHApCiAgICAgewogICAgICAgICBtX21hcmtzLnNl
dChhdG9tTnVtYmVyKHApKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL01hcmtl
ZFNwYWNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvTWFya2Vk
U3BhY2UuaAkocmV2aXNpb24gODc0NDUpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9N
YXJrZWRTcGFjZS5oCSh3b3JraW5nIGNvcHkpCkBAIC01Miw5ICs1MiwxMCBAQCBuYW1lc3BhY2Ug
SlNDIHsKIAogICAgICAgICBzdGF0aWMgSGVhcCogaGVhcChKU0NlbGwqKTsKIAotICAgICAgICBz
dGF0aWMgYm9vbCBpc01hcmtlZChjb25zdCBKU0NlbGwqKTsKLSAgICAgICAgc3RhdGljIGJvb2wg
dGVzdEFuZFNldE1hcmtlZChjb25zdCBKU0NlbGwqKTsKLSAgICAgICAgc3RhdGljIHZvaWQgc2V0
TWFya2VkKGNvbnN0IEpTQ2VsbCopOworICAgICAgICBzdGF0aWMgYm9vbCBpc01hcmtlZChjb25z
dCB2b2lkKik7CisgICAgICAgIHN0YXRpYyBib29sIHRlc3RBbmRTZXRNYXJrZWQoY29uc3Qgdm9p
ZCopOworICAgICAgICBzdGF0aWMgYm9vbCB0ZXN0QW5kQ2xlYXJNYXJrZWQoY29uc3Qgdm9pZCop
OworICAgICAgICBzdGF0aWMgdm9pZCBzZXRNYXJrZWQoY29uc3Qgdm9pZCopOwogCiAgICAgICAg
IE1hcmtlZFNwYWNlKEpTR2xvYmFsRGF0YSopOwogICAgICAgICB2b2lkIGRlc3Ryb3koKTsKQEAg
LTEyMywxNyArMTI0LDIyIEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICByZXR1cm4gTWFya2Vk
QmxvY2s6OmJsb2NrRm9yKGNlbGwpLT5oZWFwKCk7CiAgICAgfQogCi0gICAgaW5saW5lIGJvb2wg
TWFya2VkU3BhY2U6OmlzTWFya2VkKGNvbnN0IEpTQ2VsbCogY2VsbCkKKyAgICBpbmxpbmUgYm9v
bCBNYXJrZWRTcGFjZTo6aXNNYXJrZWQoY29uc3Qgdm9pZCogY2VsbCkKICAgICB7CiAgICAgICAg
IHJldHVybiBNYXJrZWRCbG9jazo6YmxvY2tGb3IoY2VsbCktPmlzTWFya2VkKGNlbGwpOwogICAg
IH0KIAotICAgIGlubGluZSBib29sIE1hcmtlZFNwYWNlOjp0ZXN0QW5kU2V0TWFya2VkKGNvbnN0
IEpTQ2VsbCogY2VsbCkKKyAgICBpbmxpbmUgYm9vbCBNYXJrZWRTcGFjZTo6dGVzdEFuZFNldE1h
cmtlZChjb25zdCB2b2lkKiBjZWxsKQogICAgIHsKICAgICAgICAgcmV0dXJuIE1hcmtlZEJsb2Nr
OjpibG9ja0ZvcihjZWxsKS0+dGVzdEFuZFNldE1hcmtlZChjZWxsKTsKICAgICB9CiAKLSAgICBp
bmxpbmUgdm9pZCBNYXJrZWRTcGFjZTo6c2V0TWFya2VkKGNvbnN0IEpTQ2VsbCogY2VsbCkKKyAg
ICBpbmxpbmUgYm9vbCBNYXJrZWRTcGFjZTo6dGVzdEFuZENsZWFyTWFya2VkKGNvbnN0IHZvaWQq
IGNlbGwpCisgICAgeworICAgICAgICByZXR1cm4gTWFya2VkQmxvY2s6OmJsb2NrRm9yKGNlbGwp
LT50ZXN0QW5kQ2xlYXJNYXJrZWQoY2VsbCk7CisgICAgfQorCisgICAgaW5saW5lIHZvaWQgTWFy
a2VkU3BhY2U6OnNldE1hcmtlZChjb25zdCB2b2lkKiBjZWxsKQogICAgIHsKICAgICAgICAgTWFy
a2VkQmxvY2s6OmJsb2NrRm9yKGNlbGwpLT5zZXRNYXJrZWQoY2VsbCk7CiAgICAgfQpAQCAtMTQ2
LDggKzE1Miw4IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBNYXJrZWRCbG9jayogYmxvY2sg
PSBNYXJrZWRCbG9jazo6YmxvY2tGb3IoeCk7CiAgICAgICAgIGlmICghYmxvY2sgfHwgIW1fYmxv
Y2tzLmNvbnRhaW5zKGJsb2NrKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgICAg
ICByZXR1cm4gYmxvY2stPmNvbnRhaW5zKHgpOworICAgICAgICAgICAgCisgICAgICAgIHJldHVy
biB0cnVlOwogICAgIH0KIAogICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBGdW5jdG9yPiBpbmxpbmUg
dm9pZCBNYXJrZWRTcGFjZTo6Zm9yRWFjaChGdW5jdG9yJiBmdW5jdG9yKQpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL3d0Zi9CaXRtYXAuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvd3RmL0JpdG1hcC5oCShyZXZpc2lvbiA4NzQ0NSkKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93dGYvQml0bWFwLmgJKHdvcmtpbmcgY29weSkKQEAgLTM3LDYgKzM3LDcgQEAgcHVi
bGljOgogICAgIGJvb2wgZ2V0KHNpemVfdCkgY29uc3Q7CiAgICAgdm9pZCBzZXQoc2l6ZV90KTsK
ICAgICBib29sIHRlc3RBbmRTZXQoc2l6ZV90KTsKKyAgICBib29sIHRlc3RBbmRDbGVhcihzaXpl
X3QpOwogICAgIHNpemVfdCBuZXh0UG9zc2libHlVbnNldChzaXplX3QpIGNvbnN0OwogICAgIHZv
aWQgY2xlYXIoc2l6ZV90KTsKICAgICB2b2lkIGNsZWFyQWxsKCk7CkBAIC04OCw2ICs4OSwxNiBA
QCBpbmxpbmUgYm9vbCBCaXRtYXA8c2l6ZT46OnRlc3RBbmRTZXQoc2l6CiB9CiAKIHRlbXBsYXRl
PHNpemVfdCBzaXplPgoraW5saW5lIGJvb2wgQml0bWFwPHNpemU+Ojp0ZXN0QW5kQ2xlYXIoc2l6
ZV90IG4pCit7CisgICAgV29yZFR5cGUgbWFzayA9IG9uZSA8PCAobiAlIHdvcmRTaXplKTsKKyAg
ICBzaXplX3QgaW5kZXggPSBuIC8gd29yZFNpemU7CisgICAgYm9vbCByZXN1bHQgPSBiaXRzW2lu
ZGV4XSAmIG1hc2s7CisgICAgYml0c1tpbmRleF0gJj0gfm1hc2s7CisgICAgcmV0dXJuIHJlc3Vs
dDsKK30KKwordGVtcGxhdGU8c2l6ZV90IHNpemU+CiBpbmxpbmUgdm9pZCBCaXRtYXA8c2l6ZT46
OmNsZWFyKHNpemVfdCBuKQogewogICAgIGJpdHNbbiAvIHdvcmRTaXplXSAmPSB+KG9uZSA8PCAo
biAlIHdvcmRTaXplKSk7Cg==
</data>
<flag name="review"
          id="88523"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
      

    </bug>

</bugzilla>