<?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>75935</bug_id>
          
          <creation_ts>2012-01-09 21:15:49 -0800</creation_ts>
          <short_desc>Do not allow Array length to be set if it is non-configurable</short_desc>
          <delta_ts>2012-01-10 13:02:23 -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>JavaScriptCore</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="Gavin Barraclough">barraclough</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>532798</commentid>
    <comment_count>0</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2012-01-09 21:15:49 -0800</bug_when>
    <thetext>Do not allow Array length to be set if it is non-configurable, and if the new length is less than the old length then intervening properties should removed in reverse order.  Removal of properties should cease if an intervening indexed  property being removed is non-configurable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>532813</commentid>
    <comment_count>1</comment_count>
      <attachid>121793</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2012-01-09 22:11:32 -0800</bug_when>
    <thetext>Created attachment 121793
Fix

No performance impact.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>533230</commentid>
    <comment_count>2</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2012-01-10 11:28:01 -0800</bug_when>
    <thetext>Fixed in r104604</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>533325</commentid>
    <comment_count>3</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2012-01-10 13:02:23 -0800</bug_when>
    <thetext>32-bit build fix in r104620</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>121793</attachid>
            <date>2012-01-09 22:11:32 -0800</date>
            <delta_ts>2012-01-10 10:03:13 -0800</delta_ts>
            <desc>Fix</desc>
            <filename>75935.patch</filename>
            <type>text/plain</type>
            <size>18755</size>
            <attacher name="Gavin Barraclough">barraclough</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTA0NTM2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM5IEBA
CisyMDEyLTAxLTA5ICBHYXZpbiBCYXJyYWNsb3VnaCAgPGJhcnJhY2xvdWdoQGFwcGxlLmNvbT4K
KworICAgICAgICBEbyBub3QgYWxsb3cgQXJyYXkgbGVuZ3RoIHRvIGJlIHNldCBpZiBpdCBpcyBu
b24tY29uZmlndXJhYmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD03NTkzNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIERvIG5vdCBhbGxvdyBBcnJheSBsZW5ndGggdG8gYmUgc2V0IGlmIGl0IGlzIG5vbi1j
b25maWd1cmFibGUsIGFuZCBpZiB0aGUgbmV3CisgICAgICAgIGxlbmd0aCBpcyBsZXNzIHRoYW4g
dGhlIG9sZCBsZW5ndGggdGhlbiBpbnRlcnZlbmluZyBwcm9wZXJ0aWVzIHNob3VsZCByZW1vdmVk
CisgICAgICAgIGluIHJldmVyc2Ugb3JkZXIuIFJlbW92YWwgb2YgcHJvcGVydGllcyBzaG91bGQg
Y2Vhc2UgaWYgYW4gaW50ZXJ2ZW5pbmcgaW5kZXhlZAorICAgICAgICBwcm9wZXJ0eSBiZWluZyBy
ZW1vdmVkIGlzIG5vbi1jb25maWd1cmFibGUuCisKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS5l
eHA6CisgICAgICAgICAgICAtIFJlbW92ZWQgZXhwb3J0IGZvciBzZXRMZW5ndGguCisgICAgICAg
ICogcnVudGltZS9BcnJheVByb3RvdHlwZS5jcHA6CisgICAgICAgIChKU0M6OmFycmF5UHJvdG9G
dW5jQ29uY2F0KToKKyAgICAgICAgICAgIC0gSlNBcnJheTo6c2V0TGVuZ3RoIG5vdyB0YWtlcyBh
biBFeGVjU3RhdGUqCisgICAgICAgIChKU0M6OmFycmF5UHJvdG9GdW5jU2xpY2UpOgorICAgICAg
ICAgICAgLSBKU0FycmF5OjpzZXRMZW5ndGggbm93IHRha2VzIGFuIEV4ZWNTdGF0ZSoKKyAgICAg
ICAgKiBydW50aW1lL0pTQXJyYXkuY3BwOgorICAgICAgICAoSlNDOjpKU0FycmF5OjpkZWZpbmVP
d25Qcm9wZXJ0eSk6CisgICAgICAgICAgICAtIEpTQXJyYXk6OnNldExlbmd0aCBub3cgdGFrZXMg
YW4gRXhlY1N0YXRlKgorICAgICAgICAoSlNDOjpKU0FycmF5OjpwdXQpOgorICAgICAgICAgICAg
LSBKU0FycmF5OjpzZXRMZW5ndGggbm93IHRha2VzIGFuIEV4ZWNTdGF0ZSoKKyAgICAgICAgKEpT
Qzo6Y29tcGFyZUtleXNGb3JRU29ydCk6CisgICAgICAgICAgICAtIEtleXMgZXh0cmFjdGVkIGZy
b20gdGhlIG1hcCBjYW4gYmUgc3RvcmVkIGFzIHVuc2lnbmVkcy4KKyAgICAgICAgKEpTQzo6SlNB
cnJheTo6Z2V0T3duUHJvcGVydHlOYW1lcyk6CisgICAgICAgICAgICAtIEtleXMgZXh0cmFjdGVk
IGZyb20gdGhlIG1hcCBjYW4gYmUgc3RvcmVkIGFzIHVuc2lnbmVkcy4KKyAgICAgICAgKEpTQzo6
SlNBcnJheTo6c2V0TGVuZ3RoKToKKyAgICAgICAgICAgIC0gQ2hlY2sgbGVuZ3RoSXNSZWFkT25s
eSgpLCByYXRoZXIgdGhhbiBjb3B5aW5nIHRoZSBlbnRpcmUgbWFwIHRvIGl0ZXJhdGUKKyAgICAg
ICAgICAgICAgb3ZlciB0byBkZXRlcm1pbmUgd2hpY2gga2V5cyB0byByZW1vdmUsIGluc3RlYWQg
anVzdCBjb3B5IHRoZSBrZXlzIGZyb20KKyAgICAgICAgICAgICAgdGhlIG1hcCB0byBhIFZlY3Rv
ci4gV2hlbiBpblNwYXJzZU1vZGUgc29ydCB0aGUga2V5cyBpbiB0aGUgVmVjdG9yIHNvCisgICAg
ICAgICAgICAgIHRoYXQgd2UgY2FuIHJlbW92ZSBwcm9wZXJ0aWVzIGluIHJldmVyc2Ugb3JkZXIu
CisgICAgICAgICogcnVudGltZS9KU0FycmF5Lmg6CisgICAgICAgICAgICAtIEpTQXJyYXk6OnNl
dExlbmd0aCBub3cgdGFrZXMgYW4gRXhlY1N0YXRlKgorCiAyMDEyLTAxLTA5ICBHYXZpbiBCYXJy
YWNsb3VnaCAgPGJhcnJhY2xvdWdoQGFwcGxlLmNvbT4KIAogICAgICAgICBFcnJvciBoYW5kbGlu
ZyA6IGluIElTTzg2MDEgdGltZXpvbmUKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZh
U2NyaXB0Q29yZS5leHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFT
Y3JpcHRDb3JlLmV4cAkocmV2aXNpb24gMTA0NDg4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L0phdmFTY3JpcHRDb3JlLmV4cAkod29ya2luZyBjb3B5KQpAQCAtMjg2LDcgKzI4Niw2IEBAIF9f
Wk4zSlNDN0pTQXJyYXkyNWdldE93blByb3BlcnR5U2xvdEJ5SW4KIF9fWk4zSlNDN0pTQXJyYXkz
MHRyeUZpbmlzaENyZWF0aW9uVW5pbml0aWFsaXplZEVSTlNfMTJKU0dsb2JhbERhdGFFagogX19a
TjNKU0M3SlNBcnJheTZzX2luZm9FCiBfX1pOM0pTQzdKU0FycmF5N2Rlc3Ryb3lFUE5TXzZKU0Nl
bGxFCi1fX1pOM0pTQzdKU0FycmF5OXNldExlbmd0aEVqYgogX19aTjNKU0M3SlNBcnJheUMxRVJO
U18xMkpTR2xvYmFsRGF0YUVQTlNfOVN0cnVjdHVyZUUKIF9fWk4zSlNDN0pTQXJyYXlDMkVSTlNf
MTJKU0dsb2JhbERhdGFFUE5TXzlTdHJ1Y3R1cmVFCiBfX1pOM0pTQzdKU0FycmF5RDJFdgpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNw
cAkocmV2aXNpb24gMTA0NDg4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJy
YXlQcm90b3R5cGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zODAsNyArMzgwLDcgQEAgRW5jb2Rl
ZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJheVByb3RvRgogICAgICAgICBjdXJBcmcgPSAoZXhl
Yy0+YXJndW1lbnQoaSkpOwogICAgICAgICArK2k7CiAgICAgfQotICAgIGFyci0+c2V0TGVuZ3Ro
KG4pOworICAgIGFyci0+c2V0TGVuZ3RoKGV4ZWMsIG4pOwogICAgIHJldHVybiBKU1ZhbHVlOjpl
bmNvZGUoYXJyKTsKIH0KIApAQCAtNTIzLDcgKzUyMyw3IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19I
T1NUX0NBTEwgYXJyYXlQcm90b0YKICAgICAgICAgaWYgKHYpCiAgICAgICAgICAgICByZXNPYmot
Pm1ldGhvZFRhYmxlKCktPnB1dEJ5SW5kZXgocmVzT2JqLCBleGVjLCBuLCB2KTsKICAgICB9Ci0g
ICAgcmVzT2JqLT5zZXRMZW5ndGgobik7CisgICAgcmVzT2JqLT5zZXRMZW5ndGgoZXhlYywgbik7
CiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShyZXN1bHQpOwogfQogCkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5LmNwcAkocmV2aXNpb24gMTA0NDg4KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheS5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTM0Niw2ICszNDYsOCBAQCB2b2lkIEpTQXJyYXk6OnB1dERlc2NyaXB0b3IoRXhlY1N0YXRl
KiBlCiAgICAgaWYgKGRlc2NyaXB0b3IuaXNEYXRhRGVzY3JpcHRvcigpKSB7CiAgICAgICAgIGlm
IChkZXNjcmlwdG9yLnZhbHVlKCkpCiAgICAgICAgICAgICBlbnRyeUluTWFwLT5zZXQoZXhlYy0+
Z2xvYmFsRGF0YSgpLCB0aGlzLCBkZXNjcmlwdG9yLnZhbHVlKCkpOworICAgICAgICBlbHNlIGlm
IChvbGREZXNjcmlwdG9yLmlzQWNjZXNzb3JEZXNjcmlwdG9yKCkpCisgICAgICAgICAgICBlbnRy
eUluTWFwLT5zZXQoZXhlYy0+Z2xvYmFsRGF0YSgpLCB0aGlzLCBqc1VuZGVmaW5lZCgpKTsKICAg
ICAgICAgZW50cnlJbk1hcC0+YXR0cmlidXRlcyA9IGRlc2NyaXB0b3IuYXR0cmlidXRlc092ZXJy
aWRpbmdDdXJyZW50KG9sZERlc2NyaXB0b3IpICYgfihHZXR0ZXIgfCBTZXR0ZXIpOwogICAgICAg
ICByZXR1cm47CiAgICAgfQpAQCAtNTg4LDcgKzU5MCw3IEBAIGJvb2wgSlNBcnJheTo6ZGVmaW5l
T3duUHJvcGVydHkoSlNPYmplY3QKICAgICAgICAgLy8gbC5pLiBTZXQgb2xkTGVuIHRvIG9sZExl
biDigJMgMS4KICAgICAgICAgLy8gbC5paS4gTGV0IGRlbGV0ZVN1Y2NlZWRlZCBiZSB0aGUgcmVz
dWx0IG9mIGNhbGxpbmcgdGhlIFtbRGVsZXRlXV0gaW50ZXJuYWwgbWV0aG9kIG9mIEEgcGFzc2lu
ZyBUb1N0cmluZyhvbGRMZW4pIGFuZCBmYWxzZSBhcyBhcmd1bWVudHMuCiAgICAgICAgIC8vIGwu
aWlpLiBJZiBkZWxldGVTdWNjZWVkZWQgaXMgZmFsc2UsIHRoZW4KLSAgICAgICAgaWYgKCFhcnJh
eS0+c2V0TGVuZ3RoKG5ld0xlbiwgdGhyb3dFeGNlcHRpb24pKSB7CisgICAgICAgIGlmICghYXJy
YXktPnNldExlbmd0aChleGVjLCBuZXdMZW4sIHRocm93RXhjZXB0aW9uKSkgewogICAgICAgICAg
ICAgLy8gMS4gU2V0IG5ld0xlbkRlc2MuW1tWYWx1ZV0gdG8gb2xkTGVuKzEuCiAgICAgICAgICAg
ICAvLyAyLiBJZiBuZXdXcml0YWJsZSBpcyBmYWxzZSwgc2V0IG5ld0xlbkRlc2MuW1tXcml0YWJs
ZV0gdG8gZmFsc2UuCiAgICAgICAgICAgICAvLyAzLiBDYWxsIHRoZSBkZWZhdWx0IFtbRGVmaW5l
T3duUHJvcGVydHldXSBpbnRlcm5hbCBtZXRob2QgKDguMTIuOSkgb24gQSBwYXNzaW5nICJsZW5n
dGgiLCBuZXdMZW5EZXNjLCBhbmQgZmFsc2UgYXMgYXJndW1lbnRzLgpAQCAtNzE3LDcgKzcxOSw3
IEBAIHZvaWQgSlNBcnJheTo6cHV0KEpTQ2VsbCogY2VsbCwgRXhlY1N0YXQKICAgICAgICAgICAg
IHRocm93RXJyb3IoZXhlYywgY3JlYXRlUmFuZ2VFcnJvcihleGVjLCAiSW52YWxpZCBhcnJheSBs
ZW5ndGgiKSk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KLSAgICAgICAgdGhpc09i
amVjdC0+c2V0TGVuZ3RoKG5ld0xlbmd0aCwgc2xvdC5pc1N0cmljdE1vZGUoKSk7CisgICAgICAg
IHRoaXNPYmplY3QtPnNldExlbmd0aChleGVjLCBuZXdMZW5ndGgsIHNsb3QuaXNTdHJpY3RNb2Rl
KCkpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC04NzcsOCArODc5LDggQEAgYm9vbCBK
U0FycmF5OjpkZWxldGVQcm9wZXJ0eUJ5SW5kZXgoSlNDZQogCiBzdGF0aWMgaW50IGNvbXBhcmVL
ZXlzRm9yUVNvcnQoY29uc3Qgdm9pZCogYSwgY29uc3Qgdm9pZCogYikKIHsKLSAgICB1aW50NjRf
dCBkYSA9ICpzdGF0aWNfY2FzdDxjb25zdCB1aW50NjRfdCo+KGEpOwotICAgIHVpbnQ2NF90IGRi
ID0gKnN0YXRpY19jYXN0PGNvbnN0IHVpbnQ2NF90Kj4oYik7CisgICAgdW5zaWduZWQgZGEgPSAq
c3RhdGljX2Nhc3Q8Y29uc3QgdW5zaWduZWQqPihhKTsKKyAgICB1bnNpZ25lZCBkYiA9ICpzdGF0
aWNfY2FzdDxjb25zdCB1bnNpZ25lZCo+KGIpOwogICAgIHJldHVybiAoZGEgPiBkYikgLSAoZGEg
PCBkYik7CiB9CiAKQEAgLTg5OCw3ICs5MDAsNyBAQCB2b2lkIEpTQXJyYXk6OmdldE93blByb3Bl
cnR5TmFtZXMoSlNPYmplCiAgICAgfQogCiAgICAgaWYgKFNwYXJzZUFycmF5VmFsdWVNYXAqIG1h
cCA9IHN0b3JhZ2UtPm1fc3BhcnNlVmFsdWVNYXApIHsKLSAgICAgICAgVmVjdG9yPHVpbnQ2NF90
PiBrZXlzOworICAgICAgICBWZWN0b3I8dW5zaWduZWQ+IGtleXM7CiAgICAgICAgIGtleXMucmVz
ZXJ2ZUNhcGFjaXR5KG1hcC0+c2l6ZSgpKTsKICAgICAgICAgCiAgICAgICAgIFNwYXJzZUFycmF5
VmFsdWVNYXA6OmNvbnN0X2l0ZXJhdG9yIGVuZCA9IG1hcC0+ZW5kKCk7CkBAIC05MDcsOSArOTA5
LDkgQEAgdm9pZCBKU0FycmF5OjpnZXRPd25Qcm9wZXJ0eU5hbWVzKEpTT2JqZQogICAgICAgICAg
ICAgICAgIGtleXMuYXBwZW5kKGl0LT5maXJzdCk7CiAgICAgICAgIH0KIAotICAgICAgICBxc29y
dChrZXlzLmJlZ2luKCksIGtleXMuc2l6ZSgpLCBzaXplb2YodWludDY0X3QpLCBjb21wYXJlS2V5
c0ZvclFTb3J0KTsKKyAgICAgICAgcXNvcnQoa2V5cy5iZWdpbigpLCBrZXlzLnNpemUoKSwgc2l6
ZW9mKHVuc2lnbmVkKSwgY29tcGFyZUtleXNGb3JRU29ydCk7CiAgICAgICAgIGZvciAodW5zaWdu
ZWQgaSA9IDA7IGkgPCBrZXlzLnNpemUoKTsgKytpKQotICAgICAgICAgICAgcHJvcGVydHlOYW1l
cy5hZGQoSWRlbnRpZmllcjo6ZnJvbShleGVjLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oa2V5c1tp
XSkpKTsKKyAgICAgICAgICAgIHByb3BlcnR5TmFtZXMuYWRkKElkZW50aWZpZXI6OmZyb20oZXhl
Yywga2V5c1tpXSkpOwogICAgIH0KIAogICAgIGlmIChtb2RlID09IEluY2x1ZGVEb250RW51bVBy
b3BlcnRpZXMpCkBAIC0xMDk4LDE2ICsxMTAwLDYxIEBAIGJvb2wgSlNBcnJheTo6dW5zaGlmdENv
dW50U2xvd0Nhc2UodW5zaWcKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotYm9vbCBKU0FycmF5Ojpz
ZXRMZW5ndGgodW5zaWduZWQgbmV3TGVuZ3RoLCBib29sIHRocm93RXhjZXB0aW9uKQorYm9vbCBK
U0FycmF5OjpzZXRMZW5ndGgoRXhlY1N0YXRlKiBleGVjLCB1bnNpZ25lZCBuZXdMZW5ndGgsIGJv
b2wgdGhyb3dFeGNlcHRpb24pCiB7Ci0gICAgVU5VU0VEX1BBUkFNKHRocm93RXhjZXB0aW9uKTsK
ICAgICBjaGVja0NvbnNpc3RlbmN5KCk7CiAKICAgICBBcnJheVN0b3JhZ2UqIHN0b3JhZ2UgPSBt
X3N0b3JhZ2U7Ci0gICAgCiAgICAgdW5zaWduZWQgbGVuZ3RoID0gc3RvcmFnZS0+bV9sZW5ndGg7
CiAKKyAgICAvLyBJZiB0aGUgbGVuZ3RoIGlzIHJlYWQgb25seSB0aGVuIHdlIGVudGVyIHNwYXJz
ZSBtb2RlLCBzbyBzaG91bGQgZW50ZXIgdGhlIGZvbGxvd2luZyAnaWYnLgorICAgIEFTU0VSVChp
c0xlbmd0aFdyaXRhYmxlKCkgfHwgc3RvcmFnZS0+bV9zcGFyc2VWYWx1ZU1hcCk7CisKKyAgICBp
ZiAoU3BhcnNlQXJyYXlWYWx1ZU1hcCogbWFwID0gc3RvcmFnZS0+bV9zcGFyc2VWYWx1ZU1hcCkg
eworICAgICAgICAvLyBGYWlsIGlmIHRoZSBsZW5ndGggaXMgbm90IHdyaXRhYmxlLgorICAgICAg
ICBpZiAobWFwLT5sZW5ndGhJc1JlYWRPbmx5KCkpCisgICAgICAgICAgICByZXR1cm4gcmVqZWN0
KGV4ZWMsIHRocm93RXhjZXB0aW9uLCBTdHJpY3RNb2RlUmVhZG9ubHlQcm9wZXJ0eVdyaXRlRXJy
b3IpOworCisgICAgICAgIGlmIChuZXdMZW5ndGggPCBsZW5ndGgpIHsKKyAgICAgICAgICAgIC8v
IENvcHkgYW55IGtleXMgd2UgbWlnaHQgYmUgaW50ZXJlc3RlZCBpbiBpbnRvIGEgdmVjdG9yLgor
ICAgICAgICAgICAgVmVjdG9yPHVuc2lnbmVkPiBrZXlzOworICAgICAgICAgICAga2V5cy5yZXNl
cnZlQ2FwYWNpdHkobWluKG1hcC0+c2l6ZSgpLCBzdGF0aWNfY2FzdDxzaXplX3Q+KGxlbmd0aCAt
IG5ld0xlbmd0aCkpKTsKKyAgICAgICAgICAgIFNwYXJzZUFycmF5VmFsdWVNYXA6OmNvbnN0X2l0
ZXJhdG9yIGVuZCA9IG1hcC0+ZW5kKCk7CisgICAgICAgICAgICBmb3IgKFNwYXJzZUFycmF5VmFs
dWVNYXA6OmNvbnN0X2l0ZXJhdG9yIGl0ID0gbWFwLT5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQp
IHsKKyAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbmRleCA9IGl0LT5maXJzdDsKKyAgICAgICAg
ICAgICAgICBpZiAoaW5kZXggPCBsZW5ndGggJiYgaW5kZXggPj0gbmV3TGVuZ3RoKQorICAgICAg
ICAgICAgICAgICAgICBrZXlzLmFwcGVuZChpbmRleCk7CisgICAgICAgICAgICB9CisKKyAgICAg
ICAgICAgIC8vIENoZWNrIGlmIHRoZSBhcnJheSBpcyBpbiBzcGFyc2UgbW9kZS4gSWYgc28gdGhl
cmUgbWF5IGJlIG5vbi1jb25maWd1cmFibGUKKyAgICAgICAgICAgIC8vIHByb3BlcnRpZXMsIHNv
IHdlIGhhdmUgdG8gcGVyZm9ybSBkZWxldGlvbiB3aXRoIGNhdXRpb24sIGlmIG5vdCB3ZSBjYW4K
KyAgICAgICAgICAgIC8vIGRlbGV0ZSB2YWx1ZXMgaW4gYW55IG9yZGVyLgorICAgICAgICAgICAg
aWYgKG1hcC0+c3BhcnNlTW9kZSgpKSB7CisgICAgICAgICAgICAgICAgcXNvcnQoa2V5cy5iZWdp
bigpLCBrZXlzLnNpemUoKSwgc2l6ZW9mKHVuc2lnbmVkKSwgY29tcGFyZUtleXNGb3JRU29ydCk7
CisgICAgICAgICAgICAgICAgdW5zaWduZWQgaSA9IGtleXMuc2l6ZSgpOworICAgICAgICAgICAg
ICAgIHdoaWxlIChpKSB7CisgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGluZGV4ID0ga2V5
c1stLWldOworICAgICAgICAgICAgICAgICAgICBTcGFyc2VBcnJheVZhbHVlTWFwOjppdGVyYXRv
ciBpdCA9IG1hcC0+ZmluZChpbmRleCk7CisgICAgICAgICAgICAgICAgICAgIEFTU0VSVChpdCAh
PSBtYXAtPm5vdEZvdW5kKCkpOworICAgICAgICAgICAgICAgICAgICBpZiAoaXQtPnNlY29uZC5h
dHRyaWJ1dGVzICYgRG9udERlbGV0ZSkgeworICAgICAgICAgICAgICAgICAgICAgICAgc3RvcmFn
ZS0+bV9sZW5ndGggPSBpbmRleCArIDE7CisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4g
cmVqZWN0KGV4ZWMsIHRocm93RXhjZXB0aW9uLCAiVW5hYmxlIHRvIGRlbGV0ZSBwcm9wZXJ0eS4i
KTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICBtYXAtPnJlbW92
ZShpdCk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAg
ICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwga2V5cy5zaXplKCk7ICsraSkKKyAgICAg
ICAgICAgICAgICAgICAgbWFwLT5yZW1vdmUoa2V5c1tpXSk7CisgICAgICAgICAgICAgICAgaWYg
KG1hcC0+aXNFbXB0eSgpKSB7CisgICAgICAgICAgICAgICAgICAgIGRlbGV0ZSBtYXA7CisgICAg
ICAgICAgICAgICAgICAgIHN0b3JhZ2UtPm1fc3BhcnNlVmFsdWVNYXAgPSAwOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKwogICAgIGlmIChuZXdM
ZW5ndGggPCBsZW5ndGgpIHsKKyAgICAgICAgLy8gRGVsZXRlIHByb3BlcnRpZXMgZnJvbSB0aGUg
dmVjdG9yLgogICAgICAgICB1bnNpZ25lZCB1c2VkVmVjdG9yTGVuZ3RoID0gbWluKGxlbmd0aCwg
bV92ZWN0b3JMZW5ndGgpOwogICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSBuZXdMZW5ndGg7IGkg
PCB1c2VkVmVjdG9yTGVuZ3RoOyArK2kpIHsKICAgICAgICAgICAgIFdyaXRlQmFycmllcjxVbmtu
b3duPiYgdmFsdWVTbG90ID0gc3RvcmFnZS0+bV92ZWN0b3JbaV07CkBAIC0xMTE1LDIyICsxMTYy
LDYgQEAgYm9vbCBKU0FycmF5OjpzZXRMZW5ndGgodW5zaWduZWQgbmV3TGVuZwogICAgICAgICAg
ICAgdmFsdWVTbG90LmNsZWFyKCk7CiAgICAgICAgICAgICBzdG9yYWdlLT5tX251bVZhbHVlc0lu
VmVjdG9yIC09IGhhZFZhbHVlOwogICAgICAgICB9Ci0KLSAgICAgICAgLy8gRklYTUU6IHByb3Bl
cnRpZXMgc2hvdWxkIGJlIHJlbW92ZWQgaW4gcmV2ZXJzZSBudW1lcmljIG9yZGVyLCBpZiBhbnkg
Y2Fubm90IGJlCi0gICAgICAgIC8vIHJlbW92ZWQgdGhpcyBtZXRob2Qgc2hvdWxkIHJlamVjdCAo
cG9zc2libHkgdGhyb3cgLyByZXR1cm4gZmFsc2UpLCBhbmQgbGVuZ3RoCi0gICAgICAgIC8vIHNo
b3VsZCBiZSBzZXQgdGhlIGFmdGVyIHRoZSBsYXN0IHByb3BlcnR5IHRoYXQgY291bGQgbm90IGJl
IHJlbW92ZWQuCi0gICAgICAgIGlmIChTcGFyc2VBcnJheVZhbHVlTWFwKiBtYXAgPSBzdG9yYWdl
LT5tX3NwYXJzZVZhbHVlTWFwKSB7Ci0gICAgICAgICAgICBTcGFyc2VBcnJheVZhbHVlTWFwIGNv
cHkgPSAqbWFwOwotICAgICAgICAgICAgU3BhcnNlQXJyYXlWYWx1ZU1hcDo6Y29uc3RfaXRlcmF0
b3IgZW5kID0gY29weS5lbmQoKTsKLSAgICAgICAgICAgIGZvciAoU3BhcnNlQXJyYXlWYWx1ZU1h
cDo6Y29uc3RfaXRlcmF0b3IgaXQgPSBjb3B5LmJlZ2luKCk7IGl0ICE9IGVuZDsgKytpdCkgewot
ICAgICAgICAgICAgICAgIGlmIChpdC0+Zmlyc3QgPj0gbmV3TGVuZ3RoKQotICAgICAgICAgICAg
ICAgICAgICBtYXAtPnJlbW92ZShpdC0+Zmlyc3QpOwotICAgICAgICAgICAgfQotICAgICAgICAg
ICAgaWYgKG1hcC0+aXNFbXB0eSgpICYmICFtYXAtPnNwYXJzZU1vZGUoKSkgewotICAgICAgICAg
ICAgICAgIGRlbGV0ZSBtYXA7Ci0gICAgICAgICAgICAgICAgc3RvcmFnZS0+bV9zcGFyc2VWYWx1
ZU1hcCA9IDA7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KICAgICB9CiAKICAgICBzdG9yYWdl
LT5tX2xlbmd0aCA9IG5ld0xlbmd0aDsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTQXJyYXkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0FycmF5LmgJKHJldmlzaW9uIDEwNDQ4OCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTQXJyYXkuaAkod29ya2luZyBjb3B5KQpAQCAtMTY2LDcgKzE2Niw4IEBAIG5hbWVz
cGFjZSBKU0MgewogICAgICAgICBzdGF0aWMgSlNfRVhQT1JUREFUQSBjb25zdCBDbGFzc0luZm8g
c19pbmZvOwogICAgICAgICAKICAgICAgICAgdW5zaWduZWQgbGVuZ3RoKCkgY29uc3QgeyByZXR1
cm4gbV9zdG9yYWdlLT5tX2xlbmd0aDsgfQotICAgICAgICBib29sIHNldExlbmd0aCh1bnNpZ25l
ZCwgYm9vbCB0aHJvd0V4Y2VwdGlvbiA9IGZhbHNlKTsgLy8gT0sgdG8gdXNlIG9uIG5ldyBhcnJh
eXMsIGJ1dCBub3QgaWYgaXQgbWlnaHQgYmUgYSBSZWdFeHBNYXRjaEFycmF5LgorICAgICAgICAv
LyBPSyB0byB1c2Ugb24gbmV3IGFycmF5cywgYnV0IG5vdCBpZiBpdCBtaWdodCBiZSBhIFJlZ0V4
cE1hdGNoQXJyYXkuCisgICAgICAgIGJvb2wgc2V0TGVuZ3RoKEV4ZWNTdGF0ZSosIHVuc2lnbmVk
LCBib29sIHRocm93RXhjZXB0aW9uID0gZmFsc2UpOwogCiAgICAgICAgIHZvaWQgc29ydChFeGVj
U3RhdGUqKTsKICAgICAgICAgdm9pZCBzb3J0KEV4ZWNTdGF0ZSosIEpTVmFsdWUgY29tcGFyZUZ1
bmN0aW9uLCBDYWxsVHlwZSwgY29uc3QgQ2FsbERhdGEmKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHJldmlz
aW9uIDEwNDUzNikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDE0IEBACisyMDEyLTAxLTA5ICBHYXZpbiBCYXJyYWNsb3VnaCAgPGJhcnJhY2xv
dWdoQGFwcGxlLmNvbT4KKworICAgICAgICBEbyBub3QgYWxsb3cgQXJyYXkgbGVuZ3RoIHRvIGJl
IHNldCBpZiBpdCBpcyBub24tY29uZmlndXJhYmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NTkzNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogYmluZGluZ3MvanMvU2VyaWFsaXplZFNjcmlwdFZhbHVl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNsb25lRGVzZXJpYWxpemVyOjpkZXNlcmlhbGl6ZSk6
CisgICAgICAgICAgICAtIHJlbW92ZSB1bm5lY2Vzc2FyeSBjYWxsIHRvIEpTQXJyYXk6OnNldExl
bmd0aC4KKwogMjAxMi0wMS0wOSAgUm9iIEJ1aXMgIDxyYnVpc0ByaW0uY29tPgogCiAgICAgICAg
IFVwc3RyZWFtIGNoYW5nZSB0byBkaXNhYmxlIGlucHV0W2NvbG9yXSBjc3MgcnVsZXMgZm9yIEJs
YWNrQmVycnkgcG9ydApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2VyaWFsaXpl
ZFNjcmlwdFZhbHVlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwCShyZXZpc2lvbiAxMDQzOTcpCisrKyBTb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0xMjYxLDggKzEyNjEsNyBAQCBEZXNlcmlhbGl6YXRpb25SZXN1bHQgQ2xvbmVEZXNl
cmlhbGl6ZXI6CiAgICAgICAgICAgICAgICAgZmFpbCgpOwogICAgICAgICAgICAgICAgIGdvdG8g
ZXJyb3I7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBKU0FycmF5KiBvdXRBcnJheSA9IGNv
bnN0cnVjdEVtcHR5QXJyYXkobV9leGVjLCBtX2dsb2JhbE9iamVjdCk7Ci0gICAgICAgICAgICBv
dXRBcnJheS0+c2V0TGVuZ3RoKGxlbmd0aCk7CisgICAgICAgICAgICBKU0FycmF5KiBvdXRBcnJh
eSA9IGNvbnN0cnVjdEVtcHR5QXJyYXkobV9leGVjLCBtX2dsb2JhbE9iamVjdCwgbGVuZ3RoKTsK
ICAgICAgICAgICAgIG1fZ2NCdWZmZXIuYXBwZW5kKG91dEFycmF5KTsKICAgICAgICAgICAgIG91
dHB1dEFycmF5U3RhY2suYXBwZW5kKG91dEFycmF5KTsKICAgICAgICAgICAgIC8vIGZhbGx0aHJv
dWdoCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxMDQ1MzYpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNSBAQAorMjAxMi0wMS0wOSAgR2F2aW4gQmFycmFj
bG91Z2ggIDxiYXJyYWNsb3VnaEBhcHBsZS5jb20+CisKKyAgICAgICAgRG8gbm90IGFsbG93IEFy
cmF5IGxlbmd0aCB0byBiZSBzZXQgaWYgaXQgaXMgbm9uLWNvbmZpZ3VyYWJsZQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5MzUKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvanMvYXJyYXktZGVm
aW5lT3duUHJvcGVydHktZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvanMvbW96aWxsYS9z
dHJpY3QvMTUuNC41LjEtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvanMvc2NyaXB0LXRl
c3RzL2FycmF5LWRlZmluZU93blByb3BlcnR5LmpzOgorICAgICAgICAgICAgLSBBZGRlZCBvbmUg
bW9yZSB0ZXN0ICYgc29tZSBtaXNzaW5nIGNvbW1lbnRzLCB1cGRhdGVkIHJlc3VsdHMuCisKIDIw
MTItMDEtMDkgIERtaXRyeSBUaXRvdiAgPGRpbWljaEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAg
W0Nocm9taXVtXSBVbnJldmlld2VkIHJlYmFzZWxpbmUsIGZpeGluZyBpbmNvcnJlY3QgcmViYXNl
bGluZSBmcm9tIHIxMDQ0ODkuCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2pzL2FycmF5LWRlZmlu
ZU93blByb3BlcnR5LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0
L2pzL2FycmF5LWRlZmluZU93blByb3BlcnR5LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTA0NDg4
KQorKysgTGF5b3V0VGVzdHMvZmFzdC9qcy9hcnJheS1kZWZpbmVPd25Qcm9wZXJ0eS1leHBlY3Rl
ZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTYsNiArNiw3IEBAIE9uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEEKIFBBU1MgT2JqZWN0LmRlZmluZVByb3BlcnR5KFtdLCAneCcs
IHsgZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRydWU7fSB9KS54IGlzIHRydWUKIFBBU1MgT2JqZWN0
LmRlZmluZVByb3BlcnR5KFtdLCAnbGVuZ3RoJywgeyB2YWx1ZTogMSB9KS5sZW5ndGggaXMgMQog
UEFTUyB2YXIgYSA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShbXSwgJ2xlbmd0aCcsIHsgd3JpdGFi
bGU6IGZhbHNlIH0pOyBhWzFdID0gMTsgYS5sZW5ndGggaXMgMAorUEFTUyB2YXIgYSA9IE9iamVj
dC5kZWZpbmVQcm9wZXJ0eShbXSwgJ2xlbmd0aCcsIHsgd3JpdGFibGU6IGZhbHNlIH0pOyBhLmxl
bmd0aCA9IDE7IGEubGVuZ3RoIGlzIDAKIFBBU1MgT2JqZWN0LmRlZmluZVByb3BlcnR5KFtdLCAn
bGVuZ3RoJywgeyBnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdHJ1ZTt9IH0pIHRocmV3IGV4Y2VwdGlv
biBUeXBlRXJyb3I6IEF0dGVtcHRpbmcgdG8gY2hhbmdlIGFjY2VzcyBtZWNoYW5pc20gZm9yIGFu
IHVuY29uZmlndXJhYmxlIHByb3BlcnR5Li4KIFBBU1MgT2JqZWN0LmRlZmluZVByb3BlcnR5KFtd
LCAnbGVuZ3RoJywgeyBlbnVtZXJhYmxlOiB0cnVlIH0pIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJy
b3I6IEF0dGVtcHRpbmcgdG8gY2hhbmdlIGVudW1lcmFibGUgYXR0cmlidXRlIG9mIHVuY29uZmln
dXJhYmxlIHByb3BlcnR5Li4KIFBBU1MgT2JqZWN0LmRlZmluZVByb3BlcnR5KFtdLCAnbGVuZ3Ro
JywgeyBjb25maWd1cmFibGU6IHRydWUgfSkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXR0
ZW1wdGluZyB0byBjaGFuZ2UgY29uZmlndXJhYmxlIGF0dHJpYnV0ZSBvZiB1bmNvbmZpZ3VyYWJs
ZSBwcm9wZXJ0eS4uCkBAIC0xMyw3ICsxNCw3IEBAIFBBU1MgT2JqZWN0LmRlZmluZVByb3BlcnR5
KE9iamVjdC5kZWZpbmUKIFBBU1MgdmFyIGEgPSBPYmplY3QuZGVmaW5lUHJvcGVydHkoW10sICcw
JywgeyB2YWx1ZTogNDIgfSk7IGFbMF0gaXMgNDIKIFBBU1MgdmFyIGEgPSBPYmplY3QuZGVmaW5l
UHJvcGVydHkoWzQyXSwgJzAnLCB7IHdyaXRhYmxlOiBmYWxzZSB9KTsgYVswXSA9IDE7IGFbMF0g
aXMgNDIKIFBBU1MgdmFyIGEgPSBPYmplY3QuZGVmaW5lUHJvcGVydHkoWzQyXSwgJzAnLCB7IGVu
dW1lcmFibGU6IGZhbHNlIH0pOyBhWzBdICsgT2JqZWN0LmtleXMoYSkubGVuZ3RoIGlzIDQyCi1G
QUlMIHZhciBhID0gT2JqZWN0LmRlZmluZVByb3BlcnR5KFs0Ml0sICcwJywgeyBjb25maWd1cmFi
bGU6IGZhbHNlIH0pOyBhLmxlbmd0aCA9IDA7IGFbMF0gc2hvdWxkIGJlIDQyIChvZiB0eXBlIG51
bWJlcikuIFdhcyB1bmRlZmluZWQgKG9mIHR5cGUgdW5kZWZpbmVkKS4KK1BBU1MgdmFyIGEgPSBP
YmplY3QuZGVmaW5lUHJvcGVydHkoWzQyXSwgJzAnLCB7IGNvbmZpZ3VyYWJsZTogZmFsc2UgfSk7
IGEubGVuZ3RoID0gMDsgYVswXSBpcyA0MgogUEFTUyB2YXIgZm9vID0gMDsgT2JqZWN0LmRlZmlu
ZVByb3BlcnR5KFtdLCAnMCcsIHsgc2V0OmZ1bmN0aW9uKHgpe2ZvbyA9IHg7fSB9KVswXSA9IDQy
OyBmb28gaXMgNDIKIFBBU1MgT2JqZWN0LmRlZmluZVByb3BlcnR5KFtdLCAnMCcsIHsgZ2V0OmZ1
bmN0aW9uKCl7cmV0dXJuIHRydWU7fSB9KVswXSBpcyB0cnVlCiBQQVNTIE9iamVjdC5kZWZpbmVQ
cm9wZXJ0eShPYmplY3QuZGVmaW5lUHJvcGVydHkoW3RydWVdLCAnMCcsIHsgY29uZmlndXJhYmxl
OnRydWUsIHdyaXRhYmxlOiBmYWxzZSB9KSwgJzAnLCB7IHdyaXRhYmxlOiB0cnVlIH0pWzBdIGlz
IHRydWUKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9zdHJpY3QvMTUuNC41LjEt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvanMvbW96aWxsYS9z
dHJpY3QvMTUuNC41LjEtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAxMDQzOTcpCisrKyBMYXlvdXRU
ZXN0cy9mYXN0L2pzL21vemlsbGEvc3RyaWN0LzE1LjQuNS4xLWV4cGVjdGVkLnR4dAkod29ya2lu
ZyBjb3B5KQpAQCAtMSw3ICsxLDcgQEAKLUZBSUwgJ3VzZSBzdHJpY3QnOyB2YXIgYSA9IGFycigp
OyBhLmxlbmd0aCA9IDI7IGEgc2hvdWxkIHRocm93IGFuIGluc3RhbmNlIG9mIFR5cGVFcnJvcgot
RkFJTCBhc3NlcnRFcSBmYWlsZWQ6IGZhbHNlKG9mIHR5cGUgYm9vbGVhbikgIT09IHRydWUob2Yg
dHlwZSBib29sZWFuKQotRkFJTCAndXNlIHN0cmljdCc7IHZhciBhID0gYWRkeChhcnIoKSk7IGEu
bGVuZ3RoID0gMjsgYSBzaG91bGQgdGhyb3cgYW4gaW5zdGFuY2Ugb2YgVHlwZUVycm9yCi1GQUlM
IGFzc2VydEVxIGZhaWxlZDogZmFsc2Uob2YgdHlwZSBib29sZWFuKSAhPT0gdHJ1ZShvZiB0eXBl
IGJvb2xlYW4pCitQQVNTICd1c2Ugc3RyaWN0JzsgdmFyIGEgPSBhcnIoKTsgYS5sZW5ndGggPSAy
OyBhIHRocmV3IGV4Y2VwdGlvbiBvZiB0eXBlIFR5cGVFcnJvci4KK1BBU1MgdHJ1ZSA9PT0gdHJ1
ZQorUEFTUyAndXNlIHN0cmljdCc7IHZhciBhID0gYWRkeChhcnIoKSk7IGEubGVuZ3RoID0gMjsg
YSB0aHJldyBleGNlcHRpb24gb2YgdHlwZSBUeXBlRXJyb3IuCitQQVNTIHRydWUgPT09IHRydWUK
ICBQQVNTRUQhIAogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCkluZGV4OiBMYXlv
dXRUZXN0cy9mYXN0L2pzL3NjcmlwdC10ZXN0cy9hcnJheS1kZWZpbmVPd25Qcm9wZXJ0eS5qcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2pzL3NjcmlwdC10ZXN0cy9hcnJheS1kZWZp
bmVPd25Qcm9wZXJ0eS5qcwkocmV2aXNpb24gMTA0NDg4KQorKysgTGF5b3V0VGVzdHMvZmFzdC9q
cy9zY3JpcHQtdGVzdHMvYXJyYXktZGVmaW5lT3duUHJvcGVydHkuanMJKHdvcmtpbmcgY29weSkK
QEAgLTYsNiArNiw3IEBAIHNob3VsZEJlVHJ1ZSgiT2JqZWN0LmRlZmluZVByb3BlcnR5KFtdLCAK
IC8vIFRoZSBsZW5ndGggcHJvcGVydHkgY2FuIGJlIHNldCwgYW5kIGNhbiBiZSBtYWRlIHJlYWQt
b25seS4KIHNob3VsZEJlKCJPYmplY3QuZGVmaW5lUHJvcGVydHkoW10sICdsZW5ndGgnLCB7IHZh
bHVlOiAxIH0pLmxlbmd0aCIsICcxJyk7CiBzaG91bGRCZSgidmFyIGEgPSBPYmplY3QuZGVmaW5l
UHJvcGVydHkoW10sICdsZW5ndGgnLCB7IHdyaXRhYmxlOiBmYWxzZSB9KTsgYVsxXSA9IDE7IGEu
bGVuZ3RoIiwgJzAnKTsKK3Nob3VsZEJlKCJ2YXIgYSA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShb
XSwgJ2xlbmd0aCcsIHsgd3JpdGFibGU6IGZhbHNlIH0pOyBhLmxlbmd0aCA9IDE7IGEubGVuZ3Ro
IiwgJzAnKTsKIAogLy8gVGhlIGxlbmd0aCBwcm9wZXJ0eSBjYW4gYmUgcmVwbGFjZWQgd2l0aCBh
biBhY2Nlc3Nvciwgb3IgbWFkZSBlaXRoZXIgZW51bWVyYWJsZSBvciBjb25maWd1cmFibGUuCiBz
aG91bGRUaHJvdygiT2JqZWN0LmRlZmluZVByb3BlcnR5KFtdLCAnbGVuZ3RoJywgeyBnZXQ6ZnVu
Y3Rpb24oKXtyZXR1cm4gdHJ1ZTt9IH0pIik7CkBAIC0xMywyMSArMTQsMTcgQEAgc2hvdWxkVGhy
b3coIk9iamVjdC5kZWZpbmVQcm9wZXJ0eShbXSwgJwogc2hvdWxkVGhyb3coIk9iamVjdC5kZWZp
bmVQcm9wZXJ0eShbXSwgJ2xlbmd0aCcsIHsgY29uZmlndXJhYmxlOiB0cnVlIH0pIik7CiBzaG91
bGRUaHJvdygiT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5kZWZpbmVQcm9wZXJ0eShbXSwg
J2xlbmd0aCcsIHsgd3JpdGFibGU6IGZhbHNlIH0pLCAnbGVuZ3RoJywgeyB3cml0YWJsZTogdHJ1
ZSB9KSIpOwogCi0vLyAKKy8vIFRoZSB2YWx1ZSBvZiBhbiBpbmRleGVkIHByb3BlcnR5IGNhbiBi
ZSBzZXQuCiBzaG91bGRCZSgidmFyIGEgPSBPYmplY3QuZGVmaW5lUHJvcGVydHkoW10sICcwJywg
eyB2YWx1ZTogNDIgfSk7IGFbMF0iLCAnNDInKTsKLS8vCisvLyBBbiBpbmRleGVkIHByb3BlcnR5
IGNhbiBiZSBtYWRlIG5vbi13cml0YWJsZS9lbnVtZXJhYmxlL2NvbmZpZ3VyYWJsZS4KIHNob3Vs
ZEJlKCJ2YXIgYSA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShbNDJdLCAnMCcsIHsgd3JpdGFibGU6
IGZhbHNlIH0pOyBhWzBdID0gMTsgYVswXSIsICc0MicpOwotLy8KIHNob3VsZEJlKCJ2YXIgYSA9
IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShbNDJdLCAnMCcsIHsgZW51bWVyYWJsZTogZmFsc2UgfSk7
IGFbMF0gKyBPYmplY3Qua2V5cyhhKS5sZW5ndGgiLCAnNDInKTsKLS8vIEZJWE1FOiB0aGlzIGRv
ZXNuJ3QgeWV0IHdvcmsuIFJlZHVjaW5nIHRoZSBsZW5ndGggc2hvdWxkIG5vdCB3b3JrIGlmIGl0
IGNvbnRhaW5zIG5vbi1jb25maWd1cmFibGUgcHJvcGVydGllcy4KIHNob3VsZEJlKCJ2YXIgYSA9
IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShbNDJdLCAnMCcsIHsgY29uZmlndXJhYmxlOiBmYWxzZSB9
KTsgYS5sZW5ndGggPSAwOyBhWzBdIiwgJzQyJyk7Ci0vLworLy8gQW4gaW5kZXhlZCBwcm9wZXJ0
eSBjYW4gYmUgZGVmaW5lZCBhcyBhbiBhY2Nlc3Nvci4KIHNob3VsZEJlKCJ2YXIgZm9vID0gMDsg
T2JqZWN0LmRlZmluZVByb3BlcnR5KFtdLCAnMCcsIHsgc2V0OmZ1bmN0aW9uKHgpe2ZvbyA9IHg7
fSB9KVswXSA9IDQyOyBmb28iLCAnNDInKTsKLS8vCiBzaG91bGRCZVRydWUoIk9iamVjdC5kZWZp
bmVQcm9wZXJ0eShbXSwgJzAnLCB7IGdldDpmdW5jdGlvbigpe3JldHVybiB0cnVlO30gfSlbMF0i
KQotLy8KKy8vIEEgY29uZmlndXJhYmxlLCBub24td3JpdGFibGUgcHJvcGVydHkgY2FuIGJlIG1h
ZGUgd3JpdGFibGUsIGJ1dCBhIG5vbi1jb25maWd1cmFibGUgb25lIGNhbm5vdC4KIHNob3VsZEJl
VHJ1ZSgiT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5kZWZpbmVQcm9wZXJ0eShbdHJ1ZV0s
ICcwJywgeyBjb25maWd1cmFibGU6dHJ1ZSwgd3JpdGFibGU6IGZhbHNlIH0pLCAnMCcsIHsgd3Jp
dGFibGU6IHRydWUgfSlbMF0iKTsKLS8vCiBzaG91bGRUaHJvdygiT2JqZWN0LmRlZmluZVByb3Bl
cnR5KE9iamVjdC5kZWZpbmVQcm9wZXJ0eShbdHJ1ZV0sICcwJywgeyBjb25maWd1cmFibGU6ZmFs
c2UsIHdyaXRhYmxlOiBmYWxzZSB9KSwgJzAnLCB7IHdyaXRhYmxlOiB0cnVlIH0pWzBdIik7CiAK
IAo=
</data>
<flag name="review"
          id="122402"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>