<?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>112187</bug_id>
          
          <creation_ts>2013-03-12 14:15:15 -0700</creation_ts>
          <short_desc>Array.prototype.sort should at least try to be PTIME even when the array is in some bizarre mode</short_desc>
          <delta_ts>2013-03-12 17:20:17 -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>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Filip Pizlo">fpizlo</assigned_to>
          <cc>barraclough</cc>
    
    <cc>ggaren</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mhahnenberg</cc>
    
    <cc>msaboff</cc>
    
    <cc>oliver</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>853769</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-03-12 14:15:15 -0700</bug_when>
    <thetext>Try this:

var array = [];
array[1000000] = 42;
array.sort();

This program will not run in PTIME.  It will, in fact, likely not terminate in any sensible amount of time.

Patch forthcoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>853889</commentid>
    <comment_count>1</comment_count>
      <attachid>192831</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-03-12 16:11:33 -0700</bug_when>
    <thetext>Created attachment 192831
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>853901</commentid>
    <comment_count>2</comment_count>
      <attachid>192831</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2013-03-12 16:34:23 -0700</bug_when>
    <thetext>Comment on attachment 192831
the patch

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

Any performance impact?

&gt; Source/JavaScriptCore/ChangeLog:17
&gt; +        (JSC):

Remove</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>853917</commentid>
    <comment_count>3</comment_count>
      <attachid>192831</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2013-03-12 16:58:40 -0700</bug_when>
    <thetext>Comment on attachment 192831
the patch

As discussed, new global object please! r is me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>853929</commentid>
    <comment_count>4</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-03-12 17:20:17 -0700</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/145628</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>192831</attachid>
            <date>2013-03-12 16:11:33 -0700</date>
            <delta_ts>2013-03-12 16:58:40 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>12362</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTQ1NjAzKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBA
CisyMDEzLTAzLTEyICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
QXJyYXkucHJvdG90eXBlLnNvcnQgc2hvdWxkIGF0IGxlYXN0IHRyeSB0byBiZSBQVElNRSBldmVu
IHdoZW4gdGhlIGFycmF5IGlzIGluIHNvbWUgYml6YXJyZSBtb2RlCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTIxODcKKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzEzMzkzNTUwPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
ICAgICAgICAKKyAgICAgICAgSWYgd2UgaGF2ZSBhbiBhcnJheS1saWtlIG9iamVjdCBpbiBjcmF6
eSBtb2RlIHBhc3NlZCBpbnRvIEFycmF5LnByb3RvdHlwZS5zb3J0LCBhbmQgaXRzIGxlbmd0aCBp
cyBsYXJnZSwKKyAgICAgICAgdGhlbiBmaXJzdCBjb3B5IGFsbCBlbGVtZW50cyBpbnRvIGEgc2Vw
YXJhdGUsIGNvbXBhY3QsIHVuLWhvbHksIGFycmF5IGFuZCBzb3J0IHRoYXQuIFRoZW4gY29weSBi
YWNrLgorICAgICAgICBUaGlzIG1lYW5zIHRoYXQgc29ydGluZyB3aWxsIGJlIGF0IHdvcmtzIE8o
bl4yKSBpbiB0aGUgYWN0dWFsIG51bWJlciBvZiB0aGluZ3MgaW4gdGhlIGFycmF5LCByYXRoZXIg
dGhhbgorICAgICAgICBPKG5eMikgaW4gdGhlIGFycmF5J3MgbGVuZ3RoLgorCisgICAgICAgICog
cnVudGltZS9BcnJheVByb3RvdHlwZS5jcHA6CisgICAgICAgIChKU0M6OmF0dGVtcHRGYXN0U29y
dCk6CisgICAgICAgIChKU0M6OnBlcmZvcm1TbG93U29ydCk6CisgICAgICAgIChKU0MpOgorICAg
ICAgICAoSlNDOjphcnJheVByb3RvRnVuY1NvcnQpOgorICAgICAgICAqIHJ1bnRpbWUvSlNBcnJh
eS5oOgorICAgICAgICAoSlNBcnJheSk6CisKIDIwMTMtMDMtMTEgIE9saXZlciBIdW50ICA8b2xp
dmVyQGFwcGxlLmNvbT4KIAogICAgICAgICBIYXJkZW4gSlNTdHJpbmdKb2luZXIKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVByb3RvdHlwZS5jcHAJKHJl
dmlzaW9uIDE0NTU2MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJv
dG90eXBlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjQ1LDM5ICs2NDUsMzYgQEAgaW5saW5lIEpT
VmFsdWUgZ2V0T3JIb2xlKEpTT2JqZWN0KiBvYmosIAogICAgIHJldHVybiBKU1ZhbHVlKCk7CiB9
CiAKLUVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlQcm90b0Z1bmNTb3J0KEV4ZWNT
dGF0ZSogZXhlYykKK3N0YXRpYyBib29sIGF0dGVtcHRGYXN0U29ydChFeGVjU3RhdGUqIGV4ZWMs
IEpTT2JqZWN0KiB0aGlzT2JqLCBKU1ZhbHVlIGZ1bmN0aW9uLCBDYWxsRGF0YSYgY2FsbERhdGEs
IENhbGxUeXBlJiBjYWxsVHlwZSkKIHsKLSAgICBKU09iamVjdCogdGhpc09iaiA9IGV4ZWMtPmhv
c3RUaGlzVmFsdWUoKS50b09iamVjdChleGVjKTsKLSAgICB1bnNpZ25lZCBsZW5ndGggPSB0aGlz
T2JqLT5nZXQoZXhlYywgZXhlYy0+cHJvcGVydHlOYW1lcygpLmxlbmd0aCkudG9VSW50MzIoZXhl
Yyk7Ci0gICAgaWYgKCFsZW5ndGggfHwgZXhlYy0+aGFkRXhjZXB0aW9uKCkpCi0gICAgICAgIHJl
dHVybiBKU1ZhbHVlOjplbmNvZGUodGhpc09iaik7Ci0KLSAgICBKU1ZhbHVlIGZ1bmN0aW9uID0g
ZXhlYy0+YXJndW1lbnQoMCk7Ci0gICAgQ2FsbERhdGEgY2FsbERhdGE7Ci0gICAgQ2FsbFR5cGUg
Y2FsbFR5cGUgPSBnZXRDYWxsRGF0YShmdW5jdGlvbiwgY2FsbERhdGEpOwotCi0gICAgaWYgKHRo
aXNPYmotPmNsYXNzSW5mbygpID09ICZKU0FycmF5OjpzX2luZm8gJiYgIWFzQXJyYXkodGhpc09i
aiktPmhhc1NwYXJzZU1hcCgpICYmICFzaG91bGRVc2VTbG93UHV0KHRoaXNPYmotPnN0cnVjdHVy
ZSgpLT5pbmRleGluZ1R5cGUoKSkpIHsKLSAgICAgICAgaWYgKGlzTnVtZXJpY0NvbXBhcmVGdW5j
dGlvbihleGVjLCBjYWxsVHlwZSwgY2FsbERhdGEpKQotICAgICAgICAgICAgYXNBcnJheSh0aGlz
T2JqKS0+c29ydE51bWVyaWMoZXhlYywgZnVuY3Rpb24sIGNhbGxUeXBlLCBjYWxsRGF0YSk7Ci0g
ICAgICAgIGVsc2UgaWYgKGNhbGxUeXBlICE9IENhbGxUeXBlTm9uZSkKLSAgICAgICAgICAgIGFz
QXJyYXkodGhpc09iaiktPnNvcnQoZXhlYywgZnVuY3Rpb24sIGNhbGxUeXBlLCBjYWxsRGF0YSk7
Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIGFzQXJyYXkodGhpc09iaiktPnNvcnQoZXhlYyk7
Ci0gICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUodGhpc09iaik7Ci0gICAgfQorICAgIGlm
ICh0aGlzT2JqLT5jbGFzc0luZm8oKSAhPSAmSlNBcnJheTo6c19pbmZvCisgICAgICAgIHx8IGFz
QXJyYXkodGhpc09iaiktPmhhc1NwYXJzZU1hcCgpCisgICAgICAgIHx8IHNob3VsZFVzZVNsb3dQ
dXQodGhpc09iai0+c3RydWN0dXJlKCktPmluZGV4aW5nVHlwZSgpKSkKKyAgICAgICAgcmV0dXJu
IGZhbHNlOworICAgIAorICAgIGlmIChpc051bWVyaWNDb21wYXJlRnVuY3Rpb24oZXhlYywgY2Fs
bFR5cGUsIGNhbGxEYXRhKSkKKyAgICAgICAgYXNBcnJheSh0aGlzT2JqKS0+c29ydE51bWVyaWMo
ZXhlYywgZnVuY3Rpb24sIGNhbGxUeXBlLCBjYWxsRGF0YSk7CisgICAgZWxzZSBpZiAoY2FsbFR5
cGUgIT0gQ2FsbFR5cGVOb25lKQorICAgICAgICBhc0FycmF5KHRoaXNPYmopLT5zb3J0KGV4ZWMs
IGZ1bmN0aW9uLCBjYWxsVHlwZSwgY2FsbERhdGEpOworICAgIGVsc2UKKyAgICAgICAgYXNBcnJh
eSh0aGlzT2JqKS0+c29ydChleGVjKTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KIAorc3RhdGljIGJv
b2wgcGVyZm9ybVNsb3dTb3J0KEV4ZWNTdGF0ZSogZXhlYywgSlNPYmplY3QqIHRoaXNPYmosIHVu
c2lnbmVkIGxlbmd0aCwgSlNWYWx1ZSBmdW5jdGlvbiwgQ2FsbERhdGEmIGNhbGxEYXRhLCBDYWxs
VHlwZSYgY2FsbFR5cGUpCit7CiAgICAgLy8gIk1pbiIgc29ydC4gTm90IHRoZSBmYXN0ZXN0LCBi
dXQgZGVmaW5pdGVseSBsZXNzIGNvZGUgdGhhbiBoZWFwc29ydAogICAgIC8vIG9yIHF1aWNrc29y
dCwgYW5kIG11Y2ggbGVzcyBzd2FwcGluZyB0aGFuIGJ1YmJsZXNvcnQvaW5zZXJ0aW9uc29ydC4K
ICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbGVuZ3RoIC0gMTsgKytpKSB7CiAgICAgICAg
IEpTVmFsdWUgaU9iaiA9IGdldE9ySG9sZSh0aGlzT2JqLCBleGVjLCBpKTsKICAgICAgICAgaWYg
KGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQotICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29k
ZShqc1VuZGVmaW5lZCgpKTsKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgdW5z
aWduZWQgdGhlbWluID0gaTsKICAgICAgICAgSlNWYWx1ZSBtaW5PYmogPSBpT2JqOwogICAgICAg
ICBmb3IgKHVuc2lnbmVkIGogPSBpICsgMTsgaiA8IGxlbmd0aDsgKytqKSB7CiAgICAgICAgICAg
ICBKU1ZhbHVlIGpPYmogPSBnZXRPckhvbGUodGhpc09iaiwgZXhlYywgaik7CiAgICAgICAgICAg
ICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIEpTVmFs
dWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7
CiAgICAgICAgICAgICBkb3VibGUgY29tcGFyZVJlc3VsdDsKICAgICAgICAgICAgIGlmICghak9i
aikKICAgICAgICAgICAgICAgICBjb21wYXJlUmVzdWx0ID0gMTsKQEAgLTcwNSwyMSArNzAyLDkz
IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlQcm90b0YKICAgICAgICAgICAg
IGlmIChtaW5PYmopIHsKICAgICAgICAgICAgICAgICB0aGlzT2JqLT5tZXRob2RUYWJsZSgpLT5w
dXRCeUluZGV4KHRoaXNPYmosIGV4ZWMsIGksIG1pbk9iaiwgdHJ1ZSk7CiAgICAgICAgICAgICAg
ICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQotICAgICAgICAgICAgICAgICAgICByZXR1cm4g
SlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOworICAgICAgICAgICAgICAgICAgICByZXR1
cm4gZmFsc2U7CiAgICAgICAgICAgICB9IGVsc2UgaWYgKCF0aGlzT2JqLT5tZXRob2RUYWJsZSgp
LT5kZWxldGVQcm9wZXJ0eUJ5SW5kZXgodGhpc09iaiwgZXhlYywgaSkpIHsKICAgICAgICAgICAg
ICAgICB0aHJvd1R5cGVFcnJvcihleGVjLCAiVW5hYmxlIHRvIGRlbGV0ZSBwcm9wZXJ0eS4iKTsK
LSAgICAgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwor
ICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAg
IGlmIChpT2JqKSB7CiAgICAgICAgICAgICAgICAgdGhpc09iai0+bWV0aG9kVGFibGUoKS0+cHV0
QnlJbmRleCh0aGlzT2JqLCBleGVjLCB0aGVtaW4sIGlPYmosIHRydWUpOwogICAgICAgICAgICAg
ICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJu
IEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKKyAgICAgICAgICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOwogICAgICAgICAgICAgfSBlbHNlIGlmICghdGhpc09iai0+bWV0aG9kVGFibGUo
KS0+ZGVsZXRlUHJvcGVydHlCeUluZGV4KHRoaXNPYmosIGV4ZWMsIHRoZW1pbikpIHsKICAgICAg
ICAgICAgICAgICB0aHJvd1R5cGVFcnJvcihleGVjLCAiVW5hYmxlIHRvIGRlbGV0ZSBwcm9wZXJ0
eS4iKTsKLSAgICAgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVk
KCkpOworICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgIH0KICAgICAg
ICAgfQogICAgIH0KKyAgICByZXR1cm4gdHJ1ZTsKK30KKworRW5jb2RlZEpTVmFsdWUgSlNDX0hP
U1RfQ0FMTCBhcnJheVByb3RvRnVuY1NvcnQoRXhlY1N0YXRlKiBleGVjKQoreworICAgIEpTT2Jq
ZWN0KiB0aGlzT2JqID0gZXhlYy0+aG9zdFRoaXNWYWx1ZSgpLnRvT2JqZWN0KGV4ZWMpOworICAg
IHVuc2lnbmVkIGxlbmd0aCA9IHRoaXNPYmotPmdldChleGVjLCBleGVjLT5wcm9wZXJ0eU5hbWVz
KCkubGVuZ3RoKS50b1VJbnQzMihleGVjKTsKKyAgICBpZiAoIWxlbmd0aCB8fCBleGVjLT5oYWRF
eGNlcHRpb24oKSkKKyAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZSh0aGlzT2JqKTsKKwor
ICAgIEpTVmFsdWUgZnVuY3Rpb24gPSBleGVjLT5hcmd1bWVudCgwKTsKKyAgICBDYWxsRGF0YSBj
YWxsRGF0YTsKKyAgICBDYWxsVHlwZSBjYWxsVHlwZSA9IGdldENhbGxEYXRhKGZ1bmN0aW9uLCBj
YWxsRGF0YSk7CisKKyAgICBpZiAoYXR0ZW1wdEZhc3RTb3J0KGV4ZWMsIHRoaXNPYmosIGZ1bmN0
aW9uLCBjYWxsRGF0YSwgY2FsbFR5cGUpKQorICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2Rl
KHRoaXNPYmopOworICAgIAorICAgIC8vIEFzc3VtZSB0aGF0IGZvciBzbWFsbC1pc2ggYXJyYXlz
LCBkb2luZyB0aGUgc2xvdyBzb3J0IGRpcmVjdGx5IGlzIGJldHRlci4KKyAgICBpZiAobGVuZ3Ro
IDwgMTAwMCkKKyAgICAgICAgcmV0dXJuIHBlcmZvcm1TbG93U29ydChleGVjLCB0aGlzT2JqLCBs
ZW5ndGgsIGZ1bmN0aW9uLCBjYWxsRGF0YSwgY2FsbFR5cGUpID8gSlNWYWx1ZTo6ZW5jb2RlKHRo
aXNPYmopIDogSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOworICAgIAorICAgIFZlY3Rv
cjx1aW50MzJfdD4ga2V5czsKKyAgICBKU0FycmF5KiBmbGF0QXJyYXkgPSBjb25zdHJ1Y3RFbXB0
eUFycmF5KGV4ZWMsIDApOworICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAgICAgICAg
cmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKKyAgICAKKyAgICBQcm9wZXJ0
eU5hbWVBcnJheSBuYW1lQXJyYXkoZXhlYyk7CisgICAgdGhpc09iai0+bWV0aG9kVGFibGUoKS0+
Z2V0UHJvcGVydHlOYW1lcyh0aGlzT2JqLCBleGVjLCBuYW1lQXJyYXksIEluY2x1ZGVEb250RW51
bVByb3BlcnRpZXMpOworICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKKyAgICAgICAgcmV0
dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKKyAgICAKKyAgICBmb3IgKHNpemVf
dCBpID0gMDsgaSA8IG5hbWVBcnJheS5zaXplKCk7ICsraSkgeworICAgICAgICBQcm9wZXJ0eU5h
bWUgbmFtZSA9IG5hbWVBcnJheVtpXTsKKyAgICAgICAgdWludDMyX3QgaW5kZXggPSBuYW1lLmFz
SW5kZXgoKTsKKyAgICAgICAgaWYgKGluZGV4ID09IFByb3BlcnR5TmFtZTo6Tm90QW5JbmRleCkK
KyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAKKyAgICAgICAgSlNWYWx1ZSB2YWx1ZSA9
IGdldE9ySG9sZSh0aGlzT2JqLCBleGVjLCBpbmRleCk7CisgICAgICAgIGlmIChleGVjLT5oYWRF
eGNlcHRpb24oKSkKKyAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmlu
ZWQoKSk7CisgICAgICAgIGlmICghdmFsdWUpCisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAg
ICAga2V5cy5hcHBlbmQoaW5kZXgpOworICAgICAgICBmbGF0QXJyYXktPnB1c2goZXhlYywgdmFs
dWUpOworICAgICAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAgICAgICByZXR1
cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOworICAgIH0KKyAgICAKKyAgICBpZiAo
IWF0dGVtcHRGYXN0U29ydChleGVjLCBmbGF0QXJyYXksIGZ1bmN0aW9uLCBjYWxsRGF0YSwgY2Fs
bFR5cGUpCisgICAgICAgICYmICFwZXJmb3JtU2xvd1NvcnQoZXhlYywgZmxhdEFycmF5LCBmbGF0
QXJyYXktPmxlbmd0aCgpLCBmdW5jdGlvbiwgY2FsbERhdGEsIGNhbGxUeXBlKSkKKyAgICAgICAg
cmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKKyAgICAKKyAgICBmb3IgKHNp
emVfdCBpID0gMDsgaSA8IGtleXMuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgc2l6ZV90IGluZGV4
ID0ga2V5c1tpXTsKKyAgICAgICAgaWYgKGluZGV4IDwgZmxhdEFycmF5LT5sZW5ndGgoKSkKKyAg
ICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAKKyAgICAgICAgaWYgKCF0aGlzT2JqLT5tZXRo
b2RUYWJsZSgpLT5kZWxldGVQcm9wZXJ0eUJ5SW5kZXgodGhpc09iaiwgZXhlYywgaW5kZXgpKSB7
CisgICAgICAgICAgICB0aHJvd1R5cGVFcnJvcihleGVjLCAiVW5hYmxlIHRvIGRlbGV0ZSBwcm9w
ZXJ0eS4iKTsKKyAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQo
KSk7CisgICAgICAgIH0KKyAgICB9CisgICAgCisgICAgZm9yIChzaXplX3QgaSA9IGZsYXRBcnJh
eS0+bGVuZ3RoKCk7IGktLTspIHsKKyAgICAgICAgSlNWYWx1ZSB2YWx1ZSA9IGdldE9ySG9sZShm
bGF0QXJyYXksIGV4ZWMsIGkpOworICAgICAgICBpZiAoIXZhbHVlKQorICAgICAgICAgICAgdmFs
dWUgPSBqc1VuZGVmaW5lZCgpOyAvLyBUaGlzIHNob3VsZCBuZXZlciBoYXBwZW4gdW5sZXNzIHRo
ZXJlIGFyZSByZWFsbHkgc3RyYW5nZSBzZXR0ZXJzIG9yIGdldHRlcnMgaW4gdGhlIHByb3RvdHlw
ZSBjaGFpbjsganVzdCBkbyBzb21ldGhpbmcgc2Vuc2libGUgdGhhdCB3b24ndCBtYWtlIHVzIGRp
ZS4KKyAgICAgICAgdGhpc09iai0+bWV0aG9kVGFibGUoKS0+cHV0QnlJbmRleCh0aGlzT2JqLCBl
eGVjLCBpLCB2YWx1ZSwgdHJ1ZSk7CisgICAgICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkK
KyAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CisgICAg
fQorICAgIAogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUodGhpc09iaik7CiB9CiAKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXkuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5LmgJKHJldmlzaW9uIDE0NTU2MykK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXkuaAkod29ya2luZyBjb3B5
KQpAQCAtMTMzLDcgKzEzMyw3IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIHJldHVybiBTdHJ1
Y3R1cmU6OmNyZWF0ZShnbG9iYWxEYXRhLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgVHlwZUlu
Zm8oT2JqZWN0VHlwZSwgU3RydWN0dXJlRmxhZ3MpLCAmc19pbmZvLCBpbmRleGluZ1R5cGUpOwog
ICAgIH0KLSAgICAgICAgCisgICAgCiBwcm90ZWN0ZWQ6CiAgICAgc3RhdGljIGNvbnN0IHVuc2ln
bmVkIFN0cnVjdHVyZUZsYWdzID0gT3ZlcnJpZGVzR2V0T3duUHJvcGVydHlTbG90IHwgT3ZlcnJp
ZGVzR2V0UHJvcGVydHlOYW1lcyB8IEpTT2JqZWN0OjpTdHJ1Y3R1cmVGbGFnczsKICAgICBzdGF0
aWMgdm9pZCBwdXQoSlNDZWxsKiwgRXhlY1N0YXRlKiwgUHJvcGVydHlOYW1lLCBKU1ZhbHVlLCBQ
dXRQcm9wZXJ0eVNsb3QmKTsKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0NTYwNCkKKysrIExheW91dFRl
c3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDEzLTAzLTEy
ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAgQXJyYXkucHJvdG90
eXBlLnNvcnQgc2hvdWxkIGF0IGxlYXN0IHRyeSB0byBiZSBQVElNRSBldmVuIHdoZW4gdGhlIGFy
cmF5IGlzIGluIHNvbWUgYml6YXJyZSBtb2RlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMTIxODcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEzMzkz
NTUwPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAgICAKKyAg
ICAgICAgSWYgeW91ciBBcnJheS5wcm90b3R5cGUuc29ydCBpcyBub3Qgc3VmZmljaWVudGx5IHNt
YXJ0LCB0aGlzIHRlc3Qgd2lsbCBuZXZlciBjb21wbGV0ZS4KKyAgICAgICAgQnV0IGlmIGl0IGlz
LCBpdCdsbCBjb21wbGV0ZSBpbnN0YW50bHkuCisKKyAgICAgICAgKiBmYXN0L2pzL2FycmF5LXNv
cnQtc21hbGwtc3BhcnNlLWFycmF5LXdpdGgtbGFyZ2UtbGVuZ3RoLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZmFzdC9qcy9hcnJheS1zb3J0LXNtYWxsLXNwYXJzZS1hcnJheS13aXRo
LWxhcmdlLWxlbmd0aC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2pzL2pzYy10ZXN0LWxp
c3Q6CisgICAgICAgICogZmFzdC9qcy9zY3JpcHQtdGVzdHMvYXJyYXktc29ydC1zbWFsbC1zcGFy
c2UtYXJyYXktd2l0aC1sYXJnZS1sZW5ndGguanM6IEFkZGVkLgorCiAyMDEzLTAzLTEyICBSeW9z
dWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIEFkZCBvbmUgbW9yZSB0ZXN0
IGV4cGVjdGF0aW9uIHBlciBidWcgMTEyMTc2LgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9qcy9h
cnJheS1zb3J0LXNtYWxsLXNwYXJzZS1hcnJheS13aXRoLWxhcmdlLWxlbmd0aC1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9qcy9hcnJheS1zb3J0LXNtYWxsLXNw
YXJzZS1hcnJheS13aXRoLWxhcmdlLWxlbmd0aC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisr
KyBMYXlvdXRUZXN0cy9mYXN0L2pzL2FycmF5LXNvcnQtc21hbGwtc3BhcnNlLWFycmF5LXdpdGgt
bGFyZ2UtbGVuZ3RoLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxMyBAQAor
VGVzdHMgdGhhdCB3ZSBjYW4gcXVpY2tseSBzb3J0IGEgc21hbGwgc3BhcnNlIGFycmF5IHRoYXQg
aGFzIGEgbGFyZ2UgbGVuZ3RoLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworYXJy
YXlbMF0gPSA0MgorUEFTUyByZXN1bHQgaXMgIjQyIgorUEFTUyBhcnJheS5sZW5ndGggaXMgMTAw
MDAwMDEKK1BBU1MgYXJyYXlbMF0gaXMgNDIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2pzL2FycmF5LXNv
cnQtc21hbGwtc3BhcnNlLWFycmF5LXdpdGgtbGFyZ2UtbGVuZ3RoLmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvZmFzdC9qcy9hcnJheS1zb3J0LXNtYWxsLXNwYXJzZS1hcnJheS13aXRo
LWxhcmdlLWxlbmd0aC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9qcy9h
cnJheS1zb3J0LXNtYWxsLXNwYXJzZS1hcnJheS13aXRoLWxhcmdlLWxlbmd0aC5odG1sCShyZXZp
c2lvbiAwKQpAQCAtMCwwICsxLDEwIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYv
L0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQgc3JjPSJz
Y3JpcHQtdGVzdHMvYXJyYXktc29ydC1zbWFsbC1zcGFyc2UtYXJyYXktd2l0aC1sYXJnZS1sZW5n
dGguanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9qcy9q
c2MtdGVzdC1saXN0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvanMvanNjLXRlc3Qt
bGlzdAkocmV2aXNpb24gMTQ1NTYzKQorKysgTGF5b3V0VGVzdHMvZmFzdC9qcy9qc2MtdGVzdC1s
aXN0CSh3b3JraW5nIGNvcHkpCkBAIC0yMSw2ICsyMSw3IEBAIGZhc3QvanMvYXJyYXktcmVkdWNl
CiBmYXN0L2pzL2FycmF5LXJlZHVjZVJpZ2h0CiBmYXN0L2pzL2FycmF5LXJlc2V0LWxhcmdlLWlu
ZGV4CiBmYXN0L2pzL2FycmF5LXNsb3ctcHV0CitmYXN0L2pzL2FycmF5LXNvcnQtc21hbGwtc3Bh
cnNlLWFycmF5LXdpdGgtbGFyZ2UtbGVuZ3RoCiBmYXN0L2pzL2FycmF5LXNvcnQtbnVtZXJpY0Nv
bXBhcmUKIGZhc3QvanMvYXJyYXktc29ydC1yZWVudHJhbmNlCiBmYXN0L2pzL2FycmF5LXNwbGlj
ZQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9qcy9zY3JpcHQtdGVzdHMvYXJyYXktc29ydC1zbWFs
bC1zcGFyc2UtYXJyYXktd2l0aC1sYXJnZS1sZW5ndGguanMKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvZmFzdC9qcy9zY3JpcHQtdGVzdHMvYXJyYXktc29ydC1zbWFsbC1zcGFyc2UtYXJyYXkt
d2l0aC1sYXJnZS1sZW5ndGguanMJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2pz
L3NjcmlwdC10ZXN0cy9hcnJheS1zb3J0LXNtYWxsLXNwYXJzZS1hcnJheS13aXRoLWxhcmdlLWxl
bmd0aC5qcwkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNyBAQAorZGVzY3JpcHRpb24oCisiVGVz
dHMgdGhhdCB3ZSBjYW4gcXVpY2tseSBzb3J0IGEgc21hbGwgc3BhcnNlIGFycmF5IHRoYXQgaGFz
IGEgbGFyZ2UgbGVuZ3RoLiIKKyk7CisKK3ZhciBhcnJheSA9IFtdOworYXJyYXlbMTAwMDAwMDBd
ID0gNDI7CithcnJheS5zb3J0KCk7Cit2YXIgcmVzdWx0ID0gIiI7Citmb3IgKHZhciBzIGluIGFy
cmF5KSB7CisgICAgZGVidWcoImFycmF5WyIgKyBzICsgIl0gPSAiICsgYXJyYXlbc10pOworICAg
IGlmIChyZXN1bHQpCisgICAgICAgIHJlc3VsdCArPSAiLCI7CisgICAgcmVzdWx0ICs9IGFycmF5
W3NdOworfQorc2hvdWxkQmUoInJlc3VsdCIsICJcIjQyXCIiKTsKK3Nob3VsZEJlKCJhcnJheS5s
ZW5ndGgiLCAiMTAwMDAwMDEiKTsKK3Nob3VsZEJlKCJhcnJheVswXSIsICI0MiIpOwo=
</data>
<flag name="review"
          id="214187"
          type_id="1"
          status="+"
          setter="msaboff"
    />
          </attachment>
      

    </bug>

</bugzilla>