<?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>95630</bug_id>
          
          <creation_ts>2012-08-31 18:06:14 -0700</creation_ts>
          <short_desc>JSArray::putDirectIndex should by default behave like JSObject::putDirect</short_desc>
          <delta_ts>2012-08-31 18:51: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>
          
          <blocked>91933</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Filip Pizlo">fpizlo</assigned_to>
          <cc>barraclough</cc>
    
    <cc>fpizlo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>710111</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-08-31 18:06:14 -0700</bug_when>
    <thetext>As in, it should ignore the possibility of the property already existing and being read-only, and the possibility of the object being non-extensible.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>710119</commentid>
    <comment_count>1</comment_count>
      <attachid>161806</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-08-31 18:22:36 -0700</bug_when>
    <thetext>Created attachment 161806
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>710123</commentid>
    <comment_count>2</comment_count>
      <attachid>161806</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-08-31 18:48:08 -0700</bug_when>
    <thetext>Comment on attachment 161806
the patch

Attachment 161806 did not pass win-ews (win):
Output: http://queues.webkit.org/results/13724404</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>710125</commentid>
    <comment_count>3</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-08-31 18:51:17 -0700</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/127349</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>161806</attachid>
            <date>2012-08-31 18:22:36 -0700</date>
            <delta_ts>2012-08-31 18:48:08 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>putdirectindex_patch_1.diff</filename>
            <type>text/plain</type>
            <size>20311</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTI3MzQ3KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMzIEBA
CisyMDEyLTA4LTMxICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
SlNBcnJheTo6cHV0RGlyZWN0SW5kZXggc2hvdWxkIGJ5IGRlZmF1bHQgYmVoYXZlIGxpa2UgSlNP
YmplY3Q6OnB1dERpcmVjdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9OTU2MzAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIGppdC9KSVRTdHVicy5jcHA6CisgICAgICAgIChKU0M6OkRFRklORV9TVFVCX0ZV
TkNUSU9OKToKKyAgICAgICAgKiBqc2MuY3BwOgorICAgICAgICAoR2xvYmFsT2JqZWN0OjpmaW5p
c2hDcmVhdGlvbik6CisgICAgICAgICogbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwOgorICAgICAg
ICAoSlNDOjpMTEludDo6TExJTlRfU0xPV19QQVRIX0RFQ0wpOgorICAgICAgICAqIHJ1bnRpbWUv
SlNBcnJheS5jcHA6CisgICAgICAgIChKU0M6OlNwYXJzZUFycmF5VmFsdWVNYXA6OnB1dERpcmVj
dCk6CisgICAgICAgIChKU0M6OkpTQXJyYXk6OmRlZmluZU93bk51bWVyaWNQcm9wZXJ0eSk6Cisg
ICAgICAgIChKU0M6OkpTQXJyYXk6OnB1dERpcmVjdEluZGV4QmV5b25kVmVjdG9yTGVuZ3RoKToK
KyAgICAgICAgKiBydW50aW1lL0pTQXJyYXkuaDoKKyAgICAgICAgKFNwYXJzZUFycmF5VmFsdWVN
YXApOgorICAgICAgICAoSlNBcnJheSk6CisgICAgICAgIChKU0M6OkpTQXJyYXk6OnB1dERpcmVj
dEluZGV4KToKKyAgICAgICAgKiBydW50aW1lL0pTT05PYmplY3QuY3BwOgorICAgICAgICAoSlND
OjpXYWxrZXI6OndhbGspOgorICAgICAgICAqIHJ1bnRpbWUvUmVnRXhwTWF0Y2hlc0FycmF5LmNw
cDoKKyAgICAgICAgKEpTQzo6UmVnRXhwTWF0Y2hlc0FycmF5OjpyZWlmeUFsbFByb3BlcnRpZXMp
OgorICAgICAgICAoSlNDOjpSZWdFeHBNYXRjaGVzQXJyYXk6OnJlaWZ5TWF0Y2hQcm9wZXJ0eSk6
CisgICAgICAgICogcnVudGltZS9TdHJpbmdQcm90b3R5cGUuY3BwOgorICAgICAgICAoSlNDOjpz
cGxpdFN0cmluZ0J5T25lQ2hhcmFjdGVySW1wbCk6CisgICAgICAgIChKU0M6OnN0cmluZ1Byb3Rv
RnVuY1NwbGl0KToKKwogMjAxMi0wOC0zMSAgR2VvZmZyZXkgR2FyZW4gIDxnZ2FyZW5AYXBwbGUu
Y29tPgogCiAgICAgICAgIFJvbGxlZCBiYWNrIGluIGEgcGllY2Ugb2YgPGh0dHA6Ly90cmFjLndl
YmtpdC5vcmcvY2hhbmdlc2V0LzEyNzI5Mz4uCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
anNjLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvanNjLmNwcAkocmV2
aXNpb24gMTI3MzQ1KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTIyNCw3ICsyMjQsNyBAQCBwcm90ZWN0ZWQ6CiAKICAgICAgICAgSlNBcnJheSog
YXJyYXkgPSBjb25zdHJ1Y3RFbXB0eUFycmF5KGdsb2JhbEV4ZWMoKSk7CiAgICAgICAgIGZvciAo
c2l6ZV90IGkgPSAwOyBpIDwgYXJndW1lbnRzLnNpemUoKTsgKytpKQotICAgICAgICAgICAgYXJy
YXktPnB1dERpcmVjdEluZGV4KGdsb2JhbEV4ZWMoKSwgaSwganNTdHJpbmcoZ2xvYmFsRXhlYygp
LCBhcmd1bWVudHNbaV0pLCBmYWxzZSk7CisgICAgICAgICAgICBhcnJheS0+cHV0RGlyZWN0SW5k
ZXgoZ2xvYmFsRXhlYygpLCBpLCBqc1N0cmluZyhnbG9iYWxFeGVjKCksIGFyZ3VtZW50c1tpXSkp
OwogICAgICAgICBwdXREaXJlY3QoZ2xvYmFsRGF0YSwgSWRlbnRpZmllcihnbG9iYWxFeGVjKCks
ICJhcmd1bWVudHMiKSwgYXJyYXkpOwogICAgIH0KIApJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9KSVRTdHVicy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9KSVRTdHVicy5jcHAJKHJldmlzaW9uIDEyNzM0NSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvSklUU3R1YnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMjkxLDcgKzMyOTEsNyBA
QCBERUZJTkVfU1RVQl9GVU5DVElPTih2b2lkLCBvcF9wdXRfYnlfaW5kCiAKICAgICBKU1ZhbHVl
IGFycmF5VmFsdWUgPSBzdGFja0ZyYW1lLmFyZ3NbMF0uanNWYWx1ZSgpOwogICAgIEFTU0VSVChp
c0pTQXJyYXkoYXJyYXlWYWx1ZSkpOwotICAgIGFzQXJyYXkoYXJyYXlWYWx1ZSktPnB1dERpcmVj
dEluZGV4KGNhbGxGcmFtZSwgcHJvcGVydHksIHN0YWNrRnJhbWUuYXJnc1syXS5qc1ZhbHVlKCks
IGZhbHNlKTsKKyAgICBhc0FycmF5KGFycmF5VmFsdWUpLT5wdXREaXJlY3RJbmRleChjYWxsRnJh
bWUsIHByb3BlcnR5LCBzdGFja0ZyYW1lLmFyZ3NbMl0uanNWYWx1ZSgpKTsKIH0KIAogREVGSU5F
X1NUVUJfRlVOQ1RJT04odm9pZCosIG9wX3N3aXRjaF9pbW0pCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAJKHJldmlzaW9uIDEyNzM0NSkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTExMDQsNyArMTEwNCw3IEBAIExMSU5UX1NMT1dfUEFUSF9ERUNMKHNsb3df
cGF0aF9wdXRfYnlfaW4KICAgICBMTElOVF9CRUdJTigpOwogICAgIEpTVmFsdWUgYXJyYXlWYWx1
ZSA9IExMSU5UX09QX0MoMSkuanNWYWx1ZSgpOwogICAgIEFTU0VSVChpc0pTQXJyYXkoYXJyYXlW
YWx1ZSkpOwotICAgIGFzQXJyYXkoYXJyYXlWYWx1ZSktPnB1dERpcmVjdEluZGV4KGV4ZWMsIHBj
WzJdLnUub3BlcmFuZCwgTExJTlRfT1BfQygzKS5qc1ZhbHVlKCksIGZhbHNlKTsKKyAgICBhc0Fy
cmF5KGFycmF5VmFsdWUpLT5wdXREaXJlY3RJbmRleChleGVjLCBwY1syXS51Lm9wZXJhbmQsIExM
SU5UX09QX0MoMykuanNWYWx1ZSgpKTsKICAgICBMTElOVF9FTkQoKTsKIH0KIApJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheS5jcHAJKHJldmlzaW9uIDEyNzM0NSkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXkuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0yNDQsNyArMjQ0LDcgQEAgaW5saW5lIHZvaWQgU3BhcnNlQXJyYXlWYWx1ZU1hcDo6
cHV0KEV4ZQogICAgIGNhbGwoZXhlYywgc2V0dGVyLCBjYWxsVHlwZSwgY2FsbERhdGEsIGFycmF5
LCBhcmdzKTsKIH0KIAotaW5saW5lIGJvb2wgU3BhcnNlQXJyYXlWYWx1ZU1hcDo6cHV0RGlyZWN0
KEV4ZWNTdGF0ZSogZXhlYywgSlNBcnJheSogYXJyYXksIHVuc2lnbmVkIGksIEpTVmFsdWUgdmFs
dWUsIGJvb2wgc2hvdWxkVGhyb3cpCitpbmxpbmUgYm9vbCBTcGFyc2VBcnJheVZhbHVlTWFwOjpw
dXREaXJlY3QoRXhlY1N0YXRlKiBleGVjLCBKU0FycmF5KiBhcnJheSwgdW5zaWduZWQgaSwgSlNW
YWx1ZSB2YWx1ZSwgUHV0RGlyZWN0SW5kZXhNb2RlIG1vZGUpCiB7CiAgICAgQWRkUmVzdWx0IHJl
c3VsdCA9IGFkZChhcnJheSwgaSk7CiAgICAgU3BhcnNlQXJyYXlFbnRyeSYgZW50cnkgPSByZXN1
bHQuaXRlcmF0b3ItPnNlY29uZDsKQEAgLTI1Miw5ICsyNTIsOSBAQCBpbmxpbmUgYm9vbCBTcGFy
c2VBcnJheVZhbHVlTWFwOjpwdXREaXJlCiAgICAgLy8gVG8gc2F2ZSBhIHNlcGFyYXRlIGZpbmQg
JiBhZGQsIHdlIGZpcnN0IGFsd2F5cyBhZGQgdG8gdGhlIHNwYXJzZSBtYXAuCiAgICAgLy8gSW4g
dGhlIHVuY29tbW9uIGNhc2UgdGhhdCB0aGlzIGlzIGEgbmV3IHByb3BlcnR5LCBhbmQgdGhlIGFy
cmF5IGlzIG5vdAogICAgIC8vIGV4dGVuc2libGUsIHRoaXMgaXMgbm90IHRoZSByaWdodCB0aGlu
ZyB0byBoYXZlIGRvbmUgLSBzbyByZW1vdmUgYWdhaW4uCi0gICAgaWYgKHJlc3VsdC5pc05ld0Vu
dHJ5ICYmICFhcnJheS0+aXNFeHRlbnNpYmxlKCkpIHsKKyAgICBpZiAobW9kZSAhPSBQdXREaXJl
Y3RJbmRleExpa2VQdXREaXJlY3QgJiYgcmVzdWx0LmlzTmV3RW50cnkgJiYgIWFycmF5LT5pc0V4
dGVuc2libGUoKSkgewogICAgICAgICByZW1vdmUocmVzdWx0Lml0ZXJhdG9yKTsKLSAgICAgICAg
cmV0dXJuIHJlamVjdChleGVjLCBzaG91bGRUaHJvdywgIkF0dGVtcHRpbmcgdG8gZGVmaW5lIHBy
b3BlcnR5IG9uIG9iamVjdCB0aGF0IGlzIG5vdCBleHRlbnNpYmxlLiIpOworICAgICAgICByZXR1
cm4gcmVqZWN0KGV4ZWMsIG1vZGUgPT0gUHV0RGlyZWN0SW5kZXhTaG91bGRUaHJvdywgIkF0dGVt
cHRpbmcgdG8gZGVmaW5lIHByb3BlcnR5IG9uIG9iamVjdCB0aGF0IGlzIG5vdCBleHRlbnNpYmxl
LiIpOwogICAgIH0KIAogICAgIGVudHJ5LmF0dHJpYnV0ZXMgPSAwOwpAQCAtNDE0LDcgKzQxNCw3
IEBAIGJvb2wgSlNBcnJheTo6ZGVmaW5lT3duTnVtZXJpY1Byb3BlcnR5KEUKICAgICAgICAgLy8g
c3RhdGUgKGkuZS4gZGVmaW5lT3duUHJvcGVydHkgY291bGQgYmUgdXNlZCB0byBzZXQgYSB2YWx1
ZSB3aXRob3V0IG5lZWRpbmcgdG8gZW50ZXJpbmcgJ1NwYXJzZU1vZGUnKS4KICAgICAgICAgaWYg
KCFkZXNjcmlwdG9yLmF0dHJpYnV0ZXMoKSkgewogICAgICAgICAgICAgQVNTRVJUKCFkZXNjcmlw
dG9yLmlzQWNjZXNzb3JEZXNjcmlwdG9yKCkpOwotICAgICAgICAgICAgcmV0dXJuIHB1dERpcmVj
dEluZGV4KGV4ZWMsIGluZGV4LCBkZXNjcmlwdG9yLnZhbHVlKCksIHRocm93RXhjZXB0aW9uKTsK
KyAgICAgICAgICAgIHJldHVybiBwdXREaXJlY3RJbmRleChleGVjLCBpbmRleCwgZGVzY3JpcHRv
ci52YWx1ZSgpLCB0aHJvd0V4Y2VwdGlvbiA/IFB1dERpcmVjdEluZGV4U2hvdWxkVGhyb3cgOiBQ
dXREaXJlY3RJbmRleFNob3VsZE5vdFRocm93KTsKICAgICAgICAgfQogCiAgICAgICAgIGVudGVy
RGljdGlvbmFyeU1vZGUoZXhlYy0+Z2xvYmFsRGF0YSgpKTsKQEAgLTg0NCw3ICs4NDQsNyBAQCB2
b2lkIEpTQXJyYXk6OnB1dEJ5SW5kZXhCZXlvbmRWZWN0b3JMZW5nCiAgICAgdmFsdWVTbG90LnNl
dChnbG9iYWxEYXRhLCB0aGlzLCB2YWx1ZSk7CiB9CiAKLWJvb2wgSlNBcnJheTo6cHV0RGlyZWN0
SW5kZXhCZXlvbmRWZWN0b3JMZW5ndGgoRXhlY1N0YXRlKiBleGVjLCB1bnNpZ25lZCBpLCBKU1Zh
bHVlIHZhbHVlLCBib29sIHNob3VsZFRocm93KQorYm9vbCBKU0FycmF5OjpwdXREaXJlY3RJbmRl
eEJleW9uZFZlY3Rvckxlbmd0aChFeGVjU3RhdGUqIGV4ZWMsIHVuc2lnbmVkIGksIEpTVmFsdWUg
dmFsdWUsIFB1dERpcmVjdEluZGV4TW9kZSBtb2RlKQogewogICAgIEpTR2xvYmFsRGF0YSYgZ2xv
YmFsRGF0YSA9IGV4ZWMtPmdsb2JhbERhdGEoKTsKIApAQCAtODc1LDE3ICs4NzUsMTkgQEAgYm9v
bCBKU0FycmF5OjpwdXREaXJlY3RJbmRleEJleW9uZFZlY3RvcgogICAgICAgICAvLyBXZSBkb24n
dCB3YW50IHRvLCBvciBjYW4ndCB1c2UgYSB2ZWN0b3IgdG8gaG9sZCB0aGlzIHByb3BlcnR5IC0g
YWxsb2NhdGUgYSBzcGFyc2UgbWFwICYgYWRkIHRoZSB2YWx1ZS4KICAgICAgICAgYWxsb2NhdGVT
cGFyc2VNYXAoZXhlYy0+Z2xvYmFsRGF0YSgpKTsKICAgICAgICAgbWFwID0gbV9zcGFyc2VWYWx1
ZU1hcDsKLSAgICAgICAgcmV0dXJuIG1hcC0+cHV0RGlyZWN0KGV4ZWMsIHRoaXMsIGksIHZhbHVl
LCBzaG91bGRUaHJvdyk7CisgICAgICAgIHJldHVybiBtYXAtPnB1dERpcmVjdChleGVjLCB0aGlz
LCBpLCB2YWx1ZSwgbW9kZSk7CiAgICAgfQogCiAgICAgLy8gVXBkYXRlIG1fbGVuZ3RoIGlmIG5l
Y2Vzc2FyeS4KICAgICB1bnNpZ25lZCBsZW5ndGggPSBzdG9yYWdlLT5tX2xlbmd0aDsKICAgICBp
ZiAoaSA+PSBsZW5ndGgpIHsKICAgICAgICAgLy8gUHJvaGliaXQgZ3Jvd2luZyB0aGUgYXJyYXkg
aWYgbGVuZ3RoIGlzIG5vdCB3cml0YWJsZS4KLSAgICAgICAgaWYgKG1hcC0+bGVuZ3RoSXNSZWFk
T25seSgpKQotICAgICAgICAgICAgcmV0dXJuIHJlamVjdChleGVjLCBzaG91bGRUaHJvdywgU3Ry
aWN0TW9kZVJlYWRvbmx5UHJvcGVydHlXcml0ZUVycm9yKTsKLSAgICAgICAgaWYgKCFpc0V4dGVu
c2libGUoKSkKLSAgICAgICAgICAgIHJldHVybiByZWplY3QoZXhlYywgc2hvdWxkVGhyb3csICJB
dHRlbXB0aW5nIHRvIGRlZmluZSBwcm9wZXJ0eSBvbiBvYmplY3QgdGhhdCBpcyBub3QgZXh0ZW5z
aWJsZS4iKTsKKyAgICAgICAgaWYgKG1vZGUgIT0gUHV0RGlyZWN0SW5kZXhMaWtlUHV0RGlyZWN0
KSB7CisgICAgICAgICAgICBpZiAobWFwLT5sZW5ndGhJc1JlYWRPbmx5KCkpCisgICAgICAgICAg
ICAgICAgcmV0dXJuIHJlamVjdChleGVjLCBtb2RlID09IFB1dERpcmVjdEluZGV4U2hvdWxkVGhy
b3csIFN0cmljdE1vZGVSZWFkb25seVByb3BlcnR5V3JpdGVFcnJvcik7CisgICAgICAgICAgICBp
ZiAoIWlzRXh0ZW5zaWJsZSgpKQorICAgICAgICAgICAgICAgIHJldHVybiByZWplY3QoZXhlYywg
bW9kZSA9PSBQdXREaXJlY3RJbmRleFNob3VsZFRocm93LCAiQXR0ZW1wdGluZyB0byBkZWZpbmUg
cHJvcGVydHkgb24gb2JqZWN0IHRoYXQgaXMgbm90IGV4dGVuc2libGUuIik7CisgICAgICAgIH0K
ICAgICAgICAgbGVuZ3RoID0gaSArIDE7CiAgICAgICAgIHN0b3JhZ2UtPm1fbGVuZ3RoID0gbGVu
Z3RoOwogICAgIH0KQEAgLTg5NCw3ICs4OTYsNyBAQCBib29sIEpTQXJyYXk6OnB1dERpcmVjdElu
ZGV4QmV5b25kVmVjdG9yCiAgICAgLy8gV2Ugd2lsbCBjb250aW51ZSAgdG8gdXNlIGEgc3BhcnNl
IG1hcCBpZiBTcGFyc2VNb2RlIGlzIHNldCwgYSB2ZWN0b3Igd291bGQgYmUgdG9vIHNwYXJzZSwg
b3IgaWYgYWxsb2NhdGlvbiBmYWlscy4KICAgICB1bnNpZ25lZCBudW1WYWx1ZXNJbkFycmF5ID0g
c3RvcmFnZS0+bV9udW1WYWx1ZXNJblZlY3RvciArIG1hcC0+c2l6ZSgpOwogICAgIGlmIChtYXAt
PnNwYXJzZU1vZGUoKSB8fCAhaXNEZW5zZUVub3VnaEZvclZlY3RvcihsZW5ndGgsIG51bVZhbHVl
c0luQXJyYXkpIHx8ICFpbmNyZWFzZVZlY3Rvckxlbmd0aChleGVjLT5nbG9iYWxEYXRhKCksIGxl
bmd0aCkpCi0gICAgICAgIHJldHVybiBtYXAtPnB1dERpcmVjdChleGVjLCB0aGlzLCBpLCB2YWx1
ZSwgc2hvdWxkVGhyb3cpOworICAgICAgICByZXR1cm4gbWFwLT5wdXREaXJlY3QoZXhlYywgdGhp
cywgaSwgdmFsdWUsIG1vZGUpOwogCiAgICAgLy8gUmVyZWFkIG1fc3RvcmFnZSBhZnRlcmluY3Jl
YXNlVmVjdG9yTGVuZ3RoLCB1cGRhdGUgbV9udW1WYWx1ZXNJblZlY3Rvci4KICAgICBzdG9yYWdl
ID0gbV9zdG9yYWdlOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJh
eS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXku
aAkocmV2aXNpb24gMTI3MzQ1KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNB
cnJheS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw2ICszMCw4IEBAIG5hbWVzcGFjZSBKU0Mgewog
ICAgIGNsYXNzIEpTQXJyYXk7CiAgICAgY2xhc3MgTExJbnRPZmZzZXRzRXh0cmFjdG9yOwogCisg
ICAgZW51bSBQdXREaXJlY3RJbmRleE1vZGUgeyBQdXREaXJlY3RJbmRleExpa2VQdXREaXJlY3Qs
IFB1dERpcmVjdEluZGV4U2hvdWxkTm90VGhyb3csIFB1dERpcmVjdEluZGV4U2hvdWxkVGhyb3cg
fTsKKwogICAgIHN0cnVjdCBTcGFyc2VBcnJheUVudHJ5IDogcHVibGljIFdyaXRlQmFycmllcjxV
bmtub3duPiB7CiAgICAgICAgIHR5cGVkZWYgV3JpdGVCYXJyaWVyPFVua25vd24+IEJhc2U7CiAK
QEAgLTg3LDcgKzg5LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICAgICAgLy8gVGhlc2UgbWV0
aG9kcyBtYXkgbXV0YXRlIHRoZSBjb250ZW50cyBvZiB0aGUgbWFwCiAgICAgICAgIHZvaWQgcHV0
KEV4ZWNTdGF0ZSosIEpTQXJyYXkqLCB1bnNpZ25lZCwgSlNWYWx1ZSwgYm9vbCBzaG91bGRUaHJv
dyk7Ci0gICAgICAgIGJvb2wgcHV0RGlyZWN0KEV4ZWNTdGF0ZSosIEpTQXJyYXkqLCB1bnNpZ25l
ZCwgSlNWYWx1ZSwgYm9vbCBzaG91bGRUaHJvdyk7CisgICAgICAgIGJvb2wgcHV0RGlyZWN0KEV4
ZWNTdGF0ZSosIEpTQXJyYXkqLCB1bnNpZ25lZCwgSlNWYWx1ZSwgUHV0RGlyZWN0SW5kZXhNb2Rl
KTsKICAgICAgICAgQWRkUmVzdWx0IGFkZChKU0FycmF5KiwgdW5zaWduZWQpOwogICAgICAgICBp
dGVyYXRvciBmaW5kKHVuc2lnbmVkIGkpIHsgcmV0dXJuIG1fbWFwLmZpbmQoaSk7IH0KICAgICAg
ICAgLy8gVGhpcyBzaG91bGQgQVNTRVJUIHRoZSByZW1vdmUgaXMgdmFsaWQgKGNoZWNrIHRoZSBy
ZXN1bHQgb2YgdGhlIGZpbmQpLgpAQCAtMTczLDE0ICsxNzUsMTUgQEAgbmFtZXNwYWNlIEpTQyB7
CiAgICAgICAgIC8vIFRoaXMgaXMgc2ltaWxhciB0byB0aGUgSlNPYmplY3Q6OnB1dERpcmVjdCog
bWV0aG9kczoKICAgICAgICAgLy8gIC0gdGhlIHByb3RvdHlwZSBjaGFpbiBpcyBub3QgY29uc3Vs
dGVkCiAgICAgICAgIC8vICAtIGFjY2Vzc29ycyBhcmUgbm90IGNhbGxlZC4KKyAgICAgICAgLy8g
IC0gaXQgd2lsbCBpZ25vcmUgZXh0ZW5zaWJpbGl0eSBhbmQgcmVhZC1vbmx5IHByb3BlcnRpZXMg
aWYgUHV0RGlyZWN0SW5kZXhMaWtlUHV0RGlyZWN0IGlzIHBhc3NlZCBhcyB0aGUgbW9kZSAodGhl
IGRlZmF1bHQpLgogICAgICAgICAvLyBUaGlzIG1ldGhvZCBjcmVhdGVzIGEgcHJvcGVydHkgd2l0
aCBhdHRyaWJ1dGVzIHdyaXRhYmxlLCBlbnVtZXJhYmxlIGFuZCBjb25maWd1cmFibGUgYWxsIHNl
dCB0byB0cnVlLgotICAgICAgICBib29sIHB1dERpcmVjdEluZGV4KEV4ZWNTdGF0ZSogZXhlYywg
dW5zaWduZWQgcHJvcGVydHlOYW1lLCBKU1ZhbHVlIHZhbHVlLCBib29sIHNob3VsZFRocm93ID0g
dHJ1ZSkKKyAgICAgICAgYm9vbCBwdXREaXJlY3RJbmRleChFeGVjU3RhdGUqIGV4ZWMsIHVuc2ln
bmVkIHByb3BlcnR5TmFtZSwgSlNWYWx1ZSB2YWx1ZSwgUHV0RGlyZWN0SW5kZXhNb2RlIG1vZGUg
PSBQdXREaXJlY3RJbmRleExpa2VQdXREaXJlY3QpCiAgICAgICAgIHsKICAgICAgICAgICAgIGlm
IChjYW5TZXRJbmRleChwcm9wZXJ0eU5hbWUpKSB7CiAgICAgICAgICAgICAgICAgc2V0SW5kZXgo
ZXhlYy0+Z2xvYmFsRGF0YSgpLCBwcm9wZXJ0eU5hbWUsIHZhbHVlKTsKICAgICAgICAgICAgICAg
ICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHJldHVybiBwdXREaXJl
Y3RJbmRleEJleW9uZFZlY3Rvckxlbmd0aChleGVjLCBwcm9wZXJ0eU5hbWUsIHZhbHVlLCBzaG91
bGRUaHJvdyk7CisgICAgICAgICAgICByZXR1cm4gcHV0RGlyZWN0SW5kZXhCZXlvbmRWZWN0b3JM
ZW5ndGgoZXhlYywgcHJvcGVydHlOYW1lLCB2YWx1ZSwgbW9kZSk7CiAgICAgICAgIH0KIAogICAg
ICAgICBzdGF0aWMgSlNfRVhQT1JUREFUQSBjb25zdCBDbGFzc0luZm8gc19pbmZvOwpAQCAtMzAy
LDcgKzMwNSw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICB2b2lkIGRlYWxsb2NhdGVTcGFy
c2VNYXAoKTsKIAogICAgICAgICB2b2lkIHB1dEJ5SW5kZXhCZXlvbmRWZWN0b3JMZW5ndGgoRXhl
Y1N0YXRlKiwgdW5zaWduZWQgcHJvcGVydHlOYW1lLCBKU1ZhbHVlLCBib29sIHNob3VsZFRocm93
KTsKLSAgICAgICAgSlNfRVhQT1JUX1BSSVZBVEUgYm9vbCBwdXREaXJlY3RJbmRleEJleW9uZFZl
Y3Rvckxlbmd0aChFeGVjU3RhdGUqLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUsIEpTVmFsdWUsIGJv
b2wgc2hvdWxkVGhyb3cpOworICAgICAgICBKU19FWFBPUlRfUFJJVkFURSBib29sIHB1dERpcmVj
dEluZGV4QmV5b25kVmVjdG9yTGVuZ3RoKEV4ZWNTdGF0ZSosIHVuc2lnbmVkIHByb3BlcnR5TmFt
ZSwgSlNWYWx1ZSwgUHV0RGlyZWN0SW5kZXhNb2RlKTsKIAogICAgICAgICB1bnNpZ25lZCBnZXRO
ZXdWZWN0b3JMZW5ndGgodW5zaWduZWQgZGVzaXJlZExlbmd0aCk7CiAgICAgICAgIGJvb2wgaW5j
cmVhc2VWZWN0b3JMZW5ndGgoSlNHbG9iYWxEYXRhJiwgdW5zaWduZWQgbmV3TGVuZ3RoKTsKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT05PYmplY3QuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT05PYmplY3QuY3BwCShyZXZp
c2lvbiAxMjczNDUpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09OT2JqZWN0
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzA3LDcgKzcwNyw3IEBAIE5FVkVSX0lOTElORSBKU1Zh
bHVlIFdhbGtlcjo6d2FsayhKU1ZhbHUKICAgICAgICAgICAgICAgICBpZiAoZmlsdGVyZWRWYWx1
ZS5pc1VuZGVmaW5lZCgpKQogICAgICAgICAgICAgICAgICAgICBhcnJheS0+bWV0aG9kVGFibGUo
KS0+ZGVsZXRlUHJvcGVydHlCeUluZGV4KGFycmF5LCBtX2V4ZWMsIGluZGV4U3RhY2subGFzdCgp
KTsKICAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgIGFycmF5LT5wdXRE
aXJlY3RJbmRleChtX2V4ZWMsIGluZGV4U3RhY2subGFzdCgpLCBmaWx0ZXJlZFZhbHVlLCBmYWxz
ZSk7CisgICAgICAgICAgICAgICAgICAgIGFycmF5LT5wdXREaXJlY3RJbmRleChtX2V4ZWMsIGlu
ZGV4U3RhY2subGFzdCgpLCBmaWx0ZXJlZFZhbHVlKTsKICAgICAgICAgICAgICAgICBpZiAobV9l
eGVjLT5oYWRFeGNlcHRpb24oKSkKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGpzTnVsbCgp
OwogICAgICAgICAgICAgICAgIGluZGV4U3RhY2subGFzdCgpKys7CkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBNYXRjaGVzQXJyYXkuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE1hdGNoZXNBcnJheS5jcHAJKHJl
dmlzaW9uIDEyNzM0NSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE1h
dGNoZXNBcnJheS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY2LDkgKzY2LDkgQEAgdm9pZCBSZWdF
eHBNYXRjaGVzQXJyYXk6OnJlaWZ5QWxsUHJvcGVydAogICAgICAgICBmb3IgKHVuc2lnbmVkIGkg
PSAxOyBpIDw9IG51bVN1YnBhdHRlcm5zOyArK2kpIHsKICAgICAgICAgICAgIGludCBzdGFydCA9
IHN1YnBhdHRlcm5SZXN1bHRzWzIgKiBpXTsKICAgICAgICAgICAgIGlmIChzdGFydCA+PSAwKQot
ICAgICAgICAgICAgICAgIHB1dERpcmVjdEluZGV4KGV4ZWMsIGksIGpzU3Vic3RyaW5nKGV4ZWMs
IG1faW5wdXQuZ2V0KCksIHN0YXJ0LCBzdWJwYXR0ZXJuUmVzdWx0c1syICogaSArIDFdIC0gc3Rh
cnQpLCBmYWxzZSk7CisgICAgICAgICAgICAgICAgcHV0RGlyZWN0SW5kZXgoZXhlYywgaSwganNT
dWJzdHJpbmcoZXhlYywgbV9pbnB1dC5nZXQoKSwgc3RhcnQsIHN1YnBhdHRlcm5SZXN1bHRzWzIg
KiBpICsgMV0gLSBzdGFydCkpOwogICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIHB1
dERpcmVjdEluZGV4KGV4ZWMsIGksIGpzVW5kZWZpbmVkKCksIGZhbHNlKTsKKyAgICAgICAgICAg
ICAgICBwdXREaXJlY3RJbmRleChleGVjLCBpLCBqc1VuZGVmaW5lZCgpKTsKICAgICAgICAgfQog
ICAgIH0KIApAQCAtODMsNyArODMsNyBAQCB2b2lkIFJlZ0V4cE1hdGNoZXNBcnJheTo6cmVpZnlN
YXRjaFByb3BlCiB7CiAgICAgQVNTRVJUKG1fc3RhdGUgPT0gUmVpZmllZE5vbmUpOwogICAgIEFT
U0VSVChtX3Jlc3VsdCk7Ci0gICAgcHV0RGlyZWN0SW5kZXgoZXhlYywgMCwganNTdWJzdHJpbmco
ZXhlYywgbV9pbnB1dC5nZXQoKSwgbV9yZXN1bHQuc3RhcnQsIG1fcmVzdWx0LmVuZCAtIG1fcmVz
dWx0LnN0YXJ0KSwgZmFsc2UpOworICAgIHB1dERpcmVjdEluZGV4KGV4ZWMsIDAsIGpzU3Vic3Ry
aW5nKGV4ZWMsIG1faW5wdXQuZ2V0KCksIG1fcmVzdWx0LnN0YXJ0LCBtX3Jlc3VsdC5lbmQgLSBt
X3Jlc3VsdC5zdGFydCkpOwogICAgIG1fc3RhdGUgPSBSZWlmaWVkTWF0Y2g7CiB9CiAKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ1Byb3RvdHlwZS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nUHJvdG90eXBlLmNw
cAkocmV2aXNpb24gMTI3MzQ1KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3Ry
aW5nUHJvdG90eXBlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTM5LDcgKzkzOSw3IEBAIHN0YXRp
YyBBTFdBWVNfSU5MSU5FIGJvb2wgc3BsaXRTdHJpbmdCeU8KICAgICAgICAgLy8gICAgdGhyb3Vn
aCBxIChleGNsdXNpdmUpLgogICAgICAgICAvLyAyLiBDYWxsIHRoZSBbW0RlZmluZU93blByb3Bl
cnR5XV0gaW50ZXJuYWwgbWV0aG9kIG9mIEEgd2l0aCBhcmd1bWVudHMgVG9TdHJpbmcobGVuZ3Ro
QSksCiAgICAgICAgIC8vICAgIFByb3BlcnR5IERlc2NyaXB0b3Ige1tbVmFsdWVdXTogVCwgW1tX
cml0YWJsZV1dOiB0cnVlLCBbW0VudW1lcmFibGVdXTogdHJ1ZSwgW1tDb25maWd1cmFibGVdXTog
dHJ1ZX0sIGFuZCBmYWxzZS4KLSAgICAgICAgcmVzdWx0LT5wdXREaXJlY3RJbmRleChleGVjLCBy
ZXN1bHRMZW5ndGgsIGpzU3Vic3RyaW5nKGV4ZWMsIGlucHV0LCBwb3NpdGlvbiwgbWF0Y2hQb3Np
dGlvbiAtIHBvc2l0aW9uKSwgZmFsc2UpOworICAgICAgICByZXN1bHQtPnB1dERpcmVjdEluZGV4
KGV4ZWMsIHJlc3VsdExlbmd0aCwganNTdWJzdHJpbmcoZXhlYywgaW5wdXQsIHBvc2l0aW9uLCBt
YXRjaFBvc2l0aW9uIC0gcG9zaXRpb24pKTsKICAgICAgICAgLy8gMy4gSW5jcmVtZW50IGxlbmd0
aEEgYnkgMS4KICAgICAgICAgLy8gNC4gSWYgbGVuZ3RoQSA9PSBsaW0sIHJldHVybiBBLgogICAg
ICAgICBpZiAoKytyZXN1bHRMZW5ndGggPT0gbGltaXRMZW5ndGgpCkBAIC05OTMsNyArOTkzLDcg
QEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBzdHJpbmdQcm90bwogICAgICAgICBpZiAo
c2VwYXJhdG9yVmFsdWUuaXNVbmRlZmluZWQoKSkgewogICAgICAgICAgICAgLy8gYS4gQ2FsbCB0
aGUgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIGludGVybmFsIG1ldGhvZCBvZiBBIHdpdGggYXJndW1l
bnRzICIwIiwKICAgICAgICAgICAgIC8vICAgIFByb3BlcnR5IERlc2NyaXB0b3Ige1tbVmFsdWVd
XTogUywgW1tXcml0YWJsZV1dOiB0cnVlLCBbW0VudW1lcmFibGVdXTogdHJ1ZSwgW1tDb25maWd1
cmFibGVdXTogdHJ1ZX0sIGFuZCBmYWxzZS4KLSAgICAgICAgICAgIHJlc3VsdC0+cHV0RGlyZWN0
SW5kZXgoZXhlYywgMCwganNTdHJpbmdXaXRoUmV1c2UoZXhlYywgdGhpc1ZhbHVlLCBpbnB1dCks
IGZhbHNlKTsKKyAgICAgICAgICAgIHJlc3VsdC0+cHV0RGlyZWN0SW5kZXgoZXhlYywgMCwganNT
dHJpbmdXaXRoUmV1c2UoZXhlYywgdGhpc1ZhbHVlLCBpbnB1dCkpOwogICAgICAgICAgICAgLy8g
Yi4gUmV0dXJuIEEuCiAgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHJlc3VsdCk7
CiAgICAgICAgIH0KQEAgLTEwMDYsNyArMTAwNiw3IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NU
X0NBTEwgc3RyaW5nUHJvdG8KICAgICAgICAgICAgIC8vICAgIFByb3BlcnR5IERlc2NyaXB0b3Ig
e1tbVmFsdWVdXTogUywgW1tXcml0YWJsZV1dOiB0cnVlLCBbW0VudW1lcmFibGVdXTogdHJ1ZSwg
W1tDb25maWd1cmFibGVdXTogdHJ1ZX0sIGFuZCBmYWxzZS4KICAgICAgICAgICAgIC8vIGQuIFJl
dHVybiBBLgogICAgICAgICAgICAgaWYgKCFyZWctPm1hdGNoKCpnbG9iYWxEYXRhLCBpbnB1dCwg
MCkpCi0gICAgICAgICAgICAgICAgcmVzdWx0LT5wdXREaXJlY3RJbmRleChleGVjLCAwLCBqc1N0
cmluZ1dpdGhSZXVzZShleGVjLCB0aGlzVmFsdWUsIGlucHV0KSwgZmFsc2UpOworICAgICAgICAg
ICAgICAgIHJlc3VsdC0+cHV0RGlyZWN0SW5kZXgoZXhlYywgMCwganNTdHJpbmdXaXRoUmV1c2Uo
ZXhlYywgdGhpc1ZhbHVlLCBpbnB1dCkpOwogICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVu
Y29kZShyZXN1bHQpOwogICAgICAgICB9CiAKQEAgLTEwMzcsNyArMTAzNyw3IEBAIEVuY29kZWRK
U1ZhbHVlIEpTQ19IT1NUX0NBTEwgc3RyaW5nUHJvdG8KICAgICAgICAgICAgIC8vICAgIHRocm91
Z2ggcSAoZXhjbHVzaXZlKS4KICAgICAgICAgICAgIC8vIDIuIENhbGwgdGhlIFtbRGVmaW5lT3du
UHJvcGVydHldXSBpbnRlcm5hbCBtZXRob2Qgb2YgQSB3aXRoIGFyZ3VtZW50cyBUb1N0cmluZyhs
ZW5ndGhBKSwKICAgICAgICAgICAgIC8vICAgIFByb3BlcnR5IERlc2NyaXB0b3Ige1tbVmFsdWVd
XTogVCwgW1tXcml0YWJsZV1dOiB0cnVlLCBbW0VudW1lcmFibGVdXTogdHJ1ZSwgW1tDb25maWd1
cmFibGVdXTogdHJ1ZX0sIGFuZCBmYWxzZS4KLSAgICAgICAgICAgIHJlc3VsdC0+cHV0RGlyZWN0
SW5kZXgoZXhlYywgcmVzdWx0TGVuZ3RoLCBqc1N1YnN0cmluZyhleGVjLCBpbnB1dCwgcG9zaXRp
b24sIG1hdGNoUG9zaXRpb24gLSBwb3NpdGlvbiksIGZhbHNlKTsKKyAgICAgICAgICAgIHJlc3Vs
dC0+cHV0RGlyZWN0SW5kZXgoZXhlYywgcmVzdWx0TGVuZ3RoLCBqc1N1YnN0cmluZyhleGVjLCBp
bnB1dCwgcG9zaXRpb24sIG1hdGNoUG9zaXRpb24gLSBwb3NpdGlvbikpOwogICAgICAgICAgICAg
Ly8gMy4gSW5jcmVtZW50IGxlbmd0aEEgYnkgMS4KICAgICAgICAgICAgIC8vIDQuIElmIGxlbmd0
aEEgPT0gbGltLCByZXR1cm4gQS4KICAgICAgICAgICAgIGlmICgrK3Jlc3VsdExlbmd0aCA9PSBs
aW1pdCkKQEAgLTEwNTYsNyArMTA1Niw3IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwg
c3RyaW5nUHJvdG8KICAgICAgICAgICAgICAgICAvLyAgIFRvU3RyaW5nKGxlbmd0aEEpLCBQcm9w
ZXJ0eSBEZXNjcmlwdG9yIHtbW1ZhbHVlXV06IGNhcFtpXSwgW1tXcml0YWJsZV1dOgogICAgICAg
ICAgICAgICAgIC8vICAgdHJ1ZSwgW1tFbnVtZXJhYmxlXV06IHRydWUsIFtbQ29uZmlndXJhYmxl
XV06IHRydWV9LCBhbmQgZmFsc2UuCiAgICAgICAgICAgICAgICAgaW50IHN1YiA9IG92ZWN0b3Jb
aSAqIDJdOwotICAgICAgICAgICAgICAgIHJlc3VsdC0+cHV0RGlyZWN0SW5kZXgoZXhlYywgcmVz
dWx0TGVuZ3RoLCBzdWIgPCAwID8ganNVbmRlZmluZWQoKSA6IGpzU3Vic3RyaW5nKGV4ZWMsIGlu
cHV0LCBzdWIsIG92ZWN0b3JbaSAqIDIgKyAxXSAtIHN1YiksIGZhbHNlKTsKKyAgICAgICAgICAg
ICAgICByZXN1bHQtPnB1dERpcmVjdEluZGV4KGV4ZWMsIHJlc3VsdExlbmd0aCwgc3ViIDwgMCA/
IGpzVW5kZWZpbmVkKCkgOiBqc1N1YnN0cmluZyhleGVjLCBpbnB1dCwgc3ViLCBvdmVjdG9yW2kg
KiAyICsgMV0gLSBzdWIpKTsKICAgICAgICAgICAgICAgICAvLyBjIEluY3JlbWVudCBsZW5ndGhB
IGJ5IDEuCiAgICAgICAgICAgICAgICAgLy8gZCBJZiBsZW5ndGhBID09IGxpbSwgcmV0dXJuIEEu
CiAgICAgICAgICAgICAgICAgaWYgKCsrcmVzdWx0TGVuZ3RoID09IGxpbWl0KQpAQCAtMTA3NSw3
ICsxMDc1LDcgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBzdHJpbmdQcm90bwogICAg
ICAgICBpZiAoc2VwYXJhdG9yVmFsdWUuaXNVbmRlZmluZWQoKSkgewogICAgICAgICAgICAgLy8g
YS4gIENhbGwgdGhlIFtbRGVmaW5lT3duUHJvcGVydHldXSBpbnRlcm5hbCBtZXRob2Qgb2YgQSB3
aXRoIGFyZ3VtZW50cyAiMCIsCiAgICAgICAgICAgICAvLyAgICAgUHJvcGVydHkgRGVzY3JpcHRv
ciB7W1tWYWx1ZV1dOiBTLCBbW1dyaXRhYmxlXV06IHRydWUsIFtbRW51bWVyYWJsZV1dOiB0cnVl
LCBbW0NvbmZpZ3VyYWJsZV1dOiB0cnVlfSwgYW5kIGZhbHNlLgotICAgICAgICAgICAgcmVzdWx0
LT5wdXREaXJlY3RJbmRleChleGVjLCAwLCBqc1N0cmluZ1dpdGhSZXVzZShleGVjLCB0aGlzVmFs
dWUsIGlucHV0KSwgZmFsc2UpOworICAgICAgICAgICAgcmVzdWx0LT5wdXREaXJlY3RJbmRleChl
eGVjLCAwLCBqc1N0cmluZ1dpdGhSZXVzZShleGVjLCB0aGlzVmFsdWUsIGlucHV0KSk7CiAgICAg
ICAgICAgICAvLyBiLiAgUmV0dXJuIEEuCiAgICAgICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5j
b2RlKHJlc3VsdCk7CiAgICAgICAgIH0KQEAgLTEwODgsNyArMTA4OCw3IEBAIEVuY29kZWRKU1Zh
bHVlIEpTQ19IT1NUX0NBTEwgc3RyaW5nUHJvdG8KICAgICAgICAgICAgIC8vICAgIFByb3BlcnR5
IERlc2NyaXB0b3Ige1tbVmFsdWVdXTogUywgW1tXcml0YWJsZV1dOiB0cnVlLCBbW0VudW1lcmFi
bGVdXTogdHJ1ZSwgW1tDb25maWd1cmFibGVdXTogdHJ1ZX0sIGFuZCBmYWxzZS4KICAgICAgICAg
ICAgIC8vIGQuIFJldHVybiBBLgogICAgICAgICAgICAgaWYgKCFzZXBhcmF0b3IuaXNFbXB0eSgp
KQotICAgICAgICAgICAgICAgIHJlc3VsdC0+cHV0RGlyZWN0SW5kZXgoZXhlYywgMCwganNTdHJp
bmdXaXRoUmV1c2UoZXhlYywgdGhpc1ZhbHVlLCBpbnB1dCksIGZhbHNlKTsKKyAgICAgICAgICAg
ICAgICByZXN1bHQtPnB1dERpcmVjdEluZGV4KGV4ZWMsIDAsIGpzU3RyaW5nV2l0aFJldXNlKGV4
ZWMsIHRoaXNWYWx1ZSwgaW5wdXQpKTsKICAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNv
ZGUocmVzdWx0KTsKICAgICAgICAgfQogCkBAIC0xMDk5LDcgKzEwOTksNyBAQCBFbmNvZGVkSlNW
YWx1ZSBKU0NfSE9TVF9DQUxMIHN0cmluZ1Byb3RvCiAgICAgICAgICAgICBBU1NFUlQobGltaXQp
OwogCiAgICAgICAgICAgICBkbyB7Ci0gICAgICAgICAgICAgICAgcmVzdWx0LT5wdXREaXJlY3RJ
bmRleChleGVjLCBwb3NpdGlvbiwganNTaW5nbGVDaGFyYWN0ZXJTdWJzdHJpbmcoZXhlYywgaW5w
dXQsIHBvc2l0aW9uKSwgZmFsc2UpOworICAgICAgICAgICAgICAgIHJlc3VsdC0+cHV0RGlyZWN0
SW5kZXgoZXhlYywgcG9zaXRpb24sIGpzU2luZ2xlQ2hhcmFjdGVyU3Vic3RyaW5nKGV4ZWMsIGlu
cHV0LCBwb3NpdGlvbikpOwogICAgICAgICAgICAgfSB3aGlsZSAoKytwb3NpdGlvbiA8IGxpbWl0
KTsKIAogICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShyZXN1bHQpOwpAQCAtMTEz
OSw3ICsxMTM5LDcgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBzdHJpbmdQcm90bwog
ICAgICAgICAgICAgICAgIC8vICAgIHRocm91Z2ggcSAoZXhjbHVzaXZlKS4KICAgICAgICAgICAg
ICAgICAvLyAyLiBDYWxsIHRoZSBbW0RlZmluZU93blByb3BlcnR5XV0gaW50ZXJuYWwgbWV0aG9k
IG9mIEEgd2l0aCBhcmd1bWVudHMgVG9TdHJpbmcobGVuZ3RoQSksCiAgICAgICAgICAgICAgICAg
Ly8gICAgUHJvcGVydHkgRGVzY3JpcHRvciB7W1tWYWx1ZV1dOiBULCBbW1dyaXRhYmxlXV06IHRy
dWUsIFtbRW51bWVyYWJsZV1dOiB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dOiB0cnVlfSwgYW5kIGZh
bHNlLgotICAgICAgICAgICAgICAgIHJlc3VsdC0+cHV0RGlyZWN0SW5kZXgoZXhlYywgcmVzdWx0
TGVuZ3RoLCBqc1N1YnN0cmluZyhleGVjLCBpbnB1dCwgcG9zaXRpb24sIG1hdGNoUG9zaXRpb24g
LSBwb3NpdGlvbiksIGZhbHNlKTsKKyAgICAgICAgICAgICAgICByZXN1bHQtPnB1dERpcmVjdElu
ZGV4KGV4ZWMsIHJlc3VsdExlbmd0aCwganNTdWJzdHJpbmcoZXhlYywgaW5wdXQsIHBvc2l0aW9u
LCBtYXRjaFBvc2l0aW9uIC0gcG9zaXRpb24pKTsKICAgICAgICAgICAgICAgICAvLyAzLiBJbmNy
ZW1lbnQgbGVuZ3RoQSBieSAxLgogICAgICAgICAgICAgICAgIC8vIDQuIElmIGxlbmd0aEEgPT0g
bGltLCByZXR1cm4gQS4KICAgICAgICAgICAgICAgICBpZiAoKytyZXN1bHRMZW5ndGggPT0gbGlt
aXQpCkBAIC0xMTU2LDcgKzExNTYsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIHN0
cmluZ1Byb3RvCiAgICAgLy8gICAgIHRocm91Z2ggcyAoZXhjbHVzaXZlKS4KICAgICAvLyAxNS4g
Q2FsbCB0aGUgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIGludGVybmFsIG1ldGhvZCBvZiBBIHdpdGgg
YXJndW1lbnRzIFRvU3RyaW5nKGxlbmd0aEEpLCBQcm9wZXJ0eSBEZXNjcmlwdG9yCiAgICAgLy8g
ICAgIHtbW1ZhbHVlXV06IFQsIFtbV3JpdGFibGVdXTogdHJ1ZSwgW1tFbnVtZXJhYmxlXV06IHRy
dWUsIFtbQ29uZmlndXJhYmxlXV06IHRydWV9LCBhbmQgZmFsc2UuCi0gICAgcmVzdWx0LT5wdXRE
aXJlY3RJbmRleChleGVjLCByZXN1bHRMZW5ndGgrKywganNTdWJzdHJpbmcoZXhlYywgaW5wdXQs
IHBvc2l0aW9uLCBpbnB1dC5sZW5ndGgoKSAtIHBvc2l0aW9uKSwgZmFsc2UpOworICAgIHJlc3Vs
dC0+cHV0RGlyZWN0SW5kZXgoZXhlYywgcmVzdWx0TGVuZ3RoKyssIGpzU3Vic3RyaW5nKGV4ZWMs
IGlucHV0LCBwb3NpdGlvbiwgaW5wdXQubGVuZ3RoKCkgLSBwb3NpdGlvbikpOwogCiAgICAgLy8g
MTYuIFJldHVybiBBLgogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUocmVzdWx0KTsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cJKHJldmlzaW9uIDEyNzM0NykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwko
d29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDEyLTA4LTMxICBGaWxpcCBQaXpsbyAg
PGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAgSlNBcnJheTo6cHV0RGlyZWN0SW5kZXggc2hv
dWxkIGJ5IGRlZmF1bHQgYmVoYXZlIGxpa2UgSlNPYmplY3Q6OnB1dERpcmVjdAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTU2MzAKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMgYmVjYXVz
ZSBubyBjaGFuZ2UgaW4gYmVoYXZpb3IuCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9TZXJpYWxp
emVkU2NyaXB0VmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2xvbmVEZXNlcmlhbGl6ZXI6
OnB1dFByb3BlcnR5KToKKwogMjAxMi0wOC0zMSAgTmF0ZSBDaGFwaW4gIDxqYXBoZXRAY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIGZhc3QvbG9hZGVyL2RvY3VtZW50LWRlc3RydWN0aW9uLXdpdGhp
bi11bmxvYWQuaHRtbCBjYXVzZXMgYXNzZXJ0aW9uIGZhaWx1cmVzIG9uIG1hYyBhbmQgcXQuCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZS5jcHAJKHJldmlzaW9uIDEyNzM0NSkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEzMTUsNyAr
MTMxNSw3IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIHB1dFByb3BlcnR5KEpTQXJyYXkqIGFycmF5
LCB1bnNpZ25lZCBpbmRleCwgSlNWYWx1ZSB2YWx1ZSkKICAgICB7Ci0gICAgICAgIGFycmF5LT5w
dXREaXJlY3RJbmRleChtX2V4ZWMsIGluZGV4LCB2YWx1ZSwgZmFsc2UpOworICAgICAgICBhcnJh
eS0+cHV0RGlyZWN0SW5kZXgobV9leGVjLCBpbmRleCwgdmFsdWUpOwogICAgIH0KIAogICAgIHZv
aWQgcHV0UHJvcGVydHkoSlNPYmplY3QqIG9iamVjdCwgY29uc3QgSWRlbnRpZmllciYgcHJvcGVy
dHksIEpTVmFsdWUgdmFsdWUpCg==
</data>
<flag name="review"
          id="172709"
          type_id="1"
          status="+"
          setter="barraclough"
    />
    <flag name="commit-queue"
          id="172710"
          type_id="3"
          status="-"
          setter="buildbot"
    />
          </attachment>
      

    </bug>

</bugzilla>